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

Additions and modifications for EFSOI #674

Closed
Closed
Show file tree
Hide file tree
Changes from 106 commits
Commits
Show all changes
114 commits
Select commit Hold shift + click to select a range
7013e6d
Liaofan Lin's readme for EFSOI
AndrewEichmann-NOAA Nov 16, 2020
bcfaa3f
Adding new files from Liaofan Lin's fork and EFSOI branch
AndrewEichmann-NOAA Nov 16, 2020
d4e7090
added notes on merge
AndrewEichmann-NOAA Nov 16, 2020
3c74379
Added EFSOI entries to parm/config/config.resources
AndrewEichmann-NOAA Nov 16, 2020
05630dc
added EFSOI entries to env/HERA.env
AndrewEichmann-NOAA Nov 16, 2020
ce2d847
merged liaofan's modifications for efsoi in ush/rocoto/setup_workflow.py
AndrewEichmann-NOAA Nov 17, 2020
e621ea5
Fixed eupdfsoi task
AndrewEichmann-NOAA Dec 4, 2020
a34f9c9
Adapted recentering task to EFSOI
AndrewEichmann-NOAA Dec 4, 2020
461fbae
changes to EFSOI surface and forecast tasks
AndrewEichmann-NOAA Dec 12, 2020
a0d7f7e
last of changes before fresh build test
AndrewEichmann-NOAA Dec 15, 2020
0bc9792
tweaks to ecenfsoi task
AndrewEichmann-NOAA Dec 15, 2020
c049a0c
merged repository's efcsfsoi config
AndrewEichmann-NOAA Dec 15, 2020
6ecbbf1
minor changes to make everything work together
AndrewEichmann-NOAA Dec 15, 2020
225ca0f
fixed config/environment interaction
AndrewEichmann-NOAA Dec 16, 2020
4e22e0e
adding stumps for EFSOI calculation
AndrewEichmann-NOAA Dec 16, 2020
e008aa9
cleanup of unused scripts
AndrewEichmann-NOAA Dec 16, 2020
b921e13
cleanup of some call stacks for efsoi tasks
AndrewEichmann-NOAA Dec 17, 2020
8e2af5c
fixed saving of abias_int file
AndrewEichmann-NOAA Dec 21, 2020
9913ceb
added EFSOI to archiving
AndrewEichmann-NOAA Dec 22, 2020
7c0f3f5
added deletion of efsoigdas directories, in the manner of enkfgdas
AndrewEichmann-NOAA Jan 8, 2021
ff8824b
Added EFSOI task to workflow
AndrewEichmann-NOAA Jan 11, 2021
d519a43
modified jobs/rocoto/earc.sh to give efsoi directories 8 cycles befor…
AndrewEichmann-NOAA Jan 23, 2021
ff52fa9
debugged setup_workflow.py
AndrewEichmann-NOAA Jan 23, 2021
815f441
make stump error out
AndrewEichmann-NOAA Jan 24, 2021
6d794ec
Merge remote-tracking branch 'upstream/develop' into feature/EFSOI
AndrewEichmann-NOAA Jan 24, 2021
0acbd0c
added and debugged efsoi task
AndrewEichmann-NOAA Feb 12, 2021
517117b
added EFSOI-specific variable to govern file cleanup
AndrewEichmann-NOAA Feb 12, 2021
70cdb5d
changes to coordinate with GSI code
AndrewEichmann-NOAA Feb 19, 2021
cb1e7df
cleanup, harmonization of config files
AndrewEichmann-NOAA Feb 19, 2021
487911c
config cleanup
AndrewEichmann-NOAA Feb 19, 2021
1099920
reverted EFSOI efcst env value to release
AndrewEichmann-NOAA Feb 19, 2021
1ba46c5
update documentation header
AndrewEichmann-NOAA Feb 25, 2021
644a1f3
cleanup
AndrewEichmann-NOAA Feb 25, 2021
4c8a1e8
cleanup of messages and comments
AndrewEichmann-NOAA Feb 26, 2021
bbae728
Merge branch 'develop' into feature/EFSOI
AndrewEichmann-NOAA Mar 1, 2021
eed978f
fixed bug where first gdaseupdfsoi task expects to run - this should
AndrewEichmann-NOAA Mar 11, 2021
986a920
Merge branch 'feature/EFSOI' of github.com:AndrewEichmann-NOAA/global…
AndrewEichmann-NOAA Mar 11, 2021
39482cc
refinement of efsoi archiving/cleanup, removal of commented lines
AndrewEichmann-NOAA Apr 16, 2021
55dee93
shifted changes from GSI forked EFSOI repo
AndrewEichmann-NOAA May 11, 2021
a892d3d
making localization advection work with CDATE ensres analysis
AndrewEichmann-NOAA May 17, 2021
9f2cac1
tweaks to EFSOI
AndrewEichmann-NOAA Jun 11, 2021
600065c
Merge branch 'develop' into feature/EFSOI
AndrewEichmann-NOAA Jun 11, 2021
1f08676
completed merge by folding changes in exglobal forecast script into
AndrewEichmann-NOAA Jun 16, 2021
4907898
removing efsoi-specific fcst scripts, LETKF semi-fix
AndrewEichmann-NOAA Jun 23, 2021
6da9924
integration of EFSOI branches of global-workflow and GSI
AndrewEichmann-NOAA Jun 28, 2021
fd837ca
further integration of EFSOI branches, fixing problems with setup_wor…
AndrewEichmann-NOAA Jul 1, 2021
7645546
Merge branch 'develop' into feature/EFSOI
AndrewEichmann-NOAA Jul 2, 2021
495e972
added EFSOI to Orion environment
Aug 4, 2021
32949fb
Merge branch 'develop' into feature/EFSOI
AndrewEichmann-NOAA Aug 12, 2021
ada011f
Merge branch 'NOAA-EMC:develop' into feature/EFSOI
AndrewEichmann-NOAA Oct 22, 2021
51182cd
bugfix: earc failing with non-EFSOI experiment do to lack of EFSOI files
AndrewEichmann-NOAA Oct 28, 2021
47bfde5
merge branch 'develop' into feature/EFSOI
Nov 11, 2021
db0f636
Merge branch 'NOAA-EMC:develop' into feature/EFSOI
AndrewEichmann-NOAA Nov 19, 2021
246a45f
tweaks for smooth running
Nov 23, 2021
2362d12
Merge branch 'develop' into feature/EFSOI
Feb 2, 2022
840af57
conflict resolutions from last merge
AndrewEichmann-NOAA Feb 11, 2022
b2ed8d0
Merge branch 'develop' into feature/EFSOI
AndrewEichmann-NOAA Mar 2, 2022
719ab0c
slimmed down efsoi config files
AndrewEichmann-NOAA Mar 16, 2022
25eeec6
Merge branch 'develop' into feature/EFSOI
AndrewEichmann-NOAA Mar 16, 2022
15a509b
EFSOI task entries for WCOSS dell environment
AndrewEichmann-NOAA Mar 21, 2022
a189bfe
modifications after code review for global-workflow PR 673
AndrewEichmann-NOAA Mar 21, 2022
b5f26f6
modifications suggested by Walter for the PR
AndrewEichmann-NOAA May 4, 2022
8609ac3
corrected typo dependency specification
AndrewEichmann-NOAA May 6, 2022
b37d624
attempt to get old global-workflow to work with new gsi
AndrewEichmann-NOAA Jun 7, 2022
1e84d97
Merge branch 'develop' into feature/EFSOI
AndrewEichmann-NOAA Jul 13, 2022
980298a
added efsoi to linked gsi executables
AndrewEichmann-NOAA Jul 14, 2022
02d3be1
Merge branch 'develop' into feature/EFSOI
AndrewEichmann-NOAA Jul 14, 2022
261e91d
cleaned up leftovers from merge
AndrewEichmann-NOAA Jul 14, 2022
fef59a6
Merge branch 'develop' into feature/EFSOI
AndrewEichmann-NOAA Jul 15, 2022
1e91d7c
Merge branch 'develop' into feature/EFSOI
AndrewEichmann-NOAA Jul 20, 2022
d8d33c1
builds EFSOI and incorporates CRTM fix
AndrewEichmann-NOAA Jul 20, 2022
5e46848
cleaned up for PR to global-workflow
AndrewEichmann-NOAA Jul 20, 2022
40009a9
updated with latest mods to EFSOI and latest merge from develop
AndrewEichmann-NOAA Jul 25, 2022
e3681c6
backed out changes to build_gsi_utils.sh because it expects allowances
AndrewEichmann-NOAA Jul 26, 2022
81b1cf4
merge with develop, excepting EFSOI mods to files in sorc
AndrewEichmann-NOAA Jul 27, 2022
835734e
Merge branch 'develop' into feature/EFSOI_A
AndrewEichmann-NOAA Jul 27, 2022
4a95dcd
updated with merge from develop to feature/EFSOI, minus checkout and …
AndrewEichmann-NOAA Aug 1, 2022
d3310c1
Merge branch 'develop' into feature/EFSOI_A
AndrewEichmann-NOAA Aug 23, 2022
42673ac
added default value for EFSOI_TASK because empty variable frowned upon
AndrewEichmann-NOAA Aug 23, 2022
b5d277f
Merge branch 'develop' into feature/EFSOI_A
AndrewEichmann-NOAA Aug 24, 2022
1a834fe
modifications for Walter's review
AndrewEichmann-NOAA Aug 24, 2022
94316d1
fixing typo
AndrewEichmann-NOAA Aug 26, 2022
507498e
Merge branch 'develop' into feature/EFSOI_A
AndrewEichmann-NOAA Sep 13, 2022
92db09f
merge and fix for the long throttle setting for efsoi
AndrewEichmann-NOAA Sep 13, 2022
5e6acac
removed references to efsoi in hera env
AndrewEichmann-NOAA Sep 13, 2022
d735b3b
little steps
AndrewEichmann-NOAA Sep 13, 2022
3a78dd7
round of linter
AndrewEichmann-NOAA Sep 13, 2022
276319c
round of linter
AndrewEichmann-NOAA Sep 14, 2022
f76fb3e
linter corrections
AndrewEichmann-NOAA Sep 14, 2022
4e202bd
linter corrections
AndrewEichmann-NOAA Sep 14, 2022
2f930ec
linter corrections
AndrewEichmann-NOAA Sep 14, 2022
94b0c53
linter corrections
AndrewEichmann-NOAA Sep 14, 2022
72dd4a7
linter corrections
AndrewEichmann-NOAA Sep 14, 2022
d027b62
linter corrections
AndrewEichmann-NOAA Sep 14, 2022
7d1c1d2
linter corrections
AndrewEichmann-NOAA Sep 14, 2022
670bd17
linter corrections
AndrewEichmann-NOAA Sep 14, 2022
5d2dbd5
linter corrections
AndrewEichmann-NOAA Sep 14, 2022
d359f5f
linter corrections
AndrewEichmann-NOAA Sep 15, 2022
ecc1faf
linter corrections
AndrewEichmann-NOAA Sep 15, 2022
341696c
linter corrections
AndrewEichmann-NOAA Sep 15, 2022
ee75480
linter corrections
AndrewEichmann-NOAA Sep 15, 2022
bece09f
linter corrections
AndrewEichmann-NOAA Sep 15, 2022
ff10646
linter corrections
AndrewEichmann-NOAA Sep 15, 2022
7157738
linter corrections
AndrewEichmann-NOAA Sep 15, 2022
5c7fd88
linter corrections
AndrewEichmann-NOAA Sep 15, 2022
247b20b
linter corrections
AndrewEichmann-NOAA Sep 15, 2022
27efa61
linter corrections
AndrewEichmann-NOAA Sep 15, 2022
31b3e39
linter corrections
AndrewEichmann-NOAA Sep 15, 2022
df78c26
linter corrections
AndrewEichmann-NOAA Sep 15, 2022
e878abe
linter debugging
AndrewEichmann-NOAA Sep 16, 2022
5ad990e
linter debugging
AndrewEichmann-NOAA Sep 16, 2022
2006938
linter debuggingwq
AndrewEichmann-NOAA Sep 16, 2022
1994378
linter debuggingwq
AndrewEichmann-NOAA Sep 16, 2022
23db6fe
linter debugging
AndrewEichmann-NOAA Sep 16, 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
162 changes: 118 additions & 44 deletions env/ORION.env
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ elif [ $step = "waveinit" -o $step = "waveprep" -o $step = "wavepostsbs" -o $ste
export wavempexec=${launcher}
export wave_mpmd=${mpmd}

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

export CFP_MP=${CFP_MP:-"YES"}
export USE_CFP=${USE_CFP:-"YES"}
Expand All @@ -60,10 +60,10 @@ elif [ $step = "atmanalrun" ]; then
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
[[ $NTHREADS_ATMANAL -gt ${nth_max} ]] && export NTHREADS_ATMANAL=${nth_max}
export APRUN_ATMANAL="$launcher -n $npe_atmanalrun"

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

export CFP_MP=${CFP_MP:-"YES"}
export USE_CFP=${USE_CFP:-"YES"}
Expand All @@ -72,20 +72,20 @@ elif [ $step = "atmensanalrun" ]; then
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
[[ $NTHREADS_ATMENSANAL -gt ${nth_max} ]] && export NTHREADS_ATMENSANAL=${nth_max}
export APRUN_ATMENSANAL="$launcher -n $npe_atmensanalrun"

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

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

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
[[ $NTHREADS_AEROANL -gt ${nth_max} ]] && export NTHREADS_AEROANL=${nth_max}
export APRUN_AEROANL="$launcher -n $npe_aeroanlrun"

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

export MKL_NUM_THREADS=4
export MKL_CBWR=AUTO
Expand All @@ -97,11 +97,11 @@ elif [ $step = "anal" ]; then
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
[[ $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
[[ $NTHREADS_CALCINC -gt ${nth_max} ]] && export NTHREADS_CALCINC=${nth_max}
export APRUN_CALCINC="$launcher"

export NTHREADS_CYCLE=${nth_cycle:-12}
Expand All @@ -113,24 +113,24 @@ elif [ $step = "anal" ]; then
npe_gausfcanl=${npe_gausfcanl:-1}
export APRUN_GAUSFCANL="$launcher -n $npe_gausfcanl"

elif [ $step = "sfcanl" ]; then
elif [ "${step}" = "sfcanl" ]; then
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"

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

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
[[ $NTHREADS_GLDAS -gt ${nth_max} ]] && export NTHREADS_GLDAS=${nth_max}
export APRUN_GLDAS="$launcher -n $npe_gldas"

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

# Must run data processing with exactly the number of tasks as time
Expand All @@ -139,7 +139,7 @@ elif [ $step = "gldas" ]; then
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
elif [ "${step}" = "eobs" ]; then

export MKL_NUM_THREADS=4
export MKL_CBWR=AUTO
Expand All @@ -151,10 +151,10 @@ elif [ $step = "eobs" ]; then
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
[[ $NTHREADS_GSI -gt ${nth_max} ]] && export NTHREADS_GSI=${nth_max}
export APRUN_GSI="$launcher"

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

export CFP_MP=${CFP_MP:-"YES"}
export USE_CFP=${USE_CFP:-"YES"}
Expand All @@ -163,10 +163,34 @@ elif [ $step = "eupd" ]; then
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
[[ $NTHREADS_ENKF -gt ${nth_max} ]] && export NTHREADS_ENKF=${nth_max}
export APRUN_ENKF="$launcher"

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

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

nth_max=$((npe_node_max / npe_node_eupdfsoi))

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

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

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

nth_max=$((npe_node_max / npe_node_efsoi))

export NTHREADS_ENKF=${nth_efsoi:-$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 == "gfs" ]]; then
Expand All @@ -178,109 +202,159 @@ elif [ $step = "fcst" ]; then
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
[[ $NTHREADS_FV3 -gt ${nth_max} ]] && export NTHREADS_FV3=${nth_max}
export cores_per_node=$npe_node_max
export APRUN_FV3="$launcher -n $npe_fcst"

export NTHREADS_REGRID_NEMSIO=${nth_regrid_nemsio:-1}
[[ $NTHREADS_REGRID_NEMSIO -gt $nth_max ]] && export NTHREADS_REGRID_NEMSIO=$nth_max
[[ $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
[[ $NTHREADS_REMAP -gt ${nth_max} ]] && export NTHREADS_REMAP=${nth_max}
export APRUN_REMAP="$launcher"
export I_MPI_DAPL_UD="enable"

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

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 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"

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

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

nth_max=$((npe_node_max / npe_node_efcsfsoi))

export NTHREADS_FV3=${nth_efcsfsoi:-$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_efcsfsoi"

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"


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

nth_max=$(($npe_node_max / $npe_node_post))

export NTHREADS_NP=${nth_np:-1}
[[ $NTHREADS_NP -gt $nth_max ]] && export NTHREADS_NP=$nth_max
[[ $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
[[ $NTHREADS_DWN -gt ${nth_max} ]] && export NTHREADS_DWN=${nth_max}
export APRUN_DWN="$launcher"

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

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
[[ $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
[[ $NTHREADS_CALCINC -gt ${nth_max} ]] && export NTHREADS_CALCINC=${nth_max}
export APRUN_CALCINC="$launcher"

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

nth_max=$((npe_node_max / npe_node_ecenfsoi))

export NTHREADS_ECEN=${nth_ecenfsoi:-$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

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
[[ $NTHREADS_ESFC -gt ${nth_max} ]] && export NTHREADS_ESFC=${nth_max}
export APRUN_ESFC="$launcher -n $npe_esfc"

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"

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

nth_max=$((npe_node_max / npe_node_esfcfsoi))

export NTHREADS_ESFC=${nth_esfcfsoi:-${nth_max}}
[[ ${NTHREADS_ESFC} -gt ${nth_max} ]] && export NTHREADS_ESFC=${nth_max}
export APRUN_ESFC="${launcher} -n ${npe_esfcfsoi}"

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

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

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 NTHREADS_EPOS=${nth_epos:-${nth_max}}
[[ $NTHREADS_EPOS -gt ${nth_max} ]] && export NTHREADS_EPOS=${nth_max}
export APRUN_EPOS="$launcher"

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

nth_max=$((npe_node_max / npe_node_eposfsoi))

export NTHREADS_EPOS=${nth_eposfsoi:-${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
elif [ "${step}" = "postsnd" ]; then

nth_max=$(($npe_node_max / $npe_node_postsnd))

export NTHREADS_POSTSND=${nth_postsnd:-1}
[[ $NTHREADS_POSTSND -gt $nth_max ]] && export NTHREADS_POSTSND=$nth_max
[[ $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
[[ ${NTHREADS_POSTSNDCFP} -gt ${nth_max} ]] && export NTHREADS_POSTSNDCFP=${nth_max}
export APRUN_POSTSNDCFP="$launcher"

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

nth_max=$(($npe_node_max / $npe_node_awips))

export NTHREADS_AWIPS=${nth_awips:-2}
[[ $NTHREADS_AWIPS -gt $nth_max ]] && export NTHREADS_AWIPS=$nth_max
[[ $NTHREADS_AWIPS -gt ${nth_max} ]] && export NTHREADS_AWIPS=${nth_max}
export APRUN_AWIPSCFP="$launcher -n $npe_awips --multi-prog"

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

nth_max=$(($npe_node_max / $npe_node_gempak))

export NTHREADS_GEMPAK=${nth_gempak:-1}
[[ $NTHREADS_GEMPAK -gt $nth_max ]] && export NTHREADS_GEMPAK=$nth_max
[[ $NTHREADS_GEMPAK -gt ${nth_max} ]] && export NTHREADS_GEMPAK=${nth_max}
export APRUN="$launcher -n $npe_gempak --multi-prog"
fi
Loading