diff --git a/.codecov.yml b/.codecov.yml new file mode 100644 index 000000000..a46517f21 --- /dev/null +++ b/.codecov.yml @@ -0,0 +1,21 @@ +# Codecov configuration for NOAA-GFDL/fre-cli +# Reference: https://docs.codecov.com/docs/codecovyml-reference + +coverage: + status: + project: + default: + target: auto + threshold: 1% + if_ci_failed: error + + patch: + default: + target: 50% # Minimum coverage for new code + threshold: 1% # Allow 1% decrease + if_ci_failed: error + +comment: + layout: "header, diff, flags, components, files, footer" + behavior: default + require_changes: false diff --git a/fre/pp/ppval_script.py b/fre/pp/ppval_script.py index 1a886ecb3..89893bc23 100644 --- a/fre/pp/ppval_script.py +++ b/fre/pp/ppval_script.py @@ -39,38 +39,77 @@ def getenot(date_start: str, date_end:str, chunk_type:str, cal: str): #start/end are cf datetime objects representing the start and end time of the data chunk #diff represents the time difference between start and stop if chunk_type == 'yearly': - enot = int(date_end[1]) - int(date_start[1])+ 1 + enot = int(date_end[1]) - int(date_start[1]) + 1 elif chunk_type == 'monthly': - enot = (int(date_end[1]) * 12 + int(date_end[2])) - (int(date_start[1]) * 12 + int(date_start[2]))+ 1 + enot = (int(date_end[1]) * 12 + int(date_end[2])) - (int(date_start[1]) * 12 + int(date_start[2])) + 1 elif chunk_type == 'daily': - start = cftime.datetime(int(date_start[1]),int(date_start[2].lstrip('0')),int(date_start[3].lstrip('0')),calendar = cal) - end = cftime.datetime(int(date_end[1]),int(date_end[2].lstrip('0')),int(date_end[3].lstrip('0')),calendar = cal) + start = cftime.datetime(int(date_start[1]), + int(date_start[2].lstrip('0')), + int(date_start[3].lstrip('0')), + calendar = cal) + end = cftime.datetime(int(date_end[1]), + int(date_end[2].lstrip('0')), + int(date_end[3].lstrip('0')), + calendar = cal) diff = end - start enot = diff.days + 1 elif chunk_type == '4xdaily': - start = cftime.datetime(int(date_start[1]),int(date_start[2].lstrip('0')),int(date_start[3].lstrip('0')), hour = int(date_start[4]),calendar = cal) - end = cftime.datetime(int(date_end[1]),int(date_end[2].lstrip('0')),int(date_end[3].lstrip('0')), hour = int(date_end[4]),calendar = cal) + start = cftime.datetime(int(date_start[1]), + int(date_start[2].lstrip('0')), + int(date_start[3].lstrip('0')), + hour = int(date_start[4]), + calendar = cal) + end = cftime.datetime(int(date_end[1]), + int(date_end[2].lstrip('0')), + int(date_end[3].lstrip('0')), + hour = int(date_end[4]), + calendar = cal) diff = end - start enot = (diff.days + 1) * 4 elif chunk_type == '8xdaily': - start = cftime.datetime(int(date_start[1]),int(date_start[2].lstrip('0')),int(date_start[3].lstrip('0')), hour = int(date_start[4]),calendar = cal) - end = cftime.datetime(int(date_end[1]),int(date_end[2].lstrip('0')),int(date_end[3].lstrip('0')), hour = int(date_end[4]),calendar = cal) + start = cftime.datetime(int(date_start[1]), + int(date_start[2].lstrip('0')), + int(date_start[3].lstrip('0')), + hour = int(date_start[4]), + calendar = cal) + end = cftime.datetime(int(date_end[1]), + int(date_end[2].lstrip('0')), + int(date_end[3].lstrip('0')), + hour = int(date_end[4]), + calendar = cal) diff = end - start enot = (diff.days + 1) * 8 elif chunk_type == 'hourly': - start = cftime.datetime(int(date_start[1]),int(date_start[2].lstrip('0')),int(date_start[3].lstrip('0')), hour = int(date_start[4]),calendar = cal) - end = cftime.datetime(int(date_end[1]),int(date_end[2].lstrip('0')),int(date_end[3].lstrip('0')), hour = int(date_end[4]),calendar = cal) + start = cftime.datetime(int(date_start[1]), + int(date_start[2].lstrip('0')), + int(date_start[3].lstrip('0')), + hour = int(date_start[4]), + calendar = cal) + end = cftime.datetime(int(date_end[1]), + int(date_end[2].lstrip('0')), + int(date_end[3].lstrip('0')), + hour = int(date_end[4]), + calendar = cal) diff = end - start enot = (diff.days + 1) * 24 elif chunk_type == '30minute': - start = cftime.datetime(int(date_start[1]),int(date_start[2].lstrip('0')),int(date_start[3].lstrip('0')), hour = int(date_start[4]),calendar = cal) - end = cftime.datetime(int(date_end[1]),int(date_end[2].lstrip('0')),int(date_end[3].lstrip('0')), hour = int(date_end[4]), minute = int(date_end[5]),calendar = cal) + start = cftime.datetime(int(date_start[1]), + int(date_start[2].lstrip('0')), + int(date_start[3].lstrip('0')), + hour = int(date_start[4]), + calendar = cal) + end = cftime.datetime(int(date_end[1]), + int(date_end[2].lstrip('0')), + int(date_end[3].lstrip('0')), + hour = int(date_end[4]), + minute = int(date_end[5]), + calendar = cal) diff = end - start enot = (diff.days + 1) * 48