Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
105 commits
Select commit Hold shift + click to select a range
4386983
Add GEFS awips job
EricSinsky-NOAA Mar 10, 2025
a503aff
Add postsnd rocoto tasks
EricSinsky-NOAA Mar 11, 2025
3eaf563
Merge branch 'NOAA-EMC:develop' into gefs_products1
AntonMFernando-NOAA Mar 11, 2025
2f6c239
added gempak job
AntonMFernando-NOAA Mar 12, 2025
05cf50b
Merge branch 'gefs_products1' of https://github.com/AntonMFernando-NO…
AntonMFernando-NOAA Mar 12, 2025
e48a53f
Merge branch 'NOAA-EMC:develop' into gefs_products1
AntonMFernando-NOAA Mar 12, 2025
d7b7d6f
updated config files
AntonMFernando-NOAA Mar 12, 2025
1b83713
modified parm\config\gefs\config.resources
AntonMFernando-NOAA Mar 12, 2025
b9151d4
modified config and tasks.py
AntonMFernando-NOAA Mar 12, 2025
62e48cc
modified gefs_tasts.py
AntonMFernando-NOAA Mar 12, 2025
bed70dd
Merge branch 'NOAA-EMC:develop' into gefs_products1
AntonMFernando-NOAA Mar 12, 2025
ba70a86
modified workflow\rocoto\gefs_tasks.py
AntonMFernando-NOAA Mar 12, 2025
dda8f7a
Merge branch 'gefs_products1' of https://github.com/AntonMFernando-NO…
AntonMFernando-NOAA Mar 12, 2025
f3a8976
modified workflow\rocoto\gefs_tasks.py
AntonMFernando-NOAA Mar 13, 2025
7e1b8aa
modified workflow\rocoto\gefs_tasks.py
AntonMFernando-NOAA Mar 13, 2025
dae2e24
add config.gempak
AntonMFernando-NOAA Mar 13, 2025
f37f6a8
Revert "updated config files"
AntonMFernando-NOAA Mar 13, 2025
e09fbfe
Merge branch 'gefs_products1' of https://github.com/AntonMFernando-NO…
AntonMFernando-NOAA Mar 13, 2025
b3ffb16
modified ci\cases\yamls\gefs_defaults_ci.yaml
AntonMFernando-NOAA Mar 13, 2025
1693e25
modify parm\config\gefs\config.resources
AntonMFernando-NOAA Mar 13, 2025
bfcad4b
modify workflow\rocoto\gefs_tasks.py
AntonMFernando-NOAA Mar 13, 2025
98563cd
add .sh files
AntonMFernando-NOAA Mar 13, 2025
20706a9
modified sh scripts
AntonMFernando-NOAA Mar 13, 2025
cdaf2de
modify workflow\rocoto\gefs_tasks.py
AntonMFernando-NOAA Mar 13, 2025
3d294bc
Merge branch 'NOAA-EMC:develop' into gefs_products1
AntonMFernando-NOAA Mar 13, 2025
dbde82e
modified workflow\rocoto\gefs_tasks.py
AntonMFernando-NOAA Mar 13, 2025
126c4c1
Merge branch 'gefs_products1' of https://github.com/AntonMFernando-NO…
AntonMFernando-NOAA Mar 13, 2025
ea9016d
modify workflow\rocoto\gefs_tasks.py
AntonMFernando-NOAA Mar 13, 2025
81a906c
modified workflow\rocoto\gefs_tasks.py
AntonMFernando-NOAA Mar 14, 2025
6c72ebe
Merge branch 'NOAA-EMC:develop' into gefs_products1
AntonMFernando-NOAA Mar 14, 2025
18809ba
update workflow\rocoto\gefs_tasks.py
AntonMFernando-NOAA Mar 14, 2025
3148610
Merge branch 'gefs_products1' of https://github.com/AntonMFernando-NO…
AntonMFernando-NOAA Mar 14, 2025
28b3224
modified workflow\rocoto\gefs_tasks.py
AntonMFernando-NOAA Mar 14, 2025
6c15d17
modified gefs.py
AntonMFernando-NOAA Mar 14, 2025
92bd3d4
Merge branch 'NOAA-EMC:develop' into gefs_products1
AntonMFernando-NOAA Mar 14, 2025
f9ac8f1
modified workflow\applications\gefs.py
AntonMFernando-NOAA Mar 15, 2025
5ac28cc
Merge branch 'NOAA-EMC:develop' into gefs_products1
AntonMFernando-NOAA Mar 16, 2025
18e2879
Merge branch 'NOAA-EMC:develop' into gefs_products1
AntonMFernando-NOAA Mar 18, 2025
d94946a
modify parm\config\gefs\config.postsnd
AntonMFernando-NOAA Mar 18, 2025
3c2ce6f
mdify parm\config\gefs\config.postsnd
AntonMFernando-NOAA Mar 18, 2025
68e7b64
Merge branch 'develop' into gefs_products1
AntonMFernando-NOAA Mar 18, 2025
489c27a
Merge branch 'NOAA-EMC:develop' into gefs_products1
AntonMFernando-NOAA Mar 18, 2025
f431079
Merge branch 'NOAA-EMC:develop' into gefs_products1
AntonMFernando-NOAA Mar 19, 2025
64dae39
Merge branch 'NOAA-EMC:develop' into gefs_products1
AntonMFernando-NOAA Mar 20, 2025
a24e247
Merge branch 'NOAA-EMC:develop' into gefs_products1
AntonMFernando-NOAA Mar 21, 2025
529acf3
Update workflow/rocoto/gefs_tasks.py
AntonMFernando-NOAA Mar 21, 2025
4ba6071
modified workflow\rocoto\gefs_tasks.py
AntonMFernando-NOAA Mar 21, 2025
5546463
Merge branch 'NOAA-EMC:develop' into gefs_products1
AntonMFernando-NOAA Mar 24, 2025
f5753b1
Update workflow/rocoto/gefs_tasks.py
AntonMFernando-NOAA Mar 24, 2025
f4fedbf
Update workflow/rocoto/gefs_tasks.py
AntonMFernando-NOAA Mar 24, 2025
571d174
remove white space
AntonMFernando-NOAA Mar 24, 2025
89ce400
Update workflow/rocoto/gefs_tasks.py
AntonMFernando-NOAA Mar 25, 2025
c6f2559
modify workflow\rocoto\gefs_tasks.py
AntonMFernando-NOAA Mar 25, 2025
5d00563
Merge branch 'develop' into gefs_products1
AntonMFernando-NOAA Mar 25, 2025
67ed77d
Merge branch 'NOAA-EMC:develop' into gefs_products1
AntonMFernando-NOAA Mar 26, 2025
136982e
update jobs\rocoto\gempak_test.sh
AntonMFernando-NOAA Mar 27, 2025
c8e0a75
modified jobs\rocoto\gempak_test.sh
AntonMFernando-NOAA Mar 27, 2025
cca67b1
modified jobs\rocoto\gempak_test.sh
AntonMFernando-NOAA Mar 27, 2025
07073c4
updated jobs\rocoto\gempak_test.sh
AntonMFernando-NOAA Mar 27, 2025
0b83ee7
Merge branch 'NOAA-EMC:develop' into gefs_products1
AntonMFernando-NOAA Mar 27, 2025
c796d81
Merge branch 'develop' into gefs_products1
AntonMFernando-NOAA Mar 28, 2025
4e8b265
modify parm\config\gfs\config.gempak
AntonMFernando-NOAA Mar 28, 2025
773e10b
Merge branch 'gefs_products1' of https://github.com/AntonMFernando-NO…
AntonMFernando-NOAA Mar 28, 2025
2ba8dde
modified parm\config\gfs\config.gempak
AntonMFernando-NOAA Mar 28, 2025
d06f02d
Merge branch 'develop' into gefs_products1
AntonMFernando-NOAA Mar 31, 2025
fb86207
modified workflow\rocoto\gefs_tasks.py
AntonMFernando-NOAA Mar 31, 2025
b1d83a2
Merge branch 'gefs_products1' of https://github.com/AntonMFernando-NO…
AntonMFernando-NOAA Mar 31, 2025
52c175b
modfied awips job and added shell scripts
AntonMFernando-NOAA Mar 31, 2025
3fd856c
addressed shellsheck warning
AntonMFernando-NOAA Mar 31, 2025
c835bdc
added fhrs to awips
AntonMFernando-NOAA Mar 31, 2025
5cf5bc8
typo
AntonMFernando-NOAA Mar 31, 2025
c75c0b6
Merge branch 'NOAA-EMC:develop' into gefs_products1
AntonMFernando-NOAA Apr 1, 2025
c829240
modified workflow\rocoto\gefs_tasks.py
AntonMFernando-NOAA Apr 1, 2025
c5d1781
Merge branch 'gefs_products1' of https://github.com/AntonMFernando-NO…
AntonMFernando-NOAA Apr 1, 2025
9766be1
removed awips
AntonMFernando-NOAA Apr 1, 2025
cedca46
added if loop for sh scripts
AntonMFernando-NOAA Apr 1, 2025
b9e19b1
removed awips
AntonMFernando-NOAA Apr 1, 2025
c3e6b09
remove awips2
AntonMFernando-NOAA Apr 1, 2025
4dca4d4
Merge branch 'develop' into gefs_products1
AntonMFernando-NOAA Apr 1, 2025
2514eef
Huber's correctons
AntonMFernando-NOAA Apr 2, 2025
f2f0aa8
Merge branch 'gefs_products1' of https://github.com/AntonMFernando-NO…
AntonMFernando-NOAA Apr 2, 2025
cd2174c
remove extra cleanup task
AntonMFernando-NOAA Apr 2, 2025
6eeb059
Update jobs/rocoto/postsnd.sh
AntonMFernando-NOAA Apr 2, 2025
9b918b1
Update parm/config/gefs/config.resources
AntonMFernando-NOAA Apr 2, 2025
63f1b5e
modified parm\config\gefs\config.resources
AntonMFernando-NOAA Apr 2, 2025
d08ce42
Update jobs/rocoto/gempak.sh
AntonMFernando-NOAA Apr 2, 2025
838c5fb
Update jobs/rocoto/postsnd.sh
AntonMFernando-NOAA Apr 2, 2025
38d1794
Update jobs/rocoto/postsnd.sh
AntonMFernando-NOAA Apr 2, 2025
5d2c131
modified jobs\rocoto\gempak.sh
AntonMFernando-NOAA Apr 2, 2025
aceb1ec
typo
AntonMFernando-NOAA Apr 2, 2025
f46fb7a
comments aerorahul
AntonMFernando-NOAA Apr 2, 2025
b34152e
changed indentation postsnd.sh
AntonMFernando-NOAA Apr 2, 2025
b13abd3
modified postsnd.sh
AntonMFernando-NOAA Apr 3, 2025
b78891c
modified workflow\rocoto\gefs_tasks.py
AntonMFernando-NOAA Apr 3, 2025
67b357d
typo workflow\rocoto\gefs_tasks.py
AntonMFernando-NOAA Apr 3, 2025
6b7e316
Merge branch 'NOAA-EMC:develop' into gefs_products1
AntonMFernando-NOAA Apr 3, 2025
9b6e450
typo workflow\rocoto\gefs_tasks.py
AntonMFernando-NOAA Apr 3, 2025
d614ab4
Merge branch 'gefs_products1' of https://github.com/AntonMFernando-NO…
AntonMFernando-NOAA Apr 3, 2025
04d0537
Merge branch 'develop' into gefs_products1
AntonMFernando-NOAA Apr 3, 2025
3b27130
aerorahul changes
AntonMFernando-NOAA Apr 3, 2025
aeb0daa
Merge branch 'gefs_products1' of https://github.com/AntonMFernando-NO…
AntonMFernando-NOAA Apr 3, 2025
df8d809
modified workflow\rocoto\gefs_tasks.py
AntonMFernando-NOAA Apr 3, 2025
c24b33a
removed config.postsnd
AntonMFernando-NOAA Apr 3, 2025
b2909d0
added config.postsnd
AntonMFernando-NOAA Apr 3, 2025
0c0b649
Merge branch 'develop' into gefs_products1
aerorahul Apr 4, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions ci/cases/yamls/gefs_defaults_ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,5 +5,7 @@ base:
FHOUT_GFS: 6
USE_OCN_ENS_PERTURB_FILES: "NO"
USE_ATM_ENS_PERTURB_FILES: "NO"
DO_BUFRSND: "NO"
DO_GEMPAK: "NO"
ocn:
MOM6_INTERP_ICS: "NO"
16 changes: 8 additions & 8 deletions jobs/rocoto/gempak.sh
Original file line number Diff line number Diff line change
Expand Up @@ -12,14 +12,14 @@ IFS=', ' read -r -a fhr_list <<< "${FHR_LIST}"

