Skip to content

Commit 5c1148a

Browse files
Merge branch 'feature/marineenvar' of https://github.com/guillaumevernieres/global-workflow into feature/marineenvar
2 parents 446b3a2 + 4fe50dd commit 5c1148a

32 files changed

+226
-158
lines changed

.gitignore

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -171,11 +171,6 @@ ush/bufr2ioda_insitu*
171171
versions/build.ver
172172
versions/run.ver
173173

174-
# wxflow checkout and symlinks
175-
ush/python/wxflow
176-
workflow/wxflow
177-
ci/scripts/wxflow
178-
179174
# jcb checkout and symlinks
180175
ush/python/jcb
181176
workflow/jcb

ci/cases/pr/C48mx500_hybAOWCDA.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ arguments:
1010
resdetocean: 5.0
1111
comroot: {{ 'RUNTESTS' | getenv }}/COMROOT
1212
expdir: {{ 'RUNTESTS' | getenv }}/EXPDIR
13+
# TODO: Stage IC's on HPC
1314
#icsdir: {{ 'ICSDIR_ROOT' | getenv }}/C48mx500/20240610
1415
icsdir: /work/noaa/da/gvernier/ensda/ictest
1516
#icsdir: /scratch2/NCEPDEV/ocean/Guillaume.Vernieres/data/prepics/ictest/

ci/scripts/wxflow

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../../sorc/wxflow/src/wxflow

env/HERA.env

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ fi
99

1010
step=$1
1111

12-
export launcher="srun -l --export=ALL"
12+
export launcher="srun -l --export=ALL --hint=nomultithread"
1313
export mpmd_opt="--multi-prog --output=mpmd.%j.%t.out"
1414

1515
#export POSTAMBLE_CMD='report-mem'
@@ -50,7 +50,7 @@ if [[ "${step}" = "prep" ]] || [[ "${step}" = "prepbufr" ]]; then
5050
export POE="NO"
5151
export BACK="NO"
5252
export sys_tp="HERA"
53-
export launcher_PREP="srun"
53+
export launcher_PREP="srun --hint=nomultithread"
5454

5555
elif [[ "${step}" = "prepsnowobs" ]]; then
5656

@@ -153,10 +153,10 @@ elif [[ "${step}" = "ocnanalecen" ]]; then
153153
export NTHREADS_OCNANALECEN=${NTHREADSmax}
154154
export APRUN_OCNANALECEN="${APRUN_default} --cpus-per-task=${NTHREADS_OCNANALECEN}"
155155

156-
elif [[ "${step}" = "marineanalletkf" ]]; then
156+
elif [[ "${step}" = "marineanlletkf" ]]; then
157157

158-
export NTHREADS_MARINEANALLETKF=${NTHREADSmax}
159-
export APRUN_MARINEANALLETKF="${APRUN_default} --cpus-per-task=${NTHREADS_MARINEANALLETKF}"
158+
export NTHREADS_MARINEANLLETKF=${NTHREADSmax}
159+
export APRUN_MARINEANLLETKF=${APRUN_default}
160160

161161
elif [[ "${step}" = "anal" ]] || [[ "${step}" = "analcalc" ]]; then
162162

env/HERCULES.env

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ fi
99

1010
step=$1
1111

12-
export launcher="srun -l --export=ALL"
12+
export launcher="srun -l --export=ALL --hint=nomultithread"
1313
export mpmd_opt="--multi-prog --output=mpmd.%j.%t.out"
1414

1515
# Configure MPI environment
@@ -48,7 +48,7 @@ case ${step} in
4848
export POE="NO"
4949
export BACK=${BACK:-"YES"}
5050
export sys_tp="HERCULES"
51-
export launcher_PREP="srun"
51+
export launcher_PREP="srun --hint=nomultithread"
5252
;;
5353
"prepsnowobs")
5454

env/ORION.env

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ fi
99

1010
step=$1
1111

