Skip to content

Commit 50e97c1

Browse files
Merge branch 'develop' into feature/prep_emis_rework
2 parents 6b81e77 + 61222b7 commit 50e97c1

27 files changed

+609
-350
lines changed

.github/CODEOWNERS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -150,6 +150,7 @@ ush/bash_utils.sh
150150
ush/calcanl_gfs.py @CoryMartin-NOAA
151151
ush/calcinc_gfs.py @CoryMartin-NOAA
152152
ush/detect_machine.sh
153+
ush/create_gs_info.sh @jswhit2 @DavidHuber-NOAA
153154
ush/extractvars_tools.sh @EricSinsky-NOAA
154155
ush/file_utils.sh
155156
ush/forecast_det.sh @aerorahul

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@ parm/gdas/spoc
6060
parm/gdas/stat
6161
parm/gdas/jcb-gdas
6262
parm/gdas/jcb-algorithms
63+
parm/gsinfo
6364
parm/gdas/spoc
6465
parm/monitor
6566
parm/post/nam_micro_lookup.dat

dev/parm/config/gfs/config.anal

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -150,6 +150,23 @@ if [[ ${RUN_ENVIR} == "emc" ]]; then
150150
# fi
151151
fi
152152

153+
if [[ ${USE_BUILD_GSINFO} == "YES" ]]; then
154+
# these will be set based on date in scripts/exglobal_atmos_analysis.sh
155+
export SATINFO="generate"
156+
export CONVINFO="generate"
157+
export OZINFO="generate"
158+
# this can be over-ridden, for example to use NASA's netcdf ozone files use obs_input_reanl_nasa_ozone.txt.
159+
export OBS_INPUT="${BUILD_GSINFO_DIR}/obs_input/obs_input_reanl_ncep_ozone.txt"
160+
161+
# Use 2m observations when constructing conventional obs info file
162+
# can use 2m obs without enabling soil DA by setting USE_2M_OBS=YES in config.base
163+
export USE_2M_OBS="${USE_2M_OBS:-DO_GSISOILDA}"
164+
else
165+
export OBS_INPUT="${BUILD_GSINFO_DIR}/obs_input/obs_input_ops.txt"
166+
fi
167+
# path to "fixed" crtm coefficient files (needed for crtm < 3)
168+
export HIRS_FIX="${BUILD_GSINFO_DIR}/hirs_fix"
169+
153170
# Flag to turn on (.true.) or off (.false.) the infrared cloud and aerosol detection software
154171
# for AIRS, CrIS, and IASI. Default is .false.
155172
export AIRS_CADS=".false."

dev/parm/config/gfs/config.base.j2

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -184,6 +184,7 @@ if [[ "${RUN}" == "gfs" ]] ; then
184184
else
185185
export DOBNDPNT_WAVE="NO"
186186
fi
187+
187188
export FRAC_GRID=".true."
188189
export DO_NEST="NO" # Whether to run a global-nested domain
189190
if [[ "${DO_NEST:-NO}" == "YES" ]] ; then
@@ -384,6 +385,8 @@ export SMOOTH_ENKF="NO"
384385
export l4densvar=".true."
385386
export lwrite4danl=".true."
386387
export DO_CALC_INCREMENT="NO"
388+
export USE_BUILD_GSINFO="YES"
389+
export BUILD_GSINFO_DIR="${PARMgfs}/gsinfo"
387390

388391
# Early-cycle EnKF parameters
389392
export NMEM_ENS_GFS="{{ NMEM_ENS_GFS }}"

dev/parm/config/gfs/config.resources

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1317,9 +1317,15 @@ case ${step} in
13171317

13181318
"esfc")
13191319
walltime="01:15:00"
1320-
ntasks=80
1320+
ntasks=$(( NMEM_ENS * 6)) # The regrid program requires tasks to be tiles times members
13211321
threads_per_task=1
1322-
tasks_per_node=$(( max_tasks_per_node / threads_per_task ))
1322+
1323+
# Use node_numerator/node_denominator of the tasks in a node
1324+
# to leave enough memory for regridding
1325+
node_numerator=1
1326+
node_denominator=2
1327+
tasks_per_node=$(( node_numerator*max_tasks_per_node/node_denominator ))
1328+
13231329
threads_per_task_cycle=${threads_per_task}
13241330
tasks_per_node_cycle=$(( max_tasks_per_node / threads_per_task_cycle ))
13251331
;;

docs/source/configure.rst

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,3 +70,8 @@ The global-workflow configs contain switches that change how the system runs. Ma
7070
| WRITE_DOPOST | Run inline post | .true. | NO | If .true. produces master post output in forecast |
7171
| | | | | job |
7272
+------------------+----------------------------------+---------------+-------------+---------------------------------------------------+
73+
| USE_BUILD_GSINFO | Build the GSI info files | YES | NO | If YES, the GSI analysis jobs will build the |
74+
| | | | | satinfo, cnvinfo, and ozinfo files dynamically. |
75+
| | | | | If NO, static versions located in the GSI FIX |
76+
| | | | | directory will be used. |
77+
+------------------+----------------------------------+---------------+-------------+---------------------------------------------------+

env/AWSPW.env

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,9 @@ elif [[ "${step}" = "esfc" ]]; then
107107
export NTHREADS_CYCLE=${threads_per_task_cycle:-1}
108108
export APRUN_CYCLE="${APRUN_default} --cpus-per-task=${NTHREADS_CYCLE}"
109109

110+
# REGRID requires 6*NMEM_ENS tasks for reproducibility
111+
export APRUN_REGRID="${launcher} -n ${ntasks}"
112+
110113
elif [[ "${step}" = "upp" ]]; then
111114

112115
export NTHREADS_UPP=1

env/AZUREPW.env

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,9 @@ elif [[ "${step}" = "esfc" ]]; then
107107
fi
108108
export APRUN_CYCLE="${APRUN_default}"
109109

110+
# REGRID requires 6*NMEM_ENS tasks for reproducibility
111+
export APRUN_REGRID="${launcher} -n ${ntasks}"
112+
110113
elif [[ "${step}" = "epos" ]]; then
111114

112115
export NTHREADS_EPOS=${NTHREADSmax}

env/GAEAC5.env

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -285,9 +285,8 @@ case ${step} in
285285
fi
286286
export APRUN_CYCLE="${APRUN_default} --cpus-per-task=${NTHREADS_CYCLE}"
287287

288-
# REGRID requires 6 tasks for reproducibility
289-
ntasks_regrid=6
290-
export APRUN_REGRID="${launcher} -n ${ntasks_regrid} "
288+
# REGRID requires 6*NMEM_ENS tasks for reproducibility
289+
export APRUN_REGRID="${launcher} -n ${ntasks}"
291290

292291
;;
293292
"epos")

env/GAEAC6.env

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -317,9 +317,8 @@ case ${step} in
317317
fi
318318
export APRUN_CYCLE="${APRUN_default} --cpus-per-task=${NTHREADS_CYCLE}"
319319

320-
# REGRID requires 6 tasks for reproducibility
321-
ntasks_regrid=6
322-
export APRUN_REGRID="${launcher} -n ${ntasks_regrid} "
320+
# REGRID requires 6*NMEM_ENS tasks for reproducibility
321+
export APRUN_REGRID="${launcher} -n ${ntasks}"
323322

324323
;;
325324
"epos")

0 commit comments

Comments
 (0)