add feature

This commit is contained in:
baol 2024-06-04 21:37:59 +08:00
parent 56c79696b7
commit be983d1109
2 changed files with 12 additions and 9 deletions

View File

@ -4,11 +4,10 @@ FROM ubuntu:22.04
MAINTAINER "SHUD"
WORKDIR /model
ENV DEBIAN_FRONTEND=noninteractive
ENV VERSION_CODENAME=jammy
RUN rm /etc/apt/sources.list \
&& echo "deb [trusted=yes] https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ ${VERSION_CODENAME} main restricted universe multiverse" >> /etc/apt/sources.list \
&& echo "deb [trusted=yes] https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ ${VERSION_CODENAME}-updates main restricted universe multiverse" >> /etc/apt/sources.list \
@ -23,14 +22,18 @@ RUN apt-get update \
ca-certificates \
dejagnu \
sudo libtool \
vim git subversion gfortran cmake \
vim git git-lfs subversion gfortran cmake \
libxml2-utils libxml-libxml-perl \
python \
python3 python3-dev python3-venv python3-pip \
make m4 \
libcurl4-openssl-dev liblapack-dev libblas-dev mpich libmpich-dev \
gnupg wget curl \
&& apt-get clean
RUN python3 -m venv /venv
ENV PATH="/venv/bin:${PATH}"
ADD pkgs/*.gz /usr/local/src/
ARG ZDIR=/usr/local/zlib
@ -98,10 +101,9 @@ RUN echo ${NCDIR}/lib > /etc/ld.so.conf.d/netcdf.conf \
ENV USER=clm
RUN useradd -m -G adm,sudo -s /bin/bash $USER \
&& echo "root:root" | chpasswd \
&& echo "clm:clm" | chpasswd \
&& apt-get remove wget -y
&& echo "clm:clm" | chpasswd
RUN git clone -b release-clm5.0 https://github.com/ESCOMP/ctsm \
RUN git clone -b release-clm5.0 https://github.com/ESCOMP/CTSM.git ctsm \
&& cd ctsm && ./manage_externals/checkout_externals \
&& chown -R clm:clm /model/ctsm \
&& cd ..
@ -116,7 +118,7 @@ COPY run_CLM50_example01.sh /home/${USER}/cesm/
WORKDIR /home/${USER}/cesm
RUN chown -R clm:clm /home /home/${USER} /home/${USER}/.cime /inputdata
RUN chown -R clm:clm /home /home/${USER} /home/${USER}/.cime
# && chmod 755 -R /inputdata /home/${USER}/.cime /home/${USER} \
USER ${USER}

View File

@ -3,7 +3,8 @@
### Usage
```bash
docker run -it --rm -v /data/cesm/inputdata:/inputdata -v /data/cesm/scratch:/home/clm/cesm -e USERID=$UID . bash
docker build -t clm5 .
docker run -it --rm -v /data/ctsm/inputdata:/inputdata -v /data/ctsm/scratch:/home/clm/cesm -e USERID=$UID clm5 bash
```
* Document of CLM5.0: