Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove the eomg job #3331

Open
wants to merge 9 commits into
base: develop
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
3 changes: 0 additions & 3 deletions parm/archive/enkf.yaml.j2
Original file line number Diff line number Diff line change
Expand Up @@ -28,9 +28,6 @@ enkf:
{% set steps = ["atmensanlinit", "atmensanlletkf", "atmensanlfv3inc", "atmensanlfinal"] %}
{% else %}
{% set steps = ["eobs", "eupd"] %}
{% for mem in range(1, nmem_ens + 1) %}
{% do steps.append("eomg_mem" ~ '%03d' % mem) %}
{% endfor %}
{% endif %}
{% endif %}

Expand Down
4 changes: 0 additions & 4 deletions parm/config/gfs/config.anal
Original file line number Diff line number Diff line change
Expand Up @@ -25,10 +25,6 @@ if [[ ${LEVS} = "128" ]]; then
export SETUP="gpstop=55,nsig_ext=45,${SETUP:-}"
fi

# Set namelist option for LETKF
export lobsdiag_forenkf=".false." # anal does not need to write out jacobians
# set to .true. in config.eobs and config.eupd

# Reduce number of iterations for testing mode
if [[ ${DO_TEST_MODE} = "YES" ]]; then
export SETUP="${SETUP:-}niter(1)=5,niter(2)=5,"
Expand Down
8 changes: 1 addition & 7 deletions parm/config/gfs/config.eobs
Original file line number Diff line number Diff line change
@@ -1,16 +1,13 @@
#! /usr/bin/env bash

########## config.eobs config.eomg ##########
########## config.eobs ##########
# Ensemble innovation specific, dependency config.anal

echo "BEGIN: config.eobs"

# Get task specific resources
. $EXPDIR/config.resources eobs

# Number of enkf members per innovation job
export NMEM_EOMGGRP=8
export RERUN_EOMGGRP="YES"

# GSI namelist options related to observer for EnKF
export OBSINPUT_INVOBS="dmesh(1)=225.0,dmesh(2)=225.0,dmesh(3)=225.0,dmesh(4)=100.0"
Expand All @@ -24,7 +21,4 @@ fi
export USE_RADSTAT="NO" # This can be only used when bias correction is non-zero.
export GENDIAG="YES" # Diagnostic files must be created for EnKF

export lobsdiag_forenkf=".true." # write out jacobians from eobs
# need to specify .true. setting since config.anal sets to .false.

echo "END: config.eobs"
12 changes: 4 additions & 8 deletions parm/config/gfs/config.resources
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ if (( $# != 1 )); then
echo "upp atmos_products"
echo "tracker genesis genesis_fsu"
echo "verfozn verfrad vminmon fit2obs metp arc_vrfy arc_tars cleanup"
echo "eobs ediag eomg eupd ecen esfc efcs epos earc_vrfy earc_tars"
echo "eobs ediag eupd ecen esfc efcs epos earc_vrfy earc_tars"
echo "init_chem mom6ic oceanice_products"
echo "waveinit waveprep wavepostsbs wavepostbndpnt wavepostbndpntbll wavepostpnt"
echo "wavegempak waveawipsbulls waveawipsgridded"
Expand Down Expand Up @@ -1198,13 +1198,9 @@ case ${step} in
export is_exclusive=True
;;

"eobs" | "eomg")
if [[ "${step}" == "eobs" ]]; then
walltime="00:15:00"
else
walltime="00:30:00"
fi

"eobs")
walltime="00:15:00"

case ${CASE} in
"C1152" | "C768") ntasks=200;;
"C384") ntasks=100;;
Expand Down
2 changes: 1 addition & 1 deletion parm/config/gfs/config.resources.HERCULES
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
# Hercules-specific job resources

