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 the global workflow to Jet #1301

Merged
merged 90 commits into from
Apr 18, 2023
Merged
Show file tree
Hide file tree
Changes from 89 commits
Commits
Show all changes
90 commits
Select commit Hold shift + click to select a range
06666e5
Initial port to Jet. (#357)
DavidHuber-NOAA Sep 15, 2021
b08f11a
Update resources for Jet. #357
DavidHuber-NOAA Oct 15, 2021
1fac198
Added a WW3 modulefile for Jet. #357
DavidHuber-NOAA Oct 15, 2021
a871158
Updated checkout.sh for the Jet port. #357
DavidHuber-NOAA Oct 15, 2021
03fbeb1
Removed debug "set -x" from checkout.sh
DavidHuber-NOAA Oct 18, 2021
5f92e1b
Updated Externals.cfg for Jet port.
DavidHuber-NOAA Oct 18, 2021
0072da5
Cleaned up Jet port. (#357)
DavidHuber-NOAA Oct 18, 2021
c03c96d
Update module load order for Jet (#357 #479)
DavidHuber-NOAA Dec 2, 2021
e122d83
Added Fit2Obs and TC_Tracker locations for Jet (#357)
DavidHuber-NOAA Dec 2, 2021
4499955
Corrected resources for analysis jobs on jet. (#357)
DavidHuber-NOAA Dec 3, 2021
2d31835
New location for SYNDAT data on Jet. #357
DavidHuber-NOAA Dec 14, 2021
16b80c4
Merge remote-tracking branch 'upstream/develop' into port_2_jet
DavidHuber-NOAA Jan 11, 2022
4d442e3
Updated the Jet port with the coupled changes. (#357)
DavidHuber-NOAA Jan 11, 2022
d38fff5
Merge remote-tracking branch 'upstream/develop' into port_2_jet
DavidHuber-NOAA Oct 19, 2022
da41a15
Updated Jet module files #357
DavidHuber-NOAA Oct 19, 2022
3205f8c
Fixed Jet WW3 module file. #357
DavidHuber-NOAA Oct 19, 2022
1ccdc0c
Merge remote-tracking branch 'upstream/develop' into port_2_jet
DavidHuber-NOAA Jan 4, 2023
f4cef94
Updated Jet module file. #357
DavidHuber-NOAA Jan 23, 2023
0c14584
Add host file for Jet. #357
DavidHuber-NOAA Jan 23, 2023
34fced4
Merge remote-tracking branch 'upstream/develop' into port_2_jet
DavidHuber-NOAA Jan 23, 2023
ea7e7d9
Merge remote-tracking branch 'upstream/develop' into port_2_jet
DavidHuber-NOAA Feb 1, 2023
89320b2
Temporarilly disable verif-global, GLDAS, and fit2obs on Jet. #357
DavidHuber-NOAA Feb 3, 2023
a3ebc32
Merge remote-tracking branch 'upstream/develop' into port_2_jet
DavidHuber-NOAA Feb 3, 2023
389037d
Temporarilly set supported platforms to C96/48 for Jet. #357
DavidHuber-NOAA Feb 3, 2023
1cf5192
Shorter hpss load. #357
DavidHuber-NOAA Feb 3, 2023
25175bf
Updated Jet environment file. #357
DavidHuber-NOAA Feb 3, 2023
59bd97e
Fixed TC tracker version. #357
DavidHuber-NOAA Feb 3, 2023
3b370ed
Removed debug set -x. #357
DavidHuber-NOAA Feb 3, 2023
d117ce3
Merge remote-tracking branch 'upstream/develop' into port_2_jet
DavidHuber-NOAA Feb 7, 2023
9bc2349
Update jet environment after C192, C384, partial C768 testing. #357
DavidHuber-NOAA Feb 14, 2023
81681a3
Address lint comments #357
DavidHuber-NOAA Feb 14, 2023
d0a9213
Merge remote-tracking branch 'upstream/develop' into port_2_jet
DavidHuber-NOAA Feb 28, 2023
4c26941
Merge remote-tracking branch 'upstream/develop' into port_2_jet
DavidHuber-NOAA Feb 28, 2023
ff95dff
Fit2Obs updates for vrfy.sh and config.vrfy
KateFriedman-NOAA Mar 1, 2023
cddb73e
Merge Kate's Fit2Obs updates to the Jet work #357
DavidHuber-NOAA Mar 1, 2023
80bab15
Merge branch 'NOAA-EMC:develop' into feature/fit2obs
KateFriedman-NOAA Mar 1, 2023
db33ff1
Merge branch 'NOAA-EMC:develop' into feature/fit2obs
KateFriedman-NOAA Mar 2, 2023
870ec58
Merge remote-tracking branch 'upstream/develop' into port_2_jet
DavidHuber-NOAA Mar 7, 2023
18d4595
Update directory lookups for Jet. #357
DavidHuber-NOAA Mar 13, 2023
70f3e73
Increased arch job memory request. Found during #357 testing.
DavidHuber-NOAA Mar 13, 2023
8d18842
Merge remote-tracking branch 'upstream/develop' into port_2_jet
DavidHuber-NOAA Mar 13, 2023
b241552
Merge branch 'NOAA-EMC:develop' into feature/fit2obs
KateFriedman-NOAA Mar 14, 2023
b1c94fc
Address lint warnings. #357
DavidHuber-NOAA Mar 14, 2023
576d155
Merge branch 'NOAA-EMC:develop' into feature/fit2obs
KateFriedman-NOAA Mar 16, 2023
484994e
Merge branch 'NOAA-EMC:develop' into feature/fit2obs
KateFriedman-NOAA Mar 17, 2023
4da6ab0
Removed xjet-specific resources. #357
DavidHuber-NOAA Mar 21, 2023
822bf71
Set default partition to kjet on jet. #357
DavidHuber-NOAA Mar 21, 2023
8b98e18
Enable metplus and fit2obs jobs on Jet. #357
DavidHuber-NOAA Mar 21, 2023
68f6950
Merge branch 'port_2_jet' of github.com:davidhuber-noaa/global-workfl…
DavidHuber-NOAA Mar 21, 2023
3602ae1
Merge branch 'NOAA-EMC:develop' into feature/fit2obs
KateFriedman-NOAA Mar 23, 2023
b7f82f1
Remove fit2obs from vrfy job
KateFriedman-NOAA Mar 24, 2023
e72698f
Add DO_FIT2OBS switch to config.base
KateFriedman-NOAA Mar 24, 2023
b2d4ab0
Add fit2obs job to config.resources
KateFriedman-NOAA Mar 24, 2023
7e324fb
Add new fit2obs job to workflow setup scripts
KateFriedman-NOAA Mar 24, 2023
2a70883
Create config.fit2obs for new fit2obs job
KateFriedman-NOAA Mar 24, 2023
5653ef2
Create new rocoto job script for fit2obs job
KateFriedman-NOAA Mar 24, 2023
bef3165
Create JJOB script for new fit2obs job
KateFriedman-NOAA Mar 24, 2023
a12499b
Merge branch 'NOAA-EMC:develop' into feature/fit2obs
KateFriedman-NOAA Mar 27, 2023
df432f6
Add fit2obs job to env files
KateFriedman-NOAA Mar 28, 2023
3a5df0f
Merge branch 'NOAA-EMC:develop' into feature/fit2obs
KateFriedman-NOAA Mar 28, 2023
c8dfaa9
Add fit2obs to gdas_half but don't run until xdate>=SDATE
KateFriedman-NOAA Mar 28, 2023
0899ea1
Update path settings in config.fit2obs and remove CDUMPFCST
KateFriedman-NOAA Mar 29, 2023
96e8dad
Updates to JGDAS_FIT2OBS for functioning
KateFriedman-NOAA Mar 29, 2023
ded09d5
Fix quotations in the vrfy job script. #357
DavidHuber-NOAA Mar 31, 2023
0aaaac1
Merge remote-tracking branch 'upstream/develop' into port_2_jet
DavidHuber-NOAA Mar 31, 2023
bd43c45
Disable gldas on Jet. #357
DavidHuber-NOAA Mar 31, 2023
085f6e2
Remove "/install" from EXECcfs and USHcfs paths
KateFriedman-NOAA Apr 3, 2023
5a98866
Merge branch 'NOAA-EMC:develop' into feature/fit2obs
KateFriedman-NOAA Apr 3, 2023
d5ac80a
Fixed erroneous quotations. #357
DavidHuber-NOAA Apr 3, 2023
c39c5ff
Updated detect_machine for jet (/lfs3 no longer exists) #357
DavidHuber-NOAA Apr 3, 2023
4c789d6
Merge remote-tracking branch 'kate/feature/fit2obs' into port_2_jet
DavidHuber-NOAA Apr 3, 2023
9158973
Added memory spec for Fit2Obs on Jet. #357 NOAA-EMC/Fit2Obs#5
DavidHuber-NOAA Apr 6, 2023
8919d2a
Merge remote-tracking branch 'upstream/develop' into port_2_jet
DavidHuber-NOAA Apr 12, 2023
87e86d5
Added Jet locations for coupled/aero ICs. #357
DavidHuber-NOAA Apr 12, 2023
faeba02
Decrease ocnpost memory requirements. #357
DavidHuber-NOAA Apr 12, 2023
2fec79c
Merge remote-tracking branch 'upstream/develop' into port_2_jet
DavidHuber-NOAA Apr 12, 2023
6d322de
Adjusted quotation marks. #357
DavidHuber-NOAA Apr 12, 2023
f937311
Restore develop TC Tracker info. #357
DavidHuber-NOAA Apr 13, 2023
ede4c4a
De-support gldas on Jet. #357
DavidHuber-NOAA Apr 13, 2023
815e49f
Check Jet for jet with /mnt/lfs1. #357
DavidHuber-NOAA Apr 13, 2023
2431190
Add a node for ocnpost on Jet. #357
DavidHuber-NOAA Apr 13, 2023
5c92782
Update coupled IC location on Jet. #357
DavidHuber-NOAA Apr 13, 2023
a311e05
Address shellcheck issue. #357
DavidHuber-NOAA Apr 13, 2023
396a696
Add quotes for shellcheck. #357
DavidHuber-NOAA Apr 13, 2023
8474526
Revert TC_tracker version/location to develop. #357
DavidHuber-NOAA Apr 13, 2023
1cb17d6
Add Jet documentation. #357
DavidHuber-NOAA Apr 13, 2023
ba4f2ee
Changed ORION to JET. #357
DavidHuber-NOAA Apr 13, 2023
6744f69
Set a memory request for fit2obs. #357
DavidHuber-NOAA Apr 14, 2023
c2b3c9d
Increment UFS hash to include new epic stack on Jet #357
DavidHuber-NOAA Apr 14, 2023
8dc1f00
Merge remote-tracking branch 'upstream/develop' into port_2_jet
DavidHuber-NOAA Apr 18, 2023
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: 2 additions & 0 deletions docs/note_fixfield.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ They are saved locally on all platforms

Hera: /scratch1/NCEPDEV/global/glopara/fix
Orion: /work/noaa/global/glopara/fix
Jet: /mnt/lfs4/HFIP/hfv3gfs/glopara/git/fv3gfs/fix
S4: /data/prod/glopara/fix

------------------------------------------------------------------------------
09/28/2018
Expand Down
1 change: 1 addition & 0 deletions docs/source/components.rst
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,7 @@ Observation data, also known as dump data, is prepared in production and then ar

* Hera: /scratch1/NCEPDEV/global/glopara/dump
* Orion: /work/noaa/rstprod/dump
* Jet: /mnt/lfs4/HFIP/hfv3gfs/glopara/dump
* WCOSS2: /lfs/h2/emc/global/noscrub/emc.global/dump
* S4: /data/prod/glopara/dump

Expand Down
9 changes: 6 additions & 3 deletions docs/source/hpc.rst
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ HPC helpdesks
* HPSS: rdhpcs.hpss.help@noaa.gov
* Gaea: oar.gfdl.help@noaa.gov
* S4: david.huber@noaa.gov
* Jet: rdhpcs.jet.help@noaa.gov

======================
Restricted data access
Expand Down Expand Up @@ -76,6 +77,8 @@ It is advised to use Git v2+ when available. At the time of writing this documen
+---------+----------+---------------------------------------+
| Orion | v1.8.3.1 | **module load git/2.28.0** |
+---------+----------+---------------------------------------+
| Jet | v2.18.0 | default |
+---------+----------+---------------------------------------+
| WCOSS2 | v2.26.2 | default or **module load git/2.29.0** |
+---------+----------+---------------------------------------+
| S4 | v1.8.3.1 | **module load git/2.30.0** |
Expand All @@ -96,9 +99,9 @@ For the manage_externals utility functioning::
Error: fatal: ssh variant 'simple' does not support setting port
Fix: git config --global ssh.variant ssh

===================================
Stacksize on R&Ds (Hera, Orion, S4)
===================================
========================================
Stacksize on R&Ds (Hera, Orion, Jet, S4)
========================================

Some GFS components, like the UPP, need an unlimited stacksize. Add the following setting into your appropriate .*rc file to support these components:

Expand Down
3 changes: 2 additions & 1 deletion docs/source/init.rst
Original file line number Diff line number Diff line change
Expand Up @@ -190,6 +190,7 @@ Forecast-only P8 prototype initial conditions are made available to users on sup
WCOSS2: /lfs/h2/emc/global/noscrub/emc.global/IC/COUPLED
HERA: /scratch1/NCEPDEV/climate/role.ufscpara/IC
ORION: /work/noaa/global/glopara/data/ICSDIR/prototype_ICs
JET: /mnt/lfs4/HFIP/hfv3gfs/glopara/data/ICSDIR/prototype_ICs
S4: /data/prod/glopara/coupled_ICs

These locations are known within the workflow via paths set in ``parm/config/config.coupled_ic``.
Expand Down Expand Up @@ -217,7 +218,7 @@ Not yet supported. See :ref:`Manual Generation<manual-generation>` section below
---------------------
Forecast-only coupled
---------------------
Coupled initial conditions are currently only generated offline and copied prior to the forecast run. Prototype initial conditions will automatically be used when setting up an experiment as an S2SW app, there is no need to do anything additional. Copies of initial conditions from the prototype runs are currently maintained on Hera, Orion, and WCOSS2. The locations used are determined by ``parm/config/config.coupled_ic``. If you need prototype ICs on another machine, please contact Walter (Walter.Kolczynski@noaa.gov).
Coupled initial conditions are currently only generated offline and copied prior to the forecast run. Prototype initial conditions will automatically be used when setting up an experiment as an S2SW app, there is no need to do anything additional. Copies of initial conditions from the prototype runs are currently maintained on Hera, Orion, Jet, and WCOSS2. The locations used are determined by ``parm/config/config.coupled_ic``. If you need prototype ICs on another machine, please contact Walter (Walter.Kolczynski@noaa.gov).

.. _forecastonly-atmonly:

Expand Down
11 changes: 11 additions & 0 deletions docs/source/setup.rst
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,13 @@ Experiment Setup

module load miniconda/3.8-s4

* - Jet
- ::

module use /mnt/lfs4/HFIP/hfv3gfs/role.epic/miniconda3/modulefiles
module load miniconda3/4.12.0
conda activate ufswm

If running with Rocoto make sure to have a Rocoto module loaded before running setup scripts:

.. list-table:: ROCOTO Module Load Commands
Expand All @@ -54,6 +61,10 @@ If running with Rocoto make sure to have a Rocoto module loaded before running s
- ::

module load rocoto/1.3.4
* - Jet
- ::

module load rocoto/1.3.3

^^^^^^^^^^^^^^^^^^^^^^^^
Forecast-only experiment
Expand Down
119 changes: 82 additions & 37 deletions env/JET.env
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,13 @@ if [[ "${PARTITION_BATCH}" = "xjet" ]]; then
export npe_node_max=24
elif [[ "${PARTITION_BATCH}" = "vjet" ]]; then
export npe_node_max=16
elif [[ "${PARTITION_BATCH}" = "kjet" ]]; then
export npe_node_max=40
fi
export launcher="srun -l --export=ALL"
export launcher="srun -l --epilog=/apps/local/bin/report-mem --export=ALL"
export mpmd_opt="--multi-prog"

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

Expand All @@ -34,46 +36,85 @@ if [[ "${step}" = "prep" ]] || [[ "${step}" = "prepbufr" ]]; then
nth_max=$((npe_node_max / npe_node_prep))

export POE="NO"
export BACK=${BACK:-"NO"}
export BACK="NO"
export sys_tp="JET"
export launcher_PREP="srun"

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

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

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

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

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} ${npe_atmanalrun}"
export APRUN_ATMANAL="${launcher} -n ${npe_atmanalrun}"

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

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

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} ${npe_atmensanalrun}"
export APRUN_ATMENSANAL="${launcher} -n ${npe_atmensanalrun}"

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

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

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} ${npe_aeroanlrun}"
export APRUN_AEROANL="${launcher} -n ${npe_aeroanlrun}"

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

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

nth_max=$((npe_node_max / npe_node_ocnanalbmat))

export NTHREADS_OCNANAL=${nth_ocnanalbmat:-${nth_max}}
[[ ${NTHREADS_OCNANAL} -gt ${nth_max} ]] && export NTHREADS_OCNANAL=${nth_max}
export APRUN_OCNANAL="${launcher} -n ${npe_ocnanalbmat}"

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

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

nth_max=$((npe_node_max / npe_node_ocnanalrun))

export NTHREADS_OCNANAL=${nth_ocnanalrun:-${nth_max}}
[[ ${NTHREADS_OCNANAL} -gt ${nth_max} ]] && export NTHREADS_OCNANAL=${nth_max}
export APRUN_OCNANAL="${launcher} -n ${npe_ocnanalrun}"

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

nth_max=$((npe_node_max / npe_node_anal))

export NTHREADS_GSI=${nth_gsi:-${nth_max}}
export NTHREADS_GSI=${nth_anal:-${nth_max}}
[[ ${NTHREADS_GSI} -gt ${nth_max} ]] && export NTHREADS_GSI=${nth_max}
export APRUN_GSI="${launcher} ${npe_gsi:-${npe_anal:-${PBS_NP}}}"
export APRUN_GSI="${launcher} -n ${npe_gsi:-${npe_anal}}"

export NTHREADS_CALCINC=${nth_calcinc:-1}
[[ ${NTHREADS_CALCINC} -gt ${nth_max} ]] && export NTHREADS_CALCINC=${nth_max}
Expand All @@ -82,47 +123,50 @@ elif [[ "${step}" = "anal" ]]; then
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} ${npe_cycle}"
export APRUN_CYCLE="${launcher} -n ${npe_cycle}"

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

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} ${npe_sfcanl}"
export APRUN_CYCLE="${launcher} -n ${npe_sfcanl}"

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}
export APRUN_GLDAS="${launcher} ${npe_gldas}"