12-
export launcher="srun -l --export=ALL"
12+
export launcher="srun -l --export=ALL --hint=nomultithread"
1313
export mpmd_opt="--multi-prog --output=mpmd.%j.%t.out"
1414

1515
# Configure MPI environment
@@ -45,7 +45,7 @@ if [[ "${step}" = "prep" ]] || [[ "${step}" = "prepbufr" ]]; then
4545
export POE="NO"
4646
export BACK=${BACK:-"YES"}
4747
export sys_tp="ORION"
48-
export launcher_PREP="srun"
48+
export launcher_PREP="srun --hint=nomultithread"
4949

5050
elif [[ "${step}" = "prepsnowobs" ]]; then
5151

@@ -149,10 +149,10 @@ elif [[ "${step}" = "ocnanalecen" ]]; then
149149
export NTHREADS_OCNANALECEN=${NTHREADSmax}
150150
export APRUN_OCNANALECEN="${APRUN_default} --cpus-per-task=${NTHREADS_OCNANALECEN}"
151151

152-
elif [[ "${step}" = "marineanalletkf" ]]; then
152+
elif [[ "${step}" = "marineanlletkf" ]]; then
153153

154-
export NTHREADS_MARINEANALLETKF=${NTHREADSmax}
155-
export APRUN_MARINEANALLETKF="${APRUN_default} --cpus-per-task=${NTHREADS_MARINEANALLETKF}"
154+
export NTHREADS_MARINEANLLETKF=${NTHREADSmax}
155+
export APRUN_MARINEANLLETKF="${APRUN_default}"
156156

157157
elif [[ "${step}" = "anal" ]] || [[ "${step}" = "analcalc" ]]; then
158158

env/WCOSS2.env

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -126,10 +126,10 @@ elif [[ "${step}" = "ocnanalecen" ]]; then
126126
export NTHREADS_OCNANALECEN=${NTHREADSmax}
127127
export APRUN_OCNANALECEN="${APRUN_default} --cpus-per-task=${NTHREADS_OCNANALECEN}"
128128

129-
elif [[ "${step}" = "marineanalletkf" ]]; then
129+
elif [[ "${step}" = "marineanlletkf" ]]; then
130130

131-
export NTHREADS_MARINEANALLETKF=${NTHREADSmax}
132-
export APRUN_MARINEANALLETKF="${APRUN_default} --cpus-per-task=${NTHREADS_MARINEANALLETKF}"
131+
export NTHREADS_MARINEANLLETKF=${NTHREADSmax}
132+
export APRUN_MARINEANLLETKF="${APRUN_default}"
133133

134134
elif [[ "${step}" = "atmanlfv3inc" ]]; then
135135

jobs/JGDAS_ATMOS_ANALYSIS_DIAG

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,9 @@ export OPREFIX="${RUN/enkf}.t${cyc}z."
2727
export GPREFIX="${GDUMP}.t${gcyc}z."
2828
export APREFIX="${RUN}.t${cyc}z."
2929

30-
YMD=${PDY} HH=${cyc} declare_from_tmpl -rx COM_ATMOS_ANALYSIS
31-
mkdir -m 775 -p "${COM_ATMOS_ANALYSIS}"
30+
YMD=${PDY} HH=${cyc} declare_from_tmpl -rx \
31+
COMOUT_ATMOS_ANALYSIS:COM_ATMOS_ANALYSIS_TMPL
32+
mkdir -m 775 -p "${COMOUT_ATMOS_ANALYSIS}"
3233

3334
###############################################################
3435
# Run relevant script

jobs/JGDAS_ENKF_DIAG

Lines changed: 25 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -30,56 +30,58 @@ export APREFIX="${RUN}.t${cyc}z."
3030
export GPREFIX="${GDUMP_ENS}.t${gcyc}z."
3131
GPREFIX_DET="${GDUMP}.t${gcyc}z."
3232