export FHR3 jobid
for fhr in "${fhr_list[@]}"; do
FHR3=$(printf '%03d' "${fhr}")
jobid="${job}_f${FHR3}.$$"
###############################################################
# Execute the JJOB
###############################################################
"${HOMEgfs}/jobs/J${RUN^^}_ATMOS_GEMPAK"
status=$?
[[ ${status} -ne 0 ]] && exit "${status}"
FHR3=$(printf '%03d' "${fhr}")
jobid="${job}_f${FHR3}.$$"
###############################################################
# Execute the JJOB
###############################################################
"${HOMEgfs}/jobs/J${RUN^^}_ATMOS_GEMPAK"
err=$?
[[ ${err} -ne 0 ]] && exit "${err}"
done

exit 0
17 changes: 5 additions & 12 deletions jobs/rocoto/postsnd.sh
Original file line number Diff line number Diff line change
@@ -1,24 +1,17 @@
#! /usr/bin/env bash

source "${HOMEgfs}/ush/preamble.sh"

###############################################################
# Source FV3GFS workflow modules

. ${HOMEgfs}/ush/load_fv3gfs_modules.sh
source "${HOMEgfs}/ush/load_fv3gfs_modules.sh"
status=$?
if [[ ${status} -ne 0 ]]; then
exit "${status}"
exit "${status}"
fi

