-
Notifications
You must be signed in to change notification settings - Fork 181
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
Global-workflow (AR) Generic updates for Gaea C5 #2515
Changes from 9 commits
9dd4cd9
b06b5d8
8608476
3477d5d
4f5f0e3
e11ad5a
b87fc82
746511f
a7fc064
13f14a1
70117c0
887fe04
835fd6d
46a45ec
662aa43
aac38ba
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
#! /usr/bin/env bash | ||
|
||
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 "fcst atmos_products" | ||
exit 1 | ||
|
||
fi | ||
|
||
step=$1 | ||
|
||
export launcher="srun -l --export=ALL" | ||
export mpmd_opt="--multi-prog --output=mpmd.%j.%t.out" | ||
|
||
ulimit -s unlimited | ||
ulimit -a | ||
|
||
if [[ "${step}" = "fcst" ]]; then | ||
|
||
if [[ "${CDUMP}" =~ "gfs" ]]; then | ||
nprocs="npe_${step}_gfs" | ||
ppn="npe_node_${step}_gfs" || ppn="npe_node_${step}" | ||
else | ||
nprocs="npe_${step}" | ||
ppn="npe_node_${step}" | ||
fi | ||
(( nnodes = (${!nprocs}+${!ppn}-1)/${!ppn} )) | ||
(( ntasks = nnodes*${!ppn} )) | ||
# With ESMF threading, the model wants to use the full node | ||
export APRUN_UFS="${launcher} -n ${ntasks}" | ||
unset nprocs ppn nnodes ntasks | ||
|
||
elif [[ "${step}" = "atmos_products" ]]; then | ||
|
||
export USE_CFP="YES" # Use MPMD for downstream product generation | ||
|
||
fi |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,52 @@ | ||
help([[ | ||
Load environment to run GFS on Gaea | ||
]]) | ||
|
||
local spack_mod_path=(os.getenv("spack_mod_path") or "None") | ||
local spack_gsi_mod_path=(os.getenv("spack_gsi_mod_path") or "None") | ||
prepend_path("MODULEPATH", spack_mod_path) | ||
prepend_path("MODULEPATH", spack_gsi_mod_path) | ||
|
||
load(pathJoin("stack-intel", (os.getenv("stack_intel_ver") or "None"))) | ||
load(pathJoin("stack-cray-mpich", (os.getenv("stack_cray_mpich_ver") or "None"))) | ||
load(pathJoin("python", (os.getenv("python_ver") or "None"))) | ||
|
||
--load(pathJoin("hpss", (os.getenv("hpss_ver") or "None"))) | ||
--load(pathJoin("gempak", (os.getenv("gempak_ver") or "None"))) | ||
--load(pathJoin("ncl", (os.getenv("ncl_ver") or "None"))) | ||
load(pathJoin("jasper", (os.getenv("jasper_ver") or "None"))) | ||
load(pathJoin("libpng", (os.getenv("libpng_ver") or "None"))) | ||
load(pathJoin("cdo", (os.getenv("cdo_ver") or "None"))) | ||
--load(pathJoin("R", (os.getenv("R_ver") or "None"))) | ||
--load(pathJoin("perl", (os.getenv("perl_ver") or "None"))) | ||
|
||
load(pathJoin("hdf5", (os.getenv("hdf5_ver") or "None"))) | ||
load(pathJoin("netcdf-c", (os.getenv("netcdf_c_ver") or "None"))) | ||
load(pathJoin("netcdf-fortran", (os.getenv("netcdf_fortran_ver") or "None"))) | ||
|
||
load(pathJoin("nco", (os.getenv("nco_ver") or "None"))) | ||
load(pathJoin("prod_util", (os.getenv("prod_util_ver") or "None"))) | ||
load(pathJoin("grib-util", (os.getenv("grib_util_ver") or "None"))) | ||
load(pathJoin("g2tmpl", (os.getenv("g2tmpl_ver") or "None"))) | ||
load(pathJoin("gsi-ncdiag", (os.getenv("gsi_ncdiag_ver") or "None"))) | ||
load(pathJoin("crtm", (os.getenv("crtm_ver") or "None"))) | ||
load(pathJoin("bufr", (os.getenv("bufr_ver") or "None"))) | ||
load(pathJoin("wgrib2", (os.getenv("wgrib2_ver") or "None"))) | ||
load(pathJoin("py-netcdf4", (os.getenv("py_netcdf4_ver") or "None"))) | ||
load(pathJoin("py-pyyaml", (os.getenv("py_pyyaml_ver") or "None"))) | ||
load(pathJoin("py-jinja2", (os.getenv("py_jinja2_ver") or "None"))) | ||
load(pathJoin("py-pandas", (os.getenv("py_pandas_ver") or "None"))) | ||
load(pathJoin("py-python-dateutil", (os.getenv("py_python_dateutil_ver") or "None"))) | ||
load(pathJoin("met", (os.getenv("met_ver") or "None"))) | ||
load(pathJoin("metplus", (os.getenv("metplus_ver") or "None"))) | ||
load(pathJoin("py-xarray", (os.getenv("py_xarray_ver") or "None"))) | ||
|
||
setenv("WGRIB2","wgrib2") | ||
setenv("UTILROOT",(os.getenv("prod_util_ROOT") or "None")) | ||
--prepend_path("MODULEPATH", pathJoin("/gpfs/f5/epic/proj-shared/global/glopara/data/git/prepobs/v" .. (os.getenv("prepobs_run_ver") or "None"), "modulefiles")) | ||
prepend_path("MODULEPATH", pathJoin("/gpfs/f5/epic/proj-shared/global/glopara/data/git/prepobs/feature-GFSv17_com_reorg_log_update/modulefiles")) | ||
load(pathJoin("prepobs", os.getenv("prepobs_run_ver"))) | ||
prepend_path("MODULEPATH", pathJoin("/gpfs/f5/epic/proj-shared/global/glopara/data/git/Fit2Obs/v" .. (os.getenv("fit2obs_ver") or "None"), "modulefiles")) | ||
load(pathJoin("fit2obs", os.getenv("fit2obs_ver"))) | ||
|
||
whatis("Description: GFS run setup environment") |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
help([[ | ||
Load environment to run GFS workflow setup scripts on Gaea | ||
]]) | ||
|
||
prepend_path("MODULEPATH", "/ncrc/proj/epic/rocoto/modulefiles") | ||
load(pathJoin("rocoto")) | ||
|
||
prepend_path("MODULEPATH", "/ncrc/proj/epic/spack-stack/spack-stack-1.6.0/envs/unified-env/install/modulefiles/Core") | ||
|
||
local stack_intel_ver=os.getenv("stack_intel_ver") or "2023.1.0" | ||
local python_ver=os.getenv("python_ver") or "3.10.13" | ||
|
||
load(pathJoin("stack-intel", stack_intel_ver)) | ||
load(pathJoin("python", python_ver)) | ||
load("py-jinja2") | ||
load("py-pyyaml") | ||
load("py-numpy") | ||
local git_ver=os.getenv("git_ver") or "2.35.2" | ||
load(pathJoin("git", git_ver)) | ||
|
||
whatis("Description: GFS run setup environment") |
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -70,39 +70,10 @@ elif [[ ${MACHINE_ID} = stampede* ]] ; then | |
elif [[ ${MACHINE_ID} = gaea* ]] ; then | ||
# We are on GAEA. | ||
if ( ! eval module help > /dev/null 2>&1 ) ; then | ||
# We cannot simply load the module command. The GAEA | ||
# /etc/profile modifies a number of module-related variables | ||
# before loading the module command. Without those variables, | ||
# the module command fails. Hence we actually have to source | ||
# /etc/profile here. | ||
source /etc/profile | ||
__ms_source_etc_profile=yes | ||
else | ||
__ms_source_etc_profile=no | ||
fi | ||
module purge | ||
# clean up after purge | ||
unset _LMFILES_ | ||
unset _LMFILES_000 | ||
unset _LMFILES_001 | ||
unset LOADEDMODULES | ||
module load modules | ||
if [[ -d /opt/cray/ari/modulefiles ]] ; then | ||
module use -a /opt/cray/ari/modulefiles | ||
fi | ||
if [[ -d /opt/cray/pe/ari/modulefiles ]] ; then | ||
module use -a /opt/cray/pe/ari/modulefiles | ||
fi | ||
if [[ -d /opt/cray/pe/craype/default/modulefiles ]] ; then | ||
module use -a /opt/cray/pe/craype/default/modulefiles | ||
fi | ||
if [[ -s /etc/opt/cray/pe/admin-pe/site-config ]] ; then | ||
source /etc/opt/cray/pe/admin-pe/site-config | ||
fi | ||
if [[ "${__ms_source_etc_profile}" == yes ]] ; then | ||
source /etc/profile | ||
unset __ms_source_etc_profile | ||
source /usr/share/lmod/lmod/init/bash | ||
source /etc/profile | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Please maintain indentation |
||
fi | ||
module reset | ||
|
||
elif [[ ${MACHINE_ID} = expanse* ]]; then | ||
# We are on SDSC Expanse | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
export stack_intel_ver=2023.1.0 | ||
export stack_cray_mpich_ver=8.1.25 | ||
export spack_env=unified-env | ||
source "${HOMEgfs:-}/versions/build.spack.ver" | ||
export spack_mod_path="/ncrc/proj/epic/spack-stack/spack-stack-${spack_stack_ver}/envs/${spack_env}/install/modulefiles/Core" |
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -18,6 +18,6 @@ export mom6_ver=20231219 | |
export orog_ver=20231027 | ||
export reg2grb2_ver=20220805 | ||
export sfc_climo_ver=20220805 | ||
export ugwd_ver=20231027 | ||
export ugwd_ver=20220805 | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This needs to be reverted to the |
||
export verif_ver=20220805 | ||
export wave_ver=20240105 |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
export stack_intel_ver=2023.1.0 | ||
export stack_cray_mpich_ver=8.1.25 | ||
export spack_env=unified-env | ||
export spack_gsi_env=gsi-addon-dev | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. See above comment in |
||
|
||
export hpss_ver=hpss | ||
export ncl_ver=6.6.2 | ||
export R_ver=3.5.0 | ||
export gempak_ver=7.4.2 | ||
export perl_ver=5.38.0 | ||
|
||
source "${HOMEgfs:-}/versions/run.spack.ver" | ||
export spack_mod_path="/ncrc/proj/epic/spack-stack/spack-stack-${spack_stack_ver}/envs/${spack_env}/install/modulefiles/Core" | ||
export spack_gsi_mod_path="/ncrc/proj/epic/spack-stack/spack-stack-${spack_stack_ver}/envs/${spack_gsi_env}/install/modulefiles/Core" |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
BASE_GIT: '/gpfs/f5/epic/proj-shared/global/glopara/data/git' | ||
DMPDIR: '/gpfs/f5/epic/proj-shared/global/glopara/data/dump' | ||
BASE_CPLIC: '/gpfs/f5/epic/proj-shared/global/glopara/data/ICSDIR/prototype_ICs' | ||
PACKAGEROOT: '/gpfs/f5/epic/proj-shared/global/glopara/data/nwpara' | ||
COMROOT: '/gpfs/f5/epic/proj-shared/global/glopara/data/com' | ||
COMINsyn: '${COMROOT}/gfs/prod/syndat' | ||
HOMEDIR: '/gpfs/f5/epic/scratch/${USER}' | ||
STMP: '/gpfs/f5/epic/scratch/${USER}' | ||
PTMP: '/gpfs/f5/epic/scratch/${USER}' | ||
NOSCRUB: $HOMEDIR | ||
ACCOUNT: epic | ||
SCHEDULER: slurm | ||
QUEUE: batch | ||
QUEUE_SERVICE: batch | ||
PARTITION_BATCH: cron_c5 | ||
PARTITION_SERVICE: service | ||
CHGRP_RSTPROD: 'NO' | ||
CHGRP_CMD: 'chgrp rstprod' | ||
HPSSARCH: 'NO' | ||
HPSS_PROJECT: emc-global | ||
LOCALARCH: 'NO' | ||
ATARDIR: '${NOSCRUB}/archive_rotdir/${PSLOT}' | ||
MAKE_NSSTBUFR: 'NO' | ||
MAKE_ACFTBUFR: 'NO' | ||
SUPPORTED_RESOLUTIONS: ['C1152', 'C768', 'C384', 'C192', 'C96', 'C48'] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The gsi_mod_path contains the other as well. I don't think the previous is needed. Please confirm.