33-
RUN=${RUN/enkf} YMD=${PDY} HH=${cyc} declare_from_tmpl -rx COM_OBS
34-
MEMDIR="ensstat" YMD=${PDY} HH=${cyc} declare_from_tmpl -rx COM_ATMOS_ANALYSIS
33+
RUN=${RUN/enkf} YMD=${PDY} HH=${cyc} declare_from_tmpl -rx \
34+
COMIN_OBS:COM_OBS_TMPL
35+
MEMDIR="ensstat" YMD=${PDY} HH=${cyc} declare_from_tmpl -rx \
36+
COMOUT_ATMOS_ANALYSIS:COM_ATMOS_ANALYSIS_TMPL
3537

3638
RUN=${GDUMP} YMD=${gPDY} HH=${gcyc} declare_from_tmpl -rx \
37-
COM_OBS_PREV:COM_OBS_TMPL \
38-
COM_ATMOS_ANALYSIS_DET_PREV:COM_ATMOS_ANALYSIS_TMPL
39+
COMIN_OBS_PREV:COM_OBS_TMPL \
40+
COMIN_ATMOS_ANALYSIS_DET_PREV:COM_ATMOS_ANALYSIS_TMPL
3941

4042
MEMDIR="ensstat" RUN=${GDUMP_ENS} YMD=${gPDY} HH=${gcyc} declare_from_tmpl -rx \
41-
COM_ATMOS_HISTORY_PREV:COM_ATMOS_HISTORY_TMPL
43+
COMIN_ATMOS_HISTORY_PREV:COM_ATMOS_HISTORY_TMPL
4244

4345

44-
export ATMGES_ENSMEAN="${COM_ATMOS_HISTORY_PREV}/${GPREFIX}atmf006.ensmean.nc"
46+
export ATMGES_ENSMEAN="${COMIN_ATMOS_HISTORY_PREV}/${GPREFIX}atmf006.ensmean.nc"
4547
if [ ! -f ${ATMGES_ENSMEAN} ]; then
4648
echo "FATAL ERROR: FILE MISSING: ATMGES_ENSMEAN = ${ATMGES_ENSMEAN}"
4749
exit 1
4850
fi
4951

5052
# Link observational data
51-
export PREPQC="${COM_OBS}/${OPREFIX}prepbufr"
53+
export PREPQC="${COMIN_OBS}/${OPREFIX}prepbufr"
5254
if [[ ! -f ${PREPQC} ]]; then
5355
echo "WARNING: Global PREPBUFR FILE ${PREPQC} MISSING"
5456
fi
55-
export TCVITL="${COM_OBS}/${OPREFIX}syndata.tcvitals.tm00"
57+
export TCVITL="${COMIN_OBS}/${OPREFIX}syndata.tcvitals.tm00"
5658
if [[ ${DONST} = "YES" ]]; then
57-
export NSSTBF="${COM_OBS}/${OPREFIX}nsstbufr"
59+
export NSSTBF="${COMIN_OBS}/${OPREFIX}nsstbufr"
5860
fi
59-
export PREPQCPF="${COM_OBS}/${OPREFIX}prepbufr.acft_profiles"
61+
export PREPQCPF="${COMIN_OBS}/${OPREFIX}prepbufr.acft_profiles"
6062

6163
# Guess Bias correction coefficients related to control
62-
export GBIAS=${COM_ATMOS_ANALYSIS_DET_PREV}/${GPREFIX_DET}abias
63-
export GBIASPC=${COM_ATMOS_ANALYSIS_DET_PREV}/${GPREFIX_DET}abias_pc
64-
export GBIASAIR=${COM_ATMOS_ANALYSIS_DET_PREV}/${GPREFIX_DET}abias_air
65-
export GRADSTAT=${COM_ATMOS_ANALYSIS_DET_PREV}/${GPREFIX_DET}radstat
64+
export GBIAS=${COMIN_ATMOS_ANALYSIS_DET_PREV}/${GPREFIX_DET}abias
65+
export GBIASPC=${COMIN_ATMOS_ANALYSIS_DET_PREV}/${GPREFIX_DET}abias_pc
66+
export GBIASAIR=${COMIN_ATMOS_ANALYSIS_DET_PREV}/${GPREFIX_DET}abias_air
67+
export GRADSTAT=${COMIN_ATMOS_ANALYSIS_DET_PREV}/${GPREFIX_DET}radstat
6668