export job="postsnd"
export jobid="${job}.$$"

###############################################################
################################################################
# Execute the JJOB
${HOMEgfs}/jobs/JGFS_ATMOS_POSTSND
status=$?


exit "${status}"

err=$?
exit "${err}"
1 change: 1 addition & 0 deletions parm/config/gefs/config.gempak
1 change: 1 addition & 0 deletions parm/config/gefs/config.postsnd
22 changes: 22 additions & 0 deletions parm/config/gefs/config.resources
Original file line number Diff line number Diff line change
Expand Up @@ -241,6 +241,20 @@ case ${step} in
export is_exclusive=True
;;

"postsnd")
export walltime="02:00:00"
export ntasks=141
export ntasks_postsndcfp=9
export tasks_per_node=21
export threads_per_task=6
export tasks_per_node_postsndcfp=1
postsnd_req_cores=$(( tasks_per_node * threads_per_task ))
if [[ ${postsnd_req_cores} -gt ${max_tasks_per_node} ]]; then
tasks_per_node=$(( max_tasks_per_node / threads_per_task ))
fi
export is_exclusive=True
;;

"atmos_ensstat")
# Walltime is per forecast hour; will be multipled by group size
export walltime="00:15:00"
Expand Down Expand Up @@ -310,6 +324,14 @@ case ${step} in
export NTASKS=${ntasks}
;;

