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

Port to S4 #1023

Merged
merged 116 commits into from
Oct 8, 2022
Merged
Show file tree
Hide file tree
Changes from 113 commits
Commits
Show all changes
116 commits
Select commit Hold shift + click to select a range
eb099df
Initial port to S4 for current develop branch (#138)
DavidHuber-NOAA Aug 16, 2021
24898aa
Modified resources for the analysis jobs on S4.
DavidHuber-NOAA Oct 6, 2021
67e2293
Removed debug options from build scripts. (#138)
DavidHuber-NOAA Oct 6, 2021
5336011
Updated links in the S4 port. (#138)
DavidHuber-NOAA Oct 6, 2021
3793ee9
Force partition options to lowercase on S4 in setup scripts. (#138)
DavidHuber-NOAA Oct 6, 2021
390f771
Updated S4.env to match recent changes. (#138)
DavidHuber-NOAA Oct 6, 2021
5079e2f
Changed the order of workflow module loads for NCIO. (#138)
DavidHuber-NOAA Oct 6, 2021
ef23eb5
unify setup_expt*.py scripts
aerorahul Dec 14, 2021
1ad4953
Merge remote-tracking branch 'upstream/develop' into port_2_s4
DavidHuber-NOAA Dec 21, 2021
e187242
unify setup_expt*.py scripts
aerorahul Dec 14, 2021
b67b766
add methods to create entity and cycledef
aerorahul Dec 23, 2021
39a5ebd
Merge branch 'feature/unify-setup-expt' of https://github.com/NOAA-EM…
aerorahul Dec 23, 2021
10b1b77
Use the python3 interpretor
aerorahul Dec 23, 2021
f4a3f3b
further clean directory creating logic
aerorahul Jan 4, 2022
587e692
Updated S4 port with coupled changes. (#138)
DavidHuber-NOAA Jan 11, 2022
22e06d4
Added a local archive option. (#138)
DavidHuber-NOAA Jan 11, 2022
43b8d1b
Updates for P8a (#538)
JessicaMeixner-NOAA Jan 6, 2022
2c42478
Corrected C384 forecast resources for S4. (#138)
DavidHuber-NOAA Jan 11, 2022
be9aa62
Merge remote-tracking branch 'upstream/develop' into port_2_s4
DavidHuber-NOAA Jan 26, 2022
908587e
Merge branch 'develop' into feature/unify-setup-expt
aerorahul Jan 30, 2022
394f684
clean up comrot and expdir
aerorahul Jan 30, 2022
5babadc
add basic doc blocks
aerorahul Jan 31, 2022
4a6cb70
Fix separate threading for gfs and gdas forecasts.
DavidHuber-NOAA Jan 31, 2022
f1b9393
Cleaned up forecast_predet.sh, added threading info to WCOSS envs.
DavidHuber-NOAA Jan 31, 2022
cd62ddc
Added nth_fv3_gfs to env gfs if-block.
DavidHuber-NOAA Feb 1, 2022
3b5cd00
Add local ROTDIR archive option.
DavidHuber-NOAA Feb 1, 2022
4625caf
Added default ATARDIR for each system.
Feb 1, 2022
1bbd0d8
Fix exp setup config.base message
WalterKolczynski-NOAA Feb 1, 2022
4f869f6
Merge remote-tracking branch 'upstream/feature/unify-setup-expt' into…
Feb 1, 2022
5beeeff
Merge remote-tracking branch 'upstream/develop' into add_localarch
Feb 2, 2022
4350b00
Improved gfsmos local archiving.
Feb 2, 2022
a1dd82e
Merge remote-tracking branch 'upstream/develop' into add_localarch
Feb 3, 2022
669511c
Don't ignore missing files in arc jobs; check for eomg logs.
Feb 3, 2022
ca86433
Restored lines deleted from setup_expt.py during merge.
Feb 3, 2022
ac3d93c
Merge remote-tracking branch 'upstream/develop' into port_2_s4
DavidHuber-NOAA Feb 8, 2022
bfd1509
Deleted lines accidentally retained during merge.
DavidHuber-NOAA Feb 8, 2022
3743b7e
Merge remote-tracking branch 'origin/add_localarch' into port_2_s4
DavidHuber-NOAA Feb 8, 2022
5dbc45b
Merge remote-tracking branch 'origin/fix_threading' into port_2_s4
DavidHuber-NOAA Feb 8, 2022
a3cfa5c
Merge remote-tracking branch 'upstream/develop' into port_2_s4
DavidHuber-NOAA Feb 9, 2022
9aa8313
Added S4 to valid machine list in workflow_utils. #138
DavidHuber-NOAA Feb 9, 2022
c378ce9
Merge remote-tracking branch 'upstream/develop' into port_2_s4
DavidHuber-NOAA Feb 9, 2022
81abca6
Updated S4.env to include gfs/gdas threading. #138
DavidHuber-NOAA Feb 9, 2022
f5c283a
Fixed workflow build flags for S4. #138
DavidHuber-NOAA Feb 10, 2022
8da93b3
Corrected resources for S4. #138
DavidHuber-NOAA Feb 10, 2022
cf405f1
Removed unneeded ulimit command. #138
DavidHuber-NOAA Feb 10, 2022
fd8c3db
Fixed fv3 resources for ENKF C96 forecasts. #138
DavidHuber-NOAA Feb 10, 2022
ece0d16
Merge remote-tracking branch 'upstream/develop' into port_2_s4
DavidHuber-NOAA Feb 16, 2022
39e4265
Fix s4 module load order. #138
DavidHuber-NOAA Feb 16, 2022
f3365d7
Merge remote-tracking branch 'upstream/develop' into port_2_s4
DavidHuber-NOAA Feb 23, 2022
a8f0430
Adjusted S4 coupled forecast walltime requests. #138
DavidHuber-NOAA Feb 23, 2022
6687893
Specified S4 as a tier-2 machine and removed Cray #138
DavidHuber-NOAA Feb 27, 2022
89109bb
Merge remote-tracking branch 'upstream/develop' into port_2_s4
DavidHuber-NOAA Mar 4, 2022
78f7455
Run the prep step in parallel on S4 #138
DavidHuber-NOAA Mar 4, 2022
e332059
Merge remote-tracking branch 'upstream/develop' into port_2_s4
DavidHuber-NOAA Mar 10, 2022
785264e
Move S4-specific tiling to fcst and efcs configs. #138
DavidHuber-NOAA Mar 10, 2022
91f159a
Merge remote-tracking branch 'upstream/develop' into port_2_s4
DavidHuber-NOAA May 10, 2022
619da29
Merge remote-tracking branch 'upstream/develop' into port_2_s4
DavidHuber-NOAA May 31, 2022
fa6d589
Merge remote-tracking branch 'upstream/develop' into port_2_s4
DavidHuber-NOAA Jun 29, 2022
11c5049
Added S4 to link_workflow.sh
DavidHuber-NOAA Jul 21, 2022
7bc384d
Added S4 Lua modulefiles.
DavidHuber-NOAA Jul 21, 2022
30c35b3
Merge remote-tracking branch 'upstream/develop' into port_2_s4
DavidHuber-NOAA Jul 21, 2022
ad92cf5
Merge remote-tracking branch 'upstream/develop' into port_2_s4
DavidHuber-NOAA Aug 3, 2022
9ed9f64
Update S4 environment and module file. #138
DavidHuber-NOAA Aug 19, 2022
3a0fd31
Fixed two bugs affecting S4. #138
DavidHuber-NOAA Aug 19, 2022
0cf101c
Enable overwriting default layout and threads for C384 cases. #138
DavidHuber-NOAA Aug 19, 2022
f11769f
Added S4 to the rocoto workflow setup scripts. #138
DavidHuber-NOAA Aug 19, 2022
6245286
Added coupled IC information for S4. #138
DavidHuber-NOAA Aug 24, 2022
a03ea21
Merge remote-tracking branch 'upstream/develop' into port_2_s4
DavidHuber-NOAA Aug 24, 2022
1b9518f
Corrected aerosol inputs location on S4. #138
DavidHuber-NOAA Aug 25, 2022
9bec2fa
Merge remote-tracking branch 'upstream/develop' into port_2_s4
DavidHuber-NOAA Sep 7, 2022
9faf394
Updated S4 environment script. #138
DavidHuber-NOAA Sep 8, 2022
f632bba
Added nsstbufr file check to support S4. #138
DavidHuber-NOAA Sep 8, 2022
cc75b02
Merge remote-tracking branch 'upstream/develop' into port_2_s4
DavidHuber-NOAA Sep 12, 2022
86b9660
Removed S4 info from the NCO config.fv3 #138
DavidHuber-NOAA Sep 12, 2022
6938727
Fixed spacing #138
DavidHuber-NOAA Sep 12, 2022
32f33e1
Added notes to S4 resources in config.resources. #138
DavidHuber-NOAA Sep 12, 2022
69ee53c
Fixed update that wasn't merged properly to fv3gfs_downstream_nems.sh…
DavidHuber-NOAA Sep 12, 2022
008e3f6
Removed eupd walltime change for S4. #138
DavidHuber-NOAA Sep 12, 2022
e85bfab
Removed unnecessary unset from fcs* configs. #138
DavidHuber-NOAA Sep 13, 2022
2e1d993
Enabled nsstbufr and acft prepbufr creation global options. #138
DavidHuber-NOAA Sep 13, 2022
b6c47b3
Moved S4-specific fcst resources to fix S2S forecasts. #138
DavidHuber-NOAA Sep 14, 2022
4d890cb
Cleaned up comments #138
DavidHuber-NOAA Sep 19, 2022
d5e2086
Updated supported machines list #138
DavidHuber-NOAA Sep 19, 2022
5c62602
Remove S4 reference to S2S+. #138
DavidHuber-NOAA Sep 19, 2022
9755264
Added S2S note for S4 in the README. #138
DavidHuber-NOAA Sep 19, 2022
8898a65
Apply lint fixes. #138
DavidHuber-NOAA Sep 19, 2022
84abbed
Added nsstbufr, acftbufr fix to ENKF scripts. #138
DavidHuber-NOAA Sep 19, 2022
6da1f7d
Apply lint fixes. #138
DavidHuber-NOAA Sep 19, 2022
fbc7171
Address linter warnings. #138
DavidHuber-NOAA Sep 19, 2022
e49ecf1
Fixed shellcheck directive. Address linter errors. #138
DavidHuber-NOAA Sep 19, 2022
a23b38c
Fixed linter warnings. #138
DavidHuber-NOAA Sep 19, 2022
e991e25
Fixed shellcheck error. #138
DavidHuber-NOAA Sep 19, 2022
5118de8
Removed S4 resolution restrictions. #138
DavidHuber-NOAA Sep 21, 2022
53ae609
Addressed linter warnings in S4.env. #138
DavidHuber-NOAA Sep 21, 2022
bb3f90d
Addressed linter warnings in S4.env. #138
DavidHuber-NOAA Sep 21, 2022
cee1d31
Shortened DO_MAKE to MAKE for prepbufr files. #138
DavidHuber-NOAA Sep 23, 2022
95622a5
Cleaned up S4.env and converted it to bash. #138
DavidHuber-NOAA Sep 23, 2022
7abf40d
Renamed DO_MAKEPREPBUFR to MAKE_PREPBUFR. #138
DavidHuber-NOAA Sep 23, 2022
db81379
Merge remote-tracking branch 'upstream/develop' into port_2_s4
DavidHuber-NOAA Sep 23, 2022
c5bd8c2
Address shellcheck warning in prep.sh. #138
DavidHuber-NOAA Sep 23, 2022
380cf39
Remove S4-specific optimizations. #138
DavidHuber-NOAA Sep 27, 2022
5dfddef
Removed S4-specific wtime request for gdaseobs. #138
DavidHuber-NOAA Sep 27, 2022
06311e0
Merge remote-tracking branch 'upstream/develop' into port_2_s4
DavidHuber-NOAA Sep 27, 2022
2fe4e6b
Merge remote-tracking branch 'upstream/develop' into port_2_s4
DavidHuber-NOAA Sep 27, 2022
c75c161
Updated S4 host file with supported resolutions. #138
DavidHuber-NOAA Sep 27, 2022
16ff8dd
Merge remote-tracking branch 'upstream/develop' into port_2_s4
DavidHuber-NOAA Oct 3, 2022
5f018ad
Updates S4 env and host files. #138
DavidHuber-NOAA Oct 3, 2022
a753d4a
Updates S4 hosts file. #138
DavidHuber-NOAA Oct 3, 2022
10513fd
Address lint warnings. #138
DavidHuber-NOAA Oct 3, 2022
86fb021
Merge remote-tracking branch 'upstream/develop' into port_2_s4
DavidHuber-NOAA Oct 4, 2022
b175caa
Added S4 to link_workflow.sh. #138
DavidHuber-NOAA Oct 4, 2022
081e172
Updated gfs_utils hash to include S4 port. #138
DavidHuber-NOAA Oct 5, 2022
eec25bc
Merge remote-tracking branch 'upstream/develop' into port_2_s4
DavidHuber-NOAA Oct 5, 2022
612a053
Merge remote-tracking branch 'upstream/develop' into port_2_s4
DavidHuber-NOAA Oct 7, 2022
8a6c0df
Merge remote-tracking branch 'upstream/develop' into port_2_s4
DavidHuber-NOAA Oct 7, 2022
bd9fc79
Updated to include the new prepobs package. #138
DavidHuber-NOAA Oct 7, 2022
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: 1 addition & 1 deletion Externals.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ protocol = git
required = True

[gfs-utils]
hash = 3a609ea
hash = 7bf599f
local_path = sorc/gfs_utils.fd
repo_url = https://github.com/NOAA-EMC/gfs-utils
protocol = git
Expand Down
7 changes: 4 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,14 @@ The global-workflow depends on the following prerequisities to be available on t
* workflow manager - ROCOTO (https://github.com/christopherwharrop/rocoto)
* modules - NCEPLIBS (various), esmf v8.0.0bs48, hdf5, intel/ips v18, impi v18, wgrib2, netcdf v4.7.0, hpss, gempak (see module files under /modulefiles for additional details)

The global-workflow current supports the following machines:
The global-workflow current supports the following tier-1 machines:

* WCOSS-Dell
* WCOSS-Cray
* Hera
* Orion

Additionally, the following tier-2 machine is supported:
* S4 (Note that S2S+ experiments are not fully supported)

Quick-start instructions are below. Full instructions are available in the [wiki](https://github.com/NOAA-EMC/global-workflow/wiki/Run-Global-Workflow)

## Build global-workflow:
Expand Down
294 changes: 294 additions & 0 deletions env/S4.env
Original file line number Diff line number Diff line change
@@ -0,0 +1,294 @@
#!/bin/bash -x

if [ $# -ne 1 ]; then

echo "Must specify an input argument to set runtime environment variables!"
echo "argument can be any one of the following:"
echo "atmanalrun atmensanalrun"
echo "anal sfcanl fcst post vrfy metp"
echo "eobs eupd ecen efcs epos"
echo "postsnd awips gempak"
exit 1

fi

step=$1
PARTITION_BATCH=${PARTITION_BATCH:-"s4"}

if [[ ${PARTITION_BATCH} = "s4" ]]; then
export npe_node_max=32
elif [[ ${PARTITION_BATCH} = "ivy" ]]; then
export npe_node_max=20
fi
export launcher="srun -l --export=ALL"

# Configure MPI environment
export OMP_STACKSIZE=2048000
export NTHSTACK=1024000000

ulimit -s unlimited
ulimit -a

export job=${PBS_JOBNAME:-${step}}
export jobid=${job}.${PBS_JOBID:-$$}


if [[ ${step} = "prep" || ${step} = "prepbufr" ]]; then

npe_node_prep=${npe_node_prep:-${npe_node_max}}
nth_max=$((npe_node_max / npe_node_prep))

export POE="NO"
export BACK="NO"
export sys_tp="S4"

elif [[ ${step} = "waveinit" || ${step} = "waveprep" || ${step} = "wavepostsbs" || ${step} = "wavepostbndpnt" || ${step} = "wavepostbndpntbll" || ${step} = "wavepostpnt" ]]; then

export mpmd="--multi-prog"
export CFP_MP="YES"
if [[ ${step} = "waveprep" ]]; then export MP_PULSE=0 ; fi
export wavempexec=${launcher}
export wave_mpmd=${mpmd}

elif [[ ${step} = "atmanalrun" ]]; then

export CFP_MP=${CFP_MP:-"YES"}
export USE_CFP=${USE_CFP:-"YES"}
export APRUNCFP="${launcher} -n \$ncmd --multi-prog"

npe_node_atmanalrun=${npe_node_atmanalrun:-${npe_node_max}}
nth_max=$((npe_node_max / npe_node_atmanalrun))

export NTHREADS_ATMANAL=${nth_atmanalrun:-${nth_max}}
[[ ${NTHREADS_ATMANAL} -gt ${nth_max} ]] && export NTHREADS_ATMANAL=${nth_max}
export APRUN_ATMANAL="${launcher} -n ${npe_atmanalrun:-0}"

elif [[ ${step} = "atmensanalrun" ]]; then

export CFP_MP=${CFP_MP:-"YES"}
export USE_CFP=${USE_CFP:-"YES"}
export APRUNCFP="${launcher} -n \$ncmd --multi-prog"

npe_node_atmensanalrun=${npe_node_atmensanalrun:-${npe_node_max}}
nth_max=$((npe_node_max / npe_node_atmensanalrun))

export NTHREADS_ATMENSANAL=${nth_atmensanalrun:-${nth_max}}
[[ ${NTHREADS_ATMENSANAL} -gt ${nth_max} ]] && export NTHREADS_ATMENSANAL=${nth_max}
export APRUN_ATMENSANAL="${launcher} -n ${npe_atmensanalrun:-0}"

elif [[ ${step} = "aeroanlrun" ]]; then

export APRUNCFP="${launcher} -n \$ncmd --multi-prog"

npe_node_aeroanlrun=${npe_node_aeroanlrun:-${npe_node_max}}
nth_max=$((npe_node_max / npe_node_aeroanlrun))

export NTHREADS_AEROANL=${nth_aeroanlrun:-${nth_max}}
[[ ${NTHREADS_AEROANL} -gt ${nth_max} ]] && export NTHREADS_AEROANL=${nth_max}
export APRUN_AEROANL="${launcher} -n ${npe_aeroanlrun:-0}"

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

export MKL_NUM_THREADS=4
export MKL_CBWR=AUTO

export CFP_MP=${CFP_MP:-"YES"}
export USE_CFP=${USE_CFP:-"YES"}
export APRUNCFP="${launcher} -n \$ncmd --multi-prog"

npe_node_anal=${npe_node_anal:-${npe_node_max}}
nth_max=$((npe_node_max / npe_node_anal))

export NTHREADS_GSI=${nth_anal:-${nth_max}}
[[ ${NTHREADS_GSI} -gt ${nth_max} ]] && export NTHREADS_GSI=${nth_max}
export APRUN_GSI=${launcher}

export NTHREADS_CALCINC=${nth_calcinc:-1}
[[ ${NTHREADS_CALCINC} -gt ${nth_max} ]] && export NTHREADS_CALCINC=${nth_max}
export APRUN_CALCINC=${launcher}

export NTHREADS_CYCLE=${nth_cycle:-12}
[[ ${NTHREADS_CYCLE} -gt ${npe_node_max} ]] && export NTHREADS_CYCLE=${npe_node_max}
npe_cycle=${ntiles:-6}
export APRUN_CYCLE="${launcher} -n ${npe_cycle:-0}"


export NTHREADS_GAUSFCANL=1
npe_gausfcanl=${npe_gausfcanl:-1}
export APRUN_GAUSFCANL="${launcher} -n ${npe_gausfcanl:-0}"

elif [[ ${step} = "sfcanl" ]]; then
npe_node_sfcanl=${npe_node_sfcanl:-${npe_node_max}}
nth_max=$((npe_node_max / npe_node_sfcanl))

export NTHREADS_CYCLE=${nth_sfcanl:-14}
[[ ${NTHREADS_CYCLE} -gt ${npe_node_max} ]] && export NTHREADS_CYCLE=${npe_node_max}
npe_sfcanl=${ntiles:-6}
export APRUN_CYCLE="${launcher} -n ${npe_sfcanl:-0}"

elif [[ ${step} = "gldas" ]]; then

npe_node_gldas=${npe_node_gldas:-${npe_node_max}}
nth_max=$((npe_node_max / npe_node_gldas))

export NTHREADS_GLDAS=${nth_gldas:-${nth_max}}
[[ ${NTHREADS_GLDAS} -gt ${nth_max} ]] && export NTHREADS_GLDAS=${nth_max}
export APRUN_GLDAS="${launcher} -n ${npe_gldas:-0}"

export NTHREADS_GAUSSIAN=${nth_gaussian:-1}
[[ ${NTHREADS_GAUSSIAN} -gt ${nth_max} ]] && export NTHREADS_GAUSSIAN=${nth_max}
export APRUN_GAUSSIAN="${launcher} -n ${npe_gaussian:-0}"

# Must run data processing with exactly the number of tasks as time
# periods being processed.

gldas_spinup_hours=${gldas_spinup_hours:-0}
npe_gldas_data_proc=$((gldas_spinup_hours + 12))
export APRUN_GLDAS_DATA_PROC="${launcher} -n ${npe_gldas_data_proc} --multi-prog"

elif [[ ${step} = "eobs" ]]; then

export MKL_NUM_THREADS=4
export MKL_CBWR=AUTO

export CFP_MP=${CFP_MP:-"YES"}
export USE_CFP=${USE_CFP:-"YES"}
export APRUNCFP="${launcher} -n \$ncmd --multi-prog"

npe_node_eobs=${npe_node_eobs:-${npe_node_max}}
nth_max=$((npe_node_max / npe_node_eobs))

export NTHREADS_GSI=${nth_eobs:-${nth_max}}
[[ ${NTHREADS_GSI} -gt ${nth_max} ]] && export NTHREADS_GSI=${nth_max}
export APRUN_GSI=${launcher}

elif [[ ${step} = "eupd" ]]; then

export CFP_MP=${CFP_MP:-"YES"}
export USE_CFP=${USE_CFP:-"YES"}
export APRUNCFP="${launcher} -n \$ncmd --multi-prog"

npe_node_eupd=${npe_node_eupd:-${npe_node_max}}
nth_max=$((npe_node_max / npe_node_eupd))

export NTHREADS_ENKF=${nth_eupd:-${nth_max}}
[[ ${NTHREADS_ENKF} -gt ${nth_max} ]] && export NTHREADS_ENKF=${nth_max}
export APRUN_ENKF=${launcher}

elif [[ ${step} = "fcst" ]]; then

#PEs and PEs/node can differ for GFS and GDAS forecasts if threading differs
if [[ ${CDUMP:-gdas} == "gfs" ]]; then
npe_fcst=${npe_fcst_gfs:-0}
npe_node_fcst=${npe_node_fcst_gfs:-${npe_node_max}}
nth_fv3=${nth_fv3_gfs:-1}
fi

npe_node_fcst=${npe_node_fcst:-${npe_node_max}}
nth_max=$((npe_node_max / npe_node_fcst))

export NTHREADS_FV3=${nth_fv3:-${nth_max}}
[[ ${NTHREADS_FV3} -gt ${nth_max} ]] && export NTHREADS_FV3=${nth_max}
export cores_per_node=${npe_node_max}
export APRUN_FV3="${launcher} -n ${npe_fcst:-0}"

export NTHREADS_REGRID_NEMSIO=${nth_regrid_nemsio:-1}
[[ ${NTHREADS_REGRID_NEMSIO} -gt ${nth_max} ]] && export NTHREADS_REGRID_NEMSIO=${nth_max}
export APRUN_REGRID_NEMSIO=${launcher}

export NTHREADS_REMAP=${nth_remap:-2}
[[ ${NTHREADS_REMAP} -gt ${nth_max} ]] && export NTHREADS_REMAP=${nth_max}
export APRUN_REMAP=${launcher}
export I_MPI_DAPL_UD="enable"

elif [[ ${step} = "efcs" ]]; then

npe_node_efcs=${npe_node_efcs:-${npe_node_max}}
nth_max=$((npe_node_max / npe_node_efcs))

export NTHREADS_FV3=${nth_efcs:-${nth_max}}
[[ ${NTHREADS_FV3} -gt ${nth_max} ]] && export NTHREADS_FV3=${nth_max}
export cores_per_node=${npe_node_max}
export APRUN_FV3="${launcher} -n ${npe_efcs:-0}"

export NTHREADS_REGRID_NEMSIO=${nth_regrid_nemsio:-1}
[[ ${NTHREADS_REGRID_NEMSIO} -gt ${nth_max} ]] && export NTHREADS_REGRID_NEMSIO=${nth_max}
export APRUN_REGRID_NEMSIO="${launcher} ${LEVS:-128}"

elif [[ ${step} = "post" ]]; then

npe_node_post=${npe_node_post:-npe_node_max}
nth_max=$((npe_node_max / npe_node_post))

export NTHREADS_NP=${nth_np:-1}
[[ ${NTHREADS_NP} -gt ${nth_max} ]] && export NTHREADS_NP=${nth_max}
export APRUN_NP=${launcher}

export NTHREADS_DWN=${nth_dwn:-1}
[[ ${NTHREADS_DWN} -gt ${nth_max} ]] && export NTHREADS_DWN=${nth_max}
export APRUN_DWN=${launcher}

elif [[ ${step} = "ecen" ]]; then

npe_node_ecen=${npe_node_ecen:-${npe_node_max}}
nth_max=$((npe_node_max / npe_node_ecen))

export NTHREADS_ECEN=${nth_ecen:-${nth_max}}
[[ ${NTHREADS_ECEN} -gt ${nth_max} ]] && export NTHREADS_ECEN=${nth_max}
export APRUN_ECEN=${launcher}

export NTHREADS_CHGRES=${nth_chgres:-12}
[[ ${NTHREADS_CHGRES} -gt ${npe_node_max} ]] && export NTHREADS_CHGRES=${npe_node_max}
export APRUN_CHGRES="time"

export NTHREADS_CALCINC=${nth_calcinc:-1}
[[ ${NTHREADS_CALCINC} -gt ${nth_max} ]] && export NTHREADS_CALCINC=${nth_max}
export APRUN_CALCINC=${launcher}

elif [[ ${step} = "esfc" ]]; then

npe_node_esfc=${npe_node_esfc:-${npe_node_max}}
nth_max=$((npe_node_max / npe_node_esfc))

export NTHREADS_ESFC=${nth_esfc:-${nth_max}}
[[ ${NTHREADS_ESFC} -gt ${nth_max} ]] && export NTHREADS_ESFC=${nth_max}
export APRUN_ESFC="${launcher} -n ${npe_esfc:-0}"

export NTHREADS_CYCLE=${nth_cycle:-14}
[[ ${NTHREADS_CYCLE} -gt ${npe_node_max} ]] && export NTHREADS_CYCLE=${npe_node_max}
export APRUN_CYCLE="${launcher} -n ${npe_esfc:-0}"

elif [[ ${step} = "epos" ]]; then

npe_node_epos=${npe_node_epos:-${npe_node_max}}
nth_max=$((npe_node_max / npe_node_epos))

export NTHREADS_EPOS=${nth_epos:-${nth_max}}
[[ ${NTHREADS_EPOS} -gt ${nth_max} ]] && export NTHREADS_EPOS=${nth_max}
export APRUN_EPOS=${launcher}

elif [[ ${step} = "init" ]]; then

export APRUN=${launcher}

elif [[ ${step} = "postsnd" ]]; then

npe_node_postsnd=${npe_node_postsnd:-${npe_node_max}}
nth_max=$((npe_node_max / npe_node_postsnd))

export NTHREADS_POSTSND=${nth_postsnd:-1}
[[ ${NTHREADS_POSTSND} -gt ${nth_max} ]] && export NTHREADS_POSTSND=${nth_max}
export APRUN_POSTSND=${launcher}

export NTHREADS_POSTSNDCFP=${nth_postsndcfp:-1}
[[ ${NTHREADS_POSTSNDCFP} -gt ${nth_max} ]] && export NTHREADS_POSTSNDCFP=${nth_max}
export APRUN_POSTSNDCFP=${launcher}

elif [[ ${step} = "awips" ]]; then

echo "WARNING: ${step} is not enabled on S4!"

elif [[ ${step} = "gempak" ]]; then

echo "WARNING: ${step} is not enabled on S4!"
fi
17 changes: 15 additions & 2 deletions jobs/JGDAS_ENKF_DIAG
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,8 @@ export pgmerr=errfile
export CDATE=${CDATE:-${PDY}${cyc}}
export CDUMP=${CDUMP:-${RUN:-"gdas"}}
export COMPONENT=${COMPONENT:-atmos}
export MAKE_NSSTBUFR=${MAKE_NSSTBUFR:-"NO"}
export MAKE_ACFTBUFR=${MAKE_ACFTBUFR:-"NO"}


##############################################
Expand Down Expand Up @@ -104,9 +106,20 @@ export PREPQC="$COMIN_OBS/${OPREFIX}prepbufr"
if [ ! -f $PREPQC ]; then
echo "WARNING: Global PREPBUFR FILE $PREPQC MISSING"
fi
export PREPQCPF="$COMIN_OBS/${OPREFIX}prepbufr.acft_profiles"
export TCVITL="$COMIN_ANL/${OPREFIX}syndata.tcvitals.tm00"
[[ $DONST = "YES" ]] && export NSSTBF="$COMIN_OBS/${OPREFIX}nsstbufr"
if [[ $DONST = "YES" ]]; then
if [[ $MAKE_NSSTBUFR == "YES" ]]; then
export NSSTBF="${COMOUT}/${OPREFIX}nsstbufr"
else
export NSSTBF="${COMIN_OBS}/${OPREFIX}nsstbufr"
fi
fi

if [[ $MAKE_ACFTBUFR == "YES" ]]; then
export PREPQCPF="${COMOUT}/${OPREFIX}prepbufr.acft_profiles"
else
export PREPQCPF="${COMIN_OBS}/${OPREFIX}prepbufr.acft_profiles"
fi

# Guess Bias correction coefficients related to control
export GBIAS=${COMIN_GES_CTL}/${GPREFIX}abias
Expand Down
17 changes: 15 additions & 2 deletions jobs/JGDAS_ENKF_SELECT_OBS
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,8 @@ export pgmerr=errfile
export CDATE=${CDATE:-${PDY}${cyc}}
export CDUMP=${CDUMP:-${RUN:-"gdas"}}
export COMPONENT=${COMPONENT:-atmos}
export MAKE_NSSTBUFR=${MAKE_NSSTBUFR:-"NO"}
export MAKE_ACFTBUFR=${MAKE_ACFTBUFR:-"NO"}


##############################################
Expand Down Expand Up @@ -107,9 +109,20 @@ export PREPQC="$COMIN_OBS/${OPREFIX}prepbufr"
if [ ! -f $PREPQC ]; then
echo "WARNING: Global PREPBUFR FILE $PREPQC MISSING"
fi
export PREPQCPF="$COMIN_OBS/${OPREFIX}prepbufr.acft_profiles"
export TCVITL="$COMIN_ANL/${OPREFIX}syndata.tcvitals.tm00"
[[ $DONST = "YES" ]] && export NSSTBF="$COMIN_OBS/${OPREFIX}nsstbufr"
if [[ $DONST = "YES" ]]; then
if [[ $MAKE_NSSTBUFR == "YES" ]]; then
export NSSTBF="${COMOUT}/${OPREFIX}nsstbufr"
else
export NSSTBF="${COMIN_OBS}/${OPREFIX}nsstbufr"
fi
fi

if [[ $MAKE_ACFTBUFR == "YES" ]]; then
export PREPQCPF="${COMOUT}/${OPREFIX}prepbufr.acft_profiles"
else
export PREPQCPF="${COMIN_OBS}/${OPREFIX}prepbufr.acft_profiles"
fi

# Guess Bias correction coefficients related to control
export GBIAS=${COMIN_GES_CTL}/${GPREFIX}abias
Expand Down
Loading