I'm compiling the ensemble Kalman filter code on Zenobe and the Fortran code needs at some point a file called netcdf.inc which should be in the directory of the NetCDF libraries:
Not sure it will fix my compilation error but I can still try.
Thanks,
François
Hi @pbarriat,
I'm compiling the ensemble Kalman filter code on Zenobe and the Fortran code needs at some point a file called `netcdf.inc` which should be in the directory of the NetCDF libraries:
From `nfw.F90`:
```fortran
...
! length, v)
! 06/11/2009 PS: added nfw_dim_exists(ncid, name)
! nfw_put_att_real(fname, ncid, varid, attname, type, length, v)
! nfw_get_att_real(fname, ncid, varid, attname, v)
module nfw_mod
implicit none
include 'netcdf.inc'
character(*), private, parameter :: nfw_version = "0.03"
integer, private, parameter :: logunit = 6
character(*), private, parameter :: errprefix = "nfw: error: "
private quit1, quit2, quit3
contains
...
```
The file is not there:
```bash
fmasson@frontal1 09:17:54 ~/git/EnKF/EnKF-MPI-TOPAZ 11 > ls /projects/acad/ecearth/opt/software/netCDF/4.4.1-foss-2016b/include/
netcdf.h netcdf_mem.h netcdf_meta.h
```
but I know what it should be from previous runs at BSC:
```
bsc32526@login3:/gpfs/scratch/bsc32/bsc32526> ls /apps/NETCDF/4.3.2/INTEL/IMPI/include/
netcdf4_f03.mod netcdf4_nf_interfaces.mod netcdf_fortv2_c_interfaces.mod netcdf.inc netcdf_nc_data.mod netcdf_nf_data.mod netcdf_par.h
netcdf4_nc_interfaces.mod netcdf_f03.mod netcdf.h netcdf.mod netcdf_nc_interfaces.mod netcdf_nf_interfaces.mod typesizes.mod
```
The file is on my home:
```bash
ls /home/acad/ucl-elic/fmasson/netcdf.inc
```
Could you copy it to the `lib` directory?
Not sure it will fix my compilation error but I can still try.
Thanks,
François
Hi @fmasson,
This file comes with the netCDF-Fortran module.
It seems that BSC merge netCDF and netCDF-Fortran during the install process.
You should load `netCDF-Fortran/4.4.4-foss-2016b` and you will have:
```bash
ls /projects/acad/ecearth/opt/software/netCDF-Fortran/4.4.4-foss-2016b/include/
netcdf4_f03.mod netcdf4_nc_interfaces.mod netcdf4_nf_interfaces.mod netcdf_f03.mod netcdf_fortv2_c_interfaces.mod netcdf.inc netcdf.mod netcdf_nc_data.mod netcdf_nc_interfaces.mod netcdf_nf_data.mod netcdf_nf_interfaces.mod typesizes.mod
```
More generally a couple of modules that was I able to load back then, seem not available anymore:
fmasson@frontal3 13:39:21 ~/git/EnKF 36 > module purge
fmasson@frontal3 13:39:23 ~/git/EnKF 37 > module load intel
ModuleCmd_Load.c(213):ERROR:105: Unable to locate a modulefile for 'intel'
fmasson@frontal3 13:39:23 ~/git/EnKF 38 > module load impi
ModuleCmd_Load.c(213):ERROR:105: Unable to locate a modulefile for 'impi'
fmasson@frontal3 13:39:23 ~/git/EnKF 39 > module load MKL
ModuleCmd_Load.c(213):ERROR:105: Unable to locate a modulefile for 'MKL'
fmasson@frontal3 13:39:23 ~/git/EnKF 40 > module load NETCDF/4.4.1.1
ModuleCmd_Load.c(213):ERROR:105: Unable to locate a modulefile for 'NETCDF/4.4.1.1'
Any idea how to fix this? Thanks!
François
Hi @pbarriat,
I'm trying to recompile this code on zenobe but it looks like the commands above do not work anymore:
```
fmasson@frontal3 13:34:46 ~/git/EnKF 27 > module purge
fmasson@frontal3 13:34:50 ~/git/EnKF 28 > module load netCDF-Fortran/4.4.4-foss-2016b
ModuleCmd_Load.c(213):ERROR:105: Unable to locate a modulefile for 'netCDF-Fortran/4.4.4-foss-2016b'
```
Still the path to the library exists:
```
fmasson@frontal3 13:36:04 ~/git/EnKF 30 > ls /projects/acad/ecearth/opt/software/netCDF-Fortran/4.4.4-foss-2016b/include/
netcdf4_f03.mod netcdf4_nf_interfaces.mod netcdf_fortv2_c_interfaces.mod netcdf.mod netcdf_nc_interfaces.mod netcdf_nf_interfaces.mod
netcdf4_nc_interfaces.mod netcdf_f03.mod netcdf.inc netcdf_nc_data.mod netcdf_nf_data.mod typesizes.mod
```
More generally a couple of modules that was I able to load back then, seem not available anymore:
```
fmasson@frontal3 13:39:21 ~/git/EnKF 36 > module purge
fmasson@frontal3 13:39:23 ~/git/EnKF 37 > module load intel
ModuleCmd_Load.c(213):ERROR:105: Unable to locate a modulefile for 'intel'
fmasson@frontal3 13:39:23 ~/git/EnKF 38 > module load impi
ModuleCmd_Load.c(213):ERROR:105: Unable to locate a modulefile for 'impi'
fmasson@frontal3 13:39:23 ~/git/EnKF 39 > module load MKL
ModuleCmd_Load.c(213):ERROR:105: Unable to locate a modulefile for 'MKL'
fmasson@frontal3 13:39:23 ~/git/EnKF 40 > module load NETCDF/4.4.1.1
ModuleCmd_Load.c(213):ERROR:105: Unable to locate a modulefile for 'NETCDF/4.4.1.1'
```
Any idea how to fix this? Thanks!
François
Once this function called, module av should show you some modules installed by myself (with easybuild = state of the art!)
Now, if I take a look in ~fmasson/git/EnKF/EnKF-MPI-TOPAZ, I think you just have to do:
module load netCDF-Fortran/4.4.4-foss-2016b
cd ~fmasson/git/EnKF/EnKF-MPI-TOPAZ
make
That's it!
Hi @fmasson,
Pfff... the modules on Zenobe, such a shame!
I recently did a function in my `~/.bashrc` file to by-pass the official modules system.
```
my_modules()
{
module() { eval $($LMOD_CMD bash "$@"); }
export -f module
MODULESHOME=""
export MODULESHOME
LOADEDMODULES=""
export LOADEDMODULES
. /projects/acad/ecearth/opt/lmod/lmod/init/bash
MODULEPATH="/projects/acad/ecearth/opt/modules/all"
export MODULEPATH
}
```
Once this function called, `module av` should show you some modules installed by myself (with easybuild = state of the art!)
Now, if I take a look in `~fmasson/git/EnKF/EnKF-MPI-TOPAZ`, I think you just have to do:
```
module load netCDF-Fortran/4.4.4-foss-2016b
cd ~fmasson/git/EnKF/EnKF-MPI-TOPAZ
make
```
That's it!
Hi @pbarriat,
I'm compiling the ensemble Kalman filter code on Zenobe and the Fortran code needs at some point a file called
netcdf.inc
which should be in the directory of the NetCDF libraries:From
nfw.F90
:The file is not there:
but I know what it should be from previous runs at BSC:
The file is on my home:
Could you copy it to the
lib
directory?Not sure it will fix my compilation error but I can still try.
Thanks,
François
Hi @fmasson,
This file comes with the netCDF-Fortran module.
It seems that BSC merge netCDF and netCDF-Fortran during the install process.
You should load
netCDF-Fortran/4.4.4-foss-2016b
and you will have:@fmasson,
On zenobe (frontal3), just do:
And:
FYI,
make.inc
with GNU is:That's OK with the following bug fix (it's done) in
EnKF.F90
:becomes:
Many thanks, much appreciated and very useful.
François
Hi @pbarriat,
I'm trying to recompile this code on zenobe but it looks like the commands above do not work anymore:
Still the path to the library exists:
More generally a couple of modules that was I able to load back then, seem not available anymore:
Any idea how to fix this? Thanks! François
Hi @fmasson,
Pfff... the modules on Zenobe, such a shame!
I recently did a function in my
~/.bashrc
file to by-pass the official modules system.Once this function called,
module av
should show you some modules installed by myself (with easybuild = state of the art!)Now, if I take a look in
~fmasson/git/EnKF/EnKF-MPI-TOPAZ
, I think you just have to do:That's it!
Works, thanks.
François