"gempak")
export walltime="00:30:00"
export ntasks=1
export tasks_per_node=1
export threads_per_task=1
export memory="2GB"
;;

"extractvars")
export walltime="00:30:00"
export ntasks=1
Expand Down
13 changes: 12 additions & 1 deletion workflow/applications/gefs.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,12 @@ def _get_app_configs(self, run):
options = self.run_options[run]
configs = ['stage_ic', 'fcst', 'atmos_products']

if options['do_bufrsnd']:
configs += ['postsnd']

if options['do_gempak']:
configs += ['gempak']

if options['nens'] > 0:
configs += ['efcs', 'atmos_ensstat']

Expand Down Expand Up @@ -82,6 +88,12 @@ def get_task_names(self):

tasks += ['atmos_prod']

if options['do_bufrsnd']:
tasks += ['postsnd']

if options['do_gempak']:
tasks += ['gempak']

if options['nens'] > 0:
tasks += ['atmos_ensstat']

Expand All @@ -100,7 +112,6 @@ def get_task_names(self):
if options['do_extractvars']:
tasks += ['extractvars']

tasks += ['cleanup']
Comment thread
DavidHuber-NOAA marked this conversation as resolved.
if options['do_archcom']:
tasks += ['arch_tars']
if options['do_globusarch']:
Expand Down
99 changes: 99 additions & 0 deletions workflow/rocoto/gefs_tasks.py
Original file line number Diff line number Diff line change
Expand Up @@ -264,6 +264,105 @@ def _atmosoceaniceprod(self, component: str):

