WRF+WPS 4.4 v1

master
commit fad98794d6

@ -0,0 +1,45 @@
# COMPILACIÒN DE WRF
Este instructivo permite compilar WRF v4.4 con HDF5.
## Activar entorno NIX
```
$ enable_nix
```
## Clonar este repositorio y bajar/compilar fuentes de WRF
```
$ git clone https://git.csc.gob.ar/tupac/wrf-nix.git
$ cd wrf-nix
$ nix-shell wrf.nix
# [esperar a que se active el entorno Nix]
# unpackPhase: función de Nix que baja y descomprime el fuente de WRF
# Necesario por unica vez
$ unpackPhase
$ cd WRF
$ ./configure
# Seleccionar opciones 34 y 1
$ ./compile -j 4 wrf
$ ./compile -j 4 em_real
$ exit
```
## Compilar WPS
A continuación podemos compilar WPS (desde la carpeta base del repo):
```
$ nix-shell wps.nix
$ [esperar a que se active el entorno Nix]
# unpackPhase: función de Nix que baja y descomprime el fuente de WPS
# Necesario por unica vez
$ unpackPhase
$ cd WPS-4.4
$ ./configure
# Seleccionar opcion 3, linux paralelo
$ ./compile
$ exit
```

@ -0,0 +1,41 @@
#{ lib, stdenv, fetchurl, gfortran, mpi, jasper, netcdf, netcdf-fortran, zlib, removeReferencesTo}:
with import <nixpkgs> {};
let netcdf-full = pkgs.buildEnv {
name = "netcdf+c+fortran";
paths = [
netcdf
netcdffortran
];
};
in
stdenv.mkDerivation {
pname = "WPS";
version = "4.4";
src = fetchurl {
url = "https://github.com/wrf-model/WPS/archive/refs/tags/v4.4.tar.gz";
sha256 = "sha256-/pyNippKu/gAsw5suzeGBMYEDkU29VlLji2uQ+lC4rM=";
};
nativeBuildInputs = [ m4 removeReferencesTo ];
buildInputs = [ mpi netcdf-full gfortran zlib jasper openmpi libpng gomp ];
dontAddPrefix=true;
env.NETCDF=netcdf-full;
env.JASPERLIB=jasper + "/lib";
env.JASPERINC=jasper + "/include";
env.WRF_DIR = "../WRF";
env.NIX_LDFLAGS = "-lnetcdff";
configurePhase= ''
bash -c "echo 35 | ./configure"
'';
buildPhase= ''
bash -c "./compile wrf"
'';
installPhase= ''
'';
}

@ -0,0 +1,51 @@
#{ lib, stdenv, fetchurl, gfortran, mpi, jasper, netcdf, netcdffortran, zlib, removeReferencesTo}:
with import <nixpkgs> {};
let netcdf-full = pkgs.buildEnv {
name = "netcdf+c+fortran";
paths = [
netcdf
netcdffortran
];
};
in
gcc9Stdenv.mkDerivation {
pname = "WRF";
version = "4.4.2";
src = fetchurl {
url = "https://github.com/wrf-model/WRF/releases/download/v4.4.2/v4.4.2.tar.gz";
sha256 = "sha256-SIuZLo6ZRjfFjjxp6GmtBaz+eUGcAfvvat4fYk5Q3Do=";
};
nativeBuildInputs = [ m4 removeReferencesTo ];
buildInputs = [ mpi
netcdf-full
gfortran
zlib
jasper
openmpi
libpng
gomp
hdf5-mpi
hdf5-fortran];
dontAddPrefix=true;
env.HDF5=hdf5-mpi;
env.NETCDF=netcdf-full;
env.JASPERLIB=jasper + "/lib";
env.JASPERINC=jasper + "/include";
NIX_CFLAGS_COMPILE = "-Wno-format-security";
env.NIX_LDFLAGS = "-lnetcdff";
configurePhase= ''
bash -c "echo 34 | ./configure"
'';
buildPhase= ''
bash -c "./compile wrf"
'';
installPhase= ''
'';
}
Loading…
Cancel
Save