6769
# Bias correction coefficients related to ensemble mean
68-
export ABIAS="${COM_ATMOS_ANALYSIS}/${APREFIX}abias.ensmean"
69-
export ABIASPC="${COM_ATMOS_ANALYSIS}/${APREFIX}abias_pc.ensmean"
70-
export ABIASAIR="${COM_ATMOS_ANALYSIS}/${APREFIX}abias_air.ensmean"
71-
export ABIASe="${COM_ATMOS_ANALYSIS}/${APREFIX}abias_int.ensmean"
70+
export ABIAS="${COMOUT_ATMOS_ANALYSIS}/${APREFIX}abias.ensmean"
71+
export ABIASPC="${COMOUT_ATMOS_ANALYSIS}/${APREFIX}abias_pc.ensmean"
72+
export ABIASAIR="${COMOUT_ATMOS_ANALYSIS}/${APREFIX}abias_air.ensmean"
73+
export ABIASe="${COMOUT_ATMOS_ANALYSIS}/${APREFIX}abias_int.ensmean"
7274

7375
# Diagnostics related to ensemble mean
74-
export GSISTAT="${COM_ATMOS_ANALYSIS}/${APREFIX}gsistat.ensmean"
75-
export CNVSTAT="${COM_ATMOS_ANALYSIS}/${APREFIX}cnvstat.ensmean"
76-
export OZNSTAT="${COM_ATMOS_ANALYSIS}/${APREFIX}oznstat.ensmean"
77-
export RADSTAT="${COM_ATMOS_ANALYSIS}/${APREFIX}radstat.ensmean"
76+
export GSISTAT="${COMOUT_ATMOS_ANALYSIS}/${APREFIX}gsistat.ensmean"
77+
export CNVSTAT="${COMOUT_ATMOS_ANALYSIS}/${APREFIX}cnvstat.ensmean"
78+
export OZNSTAT="${COMOUT_ATMOS_ANALYSIS}/${APREFIX}oznstat.ensmean"
79+
export RADSTAT="${COMOUT_ATMOS_ANALYSIS}/${APREFIX}radstat.ensmean"
7880

7981
# Select observations based on ensemble mean
8082
export RUN_SELECT="YES"
8183
export USE_SELECT="NO"
82-
export SELECT_OBS="${COM_ATMOS_ANALYSIS}/${APREFIX}obsinput.ensmean"
84+
export SELECT_OBS="${COMOUT_ATMOS_ANALYSIS}/${APREFIX}obsinput.ensmean"
8385

8486
export DIAG_SUFFIX="_ensmean"
8587
export DIAG_COMPRESS="NO"

jobs/JGLOBAL_MARINE_ANALYSIS_LETKF

Lines changed: 19 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,13 @@
11
#!/bin/bash
22
source "${HOMEgfs}/ush/preamble.sh"
3-
source "${HOMEgfs}/ush/jjob_header.sh" -e "marineanalletkf" -c "base ocnanal marineanalletkf"
3+
4+
export DATAjob="${DATAROOT}/${RUN}marineanalysis.${PDY:-}${cyc}"
5+
export DATA="${DATAjob}/${jobid}"
6+
# Create the directory to hold ensemble perturbations
7+
export DATAens="${DATAjob}/ensdata"
8+
if [[ ! -d "${DATAens}" ]]; then mkdir -p "${DATAens}"; fi
9+
10+
source "${HOMEgfs}/ush/jjob_header.sh" -e "marineanlletkf" -c "base marineanl marineanlletkf"
411

512
##############################################
613
# Set variables used in the script
@@ -11,12 +18,18 @@ GDATE=$(date --utc +%Y%m%d%H -d "${PDY} ${cyc} - ${assim_freq} hours")
1118

