diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 95c0d0b42dba78e695fb027ec75864eb48293355..bfa32661bc4a89b4b280594b849aa94184ab3c4c 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -142,7 +142,7 @@ epi_fit: python3 $PACKAGES_DIR/epimodel/ews/epi_model/fit_lb584.py /storage/app/EWS_prod/regions/EastAfrica/test_workspace/integration/epi_fit/dev/data_proc/6.0_epi_pipeline/inputs/configs/sys_config_epi_remote.json - /storage/app/EWS_prod/regions/EastAfrica/test_workspace/integration/epi_fit/dev/data_proc/6.0_epi_pipeline/inputs/configs/run_config_epi_short_remote.json + /storage/app/EWS_prod/regions/EastAfrica/test_workspace/integration/epi_fit/dev/data_proc/6.0_epi_pipeline/inputs/configs/run_config_epi_long_remote.json $CI_PROJECT_DIR/fitting_outputs/ 2016 artifacts: diff --git a/ews/coordinator/processor_epidemiology.py b/ews/coordinator/processor_epidemiology.py index 4e3ba0b6588d82712b5079efb7572f67707393ea..60ff6d787702683fc9879ae1fcf798f9ba3f03c5 100644 --- a/ews/coordinator/processor_epidemiology.py +++ b/ews/coordinator/processor_epidemiology.py @@ -8,7 +8,7 @@ import logging import os from pathlib import Path import shutil -from typing import List +from typing import List, Union from numpy import all, any, argmax, unique, allclose from pandas import MultiIndex, read_csv, DataFrame, to_datetime @@ -83,7 +83,7 @@ class ProcessorEpidemiology(ProcessorBase): def create_epi_config_file_root(config: dict, job_path: str, start_string: str, - calc_span_days: [str, int]) -> str: + calc_span_days: [Union[str, int], Union[str, int]]) -> str: configtemplate_filename: str = config['config_path'] start_date, end_date = calc_epi_date_range(start_string, calc_span_days) diff --git a/ews/coordinator/utils/processor_utils.py b/ews/coordinator/utils/processor_utils.py index 6ff72ce0b279b72466f1cd2c76d1f303e9a9e5fb..19b33120d0717f3487a663acf7176cf503f02f98 100644 --- a/ews/coordinator/utils/processor_utils.py +++ b/ews/coordinator/utils/processor_utils.py @@ -15,7 +15,7 @@ from string import Template import subprocess import sys import tarfile -from typing import List +from typing import List, Union from iris import load from iris.cube import CubeList @@ -277,7 +277,7 @@ def end_job(status, ignore_inprogress=False, **kwargs): end_script(**kwargs) -def calc_epi_date_range(init_str: str, span_days: [str, int] = [0, 6]) -> [datetime, datetime]: +def calc_epi_date_range(init_str: str, span_days: [Union[str, int], Union[str, int]] = [0, 6]) -> [datetime, datetime]: '''Date range is determined relative to init_date. span_days is usually defined in the job config file. Day zero is current day, negative values point to past (historical or analysis) days, and @@ -293,17 +293,15 @@ def calc_epi_date_range(init_str: str, span_days: [str, int] = [0, 6]) -> [datet # add 24hrs so that final day is fully included day_shift = datetime.timedelta(days=1) - # if more than 999 days - if len(str(span_days[0]))>3: - # assume it is a date string + # check if span_days[0] is a string + if isinstance(span_days[0], str): start_date = datetime.datetime.strptime(span_days[0]+'0300','%Y%m%d%H%M') else: date_shift0 = datetime.timedelta(days=span_days[0]) start_date = init_date + date_shift0 + threehour_shift - if len(str(span_days[1]))>3: - # assume it is a date string + if isinstance(span_days[1], str): end_date = datetime.datetime.strptime(span_days[1]+'0000','%Y%m%d%H%M') end_date = end_date + day_shift