-
Notifications
You must be signed in to change notification settings - Fork 176
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
Clone, build, and run C48_ATM and C48_S2SW on Gaea C5 and C6 #3106
Open
DavidBurrows-NCO
wants to merge
35
commits into
NOAA-EMC:develop
Choose a base branch
from
DavidBurrows-NCO:gw_c5OSc6
base: develop
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from 31 commits
Commits
Show all changes
35 commits
Select commit
Hold shift + click to select a range
e97d26d
Updates for setup_expt and setup_xml workflow on Gaea C5 and C6
DavidBurrows-NCO ecb706c
Merge branch 'NOAA-EMC:develop' into gw_c5OSc6
DavidBurrows-NCO d7e2398
update submodules and some files to run on C5/C6
DavidBurrows-NCO 3dbc625
modulefile updates for C6
DavidBurrows-NCO a8d2720
merge conflicts
DavidBurrows-NCO 296b5c3
module file updates
DavidBurrows-NCO 16d1ff4
update C5 resources
DavidBurrows-NCO 5973d8c
enable C5 and C6 build_all and load modules
DavidBurrows-NCO 3c946e3
update ufs_utils hash to develop
DavidBurrows-NCO fc56219
remove data in path for C5 fix files to be consistent with other systems
DavidBurrows-NCO ad28704
Merge branch 'NOAA-EMC:develop' into gw_c5OSc6
DavidBurrows-NCO 7e4e168
merging gdas.cd conflict
DavidBurrows-NCO 55c3755
Merge branch 'NOAA-EMC:develop' into gw_c5OSc6
DavidBurrows-NCO 9da291a
Merge branch 'NOAA-EMC:develop' into gw_c5OSc6
DavidBurrows-NCO 8e9c574
Merge branch 'NOAA-EMC:develop' into gw_c5OSc6
DavidBurrows-NCO 5912489
Merge branch 'NOAA-EMC:develop' into gw_c5OSc6
DavidBurrows-NCO 8ee25a5
Merge branch 'NOAA-EMC:develop' into gw_c5OSc6
DavidBurrows-NCO 3f89329
Merge branch 'NOAA-EMC:develop' into gw_c5OSc6
DavidBurrows-NCO c24c122
Merge branch 'NOAA-EMC:develop' into gw_c5OSc6
DavidBurrows-NCO a654df2
Merge branch 'NOAA-EMC:develop' into gw_c5OSc6
DavidBurrows-NCO 38eb76b
Merge branch 'NOAA-EMC:develop' into gw_c5OSc6
DavidBurrows-NCO 5bddc10
update ufs_model hash
DavidBurrows-NCO 1843beb
adjust C6 directory paths
DavidBurrows-NCO c96c16a
add space in hosts.py
DavidBurrows-NCO 6d0c7c9
syndat path updates
DavidBurrows-NCO 0024182
update fit2obs path
DavidBurrows-NCO 1f89d7e
fix aero input path
DavidBurrows-NCO 438a06c
revert defaults.yaml
DavidBurrows-NCO 8553d54
point ufs_model to develop
DavidBurrows-NCO 0eab54c
Merge branch 'develop' into gw_c5OSc6
DavidBurrows-NCO 73cc6bf
Merge branch 'NOAA-EMC:develop' into gw_c5OSc6
DavidBurrows-NCO 3f85c59
committing conflicts
DavidBurrows-NCO 9ad705e
remove COMROOT from gaeac5.yaml
DavidBurrows-NCO e22f7e7
Merge branch 'develop' into gw_c5OSc6
DavidBurrows-NCO 2ae073b
Merge branch 'NOAA-EMC:develop' into gw_c5OSc6
DavidBurrows-NCO File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,108 @@ | ||
#! /usr/bin/env bash | ||
|
||
if [[ $# -ne 1 ]]; then | ||
|
||
echo "Must specify an input argument to set runtime environment variables!" | ||
exit 1 | ||
|
||
fi | ||
|
||
step=$1 | ||
|
||
export launcher="srun -l --export=ALL" | ||
export mpmd_opt="--multi-prog --output=mpmd.%j.%t.out" | ||
|
||
export OMP_STACKSIZE=2048000 | ||
export NTHSTACK=1024000000 | ||
|
||
ulimit -s unlimited | ||
ulimit -a | ||
|
||
# Calculate common variables | ||
# Check first if the dependent variables are set | ||
if [[ -n "${ntasks:-}" && -n "${max_tasks_per_node:-}" && -n "${tasks_per_node:-}" ]]; then | ||
max_threads_per_task=$((max_tasks_per_node / tasks_per_node)) | ||
NTHREADSmax=${threads_per_task:-${max_threads_per_task}} | ||
NTHREADS1=${threads_per_task:-1} | ||
[[ ${NTHREADSmax} -gt ${max_threads_per_task} ]] && NTHREADSmax=${max_threads_per_task} | ||
[[ ${NTHREADS1} -gt ${max_threads_per_task} ]] && NTHREADS1=${max_threads_per_task} | ||
# This may be useful when GaeaC6 is fully ported, so ignore SC warning | ||
# shellcheck disable=SC2034 | ||
APRUN_default="${launcher} -n ${ntasks}" | ||
else | ||
echo "ERROR config.resources must be sourced before sourcing GAEAC6.env" | ||
exit 2 | ||
fi | ||
|
||
if [[ "${step}" = "prep" ]]; then | ||
|
||
export POE="NO" | ||
export BACK="NO" | ||
export sys_tp="GAEAC6" | ||
export launcher_PREP="srun" | ||
|
||
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}" | ||
|
||
export NTHREADS_GSI=${NTHREADSmax} | ||
export APRUN_GSI="${APRUN_default} --cpus-per-task=${NTHREADS_GSI}" | ||
|
||
export NTHREADS_CALCINC=${threads_per_task_calcinc:-1} | ||
[[ ${NTHREADS_CALCINC} -gt ${max_threads_per_task} ]] && export NTHREADS_CALCINC=${max_threads_per_task} | ||
export APRUN_CALCINC="${launcher} \$ncmd --cpus-per-task=${NTHREADS_CALCINC}" | ||
|
||
export NTHREADS_CYCLE=${threads_per_task_cycle:-12} | ||
[[ ${NTHREADS_CYCLE} -gt ${max_tasks_per_node} ]] && export NTHREADS_CYCLE=${max_tasks_per_node} | ||
ntasks_cycle=${ntiles:-6} | ||
export APRUN_CYCLE="${launcher} -n ${ntasks_cycle} --cpus-per-task=${NTHREADS_CYCLE}" | ||
|
||
export NTHREADS_GAUSFCANL=1 | ||
ntasks_gausfcanl=${ntasks_gausfcanl:-1} | ||
export APRUN_GAUSFCANL="${launcher} -n ${ntasks_gausfcanl} --cpus-per-task=${NTHREADS_GAUSFCANL}" | ||
|
||
elif [[ "${step}" = "sfcanl" ]]; then | ||
|
||
export NTHREADS_CYCLE=${threads_per_task:-14} | ||
export APRUN_CYCLE="${APRUN_default} --cpus-per-task=${NTHREADS_CYCLE}" | ||
|
||
elif [[ "${step}" = "fcst" ]]; then | ||
|
||
(( nnodes = (ntasks+tasks_per_node-1)/tasks_per_node )) | ||
(( ufs_ntasks = nnodes*tasks_per_node )) | ||
# With ESMF threading, the model wants to use the full node | ||
export APRUN_UFS="${launcher} -n ${ufs_ntasks}" | ||
unset nnodes ufs_ntasks | ||
|
||
elif [[ "${step}" = "upp" ]]; then | ||
|
||
export NTHREADS_UPP=${NTHREADS1} | ||
export APRUN_UPP="${APRUN_default} --cpus-per-task=${NTHREADS_UPP}" | ||
|
||
elif [[ "${step}" = "atmos_products" ]]; then | ||
|
||
export USE_CFP="YES" # Use MPMD for downstream product generation on GaeaC6 | ||
|
||
elif [[ "${step}" = "oceanice_products" ]]; then | ||
|
||
export NTHREADS_OCNICEPOST=${NTHREADS1} | ||
export APRUN_OCNICEPOST="${launcher} -n 1 --cpus-per-task=${NTHREADS_OCNICEPOST}" | ||
|
||
elif [[ "${step}" = "fit2obs" ]]; then | ||
|
||
export NTHREADS_FIT2OBS=${NTHREADS1} | ||
export MPIRUN="${APRUN_default} --cpus-per-task=${NTHREADS_FIT2OBS}" | ||
|
||
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} | ||
|
||
fi |
2 changes: 1 addition & 1 deletion
2
modulefiles/module_base.gaea.lua → modulefiles/module_base.gaeac5.lua
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
help([[ | ||
Load environment to run GFS on Gaea C6 | ||
]]) | ||
|
||
local spack_mod_path=(os.getenv("spack_mod_path") or "None") | ||
prepend_path("MODULEPATH", spack_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("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("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("perlbrew", (os.getenv("perl_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-f90nml", (os.getenv("py_f90nml_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/f6/bil-fire8/world-shared/global/glopara/git/prepobs/v" .. (os.getenv("prepobs_run_ver") or "None"), "modulefiles")) | ||
load(pathJoin("prepobs", (os.getenv("prepobs_run_ver") or "None"))) | ||
|
||
prepend_path("MODULEPATH", pathJoin("/gpfs/f6/bil-fire8/world-shared/global/glopara/git/Fit2Obs/v" .. (os.getenv("fit2obs_ver") or "None"), "modulefiles")) | ||
load(pathJoin("fit2obs", (os.getenv("fit2obs_ver") or "None"))) | ||
|
||
whatis("Description: GFS run setup environment") |
4 changes: 2 additions & 2 deletions
4
modulefiles/module_gwsetup.gaea.lua → modulefiles/module_gwsetup.gaeac5.lua
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
help([[ | ||
Load environment to run GFS workflow setup scripts on Gaea C6 | ||
]]) | ||
|
||
prepend_path("MODULEPATH", "/ncrc/proj/epic/rocoto/modulefiles") | ||
load(pathJoin("rocoto")) | ||
|
||
prepend_path("MODULEPATH", "/ncrc/proj/epic/spack-stack/c6/spack-stack-1.6.0/envs/unified-env/install/modulefiles/Core") | ||
|
||
local stack_intel_ver=os.getenv("stack_intel_ver") or "2023.2.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") | ||
load("git-lfs") | ||
|
||
whatis("Description: GFS run setup environment") |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
#! /usr/bin/env bash | ||
|
||
# GaeaC6-specific job resources | ||
|
||
unset memory | ||
# shellcheck disable=SC2312 | ||
for mem_var in $(env | grep '^memory_' | cut -d= -f1); do | ||
unset "${mem_var}" | ||
done |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Submodule gfs_utils.fd
updated
10 files
+1 −0 | CMakeLists.txt | |
+17 −0 | modulefiles/gfsutils_container.intel.lua | |
+5 −10 | modulefiles/gfsutils_gaeac5.intel.lua | |
+27 −0 | modulefiles/gfsutils_gaeac6.intel.lua | |
+8 −5 | modulefiles/gfsutils_noaacloud.intel.lua | |
+1 −1 | src/ocnicepost.fd/masking_mod.F90 | |
+6 −1 | src/tave.fd/CMakeLists.txt | |
+8 −3 | src/vint.fd/CMakeLists.txt | |
+15 −6 | ush/detect_machine.sh | |
+12 −0 | ush/module-setup.sh |
Submodule gsi_enkf.fd
updated
29 files
+54 −0 | modulefiles/gsi_acorn.intel.lua | |
+28 −0 | modulefiles/gsi_container.intel.lua | |
+3 −7 | modulefiles/gsi_gaeac5.intel.lua | |
+29 −0 | modulefiles/gsi_gaeac6.intel.lua | |
+1 −1 | regression/regression_driver.sh | |
+68 −30 | regression/regression_param.sh | |
+22 −6 | regression/regression_var.sh | |
+8 −0 | src/enkf/controlvec.f90 | |
+1 −1 | src/enkf/enkf_obs_sensitivity.f90 | |
+1 −1 | src/enkf/gridio_gfs.f90 | |
+1 −1 | src/enkf/innovstats.f90 | |
+16 −1 | src/enkf/observer_fv3reg.f90 | |
+5 −1 | src/gsi/CMakeLists.txt | |
+2 −0 | src/gsi/cmake/PackageConfig.cmake.in | |
+5 −5 | src/gsi/combine_radobs.f90 | |
+5 −5 | src/gsi/radinfo.f90 | |
+1 −0 | src/gsi/read_avhrr_navy.f90 | |
+1 −1 | src/gsi/read_bufrtovs.f90 | |
+1 −1 | src/gsi/read_cris.f90 | |
+0 −1 | src/gsi/read_gmi.f90 | |
+9 −12 | src/gsi/read_iasi.f90 | |
+1 −2 | src/gsi/read_saphir.f90 | |
+1 −1 | src/gsi/statsrad.f90 | |
+17 −8 | ush/detect_machine.sh | |
+9 −2 | ush/module-setup.sh | |
+1 −0 | ush/sub_acorn | |
+3 −3 | ush/sub_gaeac5 | |
+170 −0 | ush/sub_gaeac6 | |
+3 −3 | ush/sub_wcoss2 |
Submodule gsi_monitor.fd
updated
7 files
+16 −0 | modulefiles/container.intel.lua | |
+3 −3 | modulefiles/gaeac5.intel-run.lua | |
+3 −3 | modulefiles/gaeac5.intel.lua | |
+18 −0 | modulefiles/gaeac6.intel-run.lua | |
+16 −0 | modulefiles/gaeac6.intel.lua | |
+15 −6 | ush/detect_machine.sh | |
+7 −0 | ush/module-setup.sh |
Submodule gsi_utils.fd
updated
5 files
+23 −0 | modulefiles/gsiutils_container.intel.lua | |
+3 −3 | modulefiles/gsiutils_gaeac5.intel.lua | |
+24 −0 | modulefiles/gsiutils_gaeac6.intel.lua | |
+14 −6 | ush/detect_machine.sh | |
+5 −0 | ush/module-setup.sh |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Submodule ufs_model.fd
updated
73 files
Submodule ufs_utils.fd
updated
39 files
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,8 +1,5 @@ | ||
export stack_intel_ver=2023.1.0 | ||
export stack_cray_mpich_ver=8.1.25 | ||
export spack_env=gsi-addon-dev | ||
|
||
export perl_ver=5.38.2 | ||
|
||
source "${HOMEgfs:-}/versions/spack.ver" | ||
export spack_mod_path="/ncrc/proj/epic/spack-stack/spack-stack-${spack_stack_ver}/envs/${spack_env}/install/modulefiles/Core" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
export stack_intel_ver=2023.2.0 | ||
export stack_cray_mpich_ver=8.1.28 | ||
export spack_env=gsi-addon-dev | ||
|
||
export perl_ver=5.38.2 | ||
|
||
source "${HOMEgfs:-}/versions/spack.ver" | ||
export spack_mod_path="/ncrc/proj/epic/spack-stack/spack-stack-${spack_stack_ver}/envs/${spack_env}/install/modulefiles/Core" |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.
Curious what this is for?
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.
From Seth Underwood, Gaea SA: "After the C5 update, users reported that some jobs failed during the MPI_Finalize call. We have alerted ORNL and HPE. HPE has suggested setting the environment variable FI_VERBS_PREFER_XRC=0 in the run script (setenv FI_VERBS_PREFER_XRC 0, for csh; export FI_VERBS_PREFER_XRC=0). This has resolved the error in our tests. Please add this variable to your run script(s) if you also hit this error. Please note that we do not see any issues preemptively setting this environment variable." You will also see this setting in the ufs-weather-model now too