return task

def postsnd(self):

resources = self.get_resource('postsnd')

deps = []
dep_dict = {'type': 'task', 'name': f'{self.run}_fcst_mem#member#'}
deps.append(rocoto.add_dependency(dep_dict))

dependencies = rocoto.create_dependency(dep=deps)

postsnd_envars = self.envars.copy()
postenvar_dict = {'ENSMEM': '#member#',
'MEMDIR': 'mem#member#'}

for key, value in postenvar_dict.items():
postsnd_envars.append(rocoto.create_envar(name=key, value=str(value)))

resources = self.get_resource('postsnd')
task_name = f'{self.run}_postsnd_mem#member#'
task_dict = {'task_name': task_name,
'resources': resources,
'dependency': dependencies,
'envars': postsnd_envars,
'cycledef': self.run,
'command': f'{self.HOMEgfs}/jobs/rocoto/postsnd.sh',
'job_name': f'{self.pslot}_{task_name}_@H',
'log': f'{self.rotdir}/logs/@Y@m@d@H/{task_name}.log',
'maxtries': '&MAXTRIES;'
}

member_var_dict = {'member': ' '.join([str(mem).zfill(3) for mem in range(0, self.nmem + 1)])}
member_metatask_dict = {'task_name': f'{self.run}_postsnd',
'task_dict': task_dict,
'var_dict': member_var_dict
}

task = rocoto.create_task(member_metatask_dict)

return task

def gempak(self):

resources = self.get_resource('gempak')

deps = []
task = f'{self.run}_atmos_prod_mem#member#_#fhr_label#'
dep_dict = {'type': 'task', 'name': task}
deps.append(rocoto.add_dependency(dep_dict))

dependencies = rocoto.create_dependency(dep_condition='and', dep=deps)

fhrs = self._get_forecast_hours(self.run, self._configs['gempak'])

# when replaying, atmos component does not have fhr 0, therefore remove 0 from fhrs
is_replay = self._configs['gempak']['REPLAY_ICS']
if is_replay and 0 in fhrs:
fhrs.remove(0)

max_tasks = self._configs['gempak']['MAX_TASKS']
fhr_var_dict = self.get_grouped_fhr_dict(fhrs=fhrs, ngroups=max_tasks)

# Adjust walltime based on the largest group
largest_group = max([len(grp.split(',')) for grp in fhr_var_dict['fhr_list'].split(' ')])
resources['walltime'] = Tasks.multiply_HMS(resources['walltime'], largest_group)

postenvars = self.envars.copy()
postenvar_dict = {'ENSMEM': '#member#',
'MEMDIR': 'mem#member#',
'FHR_LIST': '#fhr_list#'}

for key, value in postenvar_dict.items():
postenvars.append(rocoto.create_envar(name=key, value=str(value)))

task_name = f'{self.run}_gempak_mem#member#_#fhr_label#'
task_dict = {'task_name': task_name,
'resources': resources,
'dependency': dependencies,
'envars': postenvars,
'cycledef': self.run,
'command': f'{self.HOMEgfs}/jobs/rocoto/gempak.sh',
'job_name': f'{self.pslot}_{task_name}_@H',
'log': f'{self.rotdir}/logs/@Y@m@d@H/{task_name}.log',
'maxtries': '&MAXTRIES;'
}

fhr_metatask_dict = {'task_name': f'{self.run}_gempak_#member#',
'task_dict': task_dict,
'var_dict': fhr_var_dict}

member_var_dict = {'member': ' '.join([str(mem).zfill(3) for mem in range(0, self.nmem + 1)])}
member_metatask_dict = {'task_name': f'{self.run}_gempak',
'task_dict': fhr_metatask_dict,
'var_dict': member_var_dict
}

task = rocoto.create_task(member_metatask_dict)

return task

def atmos_ensstat(self):

resources = self.get_resource('atmos_ensstat')
Expand Down