Skip to content

Commit

Permalink
Merge pull request #605 from KateFriedman-NOAA/feature/ops-wcoss2_fixes
Browse files Browse the repository at this point in the history
Series of small WCOSS2 updates - round 8
  • Loading branch information
KateFriedman-NOAA authored Jan 25, 2022
2 parents 415ec5d + 5115509 commit ee2c417
Show file tree
Hide file tree
Showing 6 changed files with 49 additions and 4 deletions.
2 changes: 1 addition & 1 deletion env/WCOSS2.env
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ if [ $step = "prep" -o $step = "prepbufr" ]; then

elif [ $step = "waveinit" -o $step = "waveprep" -o $step = "wavepostsbs" -o $step = "wavepostbndpnt" -o $step = "wavepostbndpntbll" -o $step = "wavepostpnt" ]; then

if [ $step = "waveprep" ]; then export MP_PULSE=0 ; fi
if [ $step = "waveprep" -a $CDUMP = "gfs" ]; then NTASKS=$NTASKS_gfs ; fi
export wavempexec="$launcher -np"
export wave_mpmd=${mpmd}

Expand Down
2 changes: 0 additions & 2 deletions jobs/JGLOBAL_WAVE_POST_SBS
Original file line number Diff line number Diff line change
Expand Up @@ -63,8 +63,6 @@ export EXECwave=${EXECwave:-$HOMEgfs/exec}
export COMIN=${COMIN:-${ROTDIR}/${CDUMP}.${PDY}/${cyc}/$COMPONENT}
export COMOUT=${COMOUT:-${ROTDIR}/${CDUMP}.${PDY}/${cyc}/$COMPONENT}

export COMINice=${COMINice:-${COMROOTp2}/omb/prod}
export COMINwnd=${COMINwnd:-$(compath.py ${envir}/gfs/${gfs_ver})}
export COMIN_WAV_CUR=${COMIN_WAV_CUR:-$(compath.py ${envir}/rtofs/${rtofs_ver})}

mkdir -p $COMOUT/gridded
Expand Down
2 changes: 2 additions & 0 deletions parm/config/config.base.emc.dyn
Original file line number Diff line number Diff line change
Expand Up @@ -118,6 +118,8 @@ export COMINatmos=${ROTDIR}/${CDUMP}.${PDY}/${cyc}/atmos
export COMOUTatmos=${ROTDIR}/${CDUMP}.${PDY}/${cyc}/atmos
export COMINwave=${ROTDIR}/${CDUMP}.${PDY}/${cyc}/wave
export COMOUTwave=${ROTDIR}/${CDUMP}.${PDY}/${cyc}/wave
export COMIN_OBS=${ROTDIR}/${CDUMP}.${PDY}/${cyc}/atmos
export COMIN_GES_OBS=${ROTDIR}/${GDUMP}.${gPDY}/${gcyc}/atmos

export ERRSCRIPT=${ERRSCRIPT:-'eval [[ $err = 0 ]]'}
export LOGSCRIPT=${LOGSCRIPT:-""}
Expand Down
4 changes: 4 additions & 0 deletions ush/rocoto/setup_workflow.py
Original file line number Diff line number Diff line change
Expand Up @@ -397,6 +397,10 @@ def get_gdasgfs_tasks(dict_configs, cdump='gdas'):
envars.append(rocoto.create_envar(name='CDUMP', value=f'{cdump}'))
envars.append(rocoto.create_envar(name='PDY', value='<cyclestr>@Y@m@d</cyclestr>'))
envars.append(rocoto.create_envar(name='cyc', value='<cyclestr>@H</cyclestr>'))
envars.append(rocoto.create_envar(name='GDATE', value='<cyclestr offset="-6:00:00">@Y@m@d@H</cyclestr>'))
envars.append(rocoto.create_envar(name='GDUMP', value='gdas'))
envars.append(rocoto.create_envar(name='gPDY', value='<cyclestr offset="-6:00:00">@Y@m@d</cyclestr>'))
envars.append(rocoto.create_envar(name='gcyc', value='<cyclestr offset="-6:00:00">@H</cyclestr>'))