1219
gPDY=${GDATE:0:8}
1320
gcyc=${GDATE:8:2}
21+
export GDUMP="gdas"
22+
export GDUMP_ENS="enkf${GDUMP}"
23+
export OPREFIX="${RUN}.t${cyc}z."
1424

15-
YMD=${gPDY} HH=${gcyc} declare_from_tmpl -rx \
16-
COMIN_OCEAN_HISTORY_PREV:COM_OCEAN_HISTORY_TMPL \
17-
COMIN_ICE_HISTORY_PREV:COM_ICE_HISTORY_TMPL
25+
RUN="${GDUMP}" YMD=${gPDY} HH=${gcyc} declare_from_tmpl -rx \
26+
COMIN_OCEAN_HISTORY_PREV:COM_OCEAN_HISTORY_TMPL \
27+
COMIN_ICE_HISTORY_PREV:COM_ICE_HISTORY_TMPL
1828

19-
YMD=${PDY} HH=${cyc} declare_from_tmpl -rx COMIN_OBS:COM_OBS_TMPL
29+
YMD=${PDY} HH=${cyc} declare_from_tmpl -rx \
30+
COMIN_OBS:COM_OBS_TMPL \
31+
COMOUT_OCEAN_LETKF:COM_OCEAN_LETKF_TMPL \
32+
COMOUT_ICE_LETKF:COM_ICE_LETKF_TMPL
2033

2134
##############################################
2235
# Begin JOB SPECIFIC work
@@ -25,7 +38,7 @@ YMD=${PDY} HH=${cyc} declare_from_tmpl -rx COMIN_OBS:COM_OBS_TMPL
2538
###############################################################
2639
# Run relevant script
2740

28-
EXSCRIPT=${GDASOCNLETKFPY:-${HOMEgfs}/scripts/exgdas_global_marine_analysis_letkf.py}
41+
EXSCRIPT=${GDASOCNLETKFPY:-${HOMEgfs}/scripts/exglobal_marine_analysis_letkf.py}
2942
${EXSCRIPT}
3043
status=$?
3144
[[ ${status} -ne 0 ]] && exit "${status}"

jobs/rocoto/marineanalletkf.sh renamed to jobs/rocoto/marineanlletkf.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ source "${HOMEgfs}/ush/preamble.sh"
88
status=$?
99
[[ ${status} -ne 0 ]] && exit "${status}"
1010

11-
export job="marineanalletkf"
11+
export job="marineanlletkf"
1212
export jobid="${job}.$$"
1313

1414
###############################################################

parm/config/gefs/config.efcs

Lines changed: 1 addition & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -26,18 +26,6 @@ source "${EXPDIR}/config.ufs" ${string}
2626
# Get task specific resources
2727
source "${EXPDIR}/config.resources" efcs
2828

29-
# nggps_diag_nml
30-
export FHOUT=${FHOUT_ENKF:-3}
31-
if [[ "${RUN}" == "enkfgfs" ]]; then
32-
export FHOUT=${FHOUT_ENKF_GFS:-${FHOUT}}
33-
fi
34-
35-
# model_configure
36-
export FHMAX=${FHMAX_ENKF:-9}
37-
if [[ "${RUN}" == "enkfgfs" ]]; then
38-
export FHMAX=${FHMAX_ENKF_GFS:-${FHMAX}}
39-
fi
40-
4129
# Stochastic physics parameters (only for ensemble forecasts)
4230
export DO_SKEB="YES"
4331
export SKEB="0.8,-999,-999,-999,-999"
@@ -74,6 +62,6 @@ if [[ "${REPLAY_ICS:-NO}" == "YES" ]]; then
7462
else
7563
export ODA_INCUPD="False"
7664
fi
77-
export restart_interval="${restart_interval_enkfgfs:-12}"
65+
export restart_interval="${restart_interval_gfs:-12}"
7866

7967
echo "END: config.efcs"

