source: LMDZ6/trunk/libf/misc/lmdz_netcdf.F90 @ 5073

Last change on this file since 5073 was 5073, checked in by abarral, 2 months ago

Remove all NC_DOUBLE uses outside of lmdz_netcdf.F90 (except in obsolete/, which I hope we'll ditch soon...)
Note: make sure to check convergence at some point, it's possible that we've messed up some when replacing nf_* by nf90_* calls
(lint) replace obsolete logical operators along the way

File size: 905 bytes
Line 
1! ---------------------------------------------
2! This module serves as a wrapper around netcdf.
3! It serves two primary functions:
4!  1) Turn netcdf into a "real" fortran module, without the INCLUDE call
5!  2) Handle the NC_DOUBLE CPP key. This key should ONLY be used here.
6! Ideally, the "real" netcdf module/headers should ONLY be called here. (WIP) TODO
7! ---------------------------------------------
8! TODO check all uses of `use netcdf` + netcdf.inc
9
10MODULE lmdz_netcdf
11  USE, INTRINSIC :: ISO_FORTRAN_ENV, ONLY : REAL64, REAL32
12  USE netcdf
13  IMPLICIT NONE
14  ! Note: as we want to expose netcdf through this module, we don't make all PRIVATE by default as usual
15  ! Instead, explicitely make PRIVATE the relevant items.
16
17  INCLUDE 'netcdf.inc'
18
19#ifdef NC_DOUBLE
20  INTEGER, PARAMETER :: NF90_FORMAT = NF90_DOUBLE
21#else
22  INTEGER, PARAMETER :: NF90_FORMAT = NF90_FLOAT
23#endif
24END MODULE lmdz_netcdf
Note: See TracBrowser for help on using the repository browser.