WRFgcc
De Wikicima
(Diferencias entre revisiones)
(Creación de la página de compilación de WRF con gcc) |
(Embelleciéndolo) |
||
Línea 11: | Línea 11: | ||
These compilation steps are kept inside the file <code>/share/tools/Downloads/compilation.inf</code> |
These compilation steps are kept inside the file <code>/share/tools/Downloads/compilation.inf</code> |
||
− | 1.- Compiling <code>openmpi v3.0.0.</code> |
+ | === openmpi v3.0.0.0 === |
* getting source |
* getting source |
||
<pre> |
<pre> |
||
Línea 41: | Línea 41: | ||
For all the others libraries is similar, but paying attention to provide the right installation folder and the right location of the new compiled libraries |
For all the others libraries is similar, but paying attention to provide the right installation folder and the right location of the new compiled libraries |
||
− | 1.- zlib-1.2.11 |
+ | === zlib-1.2.11 === |
<code> |
<code> |
||
src: https://zlib.net/zlib-1.2.11.tar.gz |
src: https://zlib.net/zlib-1.2.11.tar.gz |
||
Línea 50: | Línea 50: | ||
</code> |
</code> |
||
− | 1.- hdf5-1.10.1 |
+ | === hdf5-1.10.1 === |
<code> |
<code> |
||
src: hdf5-1.10.1.tar.bz2 |
src: hdf5-1.10.1.tar.bz2 |
||
Línea 62: | Línea 62: | ||
</code> |
</code> |
||
− | 1.- libcurl-7.57.0 |
+ | === libcurl-7.57.0 === |
<code> |
<code> |
||
src: https://curl.haxx.se/download/curl-7.57.0.tar.gz |
src: https://curl.haxx.se/download/curl-7.57.0.tar.gz |
||
Línea 71: | Línea 71: | ||
</code> |
</code> |
||
− | 2.- netcdf-4.5.0 |
+ | === netcdf-4.5.0 === |
<code> |
<code> |
||
src: ftp://ftp.unidata.ucar.edu/pub/netcdf/netcdf-4.5.0.tar.gz |
src: ftp://ftp.unidata.ucar.edu/pub/netcdf/netcdf-4.5.0.tar.gz |
||
Línea 84: | Línea 84: | ||
$ make install >& make_install.log |
$ make install >& make_install.log |
||
</code> |
</code> |
||
− | Fortran interdace |
+ | |
+ | * Fortran interface |
||
+ | |||
<code> |
<code> |
||
src: ftp://ftp.unidata.ucar.edu/pub/netcdf/netcdf-fortran-4.4.4.tar.gz |
src: ftp://ftp.unidata.ucar.edu/pub/netcdf/netcdf-fortran-4.4.4.tar.gz |
Revisión de 13:17 6 dic 2017
Contenido |
gcc compilation
<hydra> has by default intel C/Fortran compilers. However, <hydra> also has the free gcc compilers.
Here are the instructions followed to compile WRF using the gcc and gfortran compilers. In order to do that, one needs to compile all the required libraries (openmpi, zlib, curl, hdf5 and netcdf) using these compilers. No udunits
was installed due to issues with cmake
Required libraries
Here the steps starting from a folder where we will download all the sources called
/share/tools/Downloads/
These compilation steps are kept inside the file /share/tools/Downloads/compilation.inf
openmpi v3.0.0.0
- getting source
$ wget https://www.open-mpi.org/software/ompi/v3.0/downloads/openmpi-3.0.0.tar.gz
- Decompressing
$ tar xvfz openmpi-3.0.0.tar.gz
- Going there
$ cd openmpi-3.0.0
- Creation of the folder where the libraries will be installed
$ mkdir -p /share/tools/bin/openmpi/3.0.0/gcc
- Configuring the compilation/installation
$ ./configure --prefix=/share/tools/bin/openmpi/3.0.0/gcc >& run_configure.log
- Looking for errors in
run_configure.log
. If not </code>make</code> chain (ensuring each steps goes fine)
$ make all >& run_make.log $ make test >& run_make_test.log $ make install >& run_make_install.log
For all the others libraries is similar, but paying attention to provide the right installation folder and the right location of the new compiled libraries
zlib-1.2.11
src: https://zlib.net/zlib-1.2.11.tar.gz $ ./configure --prefix=/share/tools/bin/zlib/1.2.8/gcc >& run_configure.log $ make >& make.log $ make check >& make_check.log $ make install >& make_install.log
hdf5-1.10.1
src: hdf5-1.10.1.tar.bz2 $ export CPP=/usr/bin/cpp $ apt-get install g++ $ ./configure --enable-fortran --with-zlib=/share/tools/bin/zlib/1.2.8/gcc/lib --prefix=/share/tools/bin/hdf5/1.10.1/gcc >& run_configure.log $ make >& make.log $ make check >& make_check.log $ make install >& make_install.log
libcurl-7.57.0
src: https://curl.haxx.se/download/curl-7.57.0.tar.gz $ ./configure --prefix=/share/tools/bin/curl/7.57.0/gcc >& run_configure.log $ make >& make.log $ make check >& make_check.log $ make install >& make_install.log
netcdf-4.5.0
src: ftp://ftp.unidata.ucar.edu/pub/netcdf/netcdf-4.5.0.tar.gz $ apt-get install curl $ export LDFLAGS='-L/share/tools/bin/zlib/1.2.8/gcc/lib -L/share/tools/bin/hdf5/1.10.1/gcc/lib -L/share/tools/bin/curl/7.57.0/gcc/lib' $ export CPPFLAGS='-I/share/tools/bin/zlib/1.2.8/gcc/include -I/share/tools/bin/hdf5/1.10.1/gcc/include -I/share/tools/bin/curl/7.57.0/gcc/include' $ ./configure --enable-netcdf-4 --prefix=/share/tools/bin/netcdf/4.5.0/gcc >& run_configure.log $ make >& make.log $ make check >& make_check.log $ make install >& make_install.log
- Fortran interface
src: ftp://ftp.unidata.ucar.edu/pub/netcdf/netcdf-fortran-4.4.4.tar.gz $ export LD_LIBRARY_PATH=-I/share/tools/bin/netcdf/4.5.0/gcc/lib:${LD_LIBRARY_PATH} $ export LDFLAGS='-L/share/tools/bin/zlib/1.2.8/gcc/lib -L/share/tools/bin/hdf5/1.10.1/gcc/lib -L/share/tools/bin/curl/7.57.0/gcc/lib -L/share/tools/bin/netcdf/4.5.0/gcc/lib' $ export CPPFLAGS='-I/share/tools/bin/zlib/1.2.8/gcc/include -I/share/tools/bin/hdf5/1.10.1/gcc/include -I/share/tools/bin/curl/7.57.0/gcc/include -I/share/tools/bin/netcdf/4.5.0/gcc/include' $ ./configure --prefix=/share/tools/bin/netcdf/4.5.0/gcc >& run_configure.log $ make >& make.log $ make check >& make_check.log $ make install >& make_install.log