diff --git a/README.md b/README.md index 2cc15a2..29376c9 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,9 @@ # Earth System Model 4 ## What Is Included -* [src/]((https://github.com/NOAA-GFDL/ESM4/tree/master/src) source code for the ESM4 model (all code is in submodules) -* [exec/]((https://github.com/NOAA-GFDL/ESM4/tree/master/exec) Makefiles to compile the code -* [run/]((https://github.com/NOAA-GFDL/ESM4/tree/master/run) Simple run script +* [src]((https://github.com/NOAA-GFDL/ESM4/tree/master/src) source code for the ESM4 model (all code is in submodules) +* [exec]((https://github.com/NOAA-GFDL/ESM4/tree/master/exec) Makefiles to compile the code +* [run]((https://github.com/NOAA-GFDL/ESM4/tree/master/run) Simple run script ## Cloning To clone the ESM4 model please use the recursive option diff --git a/container/Dockerfile b/container/Dockerfile index 87800f9..716aa95 100644 --- a/container/Dockerfile +++ b/container/Dockerfile @@ -6,7 +6,7 @@ RUN . /opt/spack/share/spack/setup-env.sh ## Make the ESM4 directory RUN mkdir -p /opt/ESM4 ## Build the ESM4 from github -RUN git clone --recursive https://github.com/NOAA-GFDL/ESM4.git -b 2021.02 \ +RUN git clone --recursive https://github.com/NOAA-GFDL/ESM4.git -b 2021.03 \ && cd ESM4/exec \ && make gcc=on HDF_INCLUDE=-I/opt/hdf5/include SH=sh CLUBB=off \ && cp esm4.1.x /opt/ESM4 \ diff --git a/container/Dockerfile.gnu b/container/Dockerfile.gnu index 87800f9..716aa95 100644 --- a/container/Dockerfile.gnu +++ b/container/Dockerfile.gnu @@ -6,7 +6,7 @@ RUN . /opt/spack/share/spack/setup-env.sh ## Make the ESM4 directory RUN mkdir -p /opt/ESM4 ## Build the ESM4 from github -RUN git clone --recursive https://github.com/NOAA-GFDL/ESM4.git -b 2021.02 \ +RUN git clone --recursive https://github.com/NOAA-GFDL/ESM4.git -b 2021.03 \ && cd ESM4/exec \ && make gcc=on HDF_INCLUDE=-I/opt/hdf5/include SH=sh CLUBB=off \ && cp esm4.1.x /opt/ESM4 \ diff --git a/container/Dockerfile.intel_sources b/container/Dockerfile.intel_sources index 9aea01f..38fb3b8 100644 --- a/container/Dockerfile.intel_sources +++ b/container/Dockerfile.intel_sources @@ -101,7 +101,7 @@ ENV LIBRARY_PATH=${LD_LIBRARY_PATH} ## Build the model RUN mkdir -p /opt/ESM4 -RUN git clone --recursive https://github.com/NOAA-GFDL/ESM4.git -b 2021.02 \ +RUN git clone --recursive https://github.com/NOAA-GFDL/ESM4.git -b 2021.03 \ && cd ESM4/exec \ && make HDF_INCLUDE=-I/opt/hdf5/include HDF_LIBS="-L/opt/hdf5/lib -lhdf5 -lhdf5_fortran -lhdf5_hl -lhdf5hl_fortran" SH=sh \ && cp esm4.1.x /opt/ESM4 \ diff --git a/container/Singularity.esm4 b/container/Singularity.esm4 index 6daaf3f..032c6b7 100644 --- a/container/Singularity.esm4 +++ b/container/Singularity.esm4 @@ -7,7 +7,7 @@ Stage: build # Install all the required software . /opt/spack/share/spack/setup-env.sh # Install ESM4 - git clone --recursive -b 2021.02 https://github.com/NOAA-GFDL/ESM4.git && cd ESM4/exec + git clone --recursive -b 2021.03 https://github.com/NOAA-GFDL/ESM4.git && cd ESM4/exec make gcc=on OPENMP=on SH=sh CLUBB=off mkdir -p /opt/ESM4 cp esm4.1.x /opt/ESM4 diff --git a/container/Singularity.intel_esm4 b/container/Singularity.intel_esm4 index 7a56b62..1830fb2 100644 --- a/container/Singularity.intel_esm4 +++ b/container/Singularity.intel_esm4 @@ -1,18 +1,19 @@ Bootstrap: localimage -From: intel_netcdf_ubuntu.sif +From: intel2021.2_netcdfc4.7.4_ubuntu.sif Stage: build ## Singularity def file used to create ESM4 %post cd /opt ## Build the ESM4 from github - git clone --recursive https://github.com/NOAA-GFDL/ESM4.git -b 2021.02 + git clone --recursive https://github.com/NOAA-GFDL/ESM4.git -b 2021.03 cd ESM4/exec - make -j 20 HDF_INCLUDE=-I/opt/hdf5/include HDF_LIBS="-L/opt/hdf5/lib -lhdf5 -lhdf5_fortran -lhdf5_hl -lhdf5hl_fortran" SH=sh + make -j 20 HDF_INCLUDE=-I/opt/hdf5/include HDF_LIBS="-L/opt/hdf5/lib -lhdf5 -lhdf5_fortran -lhdf5_hl -lhdf5hl_fortran" cp esm4.1.x /opt/ESM4 - make clean_all chmod 777 /opt/ESM4/esm4.1.x +## Move FMS to opt +cp -r fms /opt Bootstrap: docker From: intel/oneapi-runtime:ubuntu18.04 @@ -22,12 +23,13 @@ Stage: final /opt/hdf5 /opt/netcdf-c /opt/netcdf-fortran +/opt/fms /opt/ESM4/esm4.1.x ## Add the ESM4 executable to the path %environment PATH=/opt/ESM4:/opt/netcdf-c/bin:/opt/netcdf-fortran/bin:${PATH} -LD_LIBRARY_PATH=/opt/netcdf-c/lib:/opt/netcdf-fortran/lib:/opt/hdf5/lib:/opt/intel/oneapi/lib:/opt/intel/oneapi/lib/intel64/:/opt/intel/oneapi/lib/intel64/lib:/opt/intel/oneapi/lib/intel64/libfabric:${LD_LIBRARY_PATH} -export LIBRARY_PATH=/opt/netcdf-c/lib:/opt/netcdf-fortran/lib:/opt/hdf5/lib:/opt/intel/oneapi/lib:/opt/intel/oneapi/lib/intel64/:/opt/intel/oneapi/lib/intel64/lib:/opt/intel/oneapi/lib/intel64/libfabric +LD_LIBRARY_PATH=/opt/fms/build/libFMS/.libs:/opt/netcdf-c/lib:/opt/netcdf-fortran/lib:/opt/hdf5/lib:/opt/intel/oneapi/lib:/opt/intel/oneapi/lib/intel64/:/opt/intel/oneapi/lib/intel64/lib:/opt/intel/oneapi/lib/intel64/libfabric:${LD_LIBRARY_PATH} +export LIBRARY_PATH=/opt/fms/build/libFMS/.libs:/opt/netcdf-c/lib:/opt/netcdf-fortran/lib:/opt/hdf5/lib:/opt/intel/oneapi/lib:/opt/intel/oneapi/lib/intel64/:/opt/intel/oneapi/lib/intel64/lib:/opt/intel/oneapi/lib/intel64/libfabric export KMP_STACKSIZE=512m export NC_BLKSZ=1M export F_UFMTENDIAN=big diff --git a/container/Singularity.intel_netcdf b/container/Singularity.intel_netcdf index d53038f..d2437d5 100644 --- a/container/Singularity.intel_netcdf +++ b/container/Singularity.intel_netcdf @@ -1,14 +1,20 @@ Bootstrap: docker -From: intel/oneapi-hpckit:devel-ubuntu18.04 +From: intel/oneapi-hpckit:2021.2-devel-ubuntu18.04 Stage: build %post ## Set up oneAPI apt-get -yqq update apt-get -yqq upgrade - apt-get -yqq install git make + apt-get -yqq install git + apt-get -yqq install make apt-get -yqq install wget apt-get -yqq install m4 + apt-get -yqq install autoconf + apt-get -yqq install automake + apt-get -yqq install libtool + apt-get -yqq install autogen + apt-get -yqq install intltool # use wget to fetch the Intel repository public key # cd /tmp # wget https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB diff --git a/container/singularity_build.sh b/container/singularity_build.sh index 89f5ff3..93c3bec 100755 --- a/container/singularity_build.sh +++ b/container/singularity_build.sh @@ -1,4 +1,4 @@ #!/bin/sh -singularity build -f intel_netcdf_ubuntu.sif Singularity.intel_netcdf -singularity build -f esm4_2021.02_ubuntu_intel.sif Singularity.intel_esm4 +singularity build -f intel2021.2_netcdfc4.7.4_ubuntu.sif Singularity.intel_netcdf +singularity build -f esm4_2021.03_ubuntu_intel.sif Singularity.intel_esm4