case ${step} in
"eobs" | "eomg")
"eobs")
# The number of tasks and cores used must be the same for eobs
# See https://github.com/NOAA-EMC/global-workflow/issues/2092 for details
# For Hercules, this is only an issue at C384; use 20 tasks/node
Expand Down
19 changes: 3 additions & 16 deletions scripts/exgdas_enkf_update.sh
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,6 @@ letkf_flag=${letkf_flag:-".false."}
getkf=${getkf:-".false."}
denkf=${denkf:-".false."}
nobsl_max=${nobsl_max:-10000}
lobsdiag_forenkf=${lobsdiag_forenkf:-".false."}
write_spread_diag=${write_spread_diag:-".false."}
cnvw_option=${cnvw_option:-".false."}
netcdf_diag=${netcdf_diag:-".true."}
Expand Down Expand Up @@ -196,20 +195,8 @@ for imem in $(seq 1 $NMEM_ENS); do
MEMDIR=${memchar} YMD=${PDY} HH=${cyc} declare_from_tmpl -x \
COMOUT_ATMOS_ANALYSIS_MEM:COM_ATMOS_ANALYSIS_TMPL

if [ $lobsdiag_forenkf = ".false." ]; then
if [ $USE_CFP = "YES" ]; then
echo "${nm} ${DATA}/untar.sh ${memchar} ${COMOUT_ATMOS_ANALYSIS_MEM}" | tee -a "${DATA}/mp_untar.sh"
if [ ${CFP_MP:-"NO"} = "YES" ]; then
nm=$((nm+1))
fi
else
for ftype in $flist; do
fname="${COMOUT_ATMOS_ANALYSIS_MEM}/${ftype}"
tar -xvf $fname
done
fi
fi
mkdir -p "${COMOUT_ATMOS_ANALYSIS_MEM}"
mkdir -p "${COM_ATMOS_ANALYSIS_MEM}"

for FHR in $nfhrs; do
${NLN} "${COMIN_ATMOS_HISTORY_MEM_PREV}/${GPREFIX}atmf00${FHR}${ENKF_SUFFIX}.nc" \
"sfg_${PDY}${cyc}_fhr0${FHR}_${memchar}"
Expand Down Expand Up @@ -288,7 +275,7 @@ cat > enkf.nml << EOFnml
univaroz=.false.,adp_anglebc=.true.,angord=4,use_edges=.false.,emiss_bc=.true.,
letkf_flag=${letkf_flag},nobsl_max=${nobsl_max},denkf=${denkf},getkf=${getkf}.,
nhr_anal=${IAUFHRS_ENKF},nhr_state=${IAUFHRS_ENKF},
lobsdiag_forenkf=${lobsdiag_forenkf},taperanalperts=${taperanalperts},
lobsdiag_forenkf=.true.,taperanalperts=${taperanalperts},
write_spread_diag=$write_spread_diag,
modelspace_vloc=$modelspace_vloc,
use_correlated_oberrs=${use_correlated_oberrs},
Expand Down
3 changes: 1 addition & 2 deletions scripts/exglobal_atmos_analysis.sh
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,6 @@ cao_check=${cao_check:-".true."}
ta2tb=${ta2tb:-".true."}

# Diagnostic files options
lobsdiag_forenkf=${lobsdiag_forenkf:-".false."}
netcdf_diag=${netcdf_diag:-".true."}
binary_diag=${binary_diag:-".false."}

Expand Down Expand Up @@ -723,7 +722,7 @@ cat > gsiparm.anl << EOF
diag_precon=.true.,step_start=1.e-3,emiss_bc=.true.,nhr_obsbin=${nhr_obsbin:-3},
cwoption=3,imp_physics=${imp_physics},lupp=${lupp},cnvw_option=${cnvw_option},cao_check=${cao_check},
netcdf_diag=${netcdf_diag},binary_diag=${binary_diag},
lobsdiag_forenkf=${lobsdiag_forenkf},
lobsdiag_forenkf=.true.,
write_fv3_incr=${write_fv3_increment},
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same here, lobsdiag_forenkf may still be required in the analysis namelist:

Suggested change
write_fv3_incr=${write_fv3_increment},
lobsdiag_forenkf=.true.,
write_fv3_incr=${write_fv3_increment},

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