base = dict_configs['base']
gfs_cyc = base.get('gfs_cyc', 0)
Expand Down
38 changes: 38 additions & 0 deletions ush/rocoto/setup_workflow_fcstonly.py
Original file line number Diff line number Diff line change
Expand Up @@ -239,6 +239,10 @@ def get_workflow(dict_configs, cdump='gdas'):
envars.append(rocoto.create_envar(name='CDUMP', value='&CDUMP;'))
envars.append(rocoto.create_envar(name='PDY', value='<cyclestr>@Y@m@d</cyclestr>'))
envars.append(rocoto.create_envar(name='cyc', value='<cyclestr>@H</cyclestr>'))
envars.append(rocoto.create_envar(name='GDATE', value='<cyclestr offset="-6:00:00">@Y@m@d@H</cyclestr>'))
envars.append(rocoto.create_envar(name='GDUMP', value='gdas'))
envars.append(rocoto.create_envar(name='gPDY', value='<cyclestr offset="-6:00:00">@Y@m@d</cyclestr>'))
envars.append(rocoto.create_envar(name='gcyc', value='<cyclestr offset="-6:00:00">@H</cyclestr>'))

base = dict_configs['base']
machine = base.get('machine', wfu.detectMachine())
Expand Down Expand Up @@ -673,6 +677,40 @@ def get_workflow(dict_configs, cdump='gdas'):
return ''.join(tasks)


def get_awipsgroups(awips, cdump='gfs'):

fhmin = awips['FHMIN']
fhmax = awips['FHMAX']
fhout = awips['FHOUT']

# Get a list of all forecast hours
if cdump in ['gdas']:
fhrs = range(fhmin, fhmax+fhout, fhout)
elif cdump in ['gfs']:
fhmax = np.max([awips['FHMAX_GFS_00'],awips['FHMAX_GFS_06'],awips['FHMAX_GFS_12'],awips['FHMAX_GFS_18']])
fhout = awips['FHOUT_GFS']
fhmax_hf = awips['FHMAX_HF_GFS']
fhout_hf = awips['FHOUT_HF_GFS']
if fhmax > 240:
fhmax = 240
if fhmax_hf > 240:
fhmax_hf = 240
fhrs_hf = range(fhmin, fhmax_hf+fhout_hf, fhout_hf)
fhrs = list(fhrs_hf) + list(range(fhrs_hf[-1]+fhout, fhmax+fhout, fhout))

nawipsgrp = awips['NAWIPSGRP']
ngrps = nawipsgrp if len(fhrs) > nawipsgrp else len(fhrs)

fhrs = [f'f{f:03d}' for f in fhrs]
fhrs = np.array_split(fhrs, ngrps)
fhrs = [f.tolist() for f in fhrs]

fhrgrp = ' '.join([f'{x:03d}' for x in range(0, ngrps)])
fhrdep = ' '.join([f[-1] for f in fhrs])
fhrlst = ' '.join(['_'.join(f) for f in fhrs])

return fhrgrp, fhrdep, fhrlst

def get_workflow_body(dict_configs, cdump='gdas'):
'''
Create the workflow body
Expand Down
5 changes: 4 additions & 1 deletion ush/rocoto/workflow_utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -287,7 +287,10 @@ def get_resources(machine, cfg, task, reservation, cdump='gdas'):

ltask = 'eobs' if task in ['eomg'] else task

memory = cfg.get(f'memory_{ltask}', None)
if cdump in ['gfs'] and f'memory_{task}_gfs' in cfg.keys():
memory = cfg.get(f'memory_{ltask}_gfs', None)
else:
memory = cfg.get(f'memory_{ltask}', None)

if cdump in ['gfs'] and f'npe_{task}_gfs' in cfg.keys():
tasks = cfg[f'npe_{ltask}_gfs']
Expand Down

0 comments on commit ee2c417

Please sign in to comment.