parm/config/gefs/config.fcst

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,8 @@ IFS=', ' read -ra segments <<< "${FCST_SEGMENTS}"
3535
# Determine MIN and MAX based on the forecast segment
3636
export FHMIN=${segments[${FCST_SEGMENT}]}
3737
export FHMAX=${segments[${FCST_SEGMENT}+1]}
38-
# Cap other FHMAX variables at FHMAX for the segment
38+
# Cap other FH variables at FHMAX for the segment
39+
export FHMIN_WAV=$(( FHMIN > FHMIN_WAV ? FHMIN : FHMIN_WAV ))
3940
export FHMAX_HF=$(( FHMAX_HF_GFS > FHMAX ? FHMAX : FHMAX_HF_GFS ))
4041
export FHMAX_WAV=$(( FHMAX_WAV > FHMAX ? FHMAX : FHMAX_WAV ))
4142
# shellcheck disable=SC2153

parm/config/gfs/config.com

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,12 +82,14 @@ declare -rx COM_OCEAN_HISTORY_TMPL=${COM_BASE}'/model/ocean/history'
8282
declare -rx COM_OCEAN_RESTART_TMPL=${COM_BASE}'/model/ocean/restart'
8383
declare -rx COM_OCEAN_INPUT_TMPL=${COM_BASE}'/model/ocean/input'
8484
declare -rx COM_OCEAN_ANALYSIS_TMPL=${COM_BASE}'/analysis/ocean'
85+
declare -rx COM_OCEAN_LETKF_TMPL=${COM_BASE}'/analysis/ocean/letkf'
8586
declare -rx COM_OCEAN_BMATRIX_TMPL=${COM_BASE}'/bmatrix/ocean'
8687
declare -rx COM_OCEAN_NETCDF_TMPL=${COM_BASE}'/products/ocean/netcdf'
8788
declare -rx COM_OCEAN_GRIB_TMPL=${COM_BASE}'/products/ocean/grib2'
8889
declare -rx COM_OCEAN_GRIB_GRID_TMPL=${COM_OCEAN_GRIB_TMPL}'/${GRID}'
8990

9091
declare -rx COM_ICE_ANALYSIS_TMPL=${COM_BASE}'/analysis/ice'
92+
declare -rx COM_ICE_LETKF_TMPL=${COM_BASE}'/analysis/ice/letkf'
9193
declare -rx COM_ICE_BMATRIX_TMPL=${COM_BASE}'/bmatrix/ice'
9294
declare -rx COM_ICE_INPUT_TMPL=${COM_BASE}'/model/ice/input'
9395
declare -rx COM_ICE_HISTORY_TMPL=${COM_BASE}'/model/ice/history'

parm/config/gfs/config.fcst

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,8 @@ case ${RUN} in
3838
# Determine MIN and MAX based on the forecast segment
3939
export FHMIN=${segments[${FCST_SEGMENT}]}
4040
export FHMAX=${segments[${FCST_SEGMENT}+1]}
41-
# Cap other FHMAX variables at FHMAX for the segment
41+
# Cap other FH variables at FHMAX for the segment
42+
export FHMIN_WAV=$(( FHMIN > FHMIN_WAV ? FHMIN : FHMIN_WAV ))
4243
export FHMAX_HF=$(( FHMAX_HF_GFS > FHMAX ? FHMAX : FHMAX_HF_GFS ))
4344
export FHMAX_WAV=$(( FHMAX_WAV > FHMAX ? FHMAX : FHMAX_WAV ))
4445
# shellcheck disable=SC2153

parm/config/gfs/config.marineanalletkf

Lines changed: 0 additions & 18 deletions
This file was deleted.

