Spaces:
Build error
Build error
Commit
·
8add14b
1
Parent(s):
e2744f4
Adding WRF baselibs rocky linux
Browse files
.github/workflows/dockerhub.yml
CHANGED
@@ -38,6 +38,6 @@ jobs:
|
|
38 |
uses: docker/build-push-action@v4
|
39 |
with:
|
40 |
context: .
|
41 |
-
file: ./requirements/Dockerfile.
|
42 |
push: true
|
43 |
tags: nasanccs/wrf-baselibs:latest
|
|
|
38 |
uses: docker/build-push-action@v4
|
39 |
with:
|
40 |
context: .
|
41 |
+
file: ./requirements/Dockerfile.Baselibs
|
42 |
push: true
|
43 |
tags: nasanccs/wrf-baselibs:latest
|
requirements/{Dockerfile.baselibs → Dockerfile.Baselibs}
RENAMED
@@ -15,11 +15,12 @@ RUN dnf -y update && dnf -y install epel-release \
|
|
15 |
openssh-clients openssh-server net-tools fontconfig libgfortran \
|
16 |
libXext libXrender ImageMagick ImageMagick-devel git flex \
|
17 |
flex-devel byacc bzip2-devel gzip libcurl-devel zlib-devel \
|
18 |
-
php-devel php-pear \
|
|
|
19 |
&& dnf -y clean all --enablerepo='*' \
|
20 |
&& rm -rf /var/cache/dnf
|
21 |
|
22 |
-
#
|
23 |
RUN groupadd wrf -g 9999
|
24 |
RUN useradd -u 9999 -g wrf -G wheel -M -d /wrf wrfuser
|
25 |
RUN mkdir /wrf \
|
@@ -27,8 +28,8 @@ RUN mkdir /wrf \
|
|
27 |
&& chmod 6755 /wrf
|
28 |
|
29 |
# Build OpenMPI
|
30 |
-
RUN mkdir -p /wrf/libs/openmpi/BUILD_DIR
|
31 |
-
|
32 |
&& curl -L -O https://download.open-mpi.org/release/open-mpi/v4.0/openmpi-4.0.0.tar.gz \
|
33 |
&& tar -xf openmpi-4.0.0.tar.gz \
|
34 |
&& cd openmpi-4.0.0 \
|
@@ -42,8 +43,8 @@ RUN mkdir -p /wrf/libs/openmpi/BUILD_DIR \
|
|
42 |
&& rm -rf /wrf/libs/openmpi/BUILD_DIR
|
43 |
|
44 |
# Build HDF5 libraries
|
45 |
-
RUN mkdir -p /wrf/libs/hdf5/BUILD_DIR
|
46 |
-
|
47 |
&& wget https://www2.mmm.ucar.edu/people/duda/files/mpas/sources/hdf5-1.10.5.tar.bz2 \
|
48 |
&& tar -xf hdf5-1.10.5.tar.bz2 \
|
49 |
&& cd hdf5-1.10.5 \
|
@@ -57,8 +58,8 @@ ENV LD_LIBRARY_PATH /usr/local/lib
|
|
57 |
|
58 |
# Build netCDF C libraries
|
59 |
ENV NETCDF /wrf/libs/netcdf
|
60 |
-
RUN mkdir -p ${NETCDF}/BUILD_DIR
|
61 |
-
|
62 |
&& curl -L -O https://github.com/Unidata/netcdf-c/archive/refs/tags/v4.7.4.tar.gz \
|
63 |
&& curl -L -O https://github.com/Unidata/netcdf-fortran/archive/refs/tags/v4.6.0.tar.gz \
|
64 |
&& curl -L -O https://github.com/Unidata/netcdf4-python/archive/v1.5.3rel.tar.gz \
|
@@ -81,131 +82,29 @@ RUN cd ${NETCDF}/BUILD_DIR \
|
|
81 |
&& echo dummy printout to keep travis happy ncf make \
|
82 |
&& cd /
|
83 |
|
84 |
-
#
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
#
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
|
102 |
-
#
|
103 |
-
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
# Install version 10 of GNU compiler
|
112 |
-
|
113 |
-
#RUN yum -y install centos-release-scl \
|
114 |
-
# && yum -y install devtoolset-10 \
|
115 |
-
# && yum -y install devtoolset-10-gcc devtoolset-10-gcc-gfortran devtoolset-10-gcc-c++ \
|
116 |
-
# && scl enable devtoolset-10 bash \
|
117 |
-
# && scl enable devtoolset-10 tcsh
|
118 |
-
|
119 |
-
|
120 |
-
# Install and setup Python3.8
|
121 |
-
#RUN yum -y groupinstall "Development Tools"
|
122 |
-
#RUN yum -y install openssl-devel bzip2-devel libffi-devel xz-devel
|
123 |
-
#RUN mkdir -p /wrf/libs/python/BUILD_DIR \
|
124 |
-
# && cd /wrf/libs/python/BUILD_DIR \
|
125 |
-
# && wget https://www.python.org/ftp/python/3.8.12/Python-3.8.12.tgz \
|
126 |
-
# && tar -xf Python-3.8.12.tgz \
|
127 |
-
# && cd Python-3.8.12 \
|
128 |
-
# && ./configure --enable-optimizations --prefix=/usr/local \
|
129 |
-
# && make altinstall \
|
130 |
-
# && cd / \
|
131 |
-
# && rm -rf /wrf/libs/python/BUILD_DIR
|
132 |
-
#RUN python3.8 -m pip install numpy \
|
133 |
-
# && python3.8 -m pip install --upgrade pip \
|
134 |
-
# && python3.8 -m pip install --upgrade setuptools
|
135 |
-
#RUN ldconfig -v
|
136 |
-
|
137 |
-
# Build netCDF4-python libraries
|
138 |
-
#RUN source /opt/rh/devtoolset-10/enable \
|
139 |
-
# && cd ${NETCDF}/BUILD_DIR \
|
140 |
-
# && tar -xf v1.5.3rel.tar.gz \
|
141 |
-
# && cd netcdf4-python-1.5.3rel/ \
|
142 |
-
# && export LD_LIBRARY_PATH=${NETCDF}/lib:${LD_LIBRARY_PATH} \
|
143 |
-
# && export NETCDF4_DIR=${NETCDF} \
|
144 |
-
# && export HDF5_DIR=/usr/local \
|
145 |
-
# && python3.8 -m pip install wheel \
|
146 |
-
# && python3.8 setup.py build \
|
147 |
-
# && CPPFLAGS="-I${NETCDF}/include -I/usr/local/include" LDFLAGS="-L${NETCDF}/lib -L/usr/local/lib" python3.8 setup.py install \
|
148 |
-
# && echo dummy printout to keep travis happy ncf4-python install \
|
149 |
-
# && cd / \
|
150 |
-
# && rm -rf ${NETCDF}/BUILD_DIR
|
151 |
-
|
152 |
-
#RUN mkdir -p /var/run/sshd \
|
153 |
-
# && ssh-keygen -A \
|
154 |
-
# && sed -i 's/#PermitRootLogin yes/PermitRootLogin yes/g' /etc/ssh/sshd_config \
|
155 |
-
# && sed -i 's/#RSAAuthentication yes/RSAAuthentication yes/g' /etc/ssh/sshd_config \
|
156 |
-
# && sed -i 's/#PubkeyAuthentication yes/PubkeyAuthentication yes/g' /etc/ssh/sshd_config
|
157 |
-
|
158 |
-
#RUN mkdir -p /wrf/WPS_GEOG /wrf/wrfinput /wrf/wrfoutput \
|
159 |
-
# && chown -R wrfuser:wrf /wrf /wrf/WPS_GEOG /wrf/wrfinput /wrf/wrfoutput /usr/local \
|
160 |
-
# && chmod 6755 /wrf /wrf/WPS_GEOG /wrf/wrfinput /wrf/wrfoutput /usr/local
|
161 |
-
|
162 |
-
# Download NCL
|
163 |
-
#RUN curl -SL https://www.earthsystemgrid.org/api/v1/dataset/ncl.662.dap/file/ncl_ncarg-6.6.2-CentOS7.6_64bit_gnu485.tar.gz | tar zxC /usr/local
|
164 |
-
#ENV NCARG_ROOT /usr/local
|
165 |
-
|
166 |
-
# Set environment for interactive container shells
|
167 |
-
#RUN echo export LDFLAGS="-lm" >> /etc/bashrc \
|
168 |
-
# && echo export NETCDF=${NETCDF} >> /etc/bashrc \
|
169 |
-
# && echo export JASPERINC=/usr/include/jasper/ >> /etc/bashrc \
|
170 |
-
# && echo export JASPERLIB=/usr/lib64/ >> /etc/bashrc \
|
171 |
-
# && echo export LD_LIBRARY_PATH="/opt/rh/devtoolset-10/root/usr/lib/gcc/aarch64-redhat-linux/10:/usr/lib64/openmpi/lib:${NETCDF}/lib:${LD_LIBRARY_PATH}" >> /etc/bashrc \
|
172 |
-
# && echo export PATH=".:/opt/rh/devtoolset-10/root/usr/bin:/usr/lib64/openmpi/bin:${NETCDF}/bin:$PATH" >> /etc/bashrc \
|
173 |
-
# && echo export NCARG_ROOT=/usr/local >> /etc/bashrc
|
174 |
-
|
175 |
-
#RUN echo setenv LDFLAGS "-lm" >> /etc/csh.cshrc \
|
176 |
-
# && echo setenv NETCDF "${NETCDF}" >> /etc/csh.cshrc \
|
177 |
-
# && echo setenv JASPERINC "/usr/include/jasper/" >> /etc/csh.cshrc \
|
178 |
-
# && echo setenv JASPERLIB "/usr/lib64/" >> /etc/csh.cshrc \
|
179 |
-
# && echo setenv LD_LIBRARY_PATH "/opt/rh/devtoolset-10/root/usr/lib/gcc/aarch64-redhat-linux/10:/usr/lib64/openmpi/lib:${NETCDF}/lib:${LD_LIBRARY_PATH}" >> /etc/csh.cshrc \
|
180 |
-
# && echo setenv PATH ".:/opt/rh/devtoolset-10/root/usr/bin:/usr/lib64/openmpi/bin:${NETCDF}/bin:$PATH" >> /etc/csh.cshrc \
|
181 |
-
# && echo setenv NCARG_ROOT /usr/local >> /etc/csh.cshrc
|
182 |
-
|
183 |
-
#RUN mkdir /wrf/.ssh ; echo "StrictHostKeyChecking no" > /wrf/.ssh/config
|
184 |
-
#COPY default-mca-params.conf /wrf/.openmpi/mca-params.conf
|
185 |
-
#RUN mkdir -p /wrf/.openmpi
|
186 |
-
#RUN chown -R wrfuser:wrf /wrf/
|
187 |
-
|
188 |
-
# all root steps completed above, now below as regular userID wrfuser
|
189 |
-
#USER wrfuser
|
190 |
-
#WORKDIR /wrf
|
191 |
-
|
192 |
-
# Download data
|
193 |
-
#ARG argname=tutorial
|
194 |
-
#RUN echo DAVE $argname
|
195 |
-
#RUN if [ "$argname" = "tutorial" ] ; then curl -SL https://www2.mmm.ucar.edu/wrf/src/wps_files/geog_low_res_mandatory.tar.gz | tar -xzC /wrf/WPS_GEOG ; fi
|
196 |
-
#RUN if [ "$argname" = "tutorial" ] ; then curl -SL https://www2.mmm.ucar.edu/wrf/TUTORIAL_DATA/colorado_march16.new.tar.gz | tar -xzC /wrf/wrfinput ; fi
|
197 |
-
#RUN if [ "$argname" = "tutorial" ] ; then curl -SL https://www2.mmm.ucar.edu/wrf/src/namelists_v$NML_VERSION.tar.gz | tar -xzC /wrf/wrfinput ; fi
|
198 |
-
#RUN if [ "$argname" = "tutorial" ] ; then curl -SL https://www2.mmm.ucar.edu/wrf/TUTORIAL_DATA/WRF_NCL_scripts.tar.gz | tar -xzC /wrf ; fi
|
199 |
-
#RUN if [ "$argname" = "regtest" ] ; then curl -SL https://www2.mmm.ucar.edu/wrf/dave/data_smaller.tar.gz | tar -xzC /wrf ; fi
|
200 |
-
|
201 |
-
#ENV JASPERINC /usr/include/jasper
|
202 |
-
#ENV JASPERLIB /usr/lib64
|
203 |
-
#ENV NETCDF_classic 1
|
204 |
-
#ENV LD_LIBRARY_PATH /opt/rh/devtoolset-10/root/usr/lib/gcc/aarch64-redhat-linux/10:/usr/lib64/openmpi/lib:${NETCDF}/lib:${LD_LIBRARY_PATH}
|
205 |
-
#ENV PATH .:/opt/rh/devtoolset-10/root/usr/bin:/usr/lib64/openmpi/bin:${NETCDF}/bin:$PATH
|
206 |
-
|
207 |
-
#RUN ssh-keygen -f /wrf/.ssh/id_rsa -t rsa -N '' \
|
208 |
-
# && chmod 600 /wrf/.ssh/config \
|
209 |
-
# && chmod 700 /wrf/.ssh \
|
210 |
-
# && cp /wrf/.ssh/id_rsa.pub /wrf/.ssh/authorized_keys
|
211 |
-
#
|
|
|
15 |
openssh-clients openssh-server net-tools fontconfig libgfortran \
|
16 |
libXext libXrender ImageMagick ImageMagick-devel git flex \
|
17 |
flex-devel byacc bzip2-devel gzip libcurl-devel zlib-devel \
|
18 |
+
php-devel php-pear openssl-devel bzip2-devel libffi-devel xz-devel \
|
19 |
+
&& dnf -y groupinstall "Development Tools" \
|
20 |
&& dnf -y clean all --enablerepo='*' \
|
21 |
&& rm -rf /var/cache/dnf
|
22 |
|
23 |
+
# Set up base systems
|
24 |
RUN groupadd wrf -g 9999
|
25 |
RUN useradd -u 9999 -g wrf -G wheel -M -d /wrf wrfuser
|
26 |
RUN mkdir /wrf \
|
|
|
28 |
&& chmod 6755 /wrf
|
29 |
|
30 |
# Build OpenMPI
|
31 |
+
RUN mkdir -p /wrf/libs/openmpi/BUILD_DIR
|
32 |
+
RUN cd /wrf/libs/openmpi/BUILD_DIR \
|
33 |
&& curl -L -O https://download.open-mpi.org/release/open-mpi/v4.0/openmpi-4.0.0.tar.gz \
|
34 |
&& tar -xf openmpi-4.0.0.tar.gz \
|
35 |
&& cd openmpi-4.0.0 \
|
|
|
43 |
&& rm -rf /wrf/libs/openmpi/BUILD_DIR
|
44 |
|
45 |
# Build HDF5 libraries
|
46 |
+
RUN mkdir -p /wrf/libs/hdf5/BUILD_DIR
|
47 |
+
RUN cd /wrf/libs/hdf5/BUILD_DIR \
|
48 |
&& wget https://www2.mmm.ucar.edu/people/duda/files/mpas/sources/hdf5-1.10.5.tar.bz2 \
|
49 |
&& tar -xf hdf5-1.10.5.tar.bz2 \
|
50 |
&& cd hdf5-1.10.5 \
|
|
|
58 |
|
59 |
# Build netCDF C libraries
|
60 |
ENV NETCDF /wrf/libs/netcdf
|
61 |
+
RUN mkdir -p ${NETCDF}/BUILD_DIR
|
62 |
+
RUN cd ${NETCDF}/BUILD_DIR \
|
63 |
&& curl -L -O https://github.com/Unidata/netcdf-c/archive/refs/tags/v4.7.4.tar.gz \
|
64 |
&& curl -L -O https://github.com/Unidata/netcdf-fortran/archive/refs/tags/v4.6.0.tar.gz \
|
65 |
&& curl -L -O https://github.com/Unidata/netcdf4-python/archive/v1.5.3rel.tar.gz \
|
|
|
82 |
&& echo dummy printout to keep travis happy ncf make \
|
83 |
&& cd /
|
84 |
|
85 |
+
# Some sshd configurations for mpi
|
86 |
+
RUN mkdir -p /var/run/sshd \
|
87 |
+
&& ssh-keygen -A \
|
88 |
+
&& sed -i 's/#PermitRootLogin yes/PermitRootLogin yes/g' /etc/ssh/sshd_config \
|
89 |
+
&& sed -i 's/#RSAAuthentication yes/RSAAuthentication yes/g' /etc/ssh/sshd_config \
|
90 |
+
&& sed -i 's/#PubkeyAuthentication yes/PubkeyAuthentication yes/g' /etc/ssh/sshd_config
|
91 |
+
|
92 |
+
# Create WRF working directories
|
93 |
+
RUN mkdir -p /wrf/WPS_GEOG /wrf/wrfinput /wrf/wrfoutput \
|
94 |
+
&& chown -R wrfuser:wrf /wrf /wrf/WPS_GEOG /wrf/wrfinput /wrf/wrfoutput /usr/local \
|
95 |
+
&& chmod 6755 /wrf /wrf/WPS_GEOG /wrf/wrfinput /wrf/wrfoutput /usr/local
|
96 |
+
|
97 |
+
# Some additional configurations
|
98 |
+
RUN mkdir /wrf/.ssh ; echo "StrictHostKeyChecking no" > /wrf/.ssh/config
|
99 |
+
COPY default-mca-params.conf /wrf/.openmpi/mca-params.conf
|
100 |
+
RUN mkdir -p /wrf/.openmpi
|
101 |
+
RUN chown -R wrfuser:wrf /wrf/
|
102 |
+
|
103 |
+
# Setting up environment variables
|
104 |
+
ENV NETCDF "${NETCDF}"
|
105 |
+
ENV LDFLAGS="-lm"
|
106 |
+
ENV JASPERINC /usr/include/jasper
|
107 |
+
ENV JASPERLIB /usr/lib64
|
108 |
+
ENV NETCDF_classic 1
|
109 |
+
ENV LD_LIBRARY_PATH /usr/local/lib/openmpi:/wrf/libs/netcdf/lib:${LD_LIBRARY_PATH}
|
110 |
+
ENV PATH .:/usr/bin:/usr/local/bin:/wrf/libs/netcdf/bin:$PATH
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
requirements/{Dockerfile → Dockerfile.WRF}
RENAMED
File without changes
|
requirements/default-mca-params.conf
ADDED
@@ -0,0 +1,4 @@
|
|
|
|
|
|
|
|
|
|
|
1 |
+
btl=tcp,self
|
2 |
+
plm_rsh_no_tree_spawn=1
|
3 |
+
btl_base_warn_component_unused=0
|
4 |
+
pml=ob1
|