├── .github └── workflows │ └── tests.yml ├── .gitignore ├── .gitmodules ├── HOWTO ├── LICENSE ├── README.md ├── SCHISM └── .gitignore ├── build.sh ├── conf ├── ESMFVersionDefine_ESMF_NUOPC.h ├── configure.nems.femto.intel ├── configure.nems.hera.intel ├── configure.nems.linux.gnu ├── configure.nems.linux.intel ├── configure.nems.linux.pgi ├── configure.nems.macosx.gnu ├── configure.nems.macports.gnu ├── configure.nems.ndcrc.intel ├── configure.nems.orion.gnu ├── configure.nems.orion.intel ├── configure.nems.orion.pgi ├── configure.nems.strand.intel ├── externals.nems ├── externals.nems.cheyenne ├── externals.nems.gaea ├── externals.nems.hera ├── externals.nems.jet ├── externals.nems.linux ├── externals.nems.macosx ├── externals.nems.orion ├── externals.nems.stampede └── externals.nems.wcoss ├── images ├── coastalapp-usage.png ├── coastalapp_logo.png └── coastalapp_models.png ├── model_configure.sample ├── modulefiles ├── PlatformFuncs ├── envmodules_gnu.cheyenne ├── envmodules_gnu.conda ├── envmodules_gnu.custom ├── envmodules_gnu.gaea ├── envmodules_gnu.hera ├── envmodules_gnu.hera.orig ├── envmodules_gnu.hera.sys ├── envmodules_gnu.jet ├── envmodules_gnu.levante ├── envmodules_gnu.linux ├── envmodules_gnu.macosx ├── envmodules_gnu.macports ├── envmodules_gnu.mistral ├── envmodules_gnu.orion ├── envmodules_gnu.orion.sys ├── envmodules_gnu.pworks ├── envmodules_gnu.strand ├── envmodules_gnu.tacc ├── envmodules_gnu.tacc.sys ├── envmodules_gnu.wcoss ├── envmodules_intel.cheyenne ├── envmodules_intel.custom ├── envmodules_intel.femto ├── envmodules_intel.gaea ├── envmodules_intel.hera ├── envmodules_intel.hera.cmmb_libs ├── envmodules_intel.hera.orig ├── envmodules_intel.hera.sys ├── envmodules_intel.hercules ├── envmodules_intel.jet ├── envmodules_intel.levante ├── envmodules_intel.linux ├── envmodules_intel.macosx ├── envmodules_intel.mistral ├── envmodules_intel.orion ├── envmodules_intel.orion.sys ├── envmodules_intel.pworks ├── envmodules_intel.strand ├── envmodules_intel.tacc ├── envmodules_intel.tacc.sys ├── envmodules_intel.wcoss ├── envmodules_pgi.cheyenne ├── envmodules_pgi.custom ├── envmodules_pgi.gaea ├── envmodules_pgi.hera ├── envmodules_pgi.jet ├── envmodules_pgi.linux ├── envmodules_pgi.macosx ├── envmodules_pgi.mistral ├── envmodules_pgi.orion ├── envmodules_pgi.pworks ├── envmodules_pgi.strand ├── envmodules_pgi.tacc └── envmodules_pgi.wcoss ├── nems.configure.sample ├── nsem.job.sample ├── parm ├── HWRF2ADC.appBuilder ├── MAPL.rc ├── REGTEST-FINGERPRINT.md ├── adc_hsofs_tmp │ ├── fort.15.template.atm2ocn │ └── fort.15.template.tide_spinup ├── model_configure.IN ├── nems.configure.atm.IN ├── nems.configure.atm_nostep.IN ├── nems.configure.atm_ocn.IN ├── nems.configure.atm_ocn_wav_1loop.IN ├── nems.configure.atm_step.IN ├── nems.configure.atm_wav.IN ├── nems.configure.blocked_atm_ocn.IN ├── nems.configure.blocked_atm_wav.IN ├── nems.configure.leapfrog_atm_wav.IN ├── nems.configure.ocn.IN └── nems.configure.wav.IN ├── scripts ├── build.sh ├── download_parmetis.sh ├── functions_build └── functions_utilities ├── thirdparty └── estofs_tide_fac │ ├── estofs_tide_fac.f │ └── makefile └── thirdparty_open └── datetime-fortran ├── CMakeLists.txt ├── CONTRIBUTORS.md ├── LICENSE ├── Makefile.am ├── README.md ├── VERSION ├── _config.yml ├── configure.ac ├── datetime-fortran.pc.in ├── examples ├── CMakeLists.txt ├── README.md └── add_and_subtract.f90 ├── fpm.toml ├── scrub-clean.sh ├── src ├── Makefile.am ├── datetime_module.f90 └── strptime.cpp └── tests ├── Makefile.am ├── datetime_tests.f90 └── tests-env.sh /.github/workflows/tests.yml: -------------------------------------------------------------------------------- 1 | name: tests 2 | 3 | on: [push] 4 | 5 | jobs: 6 | checkout: 7 | name: Checkout repository with `--recursive` to validate submodule pointers 8 | runs-on: ubuntu-latest 9 | steps: 10 | - uses: actions/checkout@v2 11 | with: 12 | submodules: recursive 13 | lfs: false 14 | # NOTE: this token is attached to my (@zacharyburnettNOAA) account because I have permission to clone the `adcirc-cg` repo which is private; perhaps in the future we can use the token from a dummy account, and / or an SSH key? The token is currently stored in the repository Secrets at https://github.com/noaa-ocs-modeling/ADC-WW3-NWM-NEMS/settings/secrets/actions 15 | token: ${{ secrets.PULL_TOKEN }} 16 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Prerequisites 2 | *.d 3 | 4 | # Compiled Object files 5 | *.slo 6 | *.lo 7 | *.o 8 | *.obj 9 | 10 | # Precompiled Headers 11 | *.gch 12 | *.pch 13 | 14 | # Compiled Dynamic libraries 15 | *.so 16 | *.dylib 17 | *.dll 18 | 19 | # Fortran module files 20 | *.mod 21 | *.smod 22 | 23 | # Compiled Static libraries 24 | *.lai 25 | *.la 26 | *.a 27 | *.lib 28 | 29 | # intermediate build files 30 | *_INSTALL/ 31 | 32 | # Executables 33 | *.exe 34 | *.out 35 | *.app 36 | 37 | # Editor 38 | .idea 39 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "ATMESH"] 2 | path = ATMESH 3 | url = https://github.com/noaa-ocs-modeling/ATMESH.git 4 | branch = master 5 | [submodule "WW3DATA"] 6 | path = WW3DATA 7 | url = https://github.com/noaa-ocs-modeling/WW3DATA.git 8 | branch = master 9 | [submodule "WW3"] 10 | path = WW3 11 | url = https://github.com/pvelissariou1/WW3.git 12 | branch = scalability 13 | [submodule "NEMS"] 14 | path = NEMS 15 | url = https://github.com/noaa-ocs-modeling/NEMS.git 16 | branch = develop 17 | [submodule "ADCIRC"] 18 | path = ADCIRC 19 | url = https://github.com/adcirc/adcirc.git 20 | branch = development 21 | [submodule "NWM"] 22 | path = NWM 23 | url = https://github.com/noaa-ocs-modeling/nwm_public_nuopc.git 24 | branch = feature/adcirc_v55 25 | [submodule "PAHM"] 26 | path = PAHM 27 | url = https://github.com/noaa-ocs-modeling/PaHM 28 | branch = main 29 | [submodule "BARDATA"] 30 | path = BARDATA 31 | url = https://github.com/noaa-ocs-modeling/BARDATA 32 | [submodule "SCHISM/schism"] 33 | path = SCHISM/schism 34 | url = https://github.com/schism-dev/schism.git 35 | [submodule "SCHISM/schism-esmf"] 36 | path = SCHISM/schism-esmf 37 | url = https://github.com/schism-dev/schism-esmf.git 38 | [submodule "FVCOM"] 39 | path = FVCOM 40 | url = https://github.com/pvelissariou1/FVCOM 41 | -------------------------------------------------------------------------------- /SCHISM/.gitignore: -------------------------------------------------------------------------------- 1 | build 2 | -------------------------------------------------------------------------------- /build.sh: -------------------------------------------------------------------------------- 1 | scripts/build.sh -------------------------------------------------------------------------------- /conf/ESMFVersionDefine_ESMF_NUOPC.h: -------------------------------------------------------------------------------- 1 | #if 0 2 | // 3 | // Make this header file available as ESMFVersionDefine.h in order to build 4 | // NEMS against an ESMF installation that contains a reference level NUOPC Layer. 5 | // 6 | #endif 7 | 8 | #include "./ESMFConvenienceMacros.h" 9 | 10 | -------------------------------------------------------------------------------- /conf/configure.nems.femto.intel: -------------------------------------------------------------------------------- 1 | ## NEMS configuration file 2 | ## 3 | ## Platform: Hera 4 | ## Compiler: Intel with IntelMPI 5 | 6 | SHELL = /bin/sh 7 | 8 | ################################################################################ 9 | ## Include the common configuration parts 10 | include $(TOP)/conf/configure.nems.NUOPC 11 | 12 | ################################################################################ 13 | ## Other settings 14 | 15 | NETCDF_INC = -I$(NETCDF)/include 16 | NETCDF_LIB = -L$(NETCDF)/lib -lnetcdf 17 | 18 | NEMSIO_INC = -I${LIBDIR}/incmod/nemsio 19 | NEMSIO_LIB = -L${LIBDIR} -lnemsio 20 | SYS_LIB = 21 | 22 | EXTLIBS = $(NEMSIO_LIB) \ 23 | $(NETCDF_LIB) \ 24 | $(ESMF_LIB) \ 25 | $(SYS_LIB) -lm 26 | 27 | EXTLIBS_POST = $(NEMSIO_LIB) \ 28 | $(ESMF_LIB) \ 29 | $(NETCDF_LIB) \ 30 | $(SYS_LIB) 31 | ### 32 | FC = mpifort -g -qopenmp -mkl=sequential -align array32byte -lmkl_intel_lp64 -lmkl_core -lmkl_sequential -lpthread -qopenmp -convert big_endian -assume byterecl -mkl=sequential 33 | F77 = mpifort -g -qopenmp -mkl=sequential -align array32byte -lmkl_intel_lp64 -lmkl_core -lmkl_sequential -lpthread -qopenmp -convert big_endian -assume byterecl -mkl=sequential 34 | FREE = -free 35 | FIXED = -fixed 36 | R8 = -r8 37 | 38 | FINCS = $(ESMF_INC) $(NEMSIO_INC) $(NETCDF_INC) 39 | #TRAPS = -g -fno-inline -no-ip -traceback -ftrapuv -fpe0 -ftz -check all -check noarg_temp_created -fp-stack-check 40 | 41 | FFLAGS = $(TRAPS) $(FINCS) -fp-model strict 42 | 43 | OPTS_NMM = -g -fno-inline -no-ip -traceback -ftrapuv -fpe0 -ftz -check all -check noarg_temp_created -fp-stack-check $(FREE) 44 | 45 | FFLAGM_DEBUG = 46 | 47 | FFLAGS_NMM = $(MACROS_NWM) $(OPTS_NMM) $(FFLAGS) 48 | 49 | FPP = -fpp 50 | CPP = cpp -P -traditional 51 | CPPFLAGS = -DENABLE_SMP -DCHNK_RRTM=8 52 | 53 | AR = ar 54 | ARFLAGS = -r 55 | 56 | RM = rm 57 | -------------------------------------------------------------------------------- /conf/configure.nems.hera.intel: -------------------------------------------------------------------------------- 1 | ## NEMS configuration file 2 | ## 3 | ## Platform: Hera 4 | ## Compiler: Intel with IntelMPI 5 | 6 | SHELL = /bin/sh 7 | 8 | ################################################################################ 9 | ## Include the common configuration parts 10 | include $(TOP)/conf/configure.nems.NUOPC 11 | 12 | ################################################################################ 13 | ## Other settings 14 | 15 | LIBDIR ?= . 16 | 17 | #NETCDF_INC = -I${NETCDF_INCDIR} 18 | #NETCDF_LIB = -L${NETCDF_LIBDIR} -lnetcdf 19 | 20 | NETCDF_INC = $(shell ${NETCDF_CONFIG} --cflags) 21 | NETCDF_LIB = $(shell ${NETCDF_CONFIG} --flibs --libs) 22 | 23 | #NEMSIO_INC = -I${LIBDIR}/incmod/nemsio 24 | #NEMSIO_LIB = -L${LIBDIR} -lnemsio 25 | NEMSIO_INC = 26 | NEMSIO_LIB = 27 | SYS_LIB = 28 | 29 | EXTLIBS = $(NEMSIO_LIB) \ 30 | $(NETCDF_LIB) \ 31 | $(ESMF_LIB) \ 32 | $(SYS_LIB) -lm 33 | 34 | EXTLIBS_POST = $(NEMSIO_LIB) \ 35 | $(ESMF_LIB) \ 36 | $(NETCDF_LIB) \ 37 | $(SYS_LIB) 38 | ### 39 | FC = mpiifort -g -qopenmp -mkl=sequential -align array32byte -lmkl_intel_lp64 -lmkl_core -lmkl_sequential -lpthread -qopenmp -convert big_endian -assume byterecl -mkl=sequential 40 | F77 = mpiifort -g -qopenmp -mkl=sequential -align array32byte -lmkl_intel_lp64 -lmkl_core -lmkl_sequential -lpthread -qopenmp -convert big_endian -assume byterecl -mkl=sequential 41 | FREE = -free 42 | FIXED = -fixed 43 | R8 = -r8 44 | 45 | FINCS = $(ESMF_INC) $(NEMSIO_INC) $(NETCDF_INC) 46 | #TRAPS = -g -fno-inline -no-ip -traceback -ftrapuv -fpe0 -ftz -check all -check noarg_temp_created -fp-stack-check 47 | 48 | FFLAGS = $(TRAPS) $(FINCS) -fp-model strict 49 | 50 | OPTS_NMM = -g -fno-inline -no-ip -traceback -ftrapuv -fpe0 -ftz -check all -check noarg_temp_created -fp-stack-check $(FREE) 51 | 52 | FFLAGM_DEBUG = 53 | 54 | FFLAGS_NMM = $(MACROS_NWM) $(OPTS_NMM) $(FFLAGS) 55 | 56 | FPP = -fpp 57 | CPP = cpp -P -traditional 58 | CPPFLAGS = -DENABLE_SMP -DCHNK_RRTM=8 59 | 60 | AR = ar 61 | ARFLAGS = -r 62 | 63 | RM = rm 64 | -------------------------------------------------------------------------------- /conf/configure.nems.linux.gnu: -------------------------------------------------------------------------------- 1 | ## NEMS configuration file 2 | ## 3 | ## Platform: Generic/Linux 4 | ## Compiler: GNU with MPI --- needs fixing 5 | 6 | SHELL = /bin/sh 7 | 8 | ################################################################################ 9 | ## Include the common configuration parts 10 | include $(TOP)/conf/configure.nems.NUOPC 11 | 12 | ################################################################################ 13 | ## Other settings 14 | 15 | LIBDIR ?= . 16 | 17 | NETCDF_INC = -I${NETCDF_INCDIR} 18 | NETCDF_LIB = -L${NETCDF_LIBDIR} -lnetcdf 19 | 20 | #NEMSIO_INC = -I${LIBDIR}/incmod/nemsio 21 | #NEMSIO_LIB = -L${LIBDIR} -lnemsio 22 | NEMSIO_INC = 23 | NEMSIO_LIB = 24 | SYS_LIB = 25 | 26 | EXTLIBS = $(NEMSIO_LIB) \ 27 | $(NETCDF_LIB) \ 28 | $(ESMF_LIB) \ 29 | $(SYS_LIB) -lm 30 | 31 | EXTLIBS_POST = $(NEMSIO_LIB) \ 32 | $(ESMF_LIB) \ 33 | $(NETCDF_LIB) \ 34 | $(SYS_LIB) 35 | ### 36 | FC = mpif90 -g -ffree-line-length-none -fno-range-check -fbacktrace 37 | F77 = mpifort -g -ffree-line-length-none -fno-range-check -fbacktrace 38 | FREE = -free 39 | FIXED = -fixed 40 | R8 = -r8 41 | 42 | FINCS = $(ESMF_INC) $(NEMSIO_INC) $(NETCDF_INC) 43 | #TRAPS = ??? 44 | 45 | FFLAGS = $(TRAPS) $(FINCS) 46 | 47 | OPTS_NMM = -g -ffree-line-length-none -fno-range-check -fbacktrace $(FREE) 48 | 49 | FFLAGM_DEBUG = 50 | 51 | FFLAGS_NMM = $(MACROS_NWM) $(OPTS_NMM) $(FFLAGS) 52 | 53 | FPP = -fpp 54 | CPP = cpp -P -traditional 55 | CPPFLAGS = -DENABLE_SMP -DCHNK_RRTM=8 56 | 57 | AR = ar 58 | ARFLAGS = -r 59 | 60 | RM = rm 61 | -------------------------------------------------------------------------------- /conf/configure.nems.linux.intel: -------------------------------------------------------------------------------- 1 | ## NEMS configuration file 2 | ## 3 | ## Platform: Generic/Linux 4 | ## Compiler: Intel with IntelMPI 5 | 6 | SHELL = /bin/sh 7 | 8 | ################################################################################ 9 | ## Include the common configuration parts 10 | include $(TOP)/conf/configure.nems.NUOPC 11 | 12 | ################################################################################ 13 | ## Other settings 14 | 15 | LIBDIR ?= . 16 | 17 | NETCDF_INC = -I${NETCDF_INCDIR} 18 | NETCDF_LIB = -L${NETCDF_LIBDIR} -lnetcdf 19 | 20 | #NEMSIO_INC = -I${LIBDIR}/incmod/nemsio 21 | #NEMSIO_LIB = -L${LIBDIR} -lnemsio 22 | NEMSIO_INC = 23 | NEMSIO_LIB = 24 | SYS_LIB = 25 | 26 | EXTLIBS = $(NEMSIO_LIB) \ 27 | $(NETCDF_LIB) \ 28 | $(ESMF_LIB) \ 29 | $(SYS_LIB) -lm 30 | 31 | EXTLIBS_POST = $(NEMSIO_LIB) \ 32 | $(ESMF_LIB) \ 33 | $(NETCDF_LIB) \ 34 | $(SYS_LIB) 35 | ### 36 | FC = mpiifort -g -qopenmp -mkl=sequential -align array32byte -lmkl_intel_lp64 -lmkl_core -lmkl_sequential -lpthread -qopenmp -convert big_endian -assume byterecl -mkl=sequential 37 | F77 = mpiifort -g -qopenmp -mkl=sequential -align array32byte -lmkl_intel_lp64 -lmkl_core -lmkl_sequential -lpthread -qopenmp -convert big_endian -assume byterecl -mkl=sequential 38 | FREE = -free 39 | FIXED = -fixed 40 | R8 = -r8 41 | 42 | FINCS = $(ESMF_INC) $(NEMSIO_INC) $(NETCDF_INC) 43 | #TRAPS = -g -fno-inline -no-ip -traceback -ftrapuv -fpe0 -ftz -check all -check noarg_temp_created -fp-stack-check 44 | 45 | FFLAGS = $(TRAPS) $(FINCS) -fp-model strict 46 | 47 | OPTS_NMM = -g -fno-inline -no-ip -traceback -ftrapuv -fpe0 -ftz -check all -check noarg_temp_created -fp-stack-check $(FREE) 48 | 49 | FFLAGM_DEBUG = 50 | 51 | FFLAGS_NMM = $(MACROS_NWM) $(OPTS_NMM) $(FFLAGS) 52 | 53 | FPP = -fpp 54 | CPP = cpp -P -traditional 55 | CPPFLAGS = -DENABLE_SMP -DCHNK_RRTM=8 56 | 57 | AR = ar 58 | ARFLAGS = -r 59 | 60 | RM = rm 61 | -------------------------------------------------------------------------------- /conf/configure.nems.linux.pgi: -------------------------------------------------------------------------------- 1 | ## NEMS configuration file 2 | ## 3 | ## Platform: Generic/Linux 4 | ## Compiler: PGI with MPI --- needs fixing 5 | 6 | SHELL = /bin/sh 7 | 8 | ################################################################################ 9 | ## Include the common configuration parts 10 | include $(TOP)/conf/configure.nems.NUOPC 11 | 12 | ################################################################################ 13 | ## Other settings 14 | 15 | LIBDIR ?= . 16 | 17 | NETCDF_INC = -I${NETCDF_INCDIR} 18 | NETCDF_LIB = -L${NETCDF_LIBDIR} -lnetcdf 19 | 20 | #NEMSIO_INC = -I${LIBDIR}/incmod/nemsio 21 | #NEMSIO_LIB = -L${LIBDIR} -lnemsio 22 | NEMSIO_INC = 23 | NEMSIO_LIB = 24 | SYS_LIB = 25 | 26 | EXTLIBS = $(NEMSIO_LIB) \ 27 | $(NETCDF_LIB) \ 28 | $(ESMF_LIB) \ 29 | $(SYS_LIB) -lm 30 | 31 | EXTLIBS_POST = $(NEMSIO_LIB) \ 32 | $(ESMF_LIB) \ 33 | $(NETCDF_LIB) \ 34 | $(SYS_LIB) 35 | ### 36 | FC = mpif90 -g -Mextend -Minform,inform -Mbounds 37 | F77 = mpif90 -g -Mextend -Minform,inform -Mbounds 38 | FREE = -free 39 | FIXED = 40 | R8 = -r8 41 | 42 | FINCS = $(ESMF_INC) $(NEMSIO_INC) $(NETCDF_INC) 43 | #TRAPS = -g -fno-inline -no-ip -traceback -ftrapuv -fpe0 -ftz -check all -check noarg_temp_created -fp-stack-check 44 | 45 | FFLAGS = $(TRAPS) $(FINCS) -fp-model strict 46 | 47 | OPTS_NMM = -g -Mextend -Minform,inform -Mbounds $(FREE) 48 | 49 | FFLAGM_DEBUG = 50 | 51 | FFLAGS_NMM = $(MACROS_NWM) $(OPTS_NMM) $(FFLAGS) 52 | 53 | FPP = -fpp 54 | CPP = cpp -P -traditional 55 | CPPFLAGS = -DENABLE_SMP -DCHNK_RRTM=8 56 | 57 | AR = ar 58 | ARFLAGS = -r 59 | 60 | RM = rm 61 | -------------------------------------------------------------------------------- /conf/configure.nems.macosx.gnu: -------------------------------------------------------------------------------- 1 | ## NEMS configuration file 2 | ## 3 | ## Platform: Generic/Linux 4 | ## Compiler: GNU with MPI --- needs fixing 5 | 6 | SHELL = /bin/sh 7 | 8 | ################################################################################ 9 | ## Include the common configuration parts 10 | include $(TOP)/conf/configure.nems.NUOPC 11 | 12 | ################################################################################ 13 | ## Other settings 14 | # 15 | CC=mpicc 16 | CXX=mpicxx 17 | FC=mpifort 18 | 19 | NETCDF_INC = -I$(NETCDF_INCDIR) 20 | NETCDF_LIB = -L$(NETCDF_LIBDIR) -lnetcdf 21 | 22 | NEMSIO_INC = -I${LIBDIR}/incmod/nemsio 23 | NEMSIO_LIB = -L${LIBDIR} -lnemsio 24 | SYS_LIB = 25 | 26 | EXTLIBS = $(NEMSIO_LIB) \ 27 | $(NETCDF_LIB) \ 28 | $(ESMF_LIB) \ 29 | $(SYS_LIB) -lm 30 | 31 | EXTLIBS_POST = $(NEMSIO_LIB) \ 32 | $(ESMF_LIB) \ 33 | $(NETCDF_LIB) \ 34 | $(SYS_LIB) 35 | ### 36 | FC = mpifort -g -ffree-line-length-none -fno-range-check -fbacktrace 37 | F77 = mpifort -g -ffree-line-length-none -fno-range-check -fbacktrace 38 | FREE = -free 39 | FIXED = -fixed 40 | R8 = -r8 41 | 42 | FINCS = $(ESMF_INC) $(NEMSIO_INC) $(NETCDF_INC) 43 | #TRAPS = ??? 44 | 45 | FFLAGS = $(TRAPS) $(FINCS) 46 | 47 | OPTS_NMM = -g -ffree-line-length-none -fno-range-check -fbacktrace $(FREE) 48 | 49 | FFLAGM_DEBUG = 50 | 51 | FFLAGS_NMM = $(MACROS_NWM) $(OPTS_NMM) $(FFLAGS) 52 | 53 | FPP = -fpp 54 | CPP = cpp -P -traditional 55 | CPPFLAGS = -DENABLE_SMP -DCHNK_RRTM=8 56 | 57 | AR = ar 58 | ARFLAGS = -r 59 | 60 | RM = rm 61 | -------------------------------------------------------------------------------- /conf/configure.nems.macports.gnu: -------------------------------------------------------------------------------- 1 | ## NEMS configuration file 2 | ## 3 | ## Platform: Generic/Linux 4 | ## Compiler: GNU with MPI --- needs fixing 5 | 6 | SHELL = /bin/sh 7 | 8 | ################################################################################ 9 | ## Include the common configuration parts 10 | include $(TOP)/conf/configure.nems.NUOPC 11 | 12 | ################################################################################ 13 | ## Other settings 14 | # 15 | CC=mpicc 16 | CXX=mpicxx 17 | FC=mpifort 18 | 19 | NETCDF_INC = -I$(NETCDF_INCDIR) 20 | NETCDF_LIB = -L$(NETCDF_LIBDIR) -lnetcdf 21 | 22 | NEMSIO_INC = -I${LIBDIR}/incmod/nemsio 23 | NEMSIO_LIB = -L${LIBDIR} -lnemsio 24 | SYS_LIB = 25 | 26 | EXTLIBS = $(NEMSIO_LIB) \ 27 | $(NETCDF_LIB) \ 28 | $(ESMF_LIB) \ 29 | $(SYS_LIB) -lm 30 | 31 | EXTLIBS_POST = $(NEMSIO_LIB) \ 32 | $(ESMF_LIB) \ 33 | $(NETCDF_LIB) \ 34 | $(SYS_LIB) 35 | ### 36 | FC = mpifort -g -ffree-line-length-none -fno-range-check -fbacktrace -fallow-argument-mismatch 37 | F77 = mpifort -g -ffree-line-length-none -fno-range-check -fbacktrace 38 | FREE = -free 39 | FIXED = -fixed 40 | R8 = -r8 41 | 42 | FINCS = $(ESMF_INC) $(NEMSIO_INC) $(NETCDF_INC) 43 | #TRAPS = ??? 44 | 45 | FFLAGS = $(TRAPS) $(FINCS) 46 | 47 | OPTS_NMM = -g -ffree-line-length-none -fno-range-check -fbacktrace $(FREE) 48 | 49 | FFLAGM_DEBUG = 50 | 51 | FFLAGS_NMM = $(MACROS_NWM) $(OPTS_NMM) $(FFLAGS) 52 | 53 | FPP = -fpp 54 | CPP = cpp -P -traditional 55 | CPPFLAGS = -DENABLE_SMP -DCHNK_RRTM=8 56 | 57 | AR = ar 58 | ARFLAGS = -r 59 | 60 | RM = rm 61 | -------------------------------------------------------------------------------- /conf/configure.nems.ndcrc.intel: -------------------------------------------------------------------------------- 1 | ## NEMS configuration file 2 | ## 3 | ## Platform: Hera 4 | ## Compiler: Intel with IntelMPI 5 | 6 | SHELL = /bin/sh 7 | 8 | ################################################################################ 9 | ## Include the common configuration parts 10 | include $(TOP)/conf/configure.nems.NUOPC 11 | #include $(TOP)/conf/configure.ndcrc.NUOPC 12 | 13 | 14 | ################################################################################ 15 | ## Other settings 16 | 17 | LIBDIR ?= . 18 | 19 | NETCDF_INC = -I${NETCDF_INCDIR} 20 | NETCDF_LIB = -L${NETCDF_LIBDIR} -lnetcdf 21 | 22 | NEMSIO_INC = -I${LIBDIR}/incmod/nemsio 23 | NEMSIO_LIB = -L${LIBDIR} -lnemsio 24 | SYS_LIB = 25 | 26 | EXTLIBS = $(NEMSIO_LIB) \ 27 | $(NETCDF_LIB) \ 28 | $(ESMF_LIB) \ 29 | $(SYS_LIB) -lm 30 | 31 | EXTLIBS_POST = $(NEMSIO_LIB) \ 32 | $(ESMF_LIB) \ 33 | $(NETCDF_LIB) \ 34 | $(SYS_LIB) 35 | ### 36 | #FC = mpiifort -g -qopenmp -mkl=sequential -align array32byte -lmkl_intel_lp64 -lmkl_core -lmkl_sequential -lpthread -qopenmp -convert big_endian -assume byterecl -mkl=sequential 37 | #F77 = mpiifort -g -qopenmp -mkl=sequential -align array32byte -lmkl_intel_lp64 -lmkl_core -lmkl_sequential -lpthread -qopenmp -convert big_endian -assume byterecl -mkl=sequential 38 | FREE = -free 39 | FC = mpif90 -g -qopenmp -mkl=sequential -align array32byte -lmkl_intel_lp64 -lmkl_core -lmkl_sequential -lpthread -qopenmp -convert big_endian -assume byterecl -mkl=sequential 40 | F77 = mpif90 -g -qopenmp -mkl=sequential -align array32byte -lmkl_intel_lp64 -lmkl_core -lmkl_sequential -lpthread -qopenmp -convert big_endian -assume byterecl -mkl=sequential 41 | FIXED = -fixed 42 | R8 = -r8 43 | CC = mpicc 44 | 45 | FINCS = $(ESMF_INC) $(NEMSIO_INC) $(NETCDF_INC) 46 | #TRAPS = -g -fno-inline -no-ip -traceback -ftrapuv -fpe0 -ftz -check all -check noarg_temp_created -fp-stack-check 47 | 48 | FFLAGS = $(TRAPS) $(FINCS) -fp-model strict 49 | 50 | OPTS_NMM = -g -fno-inline -no-ip -traceback -ftrapuv -fpe0 -ftz -check all -check noarg_temp_created -fp-stack-check $(FREE) 51 | 52 | FFLAGM_DEBUG = 53 | 54 | FFLAGS_NMM = $(MACROS_NWM) $(OPTS_NMM) $(FFLAGS) 55 | 56 | FPP = -fpp 57 | CPP = cpp -P -traditional 58 | CPPFLAGS = -DENABLE_SMP -DCHNK_RRTM=8 59 | 60 | AR = ar 61 | ARFLAGS = -r 62 | 63 | RM = rm 64 | -------------------------------------------------------------------------------- /conf/configure.nems.orion.gnu: -------------------------------------------------------------------------------- 1 | ## NEMS configuration file 2 | ## 3 | ## Platform: Generic/Linux 4 | ## Compiler: GNU with MPI --- needs fixing 5 | 6 | SHELL = /bin/sh 7 | 8 | ################################################################################ 9 | ## Include the common configuration parts 10 | include $(TOP)/conf/configure.nems.NUOPC 11 | 12 | ################################################################################ 13 | ## Other settings 14 | 15 | LIBDIR ?= . 16 | 17 | NETCDF_INC = -I${NETCDF_INCDIR} 18 | NETCDF_LIB = -L${NETCDF_LIBDIR} -lnetcdf 19 | 20 | #NEMSIO_INC = -I${LIBDIR}/incmod/nemsio 21 | #NEMSIO_LIB = -L${LIBDIR} -lnemsio 22 | NEMSIO_INC = 23 | NEMSIO_LIB = 24 | SYS_LIB = 25 | 26 | EXTLIBS = $(NEMSIO_LIB) \ 27 | $(NETCDF_LIB) \ 28 | $(ESMF_LIB) \ 29 | $(SYS_LIB) -lm 30 | 31 | EXTLIBS_POST = $(NEMSIO_LIB) \ 32 | $(ESMF_LIB) \ 33 | $(NETCDF_LIB) \ 34 | $(SYS_LIB) 35 | ### 36 | FC = mpif90 -g -ffree-line-length-none -fno-range-check -fbacktrace 37 | F77 = mpiifort -g -ffree-line-length-none -fno-range-check -fbacktrace 38 | FREE = -free 39 | FIXED = -fixed 40 | R8 = -r8 41 | 42 | FINCS = $(ESMF_INC) $(NEMSIO_INC) $(NETCDF_INC) 43 | #TRAPS = ??? 44 | 45 | #FFLAGS = $(TRAPS) $(FINCS) -fp-model strict 46 | FFLAGS = $(TRAPS) $(FINCS) 47 | 48 | OPTS_NMM = -g -ffree-line-length-none -fno-range-check -fbacktrace $(FREE) 49 | 50 | FFLAGM_DEBUG = 51 | 52 | FFLAGS_NMM = $(MACROS_NWM) $(OPTS_NMM) $(FFLAGS) 53 | 54 | FPP = -fpp 55 | CPP = cpp -P -traditional 56 | CPPFLAGS = -DENABLE_SMP -DCHNK_RRTM=8 57 | 58 | AR = ar 59 | ARFLAGS = -r 60 | 61 | RM = rm 62 | -------------------------------------------------------------------------------- /conf/configure.nems.orion.intel: -------------------------------------------------------------------------------- 1 | ## NEMS configuration file 2 | ## 3 | ## Platform: Generic/Linux 4 | ## Compiler: Intel with IntelMPI 5 | 6 | SHELL = /bin/sh 7 | 8 | ################################################################################ 9 | ## Include the common configuration parts 10 | include $(TOP)/conf/configure.nems.NUOPC 11 | 12 | ################################################################################ 13 | ## Other settings 14 | 15 | LIBDIR ?= . 16 | 17 | NETCDF_INC = -I${NETCDF_INCDIR} 18 | NETCDF_LIB = -L${NETCDF_LIBDIR} -lnetcdf 19 | 20 | #NEMSIO_INC = -I${LIBDIR}/incmod/nemsio 21 | #NEMSIO_LIB = -L${LIBDIR} -lnemsio 22 | NEMSIO_INC = 23 | NEMSIO_LIB = 24 | SYS_LIB = 25 | 26 | EXTLIBS = $(NEMSIO_LIB) \ 27 | $(NETCDF_LIB) \ 28 | $(ESMF_LIB) \ 29 | $(SYS_LIB) -lm 30 | 31 | EXTLIBS_POST = $(NEMSIO_LIB) \ 32 | $(ESMF_LIB) \ 33 | $(NETCDF_LIB) \ 34 | $(SYS_LIB) 35 | ### 36 | FC = mpiifort -g -qopenmp -mkl=sequential -align array32byte -lmkl_intel_lp64 -lmkl_core -lmkl_sequential -lpthread -qopenmp -convert big_endian -assume byterecl -mkl=sequential 37 | F77 = mpiifort -g -qopenmp -mkl=sequential -align array32byte -lmkl_intel_lp64 -lmkl_core -lmkl_sequential -lpthread -qopenmp -convert big_endian -assume byterecl -mkl=sequential 38 | FREE = -free 39 | FIXED = -fixed 40 | R8 = -r8 41 | 42 | FINCS = $(ESMF_INC) $(NEMSIO_INC) $(NETCDF_INC) 43 | #TRAPS = -g -fno-inline -no-ip -traceback -ftrapuv -fpe0 -ftz -check all -check noarg_temp_created -fp-stack-check 44 | 45 | #FFLAGS = $(TRAPS) $(FINCS) -fp-model strict 46 | FFLAGS = $(TRAPS) $(FINCS) 47 | 48 | OPTS_NMM = -g -fno-inline -no-ip -traceback -ftrapuv -fpe0 -ftz -check all -check noarg_temp_created -fp-stack-check $(FREE) 49 | 50 | FFLAGM_DEBUG = 51 | 52 | FFLAGS_NMM = $(MACROS_NWM) $(OPTS_NMM) $(FFLAGS) 53 | 54 | FPP = -fpp 55 | CPP = cpp -P -traditional 56 | CPPFLAGS = -DENABLE_SMP -DCHNK_RRTM=8 57 | 58 | AR = ar 59 | ARFLAGS = -r 60 | 61 | RM = rm 62 | -------------------------------------------------------------------------------- /conf/configure.nems.orion.pgi: -------------------------------------------------------------------------------- 1 | ## NEMS configuration file 2 | ## 3 | ## Platform: Generic/Linux 4 | ## Compiler: PGI with MPI --- needs fixing 5 | 6 | SHELL = /bin/sh 7 | 8 | ################################################################################ 9 | ## Include the common configuration parts 10 | include $(TOP)/conf/configure.nems.NUOPC 11 | 12 | ################################################################################ 13 | ## Other settings 14 | 15 | LIBDIR ?= . 16 | 17 | NETCDF_INC = -I${NETCDF_INCDIR} 18 | NETCDF_LIB = -L${NETCDF_LIBDIR} -lnetcdf 19 | 20 | #NEMSIO_INC = -I${LIBDIR}/incmod/nemsio 21 | #NEMSIO_LIB = -L${LIBDIR} -lnemsio 22 | NEMSIO_INC = 23 | NEMSIO_LIB = 24 | SYS_LIB = 25 | 26 | EXTLIBS = $(NEMSIO_LIB) \ 27 | $(NETCDF_LIB) \ 28 | $(ESMF_LIB) \ 29 | $(SYS_LIB) -lm 30 | 31 | EXTLIBS_POST = $(NEMSIO_LIB) \ 32 | $(ESMF_LIB) \ 33 | $(NETCDF_LIB) \ 34 | $(SYS_LIB) 35 | ### 36 | FC = mpif90 -g -Mextend -Minform,inform -Mbounds 37 | F77 = mpif90 -g -Mextend -Minform,inform -Mbounds 38 | FREE = -free 39 | FIXED = 40 | R8 = -r8 41 | 42 | FINCS = $(ESMF_INC) $(NEMSIO_INC) $(NETCDF_INC) 43 | #TRAPS = -g -fno-inline -no-ip -traceback -ftrapuv -fpe0 -ftz -check all -check noarg_temp_created -fp-stack-check 44 | 45 | #FFLAGS = $(TRAPS) $(FINCS) -fp-model strict 46 | FFLAGS = $(TRAPS) $(FINCS) 47 | 48 | OPTS_NMM = -g -Mextend -Minform,inform -Mbounds $(FREE) 49 | 50 | FFLAGM_DEBUG = 51 | 52 | FFLAGS_NMM = $(MACROS_NWM) $(OPTS_NMM) $(FFLAGS) 53 | 54 | FPP = -fpp 55 | CPP = cpp -P -traditional 56 | CPPFLAGS = -DENABLE_SMP -DCHNK_RRTM=8 57 | 58 | AR = ar 59 | ARFLAGS = -r 60 | 61 | RM = rm 62 | -------------------------------------------------------------------------------- /conf/configure.nems.strand.intel: -------------------------------------------------------------------------------- 1 | ## NEMS configuration file 2 | ## 3 | ## Platform: Strand 4 | ## Compiler: Intel with IntelMPI 5 | 6 | SHELL = /bin/sh 7 | 8 | ################################################################################ 9 | ## Include the common configuration parts 10 | include $(TOP)/conf/configure.nems.NUOPC 11 | 12 | ################################################################################ 13 | ## Other settings 14 | 15 | NETCDF_INC = -I$(NETCDF)/include 16 | NETCDF_LIB = -L$(NETCDF)/lib -lnetcdf 17 | 18 | NEMSIO_INC = -I${LIBDIR}/incmod/nemsio 19 | NEMSIO_LIB = -L${LIBDIR} -lnemsio 20 | SYS_LIB = 21 | 22 | EXTLIBS = $(NEMSIO_LIB) \ 23 | $(NETCDF_LIB) \ 24 | $(ESMF_LIB) \ 25 | $(SYS_LIB) -lm 26 | 27 | EXTLIBS_POST = $(NEMSIO_LIB) \ 28 | $(ESMF_LIB) \ 29 | $(NETCDF_LIB) \ 30 | $(SYS_LIB) 31 | ### 32 | FC = mpiifort -g -qopenmp -mkl=sequential -align array32byte -lmkl_intel_lp64 -lmkl_core -lmkl_sequential -lpthread -qopenmp -convert big_endian -assume byterecl -mkl=sequential 33 | F77 = mpiifort -g -qopenmp -mkl=sequential -align array32byte -lmkl_intel_lp64 -lmkl_core -lmkl_sequential -lpthread -qopenmp -convert big_endian -assume byterecl -mkl=sequential 34 | FREE = -free 35 | FIXED = -fixed 36 | R8 = -r8 37 | 38 | FINCS = $(ESMF_INC) $(NEMSIO_INC) $(NETCDF_INC) 39 | #TRAPS = -g -fno-inline -no-ip -traceback -ftrapuv -fpe0 -ftz -check all -check noarg_temp_created -fp-stack-check 40 | 41 | FFLAGS = $(TRAPS) $(FINCS) -fp-model strict 42 | 43 | OPTS_NMM = -g -fno-inline -no-ip -traceback -ftrapuv -fpe0 -ftz -check all -check noarg_temp_created -fp-stack-check $(FREE) 44 | 45 | FFLAGM_DEBUG = 46 | 47 | FFLAGS_NMM = $(MACROS_NWM) $(OPTS_NMM) $(FFLAGS) 48 | 49 | FPP = -fpp 50 | CPP = cpp -P -traditional 51 | CPPFLAGS = -DENABLE_SMP -DCHNK_RRTM=8 52 | 53 | AR = ar 54 | ARFLAGS = -r 55 | 56 | RM = rm 57 | -------------------------------------------------------------------------------- /conf/externals.nems: -------------------------------------------------------------------------------- 1 | # Location of external components 2 | -------------------------------------------------------------------------------- /conf/externals.nems.cheyenne: -------------------------------------------------------------------------------- 1 | # Location of external components 2 | 3 | SATM_DIR= 4 | XATM_DIR= 5 | SLND_DIR= 6 | XLND_DIR= 7 | NOAH_DIR= 8 | NOAHMP_DIR= 9 | SICE_DIR= 10 | XICE_DIR= 11 | CICE_DIR= 12 | SOCN_DIR= 13 | XOCN_DIR= 14 | MOM5_DIR= 15 | HYCOM_DIR= 16 | POM_DIR= 17 | SWAV_DIR= 18 | XWAV_DIR= 19 | WW3_DIR= 20 | SIPM_DIR= 21 | XIPM_DIR= 22 | IPE_DIR= 23 | SHYD_DIR= 24 | XHYD_DIR= 25 | WRFHYDRO_DIR= 26 | LIS_DIR= 27 | -------------------------------------------------------------------------------- /conf/externals.nems.gaea: -------------------------------------------------------------------------------- 1 | # Location of external components 2 | 3 | SATM_DIR= 4 | XATM_DIR= 5 | SLND_DIR= 6 | XLND_DIR= 7 | NOAH_DIR= 8 | NOAHMP_DIR= 9 | SICE_DIR= 10 | XICE_DIR= 11 | CICE_DIR= 12 | SOCN_DIR= 13 | XOCN_DIR= 14 | MOM5_DIR= 15 | HYCOM_DIR= 16 | POM_DIR= 17 | SWAV_DIR= 18 | XWAV_DIR= 19 | WW3_DIR= 20 | SIPM_DIR= 21 | XIPM_DIR= 22 | IPE_DIR= 23 | SHYD_DIR= 24 | XHYD_DIR= 25 | WRFHYDRO_DIR= 26 | LIS_DIR= 27 | -------------------------------------------------------------------------------- /conf/externals.nems.hera: -------------------------------------------------------------------------------- 1 | # Location of external components 2 | 3 | SATM_DIR= 4 | XATM_DIR= 5 | SLND_DIR= 6 | XLND_DIR= 7 | NOAH_DIR= 8 | NOAHMP_DIR= 9 | SICE_DIR= 10 | XICE_DIR= 11 | CICE_DIR= 12 | SOCN_DIR= 13 | XOCN_DIR= 14 | MOM5_DIR= 15 | HYCOM_DIR= 16 | POM_DIR= 17 | SWAV_DIR= 18 | XWAV_DIR= 19 | WW3_DIR= 20 | SIPM_DIR= 21 | XIPM_DIR= 22 | IPE_DIR= 23 | SHYD_DIR= 24 | XHYD_DIR= 25 | WRFHYDRO_DIR= 26 | LIS_DIR= 27 | -------------------------------------------------------------------------------- /conf/externals.nems.jet: -------------------------------------------------------------------------------- 1 | # Location of external components 2 | 3 | SATM_DIR= 4 | XATM_DIR= 5 | SLND_DIR= 6 | XLND_DIR= 7 | NOAH_DIR= 8 | NOAHMP_DIR= 9 | SICE_DIR= 10 | XICE_DIR= 11 | CICE_DIR= 12 | SOCN_DIR= 13 | XOCN_DIR= 14 | MOM5_DIR= 15 | HYCOM_DIR= 16 | POM_DIR= 17 | SWAV_DIR= 18 | XWAV_DIR= 19 | WW3_DIR= 20 | SIPM_DIR= 21 | XIPM_DIR= 22 | IPE_DIR= 23 | SHYD_DIR= 24 | XHYD_DIR= 25 | WRFHYDRO_DIR= 26 | LIS_DIR= 27 | -------------------------------------------------------------------------------- /conf/externals.nems.linux: -------------------------------------------------------------------------------- 1 | # Location of external components 2 | 3 | -------------------------------------------------------------------------------- /conf/externals.nems.macosx: -------------------------------------------------------------------------------- 1 | # Location of external components 2 | 3 | -------------------------------------------------------------------------------- /conf/externals.nems.orion: -------------------------------------------------------------------------------- 1 | # Location of external components 2 | 3 | SATM_DIR= 4 | XATM_DIR= 5 | SLND_DIR= 6 | XLND_DIR= 7 | NOAH_DIR= 8 | NOAHMP_DIR= 9 | SICE_DIR= 10 | XICE_DIR= 11 | CICE_DIR= 12 | SOCN_DIR= 13 | XOCN_DIR= 14 | MOM5_DIR= 15 | HYCOM_DIR= 16 | POM_DIR= 17 | SWAV_DIR= 18 | XWAV_DIR= 19 | WW3_DIR= 20 | SIPM_DIR= 21 | XIPM_DIR= 22 | IPE_DIR= 23 | SHYD_DIR= 24 | XHYD_DIR= 25 | WRFHYDRO_DIR= 26 | LIS_DIR= 27 | -------------------------------------------------------------------------------- /conf/externals.nems.stampede: -------------------------------------------------------------------------------- 1 | # Location of external components 2 | 3 | SATM_DIR= 4 | XATM_DIR= 5 | SLND_DIR= 6 | XLND_DIR= 7 | NOAH_DIR= 8 | NOAHMP_DIR= 9 | SICE_DIR= 10 | XICE_DIR= 11 | CICE_DIR= 12 | SOCN_DIR= 13 | XOCN_DIR= 14 | MOM5_DIR= 15 | HYCOM_DIR= 16 | POM_DIR= 17 | SWAV_DIR= 18 | XWAV_DIR= 19 | WW3_DIR= 20 | SIPM_DIR= 21 | XIPM_DIR= 22 | IPE_DIR= 23 | SHYD_DIR= 24 | XHYD_DIR= 25 | WRFHYDRO_DIR= 26 | LIS_DIR= 27 | -------------------------------------------------------------------------------- /conf/externals.nems.wcoss: -------------------------------------------------------------------------------- 1 | # Location of external components 2 | 3 | SATM_DIR= 4 | XATM_DIR= 5 | SLND_DIR= 6 | XLND_DIR= 7 | NOAH_DIR= 8 | NOAHMP_DIR= 9 | SICE_DIR= 10 | XICE_DIR= 11 | CICE_DIR= 12 | SOCN_DIR= 13 | XOCN_DIR= 14 | MOM5_DIR= 15 | HYCOM_DIR= 16 | POM_DIR= 17 | SWAV_DIR= 18 | XWAV_DIR= 19 | WW3_DIR= 20 | SIPM_DIR= 21 | XIPM_DIR= 22 | IPE_DIR= 23 | SHYD_DIR= 24 | XHYD_DIR= 25 | WRFHYDRO_DIR= 26 | LIS_DIR= 27 | -------------------------------------------------------------------------------- /images/coastalapp-usage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/noaa-ocs-modeling/CoastalApp/282e3491bd41d3fff58eb9cef717f8524c9511de/images/coastalapp-usage.png -------------------------------------------------------------------------------- /images/coastalapp_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/noaa-ocs-modeling/CoastalApp/282e3491bd41d3fff58eb9cef717f8524c9511de/images/coastalapp_logo.png -------------------------------------------------------------------------------- /images/coastalapp_models.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/noaa-ocs-modeling/CoastalApp/282e3491bd41d3fff58eb9cef717f8524c9511de/images/coastalapp_models.png -------------------------------------------------------------------------------- /model_configure.sample: -------------------------------------------------------------------------------- 1 | #NEMS model configure inputs 2 | print_esmf: .true. 3 | RUN_CONTINUE: .false. 4 | ENS_SPS: .false. 5 | total_member: 1 6 | PE_MEMBER01: 6 7 | 8 | 9 | start_year: 2008 10 | start_month: 09 11 | start_day: 04 12 | start_hour: 12 13 | start_minute: 0 14 | start_second: 0 15 | nhours_fcst: 36 16 | -------------------------------------------------------------------------------- /modulefiles/envmodules_gnu.cheyenne: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash-*-Shell-script-functions*- 2 | 3 | ########################################################################### 4 | ### Module File to load the required environment modules for the NEMS application 5 | ### 6 | ### Author: Panagiotis Velissariou 7 | ### Date: June 26 2021 8 | ########################################################################### 9 | 10 | #---------- 11 | [[ "$0" == "bash" || "$0" == "-bash" ]] && retv=return || retv=exit 12 | echo "$(basename ${BASH_SOURCE[0]}) :: This environment is either not configured or not supported" 13 | echo " Exiting ..." 14 | ${retv} 1 15 | #---------- 16 | 17 | #################### 18 | # Get the directory where the script is located 19 | if [[ $(uname -s) == Darwin ]]; then 20 | myDIRS="$(cd "$(dirname "$(grealpath -s "${BASH_SOURCE[0]}" )" )" && pwd -P)" 21 | else 22 | myDIRS="$(cd "$(dirname "$(realpath -s "${BASH_SOURCE[0]}" )" )" && pwd -P)" 23 | fi 24 | myDIRS="${myDIRS} . ${APPMODS_DIR}" 25 | #################### 26 | 27 | 28 | # This script is responsible for loading modules that are 29 | # compatible with the NUOPC Layer version used in NEMS. 30 | 31 | 32 | #################### 33 | ### (1) Load all needed environment modules. 34 | module purge 35 | module load cmake 36 | 37 | module load gcc openmpi 38 | 39 | module load szip hdf5 40 | module load netcdf 41 | module load esmf 42 | 43 | 44 | #################### 45 | ### (2) Set some environments varaiables related to the loaded 46 | ### modules and required to compile the NEMS application properly. 47 | funcs="$( find ${myDIRS} -type f -iname "PlatformFuncs" | head -n 1 )" 48 | if [ -f "${funcs}" ]; then 49 | source "${funcs}" 50 | 51 | get_env_hdf5 52 | get_env_netcdf 53 | fi 54 | unset funcs myDIRS 55 | 56 | 57 | ########## BEG:: PLATFORM CUSTOMIZED SETTINGS ########## 58 | # Is this needed in all systems? 59 | # If file locking is not allowed in the filesystem, or the 60 | # HDF5 locking mechanism is not compatible with the 61 | # OS locking mechanism, then HDF5 (>=1.10.x) throws errors like 62 | # access denied when trying to READ/WRITE NetCDF files. 63 | # On some platforms HDF5 locking is disabled on other it is not. 64 | # If you experience these problems uncomment the next line 65 | # (this should be done automatically when loading this file - todo). 66 | #export HDF5_USE_FILE_LOCKING=FALSE 67 | 68 | if [ -z "${NETCDF_CONFIG}" ]; then 69 | export NETCDF_CONFIG=${NETCDF_HOME:+${NETCDF_HOME}/bin/nc-config} 70 | fi 71 | 72 | if [ -z "${NETCDF_INCDIR}" ]; then 73 | export NETCDF_INCDIR=${NETCDF_INC:+${NETCDF_INC}} 74 | if [ -z "${NETCDF_INCDIR}" ]; then 75 | export NETCDF_INCDIR=${NETCDF_HOME:+${NETCDF_HOME}/include} 76 | fi 77 | fi 78 | 79 | if [ -z "${NETCDF_LIBDIR}" ]; then 80 | export NETCDF_LIBDIR=${NETCDF_LIB:+${NETCDF_LIB}} 81 | if [ -z "${NETCDF_LIBDIR}" ]; then 82 | export NETCDF_LIBDIR=${NETCDF_HOME:+${NETCDF_HOME}/lib} 83 | fi 84 | fi 85 | 86 | if [ -z "${ESMFMKFILE}" ]; then 87 | echo "The variable ESMFMKFILE is not set. Please load the esmf module for your platform" 88 | echo "Exiting ..." 89 | exit 1 90 | else 91 | export ESMFMKFILE=${ESMFMKFILE} 92 | fi 93 | ########## END:: PLATFORM CUSTOMIZED SETTINGS ########## 94 | -------------------------------------------------------------------------------- /modulefiles/envmodules_gnu.conda: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # 3 | # Author: Carsten Lemmen 4 | # Copyright: 2022-2023, Helmholtz-Zentrum Hereon 5 | # License: CC-1.0 Creative Commons Zero 6 | 7 | echo Using $(conda --version) || ( 8 | echo "ERROR: Conda does not seem to be installed or accessible" 9 | exit 1 ) 10 | 11 | CONDALIST=$(conda list "mpi|metis|clang|esmf|hdf5|netcdf|gfortran" | awk '/^[a-z].*/ {print $1}' | sed 's/\n/ /g') 12 | 13 | for package in hdf5 netcdf-fortran metis parmetis clang clangxx gfortran; do 14 | if ! $(echo $CONDALIST |grep -q $package); then 15 | echo "ERROR: $package is not installed in your environment." 16 | echo " Run conda install $packages" 17 | exit 1 18 | fi 19 | echo ".. found conda package $package" 20 | done 21 | 22 | if $(echo $CONDALIST |grep -q -E '(openmpi|mpich)'); then 23 | echo ".. found conda mpi package" 24 | # echo ".. found conda package $(echo $CONDALIST |grep -E '(openmpi|mpich)')" 25 | else 26 | echo "ERROR: Neither mpich or openmpi is installed in your environment." 27 | echo " Run conda install openmpi/mpich" 28 | exit 1 29 | fi 30 | 31 | for package in esmf; do 32 | if ! $(echo $CONDALIST |grep -q $package); then 33 | echo "ERROR: $package is not installed in your environment." 34 | echo " Run conda install $packages" 35 | exit 1 36 | fi 37 | echo ".. found conda package $package" 38 | #export ESMFMKFILE="${ESMFMKFILE:-${CONDA_PREFIX}/lib/esmf.mk}" 39 | export ESMFMKFILE=${CONDA_PREFIX}/lib/esmf.mk 40 | echo ".. with ESMFMKFILE=$ESMFMKFILE" 41 | done 42 | 43 | export CC=$CONDA_PREFIX/bin/clang 44 | export CXX=$CONDA_PREFIX/bin/clang++ 45 | export F90=$CONDA_PREFIX/bin/gfortran 46 | export FC=$CONDA_PREFIX/bin/gfortran 47 | export PCC=$CONDA_PREFIX/bin/mpicc 48 | export PCXX=$CONDA_PREFIX/bin/mpicxx 49 | export PF90=$CONDA_PREFIX/bin/mpifort 50 | export PFC=$CONDA_PREFIX/bin/mpifort 51 | 52 | export METIS_DIR=$CONDA_PREFIX 53 | export PARMETISHOME=$CONDA_PREFIX 54 | 55 | export HDF5=$CONDA_PREFIX 56 | export HDF5HOME=${HDF5} 57 | export HDF5_DIR=${HDF5} 58 | export HDF5_PATH=${HDF5} 59 | export HDF5_ROOT=${HDF5} 60 | 61 | export NETCDF=$CONDA_PREFIX 62 | export NETCDFHOME=${NETCDF} 63 | export NETCDF_DIR=${NETCDF} 64 | export NETCDF_PATH=${NETCDF} 65 | export NETCDF_ROOT=${NETCDF} 66 | 67 | export NETCDF_CONFIG=${NETCDFHOME:+${NETCDFHOME}/bin/nc-config} 68 | export NETCDF_INCDIR=${NETCDFHOME:+${NETCDFHOME}/include} 69 | export NETCDF_LIBDIR=${NETCDFHOME:+${NETCDFHOME}/lib} 70 | -------------------------------------------------------------------------------- /modulefiles/envmodules_gnu.custom: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash-*-Shell-script-functions*- 2 | 3 | ########################################################################### 4 | ### Module File to load the required environment modules for the NEMS application 5 | ### 6 | ### Author: Panagiotis Velissariou 7 | ### Date: June 26 2021 8 | ########################################################################### 9 | 10 | 11 | #################### 12 | # Get the directory where the script is located 13 | if [[ $(uname -s) == Darwin ]]; then 14 | myDIRS="$(cd "$(dirname "$(grealpath -s "${BASH_SOURCE[0]}" )" )" && pwd -P)" 15 | else 16 | myDIRS="$(cd "$(dirname "$(realpath -s "${BASH_SOURCE[0]}" )" )" && pwd -P)" 17 | fi 18 | myDIRS="${myDIRS} . ${APPMODS_DIR}" 19 | #################### 20 | 21 | 22 | # This script is responsible for loading modules that are 23 | # compatible with the NUOPC Layer version used in NEMS. 24 | 25 | 26 | #################### 27 | ### (1) Load all needed environment modules. 28 | #module purge 29 | #module load cmake 30 | 31 | #module load gnu openmpi 32 | 33 | #module load hdf5 netcdf 34 | #module load proj 35 | #module load parmetis 36 | #module load esmf 37 | 38 | 39 | #################### 40 | ### (2) Set some environments varaiables related to the loaded 41 | ### modules and required to compile the NEMS application properly. 42 | funcs="$( find ${myDIRS} -type f -iname "PlatformFuncs" | head -n 1 )" 43 | if [ -f "${funcs}" ]; then 44 | source "${funcs}" 45 | 46 | get_env_hdf5 47 | get_env_netcdf 48 | fi 49 | unset funcs myDIRS 50 | 51 | 52 | ########## BEG:: PLATFORM CUSTOMIZED SETTINGS ########## 53 | # Is this needed in all systems? 54 | # If file locking is not allowed in the filesystem, or the 55 | # HDF5 locking mechanism is not compatible with the 56 | # OS locking mechanism, then HDF5 (>=1.10.x) throws errors like 57 | # access denied when trying to READ/WRITE NetCDF files. 58 | # On some platforms HDF5 locking is disabled on other it is not. 59 | # If you experience these problems uncomment the next line 60 | # (this should be done automatically when loading this file - todo). 61 | #export HDF5_USE_FILE_LOCKING=FALSE 62 | 63 | if [ -z "${NETCDF_CONFIG}" ]; then 64 | export NETCDF_CONFIG=${NETCDF_HOME:+${NETCDF_HOME}/bin/nc-config} 65 | fi 66 | 67 | if [ -z "${NETCDF_INCDIR}" ]; then 68 | export NETCDF_INCDIR=${NETCDF_INC:+${NETCDF_INC}} 69 | if [ -z "${NETCDF_INCDIR}" ]; then 70 | export NETCDF_INCDIR=${NETCDF_HOME:+${NETCDF_HOME}/include} 71 | fi 72 | fi 73 | 74 | if [ -z "${NETCDF_LIBDIR}" ]; then 75 | export NETCDF_LIBDIR=${NETCDF_LIB:+${NETCDF_LIB}} 76 | if [ -z "${NETCDF_LIBDIR}" ]; then 77 | export NETCDF_LIBDIR=${NETCDF_HOME:+${NETCDF_HOME}/lib} 78 | fi 79 | fi 80 | 81 | if [ -z "${ESMFMKFILE}" ]; then 82 | echo "The variable ESMFMKFILE is not set. Please load the esmf module for your platform" 83 | echo "Exiting ..." 84 | exit 1 85 | else 86 | export ESMFMKFILE=${ESMFMKFILE} 87 | fi 88 | ########## END:: PLATFORM CUSTOMIZED SETTINGS ########## 89 | -------------------------------------------------------------------------------- /modulefiles/envmodules_gnu.gaea: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash-*-Shell-script-functions*- 2 | 3 | ########################################################################### 4 | ### Module File to load the required environment modules for the NEMS application 5 | ### 6 | ### Author: Panagiotis Velissariou 7 | ### Date: June 26 2021 8 | ########################################################################### 9 | 10 | #---------- 11 | [[ "$0" == "bash" || "$0" == "-bash" ]] && retv=return || retv=exit 12 | echo "$(basename ${BASH_SOURCE[0]}) :: This environment is either not configured or not supported" 13 | echo " Exiting ..." 14 | ${retv} 1 15 | #---------- 16 | 17 | #################### 18 | # Get the directory where the script is located 19 | if [[ $(uname -s) == Darwin ]]; then 20 | myDIRS="$(cd "$(dirname "$(grealpath -s "${BASH_SOURCE[0]}" )" )" && pwd -P)" 21 | else 22 | myDIRS="$(cd "$(dirname "$(realpath -s "${BASH_SOURCE[0]}" )" )" && pwd -P)" 23 | fi 24 | myDIRS="${myDIRS} . ${APPMODS_DIR}" 25 | #################### 26 | 27 | 28 | # This script is responsible for loading modules that are 29 | # compatible with the NUOPC Layer version used in NEMS. 30 | 31 | 32 | #################### 33 | ### (1) Load all needed environment modules. 34 | module purge 35 | module load cmake 36 | 37 | module load pgi impi 38 | module load szip hdf5 39 | module load netcdf 40 | module load esmf 41 | 42 | 43 | #################### 44 | ### (2) Set some environments varaiables related to the loaded 45 | ### modules and required to compile the NEMS application properly. 46 | funcs="$( find ${myDIRS} -type f -iname "PlatformFuncs" | head -n 1 )" 47 | if [ -f "${funcs}" ]; then 48 | source "${funcs}" 49 | 50 | get_env_hdf5 51 | get_env_netcdf 52 | fi 53 | unset funcs myDIRS 54 | 55 | 56 | ########## BEG:: PLATFORM CUSTOMIZED SETTINGS ########## 57 | # Is this needed in all systems? 58 | # If file locking is not allowed in the filesystem, or the 59 | # HDF5 locking mechanism is not compatible with the 60 | # OS locking mechanism, then HDF5 (>=1.10.x) throws errors like 61 | # access denied when trying to READ/WRITE NetCDF files. 62 | # On some platforms HDF5 locking is disabled on other it is not. 63 | # If you experience these problems uncomment the next line 64 | # (this should be done automatically when loading this file - todo). 65 | #export HDF5_USE_FILE_LOCKING=FALSE 66 | 67 | if [ -z "${NETCDF_CONFIG}" ]; then 68 | export NETCDF_CONFIG=${NETCDF_HOME:+${NETCDF_HOME}/bin/nc-config} 69 | fi 70 | 71 | if [ -z "${NETCDF_INCDIR}" ]; then 72 | export NETCDF_INCDIR=${NETCDF_INC:+${NETCDF_INC}} 73 | if [ -z "${NETCDF_INCDIR}" ]; then 74 | export NETCDF_INCDIR=${NETCDF_HOME:+${NETCDF_HOME}/include} 75 | fi 76 | fi 77 | 78 | if [ -z "${NETCDF_LIBDIR}" ]; then 79 | export NETCDF_LIBDIR=${NETCDF_LIB:+${NETCDF_LIB}} 80 | if [ -z "${NETCDF_LIBDIR}" ]; then 81 | export NETCDF_LIBDIR=${NETCDF_HOME:+${NETCDF_HOME}/lib} 82 | fi 83 | fi 84 | 85 | if [ -z "${ESMFMKFILE}" ]; then 86 | echo "The variable ESMFMKFILE is not set. Please load the esmf module for your platform" 87 | echo "Exiting ..." 88 | exit 1 89 | else 90 | export ESMFMKFILE=${ESMFMKFILE} 91 | fi 92 | ########## END:: PLATFORM CUSTOMIZED SETTINGS ########## 93 | -------------------------------------------------------------------------------- /modulefiles/envmodules_gnu.hera: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash-*-Shell-script-functions*- 2 | 3 | ########################################################################### 4 | ### Module File to load the required environment modules for the NEMS application 5 | ### 6 | ### Author: Panagiotis Velissariou 7 | ### Date: June 26 2021 8 | ########################################################################### 9 | 10 | 11 | #################### 12 | # Get the directory where the script is located 13 | if [[ $(uname -s) == Darwin ]]; then 14 | myDIRS="$(cd "$(dirname "$(grealpath -s "${BASH_SOURCE[0]}" )" )" && pwd -P)" 15 | else 16 | myDIRS="$(cd "$(dirname "$(realpath -s "${BASH_SOURCE[0]}" )" )" && pwd -P)" 17 | fi 18 | myDIRS="${myDIRS} . ${APPMODS_DIR}" 19 | #################### 20 | 21 | 22 | # This script is responsible for loading modules that are 23 | # compatible with the NUOPC Layer version used in NEMS. 24 | 25 | 26 | #################### 27 | ### (1) Load all needed environment modules. 28 | module purge 29 | module load cmake 30 | 31 | module use /scratch2/STI/coastal/common/apps/modulefiles 32 | module load hpc-common 33 | 34 | module load hpc-gnu/6.5.0 openmpi 35 | #module load hpc-gnu/9.2.0 openmpi 36 | 37 | module load hdf5/1.10.9 netcdf/4.7.4 38 | module load proj/4.8.0 39 | module load parmetis/4.0.3 40 | module load esmf/8.3.1 41 | 42 | 43 | #################### 44 | ### (2) Set some environments varaiables related to the loaded 45 | ### modules and required to compile the NEMS application properly. 46 | funcs="$( find ${myDIRS} -type f -iname "PlatformFuncs" | head -n 1 )" 47 | if [ -f "${funcs}" ]; then 48 | source "${funcs}" 49 | 50 | get_env_hdf5 51 | get_env_netcdf 52 | fi 53 | unset funcs myDIRS 54 | 55 | 56 | ########## BEG:: PLATFORM CUSTOMIZED SETTINGS ########## 57 | # Is this needed in all systems? 58 | # If file locking is not allowed in the filesystem, or the 59 | # HDF5 locking mechanism is not compatible with the 60 | # OS locking mechanism, then HDF5 (>=1.10.x) throws errors like 61 | # access denied when trying to READ/WRITE NetCDF files. 62 | # On some platforms HDF5 locking is disabled on other it is not. 63 | # If you experience these problems uncomment the next line 64 | # (this should be done automatically when loading this file - todo). 65 | #export HDF5_USE_FILE_LOCKING=FALSE 66 | 67 | if [ -z "${NETCDF_CONFIG}" ]; then 68 | export NETCDF_CONFIG=${NETCDF_HOME:+${NETCDF_HOME}/bin/nc-config} 69 | fi 70 | 71 | if [ -z "${NETCDF_INCDIR}" ]; then 72 | export NETCDF_INCDIR=${NETCDF_INC:+${NETCDF_INC}} 73 | if [ -z "${NETCDF_INCDIR}" ]; then 74 | export NETCDF_INCDIR=${NETCDF_HOME:+${NETCDF_HOME}/include} 75 | fi 76 | fi 77 | 78 | if [ -z "${NETCDF_LIBDIR}" ]; then 79 | export NETCDF_LIBDIR=${NETCDF_LIB:+${NETCDF_LIB}} 80 | if [ -z "${NETCDF_LIBDIR}" ]; then 81 | export NETCDF_LIBDIR=${NETCDF_HOME:+${NETCDF_HOME}/lib} 82 | fi 83 | fi 84 | 85 | if [ -z "${ESMFMKFILE}" ]; then 86 | echo "The variable ESMFMKFILE is not set. Please load the esmf module for your platform" 87 | echo "Exiting ..." 88 | exit 1 89 | else 90 | export ESMFMKFILE=${ESMFMKFILE} 91 | fi 92 | ########## END:: PLATFORM CUSTOMIZED SETTINGS ########## 93 | -------------------------------------------------------------------------------- /modulefiles/envmodules_gnu.hera.orig: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash-*-Shell-script-functions*- 2 | 3 | ########################################################################### 4 | ### Module File to load the required environment modules for the NEMS application 5 | ### 6 | ### Author: Panagiotis Velissariou 7 | ### Date: June 26 2021 8 | ########################################################################### 9 | 10 | #---------- 11 | [[ "$0" == "bash" || "$0" == "-bash" ]] && retv=return || retv=exit 12 | echo "$(basename ${BASH_SOURCE[0]}) :: This environment is either not configured or not supported" 13 | echo " Exiting ..." 14 | ${retv} 1 15 | #---------- 16 | 17 | #################### 18 | # Get the directory where the script is located 19 | if [[ $(uname -s) == Darwin ]]; then 20 | myDIRS="$(cd "$(dirname "$(grealpath -s "${BASH_SOURCE[0]}" )" )" && pwd -P)" 21 | else 22 | myDIRS="$(cd "$(dirname "$(realpath -s "${BASH_SOURCE[0]}" )" )" && pwd -P)" 23 | fi 24 | myDIRS="${myDIRS} . ${APPMODS_DIR}" 25 | #################### 26 | 27 | 28 | # This script is responsible for loading modules that are 29 | # compatible with the NUOPC Layer version used in NEMS. 30 | 31 | 32 | #################### 33 | ### (1) Load all needed environment modules. 34 | module purge 35 | module load gcc impi 36 | module load szip hdf5 37 | module load netcdf 38 | 39 | module use /contrib/modulefiles 40 | module load esmf 41 | 42 | 43 | #################### 44 | ### (2) Set some environments varaiables related to the loaded 45 | ### modules and required to compile the NEMS application properly. 46 | funcs="$( find ${myDIRS} -type f -iname "PlatformFuncs" | head -n 1 )" 47 | if [ -f "${funcs}" ]; then 48 | source "${funcs}" 49 | 50 | get_env_hdf5 51 | get_env_netcdf 52 | fi 53 | unset funcs myDIRS 54 | 55 | 56 | ########## BEG:: PLATFORM CUSTOMIZED SETTINGS ########## 57 | # Is this needed in all systems? 58 | # If file locking is not allowed in the filesystem, or the 59 | # HDF5 locking mechanism is not compatible with the 60 | # OS locking mechanism, then HDF5 (>=1.10.x) throws errors like 61 | # access denied when trying to READ/WRITE NetCDF files. 62 | # On some platforms HDF5 locking is disabled on other it is not. 63 | # If you experience these problems uncomment the next line 64 | # (this should be done automatically when loading this file - todo). 65 | #export HDF5_USE_FILE_LOCKING=FALSE 66 | 67 | export NETCDF_CONFIG=${NETCDFHOME:+${NETCDFHOME}/bin/nc-config} 68 | export NETCDF_INCDIR=${NETCDFHOME:+${NETCDFHOME}/include} 69 | export NETCDF_LIBDIR=${NETCDFHOME:+${NETCDFHOME}/lib} 70 | 71 | export ESMFMKFILE=${ESMFMKFILE} 72 | ########## END:: PLATFORM CUSTOMIZED SETTINGS ########## 73 | -------------------------------------------------------------------------------- /modulefiles/envmodules_gnu.hera.sys: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash-*-Shell-script-functions*- 2 | 3 | ########################################################################### 4 | ### Module File to load the required environment modules for the NEMS application 5 | ### 6 | ### Author: Panagiotis Velissariou 7 | ### Date: June 26 2021 8 | ########################################################################### 9 | 10 | 11 | #################### 12 | # Get the directory where the script is located 13 | if [[ $(uname -s) == Darwin ]]; then 14 | myDIRS="$(cd "$(dirname "$(grealpath -s "${BASH_SOURCE[0]}" )" )" && pwd -P)" 15 | else 16 | myDIRS="$(cd "$(dirname "$(realpath -s "${BASH_SOURCE[0]}" )" )" && pwd -P)" 17 | fi 18 | myDIRS="${myDIRS} . ${APPMODS_DIR}" 19 | #################### 20 | 21 | 22 | # This script is responsible for loading modules that are 23 | # compatible with the NUOPC Layer version used in NEMS. 24 | 25 | 26 | #################### 27 | ### (1) Load all needed environment modules. 28 | module purge 29 | module load cmake 30 | 31 | module load gnu/9.2.0 openmpi 32 | 33 | module load hdf5/1.10.5 netcdf/4.7.2 34 | # NOT AVAILABLE module load proj/4.8.0 35 | # NOT AVAILABLE module load parmetis/4.0.3 36 | # NOT AVAILABLE module load esmf/8.3.1 37 | 38 | 39 | ################### 40 | ### (2) Set some environments varaiables related to the loaded 41 | ### modules and required to compile the NEMS application properly. 42 | funcs="$( find ${myDIRS} -type f -iname "PlatformFuncs" | head -n 1 )" 43 | if [ -f "${funcs}" ]; then 44 | source "${funcs}" 45 | 46 | get_env_hdf5 47 | get_env_netcdf 48 | fi 49 | unset funcs myDIRS 50 | 51 | 52 | ########## BEG:: PLATFORM CUSTOMIZED SETTINGS ########## 53 | # Is this needed in all systems? 54 | # If file locking is not allowed in the filesystem, or the 55 | # HDF5 locking mechanism is not compatible with the 56 | # OS locking mechanism, then HDF5 (>=1.10.x) throws errors like 57 | # access denied when trying to READ/WRITE NetCDF files. 58 | # On some platforms HDF5 locking is disabled on other it is not. 59 | # If you experience these problems uncomment the next line 60 | # (this should be done automatically when loading this file - todo). 61 | #export HDF5_USE_FILE_LOCKING=FALSE 62 | 63 | if [ -z "${NETCDF_CONFIG}" ]; then 64 | export NETCDF_CONFIG=${NETCDF_HOME:+${NETCDF_HOME}/bin/nc-config} 65 | fi 66 | 67 | if [ -z "${NETCDF_INCDIR}" ]; then 68 | export NETCDF_INCDIR=${NETCDF_INC:+${NETCDF_INC}} 69 | if [ -z "${NETCDF_INCDIR}" ]; then 70 | export NETCDF_INCDIR=${NETCDF_HOME:+${NETCDF_HOME}/include} 71 | fi 72 | fi 73 | 74 | if [ -z "${NETCDF_LIBDIR}" ]; then 75 | export NETCDF_LIBDIR=${NETCDF_LIB:+${NETCDF_LIB}} 76 | if [ -z "${NETCDF_LIBDIR}" ]; then 77 | export NETCDF_LIBDIR=${NETCDF_HOME:+${NETCDF_HOME}/lib} 78 | fi 79 | fi 80 | 81 | if [ -z "${ESMFMKFILE}" ]; then 82 | echo "The variable ESMFMKFILE is not set. Please load the esmf module for your platform" 83 | echo "Exiting ..." 84 | exit 1 85 | else 86 | export ESMFMKFILE=${ESMFMKFILE} 87 | fi 88 | ########## END:: PLATFORM CUSTOMIZED SETTINGS ########## 89 | 90 | -------------------------------------------------------------------------------- /modulefiles/envmodules_gnu.jet: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash-*-Shell-script-functions*- 2 | 3 | ########################################################################### 4 | ### Module File to load the required environment modules for the NEMS application 5 | ### 6 | ### Author: Panagiotis Velissariou 7 | ### Date: June 26 2021 8 | ########################################################################### 9 | 10 | #---------- 11 | [[ "$0" == "bash" || "$0" == "-bash" ]] && retv=return || retv=exit 12 | echo "$(basename ${BASH_SOURCE[0]}) :: This environment is either not configured or not supported" 13 | echo " Exiting ..." 14 | ${retv} 1 15 | #---------- 16 | 17 | #################### 18 | # Get the directory where the script is located 19 | if [[ $(uname -s) == Darwin ]]; then 20 | myDIRS="$(cd "$(dirname "$(grealpath -s "${BASH_SOURCE[0]}" )" )" && pwd -P)" 21 | else 22 | myDIRS="$(cd "$(dirname "$(realpath -s "${BASH_SOURCE[0]}" )" )" && pwd -P)" 23 | fi 24 | myDIRS="${myDIRS} . ${APPMODS_DIR}" 25 | #################### 26 | 27 | 28 | # This script is responsible for loading modules that are 29 | # compatible with the NUOPC Layer version used in NEMS. 30 | 31 | 32 | #################### 33 | ### (1) Load all needed environment modules. 34 | module purge 35 | module load cmake 36 | 37 | module load gcc impi 38 | module load szip hdf5 39 | module load netcdf 40 | module load esmf 41 | 42 | 43 | #################### 44 | ### (2) Set some environments varaiables related to the loaded 45 | ### modules and required to compile the NEMS application properly. 46 | funcs="$( find ${myDIRS} -type f -iname "PlatformFuncs" | head -n 1 )" 47 | if [ -f "${funcs}" ]; then 48 | source "${funcs}" 49 | 50 | get_env_hdf5 51 | get_env_netcdf 52 | fi 53 | unset funcs myDIRS 54 | 55 | 56 | ########## BEG:: PLATFORM CUSTOMIZED SETTINGS ########## 57 | # Is this needed in all systems? 58 | # If file locking is not allowed in the filesystem, or the 59 | # HDF5 locking mechanism is not compatible with the 60 | # OS locking mechanism, then HDF5 (>=1.10.x) throws errors like 61 | # access denied when trying to READ/WRITE NetCDF files. 62 | # On some platforms HDF5 locking is disabled on other it is not. 63 | # If you experience these problems uncomment the next line 64 | # (this should be done automatically when loading this file - todo). 65 | #export HDF5_USE_FILE_LOCKING=FALSE 66 | 67 | if [ -z "${NETCDF_CONFIG}" ]; then 68 | export NETCDF_CONFIG=${NETCDF_HOME:+${NETCDF_HOME}/bin/nc-config} 69 | fi 70 | 71 | if [ -z "${NETCDF_INCDIR}" ]; then 72 | export NETCDF_INCDIR=${NETCDF_INC:+${NETCDF_INC}} 73 | if [ -z "${NETCDF_INCDIR}" ]; then 74 | export NETCDF_INCDIR=${NETCDF_HOME:+${NETCDF_HOME}/include} 75 | fi 76 | fi 77 | 78 | if [ -z "${NETCDF_LIBDIR}" ]; then 79 | export NETCDF_LIBDIR=${NETCDF_LIB:+${NETCDF_LIB}} 80 | if [ -z "${NETCDF_LIBDIR}" ]; then 81 | export NETCDF_LIBDIR=${NETCDF_HOME:+${NETCDF_HOME}/lib} 82 | fi 83 | fi 84 | 85 | if [ -z "${ESMFMKFILE}" ]; then 86 | echo "The variable ESMFMKFILE is not set. Please load the esmf module for your platform" 87 | echo "Exiting ..." 88 | exit 1 89 | else 90 | export ESMFMKFILE=${ESMFMKFILE} 91 | fi 92 | ########## END:: PLATFORM CUSTOMIZED SETTINGS ########## 93 | -------------------------------------------------------------------------------- /modulefiles/envmodules_gnu.levante: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash-*-Shell-script-functions*- 2 | 3 | ########################################################################### 4 | ### Module File to load the required environment modules for the NEMS application 5 | ### 6 | ### Author: Panagiotis Velissariou 7 | ### Date: June 26 2021 8 | ########################################################################### 9 | 10 | 11 | #################### 12 | # Get the directory where the script is located 13 | if [[ $(uname -s) == Darwin ]]; then 14 | myDIRS="$(cd "$(dirname "$(grealpath -s "${BASH_SOURCE[0]}" )" )" && pwd -P)" 15 | else 16 | myDIRS="$(cd "$(dirname "$(realpath -s "${BASH_SOURCE[0]}" )" )" && pwd -P)" 17 | fi 18 | myDIRS="${myDIRS} . ${APPMODS_DIR}" 19 | #################### 20 | 21 | 22 | # This script is responsible for loading modules that are 23 | # compatible with the NUOPC Layer version used in NEMS. 24 | # 25 | # Adopted for DKRZ/levante by Carsten Lemmen 26 | 27 | # We need to make the modules command available before using it 28 | source /sw/etc/profile.levante 29 | 30 | export NETCDF_Fortran_MODULE=netcdf-fortran/4.5.3-openmpi-4.1.2-gcc-11.2.0 31 | export NETCDF_C_MODULE=netcdf-c/4.8.1-gcc-11.2.0 32 | 33 | module purge 34 | module load python3 35 | module load git 36 | module load gcc 37 | module load nco 38 | 39 | module load openmpi/4.1.2-gcc-11.2.0 40 | module load ${NETCDF_C_MODULE} 41 | module load ${NETCDF_Fortran_MODULE} 42 | module load hdf5/1.12.1-openmpi-4.1.2-gcc-11.2.0 43 | module load esmf/8.2.0-gcc-11.2.0 44 | 45 | export P=$(module show esmf|awk '/bin/{print $3}') 46 | export ESMFMKFILE=${P%%/bin}/lib/esmf.mk 47 | 48 | export P=$(module show ${NETCDF_C_MODULE}|awk '/bin/{print $3}') 49 | export NetCDF_C_DIR=${P%%/bin} 50 | 51 | export P=$(module show ${NETCDF_Fortran_MODULE}|awk '/bin/{print $3}') 52 | export NetCDF_FORTRAN_DIR=${P%%/bin} 53 | 54 | #################### 55 | ### (2) Set some environments varaiables related to the loaded 56 | ### modules and required to compile the NEMS application properly. 57 | #funcs="$( find ${myDIRS} -type f -iname "PlatformFuncs" | head -n 1 )" 58 | #if [ -f "${funcs}" ]; then 59 | # source "${funcs}" 60 | # 61 | # get_env_hdf5 62 | # get_env_netcdf 63 | #fi 64 | unset funcs myDIRS 65 | 66 | 67 | ########## BEG:: PLATFORM CUSTOMIZED SETTINGS ########## 68 | # Is this needed in all systems? 69 | # If file locking is not allowed in the filesystem, or the 70 | # HDF5 locking mechanism is not compatible with the 71 | # OS locking mechanism, then HDF5 (>=1.10.x) throws errors like 72 | # access denied when trying to READ/WRITE NetCDF files. 73 | # On some platforms HDF5 locking is disabled on other it is not. 74 | # If you experience these problems uncomment the next line 75 | # (this should be done automatically when loading this file - todo). 76 | #export HDF5_USE_FILE_LOCKING=FALSE 77 | 78 | # use this more complicated one to address ADCIRC demands 79 | export NETCDFHOME=${NetCDF_C_DIR} 80 | export NETCDFPATH=${NetCDF_C_DIR} 81 | export NETCDF_CONFIG=${NETCDFHOME:+${NETCDFHOME}/bin/nc-config} 82 | 83 | export NETCDF_INCDIR="${NetCDF_C_DIR}/include -I${NetCDF_FORTRAN_DIR}/include" 84 | export NETCDF_LIBDIR="${NetCDF_FORTRAN_DIR}/lib -lnetcdff --L${NetCDF_C_DIR}/lib -lnetcdf" 85 | 86 | ########## END:: PLATFORM CUSTOMIZED SETTINGS ########## 87 | -------------------------------------------------------------------------------- /modulefiles/envmodules_gnu.linux: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash-*-Shell-script-functions*- 2 | 3 | ########################################################################### 4 | ### Module File to load the required environment modules for the NEMS application 5 | ### 6 | ### Author: Panagiotis Velissariou 7 | ### Date: June 26 2021 8 | ########################################################################### 9 | 10 | 11 | #################### 12 | # Get the directory where the script is located 13 | if [[ $(uname -s) == Darwin ]]; then 14 | myDIRS="$(cd "$(dirname "$(grealpath -s "${BASH_SOURCE[0]}" )" )" && pwd -P)" 15 | else 16 | myDIRS="$(cd "$(dirname "$(realpath -s "${BASH_SOURCE[0]}" )" )" && pwd -P)" 17 | fi 18 | myDIRS="${myDIRS} . ${APPMODS_DIR}" 19 | #################### 20 | 21 | 22 | # This script is responsible for loading modules that are 23 | # compatible with the NUOPC Layer version used in NEMS. 24 | 25 | 26 | #################### 27 | ### (1) Load all needed environment modules. 28 | module purge 29 | module load cmake 30 | 31 | module load gnu openmpi 32 | 33 | module load hdf5 netcdf 34 | module load proj 35 | module load parmetis 36 | module load esmf 37 | 38 | 39 | #################### 40 | ### (2) Set some environments varaiables related to the loaded 41 | ### modules and required to compile the NEMS application properly. 42 | funcs="$( find ${myDIRS} -type f -iname "PlatformFuncs" | head -n 1 )" 43 | if [ -f "${funcs}" ]; then 44 | source "${funcs}" 45 | 46 | get_env_hdf5 47 | get_env_netcdf 48 | fi 49 | unset funcs myDIRS 50 | 51 | 52 | ########## BEG:: PLATFORM CUSTOMIZED SETTINGS ########## 53 | # Is this needed in all systems? 54 | # If file locking is not allowed in the filesystem, or the 55 | # HDF5 locking mechanism is not compatible with the 56 | # OS locking mechanism, then HDF5 (>=1.10.x) throws errors like 57 | # access denied when trying to READ/WRITE NetCDF files. 58 | # On some platforms HDF5 locking is disabled on other it is not. 59 | # If you experience these problems uncomment the next line 60 | # (this should be done automatically when loading this file - todo). 61 | #export HDF5_USE_FILE_LOCKING=FALSE 62 | 63 | if [ -z "${NETCDF_CONFIG}" ]; then 64 | export NETCDF_CONFIG=${NETCDF_HOME:+${NETCDF_HOME}/bin/nc-config} 65 | fi 66 | 67 | if [ -z "${NETCDF_INCDIR}" ]; then 68 | export NETCDF_INCDIR=${NETCDF_INC:+${NETCDF_INC}} 69 | if [ -z "${NETCDF_INCDIR}" ]; then 70 | export NETCDF_INCDIR=${NETCDF_HOME:+${NETCDF_HOME}/include} 71 | fi 72 | fi 73 | 74 | if [ -z "${NETCDF_LIBDIR}" ]; then 75 | export NETCDF_LIBDIR=${NETCDF_LIB:+${NETCDF_LIB}} 76 | if [ -z "${NETCDF_LIBDIR}" ]; then 77 | export NETCDF_LIBDIR=${NETCDF_HOME:+${NETCDF_HOME}/lib} 78 | fi 79 | fi 80 | 81 | if [ -z "${ESMFMKFILE}" ]; then 82 | echo "The variable ESMFMKFILE is not set. Please load the esmf module for your platform" 83 | echo "Exiting ..." 84 | exit 1 85 | else 86 | export ESMFMKFILE=${ESMFMKFILE} 87 | fi 88 | ########## END:: PLATFORM CUSTOMIZED SETTINGS ########## 89 | -------------------------------------------------------------------------------- /modulefiles/envmodules_gnu.macosx: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash-*-Shell-script-functions*- 2 | 3 | ########################################################################### 4 | ### Module File to load the required environment modules for the NEMS application 5 | ### 6 | ### Author: Panagiotis Velissariou 7 | ### Date: June 26 2021 8 | ########################################################################### 9 | 10 | #---------- 11 | #[[ "$0" == "bash" || "$0" == "-bash" ]] && retv=return || retv=exit 12 | #echo "$(basename ${BASH_SOURCE[0]}) :: This environment is either not configured or not supported" 13 | #echo " Exiting ..." 14 | #${retv} 1 15 | #---------- 16 | 17 | #################### 18 | # Get the directory where the script is located 19 | if [[ $(uname -s) == Darwin ]]; then 20 | myDIRS="$(cd "$(dirname "$(grealpath -s "${BASH_SOURCE[0]}" )" )" && pwd -P)" 21 | else 22 | myDIRS="$(cd "$(dirname "$(realpath -s "${BASH_SOURCE[0]}" )" )" && pwd -P)" 23 | fi 24 | myDIRS="${myDIRS} . ${APPMODS_DIR}" 25 | #################### 26 | 27 | 28 | # This script is responsible for loading modules that are 29 | # compatible with the NUOPC Layer version used in NEMS. 30 | 31 | 32 | #################### 33 | ### (1) Load all needed environment modules. 34 | module purge 35 | module load cmake 36 | 37 | module load gcc openmpi 38 | 39 | module load szip hdf5 40 | module load netcdf 41 | module load esmf 42 | 43 | 44 | #################### 45 | ### (2) Set some environments varaiables related to the loaded 46 | ### modules and required to compile the NEMS application properly. 47 | funcs="$( find ${myDIRS} -type f -iname "PlatformFuncs" | head -n 1 )" 48 | if [ -f "${funcs}" ]; then 49 | source "${funcs}" 50 | 51 | get_env_hdf5 52 | get_env_netcdf 53 | fi 54 | unset funcs myDIRS 55 | 56 | 57 | ########## BEG:: PLATFORM CUSTOMIZED SETTINGS ########## 58 | # Is this needed in all systems? 59 | # If file locking is not allowed in the filesystem, or the 60 | # HDF5 locking mechanism is not compatible with the 61 | # OS locking mechanism, then HDF5 (>=1.10.x) throws errors like 62 | # access denied when trying to READ/WRITE NetCDF files. 63 | # On some platforms HDF5 locking is disabled on other it is not. 64 | # If you experience these problems uncomment the next line 65 | # (this should be done automatically when loading this file - todo). 66 | #export HDF5_USE_FILE_LOCKING=FALSE 67 | 68 | if [ -z "${NETCDF_CONFIG}" ]; then 69 | export NETCDF_CONFIG=${NETCDF_HOME:+${NETCDF_HOME}/bin/nc-config} 70 | fi 71 | 72 | if [ -z "${NETCDF_INCDIR}" ]; then 73 | export NETCDF_INCDIR=${NETCDF_INC:+${NETCDF_INC}} 74 | if [ -z "${NETCDF_INCDIR}" ]; then 75 | export NETCDF_INCDIR=${NETCDF_HOME:+${NETCDF_HOME}/include} 76 | fi 77 | fi 78 | 79 | if [ -z "${NETCDF_LIBDIR}" ]; then 80 | export NETCDF_LIBDIR=${NETCDF_LIB:+${NETCDF_LIB}} 81 | if [ -z "${NETCDF_LIBDIR}" ]; then 82 | export NETCDF_LIBDIR=${NETCDF_HOME:+${NETCDF_HOME}/lib} 83 | fi 84 | fi 85 | 86 | if [ -z "${ESMFMKFILE}" ]; then 87 | echo "The variable ESMFMKFILE is not set. Please load the esmf module for your platform" 88 | echo "Exiting ..." 89 | exit 1 90 | else 91 | export ESMFMKFILE=${ESMFMKFILE} 92 | fi 93 | ########## END:: PLATFORM CUSTOMIZED SETTINGS ########## 94 | -------------------------------------------------------------------------------- /modulefiles/envmodules_gnu.macports: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # 3 | # Author: Carsten Lemmen 4 | # Copyright: 2022, Helmholtz-Zentrum Hereon 5 | # License: CC-1.0 Creative Commons Zero 6 | 7 | if test -x port ; then 8 | echo "ERROR: MacPorts does not seem to be installed or accessible" 9 | exit 1 10 | fi 11 | 12 | if ! `port installed |grep esmf |grep -q active` ; then 13 | echo "ERROR: ESMF does not seem to be installed via macports" 14 | exit 1 15 | fi 16 | 17 | export ESMFMKFILE=/opt/local/lib/esmf.mk 18 | 19 | export HDF5=/opt/local 20 | export HDF5HOME=${HDF5} 21 | export HDF5_DIR=${HDF5} 22 | export HDF5_PATH=${HDF5} 23 | export HDF5_ROOT=${HDF5} 24 | 25 | export NETCDF=/opt/local 26 | export NETCDFHOME=${NETCDF} 27 | export NETCDF_DIR=${NETCDF} 28 | export NETCDF_PATH=${NETCDF} 29 | export NETCDF_ROOT=${NETCDF} 30 | 31 | export NETCDF_CONFIG=${NETCDFHOME:+${NETCDFHOME}/bin/nc-config} 32 | export NETCDF_INCDIR=${NETCDFHOME:+${NETCDFHOME}/include} 33 | export NETCDF_LIBDIR=${NETCDFHOME:+${NETCDFHOME}/lib} 34 | 35 | export CC=/opt/local/bin/gcc 36 | export CXX=/opt/local/bin/g++ 37 | export F90=/opt/local/bin/gfortran 38 | export FC=/opt/local/bin/gfortran 39 | export PCC=/opt/local/bin/mpicc 40 | export PCXX=/opt/local/bin/mpicxx 41 | export PF90=/opt/local/bin/mpifort 42 | export PFC=/opt/local/bin/mpifort 43 | -------------------------------------------------------------------------------- /modulefiles/envmodules_gnu.mistral: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash-*-Shell-script-functions*- 2 | 3 | ########################################################################### 4 | ### Module File to load the required environment modules for the NEMS application 5 | ### 6 | ### Author: Panagiotis Velissariou 7 | ### Date: June 26 2021 8 | ########################################################################### 9 | 10 | #---------- 11 | [[ "$0" == "bash" || "$0" == "-bash" ]] && retv=return || retv=exit 12 | echo "$(basename ${BASH_SOURCE[0]}) :: This environment is either not configured or not supported" 13 | echo " Exiting ..." 14 | ${retv} 1 15 | #---------- 16 | 17 | #################### 18 | # Get the directory where the script is located 19 | if [[ $(uname -s) == Darwin ]]; then 20 | myDIRS="$(cd "$(dirname "$(grealpath -s "${BASH_SOURCE[0]}" )" )" && pwd -P)" 21 | else 22 | myDIRS="$(cd "$(dirname "$(realpath -s "${BASH_SOURCE[0]}" )" )" && pwd -P)" 23 | fi 24 | myDIRS="${myDIRS} . ${APPMODS_DIR}" 25 | #################### 26 | 27 | 28 | # This script is responsible for loading modules that are 29 | # compatible with the NUOPC Layer version used in NEMS. 30 | 31 | 32 | #################### 33 | ### (1) Load all needed environment modules. 34 | module purge 35 | module load cmake/3.17.1-gcc-9.1.0 36 | 37 | module load gcc openmpi 38 | 39 | module load netcdf-c 40 | module load netcdf-fortran 41 | module load esmf 42 | 43 | 44 | #################### 45 | ### (2) Set some environments varaiables related to the loaded 46 | ### modules and required to compile the NEMS application properly. 47 | funcs="$( find ${myDIRS} -type f -iname "PlatformFuncs" | head -n 1 )" 48 | if [ -f "${funcs}" ]; then 49 | source "${funcs}" 50 | 51 | get_env_hdf5 52 | get_env_netcdf 53 | fi 54 | unset funcs myDIRS 55 | 56 | 57 | ########## BEG:: PLATFORM CUSTOMIZED SETTINGS ########## 58 | # Is this needed in all systems? 59 | # If file locking is not allowed in the filesystem, or the 60 | # HDF5 locking mechanism is not compatible with the 61 | # OS locking mechanism, then HDF5 (>=1.10.x) throws errors like 62 | # access denied when trying to READ/WRITE NetCDF files. 63 | # On some platforms HDF5 locking is disabled on other it is not. 64 | # If you experience these problems uncomment the next line 65 | # (this should be done automatically when loading this file - todo). 66 | #export HDF5_USE_FILE_LOCKING=FALSE 67 | 68 | # use this more complicated one to address ADCIRC demands 69 | export NETCDFHOME="$(nf-config --prefix)/include $(nf-config --flibs) $(nc-config --prefix)" 70 | export NETCDFPATH=$(nc-config --prefix) 71 | export NETCDF_CONFIG=${NETCDFHOME:+${NETCDFHOME}/bin/nc-config} 72 | 73 | export NETCDF_INCDIR="$(nc-config --includedir) -I$(nf-config --includedir)" 74 | export NETCDF_LIBDIR="$(nc-config --prefix)/lib $(nf-config --flibs)" 75 | 76 | if [ -z "${ESMFMKFILE}" ]; then 77 | echo "The variable ESMFMKFILE is not set. Please load the esmf module for your platform" 78 | echo "Exiting ..." 79 | exit 1 80 | else 81 | export ESMFMKFILE=${ESMFMKFILE} 82 | fi 83 | ########## END:: PLATFORM CUSTOMIZED SETTINGS ########## 84 | -------------------------------------------------------------------------------- /modulefiles/envmodules_gnu.orion: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash-*-Shell-script-functions*- 2 | 3 | ########################################################################### 4 | ### Module File to load the required environment modules for the NEMS application 5 | ### 6 | ### Author: Panagiotis Velissariou 7 | ### Date: June 26 2021 8 | ########################################################################### 9 | 10 | 11 | #################### 12 | # Get the directory where the script is located 13 | if [[ $(uname -s) == Darwin ]]; then 14 | myDIRS="$(cd "$(dirname "$(grealpath -s "${BASH_SOURCE[0]}" )" )" && pwd -P)" 15 | else 16 | myDIRS="$(cd "$(dirname "$(realpath -s "${BASH_SOURCE[0]}" )" )" && pwd -P)" 17 | fi 18 | myDIRS="${myDIRS} . ${APPMODS_DIR}" 19 | #################### 20 | 21 | 22 | # This script is responsible for loading modules that are 23 | # compatible with the NUOPC Layer version used in NEMS. 24 | 25 | 26 | #################### 27 | ### (1) Load all needed environment modules. 28 | module purge 29 | module load cmake 30 | 31 | module use /work/noaa/nosofs/pvelissa/apps/modulefiles 32 | module load hpc-common 33 | 34 | module load hpc-gnu/8.3.0 openmpi 35 | #module load hpc-gnu/10.2.0 openmpi 36 | 37 | module load hdf5/1.10.9 netcdf/4.7.4 38 | module load proj/4.8.0 39 | module load parmetis/4.0.3 40 | module load esmf/8.3.1 41 | 42 | 43 | #################### 44 | ### (2) Set some environments varaiables related to the loaded 45 | ### modules and required to compile the NEMS application properly. 46 | funcs="$( find ${myDIRS} -type f -iname "PlatformFuncs" | head -n 1 )" 47 | if [ -f "${funcs}" ]; then 48 | source "${funcs}" 49 | 50 | get_env_hdf5 51 | get_env_netcdf 52 | fi 53 | unset funcs myDIRS 54 | 55 | 56 | ########## BEG:: PLATFORM CUSTOMIZED SETTINGS ########## 57 | # Is this needed in all systems? 58 | # If file locking is not allowed in the filesystem, or the 59 | # HDF5 locking mechanism is not compatible with the 60 | # OS locking mechanism, then HDF5 (>=1.10.x) throws errors like 61 | # access denied when trying to READ/WRITE NetCDF files. 62 | # On some platforms HDF5 locking is disabled on other it is not. 63 | # If you experience these problems uncomment the next line 64 | # (this should be done automatically when loading this file - todo). 65 | #export HDF5_USE_FILE_LOCKING=FALSE 66 | 67 | export NETCDF_CONFIG=${NETCDF_HOME:+${NETCDF_HOME}/bin/nc-config} 68 | 69 | if [ -z "${NETCDF_CONFIG}" ]; then 70 | export NETCDF_CONFIG=${NETCDF_HOME:+${NETCDF_HOME}/bin/nc-config} 71 | fi 72 | 73 | if [ -z "${NETCDF_INCDIR}" ]; then 74 | export NETCDF_INCDIR=${NETCDF_INCLUDE_DIRS:+${NETCDF_INCLUDE_DIRS}} 75 | if [ -z "${NETCDF_INCDIR}" ]; then 76 | export NETCDF_INCDIR=${NETCDF_HOME:+${NETCDF_HOME}/include} 77 | fi 78 | fi 79 | 80 | if [ -z "${NETCDF_LIBDIR}" ]; then 81 | export NETCDF_LIBDIR=${NETCDF_LIBRARY_DIRS:+${NETCDF_LIBRARY_DIRS}} 82 | if [ -z "${NETCDF_LIBDIR}" ]; then 83 | export NETCDF_LIBDIR=${NETCDF_HOME:+${NETCDF_HOME}/lib} 84 | fi 85 | fi 86 | 87 | if [ -z "${ESMFMKFILE}" ]; then 88 | echo "The variable ESMFMKFILE is not set. Please load the esmf module for your platform" 89 | echo "Exiting ..." 90 | exit 1 91 | else 92 | export ESMFMKFILE=${ESMFMKFILE} 93 | fi 94 | ########## END:: PLATFORM CUSTOMIZED SETTINGS ########## 95 | -------------------------------------------------------------------------------- /modulefiles/envmodules_gnu.orion.sys: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash-*-Shell-script-functions*- 2 | 3 | ########################################################################### 4 | ### Module File to load the required environment modules for the NEMS application 5 | ### 6 | ### Author: Panagiotis Velissariou 7 | ### Date: June 26 2021 8 | ########################################################################### 9 | 10 | 11 | #################### 12 | # Get the directory where the script is located 13 | if [[ $(uname -s) == Darwin ]]; then 14 | myDIRS="$(cd "$(dirname "$(grealpath -s "${BASH_SOURCE[0]}" )" )" && pwd -P)" 15 | else 16 | myDIRS="$(cd "$(dirname "$(realpath -s "${BASH_SOURCE[0]}" )" )" && pwd -P)" 17 | fi 18 | myDIRS="${myDIRS} . ${APPMODS_DIR}" 19 | #################### 20 | 21 | 22 | # This script is responsible for loading modules that are 23 | # compatible with the NUOPC Layer version used in NEMS. 24 | 25 | 26 | #################### 27 | ### (1) Load all needed environment modules. 28 | module purge 29 | module load cmake 30 | 31 | module load gcc/10.2.0 openmpi/4.0.4 32 | 33 | module load hdf5/1.10.6 netcdf/4.7.4 34 | # NOT AVAILABLE module load proj 35 | # NOT AVAILABLE module load parmetis 36 | module load esmf/8.1.1 37 | 38 | 39 | #################### 40 | ### (2) Set some environments varaiables related to the loaded 41 | ### modules and required to compile the NEMS application properly. 42 | funcs="$( find ${myDIRS} -type f -iname "PlatformFuncs" | head -n 1 )" 43 | if [ -f "${funcs}" ]; then 44 | source "${funcs}" 45 | 46 | get_env_hdf5 47 | get_env_netcdf 48 | fi 49 | unset funcs myDIRS 50 | 51 | 52 | ########## BEG:: PLATFORM CUSTOMIZED SETTINGS ########## 53 | # Is this needed in all systems? 54 | # If file locking is not allowed in the filesystem, or the 55 | # HDF5 locking mechanism is not compatible with the 56 | # OS locking mechanism, then HDF5 (>=1.10.x) throws errors like 57 | # access denied when trying to READ/WRITE NetCDF files. 58 | # On some platforms HDF5 locking is disabled on other it is not. 59 | # If you experience these problems uncomment the next line 60 | # (this should be done automatically when loading this file - todo). 61 | #export HDF5_USE_FILE_LOCKING=FALSE 62 | 63 | export NETCDF_CONFIG=${NETCDF_HOME:+${NETCDF_HOME}/bin/nc-config} 64 | 65 | if [ -z "${NETCDF_CONFIG}" ]; then 66 | export NETCDF_CONFIG=${NETCDF_HOME:+${NETCDF_HOME}/bin/nc-config} 67 | fi 68 | 69 | if [ -z "${NETCDF_INCDIR}" ]; then 70 | export NETCDF_INCDIR=${NETCDF_INCLUDE_DIRS:+${NETCDF_INCLUDE_DIRS}} 71 | if [ -z "${NETCDF_INCDIR}" ]; then 72 | export NETCDF_INCDIR=${NETCDF_HOME:+${NETCDF_HOME}/include} 73 | fi 74 | fi 75 | 76 | if [ -z "${NETCDF_LIBDIR}" ]; then 77 | export NETCDF_LIBDIR=${NETCDF_LIBRARY_DIRS:+${NETCDF_LIBRARY_DIRS}} 78 | if [ -z "${NETCDF_LIBDIR}" ]; then 79 | export NETCDF_LIBDIR=${NETCDF_HOME:+${NETCDF_HOME}/lib} 80 | fi 81 | fi 82 | 83 | if [ -z "${ESMFMKFILE}" ]; then 84 | echo "The variable ESMFMKFILE is not set. Please load the esmf module for your platform" 85 | echo "Exiting ..." 86 | exit 1 87 | else 88 | export ESMFMKFILE=${ESMFMKFILE} 89 | fi 90 | ########## END:: PLATFORM CUSTOMIZED SETTINGS ########## 91 | -------------------------------------------------------------------------------- /modulefiles/envmodules_gnu.pworks: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash-*-Shell-script-functions*- 2 | 3 | ########################################################################### 4 | ### Module File to load the required environment modules for the NEMS application 5 | ### 6 | ### Author: Panagiotis Velissariou 7 | ### Date: June 26 2021 8 | ########################################################################### 9 | 10 | 11 | #################### 12 | # Get the directory where the script is located 13 | if [[ $(uname -s) == Darwin ]]; then 14 | myDIRS="$(cd "$(dirname "$(grealpath -s "${BASH_SOURCE[0]}" )" )" && pwd -P)" 15 | else 16 | myDIRS="$(cd "$(dirname "$(realpath -s "${BASH_SOURCE[0]}" )" )" && pwd -P)" 17 | fi 18 | myDIRS="${myDIRS} . ${APPMODS_DIR}" 19 | #################### 20 | 21 | 22 | # This script is responsible for loading modules that are 23 | # compatible with the NUOPC Layer version used in NEMS. 24 | 25 | 26 | #################### 27 | ### (1) Load all needed environment modules. 28 | module purge 29 | module load cmake 30 | 31 | module use /contrib/coastal/common/apps/modulefiles 32 | module load hpc-common 33 | 34 | module load hpc-gnu/6.5.0 openmpi 35 | #module load hpc-gnu/9.2.0 openmpi 36 | 37 | module load hdf5/1.10.9 netcdf/4.7.4 38 | module load proj/4.8.0 39 | module load parmetis/4.0.3 40 | module load esmf/8.3.1 41 | 42 | 43 | #################### 44 | ### (2) Set some environments varaiables related to the loaded 45 | ### modules and required to compile the NEMS application properly. 46 | funcs="$( find ${myDIRS} -type f -iname "PlatformFuncs" | head -n 1 )" 47 | if [ -f "${funcs}" ]; then 48 | source "${funcs}" 49 | 50 | get_env_hdf5 51 | get_env_netcdf 52 | fi 53 | unset funcs myDIRS 54 | 55 | 56 | ########## BEG:: PLATFORM CUSTOMIZED SETTINGS ########## 57 | # Is this needed in all systems? 58 | # If file locking is not allowed in the filesystem, or the 59 | # HDF5 locking mechanism is not compatible with the 60 | # OS locking mechanism, then HDF5 (>=1.10.x) throws errors like 61 | # access denied when trying to READ/WRITE NetCDF files. 62 | # On some platforms HDF5 locking is disabled on other it is not. 63 | # If you experience these problems uncomment the next line 64 | # (this should be done automatically when loading this file - todo). 65 | #export HDF5_USE_FILE_LOCKING=FALSE 66 | 67 | if [ -z "${NETCDF_CONFIG}" ]; then 68 | export NETCDF_CONFIG=${NETCDF_HOME:+${NETCDF_HOME}/bin/nc-config} 69 | fi 70 | 71 | if [ -z "${NETCDF_INCDIR}" ]; then 72 | export NETCDF_INCDIR=${NETCDF_INC:+${NETCDF_INC}} 73 | if [ -z "${NETCDF_INCDIR}" ]; then 74 | export NETCDF_INCDIR=${NETCDF_HOME:+${NETCDF_HOME}/include} 75 | fi 76 | fi 77 | 78 | if [ -z "${NETCDF_LIBDIR}" ]; then 79 | export NETCDF_LIBDIR=${NETCDF_LIB:+${NETCDF_LIB}} 80 | if [ -z "${NETCDF_LIBDIR}" ]; then 81 | export NETCDF_LIBDIR=${NETCDF_HOME:+${NETCDF_HOME}/lib} 82 | fi 83 | fi 84 | 85 | if [ -z "${ESMFMKFILE}" ]; then 86 | echo "The variable ESMFMKFILE is not set. Please load the esmf module for your platform" 87 | echo "Exiting ..." 88 | exit 1 89 | else 90 | export ESMFMKFILE=${ESMFMKFILE} 91 | fi 92 | ########## END:: PLATFORM CUSTOMIZED SETTINGS ########## 93 | -------------------------------------------------------------------------------- /modulefiles/envmodules_gnu.strand: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash-*-Shell-script-functions*- 2 | 3 | ########################################################################### 4 | ### Module File to load the required environment modules for the NEMS application 5 | ### 6 | ### Author: Panagiotis Velissariou 7 | ### Date: June 26 2021 8 | ########################################################################### 9 | 10 | #---------- 11 | [[ "$0" == "bash" || "$0" == "-bash" ]] && retv=return || retv=exit 12 | echo "$(basename ${BASH_SOURCE[0]}) :: This environment is either not configured or not supported" 13 | echo " Exiting ..." 14 | ${retv} 1 15 | #---------- 16 | 17 | #################### 18 | # Get the directory where the script is located 19 | if [[ $(uname -s) == Darwin ]]; then 20 | myDIRS="$(cd "$(dirname "$(grealpath -s "${BASH_SOURCE[0]}" )" )" && pwd -P)" 21 | else 22 | myDIRS="$(cd "$(dirname "$(realpath -s "${BASH_SOURCE[0]}" )" )" && pwd -P)" 23 | fi 24 | myDIRS="${myDIRS} . ${APPMODS_DIR}" 25 | #################### 26 | 27 | 28 | # This script is responsible for loading modules that are 29 | # compatible with the NUOPC Layer version used in NEMS. 30 | 31 | 32 | #################### 33 | ### Load all needed environment modules. 34 | module purge 35 | module load applications/utils/cmake3-20.0 36 | 37 | module load gcc openmpi 38 | 39 | module load hdf5/1.10.5 netcdf/4.7.0 40 | module load esmf/8.1.0 41 | 42 | 43 | #################### 44 | ### (2) Set some environments varaiables related to the loaded 45 | ### modules and required to compile the NEMS application properly. 46 | funcs="$( find ${myDIRS} -type f -iname "PlatformFuncs" | head -n 1 )" 47 | if [ -f "${funcs}" ]; then 48 | source "${funcs}" 49 | 50 | get_env_hdf5 51 | get_env_netcdf 52 | fi 53 | unset funcs myDIRS 54 | 55 | 56 | ########## BEG:: PLATFORM CUSTOMIZED SETTINGS ########## 57 | # Is this needed in all systems? 58 | # If file locking is not allowed in the filesystem, or the 59 | # HDF5 locking mechanism is not compatible with the 60 | # OS locking mechanism, then HDF5 (>=1.10.x) throws errors like 61 | # access denied when trying to READ/WRITE NetCDF files. 62 | # On some platforms HDF5 locking is disabled on other it is not. 63 | # If you experience these problems uncomment the next line 64 | # (this should be done automatically when loading this file - todo). 65 | #export HDF5_USE_FILE_LOCKING=FALSE 66 | 67 | export NETCDF=$(nc-config --prefix) 68 | export NETCDFHOME=$(nc-config --prefix) 69 | 70 | if [ -z "${NETCDF_CONFIG}" ]; then 71 | export NETCDF_CONFIG=${NETCDFHOME:+${NETCDFHOME}/bin/nc-config} 72 | fi 73 | 74 | if [ -z "${NETCDF_INCDIR}" ]; then 75 | export NETCDF_INCDIR=${NETCDF_INC:+${NETCDF_INC}} 76 | if [ -z "${NETCDF_INCDIR}" ]; then 77 | export NETCDF_INCDIR=${NETCDFHOME:+${NETCDFHOME}/include} 78 | fi 79 | fi 80 | 81 | if [ -z "${NETCDF_LIBDIR}" ]; then 82 | export NETCDF_LIBDIR=${NETCDF_LIB:+${NETCDF_LIB}} 83 | if [ -z "${NETCDF_LIBDIR}" ]; then 84 | export NETCDF_LIBDIR=${NETCDFHOME:+${NETCDFHOME}/lib} 85 | fi 86 | fi 87 | 88 | if [ -z "${ESMFMKFILE}" ]; then 89 | echo "The variable ESMFMKFILE is not set. Please load the esmf module for your platform" 90 | echo "Exiting ..." 91 | exit 1 92 | else 93 | export ESMFMKFILE=${ESMFMKFILE} 94 | fi 95 | ########## END:: PLATFORM CUSTOMIZED SETTINGS ########## 96 | -------------------------------------------------------------------------------- /modulefiles/envmodules_gnu.tacc.sys: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash-*-Shell-script-functions*- 2 | 3 | ########################################################################### 4 | ### Module File to load the required environment modules for the NEMS application 5 | ### 6 | ### Author: Panagiotis Velissariou 7 | ### Date: June 26 2021 8 | ########################################################################### 9 | 10 | #---------- 11 | [[ "$0" == "bash" || "$0" == "-bash" ]] && retv=return || retv=exit 12 | echo "$(basename ${BASH_SOURCE[0]}) :: This environment is either not configured or not supported" 13 | echo " Exiting ..." 14 | ${retv} 1 15 | #---------- 16 | 17 | #################### 18 | # Get the directory where the script is located 19 | if [[ $(uname -s) == Darwin ]]; then 20 | myDIRS="$(cd "$(dirname "$(grealpath -s "${BASH_SOURCE[0]}" )" )" && pwd -P)" 21 | else 22 | myDIRS="$(cd "$(dirname "$(realpath -s "${BASH_SOURCE[0]}" )" )" && pwd -P)" 23 | fi 24 | myDIRS="${myDIRS} . ${APPMODS_DIR}" 25 | #################### 26 | 27 | 28 | # This script is responsible for loading modules that are 29 | # compatible with the NUOPC Layer version used in NEMS. 30 | 31 | 32 | #################### 33 | ### (1) Load all needed environment modules. 34 | module purge 35 | module load cmake 36 | 37 | module load gcc/9.1.0 mvapich2-x/2.3 38 | 39 | module load hdf5/1.10.4 netcdf/4.6.2 40 | # NOT AVAILABLE module load proj 41 | # NOT AVAILABLE module load parmetis 42 | # NOT AVAILABLE module load esmf 43 | 44 | 45 | #################### 46 | ### (2) Set some environments varaiables related to the loaded 47 | ### modules and required to compile the NEMS application properly. 48 | funcs="$( find ${myDIRS} -type f -iname "PlatformFuncs" | head -n 1 )" 49 | if [ -f "${funcs}" ]; then 50 | source "${funcs}" 51 | 52 | get_env_hdf5 TACC_HDF5_DIR 53 | get_env_netcdf TACC_NETCDF_DIR 54 | fi 55 | unset funcs myDIRS 56 | 57 | 58 | ########## BEG:: PLATFORM CUSTOMIZED SETTINGS ########## 59 | # Is this needed in all systems? 60 | # If file locking is not allowed in the filesystem, or the 61 | # HDF5 locking mechanism is not compatible with the 62 | # OS locking mechanism, then HDF5 (>=1.10.x) throws errors like 63 | # access denied when trying to READ/WRITE NetCDF files. 64 | # On some platforms HDF5 locking is disabled on other it is not. 65 | # If you experience these problems uncomment the next line 66 | # (this should be done automatically when loading this file - todo). 67 | #export HDF5_USE_FILE_LOCKING=FALSE 68 | 69 | if [ -z "${NETCDF_CONFIG}" ]; then 70 | export NETCDF_CONFIG=${TACC_NETCDF_BIN:+${TACC_NETCDF_BIN}/nc-config} 71 | if [ -z "${NETCDF_CONFIG}" ]; then 72 | export NETCDF_CONFIG=${NETCDF_HOME:+${NETCDF_HOME}/bin/nc-config} 73 | fi 74 | fi 75 | 76 | if [ -z "${NETCDF_INCDIR}" ]; then 77 | export NETCDF_INCDIR=${TACC_NETCDF_INC:+${TACC_NETCDF_INC}} 78 | if [ -z "${NETCDF_INCDIR}" ]; then 79 | export NETCDF_INCDIR=${NETCDF_HOME:+${NETCDF_HOME}/include} 80 | fi 81 | fi 82 | 83 | if [ -z "${NETCDF_LIBDIR}" ]; then 84 | export NETCDF_LIBDIR=${TACC_NETCDF_LIB:+${TACC_NETCDF_LIB}} 85 | if [ -z "${NETCDF_LIBDIR}" ]; then 86 | export NETCDF_LIBDIR=${NETCDF_HOME:+${NETCDF_HOME}/lib} 87 | fi 88 | fi 89 | 90 | if [ -z "${ESMFMKFILE}" ]; then 91 | echo "The variable ESMFMKFILE is not set. Please load the esmf module for your platform" 92 | echo "Exiting ..." 93 | exit 1 94 | else 95 | export ESMFMKFILE=${ESMFMKFILE} 96 | fi 97 | ########## END:: PLATFORM CUSTOMIZED SETTINGS ########## 98 | -------------------------------------------------------------------------------- /modulefiles/envmodules_gnu.wcoss: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash-*-Shell-script-functions*- 2 | 3 | ########################################################################### 4 | ### Module File to load the required environment modules for the NEMS application 5 | ### 6 | ### Author: Panagiotis Velissariou 7 | ### Date: June 26 2021 8 | ########################################################################### 9 | 10 | #---------- 11 | [[ "$0" == "bash" || "$0" == "-bash" ]] && retv=return || retv=exit 12 | echo "$(basename ${BASH_SOURCE[0]}) :: This environment is either not configured or not supported" 13 | echo " Exiting ..." 14 | ${retv} 1 15 | #---------- 16 | 17 | #################### 18 | # Get the directory where the script is located 19 | if [[ $(uname -s) == Darwin ]]; then 20 | myDIRS="$(cd "$(dirname "$(grealpath -s "${BASH_SOURCE[0]}" )" )" && pwd -P)" 21 | else 22 | myDIRS="$(cd "$(dirname "$(realpath -s "${BASH_SOURCE[0]}" )" )" && pwd -P)" 23 | fi 24 | myDIRS="${myDIRS} . ${APPMODS_DIR}" 25 | #################### 26 | 27 | 28 | # This script is responsible for loading modules that are 29 | # compatible with the NUOPC Layer version used in NEMS. 30 | 31 | 32 | #################### 33 | ### (1) Load all needed environment modules. 34 | module purge 35 | module load cmake 36 | 37 | module load gcc impi 38 | 39 | module load szip hdf5 40 | module load netcdf 41 | module load esmf 42 | 43 | 44 | #################### 45 | ### (2) Set some environments varaiables related to the loaded 46 | ### modules and required to compile the NEMS application properly. 47 | funcs="$( find ${myDIRS} -type f -iname "PlatformFuncs" | head -n 1 )" 48 | if [ -f "${funcs}" ]; then 49 | source "${funcs}" 50 | 51 | get_env_hdf5 52 | get_env_netcdf 53 | fi 54 | unset funcs myDIRS 55 | 56 | 57 | ########## BEG:: PLATFORM CUSTOMIZED SETTINGS ########## 58 | # Is this needed in all systems? 59 | # If file locking is not allowed in the filesystem, or the 60 | # HDF5 locking mechanism is not compatible with the 61 | # OS locking mechanism, then HDF5 (>=1.10.x) throws errors like 62 | # access denied when trying to READ/WRITE NetCDF files. 63 | # On some platforms HDF5 locking is disabled on other it is not. 64 | # If you experience these problems uncomment the next line 65 | # (this should be done automatically when loading this file - todo). 66 | #export HDF5_USE_FILE_LOCKING=FALSE 67 | 68 | if [ -z "${NETCDF_CONFIG}" ]; then 69 | export NETCDF_CONFIG=${NETCDF_HOME:+${NETCDF_HOME}/bin/nc-config} 70 | fi 71 | 72 | if [ -z "${NETCDF_INCDIR}" ]; then 73 | export NETCDF_INCDIR=${NETCDF_INC:+${NETCDF_INC}} 74 | if [ -z "${NETCDF_INCDIR}" ]; then 75 | export NETCDF_INCDIR=${NETCDF_HOME:+${NETCDF_HOME}/include} 76 | fi 77 | fi 78 | 79 | if [ -z "${NETCDF_LIBDIR}" ]; then 80 | export NETCDF_LIBDIR=${NETCDF_LIB:+${NETCDF_LIB}} 81 | if [ -z "${NETCDF_LIBDIR}" ]; then 82 | export NETCDF_LIBDIR=${NETCDF_HOME:+${NETCDF_HOME}/lib} 83 | fi 84 | fi 85 | 86 | if [ -z "${ESMFMKFILE}" ]; then 87 | echo "The variable ESMFMKFILE is not set. Please load the esmf module for your platform" 88 | echo "Exiting ..." 89 | exit 1 90 | else 91 | export ESMFMKFILE=${ESMFMKFILE} 92 | fi 93 | ########## END:: PLATFORM CUSTOMIZED SETTINGS ########## 94 | -------------------------------------------------------------------------------- /modulefiles/envmodules_intel.cheyenne: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash-*-Shell-script-functions*- 2 | 3 | ########################################################################### 4 | ### Module File to load the required environment modules for the NEMS application 5 | ### 6 | ### Author: Panagiotis Velissariou 7 | ### Date: June 26 2021 8 | ########################################################################### 9 | 10 | #---------- 11 | [[ "$0" == "bash" || "$0" == "-bash" ]] && retv=return || retv=exit 12 | echo "$(basename ${BASH_SOURCE[0]}) :: This environment is either not configured or not supported" 13 | echo " Exiting ..." 14 | ${retv} 1 15 | #---------- 16 | 17 | #################### 18 | # Get the directory where the script is located 19 | if [[ $(uname -s) == Darwin ]]; then 20 | myDIRS="$(cd "$(dirname "$(grealpath -s "${BASH_SOURCE[0]}" )" )" && pwd -P)" 21 | else 22 | myDIRS="$(cd "$(dirname "$(realpath -s "${BASH_SOURCE[0]}" )" )" && pwd -P)" 23 | fi 24 | myDIRS="${myDIRS} . ${APPMODS_DIR}" 25 | #################### 26 | 27 | 28 | # This script is responsible for loading modules that are 29 | # compatible with the NUOPC Layer version used in NEMS. 30 | 31 | 32 | #################### 33 | ### (1) Load all needed environment modules. 34 | module purge 35 | module load cmake 36 | 37 | module load intel impi 38 | module load szip hdf5 39 | module load netcdf 40 | module load esmf 41 | 42 | 43 | #################### 44 | ### (2) Set some environments varaiables related to the loaded 45 | ### modules and required to compile the NEMS application properly. 46 | funcs="$( find ${myDIRS} -type f -iname "PlatformFuncs" | head -n 1 )" 47 | if [ -f "${funcs}" ]; then 48 | source "${funcs}" 49 | 50 | get_env_hdf5 51 | get_env_netcdf 52 | fi 53 | unset funcs myDIRS 54 | 55 | 56 | ########## BEG:: PLATFORM CUSTOMIZED SETTINGS ########## 57 | # Is this needed in all systems? 58 | # If file locking is not allowed in the filesystem, or the 59 | # HDF5 locking mechanism is not compatible with the 60 | # OS locking mechanism, then HDF5 (>=1.10.x) throws errors like 61 | # access denied when trying to READ/WRITE NetCDF files. 62 | # On some platforms HDF5 locking is disabled on other it is not. 63 | # If you experience these problems uncomment the next line 64 | # (this should be done automatically when loading this file - todo). 65 | #export HDF5_USE_FILE_LOCKING=FALSE 66 | 67 | if [ -z "${NETCDF_CONFIG}" ]; then 68 | export NETCDF_CONFIG=${NETCDF_HOME:+${NETCDF_HOME}/bin/nc-config} 69 | fi 70 | 71 | if [ -z "${NETCDF_INCDIR}" ]; then 72 | export NETCDF_INCDIR=${NETCDF_INC:+${NETCDF_INC}} 73 | if [ -z "${NETCDF_INCDIR}" ]; then 74 | export NETCDF_INCDIR=${NETCDF_HOME:+${NETCDF_HOME}/include} 75 | fi 76 | fi 77 | 78 | if [ -z "${NETCDF_LIBDIR}" ]; then 79 | export NETCDF_LIBDIR=${NETCDF_LIB:+${NETCDF_LIB}} 80 | if [ -z "${NETCDF_LIBDIR}" ]; then 81 | export NETCDF_LIBDIR=${NETCDF_HOME:+${NETCDF_HOME}/lib} 82 | fi 83 | fi 84 | 85 | if [ -z "${ESMFMKFILE}" ]; then 86 | echo "The variable ESMFMKFILE is not set. Please load the esmf module for your platform" 87 | echo "Exiting ..." 88 | exit 1 89 | else 90 | export ESMFMKFILE=${ESMFMKFILE} 91 | fi 92 | ########## END:: PLATFORM CUSTOMIZED SETTINGS ########## 93 | -------------------------------------------------------------------------------- /modulefiles/envmodules_intel.custom: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash-*-Shell-script-functions*- 2 | 3 | ########################################################################### 4 | ### Module File to load the required environment modules for the NEMS application 5 | ### 6 | ### Author: Panagiotis Velissariou 7 | ### Date: June 26 2021 8 | ########################################################################### 9 | 10 | 11 | #################### 12 | # Get the directory where the script is located 13 | if [[ $(uname -s) == Darwin ]]; then 14 | myDIRS="$(cd "$(dirname "$(grealpath -s "${BASH_SOURCE[0]}" )" )" && pwd -P)" 15 | else 16 | myDIRS="$(cd "$(dirname "$(realpath -s "${BASH_SOURCE[0]}" )" )" && pwd -P)" 17 | fi 18 | myDIRS="${myDIRS} . ${APPMODS_DIR}" 19 | #################### 20 | 21 | 22 | # This script is responsible for loading modules that are 23 | # compatible with the NUOPC Layer version used in NEMS. 24 | 25 | 26 | #################### 27 | ### (1) Load all needed environment modules. 28 | #module purge 29 | #module load cmake 30 | 31 | #module load intel impi 32 | 33 | #module load hdf5 netcdf 34 | #module load proj 35 | #module load parmetis 36 | #module load esmf 37 | 38 | 39 | #################### 40 | ### (2) Set some environments varaiables related to the loaded 41 | ### modules and required to compile the NEMS application properly. 42 | funcs="$( find ${myDIRS} -type f -iname "PlatformFuncs" | head -n 1 )" 43 | if [ -f "${funcs}" ]; then 44 | source "${funcs}" 45 | 46 | get_env_hdf5 47 | get_env_netcdf 48 | fi 49 | unset funcs myDIRS 50 | 51 | 52 | ########## BEG:: PLATFORM CUSTOMIZED SETTINGS ########## 53 | # Is this needed in all systems? 54 | # If file locking is not allowed in the filesystem, or the 55 | # HDF5 locking mechanism is not compatible with the 56 | # OS locking mechanism, then HDF5 (>=1.10.x) throws errors like 57 | # access denied when trying to READ/WRITE NetCDF files. 58 | # On some platforms HDF5 locking is disabled on other it is not. 59 | # If you experience these problems uncomment the next line 60 | # (this should be done automatically when loading this file - todo). 61 | #export HDF5_USE_FILE_LOCKING=FALSE 62 | 63 | if [ -z "${NETCDF_CONFIG}" ]; then 64 | export NETCDF_CONFIG=${NETCDF_HOME:+${NETCDF_HOME}/bin/nc-config} 65 | fi 66 | 67 | if [ -z "${NETCDF_INCDIR}" ]; then 68 | export NETCDF_INCDIR=${NETCDF_INC:+${NETCDF_INC}} 69 | if [ -z "${NETCDF_INCDIR}" ]; then 70 | export NETCDF_INCDIR=${NETCDF_HOME:+${NETCDF_HOME}/include} 71 | fi 72 | fi 73 | 74 | if [ -z "${NETCDF_LIBDIR}" ]; then 75 | export NETCDF_LIBDIR=${NETCDF_LIB:+${NETCDF_LIB}} 76 | if [ -z "${NETCDF_LIBDIR}" ]; then 77 | export NETCDF_LIBDIR=${NETCDF_HOME:+${NETCDF_HOME}/lib} 78 | fi 79 | fi 80 | 81 | if [ -z "${ESMFMKFILE}" ]; then 82 | echo "The variable ESMFMKFILE is not set. Please load the esmf module for your platform" 83 | echo "Exiting ..." 84 | exit 1 85 | else 86 | export ESMFMKFILE=${ESMFMKFILE} 87 | fi 88 | ########## END:: PLATFORM CUSTOMIZED SETTINGS ########## 89 | -------------------------------------------------------------------------------- /modulefiles/envmodules_intel.femto: -------------------------------------------------------------------------------- 1 | #!/bin/bash-*-Shell-script-modules*- 2 | 3 | #################### 4 | # Get the directory where the script is located 5 | if [[ $(uname -s) == Darwin ]]; then 6 | myDIRS="$(cd "$(dirname "$(grealpath -s "${BASH_SOURCE[0]}" )" )" && pwd -P)" 7 | else 8 | myDIRS="$(cd "$(dirname "$(realpath -s "${BASH_SOURCE[0]}" )" )" && pwd -P)" 9 | fi 10 | myDIRS="${myDIRS} . ${APPMODS_DIR}" 11 | #################### 12 | 13 | 14 | # This script is responsible for loading modules that are 15 | # compatible with the NUOPC Layer version used in NEMS. 16 | # Adapted for wm/femto Carsten Lemmen 17 | # Call with ./build.sh -plat femto from top directory 18 | # 19 | #################### 20 | ### Load all needed environment modules. 21 | module purge 22 | module load intel/2018 23 | module load openmpi/3.1.4/intel-2018 24 | module load netcdf/4.4.1.1/intel-2018 25 | module load netcdf-fortran/4.4.4/intel-2018 26 | module load cmake/3.14.4 27 | 28 | #################### 29 | ### (2) Set some environments varaiables related to the loaded 30 | ### modules and required to compile the NEMS application properly. 31 | funcs="$( find ${myDIRS} -type f -iname "PlatformFuncs" | head -n 1 )" 32 | if [ -f "${funcs}" ]; then 33 | source "${funcs}" 34 | 35 | get_env_hdf5 36 | get_env_netcdf 37 | fi 38 | unset funcs myDIRS 39 | 40 | 41 | ########## BEG:: PLATFORM CUSTOMIZED SETTINGS ########## 42 | # Is this needed in all systems? 43 | # If file locking is not allowed in the filesystem, or the 44 | # HDF5 locking mechanism is not compatible with the 45 | # OS locking mechanism, then HDF5 (>=1.10.x) throws errors like 46 | # access denied when trying to READ/WRITE NetCDF files. 47 | # On some platforms HDF5 locking is disabled on other it is not. 48 | # If you experience these problems uncomment the next line 49 | # (this should be done automatically when loading this file - todo). 50 | #export HDF5_USE_FILE_LOCKING=FALSE 51 | 52 | export NETCDFHOME=$(nc-config --prefix) 53 | 54 | if [ -z "${NETCDF_CONFIG}" ]; then 55 | export NETCDF_CONFIG=${NETCDFHOME:+${NETCDFHOME}/bin/nc-config} 56 | fi 57 | 58 | if [ -z "${NETCDF_INCDIR}" ]; then 59 | export NETCDF_INCDIR=${NETCDF_INC:+${NETCDF_INC}} 60 | if [ -z "${NETCDF_INCDIR}" ]; then 61 | export NETCDF_INCDIR=${NETCDFHOME:+${NETCDFHOME}/include} 62 | fi 63 | fi 64 | 65 | if [ -z "${NETCDF_LIBDIR}" ]; then 66 | export NETCDF_LIBDIR=${NETCDF_LIB:+${NETCDF_LIB}} 67 | if [ -z "${NETCDF_LIBDIR}" ]; then 68 | export NETCDF_LIBDIR=${NETCDFHOME:+${NETCDFHOME}/lib} 69 | fi 70 | fi 71 | 72 | if [ -z "${ESMFMKFILE}" ]; then 73 | echo "The variable ESMFMKFILE is not set. Please load the esmf module for your platform" 74 | echo "Exiting ..." 75 | exit 1 76 | else 77 | export ESMFMKFILE=${ESMFMKFILE} 78 | fi 79 | ########## END:: PLATFORM CUSTOMIZED SETTINGS ########## 80 | 81 | -------------------------------------------------------------------------------- /modulefiles/envmodules_intel.gaea: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash-*-Shell-script-functions*- 2 | 3 | ########################################################################### 4 | ### Module File to load the required environment modules for the NEMS application 5 | ### 6 | ### Author: Panagiotis Velissariou 7 | ### Date: June 26 2021 8 | ########################################################################### 9 | 10 | #---------- 11 | [[ "$0" == "bash" || "$0" == "-bash" ]] && retv=return || retv=exit 12 | echo "$(basename ${BASH_SOURCE[0]}) :: This environment is either not configured or not supported" 13 | echo " Exiting ..." 14 | ${retv} 1 15 | #---------- 16 | 17 | #################### 18 | # Get the directory where the script is located 19 | if [[ $(uname -s) == Darwin ]]; then 20 | myDIRS="$(cd "$(dirname "$(grealpath -s "${BASH_SOURCE[0]}" )" )" && pwd -P)" 21 | else 22 | myDIRS="$(cd "$(dirname "$(realpath -s "${BASH_SOURCE[0]}" )" )" && pwd -P)" 23 | fi 24 | myDIRS="${myDIRS} . ${APPMODS_DIR}" 25 | #################### 26 | 27 | 28 | # This script is responsible for loading modules that are 29 | # compatible with the NUOPC Layer version used in NEMS. 30 | 31 | 32 | #################### 33 | ### (1) Load all needed environment modules. 34 | module purge 35 | module load cmake 36 | 37 | module load pgi impi 38 | module load szip hdf5 39 | module load netcdf 40 | module load esmf 41 | 42 | 43 | #################### 44 | ### (2) Set some environments varaiables related to the loaded 45 | ### modules and required to compile the NEMS application properly. 46 | funcs="$( find ${myDIRS} -type f -iname "PlatformFuncs" | head -n 1 )" 47 | if [ -f "${funcs}" ]; then 48 | source "${funcs}" 49 | 50 | get_env_hdf5 51 | get_env_netcdf 52 | fi 53 | unset funcs myDIRS 54 | 55 | 56 | ########## BEG:: PLATFORM CUSTOMIZED SETTINGS ########## 57 | # Is this needed in all systems? 58 | # If file locking is not allowed in the filesystem, or the 59 | # HDF5 locking mechanism is not compatible with the 60 | # OS locking mechanism, then HDF5 (>=1.10.x) throws errors like 61 | # access denied when trying to READ/WRITE NetCDF files. 62 | # On some platforms HDF5 locking is disabled on other it is not. 63 | # If you experience these problems uncomment the next line 64 | # (this should be done automatically when loading this file - todo). 65 | #export HDF5_USE_FILE_LOCKING=FALSE 66 | 67 | if [ -z "${NETCDF_CONFIG}" ]; then 68 | export NETCDF_CONFIG=${NETCDF_HOME:+${NETCDF_HOME}/bin/nc-config} 69 | fi 70 | 71 | if [ -z "${NETCDF_INCDIR}" ]; then 72 | export NETCDF_INCDIR=${NETCDF_INC:+${NETCDF_INC}} 73 | if [ -z "${NETCDF_INCDIR}" ]; then 74 | export NETCDF_INCDIR=${NETCDF_HOME:+${NETCDF_HOME}/include} 75 | fi 76 | fi 77 | 78 | if [ -z "${NETCDF_LIBDIR}" ]; then 79 | export NETCDF_LIBDIR=${NETCDF_LIB:+${NETCDF_LIB}} 80 | if [ -z "${NETCDF_LIBDIR}" ]; then 81 | export NETCDF_LIBDIR=${NETCDF_HOME:+${NETCDF_HOME}/lib} 82 | fi 83 | fi 84 | 85 | if [ -z "${ESMFMKFILE}" ]; then 86 | echo "The variable ESMFMKFILE is not set. Please load the esmf module for your platform" 87 | echo "Exiting ..." 88 | exit 1 89 | else 90 | export ESMFMKFILE=${ESMFMKFILE} 91 | fi 92 | ########## END:: PLATFORM CUSTOMIZED SETTINGS ########## 93 | -------------------------------------------------------------------------------- /modulefiles/envmodules_intel.hera: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash-*-Shell-script-functions*- 2 | 3 | ########################################################################### 4 | ### Module File to load the required environment modules for the NEMS application 5 | ### 6 | ### Author: Panagiotis Velissariou 7 | ### Date: June 26 2021 8 | ########################################################################### 9 | 10 | 11 | #################### 12 | # Get the directory where the script is located 13 | if [[ $(uname -s) == Darwin ]]; then 14 | myDIRS="$(cd "$(dirname "$(grealpath -s "${BASH_SOURCE[0]}" )" )" && pwd -P)" 15 | else 16 | myDIRS="$(cd "$(dirname "$(realpath -s "${BASH_SOURCE[0]}" )" )" && pwd -P)" 17 | fi 18 | myDIRS="${myDIRS} . ${APPMODS_DIR}" 19 | #################### 20 | 21 | 22 | # This script is responsible for loading modules that are 23 | # compatible with the NUOPC Layer version used in NEMS. 24 | 25 | 26 | #################### 27 | ### (1) Load all needed environment modules. 28 | module purge 29 | 30 | module use /scratch1/NCEPDEV/nems/role.epic/spack-stack/spack-stack-1.5.1/envs/unified-env-rocky8/install/modulefiles/Core 31 | 32 | module load stack-intel/2021.5.1 33 | module load stack-intel-oneapi-mpi/2021.5.1 34 | 35 | module load cmake/3.23.1 36 | 37 | #module load jasper/2.0.32 38 | #module load zlib/1.2.13 39 | #module load libpng/1.6.37 40 | 41 | module load hdf5/1.14.0 42 | module load netcdf-c/4.9.2 netcdf-fortran/4.6.0 43 | module load esmf/8.5.0 44 | 45 | 46 | ################### 47 | ### (2) Set some environments varaiables related to the loaded 48 | ### modules and required to compile the NEMS application properly. 49 | funcs="$( find ${myDIRS} -type f -iname "PlatformFuncs" | head -n 1 )" 50 | if [ -f "${funcs}" ]; then 51 | source "${funcs}" 52 | 53 | get_env_hdf5 54 | get_env_netcdf 55 | fi 56 | unset funcs myDIRS 57 | 58 | 59 | ########## BEG:: PLATFORM CUSTOMIZED SETTINGS ########## 60 | # Is this needed in all systems? 61 | # If file locking is not allowed in the filesystem, or the 62 | # HDF5 locking mechanism is not compatible with the 63 | # OS locking mechanism, then HDF5 (>=1.10.x) throws errors like 64 | # access denied when trying to READ/WRITE NetCDF files. 65 | # On some platforms HDF5 locking is disabled on other it is not. 66 | # If you experience these problems uncomment the next line 67 | # (this should be done automatically when loading this file - todo). 68 | #export HDF5_USE_FILE_LOCKING=FALSE 69 | 70 | if [ -z "${NETCDF_CONFIG}" ]; then 71 | export NETCDF_CONFIG=${NETCDF_HOME:+${NETCDF_HOME}/bin/nc-config} 72 | fi 73 | 74 | if [ -z "${NETCDF_INCDIR}" ]; then 75 | export NETCDF_INCDIR=${NETCDF_INC:+${NETCDF_INC}} 76 | if [ -z "${NETCDF_INCDIR}" ]; then 77 | export NETCDF_INCDIR=${NETCDF_HOME:+${NETCDF_HOME}/include} 78 | fi 79 | fi 80 | 81 | if [ -z "${NETCDF_LIBDIR}" ]; then 82 | export NETCDF_LIBDIR=${NETCDF_LIB:+${NETCDF_LIB}} 83 | if [ -z "${NETCDF_LIBDIR}" ]; then 84 | export NETCDF_LIBDIR=${NETCDF_HOME:+${NETCDF_HOME}/lib} 85 | fi 86 | fi 87 | 88 | if [ -z "${ESMFMKFILE}" ]; then 89 | echo "The variable ESMFMKFILE is not set. Please load the esmf module for your platform" 90 | echo "Exiting ..." 91 | exit 1 92 | else 93 | export ESMFMKFILE=${ESMFMKFILE} 94 | fi 95 | ########## END:: PLATFORM CUSTOMIZED SETTINGS ########## 96 | 97 | -------------------------------------------------------------------------------- /modulefiles/envmodules_intel.hera.cmmb_libs: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash-*-Shell-script-functions*- 2 | 3 | ########################################################################### 4 | ### Module File to load the required environment modules for the NEMS application 5 | ### 6 | ### Author: Panagiotis Velissariou 7 | ### Date: June 26 2021 8 | ########################################################################### 9 | 10 | 11 | #################### 12 | # Get the directory where the script is located 13 | if [[ $(uname -s) == Darwin ]]; then 14 | myDIRS="$(cd "$(dirname "$(grealpath -s "${BASH_SOURCE[0]}" )" )" && pwd -P)" 15 | else 16 | myDIRS="$(cd "$(dirname "$(realpath -s "${BASH_SOURCE[0]}" )" )" && pwd -P)" 17 | fi 18 | myDIRS="${myDIRS} . ${APPMODS_DIR}" 19 | #################### 20 | 21 | 22 | # This script is responsible for loading modules that are 23 | # compatible with the NUOPC Layer version used in NEMS. 24 | 25 | 26 | #################### 27 | ### (1) Load all needed environment modules. 28 | module purge 29 | module load cmake 30 | 31 | module use /scratch2/STI/coastal/common/apps/modulefiles 32 | module load hpc-common 33 | 34 | #module load hpc-intel/19.0.5.281 hpc-impi 35 | #module load hpc-intel/2020.2 hpc-impi 36 | module load hpc-intel/2022.1.2 hpc-impi 37 | #module load hpc-intel/2022.3.0 hpc-impi 38 | 39 | module load hdf5/1.10.9 netcdf/4.7.4 40 | module load proj/4.8.0 41 | module load parmetis/4.0.3 42 | module load esmf/8.3.1 43 | 44 | 45 | ################### 46 | ### (2) Set some environments varaiables related to the loaded 47 | ### modules and required to compile the NEMS application properly. 48 | funcs="$( find ${myDIRS} -type f -iname "PlatformFuncs" | head -n 1 )" 49 | if [ -f "${funcs}" ]; then 50 | source "${funcs}" 51 | 52 | get_env_hdf5 53 | get_env_netcdf 54 | fi 55 | unset funcs myDIRS 56 | 57 | 58 | ########## BEG:: PLATFORM CUSTOMIZED SETTINGS ########## 59 | # Is this needed in all systems? 60 | # If file locking is not allowed in the filesystem, or the 61 | # HDF5 locking mechanism is not compatible with the 62 | # OS locking mechanism, then HDF5 (>=1.10.x) throws errors like 63 | # access denied when trying to READ/WRITE NetCDF files. 64 | # On some platforms HDF5 locking is disabled on other it is not. 65 | # If you experience these problems uncomment the next line 66 | # (this should be done automatically when loading this file - todo). 67 | #export HDF5_USE_FILE_LOCKING=FALSE 68 | 69 | if [ -z "${NETCDF_CONFIG}" ]; then 70 | export NETCDF_CONFIG=${NETCDF_HOME:+${NETCDF_HOME}/bin/nc-config} 71 | fi 72 | 73 | if [ -z "${NETCDF_INCDIR}" ]; then 74 | export NETCDF_INCDIR=${NETCDF_INC:+${NETCDF_INC}} 75 | if [ -z "${NETCDF_INCDIR}" ]; then 76 | export NETCDF_INCDIR=${NETCDF_HOME:+${NETCDF_HOME}/include} 77 | fi 78 | fi 79 | 80 | if [ -z "${NETCDF_LIBDIR}" ]; then 81 | export NETCDF_LIBDIR=${NETCDF_LIB:+${NETCDF_LIB}} 82 | if [ -z "${NETCDF_LIBDIR}" ]; then 83 | export NETCDF_LIBDIR=${NETCDF_HOME:+${NETCDF_HOME}/lib} 84 | fi 85 | fi 86 | 87 | if [ -z "${ESMFMKFILE}" ]; then 88 | echo "The variable ESMFMKFILE is not set. Please load the esmf module for your platform" 89 | echo "Exiting ..." 90 | exit 1 91 | else 92 | export ESMFMKFILE=${ESMFMKFILE} 93 | fi 94 | ########## END:: PLATFORM CUSTOMIZED SETTINGS ########## 95 | 96 | -------------------------------------------------------------------------------- /modulefiles/envmodules_intel.hera.orig: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash-*-Shell-script-functions*- 2 | 3 | ########################################################################### 4 | ### Module File to load the required environment modules for the NEMS application 5 | ### 6 | ### Author: Panagiotis Velissariou 7 | ### Date: June 26 2021 8 | ########################################################################### 9 | 10 | 11 | #################### 12 | # Get the directory where the script is located 13 | if [[ $(uname -s) == Darwin ]]; then 14 | myDIRS="$(cd "$(dirname "$(grealpath -s "${BASH_SOURCE[0]}" )" )" && pwd -P)" 15 | else 16 | myDIRS="$(cd "$(dirname "$(realpath -s "${BASH_SOURCE[0]}" )" )" && pwd -P)" 17 | fi 18 | myDIRS="${myDIRS} . ${APPMODS_DIR}" 19 | #################### 20 | 21 | 22 | # This script is responsible for loading modules that are 23 | # compatible with the NUOPC Layer version used in NEMS. 24 | 25 | 26 | #################### 27 | ### (1) Load all needed environment modules. 28 | module purge 29 | module load cmake 30 | module load intel/18.0.5.274 impi/2018.0.4 31 | 32 | # Points always to the latest compiled version of ESMF. It uses the following 33 | # HDF5/NetCDF libraries (not the system ones) 34 | module use /scratch1/NCEPDEV/nems/emc.nemspara/soft/modulefiles 35 | module load hdf5_parallel/1.10.6.release netcdf_parallel/4.7.4.release 36 | module load esmf 37 | 38 | 39 | ################### 40 | ### (2) Set some environments varaiables related to the loaded 41 | ### modules and required to compile the NEMS application properly. 42 | funcs="$( find ${myDIRS} -type f -iname "PlatformFuncs" | head -n 1 )" 43 | if [ -f "${funcs}" ]; then 44 | source "${funcs}" 45 | 46 | get_env_hdf5 47 | get_env_netcdf 48 | fi 49 | unset funcs myDIRS 50 | 51 | 52 | ########## BEG:: PLATFORM CUSTOMIZED SETTINGS ########## 53 | # Is this needed in all systems? 54 | # If file locking is not allowed in the filesystem, or the 55 | # HDF5 locking mechanism is not compatible with the 56 | # OS locking mechanism, then HDF5 (>=1.10.x) throws errors like 57 | # access denied when trying to READ/WRITE NetCDF files. 58 | # On some platforms HDF5 locking is disabled on other it is not. 59 | # If you experience these problems uncomment the next line 60 | # (this should be done automatically when loading this file - todo). 61 | #export HDF5_USE_FILE_LOCKING=FALSE 62 | 63 | export NETCDF_CONFIG=${NETCDFHOME:+${NETCDFHOME}/bin/nc-config} 64 | export NETCDF_INCDIR=${NETCDFHOME:+${NETCDFHOME}/include} 65 | export NETCDF_LIBDIR=${NETCDFHOME:+${NETCDFHOME}/lib} 66 | 67 | export ESMFMKFILE=${ESMFMKFILE} 68 | ########## END:: PLATFORM CUSTOMIZED SETTINGS ########## 69 | 70 | -------------------------------------------------------------------------------- /modulefiles/envmodules_intel.hera.sys: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash-*-Shell-script-functions*- 2 | 3 | ########################################################################### 4 | ### Module File to load the required environment modules for the NEMS application 5 | ### 6 | ### Author: Panagiotis Velissariou 7 | ### Date: June 26 2021 8 | ########################################################################### 9 | 10 | 11 | #################### 12 | # Get the directory where the script is located 13 | if [[ $(uname -s) == Darwin ]]; then 14 | myDIRS="$(cd "$(dirname "$(grealpath -s "${BASH_SOURCE[0]}" )" )" && pwd -P)" 15 | else 16 | myDIRS="$(cd "$(dirname "$(realpath -s "${BASH_SOURCE[0]}" )" )" && pwd -P)" 17 | fi 18 | myDIRS="${myDIRS} . ${APPMODS_DIR}" 19 | #################### 20 | 21 | 22 | # This script is responsible for loading modules that are 23 | # compatible with the NUOPC Layer version used in NEMS. 24 | 25 | 26 | #################### 27 | ### (1) Load all needed environment modules. 28 | module purge 29 | module load cmake 30 | 31 | #module load intel/19.0.5.281 impi/2019.0.5 32 | #module load intel/2020.2 impi/2020.2 33 | module load intel/2022.1.2 impi/2022.1.2 34 | #module load intel/2022.3.0 impi/2022.3.0 35 | 36 | module load hdf5/1.10.6 netcdf/4.7.0 37 | # NOT AVAILABLE module load proj/4.8.0 38 | # NOT AVAILABLE module load parmetis/4.0.3 39 | # NOT AVAILABLE module load esmf/8.3.1 40 | 41 | 42 | ################### 43 | ### (2) Set some environments varaiables related to the loaded 44 | ### modules and required to compile the NEMS application properly. 45 | funcs="$( find ${myDIRS} -type f -iname "PlatformFuncs" | head -n 1 )" 46 | if [ -f "${funcs}" ]; then 47 | source "${funcs}" 48 | 49 | get_env_hdf5 50 | get_env_netcdf 51 | fi 52 | unset funcs myDIRS 53 | 54 | 55 | ########## BEG:: PLATFORM CUSTOMIZED SETTINGS ########## 56 | # Is this needed in all systems? 57 | # If file locking is not allowed in the filesystem, or the 58 | # HDF5 locking mechanism is not compatible with the 59 | # OS locking mechanism, then HDF5 (>=1.10.x) throws errors like 60 | # access denied when trying to READ/WRITE NetCDF files. 61 | # On some platforms HDF5 locking is disabled on other it is not. 62 | # If you experience these problems uncomment the next line 63 | # (this should be done automatically when loading this file - todo). 64 | #export HDF5_USE_FILE_LOCKING=FALSE 65 | 66 | if [ -z "${NETCDF_CONFIG}" ]; then 67 | export NETCDF_CONFIG=${NETCDF_HOME:+${NETCDF_HOME}/bin/nc-config} 68 | fi 69 | 70 | if [ -z "${NETCDF_INCDIR}" ]; then 71 | export NETCDF_INCDIR=${NETCDF_INC:+${NETCDF_INC}} 72 | if [ -z "${NETCDF_INCDIR}" ]; then 73 | export NETCDF_INCDIR=${NETCDF_HOME:+${NETCDF_HOME}/include} 74 | fi 75 | fi 76 | 77 | if [ -z "${NETCDF_LIBDIR}" ]; then 78 | export NETCDF_LIBDIR=${NETCDF_LIB:+${NETCDF_LIB}} 79 | if [ -z "${NETCDF_LIBDIR}" ]; then 80 | export NETCDF_LIBDIR=${NETCDF_HOME:+${NETCDF_HOME}/lib} 81 | fi 82 | fi 83 | 84 | if [ -z "${ESMFMKFILE}" ]; then 85 | echo "The variable ESMFMKFILE is not set. Please load the esmf module for your platform" 86 | echo "Exiting ..." 87 | exit 1 88 | else 89 | export ESMFMKFILE=${ESMFMKFILE} 90 | fi 91 | ########## END:: PLATFORM CUSTOMIZED SETTINGS ########## 92 | 93 | -------------------------------------------------------------------------------- /modulefiles/envmodules_intel.jet: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash-*-Shell-script-functions*- 2 | 3 | ########################################################################### 4 | ### Module File to load the required environment modules for the NEMS application 5 | ### 6 | ### Author: Panagiotis Velissariou 7 | ### Date: June 26 2021 8 | ########################################################################### 9 | 10 | #---------- 11 | [[ "$0" == "bash" || "$0" == "-bash" ]] && retv=return || retv=exit 12 | echo "$(basename ${BASH_SOURCE[0]}) :: This environment is either not configured or not supported" 13 | echo " Exiting ..." 14 | ${retv} 1 15 | #---------- 16 | 17 | #################### 18 | # Get the directory where the script is located 19 | if [[ $(uname -s) == Darwin ]]; then 20 | myDIRS="$(cd "$(dirname "$(grealpath -s "${BASH_SOURCE[0]}" )" )" && pwd -P)" 21 | else 22 | myDIRS="$(cd "$(dirname "$(realpath -s "${BASH_SOURCE[0]}" )" )" && pwd -P)" 23 | fi 24 | myDIRS="${myDIRS} . ${APPMODS_DIR}" 25 | #################### 26 | 27 | 28 | # This script is responsible for loading modules that are 29 | # compatible with the NUOPC Layer version used in NEMS. 30 | 31 | 32 | #################### 33 | ### (1) Load all needed environment modules. 34 | module purge 35 | module load cmake 36 | 37 | module load intel impi 38 | module load szip hdf5 39 | module load netcdf 40 | module load esmf 41 | 42 | 43 | #################### 44 | ### (2) Set some environments varaiables related to the loaded 45 | ### modules and required to compile the NEMS application properly. 46 | funcs="$( find ${myDIRS} -type f -iname "PlatformFuncs" | head -n 1 )" 47 | if [ -f "${funcs}" ]; then 48 | source "${funcs}" 49 | 50 | get_env_hdf5 51 | get_env_netcdf 52 | fi 53 | unset funcs myDIRS 54 | 55 | 56 | ########## BEG:: PLATFORM CUSTOMIZED SETTINGS ########## 57 | # Is this needed in all systems? 58 | # If file locking is not allowed in the filesystem, or the 59 | # HDF5 locking mechanism is not compatible with the 60 | # OS locking mechanism, then HDF5 (>=1.10.x) throws errors like 61 | # access denied when trying to READ/WRITE NetCDF files. 62 | # On some platforms HDF5 locking is disabled on other it is not. 63 | # If you experience these problems uncomment the next line 64 | # (this should be done automatically when loading this file - todo). 65 | #export HDF5_USE_FILE_LOCKING=FALSE 66 | 67 | if [ -z "${NETCDF_CONFIG}" ]; then 68 | export NETCDF_CONFIG=${NETCDF_HOME:+${NETCDF_HOME}/bin/nc-config} 69 | fi 70 | 71 | if [ -z "${NETCDF_INCDIR}" ]; then 72 | export NETCDF_INCDIR=${NETCDF_INC:+${NETCDF_INC}} 73 | if [ -z "${NETCDF_INCDIR}" ]; then 74 | export NETCDF_INCDIR=${NETCDF_HOME:+${NETCDF_HOME}/include} 75 | fi 76 | fi 77 | 78 | if [ -z "${NETCDF_LIBDIR}" ]; then 79 | export NETCDF_LIBDIR=${NETCDF_LIB:+${NETCDF_LIB}} 80 | if [ -z "${NETCDF_LIBDIR}" ]; then 81 | export NETCDF_LIBDIR=${NETCDF_HOME:+${NETCDF_HOME}/lib} 82 | fi 83 | fi 84 | 85 | if [ -z "${ESMFMKFILE}" ]; then 86 | echo "The variable ESMFMKFILE is not set. Please load the esmf module for your platform" 87 | echo "Exiting ..." 88 | exit 1 89 | else 90 | export ESMFMKFILE=${ESMFMKFILE} 91 | fi 92 | ########## END:: PLATFORM CUSTOMIZED SETTINGS ########## 93 | -------------------------------------------------------------------------------- /modulefiles/envmodules_intel.levante: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash-*-Shell-script-functions*- 2 | 3 | ########################################################################### 4 | ### Module File to load the required environment modules for the NEMS application 5 | ### 6 | ### Author: Panagiotis Velissariou 7 | ### Date: June 26 2021 8 | ########################################################################### 9 | 10 | 11 | #################### 12 | # Get the directory where the script is located 13 | if [[ $(uname -s) == Darwin ]]; then 14 | myDIRS="$(cd "$(dirname "$(grealpath -s "${BASH_SOURCE[0]}" )" )" && pwd -P)" 15 | else 16 | myDIRS="$(cd "$(dirname "$(realpath -s "${BASH_SOURCE[0]}" )" )" && pwd -P)" 17 | fi 18 | myDIRS="${myDIRS} . ${APPMODS_DIR}" 19 | #################### 20 | 21 | 22 | # This script is responsible for loading modules that are 23 | # compatible with the NUOPC Layer version used in NEMS. 24 | # 25 | # Adopted for DKRZ/levante by Carsten Lemmen 26 | 27 | # We need to make the modules command available before using it 28 | source /sw/etc/profile.levante 29 | 30 | module purge 31 | module load hdf5 32 | module load netcdf-c 33 | module load netcdf-fortran 34 | module load intel-oneapi-compilers 35 | module load intel-oneapi-mkl 36 | module load openmpi 37 | module load esmf 38 | 39 | export ESMFMKFILE=/sw/spack-levante/esmf-8.2.0-nkvdqb/lib/esmf.mk 40 | 41 | #################### 42 | ### (2) Set some environments varaiables related to the loaded 43 | ### modules and required to compile the NEMS application properly. 44 | funcs="$( find ${myDIRS} -type f -iname "PlatformFuncs" | head -n 1 )" 45 | if [ -f "${funcs}" ]; then 46 | source "${funcs}" 47 | 48 | get_env_hdf5 49 | get_env_netcdf 50 | fi 51 | unset funcs myDIRS 52 | 53 | 54 | ########## BEG:: PLATFORM CUSTOMIZED SETTINGS ########## 55 | # Is this needed in all systems? 56 | # If file locking is not allowed in the filesystem, or the 57 | # HDF5 locking mechanism is not compatible with the 58 | # OS locking mechanism, then HDF5 (>=1.10.x) throws errors like 59 | # access denied when trying to READ/WRITE NetCDF files. 60 | # On some platforms HDF5 locking is disabled on other it is not. 61 | # If you experience these problems uncomment the next line 62 | # (this should be done automatically when loading this file - todo). 63 | #export HDF5_USE_FILE_LOCKING=FALSE 64 | 65 | # use this more complicated one to address ADCIRC demands 66 | export NETCDFHOME="$(nf-config --prefix)/include $(nf-config --flibs) $(nc-config --prefix)" 67 | export NETCDFPATH=$(nc-config --prefix) 68 | export NETCDF_CONFIG=${NETCDFHOME:+${NETCDFHOME}/bin/nc-config} 69 | 70 | export NETCDF_INCDIR="$(nc-config --includedir) -I$(nf-config --includedir)" 71 | export NETCDF_LIBDIR="$(nc-config --prefix)/lib $(nc-config --libs) $(nf-config --flibs)" 72 | 73 | ########## END:: PLATFORM CUSTOMIZED SETTINGS ########## 74 | -------------------------------------------------------------------------------- /modulefiles/envmodules_intel.linux: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash-*-Shell-script-functions*- 2 | 3 | ########################################################################### 4 | ### Module File to load the required environment modules for the NEMS application 5 | ### 6 | ### Author: Panagiotis Velissariou 7 | ### Date: June 26 2021 8 | ########################################################################### 9 | 10 | 11 | #################### 12 | # Get the directory where the script is located 13 | if [[ $(uname -s) == Darwin ]]; then 14 | myDIRS="$(cd "$(dirname "$(grealpath -s "${BASH_SOURCE[0]}" )" )" && pwd -P)" 15 | else 16 | myDIRS="$(cd "$(dirname "$(realpath -s "${BASH_SOURCE[0]}" )" )" && pwd -P)" 17 | fi 18 | myDIRS="${myDIRS} . ${APPMODS_DIR}" 19 | #################### 20 | 21 | 22 | # This script is responsible for loading modules that are 23 | # compatible with the NUOPC Layer version used in NEMS. 24 | 25 | 26 | #################### 27 | ### (1) Load all needed environment modules. 28 | module purge 29 | module load cmake 30 | 31 | module load intel impi 32 | 33 | module load hdf5 netcdf 34 | module load proj 35 | module load parmetis 36 | module load esmf 37 | 38 | 39 | #################### 40 | ### (2) Set some environments varaiables related to the loaded 41 | ### modules and required to compile the NEMS application properly. 42 | funcs="$( find ${myDIRS} -type f -iname "PlatformFuncs" | head -n 1 )" 43 | if [ -f "${funcs}" ]; then 44 | source "${funcs}" 45 | 46 | get_env_hdf5 47 | get_env_netcdf 48 | fi 49 | unset funcs myDIRS 50 | 51 | 52 | ########## BEG:: PLATFORM CUSTOMIZED SETTINGS ########## 53 | # Is this needed in all systems? 54 | # If file locking is not allowed in the filesystem, or the 55 | # HDF5 locking mechanism is not compatible with the 56 | # OS locking mechanism, then HDF5 (>=1.10.x) throws errors like 57 | # access denied when trying to READ/WRITE NetCDF files. 58 | # On some platforms HDF5 locking is disabled on other it is not. 59 | # If you experience these problems uncomment the next line 60 | # (this should be done automatically when loading this file - todo). 61 | #export HDF5_USE_FILE_LOCKING=FALSE 62 | 63 | if [ -z "${NETCDF_CONFIG}" ]; then 64 | export NETCDF_CONFIG=${NETCDF_HOME:+${NETCDF_HOME}/bin/nc-config} 65 | fi 66 | 67 | if [ -z "${NETCDF_INCDIR}" ]; then 68 | export NETCDF_INCDIR=${NETCDF_INC:+${NETCDF_INC}} 69 | if [ -z "${NETCDF_INCDIR}" ]; then 70 | export NETCDF_INCDIR=${NETCDF_HOME:+${NETCDF_HOME}/include} 71 | fi 72 | fi 73 | 74 | if [ -z "${NETCDF_LIBDIR}" ]; then 75 | export NETCDF_LIBDIR=${NETCDF_LIB:+${NETCDF_LIB}} 76 | if [ -z "${NETCDF_LIBDIR}" ]; then 77 | export NETCDF_LIBDIR=${NETCDF_HOME:+${NETCDF_HOME}/lib} 78 | fi 79 | fi 80 | 81 | if [ -z "${ESMFMKFILE}" ]; then 82 | echo "The variable ESMFMKFILE is not set. Please load the esmf module for your platform" 83 | echo "Exiting ..." 84 | exit 1 85 | else 86 | export ESMFMKFILE=${ESMFMKFILE} 87 | fi 88 | ########## END:: PLATFORM CUSTOMIZED SETTINGS ########## 89 | -------------------------------------------------------------------------------- /modulefiles/envmodules_intel.macosx: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash-*-Shell-script-functions*- 2 | 3 | ########################################################################### 4 | ### Module File to load the required environment modules for the NEMS application 5 | ### 6 | ### Author: Panagiotis Velissariou 7 | ### Date: June 26 2021 8 | ########################################################################### 9 | 10 | #---------- 11 | [[ "$0" == "bash" || "$0" == "-bash" ]] && retv=return || retv=exit 12 | echo "$(basename ${BASH_SOURCE[0]}) :: This environment is either not configured or not supported" 13 | echo " Exiting ..." 14 | ${retv} 1 15 | #---------- 16 | 17 | #################### 18 | # Get the directory where the script is located 19 | if [[ $(uname -s) == Darwin ]]; then 20 | myDIRS="$(cd "$(dirname "$(grealpath -s "${BASH_SOURCE[0]}" )" )" && pwd -P)" 21 | else 22 | myDIRS="$(cd "$(dirname "$(realpath -s "${BASH_SOURCE[0]}" )" )" && pwd -P)" 23 | fi 24 | myDIRS="${myDIRS} . ${APPMODS_DIR}" 25 | #################### 26 | 27 | 28 | # This script is responsible for loading modules that are 29 | # compatible with the NUOPC Layer version used in NEMS. 30 | 31 | 32 | #################### 33 | ### (1) Load all needed environment modules. 34 | module purge 35 | module load cmake 36 | 37 | module load intel impi 38 | 39 | module load szip hdf5 40 | module load netcdf 41 | module load esmf 42 | 43 | 44 | #################### 45 | ### (2) Set some environments varaiables related to the loaded 46 | ### modules and required to compile the NEMS application properly. 47 | funcs="$( find ${myDIRS} -type f -iname "PlatformFuncs" | head -n 1 )" 48 | if [ -f "${funcs}" ]; then 49 | source "${funcs}" 50 | 51 | get_env_hdf5 52 | get_env_netcdf 53 | fi 54 | unset funcs myDIRS 55 | 56 | 57 | ########## BEG:: PLATFORM CUSTOMIZED SETTINGS ########## 58 | # Is this needed in all systems? 59 | # If file locking is not allowed in the filesystem, or the 60 | # HDF5 locking mechanism is not compatible with the 61 | # OS locking mechanism, then HDF5 (>=1.10.x) throws errors like 62 | # access denied when trying to READ/WRITE NetCDF files. 63 | # On some platforms HDF5 locking is disabled on other it is not. 64 | # If you experience these problems uncomment the next line 65 | # (this should be done automatically when loading this file - todo). 66 | #export HDF5_USE_FILE_LOCKING=FALSE 67 | 68 | if [ -z "${NETCDF_CONFIG}" ]; then 69 | export NETCDF_CONFIG=${NETCDF_HOME:+${NETCDF_HOME}/bin/nc-config} 70 | fi 71 | 72 | if [ -z "${NETCDF_INCDIR}" ]; then 73 | export NETCDF_INCDIR=${NETCDF_INC:+${NETCDF_INC}} 74 | if [ -z "${NETCDF_INCDIR}" ]; then 75 | export NETCDF_INCDIR=${NETCDF_HOME:+${NETCDF_HOME}/include} 76 | fi 77 | fi 78 | 79 | if [ -z "${NETCDF_LIBDIR}" ]; then 80 | export NETCDF_LIBDIR=${NETCDF_LIB:+${NETCDF_LIB}} 81 | if [ -z "${NETCDF_LIBDIR}" ]; then 82 | export NETCDF_LIBDIR=${NETCDF_HOME:+${NETCDF_HOME}/lib} 83 | fi 84 | fi 85 | 86 | if [ -z "${ESMFMKFILE}" ]; then 87 | echo "The variable ESMFMKFILE is not set. Please load the esmf module for your platform" 88 | echo "Exiting ..." 89 | exit 1 90 | else 91 | export ESMFMKFILE=${ESMFMKFILE} 92 | fi 93 | ########## END:: PLATFORM CUSTOMIZED SETTINGS ########## 94 | -------------------------------------------------------------------------------- /modulefiles/envmodules_intel.mistral: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash-*-Shell-script-functions*- 2 | 3 | ########################################################################### 4 | ### Module File to load the required environment modules for the NEMS application 5 | ### 6 | ### Author: Panagiotis Velissariou 7 | ### Date: June 26 2021 8 | ########################################################################### 9 | 10 | 11 | #################### 12 | # Get the directory where the script is located 13 | if [[ $(uname -s) == Darwin ]]; then 14 | myDIRS="$(cd "$(dirname "$(grealpath -s "${BASH_SOURCE[0]}" )" )" && pwd -P)" 15 | else 16 | myDIRS="$(cd "$(dirname "$(realpath -s "${BASH_SOURCE[0]}" )" )" && pwd -P)" 17 | fi 18 | myDIRS="${myDIRS} . ${APPMODS_DIR}" 19 | #################### 20 | 21 | 22 | # This script is responsible for loading modules that are 23 | # compatible with the NUOPC Layer version used in NEMS. 24 | # 25 | # Adopted for DKRZ/mistral by Carsten Lemmen 26 | 27 | 28 | #################### 29 | ### (1) Load all needed environment modules. 30 | module purge 31 | module load cmake/3.17.1-gcc-9.1.0 32 | 33 | module load intel intelmpi 34 | 35 | module load netcdf-c/4.7.4-intel-17.0.6 36 | module load netcdf-fortran/4.5.3-intel-17.0.6 37 | module load esmf 38 | 39 | 40 | #################### 41 | ### (2) Set some environments varaiables related to the loaded 42 | ### modules and required to compile the NEMS application properly. 43 | funcs="$( find ${myDIRS} -type f -iname "PlatformFuncs" | head -n 1 )" 44 | if [ -f "${funcs}" ]; then 45 | source "${funcs}" 46 | 47 | get_env_hdf5 48 | get_env_netcdf 49 | fi 50 | unset funcs myDIRS 51 | 52 | 53 | ########## BEG:: PLATFORM CUSTOMIZED SETTINGS ########## 54 | # Is this needed in all systems? 55 | # If file locking is not allowed in the filesystem, or the 56 | # HDF5 locking mechanism is not compatible with the 57 | # OS locking mechanism, then HDF5 (>=1.10.x) throws errors like 58 | # access denied when trying to READ/WRITE NetCDF files. 59 | # On some platforms HDF5 locking is disabled on other it is not. 60 | # If you experience these problems uncomment the next line 61 | # (this should be done automatically when loading this file - todo). 62 | #export HDF5_USE_FILE_LOCKING=FALSE 63 | 64 | # use this more complicated one to address ADCIRC demands 65 | export NETCDFHOME="$(nf-config --prefix)/include $(nf-config --flibs) $(nc-config --prefix)" 66 | export NETCDFPATH=$(nc-config --prefix) 67 | export NETCDF_CONFIG=${NETCDFHOME:+${NETCDFHOME}/bin/nc-config} 68 | 69 | export NETCDF_INCDIR="$(nc-config --includedir) -I$(nf-config --includedir)" 70 | export NETCDF_LIBDIR="$(nc-config --prefix)/lib $(nc-config --libs) $(nf-config --flibs)" 71 | 72 | if [ -z "${ESMFMKFILE}" ]; then 73 | echo "The variable ESMFMKFILE is not set. Please load the esmf module for your platform" 74 | echo "Exiting ..." 75 | exit 1 76 | else 77 | export ESMFMKFILE=${ESMFMKFILE} 78 | fi 79 | ########## END:: PLATFORM CUSTOMIZED SETTINGS ########## 80 | -------------------------------------------------------------------------------- /modulefiles/envmodules_intel.orion: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash-*-Shell-script-functions*- 2 | 3 | ########################################################################### 4 | ### Module File to load the required environment modules for the NEMS application 5 | ### 6 | ### Author: Panagiotis Velissariou 7 | ### Date: June 26 2021 8 | ########################################################################### 9 | 10 | 11 | #################### 12 | # Get the directory where the script is located 13 | if [[ $(uname -s) == Darwin ]]; then 14 | myDIRS="$(cd "$(dirname "$(grealpath -s "${BASH_SOURCE[0]}" )" )" && pwd -P)" 15 | else 16 | myDIRS="$(cd "$(dirname "$(realpath -s "${BASH_SOURCE[0]}" )" )" && pwd -P)" 17 | fi 18 | myDIRS="${myDIRS} . ${APPMODS_DIR}" 19 | #################### 20 | 21 | 22 | # This script is responsible for loading modules that are 23 | # compatible with the NUOPC Layer version used in NEMS. 24 | 25 | 26 | #################### 27 | ### (1) Load all needed environment modules. 28 | module purge 29 | module load cmake 30 | 31 | module use /work/noaa/nosofs/pvelissa/apps/modulefiles 32 | module load hpc-common 33 | 34 | #module load hpc-intel/2019.5 hpc-impi 35 | #module load hpc-intel/2020.2 hpc-impi 36 | module load hpc-intel/2022.1.2 hpc-impi 37 | 38 | module load hdf5/1.10.9 netcdf/4.7.4 39 | module load proj/4.8.0 40 | module load parmetis/4.0.3 41 | module load esmf/8.3.1 42 | 43 | 44 | #################### 45 | ### (2) Set some environments varaiables related to the loaded 46 | ### modules and required to compile the NEMS application properly. 47 | funcs="$( find ${myDIRS} -type f -iname "PlatformFuncs" | head -n 1 )" 48 | if [ -f "${funcs}" ]; then 49 | source "${funcs}" 50 | 51 | get_env_hdf5 52 | get_env_netcdf 53 | fi 54 | unset funcs myDIRS 55 | 56 | 57 | ########## BEG:: PLATFORM CUSTOMIZED SETTINGS ########## 58 | # Is this needed in all systems? 59 | # If file locking is not allowed in the filesystem, or the 60 | # HDF5 locking mechanism is not compatible with the 61 | # OS locking mechanism, then HDF5 (>=1.10.x) throws errors like 62 | # access denied when trying to READ/WRITE NetCDF files. 63 | # On some platforms HDF5 locking is disabled on other it is not. 64 | # If you experience these problems uncomment the next line 65 | # (this should be done automatically when loading this file - todo). 66 | #export HDF5_USE_FILE_LOCKING=FALSE 67 | 68 | if [ -z "${NETCDF_CONFIG}" ]; then 69 | export NETCDF_CONFIG=${NETCDF_HOME:+${NETCDF_HOME}/bin/nc-config} 70 | fi 71 | 72 | if [ -z "${NETCDF_INCDIR}" ]; then 73 | export NETCDF_INCDIR=${NETCDF_INCLUDE_DIRS:+${NETCDF_INCLUDE_DIRS}} 74 | if [ -z "${NETCDF_INCDIR}" ]; then 75 | export NETCDF_INCDIR=${NETCDF_HOME:+${NETCDF_HOME}/include} 76 | fi 77 | fi 78 | 79 | if [ -z "${NETCDF_LIBDIR}" ]; then 80 | export NETCDF_LIBDIR=${NETCDF_LIBRARY_DIRS:+${NETCDF_LIBRARY_DIRS}} 81 | if [ -z "${NETCDF_LIBDIR}" ]; then 82 | export NETCDF_LIBDIR=${NETCDF_HOME:+${NETCDF_HOME}/lib} 83 | fi 84 | fi 85 | 86 | if [ -z "${ESMFMKFILE}" ]; then 87 | echo "The variable ESMFMKFILE is not set. Please load the esmf module for your platform" 88 | echo "Exiting ..." 89 | exit 1 90 | else 91 | export ESMFMKFILE=${ESMFMKFILE} 92 | fi 93 | ########## END:: PLATFORM CUSTOMIZED SETTINGS ########## 94 | -------------------------------------------------------------------------------- /modulefiles/envmodules_intel.orion.sys: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash-*-Shell-script-functions*- 2 | 3 | ########################################################################### 4 | ### Module File to load the required environment modules for the NEMS application 5 | ### 6 | ### Author: Panagiotis Velissariou 7 | ### Date: June 26 2021 8 | ########################################################################### 9 | 10 | 11 | #################### 12 | # Get the directory where the script is located 13 | if [[ $(uname -s) == Darwin ]]; then 14 | myDIRS="$(cd "$(dirname "$(grealpath -s "${BASH_SOURCE[0]}" )" )" && pwd -P)" 15 | else 16 | myDIRS="$(cd "$(dirname "$(realpath -s "${BASH_SOURCE[0]}" )" )" && pwd -P)" 17 | fi 18 | myDIRS="${myDIRS} . ${APPMODS_DIR}" 19 | #################### 20 | 21 | 22 | # This script is responsible for loading modules that are 23 | # compatible with the NUOPC Layer version used in NEMS. 24 | 25 | 26 | #################### 27 | ### (1) Load all needed environment modules. 28 | module purge 29 | module load cmake 30 | 31 | #module load intel/2019.5 impi/2019.6 32 | #module load intel/2020.2 impi/2020.2 33 | #module load intel/2021.2 impi/2021.2 34 | module load intel/2022.1.2 impi/2022.1.2 35 | 36 | module load hdf5/1.10.6 netcdf/4.7.4 37 | # NOT AVAILABLE module load proj 38 | # NOT AVAILABLE module load parmetis 39 | module load esmf/8.1.1 40 | 41 | 42 | #################### 43 | ### (2) Set some environments varaiables related to the loaded 44 | ### modules and required to compile the NEMS application properly. 45 | funcs="$( find ${myDIRS} -type f -iname "PlatformFuncs" | head -n 1 )" 46 | if [ -f "${funcs}" ]; then 47 | source "${funcs}" 48 | 49 | get_env_hdf5 50 | get_env_netcdf 51 | fi 52 | unset funcs myDIRS 53 | 54 | 55 | ########## BEG:: PLATFORM CUSTOMIZED SETTINGS ########## 56 | # Is this needed in all systems? 57 | # If file locking is not allowed in the filesystem, or the 58 | # HDF5 locking mechanism is not compatible with the 59 | # OS locking mechanism, then HDF5 (>=1.10.x) throws errors like 60 | # access denied when trying to READ/WRITE NetCDF files. 61 | # On some platforms HDF5 locking is disabled on other it is not. 62 | # If you experience these problems uncomment the next line 63 | # (this should be done automatically when loading this file - todo). 64 | #export HDF5_USE_FILE_LOCKING=FALSE 65 | 66 | if [ -z "${NETCDF_CONFIG}" ]; then 67 | export NETCDF_CONFIG=${NETCDF_HOME:+${NETCDF_HOME}/bin/nc-config} 68 | fi 69 | 70 | if [ -z "${NETCDF_INCDIR}" ]; then 71 | export NETCDF_INCDIR=${NETCDF_INCLUDE_DIRS:+${NETCDF_INCLUDE_DIRS}} 72 | if [ -z "${NETCDF_INCDIR}" ]; then 73 | export NETCDF_INCDIR=${NETCDF_HOME:+${NETCDF_HOME}/include} 74 | fi 75 | fi 76 | 77 | if [ -z "${NETCDF_LIBDIR}" ]; then 78 | export NETCDF_LIBDIR=${NETCDF_LIBRARY_DIRS:+${NETCDF_LIBRARY_DIRS}} 79 | if [ -z "${NETCDF_LIBDIR}" ]; then 80 | export NETCDF_LIBDIR=${NETCDF_HOME:+${NETCDF_HOME}/lib} 81 | fi 82 | fi 83 | 84 | if [ -z "${ESMFMKFILE}" ]; then 85 | echo "The variable ESMFMKFILE is not set. Please load the esmf module for your platform" 86 | echo "Exiting ..." 87 | exit 1 88 | else 89 | export ESMFMKFILE=${ESMFMKFILE} 90 | fi 91 | ########## END:: PLATFORM CUSTOMIZED SETTINGS ########## 92 | -------------------------------------------------------------------------------- /modulefiles/envmodules_intel.pworks: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash-*-Shell-script-functions*- 2 | 3 | ########################################################################### 4 | ### Module File to load the required environment modules for the NEMS application 5 | ### 6 | ### Author: Panagiotis Velissariou 7 | ### Date: June 26 2021 8 | ########################################################################### 9 | 10 | 11 | #################### 12 | # Get the directory where the script is located 13 | if [[ $(uname -s) == Darwin ]]; then 14 | myDIRS="$(cd "$(dirname "$(grealpath -s "${BASH_SOURCE[0]}" )" )" && pwd -P)" 15 | else 16 | myDIRS="$(cd "$(dirname "$(realpath -s "${BASH_SOURCE[0]}" )" )" && pwd -P)" 17 | fi 18 | myDIRS="${myDIRS} . ${APPMODS_DIR}" 19 | #################### 20 | 21 | 22 | # This script is responsible for loading modules that are 23 | # compatible with the NUOPC Layer version used in NEMS. 24 | 25 | 26 | #################### 27 | ### (1) Load all needed environment modules. 28 | module purge 29 | module load cmake 30 | 31 | module use /contrib/coastal/common/apps/modulefiles 32 | module load hpc-common 33 | 34 | #module load hpc-intel/19.0.5.281 hpc-impi 35 | #module load hpc-intel/2020.2 hpc-impi 36 | module load hpc-intel/2022.1.2 hpc-impi 37 | #module load hpc-intel/2022.3.0 hpc-impi 38 | 39 | module load hdf5/1.10.9 netcdf/4.7.4 40 | module load proj/4.8.0 41 | module load parmetis/4.0.3 42 | module load esmf/8.3.1 43 | 44 | 45 | ################### 46 | ### (2) Set some environments varaiables related to the loaded 47 | ### modules and required to compile the NEMS application properly. 48 | funcs="$( find ${myDIRS} -type f -iname "PlatformFuncs" | head -n 1 )" 49 | if [ -f "${funcs}" ]; then 50 | source "${funcs}" 51 | 52 | get_env_hdf5 53 | get_env_netcdf 54 | fi 55 | unset funcs myDIRS 56 | 57 | 58 | ########## BEG:: PLATFORM CUSTOMIZED SETTINGS ########## 59 | # Is this needed in all systems? 60 | # If file locking is not allowed in the filesystem, or the 61 | # HDF5 locking mechanism is not compatible with the 62 | # OS locking mechanism, then HDF5 (>=1.10.x) throws errors like 63 | # access denied when trying to READ/WRITE NetCDF files. 64 | # On some platforms HDF5 locking is disabled on other it is not. 65 | # If you experience these problems uncomment the next line 66 | # (this should be done automatically when loading this file - todo). 67 | #export HDF5_USE_FILE_LOCKING=FALSE 68 | 69 | if [ -z "${NETCDF_CONFIG}" ]; then 70 | export NETCDF_CONFIG=${NETCDF_HOME:+${NETCDF_HOME}/bin/nc-config} 71 | fi 72 | 73 | if [ -z "${NETCDF_INCDIR}" ]; then 74 | export NETCDF_INCDIR=${NETCDF_INC:+${NETCDF_INC}} 75 | if [ -z "${NETCDF_INCDIR}" ]; then 76 | export NETCDF_INCDIR=${NETCDF_HOME:+${NETCDF_HOME}/include} 77 | fi 78 | fi 79 | 80 | if [ -z "${NETCDF_LIBDIR}" ]; then 81 | export NETCDF_LIBDIR=${NETCDF_LIB:+${NETCDF_LIB}} 82 | if [ -z "${NETCDF_LIBDIR}" ]; then 83 | export NETCDF_LIBDIR=${NETCDF_HOME:+${NETCDF_HOME}/lib} 84 | fi 85 | fi 86 | 87 | if [ -z "${ESMFMKFILE}" ]; then 88 | echo "The variable ESMFMKFILE is not set. Please load the esmf module for your platform" 89 | echo "Exiting ..." 90 | exit 1 91 | else 92 | export ESMFMKFILE=${ESMFMKFILE} 93 | fi 94 | ########## END:: PLATFORM CUSTOMIZED SETTINGS ########## 95 | 96 | -------------------------------------------------------------------------------- /modulefiles/envmodules_intel.strand: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash-*-Shell-script-functions*- 2 | 3 | ########################################################################### 4 | ### Module File to load the required environment modules for the NEMS application 5 | ### 6 | ### Author: Panagiotis Velissariou 7 | ### Date: June 26 2021 8 | ########################################################################### 9 | 10 | 11 | #################### 12 | # Get the directory where the script is located 13 | if [[ $(uname -s) == Darwin ]]; then 14 | myDIRS="$(cd "$(dirname "$(grealpath -s "${BASH_SOURCE[0]}" )" )" && pwd -P)" 15 | else 16 | myDIRS="$(cd "$(dirname "$(realpath -s "${BASH_SOURCE[0]}" )" )" && pwd -P)" 17 | fi 18 | myDIRS="${myDIRS} . ${APPMODS_DIR}" 19 | #################### 20 | 21 | 22 | # This script is responsible for loading modules that are 23 | # compatible with the NUOPC Layer version used in NEMS. 24 | # 25 | # Adapted for hereon/strand by Carsten Lemmen 26 | # 27 | 28 | 29 | #################### 30 | ### Load all needed environment modules. 31 | module purge 32 | module load applications/utils/cmake3-20.0 33 | 34 | module load compilers/intel/2020.1.217 35 | 36 | module load intelmpi/2020.1.217 37 | module load hdf5/1.10.5 netcdf/4.7.0 38 | module load esmf/8.1.0 39 | 40 | 41 | #################### 42 | ### (2) Set some environments varaiables related to the loaded 43 | ### modules and required to compile the NEMS application properly. 44 | funcs="$( find ${myDIRS} -type f -iname "PlatformFuncs" | head -n 1 )" 45 | if [ -f "${funcs}" ]; then 46 | source "${funcs}" 47 | 48 | get_env_hdf5 49 | get_env_netcdf 50 | fi 51 | unset funcs myDIRS 52 | 53 | 54 | ########## BEG:: PLATFORM CUSTOMIZED SETTINGS ########## 55 | # Is this needed in all systems? 56 | # If file locking is not allowed in the filesystem, or the 57 | # HDF5 locking mechanism is not compatible with the 58 | # OS locking mechanism, then HDF5 (>=1.10.x) throws errors like 59 | # access denied when trying to READ/WRITE NetCDF files. 60 | # On some platforms HDF5 locking is disabled on other it is not. 61 | # If you experience these problems uncomment the next line 62 | # (this should be done automatically when loading this file - todo). 63 | #export HDF5_USE_FILE_LOCKING=FALSE 64 | 65 | export NETCDF=$(nc-config --prefix) 66 | export NETCDFHOME=$(nc-config --prefix) 67 | 68 | if [ -z "${NETCDF_CONFIG}" ]; then 69 | export NETCDF_CONFIG=${NETCDFHOME:+${NETCDFHOME}/bin/nc-config} 70 | fi 71 | 72 | if [ -z "${NETCDF_INCDIR}" ]; then 73 | export NETCDF_INCDIR=${NETCDF_INC:+${NETCDF_INC}} 74 | if [ -z "${NETCDF_INCDIR}" ]; then 75 | export NETCDF_INCDIR=${NETCDFHOME:+${NETCDFHOME}/include} 76 | fi 77 | fi 78 | 79 | if [ -z "${NETCDF_LIBDIR}" ]; then 80 | export NETCDF_LIBDIR=${NETCDF_LIB:+${NETCDF_LIB}} 81 | if [ -z "${NETCDF_LIBDIR}" ]; then 82 | export NETCDF_LIBDIR=${NETCDFHOME:+${NETCDFHOME}/lib} 83 | fi 84 | fi 85 | 86 | if [ -z "${ESMFMKFILE}" ]; then 87 | echo "The variable ESMFMKFILE is not set. Please load the esmf module for your platform" 88 | echo "Exiting ..." 89 | exit 1 90 | else 91 | export ESMFMKFILE=${ESMFMKFILE} 92 | fi 93 | ########## END:: PLATFORM CUSTOMIZED SETTINGS ########## 94 | -------------------------------------------------------------------------------- /modulefiles/envmodules_intel.tacc: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash-*-Shell-script-functions*- 2 | 3 | ########################################################################### 4 | ### Module File to load the required environment modules for the NEMS application 5 | ### 6 | ### Author: Panagiotis Velissariou 7 | ### Date: June 26 2021 8 | ########################################################################### 9 | 10 | 11 | #################### 12 | # Get the directory where the script is located 13 | if [[ $(uname -s) == Darwin ]]; then 14 | myDIRS="$(cd "$(dirname "$(grealpath -s "${BASH_SOURCE[0]}" )" )" && pwd -P)" 15 | else 16 | myDIRS="$(cd "$(dirname "$(realpath -s "${BASH_SOURCE[0]}" )" )" && pwd -P)" 17 | fi 18 | myDIRS="${myDIRS} . ${APPMODS_DIR}" 19 | #################### 20 | 21 | 22 | # This script is responsible for loading modules that are 23 | # compatible with the NUOPC Layer version used in NEMS. 24 | 25 | #################### 26 | ### (1) Load all needed environment modules. 27 | module purge 28 | module load cmake 29 | 30 | module use /work/07380/panvel/apps/modulefiles 31 | module load hpc-common 32 | 33 | module load hpc-intel/19.0.5 hpc-impi 34 | 35 | module load hdf5/1.10.9 netcdf/4.7.4 36 | module load proj/4.8.0 37 | module load parmetis/4.0.3 38 | module load esmf/8.3.1 39 | 40 | 41 | #################### 42 | ### (2) Set some environments varaiables related to the loaded 43 | ### modules and required to compile the NEMS application properly. 44 | funcs="$( find ${myDIRS} -type f -iname "PlatformFuncs" | head -n 1 )" 45 | if [ -f "${funcs}" ]; then 46 | source "${funcs}" 47 | 48 | get_env_hdf5 TACC_HDF5_DIR 49 | get_env_netcdf TACC_NETCDF_DIR 50 | fi 51 | unset funcs myDIRS 52 | 53 | 54 | ########## BEG:: PLATFORM CUSTOMIZED SETTINGS ########## 55 | # Is this needed in all systems? 56 | # If file locking is not allowed in the filesystem, or the 57 | # HDF5 locking mechanism is not compatible with the 58 | # OS locking mechanism, then HDF5 (>=1.10.x) throws errors like 59 | # access denied when trying to READ/WRITE NetCDF files. 60 | # On some platforms HDF5 locking is disabled on other it is not. 61 | # If you experience these problems uncomment the next line 62 | # (this should be done automatically when loading this file - todo). 63 | #export HDF5_USE_FILE_LOCKING=FALSE 64 | 65 | if [ -z "${NETCDF_CONFIG}" ]; then 66 | export NETCDF_CONFIG=${TACC_NETCDF_BIN:+${TACC_NETCDF_BIN}/nc-config} 67 | if [ -z "${NETCDF_CONFIG}" ]; then 68 | export NETCDF_CONFIG=${NETCDF_HOME:+${NETCDF_HOME}/bin/nc-config} 69 | fi 70 | fi 71 | 72 | if [ -z "${NETCDF_INCDIR}" ]; then 73 | export NETCDF_INCDIR=${TACC_NETCDF_INC:+${TACC_NETCDF_INC}} 74 | if [ -z "${NETCDF_INCDIR}" ]; then 75 | export NETCDF_INCDIR=${NETCDF_HOME:+${NETCDF_HOME}/include} 76 | fi 77 | fi 78 | 79 | if [ -z "${NETCDF_LIBDIR}" ]; then 80 | export NETCDF_LIBDIR=${TACC_NETCDF_LIB:+${TACC_NETCDF_LIB}} 81 | if [ -z "${NETCDF_LIBDIR}" ]; then 82 | export NETCDF_LIBDIR=${NETCDF_HOME:+${NETCDF_HOME}/lib} 83 | fi 84 | fi 85 | 86 | if [ -z "${ESMFMKFILE}" ]; then 87 | echo "The variable ESMFMKFILE is not set. Please load the esmf module for your platform" 88 | echo "Exiting ..." 89 | exit 1 90 | else 91 | export ESMFMKFILE=${ESMFMKFILE} 92 | fi 93 | ########## END:: PLATFORM CUSTOMIZED SETTINGS ########## 94 | -------------------------------------------------------------------------------- /modulefiles/envmodules_intel.tacc.sys: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash-*-Shell-script-functions*- 2 | 3 | ########################################################################### 4 | ### Module File to load the required environment modules for the NEMS application 5 | ### 6 | ### Author: Panagiotis Velissariou 7 | ### Date: June 26 2021 8 | ########################################################################### 9 | 10 | 11 | #################### 12 | # Get the directory where the script is located 13 | if [[ $(uname -s) == Darwin ]]; then 14 | myDIRS="$(cd "$(dirname "$(grealpath -s "${BASH_SOURCE[0]}" )" )" && pwd -P)" 15 | else 16 | myDIRS="$(cd "$(dirname "$(realpath -s "${BASH_SOURCE[0]}" )" )" && pwd -P)" 17 | fi 18 | myDIRS="${myDIRS} . ${APPMODS_DIR}" 19 | #################### 20 | 21 | 22 | # This script is responsible for loading modules that are 23 | # compatible with the NUOPC Layer version used in NEMS. 24 | 25 | #################### 26 | ### (1) Load all needed environment modules. 27 | module purge 28 | module load cmake 29 | 30 | module load intel/19.0.5 impi/19.0.7 31 | #module load intel/19.1.1 impi/19.0.9 32 | 33 | module load hdf5/1.10.4 netcdf/4.7.4 34 | # NOT AVAILABLE module load proj 35 | # NOT AVAILABLE module load parmetis 36 | # NOT AVAILABLE module load esmf 37 | 38 | 39 | #################### 40 | ### (2) Set some environments varaiables related to the loaded 41 | ### modules and required to compile the NEMS application properly. 42 | funcs="$( find ${myDIRS} -type f -iname "PlatformFuncs" | head -n 1 )" 43 | if [ -f "${funcs}" ]; then 44 | source "${funcs}" 45 | 46 | get_env_hdf5 TACC_HDF5_DIR 47 | get_env_netcdf TACC_NETCDF_DIR 48 | fi 49 | unset funcs myDIRS 50 | 51 | 52 | ########## BEG:: PLATFORM CUSTOMIZED SETTINGS ########## 53 | # Is this needed in all systems? 54 | # If file locking is not allowed in the filesystem, or the 55 | # HDF5 locking mechanism is not compatible with the 56 | # OS locking mechanism, then HDF5 (>=1.10.x) throws errors like 57 | # access denied when trying to READ/WRITE NetCDF files. 58 | # On some platforms HDF5 locking is disabled on other it is not. 59 | # If you experience these problems uncomment the next line 60 | # (this should be done automatically when loading this file - todo). 61 | #export HDF5_USE_FILE_LOCKING=FALSE 62 | 63 | if [ -z "${NETCDF_CONFIG}" ]; then 64 | export NETCDF_CONFIG=${TACC_NETCDF_BIN:+${TACC_NETCDF_BIN}/nc-config} 65 | if [ -z "${NETCDF_CONFIG}" ]; then 66 | export NETCDF_CONFIG=${NETCDF_HOME:+${NETCDF_HOME}/bin/nc-config} 67 | fi 68 | fi 69 | 70 | if [ -z "${NETCDF_INCDIR}" ]; then 71 | export NETCDF_INCDIR=${TACC_NETCDF_INC:+${TACC_NETCDF_INC}} 72 | if [ -z "${NETCDF_INCDIR}" ]; then 73 | export NETCDF_INCDIR=${NETCDF_HOME:+${NETCDF_HOME}/include} 74 | fi 75 | fi 76 | 77 | if [ -z "${NETCDF_LIBDIR}" ]; then 78 | export NETCDF_LIBDIR=${TACC_NETCDF_LIB:+${TACC_NETCDF_LIB}} 79 | if [ -z "${NETCDF_LIBDIR}" ]; then 80 | export NETCDF_LIBDIR=${NETCDF_HOME:+${NETCDF_HOME}/lib} 81 | fi 82 | fi 83 | 84 | if [ -z "${ESMFMKFILE}" ]; then 85 | echo "The variable ESMFMKFILE is not set. Please load the esmf module for your platform" 86 | echo "Exiting ..." 87 | exit 1 88 | else 89 | export ESMFMKFILE=${ESMFMKFILE} 90 | fi 91 | ########## END:: PLATFORM CUSTOMIZED SETTINGS ########## 92 | -------------------------------------------------------------------------------- /modulefiles/envmodules_intel.wcoss: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash-*-Shell-script-functions*- 2 | 3 | ########################################################################### 4 | ### Module File to load the required environment modules for the NEMS application 5 | ### 6 | ### Author: Panagiotis Velissariou 7 | ### Date: June 26 2021 8 | ########################################################################### 9 | 10 | #---------- 11 | [[ "$0" == "bash" || "$0" == "-bash" ]] && retv=return || retv=exit 12 | echo "$(basename ${BASH_SOURCE[0]}) :: This environment is either not configured or not supported" 13 | echo " Exiting ..." 14 | ${retv} 1 15 | #---------- 16 | 17 | #################### 18 | # Get the directory where the script is located 19 | if [[ $(uname -s) == Darwin ]]; then 20 | myDIRS="$(cd "$(dirname "$(grealpath -s "${BASH_SOURCE[0]}" )" )" && pwd -P)" 21 | else 22 | myDIRS="$(cd "$(dirname "$(realpath -s "${BASH_SOURCE[0]}" )" )" && pwd -P)" 23 | fi 24 | myDIRS="${myDIRS} . ${APPMODS_DIR}" 25 | #################### 26 | 27 | 28 | # This script is responsible for loading modules that are 29 | # compatible with the NUOPC Layer version used in NEMS. 30 | 31 | 32 | #################### 33 | ### (1) Load all needed environment modules. 34 | module purge 35 | module load cmake 36 | 37 | module load intel impi 38 | module load szip hdf5 39 | module load netcdf 40 | module load esmf 41 | 42 | 43 | #################### 44 | ### (2) Set some environments varaiables related to the loaded 45 | ### modules and required to compile the NEMS application properly. 46 | funcs="$( find ${myDIRS} -type f -iname "PlatformFuncs" | head -n 1 )" 47 | if [ -f "${funcs}" ]; then 48 | source "${funcs}" 49 | 50 | get_env_hdf5 51 | get_env_netcdf 52 | fi 53 | unset funcs myDIRS 54 | 55 | 56 | ########## BEG:: PLATFORM CUSTOMIZED SETTINGS ########## 57 | # Is this needed in all systems? 58 | # If file locking is not allowed in the filesystem, or the 59 | # HDF5 locking mechanism is not compatible with the 60 | # OS locking mechanism, then HDF5 (>=1.10.x) throws errors like 61 | # access denied when trying to READ/WRITE NetCDF files. 62 | # On some platforms HDF5 locking is disabled on other it is not. 63 | # If you experience these problems uncomment the next line 64 | # (this should be done automatically when loading this file - todo). 65 | #export HDF5_USE_FILE_LOCKING=FALSE 66 | 67 | if [ -z "${NETCDF_CONFIG}" ]; then 68 | export NETCDF_CONFIG=${NETCDF_HOME:+${NETCDF_HOME}/bin/nc-config} 69 | fi 70 | 71 | if [ -z "${NETCDF_INCDIR}" ]; then 72 | export NETCDF_INCDIR=${NETCDF_INC:+${NETCDF_INC}} 73 | if [ -z "${NETCDF_INCDIR}" ]; then 74 | export NETCDF_INCDIR=${NETCDF_HOME:+${NETCDF_HOME}/include} 75 | fi 76 | fi 77 | 78 | if [ -z "${NETCDF_LIBDIR}" ]; then 79 | export NETCDF_LIBDIR=${NETCDF_LIB:+${NETCDF_LIB}} 80 | if [ -z "${NETCDF_LIBDIR}" ]; then 81 | export NETCDF_LIBDIR=${NETCDF_HOME:+${NETCDF_HOME}/lib} 82 | fi 83 | fi 84 | 85 | if [ -z "${ESMFMKFILE}" ]; then 86 | echo "The variable ESMFMKFILE is not set. Please load the esmf module for your platform" 87 | echo "Exiting ..." 88 | exit 1 89 | else 90 | export ESMFMKFILE=${ESMFMKFILE} 91 | fi 92 | ########## END:: PLATFORM CUSTOMIZED SETTINGS ########## 93 | -------------------------------------------------------------------------------- /modulefiles/envmodules_pgi.cheyenne: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash-*-Shell-script-functions*- 2 | 3 | ########################################################################### 4 | ### Module File to load the required environment modules for the NEMS application 5 | ### 6 | ### Author: Panagiotis Velissariou 7 | ### Date: June 26 2021 8 | ########################################################################### 9 | 10 | #---------- 11 | [[ "$0" == "bash" || "$0" == "-bash" ]] && retv=return || retv=exit 12 | echo "$(basename ${BASH_SOURCE[0]}) :: This environment is either not configured or not supported" 13 | echo " Exiting ..." 14 | ${retv} 1 15 | #---------- 16 | 17 | #################### 18 | # Get the directory where the script is located 19 | if [[ $(uname -s) == Darwin ]]; then 20 | myDIRS="$(cd "$(dirname "$(grealpath -s "${BASH_SOURCE[0]}" )" )" && pwd -P)" 21 | else 22 | myDIRS="$(cd "$(dirname "$(realpath -s "${BASH_SOURCE[0]}" )" )" && pwd -P)" 23 | fi 24 | myDIRS="${myDIRS} . ${APPMODS_DIR}" 25 | #################### 26 | 27 | 28 | # This script is responsible for loading modules that are 29 | # compatible with the NUOPC Layer version used in NEMS. 30 | 31 | 32 | #################### 33 | ### (1) Load all needed environment modules. 34 | module purge 35 | module load cmake 36 | 37 | module load pgi impi 38 | module load szip hdf5 39 | module load netcdf 40 | module load esmf 41 | 42 | 43 | #################### 44 | ### (2) Set some environments varaiables related to the loaded 45 | ### modules and required to compile the NEMS application properly. 46 | funcs="$( find ${myDIRS} -type f -iname "PlatformFuncs" | head -n 1 )" 47 | if [ -f "${funcs}" ]; then 48 | source "${funcs}" 49 | 50 | get_env_hdf5 51 | get_env_netcdf 52 | fi 53 | unset funcs myDIRS 54 | 55 | 56 | ########## BEG:: PLATFORM CUSTOMIZED SETTINGS ########## 57 | # Is this needed in all systems? 58 | # If file locking is not allowed in the filesystem, or the 59 | # HDF5 locking mechanism is not compatible with the 60 | # OS locking mechanism, then HDF5 (>=1.10.x) throws errors like 61 | # access denied when trying to READ/WRITE NetCDF files. 62 | # On some platforms HDF5 locking is disabled on other it is not. 63 | # If you experience these problems uncomment the next line 64 | # (this should be done automatically when loading this file - todo). 65 | #export HDF5_USE_FILE_LOCKING=FALSE 66 | 67 | if [ -z "${NETCDF_CONFIG}" ]; then 68 | export NETCDF_CONFIG=${NETCDF_HOME:+${NETCDF_HOME}/bin/nc-config} 69 | fi 70 | 71 | if [ -z "${NETCDF_INCDIR}" ]; then 72 | export NETCDF_INCDIR=${NETCDF_INC:+${NETCDF_INC}} 73 | if [ -z "${NETCDF_INCDIR}" ]; then 74 | export NETCDF_INCDIR=${NETCDF_HOME:+${NETCDF_HOME}/include} 75 | fi 76 | fi 77 | 78 | if [ -z "${NETCDF_LIBDIR}" ]; then 79 | export NETCDF_LIBDIR=${NETCDF_LIB:+${NETCDF_LIB}} 80 | if [ -z "${NETCDF_LIBDIR}" ]; then 81 | export NETCDF_LIBDIR=${NETCDF_HOME:+${NETCDF_HOME}/lib} 82 | fi 83 | fi 84 | 85 | if [ -z "${ESMFMKFILE}" ]; then 86 | echo "The variable ESMFMKFILE is not set. Please load the esmf module for your platform" 87 | echo "Exiting ..." 88 | exit 1 89 | else 90 | export ESMFMKFILE=${ESMFMKFILE} 91 | fi 92 | ########## END:: PLATFORM CUSTOMIZED SETTINGS ########## 93 | -------------------------------------------------------------------------------- /modulefiles/envmodules_pgi.custom: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash-*-Shell-script-functions*- 2 | 3 | ########################################################################### 4 | ### Module File to load the required environment modules for the NEMS application 5 | ### 6 | ### Author: Panagiotis Velissariou 7 | ### Date: June 26 2021 8 | ########################################################################### 9 | 10 | #---------- 11 | [[ "$0" == "bash" || "$0" == "-bash" ]] && retv=return || retv=exit 12 | echo "$(basename ${BASH_SOURCE[0]}) :: This environment is either not configured or not supported" 13 | echo " Exiting ..." 14 | ${retv} 1 15 | #---------- 16 | 17 | #################### 18 | # Get the directory where the script is located 19 | if [[ $(uname -s) == Darwin ]]; then 20 | myDIRS="$(cd "$(dirname "$(grealpath -s "${BASH_SOURCE[0]}" )" )" && pwd -P)" 21 | else 22 | myDIRS="$(cd "$(dirname "$(realpath -s "${BASH_SOURCE[0]}" )" )" && pwd -P)" 23 | fi 24 | myDIRS="${myDIRS} . ${APPMODS_DIR}" 25 | #################### 26 | 27 | 28 | # This script is responsible for loading modules that are 29 | # compatible with the NUOPC Layer version used in NEMS. 30 | 31 | 32 | #################### 33 | ### (1) Load all needed environment modules. 34 | #module purge 35 | #module load cmake 36 | 37 | #module load pgi openmpi 38 | 39 | #module load hdf5 netcdf 40 | #module load proj 41 | #module load parmetis 42 | #module load esmf 43 | 44 | 45 | #################### 46 | ### (2) Set some environments varaiables related to the loaded 47 | ### modules and required to compile the NEMS application properly. 48 | funcs="$( find ${myDIRS} -type f -iname "PlatformFuncs" | head -n 1 )" 49 | if [ -f "${funcs}" ]; then 50 | source "${funcs}" 51 | 52 | get_env_hdf5 53 | get_env_netcdf 54 | fi 55 | unset funcs myDIRS 56 | 57 | 58 | ########## BEG:: PLATFORM CUSTOMIZED SETTINGS ########## 59 | # Is this needed in all systems? 60 | # If file locking is not allowed in the filesystem, or the 61 | # HDF5 locking mechanism is not compatible with the 62 | # OS locking mechanism, then HDF5 (>=1.10.x) throws errors like 63 | # access denied when trying to READ/WRITE NetCDF files. 64 | # On some platforms HDF5 locking is disabled on other it is not. 65 | # If you experience these problems uncomment the next line 66 | # (this should be done automatically when loading this file - todo). 67 | #export HDF5_USE_FILE_LOCKING=FALSE 68 | 69 | if [ -z "${NETCDF_CONFIG}" ]; then 70 | export NETCDF_CONFIG=${NETCDF_HOME:+${NETCDF_HOME}/bin/nc-config} 71 | fi 72 | 73 | if [ -z "${NETCDF_INCDIR}" ]; then 74 | export NETCDF_INCDIR=${NETCDF_INC:+${NETCDF_INC}} 75 | if [ -z "${NETCDF_INCDIR}" ]; then 76 | export NETCDF_INCDIR=${NETCDF_HOME:+${NETCDF_HOME}/include} 77 | fi 78 | fi 79 | 80 | if [ -z "${NETCDF_LIBDIR}" ]; then 81 | export NETCDF_LIBDIR=${NETCDF_LIB:+${NETCDF_LIB}} 82 | if [ -z "${NETCDF_LIBDIR}" ]; then 83 | export NETCDF_LIBDIR=${NETCDF_HOME:+${NETCDF_HOME}/lib} 84 | fi 85 | fi 86 | 87 | if [ -z "${ESMFMKFILE}" ]; then 88 | echo "The variable ESMFMKFILE is not set. Please load the esmf module for your platform" 89 | echo "Exiting ..." 90 | exit 1 91 | else 92 | export ESMFMKFILE=${ESMFMKFILE} 93 | fi 94 | ########## END:: PLATFORM CUSTOMIZED SETTINGS ########## 95 | -------------------------------------------------------------------------------- /modulefiles/envmodules_pgi.gaea: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash-*-Shell-script-functions*- 2 | 3 | ########################################################################### 4 | ### Module File to load the required environment modules for the NEMS application 5 | ### 6 | ### Author: Panagiotis Velissariou 7 | ### Date: June 26 2021 8 | ########################################################################### 9 | 10 | #---------- 11 | [[ "$0" == "bash" || "$0" == "-bash" ]] && retv=return || retv=exit 12 | echo "$(basename ${BASH_SOURCE[0]}) :: This environment is either not configured or not supported" 13 | echo " Exiting ..." 14 | ${retv} 1 15 | #---------- 16 | 17 | #################### 18 | # Get the directory where the script is located 19 | if [[ $(uname -s) == Darwin ]]; then 20 | myDIRS="$(cd "$(dirname "$(grealpath -s "${BASH_SOURCE[0]}" )" )" && pwd -P)" 21 | else 22 | myDIRS="$(cd "$(dirname "$(realpath -s "${BASH_SOURCE[0]}" )" )" && pwd -P)" 23 | fi 24 | myDIRS="${myDIRS} . ${APPMODS_DIR}" 25 | #################### 26 | 27 | 28 | # This script is responsible for loading modules that are 29 | # compatible with the NUOPC Layer version used in NEMS. 30 | 31 | 32 | #################### 33 | ### (1) Load all needed environment modules. 34 | module purge 35 | module load cmake 36 | 37 | module load pgi impi 38 | module load szip hdf5 39 | module load netcdf 40 | module load esmf 41 | 42 | 43 | #################### 44 | ### (2) Set some environments varaiables related to the loaded 45 | ### modules and required to compile the NEMS application properly. 46 | funcs="$( find ${myDIRS} -type f -iname "PlatformFuncs" | head -n 1 )" 47 | if [ -f "${funcs}" ]; then 48 | source "${funcs}" 49 | 50 | get_env_hdf5 51 | get_env_netcdf 52 | fi 53 | unset funcs myDIRS 54 | 55 | 56 | ########## BEG:: PLATFORM CUSTOMIZED SETTINGS ########## 57 | # Is this needed in all systems? 58 | # If file locking is not allowed in the filesystem, or the 59 | # HDF5 locking mechanism is not compatible with the 60 | # OS locking mechanism, then HDF5 (>=1.10.x) throws errors like 61 | # access denied when trying to READ/WRITE NetCDF files. 62 | # On some platforms HDF5 locking is disabled on other it is not. 63 | # If you experience these problems uncomment the next line 64 | # (this should be done automatically when loading this file - todo). 65 | #export HDF5_USE_FILE_LOCKING=FALSE 66 | 67 | if [ -z "${NETCDF_CONFIG}" ]; then 68 | export NETCDF_CONFIG=${NETCDF_HOME:+${NETCDF_HOME}/bin/nc-config} 69 | fi 70 | 71 | if [ -z "${NETCDF_INCDIR}" ]; then 72 | export NETCDF_INCDIR=${NETCDF_INC:+${NETCDF_INC}} 73 | if [ -z "${NETCDF_INCDIR}" ]; then 74 | export NETCDF_INCDIR=${NETCDF_HOME:+${NETCDF_HOME}/include} 75 | fi 76 | fi 77 | 78 | if [ -z "${NETCDF_LIBDIR}" ]; then 79 | export NETCDF_LIBDIR=${NETCDF_LIB:+${NETCDF_LIB}} 80 | if [ -z "${NETCDF_LIBDIR}" ]; then 81 | export NETCDF_LIBDIR=${NETCDF_HOME:+${NETCDF_HOME}/lib} 82 | fi 83 | fi 84 | 85 | if [ -z "${ESMFMKFILE}" ]; then 86 | echo "The variable ESMFMKFILE is not set. Please load the esmf module for your platform" 87 | echo "Exiting ..." 88 | exit 1 89 | else 90 | export ESMFMKFILE=${ESMFMKFILE} 91 | fi 92 | ########## END:: PLATFORM CUSTOMIZED SETTINGS ########## 93 | -------------------------------------------------------------------------------- /modulefiles/envmodules_pgi.hera: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash-*-Shell-script-functions*- 2 | 3 | ########################################################################### 4 | ### Module File to load the required environment modules for the NEMS application 5 | ### 6 | ### Author: Panagiotis Velissariou 7 | ### Date: June 26 2021 8 | ########################################################################### 9 | 10 | #---------- 11 | [[ "$0" == "bash" || "$0" == "-bash" ]] && retv=return || retv=exit 12 | echo "$(basename ${BASH_SOURCE[0]}) :: This environment is either not configured or not supported" 13 | echo " Exiting ..." 14 | ${retv} 1 15 | #---------- 16 | 17 | #################### 18 | # Get the directory where the script is located 19 | if [[ $(uname -s) == Darwin ]]; then 20 | myDIRS="$(cd "$(dirname "$(grealpath -s "${BASH_SOURCE[0]}" )" )" && pwd -P)" 21 | else 22 | myDIRS="$(cd "$(dirname "$(realpath -s "${BASH_SOURCE[0]}" )" )" && pwd -P)" 23 | fi 24 | myDIRS="${myDIRS} . ${APPMODS_DIR}" 25 | #################### 26 | 27 | 28 | # This script is responsible for loading modules that are 29 | # compatible with the NUOPC Layer version used in NEMS. 30 | 31 | 32 | #################### 33 | ### (1) Load all needed environment modules. 34 | module purge 35 | module load cmake 36 | 37 | module load pgi impi 38 | 39 | module load hdf5/1.10.6 netcdf/4.7.0 40 | # NOT AVAILABLE module load proj/4.8.0 41 | # NOT AVAILABLE module load parmetis/4.0.3 42 | # NOT AVAILABLE module load esmf/8.3.1 43 | 44 | 45 | ################### 46 | ### (2) Set some environments varaiables related to the loaded 47 | ### modules and required to compile the NEMS application properly. 48 | funcs="$( find ${myDIRS} -type f -iname "PlatformFuncs" | head -n 1 )" 49 | if [ -f "${funcs}" ]; then 50 | source "${funcs}" 51 | 52 | get_env_hdf5 53 | get_env_netcdf 54 | fi 55 | unset funcs myDIRS 56 | 57 | 58 | ########## BEG:: PLATFORM CUSTOMIZED SETTINGS ########## 59 | # Is this needed in all systems? 60 | # If file locking is not allowed in the filesystem, or the 61 | # HDF5 locking mechanism is not compatible with the 62 | # OS locking mechanism, then HDF5 (>=1.10.x) throws errors like 63 | # access denied when trying to READ/WRITE NetCDF files. 64 | # On some platforms HDF5 locking is disabled on other it is not. 65 | # If you experience these problems uncomment the next line 66 | # (this should be done automatically when loading this file - todo). 67 | #export HDF5_USE_FILE_LOCKING=FALSE 68 | 69 | if [ -z "${NETCDF_CONFIG}" ]; then 70 | export NETCDF_CONFIG=${NETCDF_HOME:+${NETCDF_HOME}/bin/nc-config} 71 | fi 72 | 73 | if [ -z "${NETCDF_INCDIR}" ]; then 74 | export NETCDF_INCDIR=${NETCDF_INC:+${NETCDF_INC}} 75 | if [ -z "${NETCDF_INCDIR}" ]; then 76 | export NETCDF_INCDIR=${NETCDF_HOME:+${NETCDF_HOME}/include} 77 | fi 78 | fi 79 | 80 | if [ -z "${NETCDF_LIBDIR}" ]; then 81 | export NETCDF_LIBDIR=${NETCDF_LIB:+${NETCDF_LIB}} 82 | if [ -z "${NETCDF_LIBDIR}" ]; then 83 | export NETCDF_LIBDIR=${NETCDF_HOME:+${NETCDF_HOME}/lib} 84 | fi 85 | fi 86 | 87 | if [ -z "${ESMFMKFILE}" ]; then 88 | echo "The variable ESMFMKFILE is not set. Please load the esmf module for your platform" 89 | echo "Exiting ..." 90 | exit 1 91 | else 92 | export ESMFMKFILE=${ESMFMKFILE} 93 | fi 94 | ########## END:: PLATFORM CUSTOMIZED SETTINGS ########## 95 | -------------------------------------------------------------------------------- /modulefiles/envmodules_pgi.jet: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash-*-Shell-script-functions*- 2 | 3 | ########################################################################### 4 | ### Module File to load the required environment modules for the NEMS application 5 | ### 6 | ### Author: Panagiotis Velissariou 7 | ### Date: June 26 2021 8 | ########################################################################### 9 | 10 | #---------- 11 | [[ "$0" == "bash" || "$0" == "-bash" ]] && retv=return || retv=exit 12 | echo "$(basename ${BASH_SOURCE[0]}) :: This environment is either not configured or not supported" 13 | echo " Exiting ..." 14 | ${retv} 1 15 | #---------- 16 | 17 | #################### 18 | # Get the directory where the script is located 19 | if [[ $(uname -s) == Darwin ]]; then 20 | myDIRS="$(cd "$(dirname "$(grealpath -s "${BASH_SOURCE[0]}" )" )" && pwd -P)" 21 | else 22 | myDIRS="$(cd "$(dirname "$(realpath -s "${BASH_SOURCE[0]}" )" )" && pwd -P)" 23 | fi 24 | myDIRS="${myDIRS} . ${APPMODS_DIR}" 25 | #################### 26 | 27 | 28 | # This script is responsible for loading modules that are 29 | # compatible with the NUOPC Layer version used in NEMS. 30 | 31 | 32 | #################### 33 | ### (1) Load all needed environment modules. 34 | module purge 35 | module load cmake 36 | 37 | module load pgi impi 38 | module load szip hdf5 39 | module load netcdf 40 | module load esmf 41 | 42 | 43 | #################### 44 | ### (2) Set some environments varaiables related to the loaded 45 | ### modules and required to compile the NEMS application properly. 46 | funcs="$( find ${myDIRS} -type f -iname "PlatformFuncs" | head -n 1 )" 47 | if [ -f "${funcs}" ]; then 48 | source "${funcs}" 49 | 50 | get_env_hdf5 51 | get_env_netcdf 52 | fi 53 | unset funcs myDIRS 54 | 55 | 56 | ########## BEG:: PLATFORM CUSTOMIZED SETTINGS ########## 57 | # Is this needed in all systems? 58 | # If file locking is not allowed in the filesystem, or the 59 | # HDF5 locking mechanism is not compatible with the 60 | # OS locking mechanism, then HDF5 (>=1.10.x) throws errors like 61 | # access denied when trying to READ/WRITE NetCDF files. 62 | # On some platforms HDF5 locking is disabled on other it is not. 63 | # If you experience these problems uncomment the next line 64 | # (this should be done automatically when loading this file - todo). 65 | #export HDF5_USE_FILE_LOCKING=FALSE 66 | 67 | if [ -z "${NETCDF_CONFIG}" ]; then 68 | export NETCDF_CONFIG=${NETCDF_HOME:+${NETCDF_HOME}/bin/nc-config} 69 | fi 70 | 71 | if [ -z "${NETCDF_INCDIR}" ]; then 72 | export NETCDF_INCDIR=${NETCDF_INC:+${NETCDF_INC}} 73 | if [ -z "${NETCDF_INCDIR}" ]; then 74 | export NETCDF_INCDIR=${NETCDF_HOME:+${NETCDF_HOME}/include} 75 | fi 76 | fi 77 | 78 | if [ -z "${NETCDF_LIBDIR}" ]; then 79 | export NETCDF_LIBDIR=${NETCDF_LIB:+${NETCDF_LIB}} 80 | if [ -z "${NETCDF_LIBDIR}" ]; then 81 | export NETCDF_LIBDIR=${NETCDF_HOME:+${NETCDF_HOME}/lib} 82 | fi 83 | fi 84 | 85 | if [ -z "${ESMFMKFILE}" ]; then 86 | echo "The variable ESMFMKFILE is not set. Please load the esmf module for your platform" 87 | echo "Exiting ..." 88 | exit 1 89 | else 90 | export ESMFMKFILE=${ESMFMKFILE} 91 | fi 92 | ########## END:: PLATFORM CUSTOMIZED SETTINGS ########## 93 | -------------------------------------------------------------------------------- /modulefiles/envmodules_pgi.linux: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash-*-Shell-script-functions*- 2 | 3 | ########################################################################### 4 | ### Module File to load the required environment modules for the NEMS application 5 | ### 6 | ### Author: Panagiotis Velissariou 7 | ### Date: June 26 2021 8 | ########################################################################### 9 | 10 | 11 | #################### 12 | # Get the directory where the script is located 13 | if [[ $(uname -s) == Darwin ]]; then 14 | myDIRS="$(cd "$(dirname "$(grealpath -s "${BASH_SOURCE[0]}" )" )" && pwd -P)" 15 | else 16 | myDIRS="$(cd "$(dirname "$(realpath -s "${BASH_SOURCE[0]}" )" )" && pwd -P)" 17 | fi 18 | myDIRS="${myDIRS} . ${APPMODS_DIR}" 19 | #################### 20 | 21 | 22 | # This script is responsible for loading modules that are 23 | # compatible with the NUOPC Layer version used in NEMS. 24 | 25 | #################### 26 | ### (1) Load all needed environment modules. 27 | module purge 28 | module load cmake 29 | 30 | module load pgi openmpi 31 | 32 | module load hdf5 netcdf 33 | module load proj 34 | module load parmetis 35 | module load esmf 36 | 37 | 38 | #################### 39 | ### (2) Set some environments varaiables related to the loaded 40 | ### modules and required to compile the NEMS application properly. 41 | funcs="$( find ${myDIRS} -type f -iname "PlatformFuncs" | head -n 1 )" 42 | if [ -f "${funcs}" ]; then 43 | source "${funcs}" 44 | 45 | get_env_hdf5 46 | get_env_netcdf 47 | fi 48 | unset funcs myDIRS 49 | 50 | 51 | ########## BEG:: PLATFORM CUSTOMIZED SETTINGS ########## 52 | # Is this needed in all systems? 53 | # If file locking is not allowed in the filesystem, or the 54 | # HDF5 locking mechanism is not compatible with the 55 | # OS locking mechanism, then HDF5 (>=1.10.x) throws errors like 56 | # access denied when trying to READ/WRITE NetCDF files. 57 | # On some platforms HDF5 locking is disabled on other it is not. 58 | # If you experience these problems uncomment the next line 59 | # (this should be done automatically when loading this file - todo). 60 | #export HDF5_USE_FILE_LOCKING=FALSE 61 | 62 | if [ -z "${NETCDF_CONFIG}" ]; then 63 | export NETCDF_CONFIG=${NETCDF_HOME:+${NETCDF_HOME}/bin/nc-config} 64 | fi 65 | 66 | if [ -z "${NETCDF_INCDIR}" ]; then 67 | export NETCDF_INCDIR=${NETCDF_INC:+${NETCDF_INC}} 68 | if [ -z "${NETCDF_INCDIR}" ]; then 69 | export NETCDF_INCDIR=${NETCDF_HOME:+${NETCDF_HOME}/include} 70 | fi 71 | fi 72 | 73 | if [ -z "${NETCDF_LIBDIR}" ]; then 74 | export NETCDF_LIBDIR=${NETCDF_LIB:+${NETCDF_LIB}} 75 | if [ -z "${NETCDF_LIBDIR}" ]; then 76 | export NETCDF_LIBDIR=${NETCDF_HOME:+${NETCDF_HOME}/lib} 77 | fi 78 | fi 79 | 80 | if [ -z "${ESMFMKFILE}" ]; then 81 | echo "The variable ESMFMKFILE is not set. Please load the esmf module for your platform" 82 | echo "Exiting ..." 83 | exit 1 84 | else 85 | export ESMFMKFILE=${ESMFMKFILE} 86 | fi 87 | ########## END:: PLATFORM CUSTOMIZED SETTINGS ########## 88 | -------------------------------------------------------------------------------- /modulefiles/envmodules_pgi.macosx: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash-*-Shell-script-functions*- 2 | 3 | ########################################################################### 4 | ### Module File to load the required environment modules for the NEMS application 5 | ### 6 | ### Author: Panagiotis Velissariou 7 | ### Date: June 26 2021 8 | ########################################################################### 9 | 10 | #---------- 11 | [[ "$0" == "bash" || "$0" == "-bash" ]] && retv=return || retv=exit 12 | echo "$(basename ${BASH_SOURCE[0]}) :: This environment is either not configured or not supported" 13 | echo " Exiting ..." 14 | ${retv} 1 15 | #---------- 16 | 17 | #################### 18 | # Get the directory where the script is located 19 | if [[ $(uname -s) == Darwin ]]; then 20 | myDIRS="$(cd "$(dirname "$(grealpath -s "${BASH_SOURCE[0]}" )" )" && pwd -P)" 21 | else 22 | myDIRS="$(cd "$(dirname "$(realpath -s "${BASH_SOURCE[0]}" )" )" && pwd -P)" 23 | fi 24 | myDIRS="${myDIRS} . ${APPMODS_DIR}" 25 | #################### 26 | 27 | 28 | # This script is responsible for loading modules that are 29 | # compatible with the NUOPC Layer version used in NEMS. 30 | 31 | 32 | #################### 33 | ### (1) Load all needed environment modules. 34 | module purge 35 | module load cmake 36 | 37 | module load pgi impi 38 | 39 | module load szip hdf5 40 | module load netcdf 41 | module load esmf 42 | 43 | 44 | #################### 45 | ### (2) Set some environments varaiables related to the loaded 46 | ### modules and required to compile the NEMS application properly. 47 | funcs="$( find ${myDIRS} -type f -iname "PlatformFuncs" | head -n 1 )" 48 | if [ -f "${funcs}" ]; then 49 | source "${funcs}" 50 | 51 | get_env_hdf5 52 | get_env_netcdf 53 | fi 54 | unset funcs myDIRS 55 | 56 | 57 | ########## BEG:: PLATFORM CUSTOMIZED SETTINGS ########## 58 | # Is this needed in all systems? 59 | # If file locking is not allowed in the filesystem, or the 60 | # HDF5 locking mechanism is not compatible with the 61 | # OS locking mechanism, then HDF5 (>=1.10.x) throws errors like 62 | # access denied when trying to READ/WRITE NetCDF files. 63 | # On some platforms HDF5 locking is disabled on other it is not. 64 | # If you experience these problems uncomment the next line 65 | # (this should be done automatically when loading this file - todo). 66 | #export HDF5_USE_FILE_LOCKING=FALSE 67 | 68 | if [ -z "${NETCDF_CONFIG}" ]; then 69 | export NETCDF_CONFIG=${NETCDF_HOME:+${NETCDF_HOME}/bin/nc-config} 70 | fi 71 | 72 | if [ -z "${NETCDF_INCDIR}" ]; then 73 | export NETCDF_INCDIR=${NETCDF_INC:+${NETCDF_INC}} 74 | if [ -z "${NETCDF_INCDIR}" ]; then 75 | export NETCDF_INCDIR=${NETCDF_HOME:+${NETCDF_HOME}/include} 76 | fi 77 | fi 78 | 79 | if [ -z "${NETCDF_LIBDIR}" ]; then 80 | export NETCDF_LIBDIR=${NETCDF_LIB:+${NETCDF_LIB}} 81 | if [ -z "${NETCDF_LIBDIR}" ]; then 82 | export NETCDF_LIBDIR=${NETCDF_HOME:+${NETCDF_HOME}/lib} 83 | fi 84 | fi 85 | 86 | if [ -z "${ESMFMKFILE}" ]; then 87 | echo "The variable ESMFMKFILE is not set. Please load the esmf module for your platform" 88 | echo "Exiting ..." 89 | exit 1 90 | else 91 | export ESMFMKFILE=${ESMFMKFILE} 92 | fi 93 | ########## END:: PLATFORM CUSTOMIZED SETTINGS ########## 94 | -------------------------------------------------------------------------------- /modulefiles/envmodules_pgi.mistral: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash-*-Shell-script-functions*- 2 | 3 | ########################################################################### 4 | ### Module File to load the required environment modules for the NEMS application 5 | ### 6 | ### Author: Panagiotis Velissariou 7 | ### Date: June 26 2021 8 | ########################################################################### 9 | 10 | #---------- 11 | [[ "$0" == "bash" || "$0" == "-bash" ]] && retv=return || retv=exit 12 | echo "$(basename ${BASH_SOURCE[0]}) :: This environment is either not configured or not supported" 13 | echo " Exiting ..." 14 | ${retv} 1 15 | #---------- 16 | 17 | #################### 18 | # Get the directory where the script is located 19 | if [[ $(uname -s) == Darwin ]]; then 20 | myDIRS="$(cd "$(dirname "$(grealpath -s "${BASH_SOURCE[0]}" )" )" && pwd -P)" 21 | else 22 | myDIRS="$(cd "$(dirname "$(realpath -s "${BASH_SOURCE[0]}" )" )" && pwd -P)" 23 | fi 24 | myDIRS="${myDIRS} . ${APPMODS_DIR}" 25 | #################### 26 | 27 | 28 | # This script is responsible for loading modules that are 29 | # compatible with the NUOPC Layer version used in NEMS. 30 | 31 | 32 | #################### 33 | ### (1) Load all needed environment modules. 34 | module purge 35 | module load cmake/3.17.1-gcc-9.1.0 36 | 37 | module load pgi openmpi 38 | 39 | module load netcdf-c 40 | module load netcdf-fortran 41 | module load esmf 42 | 43 | 44 | #################### 45 | ### (2) Set some environments varaiables related to the loaded 46 | ### modules and required to compile the NEMS application properly. 47 | funcs="$( find ${myDIRS} -type f -iname "PlatformFuncs" | head -n 1 )" 48 | if [ -f "${funcs}" ]; then 49 | source "${funcs}" 50 | 51 | get_env_hdf5 52 | get_env_netcdf 53 | fi 54 | unset funcs myDIRS 55 | 56 | 57 | ########## BEG:: PLATFORM CUSTOMIZED SETTINGS ########## 58 | # Is this needed in all systems? 59 | # If file locking is not allowed in the filesystem, or the 60 | # HDF5 locking mechanism is not compatible with the 61 | # OS locking mechanism, then HDF5 (>=1.10.x) throws errors like 62 | # access denied when trying to READ/WRITE NetCDF files. 63 | # On some platforms HDF5 locking is disabled on other it is not. 64 | # If you experience these problems uncomment the next line 65 | # (this should be done automatically when loading this file - todo). 66 | #export HDF5_USE_FILE_LOCKING=FALSE 67 | 68 | # use this more complicated one to address ADCIRC demands 69 | export NETCDFHOME="$(nf-config --prefix)/include $(nf-config --flibs) $(nc-config --prefix)" 70 | export NETCDFPATH=$(nc-config --prefix) 71 | export NETCDF_CONFIG=${NETCDFHOME:+${NETCDFHOME}/bin/nc-config} 72 | 73 | export NETCDF_INCDIR="$(nc-config --includedir) -I$(nf-config --includedir)" 74 | export NETCDF_LIBDIR="$(nc-config --prefix)/lib $(nf-config --flibs)" 75 | 76 | if [ -z "${ESMFMKFILE}" ]; then 77 | echo "The variable ESMFMKFILE is not set. Please load the esmf module for your platform" 78 | echo "Exiting ..." 79 | exit 1 80 | else 81 | export ESMFMKFILE=${ESMFMKFILE} 82 | fi 83 | ########## END:: PLATFORM CUSTOMIZED SETTINGS ########## 84 | -------------------------------------------------------------------------------- /modulefiles/envmodules_pgi.orion: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash-*-Shell-script-functions*- 2 | 3 | ########################################################################### 4 | ### Module File to load the required environment modules for the NEMS application 5 | ### 6 | ### Author: Panagiotis Velissariou 7 | ### Date: June 26 2021 8 | ########################################################################### 9 | 10 | #---------- 11 | [[ "$0" == "bash" || "$0" == "-bash" ]] && retv=return || retv=exit 12 | echo "$(basename ${BASH_SOURCE[0]}) :: This environment is either not configured or not supported" 13 | echo " Exiting ..." 14 | ${retv} 1 15 | #---------- 16 | 17 | #################### 18 | # Get the directory where the script is located 19 | if [[ $(uname -s) == Darwin ]]; then 20 | myDIRS="$(cd "$(dirname "$(grealpath -s "${BASH_SOURCE[0]}" )" )" && pwd -P)" 21 | else 22 | myDIRS="$(cd "$(dirname "$(realpath -s "${BASH_SOURCE[0]}" )" )" && pwd -P)" 23 | fi 24 | myDIRS="${myDIRS} . ${APPMODS_DIR}" 25 | #################### 26 | 27 | 28 | # This script is responsible for loading modules that are 29 | # compatible with the NUOPC Layer version used in NEMS. 30 | 31 | #################### 32 | ### (1) Load all needed environment modules. 33 | module purge 34 | module load cmake 35 | 36 | module load pgi impi 37 | #module load pgi openmpi 38 | 39 | module load hdf5 netcdf 40 | # NOT AVAILABLE module module load proj 41 | # NOT AVAILABLE module module load parmetis 42 | # NOT AVAILABLE module module load esmf 43 | 44 | 45 | #################### 46 | ### (2) Set some environments varaiables related to the loaded 47 | ### modules and required to compile the NEMS application properly. 48 | funcs="$( find ${myDIRS} -type f -iname "PlatformFuncs" | head -n 1 )" 49 | if [ -f "${funcs}" ]; then 50 | source "${funcs}" 51 | 52 | get_env_hdf5 53 | get_env_netcdf 54 | fi 55 | unset funcs myDIRS 56 | 57 | 58 | ########## BEG:: PLATFORM CUSTOMIZED SETTINGS ########## 59 | # Is this needed in all systems? 60 | # If file locking is not allowed in the filesystem, or the 61 | # HDF5 locking mechanism is not compatible with the 62 | # OS locking mechanism, then HDF5 (>=1.10.x) throws errors like 63 | # access denied when trying to READ/WRITE NetCDF files. 64 | # On some platforms HDF5 locking is disabled on other it is not. 65 | # If you experience these problems uncomment the next line 66 | # (this should be done automatically when loading this file - todo). 67 | #export HDF5_USE_FILE_LOCKING=FALSE 68 | 69 | if [ -z "${NETCDF_CONFIG}" ]; then 70 | export NETCDF_CONFIG=${NETCDF_HOME:+${NETCDF_HOME}/bin/nc-config} 71 | fi 72 | 73 | if [ -z "${NETCDF_INCDIR}" ]; then 74 | export NETCDF_INCDIR=${NETCDF_INCLUDE_DIRS:+${NETCDF_INCLUDE_DIRS}} 75 | if [ -z "${NETCDF_INCDIR}" ]; then 76 | export NETCDF_INCDIR=${NETCDF_HOME:+${NETCDF_HOME}/include} 77 | fi 78 | fi 79 | 80 | if [ -z "${NETCDF_LIBDIR}" ]; then 81 | export NETCDF_LIBDIR=${NETCDF_LIBRARY_DIRS:+${NETCDF_LIBRARY_DIRS}} 82 | if [ -z "${NETCDF_LIBDIR}" ]; then 83 | export NETCDF_LIBDIR=${NETCDF_HOME:+${NETCDF_HOME}/lib} 84 | fi 85 | fi 86 | 87 | if [ -z "${ESMFMKFILE}" ]; then 88 | echo "The variable ESMFMKFILE is not set. Please load the esmf module for your platform" 89 | echo "Exiting ..." 90 | exit 1 91 | else 92 | export ESMFMKFILE=${ESMFMKFILE} 93 | fi 94 | ########## END:: PLATFORM CUSTOMIZED SETTINGS ########## 95 | -------------------------------------------------------------------------------- /modulefiles/envmodules_pgi.pworks: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash-*-Shell-script-functions*- 2 | 3 | ########################################################################### 4 | ### Module File to load the required environment modules for the NEMS application 5 | ### 6 | ### Author: Panagiotis Velissariou 7 | ### Date: June 26 2021 8 | ########################################################################### 9 | 10 | #---------- 11 | [[ "$0" == "bash" || "$0" == "-bash" ]] && retv=return || retv=exit 12 | echo "$(basename ${BASH_SOURCE[0]}) :: This environment is either not configured or not supported" 13 | echo " Exiting ..." 14 | ${retv} 1 15 | #---------- 16 | 17 | #################### 18 | # Get the directory where the script is located 19 | if [[ $(uname -s) == Darwin ]]; then 20 | myDIRS="$(cd "$(dirname "$(grealpath -s "${BASH_SOURCE[0]}" )" )" && pwd -P)" 21 | else 22 | myDIRS="$(cd "$(dirname "$(realpath -s "${BASH_SOURCE[0]}" )" )" && pwd -P)" 23 | fi 24 | myDIRS="${myDIRS} . ${APPMODS_DIR}" 25 | #################### 26 | 27 | 28 | # This script is responsible for loading modules that are 29 | # compatible with the NUOPC Layer version used in NEMS. 30 | 31 | 32 | #################### 33 | ### (1) Load all needed environment modules. 34 | module purge 35 | module load cmake 36 | 37 | module load pgi impi 38 | 39 | module load hdf5/1.10.6 netcdf/4.7.0 40 | # NOT AVAILABLE module load proj/4.8.0 41 | # NOT AVAILABLE module load parmetis/4.0.3 42 | # NOT AVAILABLE module load esmf/8.3.1 43 | 44 | 45 | ################### 46 | ### (2) Set some environments varaiables related to the loaded 47 | ### modules and required to compile the NEMS application properly. 48 | funcs="$( find ${myDIRS} -type f -iname "PlatformFuncs" | head -n 1 )" 49 | if [ -f "${funcs}" ]; then 50 | source "${funcs}" 51 | 52 | get_env_hdf5 53 | get_env_netcdf 54 | fi 55 | unset funcs myDIRS 56 | 57 | 58 | ########## BEG:: PLATFORM CUSTOMIZED SETTINGS ########## 59 | # Is this needed in all systems? 60 | # If file locking is not allowed in the filesystem, or the 61 | # HDF5 locking mechanism is not compatible with the 62 | # OS locking mechanism, then HDF5 (>=1.10.x) throws errors like 63 | # access denied when trying to READ/WRITE NetCDF files. 64 | # On some platforms HDF5 locking is disabled on other it is not. 65 | # If you experience these problems uncomment the next line 66 | # (this should be done automatically when loading this file - todo). 67 | #export HDF5_USE_FILE_LOCKING=FALSE 68 | 69 | if [ -z "${NETCDF_CONFIG}" ]; then 70 | export NETCDF_CONFIG=${NETCDF_HOME:+${NETCDF_HOME}/bin/nc-config} 71 | fi 72 | 73 | if [ -z "${NETCDF_INCDIR}" ]; then 74 | export NETCDF_INCDIR=${NETCDF_INC:+${NETCDF_INC}} 75 | if [ -z "${NETCDF_INCDIR}" ]; then 76 | export NETCDF_INCDIR=${NETCDF_HOME:+${NETCDF_HOME}/include} 77 | fi 78 | fi 79 | 80 | if [ -z "${NETCDF_LIBDIR}" ]; then 81 | export NETCDF_LIBDIR=${NETCDF_LIB:+${NETCDF_LIB}} 82 | if [ -z "${NETCDF_LIBDIR}" ]; then 83 | export NETCDF_LIBDIR=${NETCDF_HOME:+${NETCDF_HOME}/lib} 84 | fi 85 | fi 86 | 87 | if [ -z "${ESMFMKFILE}" ]; then 88 | echo "The variable ESMFMKFILE is not set. Please load the esmf module for your platform" 89 | echo "Exiting ..." 90 | exit 1 91 | else 92 | export ESMFMKFILE=${ESMFMKFILE} 93 | fi 94 | ########## END:: PLATFORM CUSTOMIZED SETTINGS ########## 95 | -------------------------------------------------------------------------------- /modulefiles/envmodules_pgi.strand: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash-*-Shell-script-functions*- 2 | 3 | ########################################################################### 4 | ### Module File to load the required environment modules for the NEMS application 5 | ### 6 | ### Author: Panagiotis Velissariou 7 | ### Date: June 26 2021 8 | ########################################################################### 9 | 10 | #---------- 11 | [[ "$0" == "bash" || "$0" == "-bash" ]] && retv=return || retv=exit 12 | echo "$(basename ${BASH_SOURCE[0]}) :: This environment is either not configured or not supported" 13 | echo " Exiting ..." 14 | ${retv} 1 15 | #---------- 16 | 17 | #################### 18 | # Get the directory where the script is located 19 | if [[ $(uname -s) == Darwin ]]; then 20 | myDIRS="$(cd "$(dirname "$(grealpath -s "${BASH_SOURCE[0]}" )" )" && pwd -P)" 21 | else 22 | myDIRS="$(cd "$(dirname "$(realpath -s "${BASH_SOURCE[0]}" )" )" && pwd -P)" 23 | fi 24 | myDIRS="${myDIRS} . ${APPMODS_DIR}" 25 | #################### 26 | 27 | 28 | # This script is responsible for loading modules that are 29 | # compatible with the NUOPC Layer version used in NEMS. 30 | 31 | 32 | #################### 33 | ### Load all needed environment modules. 34 | module purge 35 | module load applications/utils/cmake3-20.0 36 | 37 | module load pgi openmpi 38 | 39 | module load hdf5/1.10.5 netcdf/4.7.0 40 | module load esmf/8.1.0 41 | 42 | 43 | #################### 44 | ### (2) Set some environments varaiables related to the loaded 45 | ### modules and required to compile the NEMS application properly. 46 | funcs="$( find ${myDIRS} -type f -iname "PlatformFuncs" | head -n 1 )" 47 | if [ -f "${funcs}" ]; then 48 | source "${funcs}" 49 | 50 | get_env_hdf5 51 | get_env_netcdf 52 | fi 53 | unset funcs myDIRS 54 | 55 | 56 | ########## BEG:: PLATFORM CUSTOMIZED SETTINGS ########## 57 | # Is this needed in all systems? 58 | # If file locking is not allowed in the filesystem, or the 59 | # HDF5 locking mechanism is not compatible with the 60 | # OS locking mechanism, then HDF5 (>=1.10.x) throws errors like 61 | # access denied when trying to READ/WRITE NetCDF files. 62 | # On some platforms HDF5 locking is disabled on other it is not. 63 | # If you experience these problems uncomment the next line 64 | # (this should be done automatically when loading this file - todo). 65 | #export HDF5_USE_FILE_LOCKING=FALSE 66 | 67 | export NETCDF=$(nc-config --prefix) 68 | export NETCDFHOME=$(nc-config --prefix) 69 | 70 | if [ -z "${NETCDF_CONFIG}" ]; then 71 | export NETCDF_CONFIG=${NETCDFHOME:+${NETCDFHOME}/bin/nc-config} 72 | fi 73 | 74 | if [ -z "${NETCDF_INCDIR}" ]; then 75 | export NETCDF_INCDIR=${NETCDF_INC:+${NETCDF_INC}} 76 | if [ -z "${NETCDF_INCDIR}" ]; then 77 | export NETCDF_INCDIR=${NETCDFHOME:+${NETCDFHOME}/include} 78 | fi 79 | fi 80 | 81 | if [ -z "${NETCDF_LIBDIR}" ]; then 82 | export NETCDF_LIBDIR=${NETCDF_LIB:+${NETCDF_LIB}} 83 | if [ -z "${NETCDF_LIBDIR}" ]; then 84 | export NETCDF_LIBDIR=${NETCDFHOME:+${NETCDFHOME}/lib} 85 | fi 86 | fi 87 | 88 | if [ -z "${ESMFMKFILE}" ]; then 89 | echo "The variable ESMFMKFILE is not set. Please load the esmf module for your platform" 90 | echo "Exiting ..." 91 | exit 1 92 | else 93 | export ESMFMKFILE=${ESMFMKFILE} 94 | fi 95 | ########## END:: PLATFORM CUSTOMIZED SETTINGS ########## 96 | -------------------------------------------------------------------------------- /modulefiles/envmodules_pgi.tacc: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash-*-Shell-script-functions*- 2 | 3 | ########################################################################### 4 | ### Module File to load the required environment modules for the NEMS application 5 | ### 6 | ### Author: Panagiotis Velissariou 7 | ### Date: June 26 2021 8 | ########################################################################### 9 | 10 | #---------- 11 | [[ "$0" == "bash" || "$0" == "-bash" ]] && retv=return || retv=exit 12 | echo "$(basename ${BASH_SOURCE[0]}) :: This environment is either not configured or not supported" 13 | echo " Exiting ..." 14 | ${retv} 1 15 | #---------- 16 | 17 | #################### 18 | # Get the directory where the script is located 19 | if [[ $(uname -s) == Darwin ]]; then 20 | myDIRS="$(cd "$(dirname "$(grealpath -s "${BASH_SOURCE[0]}" )" )" && pwd -P)" 21 | else 22 | myDIRS="$(cd "$(dirname "$(realpath -s "${BASH_SOURCE[0]}" )" )" && pwd -P)" 23 | fi 24 | myDIRS="${myDIRS} . ${APPMODS_DIR}" 25 | #################### 26 | 27 | 28 | # This script is responsible for loading modules that are 29 | # compatible with the NUOPC Layer version used in NEMS. 30 | 31 | 32 | #################### 33 | ### (1) Load all needed environment modules. 34 | module purge 35 | module load cmake 36 | 37 | module load pgi impi 38 | #module load pgi openmpi 39 | 40 | module load hdf5 netcdf 41 | # NOT AVAILABLE module load proj 42 | # NOT AVAILABLE module load parmetis 43 | # NOT AVAILABLE module load esmf 44 | 45 | 46 | #################### 47 | ### (2) Set some environments varaiables related to the loaded 48 | ### modules and required to compile the NEMS application properly. 49 | funcs="$( find ${myDIRS} -type f -iname "PlatformFuncs" | head -n 1 )" 50 | if [ -f "${funcs}" ]; then 51 | source "${funcs}" 52 | 53 | get_env_hdf5 TACC_HDF5_DIR 54 | get_env_netcdf TACC_NETCDF_DIR 55 | fi 56 | unset funcs myDIRS 57 | 58 | 59 | ########## BEG:: PLATFORM CUSTOMIZED SETTINGS ########## 60 | # Is this needed in all systems? 61 | # If file locking is not allowed in the filesystem, or the 62 | # HDF5 locking mechanism is not compatible with the 63 | # OS locking mechanism, then HDF5 (>=1.10.x) throws errors like 64 | # access denied when trying to READ/WRITE NetCDF files. 65 | # On some platforms HDF5 locking is disabled on other it is not. 66 | # If you experience these problems uncomment the next line 67 | # (this should be done automatically when loading this file - todo). 68 | #export HDF5_USE_FILE_LOCKING=FALSE 69 | 70 | if [ -z "${NETCDF_CONFIG}" ]; then 71 | export NETCDF_CONFIG=${TACC_NETCDF_BIN:+${TACC_NETCDF_BIN}/nc-config} 72 | if [ -z "${NETCDF_CONFIG}" ]; then 73 | export NETCDF_CONFIG=${NETCDF_HOME:+${NETCDF_HOME}/bin/nc-config} 74 | fi 75 | fi 76 | 77 | if [ -z "${NETCDF_INCDIR}" ]; then 78 | export NETCDF_INCDIR=${TACC_NETCDF_INC:+${TACC_NETCDF_INC}} 79 | if [ -z "${NETCDF_INCDIR}" ]; then 80 | export NETCDF_INCDIR=${NETCDF_HOME:+${NETCDF_HOME}/include} 81 | fi 82 | fi 83 | 84 | if [ -z "${NETCDF_LIBDIR}" ]; then 85 | export NETCDF_LIBDIR=${TACC_NETCDF_LIB:+${TACC_NETCDF_LIB}} 86 | if [ -z "${NETCDF_LIBDIR}" ]; then 87 | export NETCDF_LIBDIR=${NETCDF_HOME:+${NETCDF_HOME}/lib} 88 | fi 89 | fi 90 | 91 | if [ -z "${ESMFMKFILE}" ]; then 92 | echo "The variable ESMFMKFILE is not set. Please load the esmf module for your platform" 93 | echo "Exiting ..." 94 | exit 1 95 | else 96 | export ESMFMKFILE=${ESMFMKFILE} 97 | fi 98 | ########## END:: PLATFORM CUSTOMIZED SETTINGS ########## 99 | -------------------------------------------------------------------------------- /modulefiles/envmodules_pgi.wcoss: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash-*-Shell-script-functions*- 2 | 3 | ########################################################################### 4 | ### Module File to load the required environment modules for the NEMS application 5 | ### 6 | ### Author: Panagiotis Velissariou 7 | ### Date: June 26 2021 8 | ########################################################################### 9 | 10 | #---------- 11 | [[ "$0" == "bash" || "$0" == "-bash" ]] && retv=return || retv=exit 12 | echo "$(basename ${BASH_SOURCE[0]}) :: This environment is either not configured or not supported" 13 | echo " Exiting ..." 14 | ${retv} 1 15 | #---------- 16 | 17 | #################### 18 | # Get the directory where the script is located 19 | if [[ $(uname -s) == Darwin ]]; then 20 | myDIRS="$(cd "$(dirname "$(grealpath -s "${BASH_SOURCE[0]}" )" )" && pwd -P)" 21 | else 22 | myDIRS="$(cd "$(dirname "$(realpath -s "${BASH_SOURCE[0]}" )" )" && pwd -P)" 23 | fi 24 | myDIRS="${myDIRS} . ${APPMODS_DIR}" 25 | #################### 26 | 27 | 28 | # This script is responsible for loading modules that are 29 | # compatible with the NUOPC Layer version used in NEMS. 30 | 31 | 32 | #################### 33 | ### (1) Load all needed environment modules. 34 | module purge 35 | module load cmake 36 | 37 | module load pgi impi 38 | 39 | module load szip hdf5 40 | module load netcdf 41 | module load esmf 42 | 43 | 44 | #################### 45 | ### (2) Set some environments varaiables related to the loaded 46 | ### modules and required to compile the NEMS application properly. 47 | funcs="$( find ${myDIRS} -type f -iname "PlatformFuncs" | head -n 1 )" 48 | if [ -f "${funcs}" ]; then 49 | source "${funcs}" 50 | 51 | get_env_hdf5 52 | get_env_netcdf 53 | fi 54 | unset funcs myDIRS 55 | 56 | 57 | ########## BEG:: PLATFORM CUSTOMIZED SETTINGS ########## 58 | # Is this needed in all systems? 59 | # If file locking is not allowed in the filesystem, or the 60 | # HDF5 locking mechanism is not compatible with the 61 | # OS locking mechanism, then HDF5 (>=1.10.x) throws errors like 62 | # access denied when trying to READ/WRITE NetCDF files. 63 | # On some platforms HDF5 locking is disabled on other it is not. 64 | # If you experience these problems uncomment the next line 65 | # (this should be done automatically when loading this file - todo). 66 | #export HDF5_USE_FILE_LOCKING=FALSE 67 | 68 | if [ -z "${NETCDF_CONFIG}" ]; then 69 | export NETCDF_CONFIG=${NETCDF_HOME:+${NETCDF_HOME}/bin/nc-config} 70 | fi 71 | 72 | if [ -z "${NETCDF_INCDIR}" ]; then 73 | export NETCDF_INCDIR=${NETCDF_INC:+${NETCDF_INC}} 74 | if [ -z "${NETCDF_INCDIR}" ]; then 75 | export NETCDF_INCDIR=${NETCDF_HOME:+${NETCDF_HOME}/include} 76 | fi 77 | fi 78 | 79 | if [ -z "${NETCDF_LIBDIR}" ]; then 80 | export NETCDF_LIBDIR=${NETCDF_LIB:+${NETCDF_LIB}} 81 | if [ -z "${NETCDF_LIBDIR}" ]; then 82 | export NETCDF_LIBDIR=${NETCDF_HOME:+${NETCDF_HOME}/lib} 83 | fi 84 | fi 85 | 86 | if [ -z "${ESMFMKFILE}" ]; then 87 | echo "The variable ESMFMKFILE is not set. Please load the esmf module for your platform" 88 | echo "Exiting ..." 89 | exit 1 90 | else 91 | export ESMFMKFILE=${ESMFMKFILE} 92 | fi 93 | ########## END:: PLATFORM CUSTOMIZED SETTINGS ########## 94 | -------------------------------------------------------------------------------- /nems.configure.sample: -------------------------------------------------------------------------------- 1 | ############################################# 2 | #### NEMS Run-Time Configuration File ##### 3 | ############################################# 4 | 5 | # EARTH # 6 | EARTH_component_list: ATM OCN WAV NWM 7 | EARTH_attributes:: 8 | Verbosity = max 9 | :: 10 | 11 | # ATM # 12 | ATM_model: atmesh 13 | ATM_petlist_bounds: 11 11 14 | ATM_attributes:: 15 | Verbosity = max 16 | :: 17 | 18 | # OCN # 19 | OCN_model: adcirc 20 | OCN_petlist_bounds: 0 10 21 | OCN_attributes:: 22 | Verbosity = max 23 | :: 24 | 25 | # WAV # 26 | WAV_model: ww3data 27 | WAV_petlist_bounds: 12 12 28 | WAV_attributes:: 29 | Verbosity = max 30 | :: 31 | 32 | # HYD # 33 | NWM_model: nwm 34 | NWM_petlist_bounds: 13 781 35 | NWM_attributes:: 36 | Verbosity = max 37 | :: 38 | 39 | 40 | # Run Sequence # 41 | runSeq:: 42 | @3600 43 | ATM -> OCN :remapMethod=redist 44 | WAV -> OCN :remapMethod=redist 45 | ATM -> NWM :remapMethod=redist 46 | WAV -> NWM :remapMethod=redist 47 | OCN -> NWM : TO DO ........ 48 | ATM 49 | WAV 50 | OCN 51 | NWM 52 | @ 53 | :: 54 | -------------------------------------------------------------------------------- /nsem.job.sample: -------------------------------------------------------------------------------- 1 | #!/bin/sh -l 2 | 3 | #SBATCH -A coastal # -A, --account=name charge job to specified account 4 | ##SBATCH -q debug # coastal group can only submit to this Q 5 | #SBATCH -e slurm.error # -e, --error=err file for batch script's standard error 6 | #SBATCH --ignore-pbs # --ignore-pbs Ignore #PBS options in the batch script 7 | #SBATCH -J nsem # -J, --job-name=jobname name of job 8 | # (type = block|cyclic|arbitrary) 9 | #SBATCH # --mail-user=user who to send email notification for job state 10 | # changes 11 | #SBATCH --ntasks-per-node=34 # --ntasks-per-node=n number of tasks to invoke on each node 12 | #SBATCH -N 33 # -N, --nodes=N number of nodes on which to run (N = min[-max]) 13 | #SBATCH --parsable # --parsable outputs only the jobid and cluster name (if present), 14 | # separated by semicolon, only on successful submission. 15 | #SBATCH -t 420 # -t, --time=minutes time limit 16 | 17 | ############################### main - to run: $sbatch nsem.job ########################## 18 | set -x 19 | echo $SLURM_SUBMIT_DIR # (in Slurm, jobs start in "current dir") 20 | echo $SLURM_JOBID 21 | echo $SLURM_JOB_NAME 22 | echo $SLURM_NNODES 23 | echo $SLURM_TASKS_PER_NODE 24 | 25 | # PBS_NODEFILE: There is not a direct equivalent for this, but 26 | echo $SLURM_NODELIST # give you the list of assigned nodes. 27 | 28 | # cd $SLURM_SUBMIT_DIR 29 | echo "STARTING THE JOB AT" 30 | date 31 | 32 | # change the ROOTDIR to absolute path of where your pulled the 33 | # NEMS and NEMS Applications 34 | cp -fv /NEMS/exe/NEMS.x NEMS.x 35 | source /NEMS/src/conf/modules.nems 36 | srun ./NEMS.x 37 | date 38 | -------------------------------------------------------------------------------- /parm/HWRF2ADC.appBuilder: -------------------------------------------------------------------------------- 1 | # HWRF2ADC App 2 | 3 | # 4 | ## NEMS Application Builder configuration 5 | 6 | COMPONENTS=( ADCIRC WW3DATA ATMESH ) 7 | 8 | # ADCIRC 9 | ADCIRC_SRCDIR=$ROOTDIR/ADCIRC 10 | ADCIRC_BINDIR=$ROOTDIR/ADCIRC-INSTALL 11 | 12 | # WW3 13 | WW3_SRCDIR=$ROOTDIR/WW3 14 | WW3_BINDIR=$ROOTDIR/WW3-INSTALL 15 | 16 | # WW3DATA 17 | WW3DATA_SRCDIR=$ROOTDIR/WW3DATA 18 | WW3DATA_BINDIR=$ROOTDIR/WW3DATA-INSTALL 19 | 20 | # ATMESH 21 | ATMESH_SRCDIR=$ROOTDIR/ATMESH 22 | ATMESH_BINDIR=$ROOTDIR/ATMESH-INSTALL 23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /parm/MAPL.rc: -------------------------------------------------------------------------------- 1 | 2 | # 3 | # Minimum MAPL resource file 4 | # 5 | 6 | RUN_DT: 1800 7 | MAPL_ENABLE_TIMERS: NO 8 | PRINTSPEC: 0 # (0: OFF, 1: IMPORT & EXPORT, 2: IMPORT, 3: EXPORT) 9 | GOCART_OWNS_TRACERS: NO 10 | 11 | 12 | -------------------------------------------------------------------------------- /parm/REGTEST-FINGERPRINT.md: -------------------------------------------------------------------------------- 1 | UGCS-Weather Compset Data Fingerprint File 2 | ========================================== 3 | 4 | This file documents the compset input and baseline data stored 5 | outside the repository. It also serves as a verification method 6 | to ensure the data directory in use matches the one desired by 7 | this version of the application. Therefore, anytime there is an 8 | update to the compset inputs or baseline data, this file needs 9 | to be updated in the data storage area and in the repository. 10 | 11 | 12 | Compset Data Description 13 | -------------------------------- 14 | 15 | Created for application: UGCS-Weather 16 | 17 | Change log: 18 | 19 | * Jan 12, 2017 - original creation based off of unversioned files 20 | * June 6, 2017 - copied to UGCS-Weather from NEMSGSM 21 | -------------------------------------------------------------------------------- /parm/model_configure.IN: -------------------------------------------------------------------------------- 1 | #NEMS model configure inputs 2 | print_esmf: .true. 3 | RUN_CONTINUE: .false. 4 | ENS_SPS: .false. 5 | total_member: 1 6 | PE_MEMBER01: @[TASKS] 7 | 8 | 9 | start_year: @[YEAR] 10 | start_month: @[MONTH] 11 | start_day: @[DAY] 12 | start_hour: @[HOUR] 13 | start_minute: 0 14 | start_second: 0 15 | nhours_fcst: @[NFHRS] 16 | 17 | 18 | -------------------------------------------------------------------------------- /parm/nems.configure.atm.IN: -------------------------------------------------------------------------------- 1 | ############################################# 2 | #### NEMS Run-Time Configuration File ##### 3 | ############################################# 4 | 5 | # EARTH # 6 | EARTH_component_list: ATM 7 | EARTH_attributes:: 8 | Verbosity = max 9 | :: 10 | 11 | # ATM # 12 | ATM_model: @[atm_model] 13 | ATM_petlist_bounds: @[atm_petlist_bounds] 14 | ATM_attributes:: 15 | Verbosity = max 16 | :: 17 | 18 | # Run Sequence # 19 | runSeq:: 20 | @@[coupling_interval_sec] 21 | ATM 22 | @ 23 | :: 24 | -------------------------------------------------------------------------------- /parm/nems.configure.atm_nostep.IN: -------------------------------------------------------------------------------- 1 | ############################################# 2 | #### NEMS Run-Time Configuration File ##### 3 | ############################################# 4 | 5 | # EARTH # 6 | EARTH_component_list: ATM 7 | EARTH_attributes:: 8 | Verbosity = max 9 | :: 10 | 11 | # ATM # 12 | ATM_model: @[atm_model] 13 | ATM_petlist_bounds: @[atm_petlist_bounds] 14 | ATM_attributes:: 15 | Verbosity = max 16 | :: 17 | 18 | # Run Sequence # 19 | runSeq:: 20 | ATM 21 | :: 22 | -------------------------------------------------------------------------------- /parm/nems.configure.atm_ocn.IN: -------------------------------------------------------------------------------- 1 | ############################################# 2 | #### NEMS Run-Time Configuration File ##### 3 | ############################################# 4 | 5 | # EARTH # 6 | EARTH_component_list: ATM OCN 7 | EARTH_attributes:: 8 | Verbosity = max 9 | :: 10 | 11 | # ATM # 12 | ATM_model: @[atm_model] 13 | ATM_petlist_bounds: @[atm_petlist_bounds] 14 | ATM_attributes:: 15 | Verbosity = max 16 | :: 17 | 18 | # OCN # 19 | OCN_model: @[ocn_model] 20 | OCN_petlist_bounds: @[ocn_petlist_bounds] 21 | OCN_attributes:: 22 | Verbosity = max 23 | :: 24 | 25 | # Run Sequence # 26 | runSeq:: 27 | @@[coupling_interval_sec] 28 | ATM -> OCN 29 | OCN 30 | ATM 31 | @ 32 | :: 33 | -------------------------------------------------------------------------------- /parm/nems.configure.atm_ocn_wav_1loop.IN: -------------------------------------------------------------------------------- 1 | ############################################# 2 | #### NEMS Run-Time Configuration File ##### 3 | ############################################# 4 | 5 | # EARTH # 6 | EARTH_component_list: ATM OCN WAV 7 | EARTH_attributes:: 8 | Verbosity = max 9 | :: 10 | 11 | # ATM # 12 | ATM_model: @[atm_model] 13 | ATM_petlist_bounds: @[atm_petlist_bounds] 14 | ATM_attributes:: 15 | Verbosity = max 16 | :: 17 | 18 | # OCN # 19 | OCN_model: @[ocn_model] 20 | OCN_petlist_bounds: @[ocn_petlist_bounds] 21 | OCN_attributes:: 22 | Verbosity = max 23 | :: 24 | 25 | # WAV # 26 | WAV_model: @[wav_model] 27 | WAV_petlist_bounds: @[wav_petlist_bounds] 28 | WAV_attributes:: 29 | Verbosity = max 30 | :: 31 | 32 | # Run Sequence # 33 | runSeq:: 34 | @@[coupling_interval_sec] 35 | ATM -> OCN :remapMethod=redist 36 | WAV -> OCN :remapMethod=redist 37 | ATM -> WAV :remapMethod=redist 38 | OCN -> WAV :remapMethod=redist 39 | ATM 40 | OCN 41 | WAV 42 | @ 43 | :: 44 | -------------------------------------------------------------------------------- /parm/nems.configure.atm_step.IN: -------------------------------------------------------------------------------- 1 | ############################################# 2 | #### NEMS Run-Time Configuration File ##### 3 | ############################################# 4 | 5 | # EARTH # 6 | EARTH_component_list: ATM 7 | EARTH_attributes:: 8 | Verbosity = max 9 | :: 10 | 11 | # ATM # 12 | ATM_model: @[atm_model] 13 | ATM_petlist_bounds: @[atm_petlist_bounds] 14 | ATM_attributes:: 15 | Verbosity = max 16 | :: 17 | 18 | # Run Sequence # 19 | runSeq:: 20 | @180 21 | ATM 22 | :: 23 | -------------------------------------------------------------------------------- /parm/nems.configure.atm_wav.IN: -------------------------------------------------------------------------------- 1 | ############################################# 2 | #### NEMS Run-Time Configuration File ##### 3 | ############################################# 4 | 5 | # EARTH # 6 | EARTH_component_list: ATM WAV 7 | EARTH_attributes:: 8 | Verbosity = max 9 | :: 10 | 11 | # ATM # 12 | ATM_model: @[atm_model] 13 | ATM_petlist_bounds: @[atm_petlist_bounds] 14 | ATM_attributes:: 15 | Verbosity = max 16 | :: 17 | 18 | # WAV # 19 | WAV_model: @[wav_model] 20 | WAV_petlist_bounds: @[wav_petlist_bounds] 21 | WAV_attributes:: 22 | Verbosity = max 23 | :: 24 | 25 | # Run Sequence # 26 | runSeq:: 27 | @@[coupling_interval_sec] 28 | ATM -> WAV 29 | WAV 30 | ATM 31 | @ 32 | :: 33 | -------------------------------------------------------------------------------- /parm/nems.configure.blocked_atm_ocn.IN: -------------------------------------------------------------------------------- 1 | ############################################# 2 | #### NEMS Run-Time Configuration File ##### 3 | ############################################# 4 | 5 | # EARTH # 6 | EARTH_component_list: ATM OCN 7 | EARTH_attributes:: 8 | Verbosity = max 9 | DumpFieldDictionary = true 10 | :: 11 | 12 | # ATM # 13 | ATM_model: @[atm_model] 14 | ATM_petlist_bounds: @[atm_petlist_bounds] 15 | ATM_attributes:: 16 | Verbosity = max 17 | :: 18 | 19 | # OCN # 20 | OCN_model: @[ocn_model] 21 | OCN_petlist_bounds: @[ocn_petlist_bounds] 22 | OCN_attributes:: 23 | Verbosity = max 24 | :: 25 | 26 | # Run Sequence # 27 | runSeq:: 28 | @@[coupling_interval_sec] 29 | ATM -> OCN 30 | OCN -> ATM 31 | ATM 32 | OCN 33 | @ 34 | :: 35 | -------------------------------------------------------------------------------- /parm/nems.configure.blocked_atm_wav.IN: -------------------------------------------------------------------------------- 1 | ############################################# 2 | #### NEMS Run-Time Configuration File ##### 3 | ############################################# 4 | 5 | # EARTH # 6 | EARTH_component_list: ATM WAV 7 | EARTH_attributes:: 8 | Verbosity = max 9 | :: 10 | 11 | # ATM # 12 | ATM_model: @[atm_model] 13 | ATM_petlist_bounds: @[atm_petlist_bounds] 14 | ATM_attributes:: 15 | Verbosity = max 16 | :: 17 | 18 | # WAV # 19 | WAV_model: @[wav_model] 20 | WAV_petlist_bounds: @[wav_petlist_bounds] 21 | WAV_attributes:: 22 | Verbosity = max 23 | :: 24 | 25 | # Run Sequence # 26 | runSeq:: 27 | @@[coupling_interval_sec] 28 | ATM -> WAV 29 | WAV -> ATM :srcMaskValues=1 30 | ATM 31 | WAV 32 | @ 33 | :: 34 | -------------------------------------------------------------------------------- /parm/nems.configure.leapfrog_atm_wav.IN: -------------------------------------------------------------------------------- 1 | ############################################# 2 | #### NEMS Run-Time Configuration File ##### 3 | ############################################# 4 | 5 | # EARTH # 6 | EARTH_component_list: ATM WAV 7 | EARTH_attributes:: 8 | Verbosity = max 9 | :: 10 | 11 | # ATM # 12 | ATM_model: @[atm_model] 13 | ATM_petlist_bounds: @[atm_petlist_bounds] 14 | ATM_attributes:: 15 | Verbosity = max 16 | :: 17 | 18 | # WAV # 19 | WAV_model: @[wav_model] 20 | WAV_petlist_bounds: @[wav_petlist_bounds] 21 | WAV_attributes:: 22 | Verbosity = max 23 | :: 24 | 25 | # Run Sequence # 26 | runSeq:: 27 | @@[coupling_interval_sec] 28 | WAV -> ATM :srcMaskValues=1 29 | ATM 30 | ATM -> WAV 31 | WAV 32 | @ 33 | :: 34 | -------------------------------------------------------------------------------- /parm/nems.configure.ocn.IN: -------------------------------------------------------------------------------- 1 | ############################################# 2 | #### NEMS Run-Time Configuration File ##### 3 | ############################################# 4 | 5 | # EARTH # 6 | EARTH_component_list: OCN 7 | EARTH_attributes:: 8 | Verbosity = max 9 | :: 10 | 11 | # OCN # 12 | OCN_model: @[ocn_model] 13 | OCN_petlist_bounds: @[ocn_petlist_bounds] 14 | OCN_attributes:: 15 | Verbosity = max 16 | :: 17 | 18 | # Run Sequence # 19 | runSeq:: 20 | @@[coupling_interval_sec] 21 | OCN 22 | @ 23 | :: 24 | -------------------------------------------------------------------------------- /parm/nems.configure.wav.IN: -------------------------------------------------------------------------------- 1 | ############################################# 2 | #### NEMS Run-Time Configuration File ##### 3 | ############################################# 4 | 5 | # EARTH # 6 | EARTH_component_list: WAV 7 | EARTH_attributes:: 8 | Verbosity = max 9 | :: 10 | 11 | # WAV # 12 | WAV_model: @[wav_model] 13 | WAV_petlist_bounds: @[wav_petlist_bounds] 14 | WAV_attributes:: 15 | Verbosity = max 16 | :: 17 | 18 | # Run Sequence # 19 | runSeq:: 20 | @@[coupling_interval_sec] 21 | WAV 22 | @ 23 | :: 24 | -------------------------------------------------------------------------------- /thirdparty/estofs_tide_fac/makefile: -------------------------------------------------------------------------------- 1 | SHELL=/bin/sh 2 | # If it is invoked by the command line 3 | # # make -f makefile 4 | # 5 | SRCS=estofs_tide_fac.f 6 | 7 | OBJS=estofs_tide_fac.o 8 | 9 | # Tunable parameters 10 | # FC Name of the fortran compiling system to use 11 | # LDFLAGS Flags to the loader 12 | # LIBS List of libraries 13 | # CMD Name of the executable 14 | # PROFLIB Library needed for profiling 15 | 16 | ifeq ($(compiler),gnu) 17 | FC ?= gfortan 18 | #LDFLAGS = -mkl 19 | FFLAGS = -O3 $(INCS) 20 | PROFLIB = 21 | endif 22 | 23 | ifeq ($(compiler),intel) 24 | FC ?= ifort 25 | #use for extensive compilation error reporting 26 | LDFLAGS = -mkl # ifort mkl library 27 | FFLAGS = -O3 -i4 $(INCS) 28 | PROFLIB = -lprof 29 | endif 30 | 31 | ifeq ($(compiler),pgi) 32 | FC ?= pgfortan 33 | #LDFLAGS = -mkl 34 | FFLAGS = -O3 -i4 $(INCS) 35 | PROFLIB = 36 | endif 37 | 38 | CMD = estofs_tide_fac 39 | #PROFLIB = -lprof 40 | 41 | # To perform the default compilation, use the first line 42 | # To compile with flowtracing turned on, use the second line 43 | # To compile giving profile additonal information, use the third line 44 | # WARNING: SIMULTANEOUSLY PROFILING AND FLOWTRACING IS NOT RECOMMENDED 45 | #FFLAGS = -O3 -i4 $(INCS) 46 | 47 | # Lines from here on down should not need to be changed. They are the 48 | # actual rules which make uses to build a.out. 49 | 50 | all: $(CMD) 51 | 52 | $(CMD): $(OBJS) 53 | $(FC) $(LDFLAGS) -o $(@) $(OBJS) $(LIBS) 54 | rm -f $(OBJS) 55 | # cp -p $(CMD) ../../exec/ 56 | # Make the profiled version of the command and call it a.out.prof 57 | 58 | #$(FC) $(LDFLAGS) -o $(@) $(OBJS) $(PROFLIB) $(LIBS) 59 | 60 | clean: 61 | rm -f $(OBJS) 62 | 63 | clobber: clean 64 | rm -f $(CMD) $(CMD).prof 65 | 66 | void: clobber 67 | rm -f $(SRCS) 68 | 69 | -------------------------------------------------------------------------------- /thirdparty_open/datetime-fortran/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.0) 2 | if(NOT CMAKE_BUILD_TYPE) 3 | set(CMAKE_BUILD_TYPE Release CACHE STRING "default to Release") 4 | endif() 5 | project(datetime-fortran 6 | LANGUAGES Fortran 7 | VERSION 1.7.1) 8 | include(CTest) 9 | 10 | # library to archive (libdatetime.a) 11 | add_library(datetime src/datetime_module.f90) 12 | target_include_directories(datetime INTERFACE ${CMAKE_CURRENT_BINARY_DIR}/include) 13 | set_target_properties(datetime PROPERTIES 14 | Fortran_MODULE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/include 15 | ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/lib 16 | LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/lib) 17 | 18 | if(WIN32) 19 | enable_language(CXX) 20 | add_library(strptime OBJECT src/strptime.cpp) 21 | target_compile_features(strptime PRIVATE cxx_std_11) 22 | target_link_libraries(datetime PRIVATE strptime) 23 | endif() 24 | 25 | if(MINGW) 26 | # MinGW / MSYS2 GCC needs this for strftime to work 27 | # https://sourceforge.net/p/mingw-w64/bugs/793/ 28 | target_link_libraries(datetime PRIVATE "ucrtbase") 29 | endif(MINGW) 30 | 31 | # tests 32 | if(BUILD_TESTING) 33 | add_executable(datetime_tests tests/datetime_tests.f90) 34 | target_link_libraries(datetime_tests datetime) 35 | set_target_properties(datetime_tests PROPERTIES 36 | RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/bin 37 | LINKER_LANGUAGE Fortran) 38 | add_test(NAME datetime_tests COMMAND $) 39 | 40 | add_subdirectory(examples) 41 | endif(BUILD_TESTING) 42 | -------------------------------------------------------------------------------- /thirdparty_open/datetime-fortran/CONTRIBUTORS.md: -------------------------------------------------------------------------------- 1 | # Contributors 2 | 3 | * [Alexander Gavrikov](https://github.com/alexavr) 4 | * Bjoern Hendrik Fock 5 | * [Izaak Beekman](https://github.com/zbeekman) 6 | * Marco Galli 7 | * Mark Carter 8 | * [Michael Hirsch](https://github.com/scivision) 9 | * [Milan Curcic](https://github.com/milancurcic) 10 | * [Oleksandr Sasha Huziy](https://github.com/guziy) 11 | * [Paul Leopardi](https://github.com/penguian) 12 | * [Stefano Zaghi](https://github.com/szaghi) 13 | * [Tom Canich](https://github.com/tcanich) 14 | * [Wadud Miah](https://github.com/wadudmiah) 15 | -------------------------------------------------------------------------------- /thirdparty_open/datetime-fortran/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2013-2020 datetime-fortran contributors 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /thirdparty_open/datetime-fortran/Makefile.am: -------------------------------------------------------------------------------- 1 | SUBDIRS = src tests 2 | 3 | # Next line required by automake < 1.15 4 | pkgconfigdir = $(libdir)/pkgconfig 5 | pkgconfig_DATA = datetime-fortran.pc 6 | 7 | scrub-clean : 8 | ./scrub-clean.sh 9 | 10 | CLEANFILES = datetime-fortran.pc 11 | 12 | EXTRA_DIST = CONTRIBUTORS.md LICENSE README.md scrub-clean.sh 13 | 14 | #dist-hook: 15 | # ./mkdist.sh 16 | -------------------------------------------------------------------------------- /thirdparty_open/datetime-fortran/VERSION: -------------------------------------------------------------------------------- 1 | 1.7.1 2 | -------------------------------------------------------------------------------- /thirdparty_open/datetime-fortran/_config.yml: -------------------------------------------------------------------------------- 1 | theme: jekyll-theme-cayman -------------------------------------------------------------------------------- /thirdparty_open/datetime-fortran/configure.ac: -------------------------------------------------------------------------------- 1 | AC_PREREQ([2.69]) 2 | AC_INIT([datetime-fortran], [1.7.1]) 3 | AC_CONFIG_SRCDIR([src/datetime_module.f90]) 4 | 5 | # foreign flag tells that we are not conforming to the GNU standards 6 | # and hence can ommit NEWS, README, COPYING 7 | AM_INIT_AUTOMAKE([foreign]) 8 | 9 | # for package configuration 10 | PKG_PROG_PKG_CONFIG 11 | PKG_INSTALLDIR 12 | 13 | AC_PROG_FC([gfortran], [Fortran 90]) # we need a Fortran 90 compiler 14 | # If we are using gfortran, but user hasn't set FCFLAGS for 'configure' 15 | # then override autotool defaults 16 | AS_IF([test x$FC = xgfortran -a x$ac_cv_env_FCFLAGS_set = x], 17 | AC_SUBST([FCFLAGS], ["-Wall"]) 18 | [# Set some flags automatically if using gfortran]) 19 | 20 | AC_PROG_RANLIB # needed to create libraries 21 | 22 | AC_CONFIG_FILES([Makefile src/Makefile tests/Makefile]) 23 | # Generate a PC file so that others can easily detect our libraries: 24 | AC_CONFIG_FILES([datetime-fortran.pc:datetime-fortran.pc.in]) 25 | 26 | AC_OUTPUT 27 | -------------------------------------------------------------------------------- /thirdparty_open/datetime-fortran/datetime-fortran.pc.in: -------------------------------------------------------------------------------- 1 | prefix=@prefix@ 2 | 3 | Name: @PACKAGE_NAME@ 4 | Description: A Fortran library that provides time and date manipulation facilities 5 | Version: @PACKAGE_VERSION@ 6 | Libs: -L${prefix}/lib -ldatetime 7 | Cflags: -I${prefix}/include -------------------------------------------------------------------------------- /thirdparty_open/datetime-fortran/examples/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(add_and_subtract add_and_subtract.f90) 2 | target_link_libraries(add_and_subtract datetime) 3 | add_test(NAME "add_and_subtract" COMMAND $) 4 | -------------------------------------------------------------------------------- /thirdparty_open/datetime-fortran/examples/README.md: -------------------------------------------------------------------------------- 1 | # datetime-fortran examples 2 | 3 | Examples of what datetime-fortran can do. 4 | -------------------------------------------------------------------------------- /thirdparty_open/datetime-fortran/examples/add_and_subtract.f90: -------------------------------------------------------------------------------- 1 | program add_and_subtract 2 | !! Adds and subtracts datetimes 3 | use datetime_module, only : timedelta, datetime 4 | 5 | implicit none 6 | 7 | type (datetime) :: a, b 8 | type (timedelta) :: t 9 | 10 | !> add 86400 seconds 11 | a = datetime(2020, 2, 28) 12 | b = a + timedelta(seconds=86400) 13 | if (b /= datetime(2020, 2, 29)) error stop 'expected 2020-02-29' 14 | 15 | !> subtract 16 | b = b - timedelta(seconds=35) 17 | if (b /= datetime(2020, 2, 28, 23, 59, 25)) error stop 'expected 2020-02-28T23:59:25' 18 | 19 | !> total_seconds is floating point 20 | t = b - b - timedelta(milliseconds=234) 21 | 22 | if (abs(t%total_seconds() + 0.234) > 0.0001) error stop 'expected -0.234 seconds' 23 | 24 | end program add_and_subtract 25 | -------------------------------------------------------------------------------- /thirdparty_open/datetime-fortran/fpm.toml: -------------------------------------------------------------------------------- 1 | name = "datetime" 2 | version = "1.7.1" 3 | license = "MIT" 4 | author = "Milan Curcic" 5 | maintainer = "caomaco@gmail.com" 6 | copyright = "2013-2020 datetime-fortran contributors" 7 | 8 | [[test]] 9 | name = "datetime_tests" 10 | source-dir = "tests" 11 | main = "datetime_tests.f90" 12 | -------------------------------------------------------------------------------- /thirdparty_open/datetime-fortran/scrub-clean.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | # Try to get rid of a lot of stuff generated by all the autotools 4 | 5 | clean_dir () { (cd $1 ; rm -f Makefile Makefile.in *.o *.mod *.a datetime_tests ;); } 6 | 7 | rm -f configure 8 | 9 | rm -f datetime-fortran.pc 10 | rm -f *.gz aclocal.m4 depcomp install-sh missing \ 11 | autoscan.log Makefile Makefile.in test-driver 12 | rm -f config.log config.status configure.scan 13 | 14 | rm -rf autom4te.cache 15 | 16 | clean_dir src 17 | clean_dir tests 18 | rm -f tests/*log tests/*.trs 19 | rm -f test-driver 20 | -------------------------------------------------------------------------------- /thirdparty_open/datetime-fortran/src/Makefile.am: -------------------------------------------------------------------------------- 1 | nodist_include_HEADERS = datetime_module.mod 2 | #nodist_HEADERS = datetime_module.mod 3 | #nodist_SOURCES = *.mod 4 | 5 | lib_LIBRARIES = libdatetime.a 6 | 7 | libdatetime_a_SOURCES = datetime_module.f90 8 | 9 | CLEANFILES = *.mod 10 | 11 | # Mostly unchanged from original upstream Makefile 12 | OBJS = datetime_module.o 13 | 14 | .f90.o: 15 | $(FC) -c $(FCFLAGS) $< 16 | 17 | libdatetime.a : datetime_module.o 18 | ar ruv libdatetime.a $(OBJS) 19 | 20 | datetime_module.mod : datetime_module.o 21 | 22 | #install-exec-hook : datetime_module.mod 23 | # cp datetime_module.mod $(libdir) 24 | 25 | #uninstall-hook : 26 | # rm $(libdir)/datetime_module.mod 27 | 28 | datetime_module.o : datetime_module.f90 29 | -------------------------------------------------------------------------------- /thirdparty_open/datetime-fortran/src/strptime.cpp: -------------------------------------------------------------------------------- 1 | // https://stackoverflow.com/a/33542189 2 | #include 3 | #include 4 | #include 5 | 6 | extern "C" char* strptime(const char* s, 7 | const char* f, 8 | struct tm* tm) { 9 | // Isn't the C++ standard lib nice? std::get_time is defined such that its 10 | // format parameters are the exact same as strptime. Of course, we have to 11 | // create a string stream first, and imbue it with the current C locale, and 12 | // we also have to make sure we return the right things if it fails, or 13 | // if it succeeds, but this is still far simpler an implementation than any 14 | // of the versions in any of the C standard libraries. 15 | std::istringstream input(s); 16 | input.imbue(std::locale(setlocale(LC_ALL, nullptr))); 17 | input >> std::get_time(tm, f); 18 | if (input.fail()) { 19 | return nullptr; 20 | } 21 | return (char*)(s + input.tellg()); 22 | } -------------------------------------------------------------------------------- /thirdparty_open/datetime-fortran/tests/Makefile.am: -------------------------------------------------------------------------------- 1 | noinst_PROGRAMS = datetime_tests 2 | EXTRA_DIST = tests-env.sh 3 | datetime_tests_SOURCES = datetime_tests.f90 4 | CLEANFILES = *.mod 5 | 6 | # Mostly unchanged from original upstream Makefile 7 | LIB = ../src 8 | INCLUDE = ../src 9 | OBJ = datetime_tests.o 10 | 11 | .f90.o: 12 | $(FC) -c $(FCFLAGS) -I$(INCLUDE) $< 13 | 14 | datetime_tests$(EXEEXT): datetime_tests.o 15 | $(FC) $(FCFLAGS) $(OBJ) -L$(LIB) -ldatetime -o $@ 16 | 17 | #bin_SCRIPTS = . tests/tests-env.sh 18 | AM_TESTS_ENVIRONMENT = . ./tests-env.sh 19 | AM_TESTS_FD_REDIRECT = 9>&2 20 | TESTS = tests-env.sh 21 | -------------------------------------------------------------------------------- /thirdparty_open/datetime-fortran/tests/tests-env.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | # remove escape codes 4 | 5 | OS=$(uname -s) 6 | if [ "X$OS" = "XDarwin" ]; then 7 | noesc () { sed 's/\[[0-9]*m*//g' ; } 8 | else 9 | # http://www.commandlinefu.com/commands/view/3584/remove-color-codes-special-characters-with-sed 10 | noesc () { sed -r 's/\x1B\[([0-9]{1,2}(;[0-9]{1,2})?)?[m|K]//g' ; } 11 | fi 12 | 13 | LOG=tests-env.sh.log 14 | ./datetime_tests | noesc > $LOG 15 | 16 | TRS=tests-env.sh.trs 17 | 18 | # extract lines that end in PASS or FAIL 19 | pof () { awk '/PASS$/ {print $0} ; /FAIL$/ {print $0}' ; } 20 | 21 | # back to front. Replace the first word by the last 22 | btf () { awk '{$1=$NF;}1'; } 23 | 24 | rmres () { sed 's/: PASS$//' | sed 's/: FAIL$//' ; } 25 | 26 | pof <$LOG | btf | rmres | awk '{print ":test-result: " $0}' >$TRS 27 | 28 | --------------------------------------------------------------------------------