Voici un exemple tiré du fichier
dyn3d/limit_netcdf.F
. L'interface pour Fortran 90 de
NetCDF offre une procédure générique NF90_GET_VAR
indépendante du type de la variable, indépendante de son rang
(scalaire ou tableau), avec des arguments facultatifs. Dans l'exemple,
avec l'interface Fortran 90, l'argument indiquant le nombre d'éléments
à lire dans chaque dimension (imdep
, jmdep
)
est inutile : c'est le profil de champ
.
Avant
ALLOCATE( champ(imdep*jmdep) ) dimfirst(1) = 1 dimfirst(2) = 1 dimfirst(3) = l dimlast(1) = imdep dimlast(2) = jmdep dimlast(3) = 1 c #ifdef NC_DOUBLE ierr = NF_GET_VARA_DOUBLE(ncid,varid,dimfirst,dimlast,champ) #else ierr = NF_GET_VARA_REAL(ncid,varid,dimfirst,dimlast,champ) #endif
Après
ALLOCATE(champ(imdep, jmdep)) ierr = NF90_GET_VAR(ncid, varid, champ, start=(/1, 1, l/))