export NTHREADS_GAUSSIAN=${nth_gaussian:-1}
[[ ${NTHREADS_GAUSSIAN} -gt ${nth_max} ]] && export NTHREADS_GAUSSIAN=${nth_max}
export APRUN_GAUSSIAN="${launcher} ${npe_gaussian}"
echo "WARNING: ${step} is not enabled on ${machine}!"

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

export MKL_NUM_THREADS=4
export MKL_CBWR=AUTO

nth_max=$((npe_node_max / npe_node_eobs))

export NTHREADS_GSI=${nth_gsi:-${nth_max}}
export NTHREADS_GSI=${nth_eobs:-${nth_max}}
[[ ${NTHREADS_GSI} -gt ${nth_max} ]] && export NTHREADS_GSI=${nth_max}
export APRUN_GSI="${launcher} ${npe_gsi:-${npe_eobs:-${PBS_NP}}}"
export APRUN_GSI="${launcher} -n ${npe_gsi:-${npe_eobs}}"

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

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

nth_max=$((npe_node_max / npe_node_eupd))

export NTHREADS_ENKF=${nth_enkf:-${nth_max}}
export NTHREADS_ENKF=${nth_eupd:-${nth_max}}
[[ ${NTHREADS_ENKF} -gt ${nth_max} ]] && export NTHREADS_ENKF=${nth_max}
export APRUN_ENKF="${launcher} ${npe_enkf:-${npe_eupd:-${PBS_NP}}}"
export APRUN_ENKF="${launcher} -n ${npe_enkf:-${npe_eupd}}"

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

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

Expand All @@ -145,64 +189,65 @@ elif [[ "${step}" = "post" ]]; then

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

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

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}
export APRUN_ECEN="${launcher} ${npe_ecen:-${PBS_NP}}"
export APRUN_ECEN="${launcher} -n ${npe_ecen}"

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} ${npe_ecen:-${PBS_NP}}"
export APRUN_CALCINC="${launcher} -n ${npe_ecen}"

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}
export APRUN_ESFC="${launcher} ${npe_esfc:-${PBS_NP}}"
export APRUN_ESFC="${launcher} -n ${npe_esfc}"

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

export APRUN_CYCLE="${launcher} -n ${npe_esfc}"

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 APRUN_EPOS="${launcher} ${npe_epos:-${PBS_NP}}"
export APRUN_EPOS="${launcher} -n ${npe_epos}"

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

export APRUN="${launcher}"
export APRUN="${launcher} -n ${npe_init}"

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

export CFP_MP="YES"

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} ${npe_postsnd}"
export APRUN_POSTSND="${launcher} -n ${npe_postsnd}"

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

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

Expand Down
Loading