From 26e06a31691dee337c3916ed3c9e7e5cbbf5d423 Mon Sep 17 00:00:00 2001 From: "Anton.Fernando" Date: Thu, 17 Oct 2024 16:56:17 -0400 Subject: [PATCH 001/100] modified gefs_tasks.py --- workflow/rocoto/gefs_tasks.py | 60 +++++++++++++++++++++-------------- 1 file changed, 36 insertions(+), 24 deletions(-) diff --git a/workflow/rocoto/gefs_tasks.py b/workflow/rocoto/gefs_tasks.py index 955f631c8e..5c07b9281d 100644 --- a/workflow/rocoto/gefs_tasks.py +++ b/workflow/rocoto/gefs_tasks.py @@ -314,36 +314,48 @@ def atmos_ensstat(self): def wavepostsbs(self): deps = [] - dep_dict = {'type': 'metatask', 'name': f'gefs_fcst_mem#member#'} + dep_dict = {'type': 'metatask', 'name': f'fcst_mem#member#'} deps.append(rocoto.add_dependency(dep_dict)) dependencies = rocoto.create_dependency(dep=deps) - wave_post_envars = self.envars.copy() - postenvar_dict = {'ENSMEM': '#member#', - 'MEMDIR': 'mem#member#', - } - for key, value in postenvar_dict.items(): - wave_post_envars.append(rocoto.create_envar(name=key, value=str(value))) - resources = self.get_resource('wavepostsbs') + tasks = [] + for member in [f"{mem:03d}" for mem in range(1, self.nmem + 1)]: - task_name = f'gefs_wave_post_grid_mem#member#' - task_dict = {'task_name': task_name, - 'resources': resources, - 'dependency': dependencies, - 'envars': wave_post_envars, - 'cycledef': 'gefs', - 'command': f'{self.HOMEgfs}/jobs/rocoto/wavepostsbs.sh', - 'job_name': f'{self.pslot}_{task_name}_@H', - 'log': f'{self.rotdir}/logs/@Y@m@d@H/{task_name}.log', - 'maxtries': '&MAXTRIES;' - } + wave_post_envars = self.envars.copy() + wave_post_dict = {'ENSMEM': f'{member}', + 'MEMDIR': f'mem{member}', + 'FHR3': '#fhr#', + } + for key, value in wave_post_dict.items(): + wave_post_envars.append(rocoto.create_envar(name=key, value=str(value))) - member_var_dict = {'member': ' '.join([str(mem).zfill(3) for mem in range(0, self.nmem + 1)])} - member_metatask_dict = {'task_name': 'gefs_wave_post_grid', - 'task_dict': task_dict, - 'var_dict': member_var_dict - } + task_name = f'wave_post_mem{member}_f#fhr#' + task_dict = {'task_name': task_name, + 'resources': resources, + 'dependency': dependencies, + 'envars': wave_post_envars, + 'cycledef': 'gefs', + 'command': f'{self.HOMEgfs}/jobs/rocoto/wavepostsbs.sh', + 'job_name': f'{self.pslot}_{task_name}_@H', + 'log': f'{self.rotdir}/logs/@Y@m@d@H/{task_name}.log', + 'maxtries': '&MAXTRIES;' + } + + fhrs = self._get_forecast_hours('gefs', self._configs['wavepostsbs']) + fhr_var_dict = {'fhr': ' '.join([f"{fhr:03d}" for fhr in fhrs])} + fhrs_next = fhrs[1:] + [fhrs[-1] + (fhrs[-1] - fhrs[-2])] + fhr_var_dict['fhr_next'] = ' '.join([f"{fhr:03d}" for fhr in fhrs_next]) + + fhr_metatask_dict = {'task_name': f'wave_post_mem{member}', + 'task_dict': task_dict, + 'var_dict': fhr_var_dict} + + member_var_dict = {'member': ' '.join([f"{mem:03d}" for mem in range(0, self.nmem + 1)])} + member_metatask_dict = {'task_name': f'wave_post_grid', + 'task_dict': fhr_metatask_dict, + 'var_dict': member_var_dict} + tasks.append(rocoto.create_task(member_metatask_dict)) task = rocoto.create_task(member_metatask_dict) From 97b5932d4a9dc6ee653812754d7fdafca09ed574 Mon Sep 17 00:00:00 2001 From: "Anton.Fernando" Date: Thu, 17 Oct 2024 16:59:39 -0400 Subject: [PATCH 002/100] modified gefs_tasks.py --- workflow/rocoto/gefs_tasks.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflow/rocoto/gefs_tasks.py b/workflow/rocoto/gefs_tasks.py index 5c07b9281d..9b545ae5f9 100644 --- a/workflow/rocoto/gefs_tasks.py +++ b/workflow/rocoto/gefs_tasks.py @@ -314,7 +314,7 @@ def atmos_ensstat(self): def wavepostsbs(self): deps = [] - dep_dict = {'type': 'metatask', 'name': f'fcst_mem#member#'} + dep_dict = {'type': 'metatask', 'name': f'gefs_fcst_mem#member#'} deps.append(rocoto.add_dependency(dep_dict)) dependencies = rocoto.create_dependency(dep=deps) From 64552f86230b7a42552e0f10ddf8091dbfba3ee2 Mon Sep 17 00:00:00 2001 From: AntonMFernando Date: Thu, 17 Oct 2024 22:05:52 -0400 Subject: [PATCH 003/100] modifed gefs_tasks.py --- workflow/rocoto/gefs_tasks.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/workflow/rocoto/gefs_tasks.py b/workflow/rocoto/gefs_tasks.py index 9b545ae5f9..7d2dbad145 100644 --- a/workflow/rocoto/gefs_tasks.py +++ b/workflow/rocoto/gefs_tasks.py @@ -326,7 +326,7 @@ def wavepostsbs(self): wave_post_dict = {'ENSMEM': f'{member}', 'MEMDIR': f'mem{member}', 'FHR3': '#fhr#', - } + } for key, value in wave_post_dict.items(): wave_post_envars.append(rocoto.create_envar(name=key, value=str(value))) @@ -340,7 +340,7 @@ def wavepostsbs(self): 'job_name': f'{self.pslot}_{task_name}_@H', 'log': f'{self.rotdir}/logs/@Y@m@d@H/{task_name}.log', 'maxtries': '&MAXTRIES;' - } + } fhrs = self._get_forecast_hours('gefs', self._configs['wavepostsbs']) fhr_var_dict = {'fhr': ' '.join([f"{fhr:03d}" for fhr in fhrs])} From ed3768cdd702ae01c2fd4c60413b92d3710b92ec Mon Sep 17 00:00:00 2001 From: AntonMFernando Date: Thu, 17 Oct 2024 22:08:35 -0400 Subject: [PATCH 004/100] modifed gefs_tasks.py --- workflow/rocoto/gefs_tasks.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/workflow/rocoto/gefs_tasks.py b/workflow/rocoto/gefs_tasks.py index 7d2dbad145..e4cbb7cc05 100644 --- a/workflow/rocoto/gefs_tasks.py +++ b/workflow/rocoto/gefs_tasks.py @@ -326,7 +326,7 @@ def wavepostsbs(self): wave_post_dict = {'ENSMEM': f'{member}', 'MEMDIR': f'mem{member}', 'FHR3': '#fhr#', - } + } for key, value in wave_post_dict.items(): wave_post_envars.append(rocoto.create_envar(name=key, value=str(value))) @@ -340,7 +340,7 @@ def wavepostsbs(self): 'job_name': f'{self.pslot}_{task_name}_@H', 'log': f'{self.rotdir}/logs/@Y@m@d@H/{task_name}.log', 'maxtries': '&MAXTRIES;' - } + } fhrs = self._get_forecast_hours('gefs', self._configs['wavepostsbs']) fhr_var_dict = {'fhr': ' '.join([f"{fhr:03d}" for fhr in fhrs])} From 9373b8804dcfe3f88132a92414e62bc0447fc1c6 Mon Sep 17 00:00:00 2001 From: AntonMFernando Date: Thu, 17 Oct 2024 23:17:46 -0400 Subject: [PATCH 005/100] modified gefs_tasks.py --- workflow/rocoto/gefs_tasks.py | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/workflow/rocoto/gefs_tasks.py b/workflow/rocoto/gefs_tasks.py index e4cbb7cc05..c4126d930f 100644 --- a/workflow/rocoto/gefs_tasks.py +++ b/workflow/rocoto/gefs_tasks.py @@ -319,6 +319,17 @@ def wavepostsbs(self): dependencies = rocoto.create_dependency(dep=deps) resources = self.get_resource('wavepostsbs') + task_name = f'wave_post_mem#member#_f#fhr#' + task_dict = {'task_name': task_name, + 'resources': resources, + 'dependency': dependencies, + 'envars': wave_post_envars, + 'cycledef': 'gefs', + 'command': f'{self.HOMEgfs}/jobs/rocoto/wavepostsbs.sh', + 'job_name': f'{self.pslot}_{task_name}_@H', + 'log': f'{self.rotdir}/logs/@Y@m@d@H/{task_name}.log', + 'maxtries': '&MAXTRIES;' + } tasks = [] for member in [f"{mem:03d}" for mem in range(1, self.nmem + 1)]: @@ -330,18 +341,6 @@ def wavepostsbs(self): for key, value in wave_post_dict.items(): wave_post_envars.append(rocoto.create_envar(name=key, value=str(value))) - task_name = f'wave_post_mem{member}_f#fhr#' - task_dict = {'task_name': task_name, - 'resources': resources, - 'dependency': dependencies, - 'envars': wave_post_envars, - 'cycledef': 'gefs', - 'command': f'{self.HOMEgfs}/jobs/rocoto/wavepostsbs.sh', - 'job_name': f'{self.pslot}_{task_name}_@H', - 'log': f'{self.rotdir}/logs/@Y@m@d@H/{task_name}.log', - 'maxtries': '&MAXTRIES;' - } - fhrs = self._get_forecast_hours('gefs', self._configs['wavepostsbs']) fhr_var_dict = {'fhr': ' '.join([f"{fhr:03d}" for fhr in fhrs])} fhrs_next = fhrs[1:] + [fhrs[-1] + (fhrs[-1] - fhrs[-2])] From 916c1faa66d5245a9aa4bdeb83c08f54127d77c8 Mon Sep 17 00:00:00 2001 From: AntonMFernando Date: Thu, 17 Oct 2024 23:19:30 -0400 Subject: [PATCH 006/100] modified gefs_tasks.py --- workflow/rocoto/gefs_tasks.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/workflow/rocoto/gefs_tasks.py b/workflow/rocoto/gefs_tasks.py index c4126d930f..e3d1b8acf7 100644 --- a/workflow/rocoto/gefs_tasks.py +++ b/workflow/rocoto/gefs_tasks.py @@ -318,6 +318,9 @@ def wavepostsbs(self): deps.append(rocoto.add_dependency(dep_dict)) dependencies = rocoto.create_dependency(dep=deps) + for key, value in wave_post_dict.items(): + wave_post_envars.append(rocoto.create_envar(name=key, value=str(value))) + resources = self.get_resource('wavepostsbs') task_name = f'wave_post_mem#member#_f#fhr#' task_dict = {'task_name': task_name, @@ -338,8 +341,6 @@ def wavepostsbs(self): 'MEMDIR': f'mem{member}', 'FHR3': '#fhr#', } - for key, value in wave_post_dict.items(): - wave_post_envars.append(rocoto.create_envar(name=key, value=str(value))) fhrs = self._get_forecast_hours('gefs', self._configs['wavepostsbs']) fhr_var_dict = {'fhr': ' '.join([f"{fhr:03d}" for fhr in fhrs])} From f018d2e30d3692f9e9933f6ca0791dc5421d8487 Mon Sep 17 00:00:00 2001 From: AntonMFernando Date: Thu, 17 Oct 2024 23:25:43 -0400 Subject: [PATCH 007/100] modified gefs_tasks.py --- workflow/rocoto/gefs_tasks.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/workflow/rocoto/gefs_tasks.py b/workflow/rocoto/gefs_tasks.py index e3d1b8acf7..8b2f4558a7 100644 --- a/workflow/rocoto/gefs_tasks.py +++ b/workflow/rocoto/gefs_tasks.py @@ -318,6 +318,12 @@ def wavepostsbs(self): deps.append(rocoto.add_dependency(dep_dict)) dependencies = rocoto.create_dependency(dep=deps) + wave_post_envars = self.envars.copy() + wave_post_dict = {'ENSMEM': '#member#', + 'MEMDIR': 'mem#member#', + 'FHR3': '#fhr#', + } + for key, value in wave_post_dict.items(): wave_post_envars.append(rocoto.create_envar(name=key, value=str(value))) @@ -336,12 +342,6 @@ def wavepostsbs(self): tasks = [] for member in [f"{mem:03d}" for mem in range(1, self.nmem + 1)]: - wave_post_envars = self.envars.copy() - wave_post_dict = {'ENSMEM': f'{member}', - 'MEMDIR': f'mem{member}', - 'FHR3': '#fhr#', - } - fhrs = self._get_forecast_hours('gefs', self._configs['wavepostsbs']) fhr_var_dict = {'fhr': ' '.join([f"{fhr:03d}" for fhr in fhrs])} fhrs_next = fhrs[1:] + [fhrs[-1] + (fhrs[-1] - fhrs[-2])] From aede2e9e5d16dc595848ea7429dc96e69655d5fd Mon Sep 17 00:00:00 2001 From: AntonMFernando Date: Thu, 17 Oct 2024 23:31:05 -0400 Subject: [PATCH 008/100] modify gefs_tasks.py --- workflow/rocoto/gefs_tasks.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/workflow/rocoto/gefs_tasks.py b/workflow/rocoto/gefs_tasks.py index 8b2f4558a7..c6a55b5114 100644 --- a/workflow/rocoto/gefs_tasks.py +++ b/workflow/rocoto/gefs_tasks.py @@ -318,6 +318,7 @@ def wavepostsbs(self): deps.append(rocoto.add_dependency(dep_dict)) dependencies = rocoto.create_dependency(dep=deps) + resources = self.get_resource('wavepostsbs') wave_post_envars = self.envars.copy() wave_post_dict = {'ENSMEM': '#member#', 'MEMDIR': 'mem#member#', @@ -327,7 +328,7 @@ def wavepostsbs(self): for key, value in wave_post_dict.items(): wave_post_envars.append(rocoto.create_envar(name=key, value=str(value))) - resources = self.get_resource('wavepostsbs') + task_name = f'wave_post_mem#member#_f#fhr#' task_dict = {'task_name': task_name, 'resources': resources, From f59a6c9c0f3af10a954f75075eb977831a513342 Mon Sep 17 00:00:00 2001 From: AntonMFernando Date: Thu, 17 Oct 2024 23:44:00 -0400 Subject: [PATCH 009/100] modified exgfs_wave_post_gridded_sbs.sh --- scripts/exgfs_wave_post_gridded_sbs.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/scripts/exgfs_wave_post_gridded_sbs.sh b/scripts/exgfs_wave_post_gridded_sbs.sh index b0cca34bd1..9823d1e2ee 100755 --- a/scripts/exgfs_wave_post_gridded_sbs.sh +++ b/scripts/exgfs_wave_post_gridded_sbs.sh @@ -235,7 +235,7 @@ source "${USHgfs}/preamble.sh" fhrg=$fhr sleep_interval=10 iwaitmax=120 # Maximum loop cycles for waiting until wave component output file is ready (fails after max) - while [ $fhr -le $FHMAX_WAV ]; do + if [ $fhr -le $FHMAX_WAV ]; then ymdh=$($NDATE $fhr ${PDY}${cyc}) YMD=$(echo $ymdh | cut -c1-8) @@ -256,7 +256,7 @@ source "${USHgfs}/preamble.sh" export GRDIDATA=${DATA}/output_$YMDHMS # Gridded data (main part, need to be run side-by-side with forecast - + if [ $fhr = $fhrg ] then for wavGRD in ${waveGRD}; do @@ -269,7 +269,7 @@ source "${USHgfs}/preamble.sh" fi ${NLN} "${gfile}" "./out_grd.${wavGRD}" done - + if [ "$DOGRI_WAV" = 'YES' ] then nigrd=1 @@ -429,7 +429,7 @@ source "${USHgfs}/preamble.sh" fhr=$fhrg #loop with out_grd stride - done + fi # --------------------------------------------------------------------------- # # 7. Ending output From f07b0ec6076253bb3d3d42ebd2ad20933d861f9f Mon Sep 17 00:00:00 2001 From: AntonMFernando Date: Fri, 18 Oct 2024 00:34:04 -0400 Subject: [PATCH 010/100] modified gefs_tasks.py --- workflow/rocoto/gefs_tasks.py | 27 ++++++++++++--------------- 1 file changed, 12 insertions(+), 15 deletions(-) diff --git a/workflow/rocoto/gefs_tasks.py b/workflow/rocoto/gefs_tasks.py index c6a55b5114..5c39bcbb0a 100644 --- a/workflow/rocoto/gefs_tasks.py +++ b/workflow/rocoto/gefs_tasks.py @@ -313,12 +313,12 @@ def atmos_ensstat(self): return task def wavepostsbs(self): + resources = self.get_resource('wavepostsbs') deps = [] dep_dict = {'type': 'metatask', 'name': f'gefs_fcst_mem#member#'} deps.append(rocoto.add_dependency(dep_dict)) dependencies = rocoto.create_dependency(dep=deps) - resources = self.get_resource('wavepostsbs') wave_post_envars = self.envars.copy() wave_post_dict = {'ENSMEM': '#member#', 'MEMDIR': 'mem#member#', @@ -329,7 +329,7 @@ def wavepostsbs(self): wave_post_envars.append(rocoto.create_envar(name=key, value=str(value))) - task_name = f'wave_post_mem#member#_f#fhr#' + task_name = f'gefs_wave_post_grid_mem#member#_f#fhr#' task_dict = {'task_name': task_name, 'resources': resources, 'dependency': dependencies, @@ -341,22 +341,19 @@ def wavepostsbs(self): 'maxtries': '&MAXTRIES;' } tasks = [] - for member in [f"{mem:03d}" for mem in range(1, self.nmem + 1)]: - fhrs = self._get_forecast_hours('gefs', self._configs['wavepostsbs']) - fhr_var_dict = {'fhr': ' '.join([f"{fhr:03d}" for fhr in fhrs])} - fhrs_next = fhrs[1:] + [fhrs[-1] + (fhrs[-1] - fhrs[-2])] - fhr_var_dict['fhr_next'] = ' '.join([f"{fhr:03d}" for fhr in fhrs_next]) + fhrs = self._get_forecast_hours('gefs', self._configs['wavepostsbs']) + fhr_var_dict = {'fhr': ' '.join([f"{fhr:03d}" for fhr in fhrs])} - fhr_metatask_dict = {'task_name': f'wave_post_mem{member}', - 'task_dict': task_dict, - 'var_dict': fhr_var_dict} + fhr_metatask_dict = {'task_name': f'gefs_wave_post_grid_mem#member#', + 'task_dict': task_dict, + 'var_dict': fhr_var_dict} - member_var_dict = {'member': ' '.join([f"{mem:03d}" for mem in range(0, self.nmem + 1)])} - member_metatask_dict = {'task_name': f'wave_post_grid', - 'task_dict': fhr_metatask_dict, - 'var_dict': member_var_dict} - tasks.append(rocoto.create_task(member_metatask_dict)) + member_var_dict = {'member': ' '.join([f"{mem:03d}" for mem in range(0, self.nmem + 1)])} + member_metatask_dict = {'task_name': f'gefs_wave_post_grid', + 'task_dict': fhr_metatask_dict, + 'var_dict': member_var_dict} + tasks.append(rocoto.create_task(member_metatask_dict)) task = rocoto.create_task(member_metatask_dict) From 6261b4fb2c959e8ccd58c924d6184576fac03b1e Mon Sep 17 00:00:00 2001 From: AntonMFernando Date: Fri, 18 Oct 2024 00:35:57 -0400 Subject: [PATCH 011/100] modified gefs.py --- workflow/rocoto/gefs_tasks.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflow/rocoto/gefs_tasks.py b/workflow/rocoto/gefs_tasks.py index 5c39bcbb0a..1951606fd0 100644 --- a/workflow/rocoto/gefs_tasks.py +++ b/workflow/rocoto/gefs_tasks.py @@ -482,7 +482,7 @@ def wavepostpnt(self): def extractvars(self): deps = [] if self.app_config.do_wave: - dep_dict = {'type': 'task', 'name': 'wave_post_grid_mem#member#'} + dep_dict = {'type': 'metatask', 'name': 'gefs_wave_post_grid_mem#member#'} deps.append(rocoto.add_dependency(dep_dict)) if self.app_config.do_ocean: dep_dict = {'type': 'metatask', 'name': 'gefs_ocean_prod_#member#'} From b2b3078ffb4bd741d031fa8dcaede23c66d2de50 Mon Sep 17 00:00:00 2001 From: AntonMFernando Date: Fri, 18 Oct 2024 00:52:07 -0400 Subject: [PATCH 012/100] modified gefs_tasks.py --- workflow/rocoto/gefs_tasks.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/workflow/rocoto/gefs_tasks.py b/workflow/rocoto/gefs_tasks.py index 1951606fd0..2b8abd4aec 100644 --- a/workflow/rocoto/gefs_tasks.py +++ b/workflow/rocoto/gefs_tasks.py @@ -340,7 +340,7 @@ def wavepostsbs(self): 'log': f'{self.rotdir}/logs/@Y@m@d@H/{task_name}.log', 'maxtries': '&MAXTRIES;' } - tasks = [] + task = [] fhrs = self._get_forecast_hours('gefs', self._configs['wavepostsbs']) fhr_var_dict = {'fhr': ' '.join([f"{fhr:03d}" for fhr in fhrs])} @@ -353,7 +353,7 @@ def wavepostsbs(self): member_metatask_dict = {'task_name': f'gefs_wave_post_grid', 'task_dict': fhr_metatask_dict, 'var_dict': member_var_dict} - tasks.append(rocoto.create_task(member_metatask_dict)) + task.append(rocoto.create_task(member_metatask_dict)) task = rocoto.create_task(member_metatask_dict) From ea023be05fa34f42f72e4af595e5879e48b7a7ab Mon Sep 17 00:00:00 2001 From: AntonMFernando Date: Fri, 18 Oct 2024 00:54:57 -0400 Subject: [PATCH 013/100] modified gefs_tasks.py --- workflow/rocoto/gefs_tasks.py | 1 - 1 file changed, 1 deletion(-) diff --git a/workflow/rocoto/gefs_tasks.py b/workflow/rocoto/gefs_tasks.py index 2b8abd4aec..b14a06f2a3 100644 --- a/workflow/rocoto/gefs_tasks.py +++ b/workflow/rocoto/gefs_tasks.py @@ -340,7 +340,6 @@ def wavepostsbs(self): 'log': f'{self.rotdir}/logs/@Y@m@d@H/{task_name}.log', 'maxtries': '&MAXTRIES;' } - task = [] fhrs = self._get_forecast_hours('gefs', self._configs['wavepostsbs']) fhr_var_dict = {'fhr': ' '.join([f"{fhr:03d}" for fhr in fhrs])} From 3c69e48e5052a67542e317903e00b5cc964c0105 Mon Sep 17 00:00:00 2001 From: AntonMFernando Date: Fri, 18 Oct 2024 00:59:12 -0400 Subject: [PATCH 014/100] modified gefs_tasks.py --- workflow/rocoto/gefs_tasks.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/workflow/rocoto/gefs_tasks.py b/workflow/rocoto/gefs_tasks.py index b14a06f2a3..f5cd4edc91 100644 --- a/workflow/rocoto/gefs_tasks.py +++ b/workflow/rocoto/gefs_tasks.py @@ -352,8 +352,6 @@ def wavepostsbs(self): member_metatask_dict = {'task_name': f'gefs_wave_post_grid', 'task_dict': fhr_metatask_dict, 'var_dict': member_var_dict} - task.append(rocoto.create_task(member_metatask_dict)) - task = rocoto.create_task(member_metatask_dict) return task From 16205f1c65336fa7e3cf39df251288a6647e5add Mon Sep 17 00:00:00 2001 From: AntonMFernando Date: Fri, 18 Oct 2024 19:34:29 -0400 Subject: [PATCH 015/100] modified gefs_task.py --- workflow/rocoto/gefs_tasks.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/workflow/rocoto/gefs_tasks.py b/workflow/rocoto/gefs_tasks.py index f5cd4edc91..a96e3b4465 100644 --- a/workflow/rocoto/gefs_tasks.py +++ b/workflow/rocoto/gefs_tasks.py @@ -329,7 +329,7 @@ def wavepostsbs(self): wave_post_envars.append(rocoto.create_envar(name=key, value=str(value))) - task_name = f'gefs_wave_post_grid_mem#member#_f#fhr#' + task_name = f'gefs_wave_post_grid_#member#_f#fhr#' task_dict = {'task_name': task_name, 'resources': resources, 'dependency': dependencies, @@ -344,7 +344,7 @@ def wavepostsbs(self): fhrs = self._get_forecast_hours('gefs', self._configs['wavepostsbs']) fhr_var_dict = {'fhr': ' '.join([f"{fhr:03d}" for fhr in fhrs])} - fhr_metatask_dict = {'task_name': f'gefs_wave_post_grid_mem#member#', + fhr_metatask_dict = {'task_name': f'gefs_wave_post_grid_#member#', 'task_dict': task_dict, 'var_dict': fhr_var_dict} @@ -352,6 +352,7 @@ def wavepostsbs(self): member_metatask_dict = {'task_name': f'gefs_wave_post_grid', 'task_dict': fhr_metatask_dict, 'var_dict': member_var_dict} + task = rocoto.create_task(member_metatask_dict) return task From 0c7cb507446754c75bb85ec29bb986a9e08576bf Mon Sep 17 00:00:00 2001 From: AntonMFernando Date: Fri, 18 Oct 2024 19:35:22 -0400 Subject: [PATCH 016/100] modified global-workflow\scripts\exgfs_wave_post_gridded_sbs.sh --- scripts/exgfs_wave_post_gridded_sbs.sh | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/scripts/exgfs_wave_post_gridded_sbs.sh b/scripts/exgfs_wave_post_gridded_sbs.sh index 9823d1e2ee..0dcd901116 100755 --- a/scripts/exgfs_wave_post_gridded_sbs.sh +++ b/scripts/exgfs_wave_post_gridded_sbs.sh @@ -221,14 +221,14 @@ source "${USHgfs}/preamble.sh" # 1.a.2 Loop over forecast time to generate post files # When executed side-by-side, serial mode (cfp when run after the fcst step) # Contingency for RERUN=YES - if [ "${RERUN-NO}" = "YES" ]; then + if [ "${RERUN:-NO}" = "YES" ]; then fhr=$((FHRUN + FHMIN_WAV)) if [ $FHMAX_HF_WAV -gt 0 ] && [ $FHOUT_HF_WAV -gt 0 ] && [ $fhr -lt $FHMAX_HF_WAV ]; then FHINCG=$FHOUT_HF_WAV else FHINCG=$FHOUT_WAV fi - fhr=$((fhr + FHINCG)) + fhr=$(($FORECAST_HOUR + FHINCG)) else fhr=$FHMIN_WAV fi @@ -236,7 +236,6 @@ source "${USHgfs}/preamble.sh" sleep_interval=10 iwaitmax=120 # Maximum loop cycles for waiting until wave component output file is ready (fails after max) if [ $fhr -le $FHMAX_WAV ]; then - ymdh=$($NDATE $fhr ${PDY}${cyc}) YMD=$(echo $ymdh | cut -c1-8) HMS="$(echo $ymdh | cut -c9-10)0000" From 458b1308ec3487f58d154b90b2309241c6d201d6 Mon Sep 17 00:00:00 2001 From: AntonMFernando Date: Fri, 18 Oct 2024 19:37:57 -0400 Subject: [PATCH 017/100] modified global-workflow\scripts\exgfs_wave_post_gridded_sbs.sh --- scripts/exgfs_wave_post_gridded_sbs.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/exgfs_wave_post_gridded_sbs.sh b/scripts/exgfs_wave_post_gridded_sbs.sh index 0dcd901116..55414b29d2 100755 --- a/scripts/exgfs_wave_post_gridded_sbs.sh +++ b/scripts/exgfs_wave_post_gridded_sbs.sh @@ -228,7 +228,7 @@ source "${USHgfs}/preamble.sh" else FHINCG=$FHOUT_WAV fi - fhr=$(($FORECAST_HOUR + FHINCG)) + fhr=$((FORECAST_HOUR + FHINCG)) else fhr=$FHMIN_WAV fi From 027e79fee418c673399d7ef8959247dcfb49489b Mon Sep 17 00:00:00 2001 From: AntonMFernando Date: Fri, 18 Oct 2024 19:39:35 -0400 Subject: [PATCH 018/100] modifed gefs_tasks.py --- workflow/rocoto/gefs_tasks.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/workflow/rocoto/gefs_tasks.py b/workflow/rocoto/gefs_tasks.py index a96e3b4465..0e961672b8 100644 --- a/workflow/rocoto/gefs_tasks.py +++ b/workflow/rocoto/gefs_tasks.py @@ -324,11 +324,9 @@ def wavepostsbs(self): 'MEMDIR': 'mem#member#', 'FHR3': '#fhr#', } - for key, value in wave_post_dict.items(): wave_post_envars.append(rocoto.create_envar(name=key, value=str(value))) - task_name = f'gefs_wave_post_grid_#member#_f#fhr#' task_dict = {'task_name': task_name, 'resources': resources, From f75bbf379699fa30026f1ffaf5231e32ef555dd4 Mon Sep 17 00:00:00 2001 From: AntonMFernando Date: Fri, 18 Oct 2024 19:42:00 -0400 Subject: [PATCH 019/100] modified global-workflow\scripts\exgfs_wave_post_gridded_sbs.sh --- scripts/exgfs_wave_post_gridded_sbs.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/exgfs_wave_post_gridded_sbs.sh b/scripts/exgfs_wave_post_gridded_sbs.sh index 55414b29d2..352f11afc1 100755 --- a/scripts/exgfs_wave_post_gridded_sbs.sh +++ b/scripts/exgfs_wave_post_gridded_sbs.sh @@ -230,7 +230,7 @@ source "${USHgfs}/preamble.sh" fi fhr=$((FORECAST_HOUR + FHINCG)) else - fhr=$FHMIN_WAV + fhr=$FORECAST_HOUR fi fhrg=$fhr sleep_interval=10 From b408e75728edb5685b752f648353968ee6a84ca7 Mon Sep 17 00:00:00 2001 From: AntonMFernando Date: Fri, 18 Oct 2024 20:01:00 -0400 Subject: [PATCH 020/100] corrected a typo --- scripts/exgfs_wave_post_gridded_sbs.sh | 2 +- workflow/rocoto/gefs_tasks.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/exgfs_wave_post_gridded_sbs.sh b/scripts/exgfs_wave_post_gridded_sbs.sh index 352f11afc1..fa90765127 100755 --- a/scripts/exgfs_wave_post_gridded_sbs.sh +++ b/scripts/exgfs_wave_post_gridded_sbs.sh @@ -222,7 +222,7 @@ source "${USHgfs}/preamble.sh" # When executed side-by-side, serial mode (cfp when run after the fcst step) # Contingency for RERUN=YES if [ "${RERUN:-NO}" = "YES" ]; then - fhr=$((FHRUN + FHMIN_WAV)) + fhr=$((FHRUN + FORECAST_HOUR + FHMIN_WAV)) if [ $FHMAX_HF_WAV -gt 0 ] && [ $FHOUT_HF_WAV -gt 0 ] && [ $fhr -lt $FHMAX_HF_WAV ]; then FHINCG=$FHOUT_HF_WAV else diff --git a/workflow/rocoto/gefs_tasks.py b/workflow/rocoto/gefs_tasks.py index 0e961672b8..4c77ed483b 100644 --- a/workflow/rocoto/gefs_tasks.py +++ b/workflow/rocoto/gefs_tasks.py @@ -478,7 +478,7 @@ def wavepostpnt(self): def extractvars(self): deps = [] if self.app_config.do_wave: - dep_dict = {'type': 'metatask', 'name': 'gefs_wave_post_grid_mem#member#'} + dep_dict = {'type': 'metatask', 'name': 'gefs_wave_post_grid_#member#'} deps.append(rocoto.add_dependency(dep_dict)) if self.app_config.do_ocean: dep_dict = {'type': 'metatask', 'name': 'gefs_ocean_prod_#member#'} From d96631ec7811669971d88a683c258a4295f40e58 Mon Sep 17 00:00:00 2001 From: AntonMFernando Date: Fri, 18 Oct 2024 20:02:22 -0400 Subject: [PATCH 021/100] mdified global-workflow\scripts\exgfs_wave_post_gridded_sbs.sh --- scripts/exgfs_wave_post_gridded_sbs.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/exgfs_wave_post_gridded_sbs.sh b/scripts/exgfs_wave_post_gridded_sbs.sh index fa90765127..352f11afc1 100755 --- a/scripts/exgfs_wave_post_gridded_sbs.sh +++ b/scripts/exgfs_wave_post_gridded_sbs.sh @@ -222,7 +222,7 @@ source "${USHgfs}/preamble.sh" # When executed side-by-side, serial mode (cfp when run after the fcst step) # Contingency for RERUN=YES if [ "${RERUN:-NO}" = "YES" ]; then - fhr=$((FHRUN + FORECAST_HOUR + FHMIN_WAV)) + fhr=$((FHRUN + FHMIN_WAV)) if [ $FHMAX_HF_WAV -gt 0 ] && [ $FHOUT_HF_WAV -gt 0 ] && [ $fhr -lt $FHMAX_HF_WAV ]; then FHINCG=$FHOUT_HF_WAV else From 08c4f12517e3a5d72590743f6dd778f50c0f2f3e Mon Sep 17 00:00:00 2001 From: AntonMFernando Date: Fri, 18 Oct 2024 22:10:39 -0400 Subject: [PATCH 022/100] modified gefs_tasks.py --- workflow/rocoto/gefs_tasks.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/workflow/rocoto/gefs_tasks.py b/workflow/rocoto/gefs_tasks.py index 4c77ed483b..4ca1cc29d7 100644 --- a/workflow/rocoto/gefs_tasks.py +++ b/workflow/rocoto/gefs_tasks.py @@ -327,7 +327,7 @@ def wavepostsbs(self): for key, value in wave_post_dict.items(): wave_post_envars.append(rocoto.create_envar(name=key, value=str(value))) - task_name = f'gefs_wave_post_grid_#member#_f#fhr#' + task_name = f'gefs_wave_post_grid_mem#member#_f#fhr#' task_dict = {'task_name': task_name, 'resources': resources, 'dependency': dependencies, @@ -342,7 +342,7 @@ def wavepostsbs(self): fhrs = self._get_forecast_hours('gefs', self._configs['wavepostsbs']) fhr_var_dict = {'fhr': ' '.join([f"{fhr:03d}" for fhr in fhrs])} - fhr_metatask_dict = {'task_name': f'gefs_wave_post_grid_#member#', + fhr_metatask_dict = {'task_name': f'gefs_wave_post_grid_mem#member#', 'task_dict': task_dict, 'var_dict': fhr_var_dict} @@ -478,7 +478,7 @@ def wavepostpnt(self): def extractvars(self): deps = [] if self.app_config.do_wave: - dep_dict = {'type': 'metatask', 'name': 'gefs_wave_post_grid_#member#'} + dep_dict = {'type': 'metatask', 'name': 'gefs_wave_post_grid_mem#member#'} deps.append(rocoto.add_dependency(dep_dict)) if self.app_config.do_ocean: dep_dict = {'type': 'metatask', 'name': 'gefs_ocean_prod_#member#'} From bc74e4939c1d37aceeb1900bea1287a51ff429c5 Mon Sep 17 00:00:00 2001 From: AntonMFernando Date: Fri, 18 Oct 2024 22:35:39 -0400 Subject: [PATCH 023/100] modified gefs_tasks.py --- workflow/rocoto/gefs_tasks.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/workflow/rocoto/gefs_tasks.py b/workflow/rocoto/gefs_tasks.py index 4ca1cc29d7..7a49a53cc1 100644 --- a/workflow/rocoto/gefs_tasks.py +++ b/workflow/rocoto/gefs_tasks.py @@ -342,7 +342,7 @@ def wavepostsbs(self): fhrs = self._get_forecast_hours('gefs', self._configs['wavepostsbs']) fhr_var_dict = {'fhr': ' '.join([f"{fhr:03d}" for fhr in fhrs])} - fhr_metatask_dict = {'task_name': f'gefs_wave_post_grid_mem#member#', + fhr_metatask_dict = {'task_name': f'gefs_wave_post_grid_#member#', 'task_dict': task_dict, 'var_dict': fhr_var_dict} @@ -478,7 +478,7 @@ def wavepostpnt(self): def extractvars(self): deps = [] if self.app_config.do_wave: - dep_dict = {'type': 'metatask', 'name': 'gefs_wave_post_grid_mem#member#'} + dep_dict = {'type': 'metatask', 'name': 'gefs_wave_post_grid_#member#'} deps.append(rocoto.add_dependency(dep_dict)) if self.app_config.do_ocean: dep_dict = {'type': 'metatask', 'name': 'gefs_ocean_prod_#member#'} From 99869eddda8840bf38ce0e57da77f475c848539a Mon Sep 17 00:00:00 2001 From: AntonMFernando Date: Sat, 19 Oct 2024 01:20:57 -0400 Subject: [PATCH 024/100] updated wavepostsbs.sh --- jobs/rocoto/wavepostsbs.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jobs/rocoto/wavepostsbs.sh b/jobs/rocoto/wavepostsbs.sh index f4789210d8..793c233dd4 100755 --- a/jobs/rocoto/wavepostsbs.sh +++ b/jobs/rocoto/wavepostsbs.sh @@ -11,7 +11,7 @@ status=$? export job="wavepostsbs" export jobid="${job}.$$" - +export FORECAST_HOUR=$(( 10#${FHR3} )) ############################################################### # Execute the JJOB ${HOMEgfs}/jobs/JGLOBAL_WAVE_POST_SBS From f31c4c1d59c5f6d7a23e4b4626b100e499229f99 Mon Sep 17 00:00:00 2001 From: AntonMFernando Date: Tue, 22 Oct 2024 16:01:26 -0400 Subject: [PATCH 025/100] add changes --- workflow/rocoto/gefs_tasks.py | 4 ---- 1 file changed, 4 deletions(-) diff --git a/workflow/rocoto/gefs_tasks.py b/workflow/rocoto/gefs_tasks.py index 12e47b4453..7a49a53cc1 100644 --- a/workflow/rocoto/gefs_tasks.py +++ b/workflow/rocoto/gefs_tasks.py @@ -478,11 +478,7 @@ def wavepostpnt(self): def extractvars(self): deps = [] if self.app_config.do_wave: -<<<<<<< HEAD dep_dict = {'type': 'metatask', 'name': 'gefs_wave_post_grid_#member#'} -======= - dep_dict = {'type': 'task', 'name': 'gefs_wave_post_grid_mem#member#'} ->>>>>>> 720eb4c06c7ec325b2175ab5f85177225b81da87 deps.append(rocoto.add_dependency(dep_dict)) if self.app_config.do_ocean: dep_dict = {'type': 'metatask', 'name': 'gefs_ocean_prod_#member#'} From a0f6cfdcb19bd00aea3bb26a3470254aecaba081 Mon Sep 17 00:00:00 2001 From: AntonMFernando Date: Fri, 25 Oct 2024 21:02:18 -0400 Subject: [PATCH 026/100] shifted FORECAST_HOUR to scripts/ --- jobs/rocoto/wavepostsbs.sh | 1 - scripts/exgfs_wave_post_gridded_sbs.sh | 3 ++- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/jobs/rocoto/wavepostsbs.sh b/jobs/rocoto/wavepostsbs.sh index 793c233dd4..22b8165c68 100755 --- a/jobs/rocoto/wavepostsbs.sh +++ b/jobs/rocoto/wavepostsbs.sh @@ -11,7 +11,6 @@ status=$? export job="wavepostsbs" export jobid="${job}.$$" -export FORECAST_HOUR=$(( 10#${FHR3} )) ############################################################### # Execute the JJOB ${HOMEgfs}/jobs/JGLOBAL_WAVE_POST_SBS diff --git a/scripts/exgfs_wave_post_gridded_sbs.sh b/scripts/exgfs_wave_post_gridded_sbs.sh index 352f11afc1..256b4fb4c2 100755 --- a/scripts/exgfs_wave_post_gridded_sbs.sh +++ b/scripts/exgfs_wave_post_gridded_sbs.sh @@ -33,7 +33,8 @@ # 0. Preparations source "${USHgfs}/preamble.sh" - +#set FORECAST_HOUR +export FORECAST_HOUR=$(( 10#${FHR3} )) # 0.a Basic modes of operation # Set wave model ID tag to include member number From 901a2992850bddaa8a1b0563fde256315cf0b8df Mon Sep 17 00:00:00 2001 From: AntonMFernando Date: Fri, 25 Oct 2024 21:03:16 -0400 Subject: [PATCH 027/100] modified jobs\rocoto\wavepostsbs.sh --- jobs/rocoto/wavepostsbs.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jobs/rocoto/wavepostsbs.sh b/jobs/rocoto/wavepostsbs.sh index 22b8165c68..571bb01301 100755 --- a/jobs/rocoto/wavepostsbs.sh +++ b/jobs/rocoto/wavepostsbs.sh @@ -13,7 +13,7 @@ export job="wavepostsbs" export jobid="${job}.$$" ############################################################### # Execute the JJOB -${HOMEgfs}/jobs/JGLOBAL_WAVE_POST_SBS +${HOMEgfs}/jobs/JGLOBAL_WAVE_POST_SB status=$? [[ ${status} -ne 0 ]] && exit ${status} From 4fc487beb0da3a77076f4d2849efee31390a3308 Mon Sep 17 00:00:00 2001 From: AntonMFernando Date: Fri, 25 Oct 2024 21:04:06 -0400 Subject: [PATCH 028/100] modifed jobs\rocoto\wavepostsbs.sh --- jobs/rocoto/wavepostsbs.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/jobs/rocoto/wavepostsbs.sh b/jobs/rocoto/wavepostsbs.sh index 571bb01301..161b901cd4 100755 --- a/jobs/rocoto/wavepostsbs.sh +++ b/jobs/rocoto/wavepostsbs.sh @@ -11,6 +11,7 @@ status=$? export job="wavepostsbs" export jobid="${job}.$$" + ############################################################### # Execute the JJOB ${HOMEgfs}/jobs/JGLOBAL_WAVE_POST_SB From f9ed53ebef1b3e6c0e71de3efd1034ecc3d259e8 Mon Sep 17 00:00:00 2001 From: AntonMFernando Date: Fri, 25 Oct 2024 21:04:51 -0400 Subject: [PATCH 029/100] modified jobs\rocoto\wavepostsbs.sh --- jobs/rocoto/wavepostsbs.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jobs/rocoto/wavepostsbs.sh b/jobs/rocoto/wavepostsbs.sh index 161b901cd4..f4789210d8 100755 --- a/jobs/rocoto/wavepostsbs.sh +++ b/jobs/rocoto/wavepostsbs.sh @@ -14,7 +14,7 @@ export jobid="${job}.$$" ############################################################### # Execute the JJOB -${HOMEgfs}/jobs/JGLOBAL_WAVE_POST_SB +${HOMEgfs}/jobs/JGLOBAL_WAVE_POST_SBS status=$? [[ ${status} -ne 0 ]] && exit ${status} From b78ea08331ed4c96bf8391ce461baa27466dd7af Mon Sep 17 00:00:00 2001 From: "Anton.Fernando" Date: Tue, 29 Oct 2024 14:09:10 -0400 Subject: [PATCH 030/100] modify scripts\exgfs_wave_post_gridded_sbs.sh --- scripts/exgfs_wave_post_gridded_sbs.sh | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/scripts/exgfs_wave_post_gridded_sbs.sh b/scripts/exgfs_wave_post_gridded_sbs.sh index 256b4fb4c2..6b765ef323 100755 --- a/scripts/exgfs_wave_post_gridded_sbs.sh +++ b/scripts/exgfs_wave_post_gridded_sbs.sh @@ -344,11 +344,11 @@ export FORECAST_HOUR=$(( 10#${FHR3} )) if [ "$ifirst" = 'yes' ]; then echo "#!/bin/sh" > cmdmfile.$nfile echo "$nfile cmdmfile.$nfile" >> cmdmprog - chmod 744 cmdmfile.$nfile + chmod 744 "cmdmfile.$nfile" fi - echo $line >> cmdmfile.$nfile + echo $line >> "cmdmfile.$nfile" nfile=$(( nfile + 1 )) - if [ $nfile -eq $NTASKS ]; then + if [ $nfile -eq "$NTASKS" ]; then nfile=0 ifirst='no' fi @@ -392,7 +392,7 @@ export FORECAST_HOUR=$(( 10#${FHR3} )) echo ' ' set_trace err=4; export err;${errchk} - exit $err + exit "$err" fi rm -f out_grd.* # Remove large binary grid output files @@ -400,7 +400,7 @@ export FORECAST_HOUR=$(( 10#${FHR3} )) cd $DATA FHINCG=$(( DTFLD_WAV / 3600 )) - if [ $fhr = $fhrg ] + if [ "$fhr" = "$fhrg" ] then # Check if grib2 file created ENSTAG="" @@ -416,16 +416,16 @@ export FORECAST_HOUR=$(( 10#${FHR3} )) echo ' ' set_trace err=5; export err;${errchk} - exit $err + exit "$err" fi - if [ $FHMAX_HF_WAV -gt 0 ] && [ $FHOUT_HF_WAV -gt 0 ] && [ $fhr -lt $FHMAX_HF_WAV ]; then + if [ $FHMAX_HF_WAV -gt 0 ] && [ $FHOUT_HF_WAV -gt 0 ] && [ "$fhr" -lt $FHMAX_HF_WAV ]; then FHINCG=$FHOUT_HF_WAV else FHINCG=$FHOUT_WAV fi fhrg=$((fhr+FHINCG)) fi - echo $fhrg + echo "$fhrg" fhr=$fhrg #loop with out_grd stride From 232d438b0c08fde8b4e3fb6fc5c3da087004f96c Mon Sep 17 00:00:00 2001 From: "Anton.Fernando" Date: Tue, 29 Oct 2024 14:10:37 -0400 Subject: [PATCH 031/100] modified scripts\exgfs_wave_post_gridded_sbs.sh --- scripts/exgfs_wave_post_gridded_sbs.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/exgfs_wave_post_gridded_sbs.sh b/scripts/exgfs_wave_post_gridded_sbs.sh index 6b765ef323..2b24021c0a 100755 --- a/scripts/exgfs_wave_post_gridded_sbs.sh +++ b/scripts/exgfs_wave_post_gridded_sbs.sh @@ -348,7 +348,7 @@ export FORECAST_HOUR=$(( 10#${FHR3} )) fi echo $line >> "cmdmfile.$nfile" nfile=$(( nfile + 1 )) - if [ $nfile -eq "$NTASKS" ]; then + if [ "$nfile" -eq "$NTASKS" ]; then nfile=0 ifirst='no' fi From 1028319587ff98df17200b13808b45f277cf8c17 Mon Sep 17 00:00:00 2001 From: AntonMFernando Date: Wed, 30 Oct 2024 19:48:04 -0400 Subject: [PATCH 032/100] modified scripts\exgfs_wave_post_gridded_sbs.sh --- scripts/exgfs_wave_post_gridded_sbs.sh | 42 +++++++++++++------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/scripts/exgfs_wave_post_gridded_sbs.sh b/scripts/exgfs_wave_post_gridded_sbs.sh index 2b24021c0a..1b463235f3 100755 --- a/scripts/exgfs_wave_post_gridded_sbs.sh +++ b/scripts/exgfs_wave_post_gridded_sbs.sh @@ -222,21 +222,21 @@ export FORECAST_HOUR=$(( 10#${FHR3} )) # 1.a.2 Loop over forecast time to generate post files # When executed side-by-side, serial mode (cfp when run after the fcst step) # Contingency for RERUN=YES - if [ "${RERUN:-NO}" = "YES" ]; then - fhr=$((FHRUN + FHMIN_WAV)) - if [ $FHMAX_HF_WAV -gt 0 ] && [ $FHOUT_HF_WAV -gt 0 ] && [ $fhr -lt $FHMAX_HF_WAV ]; then - FHINCG=$FHOUT_HF_WAV - else - FHINCG=$FHOUT_WAV - fi - fhr=$((FORECAST_HOUR + FHINCG)) - else - fhr=$FORECAST_HOUR - fi +# if [ "${RERUN:-NO}" = "YES" ]; then +# fhr=$((FHRUN + FHMIN_WAV)) +# if [ $FHMAX_HF_WAV -gt 0 ] && [ $FHOUT_HF_WAV -gt 0 ] && [ $fhr -lt $FHMAX_HF_WAV ]; then +# FHINCG=$FHOUT_HF_WAV +# else +# FHINCG=$FHOUT_WAV +# fi +# fhr=$((FORECAST_HOUR + FHINCG)) +# else +# fhr=$FORECAST_HOUR +# fi fhrg=$fhr sleep_interval=10 iwaitmax=120 # Maximum loop cycles for waiting until wave component output file is ready (fails after max) - if [ $fhr -le $FHMAX_WAV ]; then +# if [ $fhr -le $FHMAX_WAV ]; then ymdh=$($NDATE $fhr ${PDY}${cyc}) YMD=$(echo $ymdh | cut -c1-8) HMS="$(echo $ymdh | cut -c9-10)0000" @@ -418,18 +418,18 @@ export FORECAST_HOUR=$(( 10#${FHR3} )) err=5; export err;${errchk} exit "$err" fi - if [ $FHMAX_HF_WAV -gt 0 ] && [ $FHOUT_HF_WAV -gt 0 ] && [ "$fhr" -lt $FHMAX_HF_WAV ]; then - FHINCG=$FHOUT_HF_WAV - else - FHINCG=$FHOUT_WAV - fi - fhrg=$((fhr+FHINCG)) +# if [ $FHMAX_HF_WAV -gt 0 ] && [ $FHOUT_HF_WAV -gt 0 ] && [ "$fhr" -lt $FHMAX_HF_WAV ]; then +# FHINCG=$FHOUT_HF_WAV +# else +# FHINCG=$FHOUT_WAV +# fi +# fhrg=$((fhr+FHINCG)) fi - echo "$fhrg" +# echo "$fhrg" - fhr=$fhrg #loop with out_grd stride +# fhr=$fhrg #loop with out_grd stride - fi +# fi # --------------------------------------------------------------------------- # # 7. Ending output From 95d253262df1262d4d3e5e959861f3e6ae1de40a Mon Sep 17 00:00:00 2001 From: AntonMFernando Date: Wed, 30 Oct 2024 20:01:11 -0400 Subject: [PATCH 033/100] modified scripts\exgfs_wave_post_gridded_sbs.sh --- scripts/exgfs_wave_post_gridded_sbs.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/exgfs_wave_post_gridded_sbs.sh b/scripts/exgfs_wave_post_gridded_sbs.sh index 1b463235f3..a3ef5d25fe 100755 --- a/scripts/exgfs_wave_post_gridded_sbs.sh +++ b/scripts/exgfs_wave_post_gridded_sbs.sh @@ -399,7 +399,7 @@ export FORECAST_HOUR=$(( 10#${FHR3} )) cd $DATA - FHINCG=$(( DTFLD_WAV / 3600 )) + # FHINCG=$(( DTFLD_WAV / 3600 )) if [ "$fhr" = "$fhrg" ] then # Check if grib2 file created From 8cbffe5a1d53825d718e370ec1ffc0e6dea07c93 Mon Sep 17 00:00:00 2001 From: AntonMFernando Date: Thu, 31 Oct 2024 12:20:54 -0400 Subject: [PATCH 034/100] modified gfs_tasks.py --- workflow/rocoto/gfs_tasks.py | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/workflow/rocoto/gfs_tasks.py b/workflow/rocoto/gfs_tasks.py index d3bb68a6b8..545b329182 100644 --- a/workflow/rocoto/gfs_tasks.py +++ b/workflow/rocoto/gfs_tasks.py @@ -1212,25 +1212,39 @@ def _atmosoceaniceprod(self, component: str): return task def wavepostsbs(self): + + resources = self.get_resource('wavepostsbs') deps = [] dep_dict = {'type': 'metatask', 'name': f'{self.run}_fcst'} deps.append(rocoto.add_dependency(dep_dict)) dependencies = rocoto.create_dependency(dep=deps) - resources = self.get_resource('wavepostsbs') - task_name = f'{self.run}_wavepostsbs' + wave_post_envars = self.envars.copy() + wave_post_dict = {'FHR3': '#fhr#'} + for key, value in wave_post_dict.items(): + wave_post_envars.append(rocoto.create_envar(name=key, value=str(value))) + + cycledef = 'gdas_half, gdas' if self.run in ['gdas'] else self.run + task_name = f'gfs_wave_post_grid_f#fhr#' task_dict = {'task_name': task_name, 'resources': resources, 'dependency': dependencies, - 'envars': self.envars, - 'cycledef': self.run.replace('enkf', ''), + 'envars': wave_post_envars, + 'cycledef': cycledef, 'command': f'{self.HOMEgfs}/jobs/rocoto/wavepostsbs.sh', 'job_name': f'{self.pslot}_{task_name}_@H', 'log': f'{self.rotdir}/logs/@Y@m@d@H/{task_name}.log', 'maxtries': '&MAXTRIES;' } - task = rocoto.create_task(task_dict) + fhrs = self._get_forecast_hours('gefs', self._configs['wavepostsbs']) + + member_var_dict = {'fhr': ' '.join([f"{fhr:03d}" for fhr in fhrs])} + metatask_dict = {'task_name': f'gfs_wave_post_grid', + 'task_dict': task_dict, + 'var_dict': member_var_dict} + + task = rocoto.create_task(metatask_dict) return task From bad725039da0b604711df28a977a89becc904b2e Mon Sep 17 00:00:00 2001 From: AntonMFernando Date: Thu, 31 Oct 2024 13:00:50 -0400 Subject: [PATCH 035/100] modified gfs_tasks.py --- workflow/rocoto/gfs_tasks.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflow/rocoto/gfs_tasks.py b/workflow/rocoto/gfs_tasks.py index 545b329182..a42a66aa2c 100644 --- a/workflow/rocoto/gfs_tasks.py +++ b/workflow/rocoto/gfs_tasks.py @@ -1224,7 +1224,7 @@ def wavepostsbs(self): for key, value in wave_post_dict.items(): wave_post_envars.append(rocoto.create_envar(name=key, value=str(value))) - cycledef = 'gdas_half, gdas' if self.run in ['gdas'] else self.run + cycledef = 'gdas_half,gdas' if self.run in ['gdas'] else self.run task_name = f'gfs_wave_post_grid_f#fhr#' task_dict = {'task_name': task_name, 'resources': resources, From 4db4b825dbf5adc183b2283294c5f9624832c520 Mon Sep 17 00:00:00 2001 From: AntonMFernando Date: Thu, 31 Oct 2024 13:07:37 -0400 Subject: [PATCH 036/100] modified workflow\rocoto\gfs_tasks.py --- workflow/rocoto/gfs_tasks.py | 1 - 1 file changed, 1 deletion(-) diff --git a/workflow/rocoto/gfs_tasks.py b/workflow/rocoto/gfs_tasks.py index a42a66aa2c..8ec2aa1475 100644 --- a/workflow/rocoto/gfs_tasks.py +++ b/workflow/rocoto/gfs_tasks.py @@ -1212,7 +1212,6 @@ def _atmosoceaniceprod(self, component: str): return task def wavepostsbs(self): - resources = self.get_resource('wavepostsbs') deps = [] dep_dict = {'type': 'metatask', 'name': f'{self.run}_fcst'} From 96934cac1e3bd0462b4733164b5576fc7b68829c Mon Sep 17 00:00:00 2001 From: AntonMFernando Date: Thu, 31 Oct 2024 15:13:06 -0400 Subject: [PATCH 037/100] modified gfs_tasks.py --- workflow/rocoto/gfs_tasks.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/workflow/rocoto/gfs_tasks.py b/workflow/rocoto/gfs_tasks.py index 8ec2aa1475..ac3b7219da 100644 --- a/workflow/rocoto/gfs_tasks.py +++ b/workflow/rocoto/gfs_tasks.py @@ -1212,6 +1212,7 @@ def _atmosoceaniceprod(self, component: str): return task def wavepostsbs(self): + resources = self.get_resource('wavepostsbs') deps = [] dep_dict = {'type': 'metatask', 'name': f'{self.run}_fcst'} @@ -1237,7 +1238,7 @@ def wavepostsbs(self): } fhrs = self._get_forecast_hours('gefs', self._configs['wavepostsbs']) - + member_var_dict = {'fhr': ' '.join([f"{fhr:03d}" for fhr in fhrs])} metatask_dict = {'task_name': f'gfs_wave_post_grid', 'task_dict': task_dict, From cb6881da8c363411b528d8863704e64d216d4ebb Mon Sep 17 00:00:00 2001 From: AntonMFernando Date: Thu, 31 Oct 2024 15:14:58 -0400 Subject: [PATCH 038/100] modified workflow\rocoto\gfs_tasks.py --- workflow/rocoto/gfs_tasks.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/workflow/rocoto/gfs_tasks.py b/workflow/rocoto/gfs_tasks.py index ac3b7219da..c21d990dc6 100644 --- a/workflow/rocoto/gfs_tasks.py +++ b/workflow/rocoto/gfs_tasks.py @@ -1241,8 +1241,8 @@ def wavepostsbs(self): member_var_dict = {'fhr': ' '.join([f"{fhr:03d}" for fhr in fhrs])} metatask_dict = {'task_name': f'gfs_wave_post_grid', - 'task_dict': task_dict, - 'var_dict': member_var_dict} + 'task_dict': task_dict, + 'var_dict': member_var_dict} task = rocoto.create_task(metatask_dict) From d378f80700de169bc3069637f943433d9bdb66e5 Mon Sep 17 00:00:00 2001 From: AntonMFernando Date: Thu, 31 Oct 2024 15:33:24 -0400 Subject: [PATCH 039/100] modified scripts\exgfs_wave_post_gridded_sbs.sh --- scripts/exgfs_wave_post_gridded_sbs.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/scripts/exgfs_wave_post_gridded_sbs.sh b/scripts/exgfs_wave_post_gridded_sbs.sh index a3ef5d25fe..ae4da67b9b 100755 --- a/scripts/exgfs_wave_post_gridded_sbs.sh +++ b/scripts/exgfs_wave_post_gridded_sbs.sh @@ -233,6 +233,7 @@ export FORECAST_HOUR=$(( 10#${FHR3} )) # else # fhr=$FORECAST_HOUR # fi + fhr=$FORECAST_HOUR fhrg=$fhr sleep_interval=10 iwaitmax=120 # Maximum loop cycles for waiting until wave component output file is ready (fails after max) From d279aa25dad012fa460fe2fbc8c38a6c844db986 Mon Sep 17 00:00:00 2001 From: AntonMFernando Date: Fri, 1 Nov 2024 12:13:27 -0400 Subject: [PATCH 040/100] modifed workflow\rocoto\gfs_tasks.py --- workflow/rocoto/gfs_tasks.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/workflow/rocoto/gfs_tasks.py b/workflow/rocoto/gfs_tasks.py index c21d990dc6..17edbb864d 100644 --- a/workflow/rocoto/gfs_tasks.py +++ b/workflow/rocoto/gfs_tasks.py @@ -1225,7 +1225,7 @@ def wavepostsbs(self): wave_post_envars.append(rocoto.create_envar(name=key, value=str(value))) cycledef = 'gdas_half,gdas' if self.run in ['gdas'] else self.run - task_name = f'gfs_wave_post_grid_f#fhr#' + task_name = f'{self.run}_wavepostsbs_f#fhr#' task_dict = {'task_name': task_name, 'resources': resources, 'dependency': dependencies, @@ -1240,7 +1240,7 @@ def wavepostsbs(self): fhrs = self._get_forecast_hours('gefs', self._configs['wavepostsbs']) member_var_dict = {'fhr': ' '.join([f"{fhr:03d}" for fhr in fhrs])} - metatask_dict = {'task_name': f'gfs_wave_post_grid', + metatask_dict = {'task_name': f'{self.run}_wavepostsbs', 'task_dict': task_dict, 'var_dict': member_var_dict} @@ -1328,7 +1328,7 @@ def wavepostpnt(self): def wavegempak(self): deps = [] - dep_dict = {'type': 'task', 'name': f'{self.run}_wavepostsbs'} + dep_dict = {'type': 'task', 'name': f'{self.run}_wavepostsbs_f#fhr#'} deps.append(rocoto.add_dependency(dep_dict)) dependencies = rocoto.create_dependency(dep=deps) @@ -1351,7 +1351,7 @@ def wavegempak(self): def waveawipsbulls(self): deps = [] - dep_dict = {'type': 'task', 'name': f'{self.run}_wavepostsbs'} + dep_dict = {'type': 'task', 'name': f'{self.run}_wavepostsbs_f#fhr#'} deps.append(rocoto.add_dependency(dep_dict)) dep_dict = {'type': 'task', 'name': f'{self.run}_wavepostpnt'} deps.append(rocoto.add_dependency(dep_dict)) @@ -1376,7 +1376,7 @@ def waveawipsbulls(self): def waveawipsgridded(self): deps = [] - dep_dict = {'type': 'task', 'name': f'{self.run}_wavepostsbs'} + dep_dict = {'type': 'task', 'name': f'{self.run}_wavepostsbs_f#fhr#'} deps.append(rocoto.add_dependency(dep_dict)) dependencies = rocoto.create_dependency(dep=deps) @@ -2313,7 +2313,7 @@ def arch(self): dep_dict = {'type': 'metatask', 'name': f'{self.run}_atmos_prod'} deps.append(rocoto.add_dependency(dep_dict)) if self.app_config.do_wave: - dep_dict = {'type': 'task', 'name': f'{self.run}_wavepostsbs'} + dep_dict = {'type': 'task', 'name': f'{self.run}_wavepostsbs_f#fhr#'} deps.append(rocoto.add_dependency(dep_dict)) dep_dict = {'type': 'task', 'name': f'{self.run}_wavepostpnt'} deps.append(rocoto.add_dependency(dep_dict)) From a179f2b79bc17f99f0860a5a06b24f6295379858 Mon Sep 17 00:00:00 2001 From: AntonMFernando Date: Fri, 1 Nov 2024 19:13:01 -0400 Subject: [PATCH 041/100] modified workflow\rocoto\gfs_tasks.py --- workflow/rocoto/gfs_tasks.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/workflow/rocoto/gfs_tasks.py b/workflow/rocoto/gfs_tasks.py index 17edbb864d..b5fd21ee79 100644 --- a/workflow/rocoto/gfs_tasks.py +++ b/workflow/rocoto/gfs_tasks.py @@ -1328,7 +1328,7 @@ def wavepostpnt(self): def wavegempak(self): deps = [] - dep_dict = {'type': 'task', 'name': f'{self.run}_wavepostsbs_f#fhr#'} + dep_dict = {'type': 'metatask', 'name': f'{self.run}_wavepostsbs'} deps.append(rocoto.add_dependency(dep_dict)) dependencies = rocoto.create_dependency(dep=deps) @@ -1351,7 +1351,7 @@ def wavegempak(self): def waveawipsbulls(self): deps = [] - dep_dict = {'type': 'task', 'name': f'{self.run}_wavepostsbs_f#fhr#'} + dep_dict = {'type': 'metatask', 'name': f'{self.run}_wavepostsbs'} deps.append(rocoto.add_dependency(dep_dict)) dep_dict = {'type': 'task', 'name': f'{self.run}_wavepostpnt'} deps.append(rocoto.add_dependency(dep_dict)) @@ -1376,7 +1376,7 @@ def waveawipsbulls(self): def waveawipsgridded(self): deps = [] - dep_dict = {'type': 'task', 'name': f'{self.run}_wavepostsbs_f#fhr#'} + dep_dict = {'type': 'metatask', 'name': f'{self.run}_wavepostsbs'} deps.append(rocoto.add_dependency(dep_dict)) dependencies = rocoto.create_dependency(dep=deps) @@ -2313,7 +2313,7 @@ def arch(self): dep_dict = {'type': 'metatask', 'name': f'{self.run}_atmos_prod'} deps.append(rocoto.add_dependency(dep_dict)) if self.app_config.do_wave: - dep_dict = {'type': 'task', 'name': f'{self.run}_wavepostsbs_f#fhr#'} + dep_dict = {'type': 'metatask', 'name': f'{self.run}_wavepostsbs'} deps.append(rocoto.add_dependency(dep_dict)) dep_dict = {'type': 'task', 'name': f'{self.run}_wavepostpnt'} deps.append(rocoto.add_dependency(dep_dict)) From d8a38e66025a4470d5d9cf0d26dbda483156ec2a Mon Sep 17 00:00:00 2001 From: AntonMFernando Date: Fri, 8 Nov 2024 12:52:57 -0500 Subject: [PATCH 042/100] modified task.py --- workflow/rocoto/gefs_tasks.py | 3 ++- workflow/rocoto/gfs_tasks.py | 7 +++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/workflow/rocoto/gefs_tasks.py b/workflow/rocoto/gefs_tasks.py index 7a49a53cc1..ad9f052216 100644 --- a/workflow/rocoto/gefs_tasks.py +++ b/workflow/rocoto/gefs_tasks.py @@ -313,7 +313,6 @@ def atmos_ensstat(self): return task def wavepostsbs(self): - resources = self.get_resource('wavepostsbs') deps = [] dep_dict = {'type': 'metatask', 'name': f'gefs_fcst_mem#member#'} deps.append(rocoto.add_dependency(dep_dict)) @@ -327,6 +326,8 @@ def wavepostsbs(self): for key, value in wave_post_dict.items(): wave_post_envars.append(rocoto.create_envar(name=key, value=str(value))) + resources = self.get_resource('wavepostsbs') + task_name = f'gefs_wave_post_grid_mem#member#_f#fhr#' task_dict = {'task_name': task_name, 'resources': resources, diff --git a/workflow/rocoto/gfs_tasks.py b/workflow/rocoto/gfs_tasks.py index b5fd21ee79..f605ed9f61 100644 --- a/workflow/rocoto/gfs_tasks.py +++ b/workflow/rocoto/gfs_tasks.py @@ -1213,7 +1213,6 @@ def _atmosoceaniceprod(self, component: str): def wavepostsbs(self): - resources = self.get_resource('wavepostsbs') deps = [] dep_dict = {'type': 'metatask', 'name': f'{self.run}_fcst'} deps.append(rocoto.add_dependency(dep_dict)) @@ -1224,13 +1223,13 @@ def wavepostsbs(self): for key, value in wave_post_dict.items(): wave_post_envars.append(rocoto.create_envar(name=key, value=str(value))) - cycledef = 'gdas_half,gdas' if self.run in ['gdas'] else self.run + resources = self.get_resource('wavepostsbs') task_name = f'{self.run}_wavepostsbs_f#fhr#' task_dict = {'task_name': task_name, 'resources': resources, 'dependency': dependencies, - 'envars': wave_post_envars, - 'cycledef': cycledef, + 'envars': self.envars, + 'cycledef': self.run.replace('enkf', ''), 'command': f'{self.HOMEgfs}/jobs/rocoto/wavepostsbs.sh', 'job_name': f'{self.pslot}_{task_name}_@H', 'log': f'{self.rotdir}/logs/@Y@m@d@H/{task_name}.log', From fbd9d1d187566cf0a25444bf6e636ac72eee6345 Mon Sep 17 00:00:00 2001 From: AntonMFernando Date: Fri, 8 Nov 2024 13:21:09 -0500 Subject: [PATCH 043/100] modified scripts\exgfs_wave_post_gridded_sbs.sh --- scripts/exgfs_wave_post_gridded_sbs.sh | 348 ++++++++++++------------- 1 file changed, 174 insertions(+), 174 deletions(-) diff --git a/scripts/exgfs_wave_post_gridded_sbs.sh b/scripts/exgfs_wave_post_gridded_sbs.sh index ae4da67b9b..36858d95a7 100755 --- a/scripts/exgfs_wave_post_gridded_sbs.sh +++ b/scripts/exgfs_wave_post_gridded_sbs.sh @@ -33,7 +33,7 @@ # 0. Preparations source "${USHgfs}/preamble.sh" -#set FORECAST_HOUR + export FORECAST_HOUR=$(( 10#${FHR3} )) # 0.a Basic modes of operation @@ -219,218 +219,218 @@ export FORECAST_HOUR=$(( 10#${FHR3} )) echo ' Making command file for sbs grib2 and GRID Interpolation ' set_trace -# 1.a.2 Loop over forecast time to generate post files -# When executed side-by-side, serial mode (cfp when run after the fcst step) -# Contingency for RERUN=YES -# if [ "${RERUN:-NO}" = "YES" ]; then -# fhr=$((FHRUN + FHMIN_WAV)) -# if [ $FHMAX_HF_WAV -gt 0 ] && [ $FHOUT_HF_WAV -gt 0 ] && [ $fhr -lt $FHMAX_HF_WAV ]; then -# FHINCG=$FHOUT_HF_WAV -# else -# FHINCG=$FHOUT_WAV -# fi -# fhr=$((FORECAST_HOUR + FHINCG)) -# else -# fhr=$FORECAST_HOUR -# fi - fhr=$FORECAST_HOUR + + + + + + + + + + + + + + + fhrg=$fhr sleep_interval=10 iwaitmax=120 # Maximum loop cycles for waiting until wave component output file is ready (fails after max) -# if [ $fhr -le $FHMAX_WAV ]; then - ymdh=$($NDATE $fhr ${PDY}${cyc}) - YMD=$(echo $ymdh | cut -c1-8) - HMS="$(echo $ymdh | cut -c9-10)0000" - YMDHMS=${YMD}${HMS} - FH3=$(printf %03i $fhr) - fcmdnow=cmdfile.${FH3} - fcmdigrd=icmdfile.${FH3} - mkdir output_$YMDHMS - cd output_$YMDHMS - rm -f ${fcmdnow} ${fcmdigrd} - touch ${fcmdnow} ${fcmdigrd} + ymdh=$($NDATE $fhr ${PDY}${cyc}) + YMD=$(echo $ymdh | cut -c1-8) + HMS="$(echo $ymdh | cut -c9-10)0000" + YMDHMS=${YMD}${HMS} + FH3=$(printf %03i $fhr) + + fcmdnow=cmdfile.${FH3} + fcmdigrd=icmdfile.${FH3} + mkdir output_$YMDHMS + cd output_$YMDHMS + rm -f ${fcmdnow} ${fcmdigrd} + touch ${fcmdnow} ${fcmdigrd} # Create instances of directories for gridded output - export GRIBDATA=${DATA}/output_$YMDHMS - export GRDIDATA=${DATA}/output_$YMDHMS + export GRIBDATA=${DATA}/output_$YMDHMS + export GRDIDATA=${DATA}/output_$YMDHMS # Gridded data (main part, need to be run side-by-side with forecast - if [ $fhr = $fhrg ] - then - for wavGRD in ${waveGRD}; do - gfile="${COMIN_WAVE_HISTORY}/${WAV_MOD_TAG}.out_grd.${wavGRD}.${YMD}.${HMS}" - if ! wait_for_file "${gfile}" "${sleep_interval}" "${iwaitmax}"; then - echo " FATAL ERROR : NO RAW FIELD OUTPUT FILE out_grd.${grdID}" - echo "${WAV_MOD_TAG} post ${grdID} ${PDY} ${cycle} : field output missing." - err=3; export err; "${errchk}" - exit "${err}" - fi - ${NLN} "${gfile}" "./out_grd.${wavGRD}" - done - - if [ "$DOGRI_WAV" = 'YES' ] - then - nigrd=1 - for grdID in $waveinterpGRD - do - ymdh_int=$($NDATE -${WAVHINDH} $ymdh); dt_int=3600.; n_int=9999 ; - echo "${USHgfs}/wave_grid_interp_sbs.sh $grdID $ymdh_int $dt_int $n_int > grint_$grdID.out 2>&1" >> ${fcmdigrd}.${nigrd} - if [ "$DOGRB_WAV" = 'YES' ] - then - gribFL=\'$(echo ${OUTPARS_WAV})\' - case $grdID in - glo_15mxt) GRDNAME='global' ; GRDRES=0p25 ; GRIDNR=255 ; MODNR=11 ;; - reg025) GRDNAME='global' ; GRDRES=0p25 ; GRIDNR=255 ; MODNR=11 ;; - glo_025) GRDNAME='global' ; GRDRES=0p25 ; GRIDNR=255 ; MODNR=11 ;; - glo_100) GRDNAME='global' ; GRDRES=1p00 ; GRIDNR=255 ; MODNR=11 ;; - glo_200) GRDNAME='global' ; GRDRES=2p00 ; GRIDNR=255 ; MODNR=11 ;; - glo_500) GRDNAME='global' ; GRDRES=5p00 ; GRIDNR=255 ; MODNR=11 ;; - glo_30mxt) GRDNAME='global' ; GRDRES=0p50 ; GRIDNR=255 ; MODNR=11 ;; - glo_30m) GRDNAME='global' ; GRDRES=0p50 ; GRIDNR=255 ; MODNR=11 ;; - at_10m) GRDNAME='atlocn' ; GRDRES=0p16 ; GRIDNR=255 ; MODNR=11 ;; - ep_10m) GRDNAME='epacif' ; GRDRES=0p16 ; GRIDNR=255 ; MODNR=11 ;; - wc_10m) GRDNAME='wcoast' ; GRDRES=0p16 ; GRIDNR=255 ; MODNR=11 ;; - ak_10m) GRDNAME='alaska' ; GRDRES=0p16 ; GRIDNR=255 ; MODNR=11 ;; - esac - echo "${USHgfs}/wave_grib2_sbs.sh $grdID $GRIDNR $MODNR $ymdh $fhr $GRDNAME $GRDRES $gribFL > grib_$grdID.out 2>&1" >> ${fcmdigrd}.${nigrd} - fi - echo "${GRIBDATA}/${fcmdigrd}.${nigrd}" >> ${fcmdnow} - chmod 744 ${fcmdigrd}.${nigrd} - nigrd=$((nigrd+1)) - done + if [ $fhr = $fhrg ] + then + for wavGRD in ${waveGRD}; do + gfile="${COMIN_WAVE_HISTORY}/${WAV_MOD_TAG}.out_grd.${wavGRD}.${YMD}.${HMS}" + if ! wait_for_file "${gfile}" "${sleep_interval}" "${iwaitmax}"; then + echo " FATAL ERROR : NO RAW FIELD OUTPUT FILE out_grd.${grdID}" + echo "${WAV_MOD_TAG} post ${grdID} ${PDY} ${cycle} : field output missing." + err=3; export err; "${errchk}" + exit "${err}" fi + ${NLN} "${gfile}" "./out_grd.${wavGRD}" + done - if [ "$DOGRB_WAV" = 'YES' ] - then - for grdID in ${wavepostGRD} # First concatenate grib files for sbs grids - do + if [ "$DOGRI_WAV" = 'YES' ] + then + nigrd=1 + for grdID in $waveinterpGRD + do + ymdh_int=$($NDATE -${WAVHINDH} $ymdh); dt_int=3600.; n_int=9999 ; + echo "${USHgfs}/wave_grid_interp_sbs.sh $grdID $ymdh_int $dt_int $n_int > grint_$grdID.out 2>&1" >> ${fcmdigrd}.${nigrd} + if [ "$DOGRB_WAV" = 'YES' ] + then gribFL=\'$(echo ${OUTPARS_WAV})\' case $grdID in - aoc_9km) GRDNAME='arctic' ; GRDRES=9km ; GRIDNR=255 ; MODNR=11 ;; - ant_9km) GRDNAME='antarc' ; GRDRES=9km ; GRIDNR=255 ; MODNR=11 ;; - glo_10m) GRDNAME='global' ; GRDRES=0p16 ; GRIDNR=255 ; MODNR=11 ;; - gnh_10m) GRDNAME='global' ; GRDRES=0p16 ; GRIDNR=255 ; MODNR=11 ;; - gsh_15m) GRDNAME='gsouth' ; GRDRES=0p25 ; GRIDNR=255 ; MODNR=11 ;; - glo_15m) GRDNAME='global' ; GRDRES=0p25 ; GRIDNR=255 ; MODNR=11 ;; - ao_20m) GRDNAME='arctic' ; GRDRES=0p33 ; GRIDNR=255 ; MODNR=11 ;; - so_20m) GRDNAME='antarc' ; GRDRES=0p33 ; GRIDNR=255 ; MODNR=11 ;; - glo_15mxt) GRDNAME='global' ; GRDRES=0p25 ; GRIDNR=255 ; MODNR=11 ;; - reg025) GRDNAME='global' ; GRDRES=0p25 ; GRIDNR=255 ; MODNR=11 ;; - glo_025) GRDNAME='global' ; GRDRES=0p25 ; GRIDNR=255 ; MODNR=11 ;; - glo_100) GRDNAME='global' ; GRDRES=1p00 ; GRIDNR=255 ; MODNR=11 ;; - glo_200) GRDNAME='global' ; GRDRES=2p00 ; GRIDNR=255 ; MODNR=11 ;; - glo_500) GRDNAME='global' ; GRDRES=5p00 ; GRIDNR=255 ; MODNR=11 ;; - gwes_30m) GRDNAME='global' ; GRDRES=0p50 ; GRIDNR=255 ; MODNR=10 ;; + glo_15mxt) GRDNAME='global' ; GRDRES=0p25 ; GRIDNR=255 ; MODNR=11 ;; + reg025) GRDNAME='global' ; GRDRES=0p25 ; GRIDNR=255 ; MODNR=11 ;; + glo_025) GRDNAME='global' ; GRDRES=0p25 ; GRIDNR=255 ; MODNR=11 ;; + glo_100) GRDNAME='global' ; GRDRES=1p00 ; GRIDNR=255 ; MODNR=11 ;; + glo_200) GRDNAME='global' ; GRDRES=2p00 ; GRIDNR=255 ; MODNR=11 ;; + glo_500) GRDNAME='global' ; GRDRES=5p00 ; GRIDNR=255 ; MODNR=11 ;; + glo_30mxt) GRDNAME='global' ; GRDRES=0p50 ; GRIDNR=255 ; MODNR=11 ;; + glo_30m) GRDNAME='global' ; GRDRES=0p50 ; GRIDNR=255 ; MODNR=11 ;; + at_10m) GRDNAME='atlocn' ; GRDRES=0p16 ; GRIDNR=255 ; MODNR=11 ;; + ep_10m) GRDNAME='epacif' ; GRDRES=0p16 ; GRIDNR=255 ; MODNR=11 ;; + wc_10m) GRDNAME='wcoast' ; GRDRES=0p16 ; GRIDNR=255 ; MODNR=11 ;; + ak_10m) GRDNAME='alaska' ; GRDRES=0p16 ; GRIDNR=255 ; MODNR=11 ;; esac - echo "${USHgfs}/wave_grib2_sbs.sh $grdID $GRIDNR $MODNR $ymdh $fhr $GRDNAME $GRDRES $gribFL > grib_$grdID.out 2>&1" >> ${fcmdnow} - done - fi - + echo "${USHgfs}/wave_grib2_sbs.sh $grdID $GRIDNR $MODNR $ymdh $fhr $GRDNAME $GRDRES $gribFL > grib_$grdID.out 2>&1" >> ${fcmdigrd}.${nigrd} + fi + echo "${GRIBDATA}/${fcmdigrd}.${nigrd}" >> ${fcmdnow} + chmod 744 ${fcmdigrd}.${nigrd} + nigrd=$((nigrd+1)) + done fi - if [ ${CFP_MP:-"NO"} = "YES" ]; then - nfile=0 - ifile=0 - iline=1 - ifirst='yes' - nlines=$( wc -l ${fcmdnow} | awk '{print $1}' ) - while [ $iline -le $nlines ]; do - line=$( sed -n ''$iline'p' ${fcmdnow} ) - if [ -z "$line" ]; then - break - else - if [ "$ifirst" = 'yes' ]; then - echo "#!/bin/sh" > cmdmfile.$nfile - echo "$nfile cmdmfile.$nfile" >> cmdmprog - chmod 744 "cmdmfile.$nfile" - fi - echo $line >> "cmdmfile.$nfile" - nfile=$(( nfile + 1 )) - if [ "$nfile" -eq "$NTASKS" ]; then - nfile=0 - ifirst='no' - fi - iline=$(( iline + 1 )) - fi + if [ "$DOGRB_WAV" = 'YES' ] + then + for grdID in ${wavepostGRD} # First concatenate grib files for sbs grids + do + gribFL=\'$(echo ${OUTPARS_WAV})\' + case $grdID in + aoc_9km) GRDNAME='arctic' ; GRDRES=9km ; GRIDNR=255 ; MODNR=11 ;; + ant_9km) GRDNAME='antarc' ; GRDRES=9km ; GRIDNR=255 ; MODNR=11 ;; + glo_10m) GRDNAME='global' ; GRDRES=0p16 ; GRIDNR=255 ; MODNR=11 ;; + gnh_10m) GRDNAME='global' ; GRDRES=0p16 ; GRIDNR=255 ; MODNR=11 ;; + gsh_15m) GRDNAME='gsouth' ; GRDRES=0p25 ; GRIDNR=255 ; MODNR=11 ;; + glo_15m) GRDNAME='global' ; GRDRES=0p25 ; GRIDNR=255 ; MODNR=11 ;; + ao_20m) GRDNAME='arctic' ; GRDRES=0p33 ; GRIDNR=255 ; MODNR=11 ;; + so_20m) GRDNAME='antarc' ; GRDRES=0p33 ; GRIDNR=255 ; MODNR=11 ;; + glo_15mxt) GRDNAME='global' ; GRDRES=0p25 ; GRIDNR=255 ; MODNR=11 ;; + reg025) GRDNAME='global' ; GRDRES=0p25 ; GRIDNR=255 ; MODNR=11 ;; + glo_025) GRDNAME='global' ; GRDRES=0p25 ; GRIDNR=255 ; MODNR=11 ;; + glo_100) GRDNAME='global' ; GRDRES=1p00 ; GRIDNR=255 ; MODNR=11 ;; + glo_200) GRDNAME='global' ; GRDRES=2p00 ; GRIDNR=255 ; MODNR=11 ;; + glo_500) GRDNAME='global' ; GRDRES=5p00 ; GRIDNR=255 ; MODNR=11 ;; + gwes_30m) GRDNAME='global' ; GRDRES=0p50 ; GRIDNR=255 ; MODNR=10 ;; + esac + echo "${USHgfs}/wave_grib2_sbs.sh $grdID $GRIDNR $MODNR $ymdh $fhr $GRDNAME $GRDRES $gribFL > grib_$grdID.out 2>&1" >> ${fcmdnow} done fi - wavenproc=$(wc -l ${fcmdnow} | awk '{print $1}') - wavenproc=$(echo $((${wavenproc}<${NTASKS}?${wavenproc}:${NTASKS}))) + fi + + if [ ${CFP_MP:-"NO"} = "YES" ]; then + nfile=0 + ifile=0 + iline=1 + ifirst='yes' + nlines=$( wc -l ${fcmdnow} | awk '{print $1}' ) + while [ $iline -le $nlines ]; do + line=$( sed -n ''$iline'p' ${fcmdnow} ) + if [ -z "$line" ]; then + break + else + if [ "$ifirst" = 'yes' ]; then + echo "#!/bin/sh" > cmdmfile.$nfile + echo "$nfile cmdmfile.$nfile" >> cmdmprog + chmod 744 "cmdmfile.$nfile" + fi + echo $line >> "cmdmfile.$nfile" + nfile=$(( nfile + 1 )) + if [ "$nfile" -eq "$NTASKS" ]; then + nfile=0 + ifirst='no' + fi + iline=$(( iline + 1 )) + fi + done + fi + wavenproc=$(wc -l ${fcmdnow} | awk '{print $1}') + wavenproc=$(echo $((${wavenproc}<${NTASKS}?${wavenproc}:${NTASKS}))) + + set +x + echo ' ' + echo " Executing the grib2_sbs scripts at : $(date)" + echo ' ------------------------------------' + echo ' ' + set_trace + + if [ "$wavenproc" -gt '1' ] + then + if [ ${CFP_MP:-"NO"} = "YES" ]; then + ${wavempexec} -n ${wavenproc} ${wave_mpmd} cmdmprog + else + ${wavempexec} ${wavenproc} ${wave_mpmd} ${fcmdnow} + fi + exit=$? + else + chmod 744 ${fcmdnow} + ./${fcmdnow} + exit=$? + fi + + if [ "$exit" != '0' ] + then set +x echo ' ' - echo " Executing the grib2_sbs scripts at : $(date)" - echo ' ------------------------------------' + echo '*************************************' + echo '*** FATAL ERROR: CMDFILE FAILED ***' + echo '*************************************' + echo ' See Details Below ' echo ' ' set_trace + err=4; export err;${errchk} + exit "$err" + fi - if [ "$wavenproc" -gt '1' ] - then - if [ ${CFP_MP:-"NO"} = "YES" ]; then - ${wavempexec} -n ${wavenproc} ${wave_mpmd} cmdmprog - else - ${wavempexec} ${wavenproc} ${wave_mpmd} ${fcmdnow} - fi - exit=$? - else - chmod 744 ${fcmdnow} - ./${fcmdnow} - exit=$? - fi + rm -f out_grd.* # Remove large binary grid output files - if [ "$exit" != '0' ] - then + cd $DATA + + + if [ "$fhr" = "$fhrg" ] + then +# Check if grib2 file created + ENSTAG="" + if [ ${waveMEMB} ]; then ENSTAG=".${membTAG}${waveMEMB}" ; fi + gribchk="${RUN}wave.${cycle}${ENSTAG}.${GRDNAME}.${GRDRES}.f${FH3}.grib2" + if [ ! -s ${COMOUT_WAVE_GRID}/${gribchk} ]; then set +x echo ' ' - echo '*************************************' - echo '*** FATAL ERROR: CMDFILE FAILED ***' - echo '*************************************' + echo '********************************************' + echo "*** FATAL ERROR: $gribchk not generated " + echo '********************************************' echo ' See Details Below ' echo ' ' set_trace - err=4; export err;${errchk} + err=5; export err;${errchk} exit "$err" fi - rm -f out_grd.* # Remove large binary grid output files - cd $DATA - # FHINCG=$(( DTFLD_WAV / 3600 )) - if [ "$fhr" = "$fhrg" ] - then -# Check if grib2 file created - ENSTAG="" - if [ ${waveMEMB} ]; then ENSTAG=".${membTAG}${waveMEMB}" ; fi - gribchk="${RUN}wave.${cycle}${ENSTAG}.${GRDNAME}.${GRDRES}.f${FH3}.grib2" - if [ ! -s ${COMOUT_WAVE_GRID}/${gribchk} ]; then - set +x - echo ' ' - echo '********************************************' - echo "*** FATAL ERROR: $gribchk not generated " - echo '********************************************' - echo ' See Details Below ' - echo ' ' - set_trace - err=5; export err;${errchk} - exit "$err" - fi -# if [ $FHMAX_HF_WAV -gt 0 ] && [ $FHOUT_HF_WAV -gt 0 ] && [ "$fhr" -lt $FHMAX_HF_WAV ]; then -# FHINCG=$FHOUT_HF_WAV -# else -# FHINCG=$FHOUT_WAV -# fi -# fhrg=$((fhr+FHINCG)) - fi -# echo "$fhrg" -# fhr=$fhrg #loop with out_grd stride -# fi + + fi + + + + + # --------------------------------------------------------------------------- # # 7. Ending output From c964cd9dd4d4ca4c74aa33689e810eee1f1a4371 Mon Sep 17 00:00:00 2001 From: AntonMFernando Date: Fri, 8 Nov 2024 13:25:01 -0500 Subject: [PATCH 044/100] modified scripts\exgfs_wave_post_gridded_sbs.sh --- scripts/exgfs_wave_post_gridded_sbs.sh | 26 -------------------------- 1 file changed, 26 deletions(-) diff --git a/scripts/exgfs_wave_post_gridded_sbs.sh b/scripts/exgfs_wave_post_gridded_sbs.sh index 36858d95a7..1de977895b 100755 --- a/scripts/exgfs_wave_post_gridded_sbs.sh +++ b/scripts/exgfs_wave_post_gridded_sbs.sh @@ -219,21 +219,6 @@ export FORECAST_HOUR=$(( 10#${FHR3} )) echo ' Making command file for sbs grib2 and GRID Interpolation ' set_trace - - - - - - - - - - - - - - - fhrg=$fhr sleep_interval=10 iwaitmax=120 # Maximum loop cycles for waiting until wave component output file is ready (fails after max) @@ -419,19 +404,8 @@ export FORECAST_HOUR=$(( 10#${FHR3} )) err=5; export err;${errchk} exit "$err" fi - - - - - - fi - - - - - # --------------------------------------------------------------------------- # # 7. Ending output From 6e35150233fc5e2998782f789c0739fcd8296300 Mon Sep 17 00:00:00 2001 From: AntonMFernando Date: Fri, 8 Nov 2024 13:38:50 -0500 Subject: [PATCH 045/100] modified workflow\rocoto\gefs_tasks.py --- workflow/rocoto/gefs_tasks.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflow/rocoto/gefs_tasks.py b/workflow/rocoto/gefs_tasks.py index ad9f052216..29db98f750 100644 --- a/workflow/rocoto/gefs_tasks.py +++ b/workflow/rocoto/gefs_tasks.py @@ -327,7 +327,7 @@ def wavepostsbs(self): wave_post_envars.append(rocoto.create_envar(name=key, value=str(value))) resources = self.get_resource('wavepostsbs') - + task_name = f'gefs_wave_post_grid_mem#member#_f#fhr#' task_dict = {'task_name': task_name, 'resources': resources, From a200dc4a10bfbc5a7b3aa9a550c065623b114ca5 Mon Sep 17 00:00:00 2001 From: AntonMFernando Date: Fri, 8 Nov 2024 17:51:35 -0500 Subject: [PATCH 046/100] modified scripts\exgfs_wave_post_gridded_sbs.sh --- scripts/exgfs_wave_post_gridded_sbs.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/exgfs_wave_post_gridded_sbs.sh b/scripts/exgfs_wave_post_gridded_sbs.sh index 1de977895b..6849116ade 100755 --- a/scripts/exgfs_wave_post_gridded_sbs.sh +++ b/scripts/exgfs_wave_post_gridded_sbs.sh @@ -218,7 +218,7 @@ export FORECAST_HOUR=$(( 10#${FHR3} )) set +x echo ' Making command file for sbs grib2 and GRID Interpolation ' set_trace - + fhr=$FORECAST_HOUR fhrg=$fhr sleep_interval=10 iwaitmax=120 # Maximum loop cycles for waiting until wave component output file is ready (fails after max) From ba95d05a0c191b9d6f5e1c9e1ebe9e9387be2baf Mon Sep 17 00:00:00 2001 From: AntonMFernando Date: Wed, 13 Nov 2024 10:09:01 -0500 Subject: [PATCH 047/100] modified gfs_tasks.py --- workflow/rocoto/gfs_tasks.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflow/rocoto/gfs_tasks.py b/workflow/rocoto/gfs_tasks.py index 72e250d65c..ec284b7dc9 100644 --- a/workflow/rocoto/gfs_tasks.py +++ b/workflow/rocoto/gfs_tasks.py @@ -1202,7 +1202,7 @@ def wavepostsbs(self): task_dict = {'task_name': task_name, 'resources': resources, 'dependency': dependencies, - 'envars': self.envars, + 'envars': wave_post_dict, 'cycledef': self.run.replace('enkf', ''), 'command': f'{self.HOMEgfs}/jobs/rocoto/wavepostsbs.sh', 'job_name': f'{self.pslot}_{task_name}_@H', From a021e49b510d73ceef3ad851467b67ca92f59aa4 Mon Sep 17 00:00:00 2001 From: AntonMFernando Date: Wed, 13 Nov 2024 10:09:46 -0500 Subject: [PATCH 048/100] modified workflow\rocoto\gfs_tasks.py --- workflow/rocoto/gfs_tasks.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflow/rocoto/gfs_tasks.py b/workflow/rocoto/gfs_tasks.py index ec284b7dc9..24850a298a 100644 --- a/workflow/rocoto/gfs_tasks.py +++ b/workflow/rocoto/gfs_tasks.py @@ -1202,7 +1202,7 @@ def wavepostsbs(self): task_dict = {'task_name': task_name, 'resources': resources, 'dependency': dependencies, - 'envars': wave_post_dict, + 'envars': wave_post_envars, 'cycledef': self.run.replace('enkf', ''), 'command': f'{self.HOMEgfs}/jobs/rocoto/wavepostsbs.sh', 'job_name': f'{self.pslot}_{task_name}_@H', From f7f2e12033fec7dcf56a20078865216c9fdbe877 Mon Sep 17 00:00:00 2001 From: AntonMFernando Date: Wed, 13 Nov 2024 10:39:56 -0500 Subject: [PATCH 049/100] modified tasks.pys --- workflow/rocoto/gefs_tasks.py | 4 ++-- workflow/rocoto/gfs_tasks.py | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/workflow/rocoto/gefs_tasks.py b/workflow/rocoto/gefs_tasks.py index 29db98f750..40095e3b13 100644 --- a/workflow/rocoto/gefs_tasks.py +++ b/workflow/rocoto/gefs_tasks.py @@ -319,11 +319,11 @@ def wavepostsbs(self): dependencies = rocoto.create_dependency(dep=deps) wave_post_envars = self.envars.copy() - wave_post_dict = {'ENSMEM': '#member#', + postenvar_dict = {'ENSMEM': '#member#', 'MEMDIR': 'mem#member#', 'FHR3': '#fhr#', } - for key, value in wave_post_dict.items(): + for key, value in postenvar_dict.items(): wave_post_envars.append(rocoto.create_envar(name=key, value=str(value))) resources = self.get_resource('wavepostsbs') diff --git a/workflow/rocoto/gfs_tasks.py b/workflow/rocoto/gfs_tasks.py index 24850a298a..3424070e8b 100644 --- a/workflow/rocoto/gfs_tasks.py +++ b/workflow/rocoto/gfs_tasks.py @@ -1193,8 +1193,8 @@ def wavepostsbs(self): dependencies = rocoto.create_dependency(dep=deps) wave_post_envars = self.envars.copy() - wave_post_dict = {'FHR3': '#fhr#'} - for key, value in wave_post_dict.items(): + postenvar_dict = {'FHR3': '#fhr#'} + for key, value in postenvar_dict.items(): wave_post_envars.append(rocoto.create_envar(name=key, value=str(value))) resources = self.get_resource('wavepostsbs') From 400407098719bd6b8cd9ce05538b152c8fe91583 Mon Sep 17 00:00:00 2001 From: AntonMFernando Date: Fri, 15 Nov 2024 21:27:00 -0500 Subject: [PATCH 050/100] modified tasks.py's --- workflow/rocoto/gefs_tasks.py | 2 +- workflow/rocoto/gfs_tasks.py | 6 +++--- workflow/rocoto/tasks.py | 7 ++++++- 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/workflow/rocoto/gefs_tasks.py b/workflow/rocoto/gefs_tasks.py index 40095e3b13..a52535d5b8 100644 --- a/workflow/rocoto/gefs_tasks.py +++ b/workflow/rocoto/gefs_tasks.py @@ -340,7 +340,7 @@ def wavepostsbs(self): 'maxtries': '&MAXTRIES;' } - fhrs = self._get_forecast_hours('gefs', self._configs['wavepostsbs']) + fhrs = self._get_forecast_hours('gefs', self._configs['wavepostsbs'], 'wave') fhr_var_dict = {'fhr': ' '.join([f"{fhr:03d}" for fhr in fhrs])} fhr_metatask_dict = {'task_name': f'gefs_wave_post_grid_#member#', diff --git a/workflow/rocoto/gfs_tasks.py b/workflow/rocoto/gfs_tasks.py index 3424070e8b..e94208aaef 100644 --- a/workflow/rocoto/gfs_tasks.py +++ b/workflow/rocoto/gfs_tasks.py @@ -1210,12 +1210,12 @@ def wavepostsbs(self): 'maxtries': '&MAXTRIES;' } - fhrs = self._get_forecast_hours('gefs', self._configs['wavepostsbs']) + fhrs = self._get_forecast_hours('gfs', self._configs['wavepostsbs'], 'wave') - member_var_dict = {'fhr': ' '.join([f"{fhr:03d}" for fhr in fhrs])} + fhr_metatask_dict = {'fhr': ' '.join([f"{fhr:03d}" for fhr in fhrs])} metatask_dict = {'task_name': f'{self.run}_wavepostsbs', 'task_dict': task_dict, - 'var_dict': member_var_dict} + 'var_dict': fhr_metatask_dict} task = rocoto.create_task(metatask_dict) diff --git a/workflow/rocoto/tasks.py b/workflow/rocoto/tasks.py index df56f90718..853986c960 100644 --- a/workflow/rocoto/tasks.py +++ b/workflow/rocoto/tasks.py @@ -136,7 +136,7 @@ def _get_forecast_hours(run, config, component='atmos') -> List[str]: # Make a local copy of the config to avoid modifying the original local_config = config.copy() # Ocean/Ice components do not have a HF output option like the atmosphere - if component in ['ocean', 'ice']: + if component in ['ocean', 'ice', 'wave']: local_config['FHMAX_HF_GFS'] = 0 if component in ['ocean']: @@ -149,6 +149,11 @@ def _get_forecast_hours(run, config, component='atmos') -> List[str]: local_config['FHOUT_GFS'] = config['FHOUT_ICE_GFS'] local_config['FHOUT'] = config['FHOUT_ICE'] + if component in ['wave']: + local_config['FHOUT_HF_GFS'] = config['FHOUT_GFS'] + local_config['FHOUT_GFS'] = config['FHOUT_GFS'] + local_config['FHOUT'] = config['FHOUT_WAV'] + fhmin = local_config['FHMIN'] # Get a list of all forecast hours From 0a6d6eb0ed6a4dc682cc1d62d080343f24963ffe Mon Sep 17 00:00:00 2001 From: AntonMFernando Date: Sun, 17 Nov 2024 00:07:02 -0500 Subject: [PATCH 051/100] modified gefs_tasks.py --- workflow/rocoto/gefs_tasks.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/workflow/rocoto/gefs_tasks.py b/workflow/rocoto/gefs_tasks.py index a52535d5b8..037fb4f8c3 100644 --- a/workflow/rocoto/gefs_tasks.py +++ b/workflow/rocoto/gefs_tasks.py @@ -341,6 +341,11 @@ def wavepostsbs(self): } fhrs = self._get_forecast_hours('gefs', self._configs['wavepostsbs'], 'wave') + + is_replay = self._configs['wavepostsbs']['REPLAY_ICS'] + if is_replay and 0 in fhrs: + fhrs.remove(0) + fhr_var_dict = {'fhr': ' '.join([f"{fhr:03d}" for fhr in fhrs])} fhr_metatask_dict = {'task_name': f'gefs_wave_post_grid_#member#', From 4a762d43b8fea77fc840ae5068ec24f707cffc4b Mon Sep 17 00:00:00 2001 From: AntonMFernando Date: Sun, 17 Nov 2024 18:56:30 -0500 Subject: [PATCH 052/100] modified tasks.py --- workflow/rocoto/tasks.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflow/rocoto/tasks.py b/workflow/rocoto/tasks.py index 853986c960..004d0546f9 100644 --- a/workflow/rocoto/tasks.py +++ b/workflow/rocoto/tasks.py @@ -150,7 +150,7 @@ def _get_forecast_hours(run, config, component='atmos') -> List[str]: local_config['FHOUT'] = config['FHOUT_ICE'] if component in ['wave']: - local_config['FHOUT_HF_GFS'] = config['FHOUT_GFS'] + local_config['FHOUT_HF_GFS'] = config['FHOUT_HF_GFS'] local_config['FHOUT_GFS'] = config['FHOUT_GFS'] local_config['FHOUT'] = config['FHOUT_WAV'] From b43853864223e0db1e106c6e3a97f290b30833d7 Mon Sep 17 00:00:00 2001 From: AntonMFernando Date: Sun, 17 Nov 2024 18:58:45 -0500 Subject: [PATCH 053/100] modified tasks.py --- workflow/rocoto/tasks.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflow/rocoto/tasks.py b/workflow/rocoto/tasks.py index 004d0546f9..c77538c901 100644 --- a/workflow/rocoto/tasks.py +++ b/workflow/rocoto/tasks.py @@ -151,7 +151,7 @@ def _get_forecast_hours(run, config, component='atmos') -> List[str]: if component in ['wave']: local_config['FHOUT_HF_GFS'] = config['FHOUT_HF_GFS'] - local_config['FHOUT_GFS'] = config['FHOUT_GFS'] + local_config['FHOUT_GFS'] = config['FHOUT_HF_GFS'] local_config['FHOUT'] = config['FHOUT_WAV'] fhmin = local_config['FHMIN'] From c259f11509cb80f1e639e56802601369ec45b2d9 Mon Sep 17 00:00:00 2001 From: AntonMFernando Date: Sun, 17 Nov 2024 19:08:20 -0500 Subject: [PATCH 054/100] modified tasks.py --- workflow/rocoto/tasks.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflow/rocoto/tasks.py b/workflow/rocoto/tasks.py index c77538c901..4bcb82e1da 100644 --- a/workflow/rocoto/tasks.py +++ b/workflow/rocoto/tasks.py @@ -150,7 +150,7 @@ def _get_forecast_hours(run, config, component='atmos') -> List[str]: local_config['FHOUT'] = config['FHOUT_ICE'] if component in ['wave']: - local_config['FHOUT_HF_GFS'] = config['FHOUT_HF_GFS'] + local_config['FHOUT_HF_GFS'] = config['FHOUT_GFS'] local_config['FHOUT_GFS'] = config['FHOUT_HF_GFS'] local_config['FHOUT'] = config['FHOUT_WAV'] From 2cae70ffcf4730972bdc34fbeaa91c1b8847a55a Mon Sep 17 00:00:00 2001 From: AntonMFernando Date: Sun, 17 Nov 2024 19:17:01 -0500 Subject: [PATCH 055/100] modified tasks.py --- workflow/rocoto/tasks.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/workflow/rocoto/tasks.py b/workflow/rocoto/tasks.py index 4bcb82e1da..004d0546f9 100644 --- a/workflow/rocoto/tasks.py +++ b/workflow/rocoto/tasks.py @@ -150,8 +150,8 @@ def _get_forecast_hours(run, config, component='atmos') -> List[str]: local_config['FHOUT'] = config['FHOUT_ICE'] if component in ['wave']: - local_config['FHOUT_HF_GFS'] = config['FHOUT_GFS'] - local_config['FHOUT_GFS'] = config['FHOUT_HF_GFS'] + local_config['FHOUT_HF_GFS'] = config['FHOUT_HF_GFS'] + local_config['FHOUT_GFS'] = config['FHOUT_GFS'] local_config['FHOUT'] = config['FHOUT_WAV'] fhmin = local_config['FHMIN'] From cdb484d93c9ada798cba1bed34b73ac19661e686 Mon Sep 17 00:00:00 2001 From: AntonMFernando Date: Sun, 17 Nov 2024 19:21:26 -0500 Subject: [PATCH 056/100] modified tasks.py --- workflow/rocoto/tasks.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflow/rocoto/tasks.py b/workflow/rocoto/tasks.py index 004d0546f9..daf3b0317f 100644 --- a/workflow/rocoto/tasks.py +++ b/workflow/rocoto/tasks.py @@ -152,7 +152,7 @@ def _get_forecast_hours(run, config, component='atmos') -> List[str]: if component in ['wave']: local_config['FHOUT_HF_GFS'] = config['FHOUT_HF_GFS'] local_config['FHOUT_GFS'] = config['FHOUT_GFS'] - local_config['FHOUT'] = config['FHOUT_WAV'] + local_config['FHOUT'] = config['FHOUT'] fhmin = local_config['FHMIN'] From 0985bdca67be3d44e86dccefa152fc52e906fea8 Mon Sep 17 00:00:00 2001 From: AntonMFernando Date: Sun, 17 Nov 2024 21:14:49 -0500 Subject: [PATCH 057/100] modified tasks.py --- workflow/rocoto/tasks.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/workflow/rocoto/tasks.py b/workflow/rocoto/tasks.py index daf3b0317f..adc69b182b 100644 --- a/workflow/rocoto/tasks.py +++ b/workflow/rocoto/tasks.py @@ -153,6 +153,10 @@ def _get_forecast_hours(run, config, component='atmos') -> List[str]: local_config['FHOUT_HF_GFS'] = config['FHOUT_HF_GFS'] local_config['FHOUT_GFS'] = config['FHOUT_GFS'] local_config['FHOUT'] = config['FHOUT'] + local_config['FHMAX_GFS'] = config['FHMAX_GFS'] + local_config['FHOUT_GFS'] = config['FHOUT_GFS'] + local_config['FHMAX_HF_GFS'] = config['FHMAX_HF_GFS'] + local_config['FHOUT_HF_GFS'] = config['FHOUT_HF_GFS'] fhmin = local_config['FHMIN'] From 5ff370fab4c6ce57d4fe9c75eb4adc3c8ea26069 Mon Sep 17 00:00:00 2001 From: AntonMFernando Date: Sun, 17 Nov 2024 22:58:14 -0500 Subject: [PATCH 058/100] modified tasks.py --- workflow/rocoto/tasks.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflow/rocoto/tasks.py b/workflow/rocoto/tasks.py index adc69b182b..d04d7ceec0 100644 --- a/workflow/rocoto/tasks.py +++ b/workflow/rocoto/tasks.py @@ -155,7 +155,7 @@ def _get_forecast_hours(run, config, component='atmos') -> List[str]: local_config['FHOUT'] = config['FHOUT'] local_config['FHMAX_GFS'] = config['FHMAX_GFS'] local_config['FHOUT_GFS'] = config['FHOUT_GFS'] - local_config['FHMAX_HF_GFS'] = config['FHMAX_HF_GFS'] + local_config['FHMAX_HF_GFS'] = config['FHMAX_GFS'] local_config['FHOUT_HF_GFS'] = config['FHOUT_HF_GFS'] fhmin = local_config['FHMIN'] From 9cb01acd6d531a8151eeb81c3acac2252fe56105 Mon Sep 17 00:00:00 2001 From: AntonMFernando Date: Sun, 17 Nov 2024 23:16:12 -0500 Subject: [PATCH 059/100] modified tasks.py --- workflow/rocoto/tasks.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/workflow/rocoto/tasks.py b/workflow/rocoto/tasks.py index d04d7ceec0..8f822b4a45 100644 --- a/workflow/rocoto/tasks.py +++ b/workflow/rocoto/tasks.py @@ -150,13 +150,13 @@ def _get_forecast_hours(run, config, component='atmos') -> List[str]: local_config['FHOUT'] = config['FHOUT_ICE'] if component in ['wave']: - local_config['FHOUT_HF_GFS'] = config['FHOUT_HF_GFS'] - local_config['FHOUT_GFS'] = config['FHOUT_GFS'] - local_config['FHOUT'] = config['FHOUT'] - local_config['FHMAX_GFS'] = config['FHMAX_GFS'] - local_config['FHOUT_GFS'] = config['FHOUT_GFS'] + #local_config['FHOUT_HF_GFS'] = config['FHOUT_HF_GFS'] + #local_config['FHOUT_GFS'] = config['FHOUT_GFS'] + #local_config['FHOUT'] = config['FHOUT'] + #local_config['FHMAX_GFS'] = config['FHMAX_GFS'] + #local_config['FHOUT_GFS'] = config['FHOUT_GFS'] local_config['FHMAX_HF_GFS'] = config['FHMAX_GFS'] - local_config['FHOUT_HF_GFS'] = config['FHOUT_HF_GFS'] + #local_config['FHOUT_HF_GFS'] = config['FHOUT_HF_GFS'] fhmin = local_config['FHMIN'] From c5c86ba4c2b66dd015460b316dbfb1ebc9571456 Mon Sep 17 00:00:00 2001 From: AntonMFernando Date: Sun, 17 Nov 2024 23:18:19 -0500 Subject: [PATCH 060/100] modified tasks.py --- workflow/rocoto/tasks.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/workflow/rocoto/tasks.py b/workflow/rocoto/tasks.py index 8f822b4a45..4b6833b535 100644 --- a/workflow/rocoto/tasks.py +++ b/workflow/rocoto/tasks.py @@ -150,13 +150,13 @@ def _get_forecast_hours(run, config, component='atmos') -> List[str]: local_config['FHOUT'] = config['FHOUT_ICE'] if component in ['wave']: - #local_config['FHOUT_HF_GFS'] = config['FHOUT_HF_GFS'] - #local_config['FHOUT_GFS'] = config['FHOUT_GFS'] - #local_config['FHOUT'] = config['FHOUT'] - #local_config['FHMAX_GFS'] = config['FHMAX_GFS'] - #local_config['FHOUT_GFS'] = config['FHOUT_GFS'] +# local_config['FHOUT_HF_GFS'] = config['FHOUT_HF_GFS'] +# local_config['FHOUT_GFS'] = config['FHOUT_GFS'] +# local_config['FHOUT'] = config['FHOUT'] +# local_config['FHMAX_GFS'] = config['FHMAX_GFS'] +# local_config['FHOUT_GFS'] = config['FHOUT_GFS'] local_config['FHMAX_HF_GFS'] = config['FHMAX_GFS'] - #local_config['FHOUT_HF_GFS'] = config['FHOUT_HF_GFS'] +# local_config['FHOUT_HF_GFS'] = config['FHOUT_HF_GFS'] fhmin = local_config['FHMIN'] From 44f7c83f3130c58ce42cc320262d608293421760 Mon Sep 17 00:00:00 2001 From: AntonMFernando Date: Sun, 17 Nov 2024 23:20:35 -0500 Subject: [PATCH 061/100] modified tasks.py --- workflow/rocoto/tasks.py | 6 ------ 1 file changed, 6 deletions(-) diff --git a/workflow/rocoto/tasks.py b/workflow/rocoto/tasks.py index 4b6833b535..7b86b2099c 100644 --- a/workflow/rocoto/tasks.py +++ b/workflow/rocoto/tasks.py @@ -150,13 +150,7 @@ def _get_forecast_hours(run, config, component='atmos') -> List[str]: local_config['FHOUT'] = config['FHOUT_ICE'] if component in ['wave']: -# local_config['FHOUT_HF_GFS'] = config['FHOUT_HF_GFS'] -# local_config['FHOUT_GFS'] = config['FHOUT_GFS'] -# local_config['FHOUT'] = config['FHOUT'] -# local_config['FHMAX_GFS'] = config['FHMAX_GFS'] -# local_config['FHOUT_GFS'] = config['FHOUT_GFS'] local_config['FHMAX_HF_GFS'] = config['FHMAX_GFS'] -# local_config['FHOUT_HF_GFS'] = config['FHOUT_HF_GFS'] fhmin = local_config['FHMIN'] From b417419cd8ca4eac48dd81db09ffbfb3760e35a0 Mon Sep 17 00:00:00 2001 From: AntonMFernando Date: Sun, 17 Nov 2024 23:23:01 -0500 Subject: [PATCH 062/100] modifed tasks.py --- workflow/rocoto/tasks.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflow/rocoto/tasks.py b/workflow/rocoto/tasks.py index 7b86b2099c..cc3333c95f 100644 --- a/workflow/rocoto/tasks.py +++ b/workflow/rocoto/tasks.py @@ -136,7 +136,7 @@ def _get_forecast_hours(run, config, component='atmos') -> List[str]: # Make a local copy of the config to avoid modifying the original local_config = config.copy() # Ocean/Ice components do not have a HF output option like the atmosphere - if component in ['ocean', 'ice', 'wave']: + if component in ['ocean', 'ice']: local_config['FHMAX_HF_GFS'] = 0 if component in ['ocean']: From 413da2353cfcdfe30b87bda64d055c3fba90933a Mon Sep 17 00:00:00 2001 From: AntonMFernando Date: Mon, 18 Nov 2024 00:17:22 -0500 Subject: [PATCH 063/100] modified tasks.py --- workflow/rocoto/tasks.py | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/workflow/rocoto/tasks.py b/workflow/rocoto/tasks.py index cc3333c95f..687fa11aa4 100644 --- a/workflow/rocoto/tasks.py +++ b/workflow/rocoto/tasks.py @@ -136,7 +136,7 @@ def _get_forecast_hours(run, config, component='atmos') -> List[str]: # Make a local copy of the config to avoid modifying the original local_config = config.copy() # Ocean/Ice components do not have a HF output option like the atmosphere - if component in ['ocean', 'ice']: + if component in ['ocean', 'ice', 'wave']: local_config['FHMAX_HF_GFS'] = 0 if component in ['ocean']: @@ -149,9 +149,6 @@ def _get_forecast_hours(run, config, component='atmos') -> List[str]: local_config['FHOUT_GFS'] = config['FHOUT_ICE_GFS'] local_config['FHOUT'] = config['FHOUT_ICE'] - if component in ['wave']: - local_config['FHMAX_HF_GFS'] = config['FHMAX_GFS'] - fhmin = local_config['FHMIN'] # Get a list of all forecast hours From b8506c09d54bb72d2677f78f1ab2291ef674a22d Mon Sep 17 00:00:00 2001 From: AntonMFernando Date: Mon, 18 Nov 2024 01:20:44 -0500 Subject: [PATCH 064/100] modified tasks.py --- workflow/rocoto/tasks.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/workflow/rocoto/tasks.py b/workflow/rocoto/tasks.py index 687fa11aa4..a2a3a6881b 100644 --- a/workflow/rocoto/tasks.py +++ b/workflow/rocoto/tasks.py @@ -149,6 +149,11 @@ def _get_forecast_hours(run, config, component='atmos') -> List[str]: local_config['FHOUT_GFS'] = config['FHOUT_ICE_GFS'] local_config['FHOUT'] = config['FHOUT_ICE'] + if component in ['wave']: + local_config['FHOUT_HF_GFS'] = config['FHOUT_HF_WAV'] + local_config['FHOUT_GFS'] = config['FHOUT_WAV'] + local_config['FHOUT'] = config['FHOUT_WAVE'] + fhmin = local_config['FHMIN'] # Get a list of all forecast hours From da1aae220c16485c4cd8a7fc40d88e4a24452851 Mon Sep 17 00:00:00 2001 From: AntonMFernando Date: Mon, 18 Nov 2024 02:21:35 -0500 Subject: [PATCH 065/100] modified tasks.py --- workflow/rocoto/tasks.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflow/rocoto/tasks.py b/workflow/rocoto/tasks.py index a2a3a6881b..854b9a8858 100644 --- a/workflow/rocoto/tasks.py +++ b/workflow/rocoto/tasks.py @@ -151,7 +151,7 @@ def _get_forecast_hours(run, config, component='atmos') -> List[str]: if component in ['wave']: local_config['FHOUT_HF_GFS'] = config['FHOUT_HF_WAV'] - local_config['FHOUT_GFS'] = config['FHOUT_WAV'] + local_config['FHOUT_GFS'] = config['FHOUT_HF_WAV'] local_config['FHOUT'] = config['FHOUT_WAVE'] fhmin = local_config['FHMIN'] From aa8ff135f175312b0b71b3ba9201c9b58cf56469 Mon Sep 17 00:00:00 2001 From: AntonMFernando Date: Mon, 18 Nov 2024 02:24:37 -0500 Subject: [PATCH 066/100] typo --- workflow/rocoto/tasks.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflow/rocoto/tasks.py b/workflow/rocoto/tasks.py index 854b9a8858..c7c3401034 100644 --- a/workflow/rocoto/tasks.py +++ b/workflow/rocoto/tasks.py @@ -152,7 +152,7 @@ def _get_forecast_hours(run, config, component='atmos') -> List[str]: if component in ['wave']: local_config['FHOUT_HF_GFS'] = config['FHOUT_HF_WAV'] local_config['FHOUT_GFS'] = config['FHOUT_HF_WAV'] - local_config['FHOUT'] = config['FHOUT_WAVE'] + local_config['FHOUT'] = config['FHOUT_WAV'] fhmin = local_config['FHMIN'] From a75b23a3da4ac2a391bad4408205da9b3a9a3359 Mon Sep 17 00:00:00 2001 From: AntonMFernando Date: Mon, 18 Nov 2024 14:11:38 -0500 Subject: [PATCH 067/100] modified gefs_tasks.py --- workflow/rocoto/gefs_tasks.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/workflow/rocoto/gefs_tasks.py b/workflow/rocoto/gefs_tasks.py index 037fb4f8c3..98209ea139 100644 --- a/workflow/rocoto/gefs_tasks.py +++ b/workflow/rocoto/gefs_tasks.py @@ -343,8 +343,10 @@ def wavepostsbs(self): fhrs = self._get_forecast_hours('gefs', self._configs['wavepostsbs'], 'wave') is_replay = self._configs['wavepostsbs']['REPLAY_ICS'] - if is_replay and 0 in fhrs: - fhrs.remove(0) + if is_replay: + for hour in [0, 1, 2]: + if hour in fhrs: + fhrs.remove(hour) fhr_var_dict = {'fhr': ' '.join([f"{fhr:03d}" for fhr in fhrs])} From bcc6d28cc0fe4d5dddc5d71cdf2ea8ec6b36d779 Mon Sep 17 00:00:00 2001 From: AntonMFernando Date: Tue, 19 Nov 2024 11:21:46 -0500 Subject: [PATCH 068/100] modified scripts\exgfs_wave_post_gridded_sbs.sh --- scripts/exgfs_wave_post_gridded_sbs.sh | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/scripts/exgfs_wave_post_gridded_sbs.sh b/scripts/exgfs_wave_post_gridded_sbs.sh index 6849116ade..8db4ebaf80 100755 --- a/scripts/exgfs_wave_post_gridded_sbs.sh +++ b/scripts/exgfs_wave_post_gridded_sbs.sh @@ -34,7 +34,6 @@ source "${USHgfs}/preamble.sh" -export FORECAST_HOUR=$(( 10#${FHR3} )) # 0.a Basic modes of operation # Set wave model ID tag to include member number @@ -218,7 +217,7 @@ export FORECAST_HOUR=$(( 10#${FHR3} )) set +x echo ' Making command file for sbs grib2 and GRID Interpolation ' set_trace - fhr=$FORECAST_HOUR + fhr=$(( 10#${FHR3} )) fhrg=$fhr sleep_interval=10 iwaitmax=120 # Maximum loop cycles for waiting until wave component output file is ready (fails after max) @@ -247,12 +246,10 @@ export FORECAST_HOUR=$(( 10#${FHR3} )) then for wavGRD in ${waveGRD}; do gfile="${COMIN_WAVE_HISTORY}/${WAV_MOD_TAG}.out_grd.${wavGRD}.${YMD}.${HMS}" - if ! wait_for_file "${gfile}" "${sleep_interval}" "${iwaitmax}"; then - echo " FATAL ERROR : NO RAW FIELD OUTPUT FILE out_grd.${grdID}" - echo "${WAV_MOD_TAG} post ${grdID} ${PDY} ${cycle} : field output missing." + if [[ -s "${gfile}" ]]; then + echo " FATAL ERROR : NO RAW FIELD OUTPUT FILE ${gfile}" err=3; export err; "${errchk}" exit "${err}" - fi ${NLN} "${gfile}" "./out_grd.${wavGRD}" done From eae8c31114cfedbf2c21895ef5658de6257c5338 Mon Sep 17 00:00:00 2001 From: AntonMFernando Date: Tue, 19 Nov 2024 11:26:56 -0500 Subject: [PATCH 069/100] modified scripts\exgfs_wave_post_gridded_sbs.sh --- scripts/exgfs_wave_post_gridded_sbs.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/scripts/exgfs_wave_post_gridded_sbs.sh b/scripts/exgfs_wave_post_gridded_sbs.sh index 8db4ebaf80..c88ad55b16 100755 --- a/scripts/exgfs_wave_post_gridded_sbs.sh +++ b/scripts/exgfs_wave_post_gridded_sbs.sh @@ -250,6 +250,7 @@ source "${USHgfs}/preamble.sh" echo " FATAL ERROR : NO RAW FIELD OUTPUT FILE ${gfile}" err=3; export err; "${errchk}" exit "${err}" + fi ${NLN} "${gfile}" "./out_grd.${wavGRD}" done From d5275b18895c6061dc1acdec898bcb6a59ef0e7f Mon Sep 17 00:00:00 2001 From: AntonMFernando Date: Tue, 19 Nov 2024 11:33:14 -0500 Subject: [PATCH 070/100] modified scripts\exgfs_wave_post_gridded_sbs.sh --- scripts/exgfs_wave_post_gridded_sbs.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/scripts/exgfs_wave_post_gridded_sbs.sh b/scripts/exgfs_wave_post_gridded_sbs.sh index c88ad55b16..49ee4ab7c4 100755 --- a/scripts/exgfs_wave_post_gridded_sbs.sh +++ b/scripts/exgfs_wave_post_gridded_sbs.sh @@ -219,7 +219,6 @@ source "${USHgfs}/preamble.sh" set_trace fhr=$(( 10#${FHR3} )) fhrg=$fhr - sleep_interval=10 iwaitmax=120 # Maximum loop cycles for waiting until wave component output file is ready (fails after max) ymdh=$($NDATE $fhr ${PDY}${cyc}) From 47e3244a25177e0c8b68bea61d5c34c9019d7384 Mon Sep 17 00:00:00 2001 From: AntonMFernando Date: Tue, 19 Nov 2024 11:34:25 -0500 Subject: [PATCH 071/100] modified scripts\exgfs_wave_post_gridded_sbs.sh --- scripts/exgfs_wave_post_gridded_sbs.sh | 2 -- 1 file changed, 2 deletions(-) diff --git a/scripts/exgfs_wave_post_gridded_sbs.sh b/scripts/exgfs_wave_post_gridded_sbs.sh index 49ee4ab7c4..7f84f66ff0 100755 --- a/scripts/exgfs_wave_post_gridded_sbs.sh +++ b/scripts/exgfs_wave_post_gridded_sbs.sh @@ -219,8 +219,6 @@ source "${USHgfs}/preamble.sh" set_trace fhr=$(( 10#${FHR3} )) fhrg=$fhr - iwaitmax=120 # Maximum loop cycles for waiting until wave component output file is ready (fails after max) - ymdh=$($NDATE $fhr ${PDY}${cyc}) YMD=$(echo $ymdh | cut -c1-8) HMS="$(echo $ymdh | cut -c9-10)0000" From 330045289267b32e93bca27963e44c6aa785574c Mon Sep 17 00:00:00 2001 From: AntonMFernando Date: Tue, 19 Nov 2024 15:54:26 -0500 Subject: [PATCH 072/100] modified tasks.py and config.base --- parm/config/gfs/config.base | 2 +- workflow/rocoto/tasks.py | 12 +++++++++--- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/parm/config/gfs/config.base b/parm/config/gfs/config.base index 4f702f9668..f48838de49 100644 --- a/parm/config/gfs/config.base +++ b/parm/config/gfs/config.base @@ -299,7 +299,7 @@ export FHOUT_OCN_GFS=6 export FHOUT_ICE_GFS=6 export FHMIN_WAV=0 export FHOUT_WAV=3 -export FHMAX_HF_WAV=120 +export FHMAX_HF_WAV=60 export FHOUT_HF_WAV=1 export FHMAX_WAV=${FHMAX:-9} export FHMAX_WAV_GFS=${FHMAX_GFS} diff --git a/workflow/rocoto/tasks.py b/workflow/rocoto/tasks.py index c7c3401034..7f700c27e1 100644 --- a/workflow/rocoto/tasks.py +++ b/workflow/rocoto/tasks.py @@ -136,7 +136,7 @@ def _get_forecast_hours(run, config, component='atmos') -> List[str]: # Make a local copy of the config to avoid modifying the original local_config = config.copy() # Ocean/Ice components do not have a HF output option like the atmosphere - if component in ['ocean', 'ice', 'wave']: + if component in ['ocean', 'ice']: local_config['FHMAX_HF_GFS'] = 0 if component in ['ocean']: @@ -151,7 +151,7 @@ def _get_forecast_hours(run, config, component='atmos') -> List[str]: if component in ['wave']: local_config['FHOUT_HF_GFS'] = config['FHOUT_HF_WAV'] - local_config['FHOUT_GFS'] = config['FHOUT_HF_WAV'] + local_config['FHOUT_GFS'] = config['FHOUT_WAV'] local_config['FHOUT'] = config['FHOUT_WAV'] fhmin = local_config['FHMIN'] @@ -165,8 +165,14 @@ def _get_forecast_hours(run, config, component='atmos') -> List[str]: elif run in ['gfs', 'gefs']: fhmax = local_config['FHMAX_GFS'] fhout = local_config['FHOUT_GFS'] - fhmax_hf = local_config['FHMAX_HF_GFS'] fhout_hf = local_config['FHOUT_HF_GFS'] + + if component in ['ocean', 'ice']: + fhmax_hf = local_config['FHMAX_HF_GFS'] + + if component in ['wave']: + fhmax_hf = local_config['FHMAX_HF_WAV'] + fhrs_hf = range(fhmin, fhmax_hf + fhout_hf, fhout_hf) fhrs = list(fhrs_hf) + list(range(fhrs_hf[-1] + fhout, fhmax + fhout, fhout)) From 761530c55348a45624ba08c67c138300e68be7e7 Mon Sep 17 00:00:00 2001 From: AntonMFernando-NOAA <167725623+AntonMFernando-NOAA@users.noreply.github.com> Date: Tue, 19 Nov 2024 16:01:33 -0500 Subject: [PATCH 073/100] Update workflow/rocoto/gefs_tasks.py Co-authored-by: Walter Kolczynski - NOAA --- workflow/rocoto/gefs_tasks.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflow/rocoto/gefs_tasks.py b/workflow/rocoto/gefs_tasks.py index 98209ea139..fc2475eed7 100644 --- a/workflow/rocoto/gefs_tasks.py +++ b/workflow/rocoto/gefs_tasks.py @@ -486,7 +486,7 @@ def wavepostpnt(self): def extractvars(self): deps = [] if self.app_config.do_wave: - dep_dict = {'type': 'metatask', 'name': 'gefs_wave_post_grid_#member#'} + dep_dict = {'type': 'metatask', 'name': 'gefs_wave_post_grid_mem#member#'} deps.append(rocoto.add_dependency(dep_dict)) if self.app_config.do_ocean: dep_dict = {'type': 'metatask', 'name': 'gefs_ocean_prod_#member#'} From 7678e7cc8493e600455cf2b4509063237ec80c78 Mon Sep 17 00:00:00 2001 From: AntonMFernando Date: Tue, 19 Nov 2024 16:04:34 -0500 Subject: [PATCH 074/100] updated tasks.py --- workflow/rocoto/tasks.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflow/rocoto/tasks.py b/workflow/rocoto/tasks.py index 7f700c27e1..8d200e9cf7 100644 --- a/workflow/rocoto/tasks.py +++ b/workflow/rocoto/tasks.py @@ -172,7 +172,7 @@ def _get_forecast_hours(run, config, component='atmos') -> List[str]: if component in ['wave']: fhmax_hf = local_config['FHMAX_HF_WAV'] - + fhrs_hf = range(fhmin, fhmax_hf + fhout_hf, fhout_hf) fhrs = list(fhrs_hf) + list(range(fhrs_hf[-1] + fhout, fhmax + fhout, fhout)) From 964d52f8ab862485fe95f759e87a1051647934a2 Mon Sep 17 00:00:00 2001 From: AntonMFernando Date: Tue, 19 Nov 2024 16:10:48 -0500 Subject: [PATCH 075/100] modified gefs_tasks.py --- workflow/rocoto/gefs_tasks.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflow/rocoto/gefs_tasks.py b/workflow/rocoto/gefs_tasks.py index fc2475eed7..98209ea139 100644 --- a/workflow/rocoto/gefs_tasks.py +++ b/workflow/rocoto/gefs_tasks.py @@ -486,7 +486,7 @@ def wavepostpnt(self): def extractvars(self): deps = [] if self.app_config.do_wave: - dep_dict = {'type': 'metatask', 'name': 'gefs_wave_post_grid_mem#member#'} + dep_dict = {'type': 'metatask', 'name': 'gefs_wave_post_grid_#member#'} deps.append(rocoto.add_dependency(dep_dict)) if self.app_config.do_ocean: dep_dict = {'type': 'metatask', 'name': 'gefs_ocean_prod_#member#'} From aac2bb656da83349dcdbd4683d85162ad5cfbb00 Mon Sep 17 00:00:00 2001 From: AntonMFernando Date: Tue, 19 Nov 2024 16:18:07 -0500 Subject: [PATCH 076/100] modified tasks.py --- workflow/rocoto/tasks.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/workflow/rocoto/tasks.py b/workflow/rocoto/tasks.py index 8d200e9cf7..4e4f074559 100644 --- a/workflow/rocoto/tasks.py +++ b/workflow/rocoto/tasks.py @@ -168,10 +168,10 @@ def _get_forecast_hours(run, config, component='atmos') -> List[str]: fhout_hf = local_config['FHOUT_HF_GFS'] if component in ['ocean', 'ice']: - fhmax_hf = local_config['FHMAX_HF_GFS'] + fhmax_hf = config['FHMAX_HF_GFS'] if component in ['wave']: - fhmax_hf = local_config['FHMAX_HF_WAV'] + fhmax_hf = config['FHMAX_HF_WAV'] fhrs_hf = range(fhmin, fhmax_hf + fhout_hf, fhout_hf) fhrs = list(fhrs_hf) + list(range(fhrs_hf[-1] + fhout, fhmax + fhout, fhout)) From 1d4826148ed2f380887e209558b28ffd46158139 Mon Sep 17 00:00:00 2001 From: AntonMFernando Date: Tue, 19 Nov 2024 16:25:05 -0500 Subject: [PATCH 077/100] modified tasks.py --- workflow/rocoto/tasks.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/workflow/rocoto/tasks.py b/workflow/rocoto/tasks.py index 4e4f074559..4225948000 100644 --- a/workflow/rocoto/tasks.py +++ b/workflow/rocoto/tasks.py @@ -154,6 +154,7 @@ def _get_forecast_hours(run, config, component='atmos') -> List[str]: local_config['FHOUT_GFS'] = config['FHOUT_WAV'] local_config['FHOUT'] = config['FHOUT_WAV'] + fhmin = local_config['FHMIN'] # Get a list of all forecast hours @@ -166,12 +167,10 @@ def _get_forecast_hours(run, config, component='atmos') -> List[str]: fhmax = local_config['FHMAX_GFS'] fhout = local_config['FHOUT_GFS'] fhout_hf = local_config['FHOUT_HF_GFS'] - - if component in ['ocean', 'ice']: - fhmax_hf = config['FHMAX_HF_GFS'] + fhmax_hf = local_config['FHMAX_HF_GFS'] if component in ['wave']: - fhmax_hf = config['FHMAX_HF_WAV'] + fhmax_hf = local_config['FHMAX_HF_WAV'] fhrs_hf = range(fhmin, fhmax_hf + fhout_hf, fhout_hf) fhrs = list(fhrs_hf) + list(range(fhrs_hf[-1] + fhout, fhmax + fhout, fhout)) From 628eac7dd389fb49e7a919fad7f75ada32c16f68 Mon Sep 17 00:00:00 2001 From: AntonMFernando Date: Tue, 19 Nov 2024 16:28:10 -0500 Subject: [PATCH 078/100] modified tasks.py --- workflow/rocoto/tasks.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/workflow/rocoto/tasks.py b/workflow/rocoto/tasks.py index 4225948000..333ec0c69f 100644 --- a/workflow/rocoto/tasks.py +++ b/workflow/rocoto/tasks.py @@ -154,7 +154,6 @@ def _get_forecast_hours(run, config, component='atmos') -> List[str]: local_config['FHOUT_GFS'] = config['FHOUT_WAV'] local_config['FHOUT'] = config['FHOUT_WAV'] - fhmin = local_config['FHMIN'] # Get a list of all forecast hours @@ -171,7 +170,6 @@ def _get_forecast_hours(run, config, component='atmos') -> List[str]: if component in ['wave']: fhmax_hf = local_config['FHMAX_HF_WAV'] - fhrs_hf = range(fhmin, fhmax_hf + fhout_hf, fhout_hf) fhrs = list(fhrs_hf) + list(range(fhrs_hf[-1] + fhout, fhmax + fhout, fhout)) From 5cb4cc6a5b54cd7be8ffae914bc76495f7a1a520 Mon Sep 17 00:00:00 2001 From: AntonMFernando Date: Tue, 19 Nov 2024 16:38:10 -0500 Subject: [PATCH 079/100] updaed config.base --- parm/config/gefs/config.base | 2 +- parm/config/gfs/config.base | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/parm/config/gefs/config.base b/parm/config/gefs/config.base index 13f286c494..275bf059d6 100644 --- a/parm/config/gefs/config.base +++ b/parm/config/gefs/config.base @@ -252,7 +252,7 @@ export FHOUT_OCN_GFS=@FHOUT_OCN_GFS@ export FHOUT_ICE_GFS=@FHOUT_ICE_GFS@ export FHMIN_WAV=${OFFSET_START_HOUR:-0} export FHOUT_WAV=3 -export FHMAX_HF_WAV=120 +export FHMAX_HF_WAV=60 export FHOUT_HF_WAV=1 export FHMAX_WAV=${FHMAX_GFS} export ILPOST=1 # gempak output frequency up to F120 diff --git a/parm/config/gfs/config.base b/parm/config/gfs/config.base index f48838de49..4f702f9668 100644 --- a/parm/config/gfs/config.base +++ b/parm/config/gfs/config.base @@ -299,7 +299,7 @@ export FHOUT_OCN_GFS=6 export FHOUT_ICE_GFS=6 export FHMIN_WAV=0 export FHOUT_WAV=3 -export FHMAX_HF_WAV=60 +export FHMAX_HF_WAV=120 export FHOUT_HF_WAV=1 export FHMAX_WAV=${FHMAX:-9} export FHMAX_WAV_GFS=${FHMAX_GFS} From 8ddc19d14f12bc951a5f55f88913579555125523 Mon Sep 17 00:00:00 2001 From: AntonMFernando Date: Tue, 19 Nov 2024 22:29:00 -0500 Subject: [PATCH 080/100] modified scripts\exgfs_wave_post_gridded_sbs.sh --- scripts/exgfs_wave_post_gridded_sbs.sh | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/scripts/exgfs_wave_post_gridded_sbs.sh b/scripts/exgfs_wave_post_gridded_sbs.sh index 7f84f66ff0..e279f2ebd6 100755 --- a/scripts/exgfs_wave_post_gridded_sbs.sh +++ b/scripts/exgfs_wave_post_gridded_sbs.sh @@ -219,6 +219,8 @@ source "${USHgfs}/preamble.sh" set_trace fhr=$(( 10#${FHR3} )) fhrg=$fhr + sleep_interval=10 + iwaitmax=120 # Maximum loop cycles for waiting until wave component output file is ready (fails after max) ymdh=$($NDATE $fhr ${PDY}${cyc}) YMD=$(echo $ymdh | cut -c1-8) HMS="$(echo $ymdh | cut -c9-10)0000" @@ -243,11 +245,12 @@ source "${USHgfs}/preamble.sh" then for wavGRD in ${waveGRD}; do gfile="${COMIN_WAVE_HISTORY}/${WAV_MOD_TAG}.out_grd.${wavGRD}.${YMD}.${HMS}" - if [[ -s "${gfile}" ]]; then - echo " FATAL ERROR : NO RAW FIELD OUTPUT FILE ${gfile}" - err=3; export err; "${errchk}" - exit "${err}" - fi + if ! wait_for_file "${gfile}" "${sleep_interval}" "${iwaitmax}"; then + echo " FATAL ERROR : NO RAW FIELD OUTPUT FILE out_grd.${grdID}" + echo "${WAV_MOD_TAG} post ${grdID} ${PDY} ${cycle} : field output missing." + err=3; export err; "${errchk}" + exit "${err}" + fi ${NLN} "${gfile}" "./out_grd.${wavGRD}" done From 8f2dcd3961fb88422604c565656831fc5ed36f8c Mon Sep 17 00:00:00 2001 From: AntonMFernando Date: Wed, 20 Nov 2024 10:35:44 -0500 Subject: [PATCH 081/100] modified config.base --- parm/config/gefs/config.base | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/parm/config/gefs/config.base b/parm/config/gefs/config.base index 275bf059d6..13f286c494 100644 --- a/parm/config/gefs/config.base +++ b/parm/config/gefs/config.base @@ -252,7 +252,7 @@ export FHOUT_OCN_GFS=@FHOUT_OCN_GFS@ export FHOUT_ICE_GFS=@FHOUT_ICE_GFS@ export FHMIN_WAV=${OFFSET_START_HOUR:-0} export FHOUT_WAV=3 -export FHMAX_HF_WAV=60 +export FHMAX_HF_WAV=120 export FHOUT_HF_WAV=1 export FHMAX_WAV=${FHMAX_GFS} export ILPOST=1 # gempak output frequency up to F120 From fdeefb785714038824368a78cc4eccac0bb54ea9 Mon Sep 17 00:00:00 2001 From: AntonMFernando Date: Wed, 20 Nov 2024 10:51:45 -0500 Subject: [PATCH 082/100] modified tasks.py --- workflow/rocoto/gefs_tasks.py | 4 +--- workflow/rocoto/tasks.py | 5 ++--- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/workflow/rocoto/gefs_tasks.py b/workflow/rocoto/gefs_tasks.py index 98209ea139..38218950e2 100644 --- a/workflow/rocoto/gefs_tasks.py +++ b/workflow/rocoto/gefs_tasks.py @@ -344,9 +344,7 @@ def wavepostsbs(self): is_replay = self._configs['wavepostsbs']['REPLAY_ICS'] if is_replay: - for hour in [0, 1, 2]: - if hour in fhrs: - fhrs.remove(hour) + fhrs = [ fhr for fhr in fhrs if fhr not in [0, 1, 2] ] fhr_var_dict = {'fhr': ' '.join([f"{fhr:03d}" for fhr in fhrs])} diff --git a/workflow/rocoto/tasks.py b/workflow/rocoto/tasks.py index 333ec0c69f..e4255bc017 100644 --- a/workflow/rocoto/tasks.py +++ b/workflow/rocoto/tasks.py @@ -151,8 +151,10 @@ def _get_forecast_hours(run, config, component='atmos') -> List[str]: if component in ['wave']: local_config['FHOUT_HF_GFS'] = config['FHOUT_HF_WAV'] + local_config['FHMAX_HF_GFS'] = config['FHMAX_HF_WAV'] local_config['FHOUT_GFS'] = config['FHOUT_WAV'] local_config['FHOUT'] = config['FHOUT_WAV'] + fhmin = local_config['FHMIN'] @@ -167,9 +169,6 @@ def _get_forecast_hours(run, config, component='atmos') -> List[str]: fhout = local_config['FHOUT_GFS'] fhout_hf = local_config['FHOUT_HF_GFS'] fhmax_hf = local_config['FHMAX_HF_GFS'] - - if component in ['wave']: - fhmax_hf = local_config['FHMAX_HF_WAV'] fhrs_hf = range(fhmin, fhmax_hf + fhout_hf, fhout_hf) fhrs = list(fhrs_hf) + list(range(fhrs_hf[-1] + fhout, fhmax + fhout, fhout)) From fb9f754f3a4b1b479dfcc0dd9c34372aebc98680 Mon Sep 17 00:00:00 2001 From: AntonMFernando Date: Wed, 20 Nov 2024 10:56:08 -0500 Subject: [PATCH 083/100] modified gefs_tasks.py --- workflow/rocoto/gefs_tasks.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflow/rocoto/gefs_tasks.py b/workflow/rocoto/gefs_tasks.py index 38218950e2..5d21eb953a 100644 --- a/workflow/rocoto/gefs_tasks.py +++ b/workflow/rocoto/gefs_tasks.py @@ -344,7 +344,7 @@ def wavepostsbs(self): is_replay = self._configs['wavepostsbs']['REPLAY_ICS'] if is_replay: - fhrs = [ fhr for fhr in fhrs if fhr not in [0, 1, 2] ] + fhrs = [fhr for fhr in fhrs if fhr not in [0, 1, 2]] fhr_var_dict = {'fhr': ' '.join([f"{fhr:03d}" for fhr in fhrs])} From 316b06d9989def1523ca46d191641a08831a597c Mon Sep 17 00:00:00 2001 From: AntonMFernando Date: Wed, 20 Nov 2024 10:59:29 -0500 Subject: [PATCH 084/100] modified workflow\rocoto\gefs_tasks.py --- workflow/rocoto/gefs_tasks.py | 1 - 1 file changed, 1 deletion(-) diff --git a/workflow/rocoto/gefs_tasks.py b/workflow/rocoto/gefs_tasks.py index 5d21eb953a..4b95c72845 100644 --- a/workflow/rocoto/gefs_tasks.py +++ b/workflow/rocoto/gefs_tasks.py @@ -341,7 +341,6 @@ def wavepostsbs(self): } fhrs = self._get_forecast_hours('gefs', self._configs['wavepostsbs'], 'wave') - is_replay = self._configs['wavepostsbs']['REPLAY_ICS'] if is_replay: fhrs = [fhr for fhr in fhrs if fhr not in [0, 1, 2]] From 73474951c48819b4e65513a3423133164fb7937c Mon Sep 17 00:00:00 2001 From: AntonMFernando Date: Wed, 20 Nov 2024 11:02:11 -0500 Subject: [PATCH 085/100] cleared typos --- workflow/rocoto/gfs_tasks.py | 1 + workflow/rocoto/tasks.py | 1 - 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/workflow/rocoto/gfs_tasks.py b/workflow/rocoto/gfs_tasks.py index e94208aaef..067e37400e 100644 --- a/workflow/rocoto/gfs_tasks.py +++ b/workflow/rocoto/gfs_tasks.py @@ -1174,6 +1174,7 @@ def _atmosoceaniceprod(self, component: str): fhrs.remove(0) fhr_var_dict = {'fhr': ' '.join([f"{fhr:03d}" for fhr in fhrs])} + if component in ['ocean']: fhrs_next = fhrs[1:] + [fhrs[-1] + (fhrs[-1] - fhrs[-2])] fhr_var_dict['fhr_next'] = ' '.join([f"{fhr:03d}" for fhr in fhrs_next]) diff --git a/workflow/rocoto/tasks.py b/workflow/rocoto/tasks.py index e4255bc017..7d9f8636dc 100644 --- a/workflow/rocoto/tasks.py +++ b/workflow/rocoto/tasks.py @@ -154,7 +154,6 @@ def _get_forecast_hours(run, config, component='atmos') -> List[str]: local_config['FHMAX_HF_GFS'] = config['FHMAX_HF_WAV'] local_config['FHOUT_GFS'] = config['FHOUT_WAV'] local_config['FHOUT'] = config['FHOUT_WAV'] - fhmin = local_config['FHMIN'] From 312fb21ee80a4eb32d25da63e830999b53008d0f Mon Sep 17 00:00:00 2001 From: AntonMFernando Date: Wed, 20 Nov 2024 11:08:52 -0500 Subject: [PATCH 086/100] modified scripts\exgfs_wave_post_gridded_sbs.sh --- scripts/exgfs_wave_post_gridded_sbs.sh | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/scripts/exgfs_wave_post_gridded_sbs.sh b/scripts/exgfs_wave_post_gridded_sbs.sh index e279f2ebd6..2afc9f1309 100755 --- a/scripts/exgfs_wave_post_gridded_sbs.sh +++ b/scripts/exgfs_wave_post_gridded_sbs.sh @@ -219,8 +219,6 @@ source "${USHgfs}/preamble.sh" set_trace fhr=$(( 10#${FHR3} )) fhrg=$fhr - sleep_interval=10 - iwaitmax=120 # Maximum loop cycles for waiting until wave component output file is ready (fails after max) ymdh=$($NDATE $fhr ${PDY}${cyc}) YMD=$(echo $ymdh | cut -c1-8) HMS="$(echo $ymdh | cut -c9-10)0000" @@ -245,9 +243,8 @@ source "${USHgfs}/preamble.sh" then for wavGRD in ${waveGRD}; do gfile="${COMIN_WAVE_HISTORY}/${WAV_MOD_TAG}.out_grd.${wavGRD}.${YMD}.${HMS}" - if ! wait_for_file "${gfile}" "${sleep_interval}" "${iwaitmax}"; then + if [[ ! -s "${gfile}" ]]; then echo " FATAL ERROR : NO RAW FIELD OUTPUT FILE out_grd.${grdID}" - echo "${WAV_MOD_TAG} post ${grdID} ${PDY} ${cycle} : field output missing." err=3; export err; "${errchk}" exit "${err}" fi From 2cfd303ba659d95ddace4d6835d17e0c68d815d9 Mon Sep 17 00:00:00 2001 From: AntonMFernando Date: Wed, 20 Nov 2024 11:09:39 -0500 Subject: [PATCH 087/100] modified scripts\exgfs_wave_post_gridded_sbs.sh --- scripts/exgfs_wave_post_gridded_sbs.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/exgfs_wave_post_gridded_sbs.sh b/scripts/exgfs_wave_post_gridded_sbs.sh index 2afc9f1309..06f7dd6e3a 100755 --- a/scripts/exgfs_wave_post_gridded_sbs.sh +++ b/scripts/exgfs_wave_post_gridded_sbs.sh @@ -244,7 +244,7 @@ source "${USHgfs}/preamble.sh" for wavGRD in ${waveGRD}; do gfile="${COMIN_WAVE_HISTORY}/${WAV_MOD_TAG}.out_grd.${wavGRD}.${YMD}.${HMS}" if [[ ! -s "${gfile}" ]]; then - echo " FATAL ERROR : NO RAW FIELD OUTPUT FILE out_grd.${grdID}" + echo " FATAL ERROR : NO RAW FIELD OUTPUT FILE ${grdID}" err=3; export err; "${errchk}" exit "${err}" fi From 1030007c3446b0ba4e1fa4a205a70d448f584e18 Mon Sep 17 00:00:00 2001 From: AntonMFernando Date: Wed, 20 Nov 2024 11:26:05 -0500 Subject: [PATCH 088/100] modified scripts\exgfs_wave_post_gridded_sbs.sh --- scripts/exgfs_wave_post_gridded_sbs.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/exgfs_wave_post_gridded_sbs.sh b/scripts/exgfs_wave_post_gridded_sbs.sh index 06f7dd6e3a..ac01e8eb31 100755 --- a/scripts/exgfs_wave_post_gridded_sbs.sh +++ b/scripts/exgfs_wave_post_gridded_sbs.sh @@ -244,7 +244,7 @@ source "${USHgfs}/preamble.sh" for wavGRD in ${waveGRD}; do gfile="${COMIN_WAVE_HISTORY}/${WAV_MOD_TAG}.out_grd.${wavGRD}.${YMD}.${HMS}" if [[ ! -s "${gfile}" ]]; then - echo " FATAL ERROR : NO RAW FIELD OUTPUT FILE ${grdID}" + echo " FATAL ERROR : NO RAW FIELD OUTPUT FILE ${gfile}" err=3; export err; "${errchk}" exit "${err}" fi From df5fbd02c742a3a427625aa090c155b8109e4ba6 Mon Sep 17 00:00:00 2001 From: "Anton.Fernando" Date: Thu, 21 Nov 2024 15:09:19 -0500 Subject: [PATCH 089/100] updated scripts\exgfs_wave_post_gridded_sbs.sh --- scripts/exgfs_wave_post_gridded_sbs.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/exgfs_wave_post_gridded_sbs.sh b/scripts/exgfs_wave_post_gridded_sbs.sh index ac01e8eb31..a241a00d88 100755 --- a/scripts/exgfs_wave_post_gridded_sbs.sh +++ b/scripts/exgfs_wave_post_gridded_sbs.sh @@ -301,7 +301,7 @@ source "${USHgfs}/preamble.sh" reg025) GRDNAME='global' ; GRDRES=0p25 ; GRIDNR=255 ; MODNR=11 ;; glo_025) GRDNAME='global' ; GRDRES=0p25 ; GRIDNR=255 ; MODNR=11 ;; glo_100) GRDNAME='global' ; GRDRES=1p00 ; GRIDNR=255 ; MODNR=11 ;; - glo_200) GRDNAME='global' ; GRDRES=2p00 ; GRIDNR=255 ; MODNR=11 ;; + glo_200) GRDNAME='global' ; GRDRES=2p00 ; GRIDNR=255 ; MODNR=11 ;; glo_500) GRDNAME='global' ; GRDRES=5p00 ; GRIDNR=255 ; MODNR=11 ;; gwes_30m) GRDNAME='global' ; GRDRES=0p50 ; GRIDNR=255 ; MODNR=10 ;; esac From 56f111199ca8c585b862a09044b2dacc0bd80df3 Mon Sep 17 00:00:00 2001 From: "Anton.Fernando" Date: Fri, 22 Nov 2024 13:33:46 -0500 Subject: [PATCH 090/100] modified config.base for gefs and gfs --- parm/config/gefs/config.base | 6 ++++-- parm/config/gfs/config.base | 7 ++++--- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/parm/config/gefs/config.base b/parm/config/gefs/config.base index bf34504f09..1afee82fda 100644 --- a/parm/config/gefs/config.base +++ b/parm/config/gefs/config.base @@ -240,15 +240,17 @@ breakpnts="@FCST_BREAKPOINTS@" export FCST_SEGMENTS="${FHMIN_GFS},${breakpnts:+${breakpnts},}${FHMAX_GFS}" export FHOUT_GFS=@FHOUT_GFS@ -export FHMAX_HF_GFS=@FHMAX_HF_GFS@ export FHOUT_HF_GFS=@FHOUT_HF_GFS@ export FHOUT_OCN_GFS=@FHOUT_OCN_GFS@ export FHOUT_ICE_GFS=@FHOUT_ICE_GFS@ export FHMIN_WAV=${OFFSET_START_HOUR:-0} export FHOUT_WAV=3 -export FHMAX_HF_WAV=120 export FHOUT_HF_WAV=1 +export FHMAX_HF_WAV=120 export FHMAX_WAV=${FHMAX_GFS} +export FHMAX_HF_GFS=$(( FHMAX_HF_GFS > FHMAX_GFS ? FHMAX_GFS : FHMAX_HF_GFS )) +export FHMAX_WAV_GFS=$(( FHMAX_WAV > FHMAX_GFS ? FHMAX_GFS : FHMAX_WAV )) +export FHMAX_HF_WAV=$(( FHMAX_HF_WAV > FHMAX_WAV_GFS ? FHMAX_WAV_GFS : FHMAX_HF_WAV )) export ILPOST=1 # gempak output frequency up to F120 export FHMIN_ENKF=${FHMIN_GFS} diff --git a/parm/config/gfs/config.base b/parm/config/gfs/config.base index b0d4fbf42a..8ab222168b 100644 --- a/parm/config/gfs/config.base +++ b/parm/config/gfs/config.base @@ -288,7 +288,6 @@ export FHMAX_GFS="@FHMAX_GFS@" breakpnts="@FCST_BREAKPOINTS@" export FCST_SEGMENTS="${FHMIN_GFS},${breakpnts:+${breakpnts},}${FHMAX_GFS}" export FHOUT_GFS=3 # 3 for ops -export FHMAX_HF_GFS=@FHMAX_HF_GFS@ export FHOUT_HF_GFS=1 export FHOUT_OCN_GFS=6 export FHOUT_ICE_GFS=6 @@ -296,8 +295,10 @@ export FHMIN_WAV=0 export FHOUT_WAV=3 export FHMAX_HF_WAV=120 export FHOUT_HF_WAV=1 -export FHMAX_WAV=${FHMAX:-9} -export FHMAX_WAV_GFS=${FHMAX_GFS} +export FHMAX_HF_GFS=$(( FHMAX_HF_GFS > FHMAX_GFS ? FHMAX_GFS : FHMAX_HF_GFS )) +export FHMAX_WAV=$(( FHMAX_WAV > FHMAX ? FHMAX : FHMAX_WAV )) # You can leave this one out for gefs +export FHMAX_WAV_GFS=$(( FHMAX_WAV > FHMAX_GFS ? FHMAX_GFS : FHMAX_WAV )) +export FHMAX_HF_WAV=$(( FHMAX_HF_WAV > FHMAX_WAV_GFS ? FHMAX_WAV_GFS : FHMAX_HF_WAV )) # TODO: Change gempak to use standard out variables (#2348) export ILPOST=${FHOUT_HF_GFS} # gempak output frequency up to F120 From cc4f97aec6f5f713a5cc0fb5daf4ba96f4446567 Mon Sep 17 00:00:00 2001 From: "Anton.Fernando" Date: Fri, 22 Nov 2024 13:41:14 -0500 Subject: [PATCH 091/100] modified parm\config\gfs\config.base --- parm/config/gfs/config.base | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/parm/config/gfs/config.base b/parm/config/gfs/config.base index 8ab222168b..6ac430d2f7 100644 --- a/parm/config/gfs/config.base +++ b/parm/config/gfs/config.base @@ -296,7 +296,7 @@ export FHOUT_WAV=3 export FHMAX_HF_WAV=120 export FHOUT_HF_WAV=1 export FHMAX_HF_GFS=$(( FHMAX_HF_GFS > FHMAX_GFS ? FHMAX_GFS : FHMAX_HF_GFS )) -export FHMAX_WAV=$(( FHMAX_WAV > FHMAX ? FHMAX : FHMAX_WAV )) # You can leave this one out for gefs +export FHMAX_WAV=$(( FHMAX_WAV > FHMAX ? FHMAX : FHMAX_WAV )) export FHMAX_WAV_GFS=$(( FHMAX_WAV > FHMAX_GFS ? FHMAX_GFS : FHMAX_WAV )) export FHMAX_HF_WAV=$(( FHMAX_HF_WAV > FHMAX_WAV_GFS ? FHMAX_WAV_GFS : FHMAX_HF_WAV )) From 41c423d74e1a582a1d9850af8ef7bd0e1102e1d9 Mon Sep 17 00:00:00 2001 From: "Anton.Fernando" Date: Fri, 22 Nov 2024 17:54:32 -0500 Subject: [PATCH 092/100] modified config.base --- parm/config/gefs/config.base | 3 ++- parm/config/gfs/config.base | 3 +++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/parm/config/gefs/config.base b/parm/config/gefs/config.base index 1afee82fda..2f2735cdb4 100644 --- a/parm/config/gefs/config.base +++ b/parm/config/gefs/config.base @@ -240,13 +240,14 @@ breakpnts="@FCST_BREAKPOINTS@" export FCST_SEGMENTS="${FHMIN_GFS},${breakpnts:+${breakpnts},}${FHMAX_GFS}" export FHOUT_GFS=@FHOUT_GFS@ +export FHMAX_HF_GFS=@FHMAX_HF_GFS@ export FHOUT_HF_GFS=@FHOUT_HF_GFS@ export FHOUT_OCN_GFS=@FHOUT_OCN_GFS@ export FHOUT_ICE_GFS=@FHOUT_ICE_GFS@ export FHMIN_WAV=${OFFSET_START_HOUR:-0} export FHOUT_WAV=3 -export FHOUT_HF_WAV=1 export FHMAX_HF_WAV=120 +export FHOUT_HF_WAV=1 export FHMAX_WAV=${FHMAX_GFS} export FHMAX_HF_GFS=$(( FHMAX_HF_GFS > FHMAX_GFS ? FHMAX_GFS : FHMAX_HF_GFS )) export FHMAX_WAV_GFS=$(( FHMAX_WAV > FHMAX_GFS ? FHMAX_GFS : FHMAX_WAV )) diff --git a/parm/config/gfs/config.base b/parm/config/gfs/config.base index 6ac430d2f7..a1fcbfade2 100644 --- a/parm/config/gfs/config.base +++ b/parm/config/gfs/config.base @@ -288,6 +288,7 @@ export FHMAX_GFS="@FHMAX_GFS@" breakpnts="@FCST_BREAKPOINTS@" export FCST_SEGMENTS="${FHMIN_GFS},${breakpnts:+${breakpnts},}${FHMAX_GFS}" export FHOUT_GFS=3 # 3 for ops +export FHMAX_HF_GFS=@FHMAX_HF_GFS@ export FHOUT_HF_GFS=1 export FHOUT_OCN_GFS=6 export FHOUT_ICE_GFS=6 @@ -295,6 +296,8 @@ export FHMIN_WAV=0 export FHOUT_WAV=3 export FHMAX_HF_WAV=120 export FHOUT_HF_WAV=1 +export FHMAX_WAV=${FHMAX:-9} +export FHMAX_WAV_GFS=${FHMAX_GFS} export FHMAX_HF_GFS=$(( FHMAX_HF_GFS > FHMAX_GFS ? FHMAX_GFS : FHMAX_HF_GFS )) export FHMAX_WAV=$(( FHMAX_WAV > FHMAX ? FHMAX : FHMAX_WAV )) export FHMAX_WAV_GFS=$(( FHMAX_WAV > FHMAX_GFS ? FHMAX_GFS : FHMAX_WAV )) From 0b8c09bf7c961b7c95d296a2689282466136a8c7 Mon Sep 17 00:00:00 2001 From: "Anton.Fernando" Date: Fri, 22 Nov 2024 18:05:49 -0500 Subject: [PATCH 093/100] modified parm\config\gefs\config.base --- parm/config/gefs/config.base | 1 - 1 file changed, 1 deletion(-) diff --git a/parm/config/gefs/config.base b/parm/config/gefs/config.base index 2f2735cdb4..40d69f6964 100644 --- a/parm/config/gefs/config.base +++ b/parm/config/gefs/config.base @@ -250,7 +250,6 @@ export FHMAX_HF_WAV=120 export FHOUT_HF_WAV=1 export FHMAX_WAV=${FHMAX_GFS} export FHMAX_HF_GFS=$(( FHMAX_HF_GFS > FHMAX_GFS ? FHMAX_GFS : FHMAX_HF_GFS )) -export FHMAX_WAV_GFS=$(( FHMAX_WAV > FHMAX_GFS ? FHMAX_GFS : FHMAX_WAV )) export FHMAX_HF_WAV=$(( FHMAX_HF_WAV > FHMAX_WAV_GFS ? FHMAX_WAV_GFS : FHMAX_HF_WAV )) export ILPOST=1 # gempak output frequency up to F120 From 39da04da739af1d4292a3072acd00a3000e3dc0f Mon Sep 17 00:00:00 2001 From: "Anton.Fernando" Date: Fri, 22 Nov 2024 18:31:49 -0500 Subject: [PATCH 094/100] modified parm\config\gefs\config.base --- parm/config/gefs/config.base | 2 ++ 1 file changed, 2 insertions(+) diff --git a/parm/config/gefs/config.base b/parm/config/gefs/config.base index 40d69f6964..af51067c8f 100644 --- a/parm/config/gefs/config.base +++ b/parm/config/gefs/config.base @@ -249,7 +249,9 @@ export FHOUT_WAV=3 export FHMAX_HF_WAV=120 export FHOUT_HF_WAV=1 export FHMAX_WAV=${FHMAX_GFS} +export FHMAX_WAV_GFS=${FHMAX_GFS} export FHMAX_HF_GFS=$(( FHMAX_HF_GFS > FHMAX_GFS ? FHMAX_GFS : FHMAX_HF_GFS )) +export FHMAX_WAV_GFS=$(( FHMAX_WAV > FHMAX_GFS ? FHMAX_GFS : FHMAX_WAV )) export FHMAX_HF_WAV=$(( FHMAX_HF_WAV > FHMAX_WAV_GFS ? FHMAX_WAV_GFS : FHMAX_HF_WAV )) export ILPOST=1 # gempak output frequency up to F120 From 7bf1a830d0d9c57a6c6121493b5cf0b90e699104 Mon Sep 17 00:00:00 2001 From: "Anton.Fernando" Date: Sat, 23 Nov 2024 15:13:57 -0500 Subject: [PATCH 095/100] modified parm\config\gfs\config.base --- parm/config/gfs/config.base | 1 + 1 file changed, 1 insertion(+) diff --git a/parm/config/gfs/config.base b/parm/config/gfs/config.base index a1fcbfade2..1384fbe8d8 100644 --- a/parm/config/gfs/config.base +++ b/parm/config/gfs/config.base @@ -302,6 +302,7 @@ export FHMAX_HF_GFS=$(( FHMAX_HF_GFS > FHMAX_GFS ? FHMAX_GFS : FHMAX_HF_GFS )) export FHMAX_WAV=$(( FHMAX_WAV > FHMAX ? FHMAX : FHMAX_WAV )) export FHMAX_WAV_GFS=$(( FHMAX_WAV > FHMAX_GFS ? FHMAX_GFS : FHMAX_WAV )) export FHMAX_HF_WAV=$(( FHMAX_HF_WAV > FHMAX_WAV_GFS ? FHMAX_WAV_GFS : FHMAX_HF_WAV )) +export FHOUT_WAV=$(( FHMAX_HF_WAV >= FHMAX_GFS ? FHOUT_WAV : FHOUT_HF_WAV )) # TODO: Change gempak to use standard out variables (#2348) export ILPOST=${FHOUT_HF_GFS} # gempak output frequency up to F120 From bfbc940eb93872adb024c9ec41c81e5e0b6f2fce Mon Sep 17 00:00:00 2001 From: "Anton.Fernando" Date: Sat, 23 Nov 2024 15:17:37 -0500 Subject: [PATCH 096/100] modified config.base for gfs --- parm/config/gfs/config.base | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/parm/config/gfs/config.base b/parm/config/gfs/config.base index 9e96208c4a..f5eeb6e5e9 100644 --- a/parm/config/gfs/config.base +++ b/parm/config/gfs/config.base @@ -303,7 +303,7 @@ export FHMAX_HF_GFS=$(( FHMAX_HF_GFS > FHMAX_GFS ? FHMAX_GFS : FHMAX_HF_GFS )) export FHMAX_WAV=$(( FHMAX_WAV > FHMAX ? FHMAX : FHMAX_WAV )) export FHMAX_WAV_GFS=$(( FHMAX_WAV > FHMAX_GFS ? FHMAX_GFS : FHMAX_WAV )) export FHMAX_HF_WAV=$(( FHMAX_HF_WAV > FHMAX_WAV_GFS ? FHMAX_WAV_GFS : FHMAX_HF_WAV )) -export FHOUT_WAV=$(( FHMAX_HF_WAV >= FHMAX_GFS ? FHOUT_WAV : FHOUT_HF_WAV )) +export FHOUT_WAV=$(( FHMAX_HF_WAV >= FHMAX_WAV_GFS ? FHOUT_WAV : FHOUT_HF_WAV )) # TODO: Change gempak to use standard out variables (#2348) export ILPOST=${FHOUT_HF_GFS} # gempak output frequency up to F120 From 5a899c8bc2d9a690abfa98d3955470b0af98d96b Mon Sep 17 00:00:00 2001 From: "Anton.Fernando" Date: Sat, 23 Nov 2024 16:25:39 -0500 Subject: [PATCH 097/100] modified config.base for gfs --- parm/config/gfs/config.base | 5 ----- 1 file changed, 5 deletions(-) diff --git a/parm/config/gfs/config.base b/parm/config/gfs/config.base index f5eeb6e5e9..8150d2e39c 100644 --- a/parm/config/gfs/config.base +++ b/parm/config/gfs/config.base @@ -299,11 +299,6 @@ export FHMAX_HF_WAV=120 export FHOUT_HF_WAV=1 export FHMAX_WAV=${FHMAX:-9} export FHMAX_WAV_GFS=${FHMAX_GFS} -export FHMAX_HF_GFS=$(( FHMAX_HF_GFS > FHMAX_GFS ? FHMAX_GFS : FHMAX_HF_GFS )) -export FHMAX_WAV=$(( FHMAX_WAV > FHMAX ? FHMAX : FHMAX_WAV )) -export FHMAX_WAV_GFS=$(( FHMAX_WAV > FHMAX_GFS ? FHMAX_GFS : FHMAX_WAV )) -export FHMAX_HF_WAV=$(( FHMAX_HF_WAV > FHMAX_WAV_GFS ? FHMAX_WAV_GFS : FHMAX_HF_WAV )) -export FHOUT_WAV=$(( FHMAX_HF_WAV >= FHMAX_WAV_GFS ? FHOUT_WAV : FHOUT_HF_WAV )) # TODO: Change gempak to use standard out variables (#2348) export ILPOST=${FHOUT_HF_GFS} # gempak output frequency up to F120 From f1a79953e2f0c62a05b667425d3bd7551b374ea4 Mon Sep 17 00:00:00 2001 From: "Anton.Fernando" Date: Mon, 25 Nov 2024 19:11:59 -0500 Subject: [PATCH 098/100] modified config.base for gefs and gfs --- parm/config/gefs/config.base | 2 +- parm/config/gfs/config.base | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/parm/config/gefs/config.base b/parm/config/gefs/config.base index 40e18a245b..ff3ce9ce87 100644 --- a/parm/config/gefs/config.base +++ b/parm/config/gefs/config.base @@ -252,7 +252,7 @@ export FHOUT_HF_WAV=1 export FHMAX_WAV=${FHMAX_GFS} export FHMAX_WAV_GFS=${FHMAX_GFS} export FHMAX_HF_GFS=$(( FHMAX_HF_GFS > FHMAX_GFS ? FHMAX_GFS : FHMAX_HF_GFS )) -export FHMAX_WAV_GFS=$(( FHMAX_WAV > FHMAX_GFS ? FHMAX_GFS : FHMAX_WAV )) +export FHMAX_WAV_GFS=$(( FHMAX_WAV_GFS > FHMAX_GFS ? FHMAX_GFS : FHMAX_WAV_GFS )) export FHMAX_HF_WAV=$(( FHMAX_HF_WAV > FHMAX_WAV_GFS ? FHMAX_WAV_GFS : FHMAX_HF_WAV )) export ILPOST=1 # gempak output frequency up to F120 diff --git a/parm/config/gfs/config.base b/parm/config/gfs/config.base index 8150d2e39c..573ab607d1 100644 --- a/parm/config/gfs/config.base +++ b/parm/config/gfs/config.base @@ -299,6 +299,10 @@ export FHMAX_HF_WAV=120 export FHOUT_HF_WAV=1 export FHMAX_WAV=${FHMAX:-9} export FHMAX_WAV_GFS=${FHMAX_GFS} +export FHMAX_HF_GFS=$(( FHMAX_HF_GFS > FHMAX_GFS ? FHMAX_GFS : FHMAX_HF_GFS )) +export FHMAX_WAV=$(( FHMAX_WAV > FHMAX ? FHMAX : FHMAX_WAV )) # You can leave this one out for gefs +export FHMAX_WAV_GFS=$(( FHMAX_WAV_GFS > FHMAX_GFS ? FHMAX_GFS : FHMAX_WAV_GFS )) +export FHMAX_HF_WAV=$(( FHMAX_HF_WAV > FHMAX_WAV_GFS ? FHMAX_WAV_GFS : FHMAX_HF_WAV )) # TODO: Change gempak to use standard out variables (#2348) export ILPOST=${FHOUT_HF_GFS} # gempak output frequency up to F120 From 4b0523b01c6d5d96b19e49e574b5ddbca453427a Mon Sep 17 00:00:00 2001 From: "Anton.Fernando" Date: Mon, 25 Nov 2024 19:18:42 -0500 Subject: [PATCH 099/100] modified parm\config\gfs\config.base --- parm/config/gfs/config.base | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/parm/config/gfs/config.base b/parm/config/gfs/config.base index 573ab607d1..5e98059aca 100644 --- a/parm/config/gfs/config.base +++ b/parm/config/gfs/config.base @@ -300,7 +300,7 @@ export FHOUT_HF_WAV=1 export FHMAX_WAV=${FHMAX:-9} export FHMAX_WAV_GFS=${FHMAX_GFS} export FHMAX_HF_GFS=$(( FHMAX_HF_GFS > FHMAX_GFS ? FHMAX_GFS : FHMAX_HF_GFS )) -export FHMAX_WAV=$(( FHMAX_WAV > FHMAX ? FHMAX : FHMAX_WAV )) # You can leave this one out for gefs +export FHMAX_WAV=$(( FHMAX_WAV > FHMAX ? FHMAX : FHMAX_WAV )) export FHMAX_WAV_GFS=$(( FHMAX_WAV_GFS > FHMAX_GFS ? FHMAX_GFS : FHMAX_WAV_GFS )) export FHMAX_HF_WAV=$(( FHMAX_HF_WAV > FHMAX_WAV_GFS ? FHMAX_WAV_GFS : FHMAX_HF_WAV )) From f4d8b23ddc9ecd4f5a9944c4b144f89d5e2f5a45 Mon Sep 17 00:00:00 2001 From: "Anton.Fernando" Date: Tue, 26 Nov 2024 10:15:45 -0500 Subject: [PATCH 100/100] modified gefs_tasks.py and gfs_tasks.py --- workflow/rocoto/gefs_tasks.py | 2 +- workflow/rocoto/gfs_tasks.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/workflow/rocoto/gefs_tasks.py b/workflow/rocoto/gefs_tasks.py index 4b95c72845..73a610510b 100644 --- a/workflow/rocoto/gefs_tasks.py +++ b/workflow/rocoto/gefs_tasks.py @@ -482,7 +482,7 @@ def wavepostpnt(self): def extractvars(self): deps = [] - if self.app_config.do_wave: + if self.options['do_wave']: dep_dict = {'type': 'metatask', 'name': 'gefs_wave_post_grid_#member#'} deps.append(rocoto.add_dependency(dep_dict)) if self.app_config.do_ocean: diff --git a/workflow/rocoto/gfs_tasks.py b/workflow/rocoto/gfs_tasks.py index 067e37400e..fc8ca04d57 100644 --- a/workflow/rocoto/gfs_tasks.py +++ b/workflow/rocoto/gfs_tasks.py @@ -2286,7 +2286,7 @@ def arch(self): # Post job dependencies dep_dict = {'type': 'metatask', 'name': f'{self.run}_atmos_prod'} deps.append(rocoto.add_dependency(dep_dict)) - if self.app_config.do_wave: + if self.options['do_wave']: dep_dict = {'type': 'metatask', 'name': f'{self.run}_wavepostsbs'} deps.append(rocoto.add_dependency(dep_dict)) dep_dict = {'type': 'task', 'name': f'{self.run}_wavepostpnt'}