9). The fortran interface for NETCDF4 replaces the previous NETCDF3 interface

1). In V8_1, by default, SURFEX is compiled :

  • on a cnrm PC, with VER_CDF=CDFCTI, ie with the version of NETCDF installed by CTI;
  • on Beaufix, with VER_CDF=CDFBOFX, ie with the version of NETCDF installed on Beaufix;
  • on Prolix, with VER_CDF=CDFPROLXPARALL, ie with the parallel version of NETCDF installed on Prolix.

2). It’s still possible to compile SURFEX with VER_CDF=CDFAUTO, but the version of NETCDF provided inside the package was updated from version 3.6.3 to version 4:

  • in the directory src/LIB/netcdf4 are stored the needed packages: zlib-1.2.8, szip-2.1, curl-7.50.1, hdf5.1.8.17, netcdf-4.4.1, netcdf-fortran4.4.4.
  • they are compiled during the general compilation of SURFEX.
  • HDF5 and NETCDF are compiled enabling parallel I/O.

3). In the subroutines of the SURFEX code, the interface with the NETCDF subroutines was updated to the NETCDF4 interface, so:

  • it’s not possible to use NETCDF3 in SURFEX any longer.
  • if you are not in CNRM nor have access to Beaufix or Prolix, you need to:
    • verify NETCDF4 is installed in your environment,
    • define your own VER_CDF and register it in the configure file,
    • adapt Makefile.SURFEX.mk to define the paths to your NETCDF4 library,
    • if NETCDF4 is not installed on your computer, you have to choose VER_CDF=CDFAUTO.