parm/config/gfs/config.marineanlletkf

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
#!/bin/bash
2+
3+
########## config.marineanlletkf ##########
4+
# Ocn Analysis specific
5+
6+
echo "BEGIN: config.marineanlletkf"
7+
8+
# Get task specific resources
9+
. "${EXPDIR}/config.resources" marineanlletkf
10+
11+
export MARINE_LETKF_EXEC="${EXECgfs}/gdas.x"
12+
export MARINE_LETKF_YAML_TMPL="${PARMgfs}/gdas/soca/letkf/letkf.yaml.j2"
13+
export MARINE_LETKF_STAGE_YAML_TMPL="${PARMgfs}/gdas/soca/letkf/letkf_stage.yaml.j2"
14+
export MARINE_LETKF_SAVE_YAML_TMPL="${PARMgfs}/gdas/soca/letkf/letkf_save.yaml.j2"
15+
16+
export GRIDGEN_EXEC="${EXECgfs}/gdas_soca_gridgen.x"
17+
export GRIDGEN_YAML="${PARMgfs}/gdas/soca/gridgen/gridgen.yaml"
18+
export DIST_HALO_SIZE=500000
19+
20+
echo "END: config.marineanlletkf"

parm/config/gfs/config.resources

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -601,7 +601,7 @@ case ${step} in
601601
tasks_per_node=$(( max_tasks_per_node / threads_per_task ))
602602
;;
603603

604-
"marineanalletkf")
604+
"marineanlletkf")
605605
ntasks=16
606606
case ${OCNRES} in
607607
"025")

parm/stage/ocean_ens_perturbations.yaml.j2

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,5 +9,5 @@ ocean_ens_perturbation:
99
{% for mem in range(first_mem + 1, last_mem + 1) %}
1010
{% set imem = mem - first_mem %}
1111
{% set COMOUT_OCEAN_ANALYSIS_MEM = COMOUT_OCEAN_ANALYSIS_MEM_list[imem] %}
12-
- ["{{ ICSDIR }}/{{ COMOUT_OCEAN_ANALYSIS_MEM | relpath(ROTDIR) }}/{{ m_prefix }}.mom6_perturbation.nc", "{{ COMOUT_OCEAN_ANALYSIS_MEM }}/mom6_increment.nc"]
12+
- ["{{ ICSDIR }}/{{ COMOUT_OCEAN_ANALYSIS_MEM | relpath(ROTDIR) }}/{{ m_prefix }}.mom6_perturbation.nc", "{{ COMOUT_OCEAN_ANALYSIS_MEM }}/{{ RUN }}.t{{ current_cycle_HH }}z.ocninc.nc"]
1313
{% endfor %} # mem loop

parm/stage/wave.yaml.j2

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,5 +9,9 @@ wave:
99
{% for mem in range(first_mem, last_mem + 1) %}
1010
{% set imem = mem - first_mem %}
1111
{% set COMOUT_WAVE_RESTART_PREV_MEM = COMOUT_WAVE_RESTART_PREV_MEM_list[imem] %}
12-
- ["{{ ICSDIR }}/{{ COMOUT_WAVE_RESTART_PREV_MEM | relpath(ROTDIR) }}/{{ m_prefix }}.restart.{{ waveGRD }}", "{{ COMOUT_WAVE_RESTART_PREV_MEM }}"]
12+
{% if path_exists(ICSDIR ~ "/" ~ COMOUT_WAVE_RESTART_PREV_MEM | relpath(ROTDIR) ~ "/" ~ m_prefix ~ ".restart." ~ waveGRD) %}
13+
- ["{{ ICSDIR }}/{{ COMOUT_WAVE_RESTART_PREV_MEM | relpath(ROTDIR) }}/{{ m_prefix }}.restart.{{ waveGRD }}", "{{ COMOUT_WAVE_RESTART_PREV_MEM }}/{{ m_prefix }}.restart.ww3"]
14+
{% else %}
15+
- ["{{ ICSDIR }}/{{ COMOUT_WAVE_RESTART_PREV_MEM | relpath(ROTDIR) }}/{{ m_prefix }}.restart.ww3", "{{ COMOUT_WAVE_RESTART_PREV_MEM }}"]
16+
{% endif %}
1317
{% endfor %} # mem loop

0 commit comments

Comments
 (0)