nhr_anal=${IAUFHRS},
ta2tb=${ta2tb},
Expand Down
2 changes: 1 addition & 1 deletion workflow/applications/applications.py
Original file line number Diff line number Diff line change
Expand Up @@ -152,7 +152,7 @@ def _source_configs(self, conf: Configuration, run: str = "gfs", log: bool = Tru
# All must source config.base first
files = ['config.base']

if config in ['eobs', 'eomg']:
if config in ['eobs']:
files += ['config.anal', 'config.eobs']
elif config in ['eupd']:
files += ['config.anal', 'config.eupd']
Expand Down
4 changes: 2 additions & 2 deletions workflow/applications/gfs_cycled.py
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ def _get_app_configs(self, run):
configs += ['atmensanlinit', 'atmensanlobs', 'atmensanlsol',
'atmensanlletkf', 'atmensanlfv3inc', 'atmensanlfinal']
else:
configs += ['eobs', 'eomg', 'ediag', 'eupd']
configs += ['eobs', 'ediag', 'eupd']

configs += ['ecen', 'esfc', 'efcs', 'echgres', 'epos', 'earc_vrfy']

Expand Down Expand Up @@ -318,7 +318,7 @@ def get_task_names(self):
else:
task_names[run] += ['eobs', 'eupd']
task_names[run].append('echgres') if 'gdas' in run else 0
task_names[run] += ['ediag'] if options['lobsdiag_forenkf'] else ['eomg']
task_names[run] += ['ediag']

task_names[run].append('esnowanl') if options['do_jedisnowda'] else 0
task_names[run].append('efcs') if 'gdas' in run else 0
Expand Down
41 changes: 1 addition & 40 deletions workflow/rocoto/gfs_tasks.py
Original file line number Diff line number Diff line change
Expand Up @@ -2593,42 +2593,6 @@ def eobs(self):

return task

def eomg(self):
deps = []
dep_dict = {'type': 'task', 'name': f'{self.run}_eobs'}
deps.append(rocoto.add_dependency(dep_dict))
dependencies = rocoto.create_dependency(dep=deps)

eomgenvars = self.envars.copy()
eomgenvars_dict = {'ENSMEM': '#member#',
'MEMDIR': 'mem#member#'
}
for key, value in eomgenvars_dict.items():
eomgenvars.append(rocoto.create_envar(name=key, value=str(value)))

resources = self.get_resource('eomg')
task_name = f'{self.run}_eomg_mem#member#'
task_dict = {'task_name': task_name,
'resources': resources,
'dependency': dependencies,
'envars': eomgenvars,
'cycledef': self.run.replace('enkf', ''),
'command': f'{self.HOMEgfs}/jobs/rocoto/eomg.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(1, self.nmem + 1)])}
metatask_dict = {'task_name': f'{self.run}_eomg',
'var_dict': member_var_dict,
'task_dict': task_dict,
}

task = rocoto.create_task(metatask_dict)

return task

def ediag(self):
deps = []
dep_dict = {'type': 'task', 'name': f'{self.run}_eobs'}
Expand All @@ -2654,10 +2618,7 @@ def ediag(self):

def eupd(self):
deps = []
if self.options['lobsdiag_forenkf']:
dep_dict = {'type': 'task', 'name': f'{self.run}_ediag'}
else:
dep_dict = {'type': 'metatask', 'name': f'{self.run}_eomg'}
dep_dict = {'type': 'task', 'name': f'{self.run}_ediag'}
deps.append(rocoto.add_dependency(dep_dict))
dependencies = rocoto.create_dependency(dep=deps)

Expand Down
2 changes: 1 addition & 1 deletion workflow/rocoto/tasks.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@ class Tasks:
'prepatmiodaobs', 'atmanlinit', 'atmanlvar', 'atmanlfv3inc', 'atmanlfinal',
'prepoceanobs',
'marineanlinit', 'marineanlletkf', 'marinebmat', 'marineanlvar', 'ocnanalecen', 'marineanlchkpt', 'marineanlfinal', 'ocnanalvrfy',
'eobs', 'epos', 'esfc', 'eupd',
'earc_vrfy', 'earc_tars', 'ecen', 'echgres', 'ediag', 'efcs',
'eobs', 'eomg', 'epos', 'esfc', 'eupd',
'atmensanlinit', 'atmensanlobs', 'atmensanlsol', 'atmensanlletkf', 'atmensanlfv3inc', 'atmensanlfinal',
'aeroanlinit', 'aeroanlvar', 'aeroanlfinal', 'aeroanlgenb',
'snowanl', 'esnowanl',
Expand Down