-
Notifications
You must be signed in to change notification settings - Fork 279
Port ufs-weather-model to acorn (WCOSS2 TDS) #291
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
Changes from all commits
98e8764
ed381e8
8e524f6
7a84602
c628df3
7e327db
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,3 @@ | ||
| set(INLINE_POST ON CACHE BOOL "Enable inline post" FORCE) | ||
| set(PARALLEL_NETCDF ON CACHE BOOL "Enable parallel NetCDF" FORCE) | ||
| set(DEBUG_LINKMPI OFF CACHE BOOL "Enable linkmpi option when DEBUG mode is on" FORCE) | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,42 @@ | ||
| #%Module | ||
|
|
||
| proc ModulesHelp {} { | ||
| puts stderr "\tcit - loads modules required for building and running UFS Model on the Dell side of WCOSS" | ||
| } | ||
|
|
||
| module-whatis "loads UFS Model prerequisites on Venus and Mars" | ||
|
|
||
| module unload cpe-cray cce | ||
| module load cpe-intel intel | ||
|
|
||
| module load cmake/3.17.3 | ||
| setenv CMAKE_C_COMPILER cc | ||
| setenv CMAKE_CXX_COMPILER CC | ||
| setenv CMAKE_Fortran_COMPILER ftn | ||
| setenv CMAKE_Platform wcoss2 | ||
|
|
||
| module use /lfs/h1/emc/nceplibs/noscrub/hpc-stack/test/noaa/modulefiles/stack | ||
|
|
||
| module load hpc/1.0.0-beta1 | ||
| module load hpc-intel/19.1.1.217 | ||
| module load hpc-cray-mpich/8.0.15 | ||
|
|
||
| module load jasper/2.0.22 | ||
| module load zlib/1.2.11 | ||
| module load png/1.6.35 | ||
|
|
||
| module load hdf5/1.10.6 | ||
| module load netcdf/4.7.4 | ||
| module load pio/2.5.1 | ||
| module load esmf/8_1_0_beta_snapshot_27 | ||
|
|
||
| module load bacio/2.4.1 | ||
| module load crtm/2.3.0 | ||
| module load g2/3.4.1 | ||
| module load g2tmpl/1.9.1 | ||
| module load ip/3.3.3 | ||
| module load nemsio/2.5.2 | ||
| module load sp/2.3.3 | ||
| module load w3emc/2.7.3 | ||
| module load w3nco/2.4.1 | ||
| module load upp/10.0.0 |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,42 @@ | ||
| #%Module | ||
|
|
||
| proc ModulesHelp {} { | ||
| puts stderr "\tcit - loads modules required for building and running UFS Model on the Dell side of WCOSS" | ||
| } | ||
|
|
||
| module-whatis "loads UFS Model prerequisites on Venus and Mars" | ||
|
|
||
| module unload cpe-cray cce | ||
| module load cpe-intel intel | ||
|
|
||
| module load cmake/3.17.3 | ||
| setenv CMAKE_C_COMPILER cc | ||
| setenv CMAKE_CXX_COMPILER CC | ||
| setenv CMAKE_Fortran_COMPILER ftn | ||
| setenv CMAKE_Platform wcoss2 | ||
|
|
||
|
Contributor
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. One could just add |
||
| module use /lfs/h1/emc/nceplibs/noscrub/hpc-stack/test/noaa/modulefiles/stack | ||
|
|
||
| module load hpc/1.0.0-beta1 | ||
| module load hpc-intel/19.1.1.217 | ||
| module load hpc-cray-mpich/8.0.15 | ||
|
|
||
| module load jasper/2.0.22 | ||
| module load zlib/1.2.11 | ||
| module load png/1.6.35 | ||
|
|
||
| module load hdf5/1.10.6 | ||
| module load netcdf/4.7.4 | ||
| module load pio/2.5.1 | ||
| module load esmf/8_1_0_beta_snapshot_27 | ||
|
|
||
| module load bacio/2.4.1 | ||
| module load crtm/2.3.0 | ||
| module load g2/3.4.1 | ||
| module load g2tmpl/1.9.1 | ||
| module load ip/3.3.3 | ||
| module load nemsio/2.5.2 | ||
| module load sp/2.3.3 | ||
| module load w3emc/2.7.3 | ||
| module load w3nco/2.4.1 | ||
| module load upp/10.0.0 | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -56,6 +56,9 @@ set +x | |
| if [[ $MACHINE_ID == macosx.* ]] || [[ $MACHINE_ID == linux.* ]]; then | ||
| source $PATHTR/modulefiles/${MACHINE_ID}/fv3 | ||
| else | ||
| if [[ $MACHINE_ID == wcoss2 ]]; then | ||
| source /apps/prod/lmodules/startLmod | ||
|
Contributor
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. I guess this will eventually be moved to ../NEMS/src/conf/module-setup.*sh.inc?
Collaborator
Author
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. Yes. Or if they switch to Lmod version of modules, sourcing this script might not be necessary at all. |
||
| fi | ||
| # Activate lua environment for gaea | ||
| if [[ $MACHINE_ID == gaea.* ]] ; then | ||
| source /lustre/f2/pdata/esrl/gsd/contrib/lua-5.1.4.9/init/init_lmod.sh | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,20 @@ | ||
| #!/bin/bash | ||
|
|
||
| #PBS -o out | ||
| #PBS -e err | ||
| #PBS -N @[JBNME] | ||
| # #PBS -A @[ACCNR] | ||
| #PBS -q @[QUEUE] | ||
| #PBS -l select=1:ncpus=8:mpiprocs=1 | ||
| #PBS -l walltime=00:30:00 | ||
|
|
||
| set -eux | ||
|
|
||
| cd $PBS_O_WORKDIR | ||
| export CRAY_CONFIG_DIR=$HOME | ||
|
|
||
| echo "Compile started: " `date` | ||
|
|
||
| @[PATHRT]/compile.sh @[MACHINE_ID] "@[MAKE_OPT]" @[COMPILE_NR] | ||
|
|
||
| echo "Compile ended: " `date` |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,32 @@ | ||
| #!/bin/bash | ||
|
|
||
| #PBS -o out | ||
| #PBS -e err | ||
| #PBS -N @[JBNME] | ||
| # #PBS -A @[ACCNR] | ||
| #PBS -q @[QUEUE] | ||
| #PBS -l place=vscatter,select=@[NODES]:ncpus=@[TPN]:mpiprocs=@[TPN] | ||
| #PBS -l walltime=00:@[WLCLK]:00 | ||
|
|
||
| set -eux | ||
|
|
||
| cd $PBS_O_WORKDIR | ||
| export CRAY_CONFIG_DIR=$HOME | ||
|
|
||
| source /apps/prod/lmodules/startLmod | ||
| module use $( pwd -P ) | ||
| module load modules.fv3 | ||
| module list | ||
|
|
||
| echo "Model started: " `date` | ||
|
|
||
| export MPI_TYPE_DEPTH=20 | ||
| export OMP_STACKSIZE=512M | ||
| export OMP_NUM_THREADS=@[THRD] | ||
| export ESMF_RUNTIME_COMPLIANCECHECK=OFF:depth=4 | ||
|
|
||
| cray aprun -n @[TASKS] ./fv3.exe | ||
|
|
||
| echo "Model ended: " `date` | ||
|
|
||
| exit |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -173,6 +173,33 @@ elif [[ $MACHINE_ID = wcoss_dell_p3 ]]; then | |
| cp fv3_conf/fv3_bsub.IN_wcoss_dell_p3 fv3_conf/fv3_bsub.IN | ||
| cp fv3_conf/compile_bsub.IN_wcoss_dell_p3 fv3_conf/compile_bsub.IN | ||
|
|
||
| elif [[ $MACHINE_ID = wcoss2 ]]; then | ||
|
|
||
| source /apps/prod/lmodules/startLmod | ||
|
Contributor
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. Once NEMS/src/conf/module-setup.*sh.inc is modified to include wcoss2, this line will not be needed. |
||
|
|
||
| #module use /usrx/local/dev/emc_rocoto/modulefiles | ||
| #module load ruby/2.5.1 rocoto/1.3.0rc2 | ||
| #ROCOTORUN=$(which rocotorun) | ||
| #ROCOTOSTAT=$(which rocotostat) | ||
| #ROCOTOCOMPLETE=$(which rocotocomplete) | ||
| #ROCOTO_SCHEDULER=lsf | ||
|
|
||
| #module load ips/18.0.1.163 | ||
| #module load ecflow/4.7.1 | ||
| #ECFLOW_START=${ECF_ROOT}/intel/bin/ecflow_start.sh | ||
| #ECF_PORT=$(grep $USER /usrx/local/sys/ecflow/assigned_ports.txt | awk '{print $2}') | ||
|
|
||
| DISKNM=/lfs/h1/emc/ptmp/Dusan.Jovic/RT | ||
| QUEUE=workq | ||
| COMPILE_QUEUE=workq | ||
| PARTITION= | ||
| ACCNR=GFS-DEV | ||
| STMP=/lfs/h1/emc/stmp | ||
| PTMP=/lfs/h1/emc/ptmp | ||
| SCHEDULER=pbs | ||
| cp fv3_conf/fv3_qsub.IN_wcoss2 fv3_conf/fv3_qsub.IN | ||
| cp fv3_conf/compile_qsub.IN_wcoss2 fv3_conf/compile_qsub.IN | ||
|
|
||
| elif [[ $MACHINE_ID = gaea.* ]]; then | ||
|
|
||
| module load cray-python/3.7.3.2 | ||
|
|
@@ -451,6 +478,10 @@ if [[ $ROCOTO == true ]]; then | |
| QUEUE=dev | ||
| COMPILE_QUEUE=dev_transfer | ||
| ROCOTO_SCHEDULER=lsf | ||
| elif [[ $MACHINE_ID = wcoss2 ]]; then | ||
| QUEUE=workq | ||
| COMPILE_QUEUE=workq | ||
| ROCOTO_SCHEDULER=pbs | ||
| elif [[ $MACHINE_ID = hera.* ]]; then | ||
| QUEUE=batch | ||
| COMPILE_QUEUE=batch | ||
|
|
@@ -512,6 +543,8 @@ EOF | |
| QUEUE=dev | ||
| elif [[ $MACHINE_ID = wcoss_dell_p3 ]]; then | ||
| QUEUE=dev | ||
| elif [[ $MACHINE_ID = wcoss2 ]]; then | ||
| QUEUE=workq | ||
| elif [[ $MACHINE_ID = hera.* ]]; then | ||
| QUEUE=batch | ||
| elif [[ $MACHINE_ID = orion.* ]]; then | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,52 @@ | ||
| ####################################################################################################################################################################################### | ||
| # CCPP PROD tests # | ||
| ####################################################################################################################################################################################### | ||
|
|
||
| COMPILE | CCPP=Y SUITES=FV3_GFS_2017 | standard | | fv3 | | ||
|
|
||
| RUN | fv3_ccpp_control | standard | | fv3 | | ||
| RUN | fv3_ccpp_decomp | standard | | | | ||
| RUN | fv3_ccpp_2threads | standard | | | | ||
| RUN | fv3_ccpp_restart | standard | | fv3 | | ||
| RUN | fv3_ccpp_read_inc | standard | | fv3 | | ||
| RUN | fv3_ccpp_wrtGauss_netcdf_esmf | standard | | fv3 | | ||
| RUN | fv3_ccpp_wrtGauss_netcdf | standard | | fv3 | | ||
| RUN | fv3_ccpp_wrtGlatlon_netcdf | standard | | fv3 | | ||
| RUN | fv3_ccpp_wrtGauss_nemsio | standard | | fv3 | | ||
| RUN | fv3_ccpp_wrtGauss_nemsio_c192 | standard | | fv3 | | ||
| RUN | fv3_ccpp_stochy | standard | | fv3 | | ||
| RUN | fv3_ccpp_iau | standard | | fv3 | | ||
| RUN | fv3_ccpp_lheatstrg | standard | | fv3 | | ||
|
|
||
| COMPILE | CCPP=Y SUITES=FV3_GFS_2017_gfdlmp_regional,FV3_GFS_2017_gfdlmp_regional_c768 32BIT=Y | standard | | fv3 | | ||
| RUN | fv3_ccpp_regional_control | standard | | fv3 | | ||
| RUN | fv3_ccpp_regional_restart | standard | | fv3 | fv3_ccpp_regional_control | ||
| RUN | fv3_ccpp_regional_quilt | standard | | fv3 | | ||
|
|
||
| COMPILE | CCPP=Y SUITES=FV3_GFS_2017_gfdlmp,FV3_GFS_2017_gfdlmp_noahmp | standard | | fv3 | | ||
| RUN | fv3_ccpp_gfdlmp | standard | | fv3 | | ||
| RUN | fv3_ccpp_gfdlmprad_gwd | standard | | fv3 | | ||
| RUN | fv3_ccpp_gfdlmprad_noahmp | standard | | fv3 | | ||
|
|
||
| COMPILE | CCPP=Y SUITES=FV3_GFS_2017_csawmgshoc,FV3_GFS_2017_csawmg,FV3_GFS_2017_satmedmf,FV3_GFS_2017_satmedmfq | standard | | fv3 | | ||
| RUN | fv3_ccpp_csawmg | standard | | fv3 | | ||
| RUN | fv3_ccpp_satmedmf | standard | | fv3 | | ||
| RUN | fv3_ccpp_satmedmfq | standard | | fv3 | | ||
|
|
||
| COMPILE | CCPP=Y SUITES=FV3_GFS_2017_gfdlmp,FV3_CPT_v0,FV3_GSD_v0,FV3_GFS_v15_thompson,FV3_RAP,FV3_HRRR,FV3_RRFS_v1beta 32BIT=Y | standard | | fv3 | | ||
| RUN | fv3_ccpp_gfdlmp_32bit | standard | | fv3 | | ||
| RUN | fv3_ccpp_gfdlmprad_32bit_post | standard | | fv3 | | ||
| RUN | fv3_ccpp_cpt | standard | | fv3 | | ||
| RUN | fv3_ccpp_gsd | standard | | fv3 | | ||
| RUN | fv3_ccpp_thompson | standard | | fv3 | | ||
| RUN | fv3_ccpp_thompson_no_aero | standard | | fv3 | | ||
| RUN | fv3_ccpp_rrfs_v1beta | standard | | fv3 | | ||
|
|
||
| ####################################################################################################################################################################################### | ||
| # CPLD tests | ||
| ####################################################################################################################################################################################### | ||
|
|
||
| COMPILE | CCPP=Y SUITES=FV3_GFS_2017_coupled,FV3_GFS_2017_satmedmf_coupled,FV3_GFS_v15p2_coupled S2S=Y | standard | | fv3 | | ||
| RUN | cpld_control | standard | | fv3 | | ||
| RUN | cpld_2threads | standard | | | | ||
| RUN | cpld_decomp | standard | | | |
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.
Are we debugging MPI implementation here?
I see we are hard-wiring flags such as:
This should be handled by linking to the runtime debug MPI library by setting an environment variable such as
I_MPI_LINKBy adding those flags at compile time, we are essentially debugging the MPI implementation.