Changeset 5270


Ignore:
Timestamp:
Oct 24, 2024, 1:55:38 PM (5 weeks ago)
Author:
abarral
Message:

Replace F77 netcdf library by F90 netcdf library

Location:
LMDZ6/trunk/libf
Files:
31 edited

Legend:

Unmodified
Added
Removed
  • LMDZ6/trunk/libf/dyn3d/guide_mod.f90

    r5268 r5270  
    1414                    nf90_inq_dimid, nf90_inquire_dimension
    1515  use pres2lev_mod, only: pres2lev
     16  USE netcdf, ONLY: nf90_nowrite, nf90_open, nf90_inq_varid, nf90_close, &
     17          nf90_inq_dimid, nf90_inquire_dimension, nf90_float, nf90_def_var, &
     18          nf90_create, nf90_def_dim, nf90_open, nf90_unlimited, nf90_write, nf90_enddef, nf90_redef, &
     19          nf90_close, nf90_inq_varid, nf90_get_var, nf90_noerr, nf90_clobber, &
     20          nf90_64bit_offset, nf90_inq_dimid, nf90_inquire_dimension, nf90_put_var
    1621
    1722  IMPLICIT NONE
     
    7782    INCLUDE "dimensions.h"
    7883    INCLUDE "paramet.h"
    79     INCLUDE "netcdf.inc"
    8084
    8185    INTEGER                :: error,ncidpl,rid,rcod
     
    224228
    225229    endif
    226     error=NF_INQ_DIMID(ncidpl,'LEVEL',rid)
    227     IF (error.NE.NF90_NOERR) error=NF_INQ_DIMID(ncidpl,'PRESSURE',rid)
     230    error=nf90_inq_dimid(ncidpl,'LEVEL',rid)
     231    IF (error.NE.NF90_NOERR) error=nf90_inq_dimid(ncidpl,'PRESSURE',rid)
    228232    IF (error.NE.NF90_NOERR) THEN
    229233        CALL abort_gcm(modname,'Nudging: error reading pressure levels',1)
    230234    ENDIF
    231     error=NF_INQ_DIMLEN(ncidpl,rid,nlevnc)
     235    error=nf90_inquire_dimension(ncidpl,rid,len=nlevnc)
    232236    write(*,*)trim(modname)//' : number of vertical levels nlevnc', nlevnc
    233237    rcod = nf90_close(ncidpl)
     
    16601664    INCLUDE "dimensions.h"
    16611665    INCLUDE "paramet.h"
    1662     INCLUDE "netcdf.inc"
    16631666    INCLUDE "comgeom2.h"
    16641667   
     
    16861689! ----------------------------------------------
    16871690! Ouverture du fichier
    1688         ierr=NF_CREATE("guide_ins.nc",IOR(NF_CLOBBER,NF_64BIT_OFFSET),nid)
     1691        ierr=nf90_create("guide_ins.nc",IOR(nf90_clobber,nf90_64bit_offset),nid)
    16891692! Definition des dimensions
    1690         ierr=NF_DEF_DIM(nid,"LONU",iip1,id_lonu)
    1691         ierr=NF_DEF_DIM(nid,"LONV",iip1,id_lonv)
    1692         ierr=NF_DEF_DIM(nid,"LATU",jjp1,id_latu)
    1693         ierr=NF_DEF_DIM(nid,"LATV",jjm,id_latv)
    1694         ierr=NF_DEF_DIM(nid,"LEVEL",llm,id_lev)
    1695         ierr=NF_DEF_DIM(nid,"TIME",NF_UNLIMITED,id_tim)
     1693        ierr=nf90_def_dim(nid,"LONU",iip1,id_lonu)
     1694        ierr=nf90_def_dim(nid,"LONV",iip1,id_lonv)
     1695        ierr=nf90_def_dim(nid,"LATU",jjp1,id_latu)
     1696        ierr=nf90_def_dim(nid,"LATV",jjm,id_latv)
     1697        ierr=nf90_def_dim(nid,"LEVEL",llm,id_lev)
     1698        ierr=nf90_def_dim(nid,"TIME",nf90_unlimited,id_tim)
    16961699
    16971700! Creation des variables dimensions
     
    17101713             varid_alpha_q)
    17111714       
    1712         ierr=NF_ENDDEF(nid)
     1715        ierr=nf90_enddef(nid)
    17131716
    17141717! Enregistrement des variables dimensions
     
    17301733! Cr�ation des variables sauvegard�es
    17311734! --------------------------------------------------------------------
    1732         ierr = NF_REDEF(nid)
     1735        ierr = nf90_redef(nid)
    17331736! Pressure (GCM)
    17341737        dim4=(/id_lonv,id_latu,id_lev,id_tim/)
     
    17641767        ENDIF
    17651768       
    1766         ierr = NF_ENDDEF(nid)
    1767         ierr = NF_CLOSE(nid)
     1769        ierr = nf90_enddef(nid)
     1770        ierr = nf90_close(nid)
    17681771    ENDIF ! timestep=0
    17691772
     
    17711774! Enregistrement du champ
    17721775! --------------------------------------------------------------------
    1773     ierr=NF_OPEN("guide_ins.nc",NF_WRITE,nid)
     1776    ierr=nf90_open("guide_ins.nc",nf90_write,nid)
    17741777
    17751778    IF (varname=="SP") timestep=timestep+1
    17761779
    1777     ierr = NF_INQ_VARID(nid,varname,varid)
     1780    ierr = nf90_inq_varid(nid,varname,varid)
    17781781    SELECT CASE (varname)
    17791782    CASE ("SP","ps")
     
    18001803
    18011804    ierr = nf90_put_var(nid, varid, field2, start, count)
    1802     ierr = NF_CLOSE(nid)
     1805    ierr = nf90_close(nid)
    18031806
    18041807  END SUBROUTINE guide_out
  • LMDZ6/trunk/libf/dyn3d_common/grilles_gcm_netcdf_sub.f90

    r5268 r5270  
    1414  USE comconst_mod, ONLY: cpp, kappa, g, omeg, daysec, rad, pi
    1515  USE comvert_mod, ONLY: presnivs, preff, pa
    16   use netcdf, only: nf90_def_var, nf90_int, nf90_float, nf90_put_var
     16  USE netcdf, ONLY: nf90_def_var, nf90_int, nf90_float, nf90_put_var, nf90_clobber, nf90_64bit_offset, nf90_def_dim, &
     17          nf90_put_att, nf90_enddef, nf90_create
    1718 
    1819  IMPLICIT NONE
     
    2122  INCLUDE "paramet.h"
    2223  INCLUDE "comgeom.h"
    23   INCLUDE "netcdf.inc"
    2424
    2525!========================
     
    102102  ! OPEN output netcdf file
    103103  !-------------------------
    104   status=NF_CREATE('grilles_gcm.nc',IOR(NF_CLOBBER,NF_64BIT_OFFSET),ncid_out)
     104  status=nf90_create('grilles_gcm.nc',IOR(nf90_clobber,nf90_64bit_offset),ncid_out)
    105105  CALL handle_err(status)
    106106 
    107107  ! DEFINE output dimensions
    108108  !-------------------------
    109   status=NF_DEF_DIM(ncid_out,'lonu',iim+1,out_lonudim)
    110   CALL handle_err(status)
    111   status=NF_DEF_DIM(ncid_out,'lonv',iim+1,out_lonvdim)
    112   CALL handle_err(status)
    113   status=NF_DEF_DIM(ncid_out,'latu',jjm+1,out_latudim)
    114   CALL handle_err(status)
    115   status=NF_DEF_DIM(ncid_out,'latv',jjm,out_latvdim)
    116   CALL handle_err(status)
    117   !
    118   status=NF_DEF_DIM(ncid_out,'lev',llm,out_levdim)
     109  status=nf90_def_dim(ncid_out,'lonu',iim+1,out_lonudim)
     110  CALL handle_err(status)
     111  status=nf90_def_dim(ncid_out,'lonv',iim+1,out_lonvdim)
     112  CALL handle_err(status)
     113  status=nf90_def_dim(ncid_out,'latu',jjm+1,out_latudim)
     114  CALL handle_err(status)
     115  status=nf90_def_dim(ncid_out,'latv',jjm,out_latvdim)
     116  CALL handle_err(status)
     117  !
     118  status=nf90_def_dim(ncid_out,'lev',llm,out_levdim)
    119119  CALL handle_err(status)
    120120 
     
    124124  status=NF90_DEF_VAR(ncid_out,'lonu',NF90_FLOAT,out_lonudim, out_lonuid)
    125125  CALL handle_err(status)
    126   status=NF_PUT_ATT_TEXT(ncid_out,out_lonuid,'units', 12,'degrees_east')
    127   status=NF_PUT_ATT_TEXT(ncid_out,out_lonuid,'long_name',19,'Longitude on u grid')
     126  status=nf90_put_att(ncid_out,out_lonuid,'units','degrees_east')
     127  status=nf90_put_att(ncid_out,out_lonuid,'long_name','Longitude on u grid')
    128128  !   Longitudes on "v" dynamical grid
    129129  status=NF90_DEF_VAR(ncid_out,'lonv',NF90_FLOAT,out_lonvdim, out_lonvid)
    130130  CALL handle_err(status)
    131   status=NF_PUT_ATT_TEXT(ncid_out,out_lonvid,'units', 12,'degrees_east')
    132   status=NF_PUT_ATT_TEXT(ncid_out,out_lonvid,'long_name', 19,'Longitude on v grid')
     131  status=nf90_put_att(ncid_out,out_lonvid,'units','degrees_east')
     132  status=nf90_put_att(ncid_out,out_lonvid,'long_name','Longitude on v grid')
    133133  !   Latitudes on "u" dynamical grid
    134134  status=NF90_DEF_VAR(ncid_out,'latu',NF90_FLOAT,out_latudim, out_latuid)
    135135  CALL handle_err(status)
    136   status=NF_PUT_ATT_TEXT(ncid_out,out_latuid,'units', 13,'degrees_north')
    137   status=NF_PUT_ATT_TEXT(ncid_out,out_latuid,'long_name', 18,'Latitude on u grid')
     136  status=nf90_put_att(ncid_out,out_latuid,'units','degrees_north')
     137  status=nf90_put_att(ncid_out,out_latuid,'long_name','Latitude on u grid')
    138138  !  Latitudes on "v" dynamical grid
    139139  status=NF90_DEF_VAR(ncid_out,'latv',NF90_FLOAT,out_latvdim, out_latvid)
    140140  CALL handle_err(status)
    141   status=NF_PUT_ATT_TEXT(ncid_out,out_latvid,'units', 13,'degrees_north')
    142   status=NF_PUT_ATT_TEXT(ncid_out,out_latvid,'long_name', 18,'Latitude on v grid')
     141  status=nf90_put_att(ncid_out,out_latvid,'units','degrees_north')
     142  status=nf90_put_att(ncid_out,out_latvid,'long_name','Latitude on v grid')
    143143  !  "u" lat/lon dynamical grid
    144144  out_dim(1)=out_lonudim
     
    146146  status=NF90_DEF_VAR(ncid_out,'grille_u',NF90_FLOAT,out_dim, out_uid)
    147147  CALL handle_err(status)
    148   status=NF_PUT_ATT_TEXT(ncid_out,out_uid,'units', 3,'m/s')
    149   status=NF_PUT_ATT_TEXT(ncid_out,out_uid,'long_name', 21,'u-wind dynamical grid')
     148  status=nf90_put_att(ncid_out,out_uid,'units','m/s')
     149  status=nf90_put_att(ncid_out,out_uid,'long_name','u-wind dynamical grid')
    150150  !  "v" lat/lon dynamical grid
    151151  out_dim(1)=out_lonvdim
     
    153153  status=NF90_DEF_VAR(ncid_out,'grille_v',NF90_FLOAT,out_dim, out_vid)
    154154  CALL handle_err(status)
    155   status=NF_PUT_ATT_TEXT(ncid_out,out_vid,'units', 3,'m/s')
    156   status=NF_PUT_ATT_TEXT(ncid_out,out_vid,'long_name', 21,'v-wind dynamical grid')
     155  status=nf90_put_att(ncid_out,out_vid,'units','m/s')
     156  status=nf90_put_att(ncid_out,out_vid,'long_name','v-wind dynamical grid')
    157157  !  "s" (scalar) lat/lon dynamical grid
    158158  out_dim(1)=out_lonvdim
     
    160160  status=NF90_DEF_VAR(ncid_out,'grille_s',NF90_FLOAT,out_dim, out_tempid)
    161161  CALL handle_err(status)
    162   status=NF_PUT_ATT_TEXT(ncid_out,out_tempid,'units', 6,'Kelvin')
    163   status=NF_PUT_ATT_TEXT(ncid_out,out_tempid,'long_name',21,'scalar dynamical grid')
     162  status=nf90_put_att(ncid_out,out_tempid,'units','Kelvin')
     163  status=nf90_put_att(ncid_out,out_tempid,'long_name','scalar dynamical grid')
    164164  !
    165165  ! for INCA :
     
    167167  status=NF90_DEF_VAR(ncid_out,'presnivs',NF90_FLOAT,out_levdim, presnivs_id)
    168168  CALL handle_err(status)
    169   status=NF_PUT_ATT_TEXT(ncid_out,presnivs_id,'units', 2,'Pa')
    170   status=NF_PUT_ATT_TEXT(ncid_out,presnivs_id,'long_name',15,'Vertical levels')
     169  status=nf90_put_att(ncid_out,presnivs_id,'units','Pa')
     170  status=nf90_put_att(ncid_out,presnivs_id,'long_name','Vertical levels')
    171171  ! surface geopotential height: named "phis" as the sfc geopotential, is actually phis/g
    172172  out_dim(1)=out_lonvdim
     
    174174  status = nf90_def_var(ncid_out,'phis',NF90_FLOAT,out_dim,phis_id)
    175175  CALL handle_err(status)
    176   status=NF_PUT_ATT_TEXT(ncid_out,phis_id,'units', 1,'m')
    177   status=NF_PUT_ATT_TEXT(ncid_out,phis_id,'long_name',27,'surface geopotential height')
     176  status=nf90_put_att(ncid_out,phis_id,'units','m')
     177  status=nf90_put_att(ncid_out,phis_id,'long_name','surface geopotential height')
    178178  ! gridcell area
    179179  status = nf90_def_var(ncid_out,'aire',NF90_FLOAT,out_dim,area_id)
    180180  CALL handle_err(status)
    181   status=NF_PUT_ATT_TEXT(ncid_out,area_id,'units', 2,'m2')
    182   status=NF_PUT_ATT_TEXT(ncid_out,area_id,'long_name',13,'gridcell area')
     181  status=nf90_put_att(ncid_out,area_id,'units','m2')
     182  status=nf90_put_att(ncid_out,area_id,'long_name','gridcell area')
    183183  ! land-sea mask (nearest integer approx)
    184184  status = nf90_def_var(ncid_out,'mask',NF90_INT,out_dim,mask_id)
    185185  CALL handle_err(status)
    186   status=NF_PUT_ATT_TEXT(ncid_out,mask_id,'long_name',27,'land-sea mask (nINT approx)')
     186  status=nf90_put_att(ncid_out,mask_id,'long_name','land-sea mask (nINT approx)')
    187187 
    188188  ! END the 'define' mode in netCDF file
    189   status=NF_ENDDEF(ncid_out) 
     189  status=nf90_enddef(ncid_out)
    190190  CALL handle_err(status)
    191191 
     
    232232
    233233SUBROUTINE handle_err(status)
    234   INCLUDE "netcdf.inc"
     234  USE netcdf, ONLY: nf90_noerr, nf90_strerror
     235  IMPLICIT NONE
    235236
    236237  INTEGER status
    237   IF (status.NE.nf_noerr) THEN
    238      PRINT *,NF_STRERROR(status)
     238  IF (status.NE.nf90_noerr) THEN
     239     PRINT *,nf90_strerror(status)
    239240     CALL abort_gcm('grilles_gcm_netcdf','netcdf error',1)
    240241  ENDIF
  • LMDZ6/trunk/libf/dyn3dmem/guide_loc_mod.f90

    r5268 r5270  
    1111  USE getparam, only: ini_getparam, fin_getparam, getpar
    1212  USE Write_Field_loc
    13   use netcdf, only: nf90_nowrite, nf90_open, nf90_inq_varid, nf90_close, &
    14                     nf90_inq_dimid, nf90_inquire_dimension
     13  USE netcdf, ONLY: nf90_nowrite, nf90_open, nf90_inq_varid, nf90_close, &
     14          nf90_inq_dimid, nf90_inquire_dimension, nf90_inq_dimid, &
     15          nf90_inquire_dimension, nf90_enddef, nf90_def_dim, nf90_put_var, nf90_noerr, nf90_close, nf90_inq_varid, &
     16          nf90_redef, nf90_write, nf90_unlimited, nf90_float, nf90_clobber, nf90_64bit_offset, nf90_float, &
     17          nf90_create, nf90_def_var, nf90_open
    1518  USE parallel_lmdz
    1619  USE pres2lev_mod, only: pres2lev
     
    8184    INCLUDE "dimensions.h"
    8285    INCLUDE "paramet.h"
    83     INCLUDE "netcdf.inc"
    8486
    8587    INTEGER                :: error,ncidpl,rid,rcod
     
    177179       if (ncidpl.eq.-99) then
    178180          rcod=nf90_open('apbp.nc',Nf90_NOWRITe, ncidpl)
    179           if (rcod.NE.NF_NOERR) THEN
     181          if (rcod.NE.nf90_noerr) THEN
    180182             abort_message=' Nudging error -> no file apbp.nc'
    181183             CALL abort_gcm(modname,abort_message,1)
     
    185187       if (ncidpl.EQ.-99) then
    186188          rcod=nf90_open('P.nc',Nf90_NOWRITe,ncidpl)
    187           if (rcod.NE.NF_NOERR) THEN
     189          if (rcod.NE.nf90_noerr) THEN
    188190             abort_message=' Nudging error -> no file P.nc'
    189191             CALL abort_gcm(modname,abort_message,1)
     
    194196       if (ncidpl.eq.-99) then
    195197          rcod=nf90_open('u.nc',Nf90_NOWRITe,ncidpl)
    196           if (rcod.NE.NF_NOERR) THEN
     198          if (rcod.NE.nf90_noerr) THEN
    197199             abort_message=' Nudging error -> no file u.nc'
    198200             CALL abort_gcm(modname,abort_message,1)
     
    205207       if (ncidpl.eq.-99) then
    206208          rcod=nf90_open('v.nc',nf90_nowrite,ncidpl)
    207           if (rcod.NE.NF_NOERR) THEN
     209          if (rcod.NE.nf90_noerr) THEN
    208210             abort_message=' Nudging error -> no file v.nc'
    209211             CALL abort_gcm(modname,abort_message,1)
     
    215217       if (ncidpl.eq.-99) then
    216218          rcod=nf90_open('T.nc',nf90_nowrite,ncidpl)
    217           if (rcod.NE.NF_NOERR) THEN
     219          if (rcod.NE.nf90_noerr) THEN
    218220             abort_message=' Nudging error -> no file T.nc'
    219221             CALL abort_gcm(modname,abort_message,1)
     
    226228       if (ncidpl.eq.-99) then
    227229          rcod=nf90_open('hur.nc',nf90_nowrite, ncidpl)
    228           if (rcod.NE.NF_NOERR) THEN
     230          if (rcod.NE.nf90_noerr) THEN
    229231             abort_message=' Nudging error -> no file hur.nc'
    230232             CALL abort_gcm(modname,abort_message,1)
     
    234236
    235237    endif
    236     error=NF_INQ_DIMID(ncidpl,'LEVEL',rid)
    237     IF (error.NE.NF_NOERR) error=NF_INQ_DIMID(ncidpl,'PRESSURE',rid)
    238     IF (error.NE.NF_NOERR) THEN
     238    error=nf90_inq_dimid(ncidpl,'LEVEL',rid)
     239    IF (error.NE.nf90_noerr) error=nf90_inq_dimid(ncidpl,'PRESSURE',rid)
     240    IF (error.NE.nf90_noerr) THEN
    239241        abort_message='Nudging: error reading pressure levels'
    240242        CALL abort_gcm(modname,abort_message,1)
    241243    ENDIF
    242     error=NF_INQ_DIMLEN(ncidpl,rid,nlevnc)
     244    error=nf90_inquire_dimension(ncidpl,rid,len=nlevnc)
    243245    write(*,*)trim(modname)//' : number of vertical levels nlevnc', nlevnc
    244246    rcod = nf90_close(ncidpl)
     
    15751577    USE netcdf, ONLY: nf90_put_var
    15761578    IMPLICIT NONE
    1577 
    1578     include "netcdf.inc"
    15791579    include "dimensions.h"
    15801580    include "paramet.h"
     
    16051605             write(*,*),trim(modname)//' Reading nudging on model levels'
    16061606             rcode = nf90_open('apbp.nc', nf90_nowrite, ncidpl)
    1607              IF (rcode.NE.NF_NOERR) THEN
     1607             IF (rcode.NE.nf90_noerr) THEN
    16081608              abort_message='Nudging: error -> no file apbp.nc'
    16091609              CALL abort_gcm(modname,abort_message,1)
    16101610             ENDIF
    16111611             rcode = nf90_inq_varid(ncidpl, 'AP', varidap)
    1612              IF (rcode.NE.NF_NOERR) THEN
     1612             IF (rcode.NE.nf90_noerr) THEN
    16131613              abort_message='Nudging: error -> no AP variable in file apbp.nc'
    16141614              CALL abort_gcm(modname,abort_message,1)
    16151615             ENDIF
    16161616             rcode = nf90_inq_varid(ncidpl, 'BP', varidbp)
    1617              IF (rcode.NE.NF_NOERR) THEN
     1617             IF (rcode.NE.nf90_noerr) THEN
    16181618              abort_message='Nudging: error -> no BP variable in file apbp.nc'
    16191619              CALL abort_gcm(modname,abort_message,1)
     
    16251625         if (guide_plevs.EQ.2) then
    16261626             rcode = nf90_open('P.nc', nf90_nowrite, ncidp)
    1627              IF (rcode.NE.NF_NOERR) THEN
     1627             IF (rcode.NE.nf90_noerr) THEN
    16281628              abort_message='Nudging: error -> no file P.nc'
    16291629              CALL abort_gcm(modname,abort_message,1)
    16301630             ENDIF
    16311631             rcode = nf90_inq_varid(ncidp, 'PRES', varidp)
    1632              IF (rcode.NE.NF_NOERR) THEN
     1632             IF (rcode.NE.nf90_noerr) THEN
    16331633              abort_message='Nudging: error -> no PRES variable in file P.nc'
    16341634              CALL abort_gcm(modname,abort_message,1)
     
    16411641         if (guide_u) then
    16421642             rcode = nf90_open('u.nc', nf90_nowrite, ncidu)
    1643              IF (rcode.NE.NF_NOERR) THEN
     1643             IF (rcode.NE.nf90_noerr) THEN
    16441644              abort_message='Nudging: error -> no file u.nc'
    16451645              CALL abort_gcm(modname,abort_message,1)
    16461646             ENDIF
    16471647             rcode = nf90_inq_varid(ncidu, 'UWND', varidu)
    1648              IF (rcode.NE.NF_NOERR) THEN
     1648             IF (rcode.NE.nf90_noerr) THEN
    16491649              abort_message='Nudging: error -> no UWND variable in file u.nc'
    16501650              CALL abort_gcm(modname,abort_message,1)
     
    16731673         if (guide_v) then
    16741674             rcode = nf90_open('v.nc', nf90_nowrite, ncidv)
    1675              IF (rcode.NE.NF_NOERR) THEN
     1675             IF (rcode.NE.nf90_noerr) THEN
    16761676              abort_message='Nudging: error -> no file v.nc'
    16771677              CALL abort_gcm(modname,abort_message,1)
    16781678             ENDIF
    16791679             rcode = nf90_inq_varid(ncidv, 'VWND', varidv)
    1680              IF (rcode.NE.NF_NOERR) THEN
     1680             IF (rcode.NE.nf90_noerr) THEN
    16811681              abort_message='Nudging: error -> no VWND variable in file v.nc'
    16821682              CALL abort_gcm(modname,abort_message,1)
     
    17061706         if (guide_T) then
    17071707             rcode = nf90_open('T.nc', nf90_nowrite, ncidt)
    1708              IF (rcode.NE.NF_NOERR) THEN
     1708             IF (rcode.NE.nf90_noerr) THEN
    17091709              abort_message='Nudging: error -> no file T.nc'
    17101710              CALL abort_gcm(modname,abort_message,1)
    17111711             ENDIF
    17121712             rcode = nf90_inq_varid(ncidt, 'AIR', varidt)
    1713              IF (rcode.NE.NF_NOERR) THEN
     1713             IF (rcode.NE.nf90_noerr) THEN
    17141714              abort_message='Nudging: error -> no AIR variable in file T.nc'
    17151715              CALL abort_gcm(modname,abort_message,1)
     
    17371737         if (guide_Q) then
    17381738             rcode = nf90_open('hur.nc', nf90_nowrite, ncidQ)
    1739              IF (rcode.NE.NF_NOERR) THEN
     1739             IF (rcode.NE.nf90_noerr) THEN
    17401740              abort_message='Nudging: error -> no file hur.nc'
    17411741              CALL abort_gcm(modname,abort_message,1)
    17421742             ENDIF
    17431743             rcode = nf90_inq_varid(ncidQ, 'RH', varidQ)
    1744              IF (rcode.NE.NF_NOERR) THEN
     1744             IF (rcode.NE.nf90_noerr) THEN
    17451745              abort_message='Nudging: error -> no RH variable in file hur.nc'
    17461746              CALL abort_gcm(modname,abort_message,1)
     
    17691769         if ((guide_P).OR.(guide_plevs.EQ.1)) then
    17701770             rcode = nf90_open('ps.nc', nf90_nowrite, ncidps)
    1771              IF (rcode.NE.NF_NOERR) THEN
     1771             IF (rcode.NE.nf90_noerr) THEN
    17721772              abort_message='Nudging: error -> no file ps.nc'
    17731773              CALL abort_gcm(modname,abort_message,1)
    17741774             ENDIF
    17751775             rcode = nf90_inq_varid(ncidps, 'SP', varidps)
    1776              IF (rcode.NE.NF_NOERR) THEN
     1776             IF (rcode.NE.nf90_noerr) THEN
    17771777              abort_message='Nudging: error -> no SP variable in file ps.nc'
    17781778              CALL abort_gcm(modname,abort_message,1)
     
    18941894    USE netcdf, ONLY: nf90_put_var
    18951895    IMPLICIT NONE
    1896 
    1897     include "netcdf.inc"
    18981896    include "dimensions.h"
    18991897    include "paramet.h"
     
    19271925           write(*,*)trim(modname)//' Reading nudging on model levels'
    19281926           rcode = nf90_open('apbp.nc', nf90_nowrite, ncidpl)
    1929            IF (rcode.NE.NF_NOERR) THEN
     1927           IF (rcode.NE.nf90_noerr) THEN
    19301928             abort_message='Nudging: error -> no file apbp.nc'
    19311929           CALL abort_gcm(modname,abort_message,1)
    19321930           ENDIF
    19331931           rcode = nf90_inq_varid(ncidpl, 'AP', varidap)
    1934            IF (rcode.NE.NF_NOERR) THEN
     1932           IF (rcode.NE.nf90_noerr) THEN
    19351933             abort_message='Nudging: error -> no AP variable in file apbp.nc'
    19361934           CALL abort_gcm(modname,abort_message,1)
    19371935           ENDIF
    19381936           rcode = nf90_inq_varid(ncidpl, 'BP', varidbp)
    1939            IF (rcode.NE.NF_NOERR) THEN
     1937           IF (rcode.NE.nf90_noerr) THEN
    19401938             abort_message='Nudging: error -> no BP variable in file apbp.nc'
    19411939             CALL abort_gcm(modname,abort_message,1)
     
    19461944         if (guide_plevs.EQ.2) then
    19471945           rcode = nf90_open('P.nc', nf90_nowrite, ncidp)
    1948            IF (rcode.NE.NF_NOERR) THEN
     1946           IF (rcode.NE.nf90_noerr) THEN
    19491947             abort_message='Nudging: error -> no file P.nc'
    19501948             CALL abort_gcm(modname,abort_message,1)
    19511949           ENDIF
    19521950           rcode = nf90_inq_varid(ncidp, 'PRES', varidp)
    1953            IF (rcode.NE.NF_NOERR) THEN
     1951           IF (rcode.NE.nf90_noerr) THEN
    19541952             abort_message='Nudging: error -> no PRES variable in file P.nc'
    19551953             CALL abort_gcm(modname,abort_message,1)
     
    19611959         if (guide_u) then
    19621960           rcode = nf90_open('u.nc', nf90_nowrite, ncidu)
    1963            IF (rcode.NE.NF_NOERR) THEN
     1961           IF (rcode.NE.nf90_noerr) THEN
    19641962             abort_message='Nudging: error -> no file u.nc'
    19651963             CALL abort_gcm(modname,abort_message,1)
    19661964           ENDIF
    19671965           rcode = nf90_inq_varid(ncidu, 'UWND', varidu)
    1968            IF (rcode.NE.NF_NOERR) THEN
     1966           IF (rcode.NE.nf90_noerr) THEN
    19691967             abort_message='Nudging: error -> no UWND variable in file u.nc'
    19701968             CALL abort_gcm(modname,abort_message,1)
     
    19771975         if (guide_v) then
    19781976           rcode = nf90_open('v.nc', nf90_nowrite, ncidv)
    1979            IF (rcode.NE.NF_NOERR) THEN
     1977           IF (rcode.NE.nf90_noerr) THEN
    19801978             abort_message='Nudging: error -> no file v.nc'
    19811979             CALL abort_gcm(modname,abort_message,1)
    19821980           ENDIF
    19831981           rcode = nf90_inq_varid(ncidv, 'VWND', varidv)
    1984            IF (rcode.NE.NF_NOERR) THEN
     1982           IF (rcode.NE.nf90_noerr) THEN
    19851983             abort_message='Nudging: error -> no VWND variable in file v.nc'
    19861984             CALL abort_gcm(modname,abort_message,1)
     
    19921990         if (guide_T) then
    19931991           rcode = nf90_open('T.nc', nf90_nowrite, ncidt)
    1994            IF (rcode.NE.NF_NOERR) THEN
     1992           IF (rcode.NE.nf90_noerr) THEN
    19951993             abort_message='Nudging: error -> no file T.nc'
    19961994             CALL abort_gcm(modname,abort_message,1)
    19971995           ENDIF
    19981996           rcode = nf90_inq_varid(ncidt, 'AIR', varidt)
    1999            IF (rcode.NE.NF_NOERR) THEN
     1997           IF (rcode.NE.nf90_noerr) THEN
    20001998             abort_message='Nudging: error -> no AIR variable in file T.nc'
    20011999             CALL abort_gcm(modname,abort_message,1)
     
    20072005         if (guide_Q) then
    20082006           rcode = nf90_open('hur.nc', nf90_nowrite, ncidQ)
    2009            IF (rcode.NE.NF_NOERR) THEN
     2007           IF (rcode.NE.nf90_noerr) THEN
    20102008             abort_message='Nudging: error -> no file hur.nc'
    20112009             CALL abort_gcm(modname,abort_message,1)
    20122010           ENDIF
    20132011           rcode = nf90_inq_varid(ncidQ, 'RH', varidQ)
    2014            IF (rcode.NE.NF_NOERR) THEN
     2012           IF (rcode.NE.nf90_noerr) THEN
    20152013             abort_message='Nudging: error -> no RH,variable in file hur.nc'
    20162014             CALL abort_gcm(modname,abort_message,1)
     
    20222020         if ((guide_P).OR.(guide_plevs.EQ.1)) then
    20232021           rcode = nf90_open('ps.nc', nf90_nowrite, ncidps)
    2024            IF (rcode.NE.NF_NOERR) THEN
     2022           IF (rcode.NE.nf90_noerr) THEN
    20252023             abort_message='Nudging: error -> no file ps.nc'
    20262024             CALL abort_gcm(modname,abort_message,1)
    20272025           ENDIF
    20282026           rcode = nf90_inq_varid(ncidps, 'SP', varidps)
    2029            IF (rcode.NE.NF_NOERR) THEN
     2027           IF (rcode.NE.nf90_noerr) THEN
    20302028             abort_message='Nudging: error -> no SP variable in file ps.nc'
    20312029             CALL abort_gcm(modname,abort_message,1)
     
    21772175    INCLUDE "dimensions.h"
    21782176    INCLUDE "paramet.h"
    2179     INCLUDE "netcdf.inc"
    21802177    INCLUDE "comgeom2.h"
    21812178
     
    22342231! ----------------------------------------------
    22352232! Ouverture du fichier
    2236         ierr=NF_CREATE("guide_ins.nc",IOR(NF_CLOBBER,NF_64BIT_OFFSET),nid)
     2233        ierr=nf90_create("guide_ins.nc",IOR(nf90_clobber,nf90_64bit_offset),nid)
    22372234! Definition des dimensions
    2238         ierr=NF_DEF_DIM(nid,"LONU",iip1,id_lonu)
    2239         ierr=NF_DEF_DIM(nid,"LONV",iip1,id_lonv)
    2240         ierr=NF_DEF_DIM(nid,"LATU",jjp1,id_latu)
    2241         ierr=NF_DEF_DIM(nid,"LATV",jjm,id_latv)
    2242         ierr=NF_DEF_DIM(nid,"LEVEL",llm,id_lev)
    2243         ierr=NF_DEF_DIM(nid,"TIME",NF_UNLIMITED,id_tim)
     2235        ierr=nf90_def_dim(nid,"LONU",iip1,id_lonu)
     2236        ierr=nf90_def_dim(nid,"LONV",iip1,id_lonv)
     2237        ierr=nf90_def_dim(nid,"LATU",jjp1,id_latu)
     2238        ierr=nf90_def_dim(nid,"LATV",jjm,id_latv)
     2239        ierr=nf90_def_dim(nid,"LEVEL",llm,id_lev)
     2240        ierr=nf90_def_dim(nid,"TIME",nf90_unlimited,id_tim)
    22442241
    22452242! Creation des variables dimensions
    2246         ierr=NF_DEF_VAR(nid,"LONU",NF_FLOAT,1,id_lonu,vid_lonu)
    2247         ierr=NF_DEF_VAR(nid,"LONV",NF_FLOAT,1,id_lonv,vid_lonv)
    2248         ierr=NF_DEF_VAR(nid,"LATU",NF_FLOAT,1,id_latu,vid_latu)
    2249         ierr=NF_DEF_VAR(nid,"LATV",NF_FLOAT,1,id_latv,vid_latv)
    2250         ierr=NF_DEF_VAR(nid,"LEVEL",NF_FLOAT,1,id_lev,vid_lev)
    2251         ierr=NF_DEF_VAR(nid,"cu",NF_FLOAT,2,(/id_lonu,id_latu/),vid_cu)
    2252         ierr=NF_DEF_VAR(nid,"cv",NF_FLOAT,2,(/id_lonv,id_latv/),vid_cv)
    2253         ierr=NF_DEF_VAR(nid,"au",NF_FLOAT,2,(/id_lonu,id_latu/),vid_au)
    2254         ierr=NF_DEF_VAR(nid,"av",NF_FLOAT,2,(/id_lonv,id_latv/),vid_av)
     2243        ierr=nf90_def_var(nid,"LONU",nf90_float,id_lonu,vid_lonu)
     2244        ierr=nf90_def_var(nid,"LONV",nf90_float,id_lonv,vid_lonv)
     2245        ierr=nf90_def_var(nid,"LATU",nf90_float,id_latu,vid_latu)
     2246        ierr=nf90_def_var(nid,"LATV",nf90_float,id_latv,vid_latv)
     2247        ierr=nf90_def_var(nid,"LEVEL",nf90_float,id_lev,vid_lev)
     2248        ierr=nf90_def_var(nid,"cu",nf90_float,(/id_lonu,id_latu/),vid_cu)
     2249        ierr=nf90_def_var(nid,"cv",nf90_float,(/id_lonv,id_latv/),vid_cv)
     2250        ierr=nf90_def_var(nid,"au",nf90_float,(/id_lonu,id_latu/),vid_au)
     2251        ierr=nf90_def_var(nid,"av",nf90_float,(/id_lonv,id_latv/),vid_av)
    22552252        call nf95_def_var(nid, "alpha_T", nf90_float, (/id_lonv, id_latu/), &
    22562253             varid_alpha_t)
     
    22582255             varid_alpha_q)
    22592256
    2260         ierr=NF_ENDDEF(nid)
     2257        ierr=nf90_enddef(nid)
    22612258
    22622259! Enregistrement des variables dimensions
     
    22752272! Cr�ation des variables sauvegard�es
    22762273! --------------------------------------------------------------------
    2277         ierr = NF_REDEF(nid)
     2274        ierr = nf90_redef(nid)
    22782275! Pressure (GCM)
    22792276        dim4=(/id_lonv,id_latu,id_lev,id_tim/)
    2280         ierr = NF_DEF_VAR(nid,"SP",NF_FLOAT,4,dim4,varid)
     2277        ierr = nf90_def_var(nid,"SP",nf90_float,dim4,varid)
    22812278! Surface pressure (guidage)
    22822279        IF (guide_P) THEN
    22832280            dim3=(/id_lonv,id_latu,id_tim/)
    2284             ierr = NF_DEF_VAR(nid,"ps",NF_FLOAT,3,dim3,varid)
     2281            ierr = nf90_def_var(nid,"ps",nf90_float,dim3,varid)
    22852282        ENDIF
    22862283! Zonal wind
    22872284        IF (guide_u) THEN
    22882285            dim4=(/id_lonu,id_latu,id_lev,id_tim/)
    2289             ierr = NF_DEF_VAR(nid,"u",NF_FLOAT,4,dim4,varid)
    2290             ierr = NF_DEF_VAR(nid,"ua",NF_FLOAT,4,dim4,varid)
    2291             ierr = NF_DEF_VAR(nid,"ucov",NF_FLOAT,4,dim4,varid)
     2286            ierr = nf90_def_var(nid,"u",nf90_float,dim4,varid)
     2287            ierr = nf90_def_var(nid,"ua",nf90_float,dim4,varid)
     2288            ierr = nf90_def_var(nid,"ucov",nf90_float,dim4,varid)
    22922289        ENDIF
    22932290! Merid. wind
    22942291        IF (guide_v) THEN
    22952292            dim4=(/id_lonv,id_latv,id_lev,id_tim/)
    2296             ierr = NF_DEF_VAR(nid,"v",NF_FLOAT,4,dim4,varid)
    2297             ierr = NF_DEF_VAR(nid,"va",NF_FLOAT,4,dim4,varid)
    2298             ierr = NF_DEF_VAR(nid,"vcov",NF_FLOAT,4,dim4,varid)
     2293            ierr = nf90_def_var(nid,"v",nf90_float,dim4,varid)
     2294            ierr = nf90_def_var(nid,"va",nf90_float,dim4,varid)
     2295            ierr = nf90_def_var(nid,"vcov",nf90_float,dim4,varid)
    22992296        ENDIF
    23002297! Pot. Temperature
    23012298        IF (guide_T) THEN
    23022299            dim4=(/id_lonv,id_latu,id_lev,id_tim/)
    2303             ierr = NF_DEF_VAR(nid,"teta",NF_FLOAT,4,dim4,varid)
     2300            ierr = nf90_def_var(nid,"teta",nf90_float,dim4,varid)
    23042301        ENDIF
    23052302! Specific Humidity
    23062303        IF (guide_Q) THEN
    23072304            dim4=(/id_lonv,id_latu,id_lev,id_tim/)
    2308             ierr = NF_DEF_VAR(nid,"q",NF_FLOAT,4,dim4,varid)
     2305            ierr = nf90_def_var(nid,"q",nf90_float,dim4,varid)
    23092306        ENDIF
    23102307
    2311         ierr = NF_ENDDEF(nid)
    2312         ierr = NF_CLOSE(nid)
     2308        ierr = nf90_enddef(nid)
     2309        ierr = nf90_close(nid)
    23132310    ENDIF ! timestep=0
    23142311
     
    23172314! --------------------------------------------------------------------
    23182315
    2319     ierr=NF_OPEN("guide_ins.nc",NF_WRITE,nid)
     2316    ierr=nf90_open("guide_ins.nc",nf90_write,nid)
    23202317
    23212318    IF (varname=="SP") timestep=timestep+1
    23222319
    2323     ierr = NF_INQ_VARID(nid,varname,varid)
     2320    ierr = nf90_inq_varid(nid,varname,varid)
    23242321    SELECT CASE (varname)
    23252322    CASE ("SP","ps")
     
    23602357
    23612358    ierr = nf90_put_var(nid, varid, field_glo, start, count)
    2362     ierr = NF_CLOSE(nid)
     2359    ierr = nf90_close(nid)
    23632360
    23642361       DEALLOCATE(field_glo)
  • LMDZ6/trunk/libf/misc/write_field.f90

    r5268 r5270  
    33!
    44module write_field
     5  USE netcdf, ONLY: nf90_sync, nf90_put_var, nf90_enddef, nf90_def_dim, nf90_unlimited, &
     6          nf90_clobber, nf90_create, nf90_def_var, nf90_double
    57  USE strings_mod, ONLY: int2str
    68  IMPLICIT NONE; PRIVATE
     
    7577    subroutine WriteField_gen(name,Field,dimx,dimy,dimz)
    7678    implicit none
    77     include 'netcdf.inc'
    7879      character(len=*) :: name
    7980      integer :: dimx,dimy,dimz
     
    104105      count(4)=1
    105106
    106       status = NF_PUT_VARA_DOUBLE(FieldId(Index),FieldVarId(Index),start,count,Field)
    107       status = NF_SYNC(FieldId(Index))
     107      status = nf90_put_var(FieldId(Index),FieldVarId(Index),Field,start,count)
     108      status = nf90_sync(FieldId(Index))
    108109     
    109110    end subroutine WriteField_gen
     
    111112    subroutine CreateNewField(name,dimx,dimy,dimz)
    112113    implicit none
    113     include 'netcdf.inc' 
    114114      character(len=*) :: name
    115115      integer :: dimx,dimy,dimz
     
    123123     
    124124     
    125       status = NF_CREATE(TRIM(ADJUSTL(name))//'.nc', NF_CLOBBER, FieldId(NbField))
    126       status = NF_DEF_DIM(FieldId(NbField),'X',dimx,TabDim(1))
    127       status = NF_DEF_DIM(FieldId(NbField),'Y',dimy,TabDim(2))
    128       status = NF_DEF_DIM(FieldId(NbField),'Z',dimz,TabDim(3))
    129       status = NF_DEF_DIM(FieldId(NbField),'iter',NF_UNLIMITED,TabDim(4))
    130       status = NF_DEF_VAR(FieldId(NbField),FieldName(NbField),NF_DOUBLE,4,TabDim,FieldVarId(NbField))
    131       status = NF_ENDDEF(FieldId(NbField))
     125      status = nf90_create(TRIM(ADJUSTL(name))//'.nc', nf90_clobber, FieldId(NbField))
     126      status = nf90_def_dim(FieldId(NbField),'X',dimx,TabDim(1))
     127      status = nf90_def_dim(FieldId(NbField),'Y',dimy,TabDim(2))
     128      status = nf90_def_dim(FieldId(NbField),'Z',dimz,TabDim(3))
     129      status = nf90_def_dim(FieldId(NbField),'iter',nf90_unlimited,TabDim(4))
     130      status = nf90_def_var(FieldId(NbField),FieldName(NbField),nf90_double,TabDim,FieldVarId(NbField))
     131      status = nf90_enddef(FieldId(NbField))
    132132
    133133    end subroutine CreateNewField
  • LMDZ6/trunk/libf/phylmd/Dust/condsurfc.f90

    r5246 r5270  
    44        lmt_omnat)
    55  USE dimphy
     6  USE netcdf, ONLY: nf90_close, nf90_noerr, nf90_inq_varid, nf90_open, nf90_nowrite, nf90_get_var
    67  IMPLICIT none
    78  !
     
    1011  !
    1112  INCLUDE "dimensions.h"
    12   INCLUDE "netcdf.inc"
    1313
    1414  REAL :: lmt_bcff(klon), lmt_bcbb(klon),lmt_bc_penner(klon)
     
    3434  ENDIF
    3535  !
    36   ierr = NF_OPEN ("limitcarbon.nc", NF_NOWRITE, nid1)
    37   if (ierr.ne.NF_NOERR) then
     36  ierr = nf90_open ("limitcarbon.nc", nf90_nowrite, nid1)
     37  if (ierr.ne.nf90_noerr) then
    3838    write(6,*)' Pb d''ouverture du fichier limitbc.nc'
    3939    write(6,*)' ierr = ', ierr
     
    4848  !
    4949  !
    50   ierr = NF_INQ_VARID (nid1, "BCFF", nvarid)
     50  ierr = nf90_inq_varid(nid1, "BCFF", nvarid)
    5151  !nhl #ifdef NC_DOUBLE
    52   ierr = NF_GET_VARA_DOUBLE (nid1, nvarid, debut, epais, lmt_bcff)
     52  ierr = nf90_get_var(nid1, nvarid, lmt_bcff, debut, epais)
    5353   ! print *,'IERR = ',ierr
    54    ! print *,'NF_NOERR = ',NF_NOERR
     54   ! print *,'nf90_noerr = ',nf90_noerr
    5555   ! print *,'debut = ',debut
    5656   ! print *,'epais = ',epais
    5757  !nhl #else
    58   !nhl       ierr = NF_GET_VARA_REAL (nid1, nvarid, debut, epais, lmt_bcff)
     58  !nhl       ierr = nf90_get_var(nid1, nvarid, lmt_bcff, debut, epais)
    5959  !nhl #endif
    60   IF (ierr .NE. NF_NOERR) THEN
     60  IF (ierr .NE. nf90_noerr) THEN
    6161     PRINT*, 'Pb de lecture pour les sources BC'
    6262     CALL exit(1)
     
    6464  !
    6565  !
    66   ierr = NF_INQ_VARID (nid1, "BCBB", nvarid)
     66  ierr = nf90_inq_varid(nid1, "BCBB", nvarid)
    6767  !nhl #ifdef NC_DOUBLE
    68   ierr = NF_GET_VARA_DOUBLE (nid1, nvarid, debut, epais, lmt_bcbb)
     68  ierr = nf90_get_var(nid1, nvarid, lmt_bcbb, debut, epais)
    6969  !nhl #else
    70   !nhl       ierr = NF_GET_VARA_REAL (nid1, nvarid, debut, epais, lmt_bcbb)
     70  !nhl       ierr = nf90_get_var(nid1, nvarid, lmt_bcbb, debut, epais)
    7171  !nhl #endif
    72   IF (ierr .NE. NF_NOERR) THEN
     72  IF (ierr .NE. nf90_noerr) THEN
    7373     PRINT*, 'Pb de lecture pour les sources BC-biomass'
    7474     CALL exit(1)
     
    7676  !
    7777  !
    78   ierr = NF_INQ_VARID (nid1, "BCBL", nvarid)
     78  ierr = nf90_inq_varid(nid1, "BCBL", nvarid)
    7979  !nhl #ifdef NC_DOUBLE
    80   ierr = NF_GET_VARA_DOUBLE (nid1, nvarid, debut, epais, lmt_bcbbl)
     80  ierr = nf90_get_var(nid1, nvarid, lmt_bcbbl, debut, epais)
    8181  !nhl #else
    82   !nhl       ierr = NF_GET_VARA_REAL (nid1, nvarid, debut, epais, lmt_bcbbl)
     82  !nhl       ierr = nf90_get_var(nid1, nvarid, lmt_bcbbl, debut, epais)
    8383  !nhl #endif
    84   IF (ierr .NE. NF_NOERR) THEN
     84  IF (ierr .NE. nf90_noerr) THEN
    8585     PRINT*, 'Pb de lecture pour les sources BC low'
    8686     CALL exit(1)
     
    8888  !
    8989  !
    90   ierr = NF_INQ_VARID (nid1, "BCBH", nvarid)
     90  ierr = nf90_inq_varid(nid1, "BCBH", nvarid)
    9191  !nhl #ifdef NC_DOUBLE
    92   ierr = NF_GET_VARA_DOUBLE (nid1, nvarid, debut, epais, lmt_bcbbh)
     92  ierr = nf90_get_var(nid1, nvarid, lmt_bcbbh, debut, epais)
    9393  !nhl #else
    94   !nhl       ierr = NF_GET_VARA_REAL (nid1, nvarid, debut, epais, lmt_bcbbh)
     94  !nhl       ierr = nf90_get_var(nid1, nvarid, lmt_bcbbh, debut, epais)
    9595  !nhl #endif
    96   IF (ierr .NE. NF_NOERR) THEN
     96  IF (ierr .NE. nf90_noerr) THEN
    9797     PRINT*, 'Pb de lecture pour les sources BC high'
    9898     CALL exit(1)
    9999  ENDIF
    100100  !
    101   ierr = NF_INQ_VARID (nid1, "TERP", nvarid)
     101  ierr = nf90_inq_varid(nid1, "TERP", nvarid)
    102102  !nhl #ifdef NC_DOUBLE
    103   ierr = NF_GET_VARA_DOUBLE (nid1, nvarid, debut, epais, lmt_terp)
     103  ierr = nf90_get_var(nid1, nvarid, lmt_terp, debut, epais)
    104104  !nhl #else
    105   !nhl       ierr = NF_GET_VARA_REAL (nid1, nvarid, debut, epais, lmt_terp)
     105  !nhl       ierr = nf90_get_var(nid1, nvarid, lmt_terp, debut, epais)
    106106  !nhl #endif
    107   IF (ierr .NE. NF_NOERR) THEN
     107  IF (ierr .NE. nf90_noerr) THEN
    108108     PRINT*, 'Pb de lecture pour les sources Terpene'
    109109     CALL exit(1)
     
    111111  !
    112112  !
    113   ierr = NF_INQ_VARID (nid1, "BC_penner", nvarid)
    114   !nhl #ifdef NC_DOUBLE
    115   ierr = NF_GET_VARA_DOUBLE (nid1, nvarid, debut, &
    116         epais, lmt_bc_penner)
    117   !nhl #else
    118   !nhl       ierr = NF_GET_VARA_REAL (nid1, nvarid, debut, epais,
    119   !nhl      .       lmt_bc_penner)
    120   !nhl #endif
    121   IF (ierr .NE. NF_NOERR) THEN
     113  ierr = nf90_inq_varid(nid1, "BC_penner", nvarid)
     114  ierr = nf90_get_var(nid1, nvarid, lmt_bc_penner, debut, &
     115        epais)
     116  IF (ierr .NE. nf90_noerr) THEN
    122117     PRINT*, 'Pb de lecture pour les sources BC Penner'
    123118     CALL exit(1)
     
    125120  !
    126121  !
    127   ierr = NF_INQ_VARID (nid1, "OMFF", nvarid)
     122  ierr = nf90_inq_varid(nid1, "OMFF", nvarid)
    128123  !nhl #ifdef NC_DOUBLE
    129   ierr = NF_GET_VARA_DOUBLE (nid1, nvarid, debut, epais, lmt_omff)
     124  ierr = nf90_get_var(nid1, nvarid, lmt_omff, debut, epais)
    130125  !nhl #else
    131   !nhl       ierr = NF_GET_VARA_REAL (nid1, nvarid, debut, epais, lmt_omff)
     126  !nhl       ierr = nf90_get_var(nid1, nvarid, lmt_omff, debut, epais)
    132127  !nhl #endif
    133   IF (ierr .NE. NF_NOERR) THEN
     128  IF (ierr .NE. nf90_noerr) THEN
    134129     PRINT*, 'Pb de lecture pour les sources om-ifossil'
    135130     CALL exit(1)
     
    144139  ENDDO
    145140  !
    146   ierr = NF_CLOSE(nid1)
     141  ierr = nf90_close(nid1)
    147142  PRINT*, 'Carbon sources lues pour jour: ', jour
    148143  !
  • LMDZ6/trunk/libf/phylmd/Dust/condsurfc_new.f90

    r5246 r5270  
    66  USE mod_phys_lmdz_para
    77  USE dimphy
     8  USE netcdf, ONLY: nf90_get_var, nf90_close, nf90_noerr, nf90_inq_varid, nf90_open, nf90_nowrite
    89  IMPLICIT none
    910  !
     
    1213  !
    1314  INCLUDE "dimensions.h"
    14   INCLUDE "netcdf.inc"
    1515
    1616  REAL :: lmt_bcff(klon), lmt_bcnff(klon), lmt_bcba(klon)
     
    5757  !=======================================================================
    5858  !
    59   ierr = NF_OPEN ("carbon_emissions.nc", NF_NOWRITE, nid1)
    60   if (ierr.ne.NF_NOERR) then
     59  ierr = nf90_open ("carbon_emissions.nc", nf90_nowrite, nid1)
     60  if (ierr.ne.nf90_noerr) then
    6161    write(6,*)' Pb d''ouverture du fichier limitbc.nc'
    6262    write(6,*)' ierr = ', ierr
     
    6666  ! BC emissions from fossil fuel combustion
    6767  !
    68   ierr = NF_INQ_VARID (nid1, "BCFF", nvarid)
    69   ierr = NF_GET_VARA_DOUBLE (nid1, nvarid, debut, epais, &
    70         lmt_bcff_glo)
    71   IF (ierr .NE. NF_NOERR) THEN
     68  ierr = nf90_inq_varid(nid1, "BCFF", nvarid)
     69  ierr = nf90_get_var(nid1, nvarid, &
     70        lmt_bcff_glo, debut, epais)
     71  IF (ierr .NE. nf90_noerr) THEN
    7272     PRINT*, 'Pb de lecture pour les sources BC'
    7373     CALL exit(1)
     
    7878  ! BC emissions from non fossil fuel combustion
    7979  !
    80   ierr = NF_INQ_VARID (nid1, "BCNFF", nvarid)
    81   ierr = NF_GET_VARA_DOUBLE (nid1, nvarid, debut, epais, &
    82         lmt_bcnff_glo)
    83   IF (ierr .NE. NF_NOERR) THEN
     80  ierr = nf90_inq_varid(nid1, "BCNFF", nvarid)
     81  ierr = nf90_get_var(nid1, nvarid, &
     82        lmt_bcnff_glo, debut, epais)
     83  IF (ierr .NE. nf90_noerr) THEN
    8484     PRINT*, 'Pb de lecture pour les sources BC'
    8585     CALL exit(1)
     
    8888  ! Low BC emissions from biomass burning
    8989  !
    90   ierr = NF_INQ_VARID (nid1, "BCBBL", nvarid)
    91   ierr = NF_GET_VARA_DOUBLE (nid1, nvarid, debut, epais, &
    92         lmt_bcbbl_glo)
    93   IF (ierr .NE. NF_NOERR) THEN
     90  ierr = nf90_inq_varid(nid1, "BCBBL", nvarid)
     91  ierr = nf90_get_var(nid1, nvarid, &
     92        lmt_bcbbl_glo, debut, epais)
     93  IF (ierr .NE. nf90_noerr) THEN
    9494     PRINT*, 'Pb de lecture pour les sources BC low'
    9595     CALL exit(1)
     
    9898  ! High BC emissions from biomass burning
    9999  !
    100   ierr = NF_INQ_VARID (nid1, "BCBBH", nvarid)
    101   ierr = NF_GET_VARA_DOUBLE (nid1, nvarid, debut, epais, &
    102         lmt_bcbbh_glo)
    103   IF (ierr .NE. NF_NOERR) THEN
     100  ierr = nf90_inq_varid(nid1, "BCBBH", nvarid)
     101  ierr = nf90_get_var(nid1, nvarid, &
     102        lmt_bcbbh_glo, debut, epais)
     103  IF (ierr .NE. nf90_noerr) THEN
    104104     PRINT*, 'Pb de lecture pour les sources BC high'
    105105     CALL exit(1)
     
    108108  ! BC emissions from ship transport
    109109  !
    110   ierr = NF_INQ_VARID (nid1, "BCBA", nvarid)
    111   ierr = NF_GET_VARA_DOUBLE (nid1, nvarid, debut, epais, &
    112         lmt_bcba_glo)
    113   IF (ierr .NE. NF_NOERR) THEN
     110  ierr = nf90_inq_varid(nid1, "BCBA", nvarid)
     111  ierr = nf90_get_var(nid1, nvarid, &
     112        lmt_bcba_glo, debut, epais)
     113  IF (ierr .NE. nf90_noerr) THEN
    114114     PRINT*, 'Pb de lecture pour les sources BC'
    115115     CALL exit(1)
     
    124124  ! OM emissions from fossil fuel combustion
    125125  !
    126   ierr = NF_INQ_VARID (nid1, "OMFF", nvarid)
    127   ierr = NF_GET_VARA_DOUBLE (nid1, nvarid, debut, epais, &
    128         lmt_omff_glo)
    129   IF (ierr .NE. NF_NOERR) THEN
     126  ierr = nf90_inq_varid(nid1, "OMFF", nvarid)
     127  ierr = nf90_get_var(nid1, nvarid, &
     128        lmt_omff_glo, debut, epais)
     129  IF (ierr .NE. nf90_noerr) THEN
    130130     PRINT*, 'Pb de lecture pour les sources OM'
    131131     CALL exit(1)
     
    134134  ! OM emissions from non fossil fuel combustion
    135135  !
    136   ierr = NF_INQ_VARID (nid1, "OMNFF", nvarid)
    137   ierr = NF_GET_VARA_DOUBLE (nid1, nvarid, debut, epais, &
    138         lmt_omnff_glo)
    139   IF (ierr .NE. NF_NOERR) THEN
     136  ierr = nf90_inq_varid(nid1, "OMNFF", nvarid)
     137  ierr = nf90_get_var(nid1, nvarid, &
     138        lmt_omnff_glo, debut, epais)
     139  IF (ierr .NE. nf90_noerr) THEN
    140140     PRINT*, 'Pb de lecture pour les sources OM'
    141141     CALL exit(1)
     
    144144  ! Low OM emissions from biomass burning - low
    145145  !
    146   ierr = NF_INQ_VARID (nid1, "OMBBL", nvarid)
    147   ierr = NF_GET_VARA_DOUBLE (nid1, nvarid, debut, epais, &
    148         lmt_ombbl_glo)
    149   IF (ierr .NE. NF_NOERR) THEN
     146  ierr = nf90_inq_varid(nid1, "OMBBL", nvarid)
     147  ierr = nf90_get_var(nid1, nvarid, &
     148        lmt_ombbl_glo, debut, epais)
     149  IF (ierr .NE. nf90_noerr) THEN
    150150     PRINT*, 'Pb de lecture pour les sources OM low'
    151151     CALL exit(1)
     
    154154  ! High OM emissions from biomass burning - high
    155155  !
    156   ierr = NF_INQ_VARID (nid1, "OMBBH", nvarid)
    157   ierr = NF_GET_VARA_DOUBLE (nid1, nvarid, debut, epais, &
    158         lmt_ombbh_glo)
    159   IF (ierr .NE. NF_NOERR) THEN
     156  ierr = nf90_inq_varid(nid1, "OMBBH", nvarid)
     157  ierr = nf90_get_var(nid1, nvarid, &
     158        lmt_ombbh_glo, debut, epais)
     159  IF (ierr .NE. nf90_noerr) THEN
    160160     PRINT*, 'Pb de lecture pour les sources OM high'
    161161     CALL exit(1)
     
    164164  ! High OM emissions from ship
    165165  !
    166   ierr = NF_INQ_VARID (nid1, "OMBA", nvarid)
    167   ierr = NF_GET_VARA_DOUBLE (nid1, nvarid, debut, epais, &
    168         lmt_omba_glo)
    169   IF (ierr .NE. NF_NOERR) THEN
     166  ierr = nf90_inq_varid(nid1, "OMBA", nvarid)
     167  ierr = nf90_get_var(nid1, nvarid, &
     168        lmt_omba_glo, debut, epais)
     169  IF (ierr .NE. nf90_noerr) THEN
    170170     PRINT*, 'Pb de lecture pour les sources OM ship'
    171171     CALL exit(1)
     
    174174  ! Natural Terpene emissions => Natural OM emissions
    175175  !
    176   ierr = NF_INQ_VARID (nid1, "TERP", nvarid)
    177   ierr = NF_GET_VARA_DOUBLE (nid1, nvarid, debut, epais, &
    178         lmt_terp_glo)
    179   IF (ierr .NE. NF_NOERR) THEN
     176  ierr = nf90_inq_varid(nid1, "TERP", nvarid)
     177  ierr = nf90_get_var(nid1, nvarid, &
     178        lmt_terp_glo, debut, epais)
     179  IF (ierr .NE. nf90_noerr) THEN
    180180     PRINT*, 'Pb de lecture pour les sources Terpene'
    181181     CALL exit(1)
     
    186186  ENDDO
    187187
    188   ierr = NF_CLOSE(nid1)
     188  ierr = nf90_close(nid1)
    189189  !
    190190  PRINT*, 'Carbon sources lues pour jour: ', jour
  • LMDZ6/trunk/libf/phylmd/Dust/condsurfs.f90

    r5246 r5270  
    44        lmt_dmsbio, lmt_h2sbio, lmt_dms, lmt_dmsconc)
    55   USE dimphy
     6   USE netcdf, ONLY: nf90_close, nf90_noerr, nf90_inq_varid, nf90_open, &
     7          nf90_nowrite, nf90_get_var
    68  IMPLICIT none
    79  !
     
    1012  !
    1113  INCLUDE "dimensions.h"
    12   INCLUDE "netcdf.inc"
    1314  !
    1415  REAL :: lmt_so2h(klon), lmt_so2b(klon), lmt_so2bb(klon)
     
    3435  ENDIF
    3536  !
    36   ierr = NF_OPEN ("limitsoufre.nc", NF_NOWRITE, nid)
    37   if (ierr.ne.NF_NOERR) then
     37  ierr = nf90_open ("limitsoufre.nc", nf90_nowrite, nid)
     38  if (ierr.ne.nf90_noerr) then
    3839    write(6,*)' Pb d''ouverture du fichier limitsoufre.nc'
    3940    write(6,*)' ierr = ', ierr
     
    4748  epais(2) = 1
    4849  !
    49   ierr = NF_INQ_VARID (nid, "VOLC", nvarid)
    50   !nhl #ifdef NC_DOUBLE
    51   ierr = NF_GET_VARA_DOUBLE (nid, nvarid, debut, epais, lmt_so2volc)
    52   !nhl #else
    53   !nhl       ierr = NF_GET_VARA_REAL (nid, nvarid, debut, epais, lmt_so2volc)
    54   !nhl #endif
    55   IF (ierr .NE. NF_NOERR) THEN
     50  ierr = nf90_inq_varid(nid, "VOLC", nvarid)
     51  !nhl #ifdef NC_DOUBLE
     52  ierr = nf90_get_var(nid, nvarid, lmt_so2volc, debut, epais)
     53  !nhl #else
     54  !nhl       ierr = nf90_get_var(nid, nvarid, lmt_so2volc, debut, epais)
     55  !nhl #endif
     56  IF (ierr .NE. nf90_noerr) THEN
    5657     PRINT*, 'Pb de lecture pour les sources so2 volcan'
    5758     CALL exit(1)
    5859  ENDIF
    5960  !
    60   ierr = NF_INQ_VARID (nid, "ALTI", nvarid)
    61   !nhl #ifdef NC_DOUBLE
    62   ierr = NF_GET_VARA_DOUBLE (nid, nvarid, debut, epais, lmt_altvolc)
    63   !nhl #else
    64   !nhl       ierr = NF_GET_VARA_REAL (nid, nvarid, debut, epais, lmt_altvolc)
    65   !nhl #endif
    66   IF (ierr .NE. NF_NOERR) THEN
     61  ierr = nf90_inq_varid(nid, "ALTI", nvarid)
     62  !nhl #ifdef NC_DOUBLE
     63  ierr = nf90_get_var(nid, nvarid, lmt_altvolc, debut, epais)
     64  !nhl #else
     65  !nhl       ierr = nf90_get_var(nid, nvarid, lmt_altvolc, debut, epais)
     66  !nhl #endif
     67  IF (ierr .NE. nf90_noerr) THEN
    6768     PRINT*, 'Pb de lecture pour les altitudes volcan'
    6869     CALL exit(1)
     
    7172  IF (edgar) THEN   !--EDGAR w/o ship and biomass burning
    7273  !
    73   ierr = NF_INQ_VARID (nid, "SO2ED95L", nvarid)
    74   !nhl #ifdef NC_DOUBLE
    75   ierr = NF_GET_VARA_DOUBLE (nid, nvarid, debut, epais, lmt_so2b)
    76   !nhl #else
    77   !nhl       ierr = NF_GET_VARA_REAL (nid, nvarid, debut, epais, lmt_so2b)
    78   !nhl #endif
    79   IF (ierr .NE. NF_NOERR) THEN
     74  ierr = nf90_inq_varid(nid, "SO2ED95L", nvarid)
     75  !nhl #ifdef NC_DOUBLE
     76  ierr = nf90_get_var(nid, nvarid, lmt_so2b, debut, epais)
     77  !nhl #else
     78  !nhl       ierr = nf90_get_var(nid, nvarid, lmt_so2b, debut, epais)
     79  !nhl #endif
     80  IF (ierr .NE. nf90_noerr) THEN
    8081     PRINT*, 'Pb de lecture pour les sources so2 edgar low'
    8182     CALL exit(1)
    8283  ENDIF
    8384  !
    84   ierr = NF_INQ_VARID (nid, "SO2ED95H", nvarid)
    85   !nhl #ifdef NC_DOUBLE
    86   ierr = NF_GET_VARA_DOUBLE (nid, nvarid, debut, epais, lmt_so2h)
    87   !nhl #else
    88   !nhl       ierr = NF_GET_VARA_REAL (nid, nvarid, debut, epais, lmt_so2h)
    89   !nhl #endif
    90   IF (ierr .NE. NF_NOERR) THEN
     85  ierr = nf90_inq_varid(nid, "SO2ED95H", nvarid)
     86  !nhl #ifdef NC_DOUBLE
     87  ierr = nf90_get_var(nid, nvarid, lmt_so2h, debut, epais)
     88  !nhl #else
     89  !nhl       ierr = nf90_get_var(nid, nvarid, lmt_so2h, debut, epais)
     90  !nhl #endif
     91  IF (ierr .NE. nf90_noerr) THEN
    9192     PRINT*, 'Pb de lecture pour les sources so2 edgar high'
    9293     CALL exit(1)
     
    9596  ELSE  !--GEIA
    9697  !
    97   ierr = NF_INQ_VARID (nid, "SO2H", nvarid)
    98   !nhl #ifdef NC_DOUBLE
    99   ierr = NF_GET_VARA_DOUBLE (nid, nvarid, debut, epais, lmt_so2h)
    100   !nhl #else
    101   !nhl       ierr = NF_GET_VARA_REAL (nid, nvarid, debut, epais, lmt_so2h)
    102   !nhl #endif
    103   IF (ierr .NE. NF_NOERR) THEN
     98  ierr = nf90_inq_varid(nid, "SO2H", nvarid)
     99  !nhl #ifdef NC_DOUBLE
     100  ierr = nf90_get_var(nid, nvarid, lmt_so2h, debut, epais)
     101  !nhl #else
     102  !nhl       ierr = nf90_get_var(nid, nvarid, lmt_so2h, debut, epais)
     103  !nhl #endif
     104  IF (ierr .NE. nf90_noerr) THEN
    104105     PRINT*, 'Pb de lecture pour les sources so2 haut'
    105106     CALL exit(1)
    106107  ENDIF
    107108  !
    108   ierr = NF_INQ_VARID (nid, "SO2B", nvarid)
    109   !nhl #ifdef NC_DOUBLE
    110   ierr = NF_GET_VARA_DOUBLE (nid, nvarid, debut, epais, lmt_so2b)
    111   !nhl #else
    112   !nhl       ierr = NF_GET_VARA_REAL (nid, nvarid, debut, epais, lmt_so2b)
    113   !nhl #endif
    114   IF (ierr .NE. NF_NOERR) THEN
     109  ierr = nf90_inq_varid(nid, "SO2B", nvarid)
     110  !nhl #ifdef NC_DOUBLE
     111  ierr = nf90_get_var(nid, nvarid, lmt_so2b, debut, epais)
     112  !nhl #else
     113  !nhl       ierr = nf90_get_var(nid, nvarid, lmt_so2b, debut, epais)
     114  !nhl #endif
     115  IF (ierr .NE. nf90_noerr) THEN
    115116     PRINT*, 'Pb de lecture pour les sources so2 bas'
    116117     CALL exit(1)
     
    119120  ENDIF  !--edgar
    120121  !
    121   ierr = NF_INQ_VARID (nid, "SO2BB", nvarid)
    122   !nhl #ifdef NC_DOUBLE
    123   ierr = NF_GET_VARA_DOUBLE (nid, nvarid, debut, epais, lmt_so2bb)
    124   !nhl #else
    125   !nhl       ierr = NF_GET_VARA_REAL (nid, nvarid, debut, epais, lmt_so2bb)
    126   !nhl #endif
    127   IF (ierr .NE. NF_NOERR) THEN
     122  ierr = nf90_inq_varid(nid, "SO2BB", nvarid)
     123  !nhl #ifdef NC_DOUBLE
     124  ierr = nf90_get_var(nid, nvarid, lmt_so2bb, debut, epais)
     125  !nhl #else
     126  !nhl       ierr = nf90_get_var(nid, nvarid, lmt_so2bb, debut, epais)
     127  !nhl #endif
     128  IF (ierr .NE. nf90_noerr) THEN
    128129     PRINT*, 'Pb de lecture pour les sources so2 bb'
    129130     CALL exit(1)
    130131  ENDIF
    131132  !
    132   ierr = NF_INQ_VARID (nid, "SO2BA", nvarid)
    133   !nhl #ifdef NC_DOUBLE
    134   ierr = NF_GET_VARA_DOUBLE (nid, nvarid, debut, epais, lmt_so2ba)
    135   !nhl #else
    136   !nhl       ierr = NF_GET_VARA_REAL (nid, nvarid, debut, epais, lmt_so2ba)
    137   !nhl #endif
    138   IF (ierr .NE. NF_NOERR) THEN
     133  ierr = nf90_inq_varid(nid, "SO2BA", nvarid)
     134  !nhl #ifdef NC_DOUBLE
     135  ierr = nf90_get_var(nid, nvarid, lmt_so2ba, debut, epais)
     136  !nhl #else
     137  !nhl       ierr = nf90_get_var(nid, nvarid, lmt_so2ba, debut, epais)
     138  !nhl #endif
     139  IF (ierr .NE. nf90_noerr) THEN
    139140     PRINT*, 'Pb de lecture pour les sources so2 bateau'
    140141     CALL exit(1)
    141142  ENDIF
    142143  !
    143   ierr = NF_INQ_VARID (nid, "DMSB", nvarid)
    144   !nhl #ifdef NC_DOUBLE
    145   ierr = NF_GET_VARA_DOUBLE (nid, nvarid, debut, epais, lmt_dmsbio)
    146   !nhl #else
    147   !nhl       ierr = NF_GET_VARA_REAL (nid, nvarid, debut, epais, lmt_dmsbio)
    148   !nhl #endif
    149   IF (ierr .NE. NF_NOERR) THEN
     144  ierr = nf90_inq_varid(nid, "DMSB", nvarid)
     145  !nhl #ifdef NC_DOUBLE
     146  ierr = nf90_get_var(nid, nvarid, lmt_dmsbio, debut, epais)
     147  !nhl #else
     148  !nhl       ierr = nf90_get_var(nid, nvarid, lmt_dmsbio, debut, epais)
     149  !nhl #endif
     150  IF (ierr .NE. nf90_noerr) THEN
    150151     PRINT*, 'Pb de lecture pour les sources dms bio'
    151152     CALL exit(1)
    152153  ENDIF
    153154  !
    154   ierr = NF_INQ_VARID (nid, "H2SB", nvarid)
    155   !nhl #ifdef NC_DOUBLE
    156   ierr = NF_GET_VARA_DOUBLE (nid, nvarid, debut, epais, lmt_h2sbio)
    157   !nhl #else
    158   !nhl       ierr = NF_GET_VARA_REAL (nid, nvarid, debut, epais, lmt_h2sbio)
    159   !nhl #endif
    160   IF (ierr .NE. NF_NOERR) THEN
     155  ierr = nf90_inq_varid(nid, "H2SB", nvarid)
     156  !nhl #ifdef NC_DOUBLE
     157  ierr = nf90_get_var(nid, nvarid, lmt_h2sbio, debut, epais)
     158  !nhl #else
     159  !nhl       ierr = nf90_get_var(nid, nvarid, lmt_h2sbio, debut, epais)
     160  !nhl #endif
     161  IF (ierr .NE. nf90_noerr) THEN
    161162     PRINT*, 'Pb de lecture pour les sources h2s bio'
    162163     CALL exit(1)
     
    165166  IF (flag_dms.EQ.1) THEN
    166167  !
    167   ierr = NF_INQ_VARID (nid, "DMSL", nvarid)
    168   !nhl #ifdef NC_DOUBLE
    169   ierr = NF_GET_VARA_DOUBLE (nid, nvarid, debut, epais, lmt_dms)
    170   !nhl #else
    171   !nhl       ierr = NF_GET_VARA_REAL (nid, nvarid, debut, epais, lmt_dms)
    172   !nhl #endif
    173   IF (ierr .NE. NF_NOERR) THEN
     168  ierr = nf90_inq_varid(nid, "DMSL", nvarid)
     169  !nhl #ifdef NC_DOUBLE
     170  ierr = nf90_get_var(nid, nvarid, lmt_dms, debut, epais)
     171  !nhl #else
     172  !nhl       ierr = nf90_get_var(nid, nvarid, lmt_dms, debut, epais)
     173  !nhl #endif
     174  IF (ierr .NE. nf90_noerr) THEN
    174175     PRINT*, 'Pb de lecture pour les sources dms liss'
    175176     CALL exit(1)
     
    178179  ELSEIF (flag_dms.EQ.2) THEN
    179180  !
    180   ierr = NF_INQ_VARID (nid, "DMSW", nvarid)
    181   !nhl #ifdef NC_DOUBLE
    182   ierr = NF_GET_VARA_DOUBLE (nid, nvarid, debut, epais, lmt_dms)
    183   !nhl #else
    184   !nhl       ierr = NF_GET_VARA_REAL (nid, nvarid, debut, epais, lmt_dms)
    185   !nhl #endif
    186   IF (ierr .NE. NF_NOERR) THEN
     181  ierr = nf90_inq_varid(nid, "DMSW", nvarid)
     182  !nhl #ifdef NC_DOUBLE
     183  ierr = nf90_get_var(nid, nvarid, lmt_dms, debut, epais)
     184  !nhl #else
     185  !nhl       ierr = nf90_get_var(nid, nvarid, lmt_dms, debut, epais)
     186  !nhl #endif
     187  IF (ierr .NE. nf90_noerr) THEN
    187188     PRINT*, 'Pb de lecture pour les sources dms wann'
    188189     CALL exit(1)
     
    191192  ELSEIF (flag_dms.EQ.3) THEN
    192193  !
    193   ierr = NF_INQ_VARID (nid, "DMSC1", nvarid)
    194   !nhl #ifdef NC_DOUBLE
    195   ierr = NF_GET_VARA_DOUBLE (nid, nvarid, debut,epais,lmt_dmsconc)
    196   !nhl #else
    197   !nhl       ierr = NF_GET_VARA_REAL (nid, nvarid, debut, epais, lmt_dmsconc)
    198   !nhl #endif
    199   IF (ierr .NE. NF_NOERR) THEN
     194  ierr = nf90_inq_varid(nid, "DMSC1", nvarid)
     195  !nhl #ifdef NC_DOUBLE
     196  ierr = nf90_get_var(nid, nvarid,lmt_dmsconc, debut,epais)
     197  !nhl #else
     198  !nhl       ierr = nf90_get_var(nid, nvarid, lmt_dmsconc, debut, epais)
     199  !nhl #endif
     200  IF (ierr .NE. nf90_noerr) THEN
    200201     PRINT*, 'Pb de lecture pour les sources dmsconc old'
    201202     CALL exit(1)
     
    204205  ELSEIF (flag_dms.EQ.4) THEN
    205206  !
    206   ierr = NF_INQ_VARID (nid, "DMSC2", nvarid)
    207   !nhl #ifdef NC_DOUBLE
    208   ierr = NF_GET_VARA_DOUBLE (nid, nvarid, debut,epais,lmt_dmsconc)
    209   !nhl #else
    210   !nhl       ierr = NF_GET_VARA_REAL (nid, nvarid, debut, epais, lmt_dmsconc)
    211   !nhl #endif
    212   IF (ierr .NE. NF_NOERR) THEN
     207  ierr = nf90_inq_varid(nid, "DMSC2", nvarid)
     208  !nhl #ifdef NC_DOUBLE
     209  ierr = nf90_get_var(nid, nvarid,lmt_dmsconc, debut,epais)
     210  !nhl #else
     211  !nhl       ierr = nf90_get_var(nid, nvarid, lmt_dmsconc, debut, epais)
     212  !nhl #endif
     213  IF (ierr .NE. nf90_noerr) THEN
    213214     PRINT*, 'Pb de lecture pour les sources dms conc 2'
    214215     CALL exit(1)
     
    217218  ELSEIF (flag_dms.EQ.5) THEN
    218219  !
    219   ierr = NF_INQ_VARID (nid, "DMSC3", nvarid)
    220   !nhl #ifdef NC_DOUBLE
    221   ierr = NF_GET_VARA_DOUBLE (nid, nvarid, debut,epais,lmt_dmsconc)
    222   !nhl #else
    223   !nhl       ierr = NF_GET_VARA_REAL (nid, nvarid, debut, epais, lmt_dmsconc)
    224   !nhl #endif
    225   IF (ierr .NE. NF_NOERR) THEN
     220  ierr = nf90_inq_varid(nid, "DMSC3", nvarid)
     221  !nhl #ifdef NC_DOUBLE
     222  ierr = nf90_get_var(nid, nvarid,lmt_dmsconc, debut,epais)
     223  !nhl #else
     224  !nhl       ierr = nf90_get_var(nid, nvarid, lmt_dmsconc, debut, epais)
     225  !nhl #endif
     226  IF (ierr .NE. nf90_noerr) THEN
    226227     PRINT*, 'Pb de lecture pour les sources dms conc 3'
    227228     CALL exit(1)
     
    230231  ELSEIF (flag_dms.EQ.6) THEN
    231232  !
    232   ierr = NF_INQ_VARID (nid, "DMSC4", nvarid)
    233   !nhl #ifdef NC_DOUBLE
    234   ierr = NF_GET_VARA_DOUBLE (nid, nvarid, debut,epais,lmt_dmsconc)
    235   !nhl #else
    236   !nhl       ierr = NF_GET_VARA_REAL (nid, nvarid, debut, epais, lmt_dmsconc)
    237   !nhl #endif
    238   IF (ierr .NE. NF_NOERR) THEN
     233  ierr = nf90_inq_varid(nid, "DMSC4", nvarid)
     234  !nhl #ifdef NC_DOUBLE
     235  ierr = nf90_get_var(nid, nvarid,lmt_dmsconc, debut,epais)
     236  !nhl #else
     237  !nhl       ierr = nf90_get_var(nid, nvarid, lmt_dmsconc, debut, epais)
     238  !nhl #endif
     239  IF (ierr .NE. nf90_noerr) THEN
    239240     PRINT*, 'Pb de lecture pour les sources dms conc 4'
    240241     CALL exit(1)
     
    243244  ELSEIF (flag_dms.EQ.7) THEN
    244245  !
    245   ierr = NF_INQ_VARID (nid, "DMSC5", nvarid)
    246   !nhl #ifdef NC_DOUBLE
    247   ierr = NF_GET_VARA_DOUBLE (nid, nvarid, debut,epais,lmt_dmsconc)
    248   !nhl #else
    249   !nhl       ierr = NF_GET_VARA_REAL (nid, nvarid, debut, epais, lmt_dmsconc)
    250   !nhl #endif
    251   IF (ierr .NE. NF_NOERR) THEN
     246  ierr = nf90_inq_varid(nid, "DMSC5", nvarid)
     247  !nhl #ifdef NC_DOUBLE
     248  ierr = nf90_get_var(nid, nvarid,lmt_dmsconc, debut,epais)
     249  !nhl #else
     250  !nhl       ierr = nf90_get_var(nid, nvarid, lmt_dmsconc, debut, epais)
     251  !nhl #endif
     252  IF (ierr .NE. nf90_noerr) THEN
    252253     PRINT*, 'Pb de lecture pour les sources dms conc 5'
    253254     CALL exit(1)
     
    256257  ELSEIF (flag_dms.EQ.8) THEN
    257258  !
    258   ierr = NF_INQ_VARID (nid, "DMSC6", nvarid)
    259   !nhl #ifdef NC_DOUBLE
    260   ierr = NF_GET_VARA_DOUBLE (nid, nvarid, debut,epais,lmt_dmsconc)
    261   !nhl #else
    262   !nhl       ierr = NF_GET_VARA_REAL (nid, nvarid, debut, epais, lmt_dmsconc)
    263   !nhl #endif
    264   IF (ierr .NE. NF_NOERR) THEN
     259  ierr = nf90_inq_varid(nid, "DMSC6", nvarid)
     260  !nhl #ifdef NC_DOUBLE
     261  ierr = nf90_get_var(nid, nvarid,lmt_dmsconc, debut,epais)
     262  !nhl #else
     263  !nhl       ierr = nf90_get_var(nid, nvarid, lmt_dmsconc, debut, epais)
     264  !nhl #endif
     265  IF (ierr .NE. nf90_noerr) THEN
    265266     PRINT*, 'Pb de lecture pour les sources dms conc 6'
    266267     CALL exit(1)
     
    269270  ELSEIF (flag_dms.EQ.9) THEN
    270271  !
    271   ierr = NF_INQ_VARID (nid, "DMSC7", nvarid)
    272   !nhl #ifdef NC_DOUBLE
    273   ierr = NF_GET_VARA_DOUBLE (nid, nvarid, debut,epais,lmt_dmsconc)
    274   !nhl #else
    275   !nhl       ierr = NF_GET_VARA_REAL (nid, nvarid, debut, epais, lmt_dmsconc)
    276   !nhl #endif
    277   IF (ierr .NE. NF_NOERR) THEN
     272  ierr = nf90_inq_varid(nid, "DMSC7", nvarid)
     273  !nhl #ifdef NC_DOUBLE
     274  ierr = nf90_get_var(nid, nvarid,lmt_dmsconc, debut,epais)
     275  !nhl #else
     276  !nhl       ierr = nf90_get_var(nid, nvarid, lmt_dmsconc, debut, epais)
     277  !nhl #endif
     278  IF (ierr .NE. nf90_noerr) THEN
    278279     PRINT*, 'Pb de lecture pour les sources dms conc 7'
    279280     CALL exit(1)
     
    282283  ELSEIF (flag_dms.EQ.10) THEN
    283284  !
    284   ierr = NF_INQ_VARID (nid, "DMSC8", nvarid)
    285   !nhl #ifdef NC_DOUBLE
    286   ierr = NF_GET_VARA_DOUBLE (nid, nvarid, debut,epais,lmt_dmsconc)
    287   !nhl #else
    288   !nhl       ierr = NF_GET_VARA_REAL (nid, nvarid, debut, epais, lmt_dmsconc)
    289   !nhl #endif
    290   IF (ierr .NE. NF_NOERR) THEN
     285  ierr = nf90_inq_varid(nid, "DMSC8", nvarid)
     286  !nhl #ifdef NC_DOUBLE
     287  ierr = nf90_get_var(nid, nvarid,lmt_dmsconc, debut,epais)
     288  !nhl #else
     289  !nhl       ierr = nf90_get_var(nid, nvarid, lmt_dmsconc, debut, epais)
     290  !nhl #endif
     291  IF (ierr .NE. nf90_noerr) THEN
    291292     PRINT*, 'Pb de lecture pour les sources dms conc 8'
    292293     CALL exit(1)
     
    300301  ENDIF
    301302  !
    302   ierr = NF_CLOSE(nid)
     303  ierr = nf90_close(nid)
    303304  !
    304305  IF (flag_dms.LE.2) THEN
  • LMDZ6/trunk/libf/phylmd/Dust/condsurfs_new.f90

    r5246 r5270  
    99  USE mod_phys_lmdz_para
    1010  USE dimphy
     11  USE netcdf, ONLY: nf90_get_var, nf90_inq_varid, nf90_close, nf90_noerr, nf90_open, nf90_nowrite
    1112  IMPLICIT none
    1213  !
     
    1516  !
    1617  INCLUDE "dimensions.h"
    17   INCLUDE "netcdf.inc"
    1818  !
    1919  REAL :: lmt_so2b(klon), lmt_so2h(klon), lmt_so2nff(klon)
     
    6161  !=======================================================================
    6262  !
    63   ierr = NF_OPEN ("sulphur_emissions_antro.nc", NF_NOWRITE, nid)
    64   if (ierr.ne.NF_NOERR) then
     63  ierr = nf90_open ("sulphur_emissions_antro.nc", nf90_nowrite, nid)
     64  if (ierr.ne.nf90_noerr) then
    6565    write(6,*)' Pb d''ouverture du fichier sulphur_emissions_antro'
    6666    write(6,*)' ierr = ', ierr
     
    7171  ! SO2 Low level emissions
    7272  !
    73   ierr = NF_INQ_VARID (nid, "SO2FF_LOW", nvarid)
    74   ierr = NF_GET_VARA_DOUBLE (nid, nvarid, debut, epais,lmt_so2b_glo)
    75   IF (ierr .NE. NF_NOERR) THEN
     73  ierr = nf90_inq_varid(nid, "SO2FF_LOW", nvarid)
     74  ierr = nf90_get_var(nid, nvarid,lmt_so2b_glo, debut, epais)
     75  IF (ierr .NE. nf90_noerr) THEN
    7676    PRINT*, 'Pb de lecture pour les sources so2 low'
    7777    print *,'JE klon, jour, debut ,epais ',klon_glo,jour,debut,epais
     
    8383  ! SO2 High level emissions
    8484  !
    85   ierr = NF_INQ_VARID (nid, "SO2FF_HIGH", nvarid)
    86   ierr = NF_GET_VARA_DOUBLE (nid, nvarid, debut, epais,lmt_so2h_glo)
    87   IF (ierr .NE. NF_NOERR) THEN
     85  ierr = nf90_inq_varid(nid, "SO2FF_HIGH", nvarid)
     86  ierr = nf90_get_var(nid, nvarid,lmt_so2h_glo, debut, epais)
     87  IF (ierr .NE. nf90_noerr) THEN
    8888    PRINT*, 'Pb de lecture pour les sources so2 high'
    8989    CALL exit(1)
     
    9292  ! SO2 Biomass burning High level emissions
    9393  !
    94   ierr = NF_INQ_VARID (nid, "SO2BBH", nvarid)
    95   ierr = NF_GET_VARA_DOUBLE (nid, nvarid, debut, &
    96         epais, lmt_so2bb_h_glo)
    97   IF (ierr .NE. NF_NOERR) THEN
     94  ierr = nf90_inq_varid(nid, "SO2BBH", nvarid)
     95  ierr = nf90_get_var(nid, nvarid, lmt_so2bb_h_glo, debut, &
     96        epais)
     97  IF (ierr .NE. nf90_noerr) THEN
    9898    PRINT*, 'Pb de lecture pour les sources so2 BB high'
    9999    CALL exit(1)
     
    102102  ! SO2 biomass burning low level emissions
    103103  !
    104   ierr = NF_INQ_VARID (nid, "SO2BBL", nvarid)
    105   ierr = NF_GET_VARA_DOUBLE (nid, nvarid, debut, &
    106         epais, lmt_so2bb_l_glo)
    107   IF (ierr .NE. NF_NOERR) THEN
     104  ierr = nf90_inq_varid(nid, "SO2BBL", nvarid)
     105  ierr = nf90_get_var(nid, nvarid, lmt_so2bb_l_glo, debut, &
     106        epais)
     107  IF (ierr .NE. nf90_noerr) THEN
    108108    PRINT*, 'Pb de lecture pour les sources so2 BB low'
    109109    CALL exit(1)
     
    112112  ! SO2 ship emissions
    113113  !
    114   ierr = NF_INQ_VARID (nid, "SO2BA", nvarid)
    115   ierr = NF_GET_VARA_DOUBLE (nid, nvarid, debut,epais,lmt_so2ba_glo)
    116   IF (ierr .NE. NF_NOERR) THEN
     114  ierr = nf90_inq_varid(nid, "SO2BA", nvarid)
     115  ierr = nf90_get_var(nid, nvarid,lmt_so2ba_glo, debut,epais)
     116  IF (ierr .NE. nf90_noerr) THEN
    117117    PRINT*, 'Pb de lecture pour les sources so2 ship'
    118118    CALL exit(1)
     
    121121  ! SO2 Non Fossil Fuel Emissions
    122122  !
    123   ierr = NF_INQ_VARID (nid, "SO2NFF", nvarid)
    124   ierr = NF_GET_VARA_DOUBLE (nid, nvarid, debut, epais, &
    125         lmt_so2nff_glo)
    126   IF (ierr .NE. NF_NOERR) THEN
     123  ierr = nf90_inq_varid(nid, "SO2NFF", nvarid)
     124  ierr = nf90_get_var(nid, nvarid, &
     125        lmt_so2nff_glo, debut, epais)
     126  IF (ierr .NE. nf90_noerr) THEN
    127127    PRINT*, 'Pb de lecture pour les sources so2 non FF'
    128128    CALL exit(1)
    129129  ENDIF
    130130  !
    131   ierr = NF_CLOSE(nid)
     131  ierr = nf90_close(nid)
    132132  !
    133133  !=======================================================================
    134134                   ! READING NATURAL EMISSIONS
    135135  !=======================================================================
    136   ierr = NF_OPEN ("sulphur_emissions_nat.nc", NF_NOWRITE, nid)
    137   if (ierr.ne.NF_NOERR) then
     136  ierr = nf90_open ("sulphur_emissions_nat.nc", nf90_nowrite, nid)
     137  if (ierr.ne.nf90_noerr) then
    138138    write(6,*)' Pb d''ouverture du fichier sulphur_emissions_nat'
    139139    write(6,*)' ierr = ', ierr
     
    143143  ! Biologenic source of DMS
    144144  !
    145   ierr = NF_INQ_VARID (nid, "DMSB", nvarid)
    146   ierr = NF_GET_VARA_DOUBLE (nid, nvarid,debut,epais,lmt_dmsbio_glo)
    147   IF (ierr .NE. NF_NOERR) THEN
     145  ierr = nf90_inq_varid(nid, "DMSB", nvarid)
     146  ierr = nf90_get_var(nid, nvarid,lmt_dmsbio_glo,debut,epais)
     147  IF (ierr .NE. nf90_noerr) THEN
    148148     PRINT*, 'Pb de lecture pour les sources dms bio'
    149149     CALL exit(1)
     
    152152  ! Biologenic source of H2S
    153153  !
    154   ierr = NF_INQ_VARID (nid, "H2SB", nvarid)
    155   ierr = NF_GET_VARA_DOUBLE (nid, nvarid,debut,epais,lmt_h2sbio_glo)
    156   IF (ierr .NE. NF_NOERR) THEN
     154  ierr = nf90_inq_varid(nid, "H2SB", nvarid)
     155  ierr = nf90_get_var(nid, nvarid,lmt_h2sbio_glo,debut,epais)
     156  IF (ierr .NE. nf90_noerr) THEN
    157157     PRINT*, 'Pb de lecture pour les sources h2s bio'
    158158     CALL exit(1)
     
    163163  IF (flag_dms.EQ.4) THEN
    164164  !
    165   ierr = NF_INQ_VARID (nid, "DMSC2", nvarid)
    166   ierr = NF_GET_VARA_DOUBLE (nid,nvarid,debut,epais,lmt_dmsconc_glo)
    167   IF (ierr .NE. NF_NOERR) THEN
     165  ierr = nf90_inq_varid(nid, "DMSC2", nvarid)
     166  ierr = nf90_get_var(nid,nvarid,lmt_dmsconc_glo,debut,epais)
     167  IF (ierr .NE. nf90_noerr) THEN
    168168     PRINT*, 'Pb de lecture pour les sources dms conc 2'
    169169     CALL exit(1)
     
    182182  ENDIF
    183183  !
    184   ierr = NF_CLOSE(nid)
     184  ierr = nf90_close(nid)
    185185  !
    186186  !=======================================================================
     
    189189  print *,'   ***      READING VOLCANIC EMISSIONS   ***   '
    190190  print *,' Jour = ',jour
    191   ierr = NF_OPEN ("sulphur_emissions_volc.nc", NF_NOWRITE, nid)
    192   if (ierr.ne.NF_NOERR) then
     191  ierr = nf90_open ("sulphur_emissions_volc.nc", nf90_nowrite, nid)
     192  if (ierr.ne.nf90_noerr) then
    193193    write(6,*)' Pb d''ouverture du fichier sulphur_emissions_volc'
    194194    write(6,*)' ierr = ', ierr
     
    198198  ! Continuous Volcanic emissions
    199199  !
    200   !  ierr = NF_INQ_VARID (nid, "VOLC", nvarid)
    201   ierr = NF_INQ_VARID (nid, "flx_volc_cont", nvarid)
    202   ierr = NF_GET_VARA_DOUBLE (nid, nvarid, debut, epais, &
    203         lmt_so2volc_cont_glo)
    204   IF (ierr .NE. NF_NOERR) THEN
     200  !  ierr = nf90_inq_varid(nid, "VOLC", nvarid)
     201  ierr = nf90_inq_varid(nid, "flx_volc_cont", nvarid)
     202  ierr = nf90_get_var(nid, nvarid, &
     203        lmt_so2volc_cont_glo, debut, epais)
     204  IF (ierr .NE. nf90_noerr) THEN
    205205     PRINT*, 'Pb de lecture pour les sources so2 volcan (cont)'
    206206     CALL exit(1)
     
    212212  ! Altitud of continuous volcanic emissions
    213213  !
    214   !  ierr = NF_INQ_VARID (nid, "ALTI", nvarid)
    215   ierr = NF_INQ_VARID (nid, "flx_volc_altcont", nvarid)
    216   ierr = NF_GET_VARA_DOUBLE (nid, nvarid, debut, epais, &
    217         lmt_altvolc_cont_glo)
    218   IF (ierr .NE. NF_NOERR) THEN
     214  !  ierr = nf90_inq_varid(nid, "ALTI", nvarid)
     215  ierr = nf90_inq_varid(nid, "flx_volc_altcont", nvarid)
     216  ierr = nf90_get_var(nid, nvarid, &
     217        lmt_altvolc_cont_glo, debut, epais)
     218  IF (ierr .NE. nf90_noerr) THEN
    219219     PRINT*, 'Pb de lecture pour les altitudes volcan (cont)'
    220220     CALL exit(1)
     
    223223  ! Explosive Volcanic emissions
    224224  !
    225   ierr = NF_INQ_VARID (nid, "flx_volc_expl", nvarid)
    226   ierr = NF_GET_VARA_DOUBLE (nid, nvarid, debut, epais, &
    227         lmt_so2volc_expl_glo)
    228   IF (ierr .NE. NF_NOERR) THEN
     225  ierr = nf90_inq_varid(nid, "flx_volc_expl", nvarid)
     226  ierr = nf90_get_var(nid, nvarid, &
     227        lmt_so2volc_expl_glo, debut, epais)
     228  IF (ierr .NE. nf90_noerr) THEN
    229229     PRINT*, 'Pb de lecture pour les sources so2 volcan (expl)'
    230230     CALL exit(1)
     
    236236  ! Altitud of explosive volcanic emissions
    237237  !
    238   ierr = NF_INQ_VARID (nid, "flx_volc_altexpl", nvarid)
    239   ierr = NF_GET_VARA_DOUBLE (nid, nvarid, debut, epais, &
    240         lmt_altvolc_expl_glo)
    241   IF (ierr .NE. NF_NOERR) THEN
     238  ierr = nf90_inq_varid(nid, "flx_volc_altexpl", nvarid)
     239  ierr = nf90_get_var(nid, nvarid, &
     240        lmt_altvolc_expl_glo, debut, epais)
     241  IF (ierr .NE. nf90_noerr) THEN
    242242     PRINT*, 'Pb de lecture pour les altitudes volcan'
    243243     CALL exit(1)
     
    245245   ! lmt_altvolc_expl(:)=0.0
    246246
    247   ierr = NF_CLOSE(nid)
     247  ierr = nf90_close(nid)
    248248  !
    249249  PRINT*, 'Sources SOUFRE lues pour jour: ', jour
  • LMDZ6/trunk/libf/phylmd/Dust/phytracr_spl_mod.F90

    r5233 r5270  
    45684568      USE mod_grid_phy_lmdz
    45694569      USE mod_phys_lmdz_para
     4570      USE netcdf, ONLY: nf90_open, nf90_close, nf90_inq_varid, nf90_nowrite, nf90_noerr, nf90_get_var
    45704571      IMPLICIT NONE
    4571 
    4572       include "netcdf.inc"
    45734572
    45744573      CHARACTER*800 filescaleparams
     
    45814580      integer start(4),count(4), status
    45824581!      local
    4583       integer debutread,countread
    45844582      CHARACTER*104 varname
    45854583      CHARACTER*2 aux_2s
     
    45874585!$OMP MASTER
    45884586      IF (is_mpi_root .AND. is_omp_root) THEN
    4589           !nci=NCOPN(trim(adjustl(filescaleparams)),NCNOWRIT,rcode)
    4590          ierr = NF_OPEN (trim(adjustl(filescaleparams)),NF_NOWRITE, nid)
    4591           if (ierr .EQ. NF_NOERR) THEN
    4592           debutread=step_sca
    4593           countread=1
     4587          !nci=nf90_open(trim(adjustl(filescaleparams)),nf90_nowrite,rcode)
     4588         ierr = nf90_open (trim(adjustl(filescaleparams)),nf90_nowrite, nid)
     4589          if (ierr .EQ. nf90_noerr) THEN
    45944590
    45954591           do i=1,nbreg
     
    45974593            varname= trim(adjustl(paramname))//aux_2s
    45984594            print *,varname
    4599             ierr = NF_INQ_VARID (nid,trim(adjustl(varname)), nvarid)
    4600             ierr = NF_GET_VARA_DOUBLE (nid, nvarid, debutread,          &
    4601                          countread, auxreal)
    4602             IF (ierr .NE. NF_NOERR) THEN
     4595            ierr = nf90_inq_varid(nid,trim(adjustl(varname)), nvarid)
     4596            ierr = nf90_get_var(nid, nvarid, auxreal, [step_sca])
     4597            IF (ierr .NE. nf90_noerr) THEN
    46034598             PRINT*, 'Pb de lecture pour modvalues'
    46044599       print *,'JE  scale_var, step_sca',trim(adjustl(varname)),step_sca
     
    46134608           enddo
    46144609
    4615             ierr = NF_CLOSE(nid)
     4610            ierr = nf90_close(nid)
    46164611          else
    46174612           print *,'File '//trim(adjustl(filescaleparams))//' not found'
  • LMDZ6/trunk/libf/phylmd/Dust/read_dust.f90

    r5268 r5270  
    33  USE mod_grid_phy_lmdz
    44  USE mod_phys_lmdz_para
    5   USE netcdf, ONLY: nf90_get_var
     5  USE netcdf, ONLY: nf90_get_var, nf90_nowrite, nf90_open, nf90_inq_varid
    66  IMPLICIT NONE
    77  !
    88  INCLUDE "dimensions.h"
    99  INCLUDE "paramet.h"
    10   INCLUDE "netcdf.inc"
    1110  !
    1211  INTEGER :: step, nbjour
     
    1716  ! as      real dust_nc(iip1,jjp1)
    1817  real :: dust_nc_glo(nbp_lon+1,nbp_lat)
    19   real :: rcode
    20   integer :: ncid1, varid1, ncid2, varid2
     18  INTEGER :: ncid1, varid1, ncid2, varid2, rcode
    2119
    2220  save ncid1, varid1, ncid2, varid2
     
    2927  if (debutphy) then
    3028  !
    31      ncid1=NCOPN('dust.nc',NCNOWRIT,rcode)
    32      varid1=NCVID(ncid1,'EMISSION',rcode)
     29     ncid1=nf90_open('dust.nc',nf90_nowrite,rcode)
     30     varid1=nf90_inq_varid(ncid1,'EMISSION',rcode)
    3331  !
    3432  endif
  • LMDZ6/trunk/libf/phylmd/Dust/read_surface.f90

    r5268 r5270  
    1010       USE mod_phys_lmdz_para
    1111       USE iophy
    12        USE netcdf, ONLY: nf90_get_var
     12       USE netcdf, ONLY: nf90_inq_varid,nf90_noerr,nf90_get_var,nf90_nowrite,nf90_inq_varid,nf90_open
    1313       IMPLICIT NONE
    14 
    15        INCLUDE "netcdf.inc"
    1614       INCLUDE "dimensions.h"
    1715       INCLUDE "paramet.h"
     
    3129       real surfa_glo(klon_glo,5)
    3230!
    33        integer ncid
    34        integer varid
    35        real rcode
     31       integer ncid, varid, rcode
    3632       integer start(2),count(2),status
    3733       integer i,j,l,ig
     
    4339      real, dimension(jjp1) :: lats
    4440      real, dimension(nbp_lat) :: lats_glo
    45       real :: rcode2
    4641      integer, dimension(1) :: startj,endj
    4742!JE20140526>>
     
    5045
    5146       print*,'Lecture du fichier donnees_lisa.nc'
    52        ncid=NCOPN('donnees_lisa.nc',NCNOWRIT,rcode)
     47       ncid=nf90_open('donnees_lisa.nc',nf90_nowrite,rcode)
    5348
    5449!JE20140526<<: check if are inversed or not the latitude grid in donnes_lisa
     
    6257       if (i==4) aux4s='Latu'
    6358       if (i==5) aux4s='latU'
    64        status = NF_INQ_VARID (ncid, aux4s, rcode)
     59       status = nf90_inq_varid(ncid, aux4s, rcode)
    6560!       print *,'stat,i',status,i,outcycle,aux4s
    66 !       print *,'ifclause',status.NE. NF_NOERR ,outcycle == .false.
    67        IF ((.not.(status.NE. NF_NOERR) ).and.( .not. outcycle )) THEN
     61!       print *,'ifclause',status.NE. nf90_noerr ,outcycle == .false.
     62       IF ((.not.(status.NE. nf90_noerr) ).and.( .not. outcycle )) THEN
    6863         outcycle=.true.
    6964         latstr=aux4s
     
    7368!      endj(1)=jjp1
    7469      endj(1)=nbp_lat
    75       varid=NCVID(ncid,latstr,rcode)
     70      varid=nf90_inq_varid(ncid,latstr,rcode)
    7671
    7772          status = nf90_get_var(ncid, varid, lats_glo, startj, endj)
    7873!      print *,latstr,varid,status,jjp1,rcode
    79 !      IF (status .NE. NF_NOERR) print*,'NOOOOOOO'
     74!      IF (status .NE. nf90_noerr) print*,'NOOOOOOO'
    8075!      print *,lats
    8176!stop
     
    9085          varname=trim(name)//str1
    9186       print*,'lecture variable:',varname
    92           varid=NCVID(ncid,trim(varname),rcode)
    93 !          varid=NCVID(ncid,varname,rcode)
     87          varid=nf90_inq_varid(ncid,trim(varname),rcode)
     88!          varid=nf90_inq_varid(ncid,varname,rcode)
    9489
    9590!  dimensions pour les champs scalaires et le vent zonal
  • LMDZ6/trunk/libf/phylmd/Dust/read_vent.f90

    r5268 r5270  
    33  USE mod_grid_phy_lmdz
    44  USE mod_phys_lmdz_para
    5   USE netcdf, ONLY: nf90_get_var
     5  USE netcdf, ONLY: nf90_get_var, nf90_open, nf90_inq_varid, nf90_nowrite
    66   ! USE write_field_phy
    77  IMPLICIT NONE
     
    99    ! INCLUDE "dimphy.h"
    1010  INCLUDE "paramet.h"
    11   INCLUDE "netcdf.inc"
    1211  !
    1312  INTEGER :: step, nbjour
     
    2019  real :: u10m_nc_glo(nbp_lon+1,nbp_lat) !, v10m_nc(iip1,jjm) ! dim 97x72
    2120  real :: v10m_nc_glo(nbp_lon+1,nbp_lat)  ! dim 97x73
    22   real :: rcode
    23   integer :: ncidu1, varidu1, ncidv1, varidv1
     21  integer :: ncidu1, varidu1, ncidv1, varidv1, rcode
    2422  save ncidu1, varidu1, ncidv1, varidv1
    2523!$OMP THREADPRIVATE(ncidu1, varidu1, ncidv1, varidv1)
     
    3331  if (debutphy) then
    3432  !
    35      ncidu1=NCOPN('u10m.nc',NCNOWRIT,rcode)
    36      varidu1=NCVID(ncidu1,'U10M',rcode)
    37      ncidv1=NCOPN('v10m.nc',NCNOWRIT,rcode)
    38      varidv1=NCVID(ncidv1,'V10M',rcode)
     33     ncidu1=nf90_open('u10m.nc',nf90_nowrite,rcode)
     34     varidu1=nf90_inq_varid(ncidu1,'U10M',rcode)
     35     ncidv1=nf90_open('v10m.nc',nf90_nowrite,rcode)
     36     varidv1=nf90_inq_varid(ncidv1,'V10M',rcode)
    3937  !
    4038  endif
  • LMDZ6/trunk/libf/phylmd/condsurf.f90

    r5268 r5270  
    77  USE indice_sol_mod
    88  USE time_phylmdz_mod, ONLY: annee_ref
    9   USE netcdf, ONLY: nf90_get_var
     9  USE netcdf, ONLY: nf90_get_var,nf90_open,nf90_inq_varid,nf90_noerr,nf90_close,nf90_nowrite
    1010  IMPLICIT NONE
    1111
     
    2020
    2121  ! lmt_bils: bilan chaleur au sol (a utiliser pour "slab-ocean")
    22 
    23   include "netcdf.inc"
    2422  INTEGER nid, nvarid
    2523  INTEGER debut(2)
     
    8987  !$OMP MASTER
    9088  IF (is_mpi_root) THEN
    91     ierr = nf_open(fich, nf_nowrite, nid)
    92     IF (ierr/=nf_noerr) THEN
     89    ierr = nf90_open(fich, nf90_nowrite, nid)
     90    IF (ierr/=nf90_noerr) THEN
    9391      WRITE (6, *) ' Pb d''ouverture du fichier ', fich
    9492      WRITE (6, *) ' Le fichier limit ', fich, ' (avec 4 chiffres , pour'
     
    106104    ! Bilan flux de chaleur au sol:
    107105
    108     ierr = nf_inq_varid(nid, 'BILS', nvarid)
    109     IF (ierr/=nf_noerr) THEN
     106    ierr = nf90_inq_varid(nid, 'BILS', nvarid)
     107    IF (ierr/=nf90_noerr) THEN
    110108      CALL abort_physic('cond_surf', 'Le champ <BILS> est absent', 1)
    111109    END IF
    112110    PRINT *, 'debut,epais', debut, epais, 'jour,jourvrai', jour, jourvrai
    113111    ierr = nf90_get_var(nid, nvarid,  lmt_bils_glo, debut, epais)
    114     IF (ierr/=nf_noerr) THEN
     112    IF (ierr/=nf90_noerr) THEN
    115113      CALL abort_physic('condsurf', 'Lecture echouee pour <BILS>', 1)
    116114    END IF
     
    119117    ! Fermer le fichier:
    120118
    121     ierr = nf_close(nid)
     119    ierr = nf90_close(nid)
    122120
    123121  END IF ! is_mpi_root==0
  • LMDZ6/trunk/libf/phylmd/dyn1d/1DUTILS.h

    r5268 r5270  
    678678      include "dimensions.h"
    679679!!#include "control.h"
    680       include "netcdf.inc"
    681680
    682681!   Arguments:
     
    825824      include "dimensions.h"
    826825!!#include "control.h"
    827       include "netcdf.inc"
    828826
    829827!   Arguments:
     
    864862
    865863!     modname = 'dyn1dredem'
    866 !     ierr = NF_OPEN(fichnom, NF_WRITE, nid)
    867 !     IF (ierr .NE. NF_NOERR) THEN
     864!     ierr = nf90_open(fichnom, nf90_write, nid)
     865!     IF (ierr .NE. nf90_noerr) THEN
    868866!        abort_message="Pb. d ouverture "//fichnom
    869867!        CALL abort_gcm('Modele 1D',abort_message,1)
  • LMDZ6/trunk/libf/phylmd/dyn1d/1D_decl_cases.h

    r5084 r5270  
    1         INCLUDE "netcdf.inc"
     1
    22
    33! Declarations specifiques au cas Toga
  • LMDZ6/trunk/libf/phylmd/dyn1d/mod_1D_amma_read.f90

    r5268 r5270  
    11MODULE mod_1D_amma_read
    2 
     2  USE netcdf, ONLY: nf90_get_var, nf90_open, nf90_noerr, nf90_open, nf90_nowrite, &
     3          nf90_inq_dimid, nf90_inquire_dimension, nf90_strerror, nf90_inq_varid
    34!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    45!Declarations specifiques au cas AMMA
     
    5960      implicit none
    6061
    61       INCLUDE "netcdf.inc"
    62 
    6362      INTEGER nid,rid,ierr
    6463
    6564      fich_amma='amma.nc'
    6665      print*,'fich_amma ',fich_amma
    67       ierr = NF_OPEN(fich_amma,NF_NOWRITE,nid)
    68       print*,'fich_amma,NF_NOWRITE,nid ',fich_amma,NF_NOWRITE,nid
    69       if (ierr.NE.NF_NOERR) then
     66      ierr = nf90_open(fich_amma,nf90_nowrite,nid)
     67      print*,'fich_amma,nf90_nowrite,nid ',fich_amma,nf90_nowrite,nid
     68      if (ierr.NE.nf90_noerr) then
    7069         write(*,*) 'ERROR: GROS Pb opening forcings nc file '
    71          write(*,*) NF_STRERROR(ierr)
     70         write(*,*) nf90_strerror(ierr)
    7271         stop ""
    7372      endif
    7473!.......................................................................
    75       ierr=NF_INQ_DIMID(nid,'lev',rid)
    76       IF (ierr.NE.NF_NOERR) THEN
     74      ierr=nf90_inq_dimid(nid,'lev',rid)
     75      IF (ierr.NE.nf90_noerr) THEN
    7776         print*, 'Oh probleme lecture dimension zz'
    7877      ENDIF
    79       ierr=NF_INQ_DIMLEN(nid,rid,nlev_amma)
     78      ierr=nf90_inquire_dimension(nid,rid,len=nlev_amma)
    8079      print*,'OK nid,rid,nlev_amma',nid,rid,nlev_amma
    8180!.......................................................................
    82       ierr=NF_INQ_DIMID(nid,'time',rid)
     81      ierr=nf90_inq_dimid(nid,'time',rid)
    8382      print*,'nid,rid',nid,rid
    8483      nt_amma=0
    85       IF (ierr.NE.NF_NOERR) THEN
     84      IF (ierr.NE.nf90_noerr) THEN
    8685        stop 'probleme lecture dimension sens'
    8786      ENDIF
    88       ierr=NF_INQ_DIMLEN(nid,rid,nt_amma)
     87      ierr=nf90_inquire_dimension(nid,rid,len=nt_amma)
    8988      print*,'nid,rid,nlev_amma',nid,rid,nt_amma
    9089
     
    179178
    180179!program reading forcings of the AMMA case study
    181       USE netcdf, ONLY: nf90_get_var
     180      USE netcdf, ONLY: nf90_get_var, nf90_open, nf90_noerr, nf90_open, nf90_nowrite, &
     181          nf90_inq_dimid, nf90_inquire_dimension, nf90_strerror, nf90_inq_varid
    182182      implicit none
    183       INCLUDE "netcdf.inc"
    184183
    185184      integer ntime,nlevel
     
    200199      integer var3didin(nbvar3d)
    201200
    202        ierr=NF_INQ_VARID(nid,"zz",var3didin(1))
    203          if(ierr/=NF_NOERR) then
    204            write(*,*) NF_STRERROR(ierr)
     201       ierr=nf90_inq_varid(nid,"zz",var3didin(1))
     202         if(ierr/=nf90_noerr) then
     203           write(*,*) nf90_strerror(ierr)
    205204           stop 'lev'
    206205         endif
    207206
    208207
    209       ierr=NF_INQ_VARID(nid,"temp",var3didin(2))
    210          if(ierr/=NF_NOERR) then
    211            write(*,*) NF_STRERROR(ierr)
     208      ierr=nf90_inq_varid(nid,"temp",var3didin(2))
     209         if(ierr/=nf90_noerr) then
     210           write(*,*) nf90_strerror(ierr)
    212211           stop 'temp'
    213212         endif
    214213
    215       ierr=NF_INQ_VARID(nid,"qv",var3didin(3))
    216          if(ierr/=NF_NOERR) then
    217            write(*,*) NF_STRERROR(ierr)
     214      ierr=nf90_inq_varid(nid,"qv",var3didin(3))
     215         if(ierr/=nf90_noerr) then
     216           write(*,*) nf90_strerror(ierr)
    218217           stop 'qv'
    219218         endif
    220219
    221       ierr=NF_INQ_VARID(nid,"u",var3didin(4))
    222          if(ierr/=NF_NOERR) then
    223            write(*,*) NF_STRERROR(ierr)
     220      ierr=nf90_inq_varid(nid,"u",var3didin(4))
     221         if(ierr/=nf90_noerr) then
     222           write(*,*) nf90_strerror(ierr)
    224223           stop 'u'
    225224         endif
    226225
    227       ierr=NF_INQ_VARID(nid,"v",var3didin(5))
    228          if(ierr/=NF_NOERR) then
    229            write(*,*) NF_STRERROR(ierr)
     226      ierr=nf90_inq_varid(nid,"v",var3didin(5))
     227         if(ierr/=nf90_noerr) then
     228           write(*,*) nf90_strerror(ierr)
    230229           stop 'v'
    231230         endif
    232231
    233       ierr=NF_INQ_VARID(nid,"dw",var3didin(6))
    234          if(ierr/=NF_NOERR) then
    235            write(*,*) NF_STRERROR(ierr)
     232      ierr=nf90_inq_varid(nid,"dw",var3didin(6))
     233         if(ierr/=nf90_noerr) then
     234           write(*,*) nf90_strerror(ierr)
    236235           stop 'dw'
    237236         endif
    238237
    239       ierr=NF_INQ_VARID(nid,"dt",var3didin(7))
    240          if(ierr/=NF_NOERR) then
    241            write(*,*) NF_STRERROR(ierr)
     238      ierr=nf90_inq_varid(nid,"dt",var3didin(7))
     239         if(ierr/=nf90_noerr) then
     240           write(*,*) nf90_strerror(ierr)
    242241           stop 'dt'
    243242         endif
    244243
    245       ierr=NF_INQ_VARID(nid,"dq",var3didin(8))
    246          if(ierr/=NF_NOERR) then
    247            write(*,*) NF_STRERROR(ierr)
     244      ierr=nf90_inq_varid(nid,"dq",var3didin(8))
     245         if(ierr/=nf90_noerr) then
     246           write(*,*) nf90_strerror(ierr)
    248247           stop 'dq'
    249248         endif
    250249     
    251       ierr=NF_INQ_VARID(nid,"sens",var3didin(9))
    252          if(ierr/=NF_NOERR) then
    253            write(*,*) NF_STRERROR(ierr)
     250      ierr=nf90_inq_varid(nid,"sens",var3didin(9))
     251         if(ierr/=nf90_noerr) then
     252           write(*,*) nf90_strerror(ierr)
    254253           stop 'sens'
    255254         endif
    256255
    257       ierr=NF_INQ_VARID(nid,"flat",var3didin(10))
    258          if(ierr/=NF_NOERR) then
    259            write(*,*) NF_STRERROR(ierr)
     256      ierr=nf90_inq_varid(nid,"flat",var3didin(10))
     257         if(ierr/=nf90_noerr) then
     258           write(*,*) nf90_strerror(ierr)
    260259           stop 'flat'
    261260         endif
    262261
    263       ierr=NF_INQ_VARID(nid,"pp",var3didin(11))
    264          if(ierr/=NF_NOERR) then
    265            write(*,*) NF_STRERROR(ierr)
     262      ierr=nf90_inq_varid(nid,"pp",var3didin(11))
     263         if(ierr/=nf90_noerr) then
     264           write(*,*) nf90_strerror(ierr)
    266265      endif
    267266
     
    270269 
    271270         ierr = nf90_get_var(nid, var3didin(1), zz)
    272          if(ierr/=NF_NOERR) then
    273             write(*,*) NF_STRERROR(ierr)
     271         if(ierr/=nf90_noerr) then
     272            write(*,*) nf90_strerror(ierr)
    274273            stop "getvarup"
    275274         endif
     
    277276
    278277         ierr = nf90_get_var(nid, var3didin(2), temp)
    279          if(ierr/=NF_NOERR) then
    280             write(*,*) NF_STRERROR(ierr)
     278         if(ierr/=nf90_noerr) then
     279            write(*,*) nf90_strerror(ierr)
    281280            stop "getvarup"
    282281         endif
     
    284283
    285284         ierr = nf90_get_var(nid, var3didin(3), qv)
    286          if(ierr/=NF_NOERR) then
    287             write(*,*) NF_STRERROR(ierr)
     285         if(ierr/=nf90_noerr) then
     286            write(*,*) nf90_strerror(ierr)
    288287            stop "getvarup"
    289288         endif
     
    291290 
    292291         ierr = nf90_get_var(nid, var3didin(4), u)
    293          if(ierr/=NF_NOERR) then
    294             write(*,*) NF_STRERROR(ierr)
     292         if(ierr/=nf90_noerr) then
     293            write(*,*) nf90_strerror(ierr)
    295294            stop "getvarup"
    296295         endif
     
    298297
    299298         ierr = nf90_get_var(nid, var3didin(5), v)
    300          if(ierr/=NF_NOERR) then
    301             write(*,*) NF_STRERROR(ierr)
     299         if(ierr/=nf90_noerr) then
     300            write(*,*) nf90_strerror(ierr)
    302301            stop "getvarup"
    303302         endif
     
    305304
    306305         ierr = nf90_get_var(nid, var3didin(6), dw)
    307          if(ierr/=NF_NOERR) then
    308             write(*,*) NF_STRERROR(ierr)
     306         if(ierr/=nf90_noerr) then
     307            write(*,*) nf90_strerror(ierr)
    309308            stop "getvarup"
    310309         endif
     
    312311
    313312         ierr = nf90_get_var(nid, var3didin(7), dt)
    314          if(ierr/=NF_NOERR) then
    315             write(*,*) NF_STRERROR(ierr)
     313         if(ierr/=nf90_noerr) then
     314            write(*,*) nf90_strerror(ierr)
    316315            stop "getvarup"
    317316         endif
     
    319318
    320319         ierr = nf90_get_var(nid, var3didin(8), dq)
    321          if(ierr/=NF_NOERR) then
    322             write(*,*) NF_STRERROR(ierr)
     320         if(ierr/=nf90_noerr) then
     321            write(*,*) nf90_strerror(ierr)
    323322            stop "getvarup"
    324323         endif
     
    326325
    327326         ierr = nf90_get_var(nid, var3didin(9), sens)
    328          if(ierr/=NF_NOERR) then
    329             write(*,*) NF_STRERROR(ierr)
     327         if(ierr/=nf90_noerr) then
     328            write(*,*) nf90_strerror(ierr)
    330329            stop "getvarup"
    331330         endif
     
    333332
    334333         ierr = nf90_get_var(nid, var3didin(10), flat)
    335          if(ierr/=NF_NOERR) then
    336             write(*,*) NF_STRERROR(ierr)
     334         if(ierr/=nf90_noerr) then
     335            write(*,*) nf90_strerror(ierr)
    337336            stop "getvarup"
    338337         endif
     
    340339
    341340         ierr = nf90_get_var(nid, var3didin(11), pp)
    342          if(ierr/=NF_NOERR) then
    343             write(*,*) NF_STRERROR(ierr)
     341         if(ierr/=nf90_noerr) then
     342            write(*,*) nf90_strerror(ierr)
    344343            stop "getvarup"
    345344         endif
  • LMDZ6/trunk/libf/phylmd/dyn1d/mod_1D_cases_read.f90

    r5268 r5270  
    33!
    44MODULE mod_1D_cases_read
     5        USE netcdf, ONLY: nf90_get_var, nf90_strerror, nf90_inq_varid, nf90_inquire_dimension, nf90_noerr, &
     6                nf90_inq_dimid, nf90_nowrite, nf90_open
     7
    58
    69!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
     
    9093      implicit none
    9194
    92       INCLUDE "netcdf.inc"
    93 
    9495      INTEGER nid,rid,ierr
    9596      INTEGER ii,jj
     
    9798      fich_cas='setup/cas.nc'
    9899      print*,'fich_cas ',fich_cas
    99       ierr = NF_OPEN(fich_cas,NF_NOWRITE,nid)
    100       print*,'fich_cas,NF_NOWRITE,nid ',fich_cas,NF_NOWRITE,nid
    101       if (ierr.NE.NF_NOERR) then
     100      ierr = nf90_open(fich_cas,nf90_nowrite,nid)
     101      print*,'fich_cas,nf90_nowrite,nid ',fich_cas,nf90_nowrite,nid
     102      if (ierr.NE.nf90_noerr) then
    102103         write(*,*) 'ERROR: GROS Pb opening forcings nc file '
    103          write(*,*) NF_STRERROR(ierr)
     104         write(*,*) nf90_strerror(ierr)
    104105         stop ""
    105106      endif
    106107!.......................................................................
    107       ierr=NF_INQ_DIMID(nid,'lat',rid)
    108       IF (ierr.NE.NF_NOERR) THEN
     108      ierr=nf90_inq_dimid(nid,'lat',rid)
     109      IF (ierr.NE.nf90_noerr) THEN
    109110         print*, 'Oh probleme lecture dimension lat'
    110111      ENDIF
    111       ierr=NF_INQ_DIMLEN(nid,rid,ii)
     112      ierr=nf90_inquire_dimension(nid,rid,len=ii)
    112113      print*,'OK1 nid,rid,lat',nid,rid,ii
    113114!.......................................................................
    114       ierr=NF_INQ_DIMID(nid,'lon',rid)
    115       IF (ierr.NE.NF_NOERR) THEN
     115      ierr=nf90_inq_dimid(nid,'lon',rid)
     116      IF (ierr.NE.nf90_noerr) THEN
    116117         print*, 'Oh probleme lecture dimension lon'
    117118      ENDIF
    118       ierr=NF_INQ_DIMLEN(nid,rid,jj)
     119      ierr=nf90_inquire_dimension(nid,rid,len=jj)
    119120      print*,'OK2 nid,rid,lat',nid,rid,jj
    120121!.......................................................................
    121       ierr=NF_INQ_DIMID(nid,'lev',rid)
    122       IF (ierr.NE.NF_NOERR) THEN
     122      ierr=nf90_inq_dimid(nid,'lev',rid)
     123      IF (ierr.NE.nf90_noerr) THEN
    123124         print*, 'Oh probleme lecture dimension zz'
    124125      ENDIF
    125       ierr=NF_INQ_DIMLEN(nid,rid,nlev_cas)
     126      ierr=nf90_inquire_dimension(nid,rid,len=nlev_cas)
    126127      print*,'OK3 nid,rid,nlev_cas',nid,rid,nlev_cas
    127128!.......................................................................
    128       ierr=NF_INQ_DIMID(nid,'time',rid)
     129      ierr=nf90_inq_dimid(nid,'time',rid)
    129130      print*,'nid,rid',nid,rid
    130131      nt_cas=0
    131       IF (ierr.NE.NF_NOERR) THEN
     132      IF (ierr.NE.nf90_noerr) THEN
    132133        stop 'probleme lecture dimension sens'
    133134      ENDIF
    134       ierr=NF_INQ_DIMLEN(nid,rid,nt_cas)
     135      ierr=nf90_inquire_dimension(nid,rid,len=nt_cas)
    135136      print*,'OK4 nid,rid,nt_cas',nid,rid,nt_cas
    136137
     
    264265     &     du,hu,vu,dv,hv,vv,dt,dtrad,ht,vt,dq,hq,vq,                     &
    265266     &     dth,hth,vth,dr,hr,vr,sens,flat,ts,ustar,uw,vw,q1,q2)
     267        USE netcdf, ONLY: nf90_get_var, nf90_strerror, nf90_inq_varid, nf90_inquire_dimension, nf90_noerr, &
     268                nf90_inq_dimid, nf90_nowrite
    266269
    267270!program reading forcing of the case study
    268       USE netcdf, ONLY: nf90_get_var
    269271      implicit none
    270       INCLUDE "netcdf.inc"
    271272
    272273      integer ntime,nlevel
     
    297298      integer var3didin(nbvar3d)
    298299
    299        ierr=NF_INQ_VARID(nid,"zz",var3didin(1))
    300          if(ierr/=NF_NOERR) then
    301            write(*,*) NF_STRERROR(ierr)
     300       ierr=nf90_inq_varid(nid,"zz",var3didin(1))
     301         if(ierr/=nf90_noerr) then
     302           write(*,*) nf90_strerror(ierr)
    302303           stop 'lev'
    303304         endif
    304305     
    305       ierr=NF_INQ_VARID(nid,"pp",var3didin(2))
    306          if(ierr/=NF_NOERR) then
    307            write(*,*) NF_STRERROR(ierr)
     306      ierr=nf90_inq_varid(nid,"pp",var3didin(2))
     307         if(ierr/=nf90_noerr) then
     308           write(*,*) nf90_strerror(ierr)
    308309           stop 'plev'
    309310         endif
    310311
    311312
    312       ierr=NF_INQ_VARID(nid,"temp",var3didin(3))
    313          if(ierr/=NF_NOERR) then
    314            write(*,*) NF_STRERROR(ierr)
     313      ierr=nf90_inq_varid(nid,"temp",var3didin(3))
     314         if(ierr/=nf90_noerr) then
     315           write(*,*) nf90_strerror(ierr)
    315316           stop 'temp'
    316317         endif
    317318
    318       ierr=NF_INQ_VARID(nid,"qv",var3didin(4))
    319          if(ierr/=NF_NOERR) then
    320            write(*,*) NF_STRERROR(ierr)
     319      ierr=nf90_inq_varid(nid,"qv",var3didin(4))
     320         if(ierr/=nf90_noerr) then
     321           write(*,*) nf90_strerror(ierr)
    321322           stop 'qv'
    322323         endif
    323324
    324       ierr=NF_INQ_VARID(nid,"rh",var3didin(5))
    325          if(ierr/=NF_NOERR) then
    326            write(*,*) NF_STRERROR(ierr)
     325      ierr=nf90_inq_varid(nid,"rh",var3didin(5))
     326         if(ierr/=nf90_noerr) then
     327           write(*,*) nf90_strerror(ierr)
    327328           stop 'rh'
    328329         endif
    329330
    330       ierr=NF_INQ_VARID(nid,"theta",var3didin(6))
    331          if(ierr/=NF_NOERR) then
    332            write(*,*) NF_STRERROR(ierr)
     331      ierr=nf90_inq_varid(nid,"theta",var3didin(6))
     332         if(ierr/=nf90_noerr) then
     333           write(*,*) nf90_strerror(ierr)
    333334           stop 'theta'
    334335         endif
    335336
    336       ierr=NF_INQ_VARID(nid,"rv",var3didin(7))
    337          if(ierr/=NF_NOERR) then
    338            write(*,*) NF_STRERROR(ierr)
     337      ierr=nf90_inq_varid(nid,"rv",var3didin(7))
     338         if(ierr/=nf90_noerr) then
     339           write(*,*) nf90_strerror(ierr)
    339340           stop 'rv'
    340341         endif
    341342
    342343
    343       ierr=NF_INQ_VARID(nid,"u",var3didin(8))
    344          if(ierr/=NF_NOERR) then
    345            write(*,*) NF_STRERROR(ierr)
     344      ierr=nf90_inq_varid(nid,"u",var3didin(8))
     345         if(ierr/=nf90_noerr) then
     346           write(*,*) nf90_strerror(ierr)
    346347           stop 'u'
    347348         endif
    348349
    349       ierr=NF_INQ_VARID(nid,"v",var3didin(9))
    350          if(ierr/=NF_NOERR) then
    351            write(*,*) NF_STRERROR(ierr)
     350      ierr=nf90_inq_varid(nid,"v",var3didin(9))
     351         if(ierr/=nf90_noerr) then
     352           write(*,*) nf90_strerror(ierr)
    352353           stop 'v'
    353354         endif
    354355
    355        ierr=NF_INQ_VARID(nid,"ug",var3didin(10))
    356          if(ierr/=NF_NOERR) then
    357            write(*,*) NF_STRERROR(ierr)
     356       ierr=nf90_inq_varid(nid,"ug",var3didin(10))
     357         if(ierr/=nf90_noerr) then
     358           write(*,*) nf90_strerror(ierr)
    358359           stop 'ug'
    359360         endif
    360361
    361       ierr=NF_INQ_VARID(nid,"vg",var3didin(11))
    362          if(ierr/=NF_NOERR) then
    363            write(*,*) NF_STRERROR(ierr)
     362      ierr=nf90_inq_varid(nid,"vg",var3didin(11))
     363         if(ierr/=nf90_noerr) then
     364           write(*,*) nf90_strerror(ierr)
    364365           stop 'vg'
    365366         endif
    366367
    367       ierr=NF_INQ_VARID(nid,"w",var3didin(12))
    368          if(ierr/=NF_NOERR) then
    369            write(*,*) NF_STRERROR(ierr)
     368      ierr=nf90_inq_varid(nid,"w",var3didin(12))
     369         if(ierr/=nf90_noerr) then
     370           write(*,*) nf90_strerror(ierr)
    370371           stop 'w'
    371372         endif
    372373
    373       ierr=NF_INQ_VARID(nid,"advu",var3didin(13))
    374          if(ierr/=NF_NOERR) then
    375            write(*,*) NF_STRERROR(ierr)
     374      ierr=nf90_inq_varid(nid,"advu",var3didin(13))
     375         if(ierr/=nf90_noerr) then
     376           write(*,*) nf90_strerror(ierr)
    376377           stop 'advu'
    377378         endif
    378379
    379       ierr=NF_INQ_VARID(nid,"hu",var3didin(14))
    380          if(ierr/=NF_NOERR) then
    381            write(*,*) NF_STRERROR(ierr)
     380      ierr=nf90_inq_varid(nid,"hu",var3didin(14))
     381         if(ierr/=nf90_noerr) then
     382           write(*,*) nf90_strerror(ierr)
    382383           stop 'hu'
    383384         endif
    384385
    385        ierr=NF_INQ_VARID(nid,"vu",var3didin(15))
    386          if(ierr/=NF_NOERR) then
    387            write(*,*) NF_STRERROR(ierr)
     386       ierr=nf90_inq_varid(nid,"vu",var3didin(15))
     387         if(ierr/=nf90_noerr) then
     388           write(*,*) nf90_strerror(ierr)
    388389           stop 'vu'
    389390         endif
    390391
    391        ierr=NF_INQ_VARID(nid,"advv",var3didin(16))
    392          if(ierr/=NF_NOERR) then
    393            write(*,*) NF_STRERROR(ierr)
     392       ierr=nf90_inq_varid(nid,"advv",var3didin(16))
     393         if(ierr/=nf90_noerr) then
     394           write(*,*) nf90_strerror(ierr)
    394395           stop 'advv'
    395396         endif
    396397
    397       ierr=NF_INQ_VARID(nid,"hv",var3didin(17))
    398          if(ierr/=NF_NOERR) then
    399            write(*,*) NF_STRERROR(ierr)
     398      ierr=nf90_inq_varid(nid,"hv",var3didin(17))
     399         if(ierr/=nf90_noerr) then
     400           write(*,*) nf90_strerror(ierr)
    400401           stop 'hv'
    401402         endif
    402403
    403        ierr=NF_INQ_VARID(nid,"vv",var3didin(18))
    404          if(ierr/=NF_NOERR) then
    405            write(*,*) NF_STRERROR(ierr)
     404       ierr=nf90_inq_varid(nid,"vv",var3didin(18))
     405         if(ierr/=nf90_noerr) then
     406           write(*,*) nf90_strerror(ierr)
    406407           stop 'vv'
    407408         endif
    408409
    409       ierr=NF_INQ_VARID(nid,"advT",var3didin(19))
    410          if(ierr/=NF_NOERR) then
    411            write(*,*) NF_STRERROR(ierr)
     410      ierr=nf90_inq_varid(nid,"advT",var3didin(19))
     411         if(ierr/=nf90_noerr) then
     412           write(*,*) nf90_strerror(ierr)
    412413           stop 'advT'
    413414         endif
    414415
    415       ierr=NF_INQ_VARID(nid,"hT",var3didin(20))
    416          if(ierr/=NF_NOERR) then
    417            write(*,*) NF_STRERROR(ierr)
     416      ierr=nf90_inq_varid(nid,"hT",var3didin(20))
     417         if(ierr/=nf90_noerr) then
     418           write(*,*) nf90_strerror(ierr)
    418419           stop 'hT'
    419420         endif
    420421
    421       ierr=NF_INQ_VARID(nid,"vT",var3didin(21))
    422          if(ierr/=NF_NOERR) then
    423            write(*,*) NF_STRERROR(ierr)
     422      ierr=nf90_inq_varid(nid,"vT",var3didin(21))
     423         if(ierr/=nf90_noerr) then
     424           write(*,*) nf90_strerror(ierr)
    424425           stop 'vT'
    425426         endif
    426427
    427       ierr=NF_INQ_VARID(nid,"advq",var3didin(22))
    428          if(ierr/=NF_NOERR) then
    429            write(*,*) NF_STRERROR(ierr)
     428      ierr=nf90_inq_varid(nid,"advq",var3didin(22))
     429         if(ierr/=nf90_noerr) then
     430           write(*,*) nf90_strerror(ierr)
    430431           stop 'advq'
    431432         endif
    432433     
    433       ierr=NF_INQ_VARID(nid,"hq",var3didin(23))
    434          if(ierr/=NF_NOERR) then
    435            write(*,*) NF_STRERROR(ierr)
     434      ierr=nf90_inq_varid(nid,"hq",var3didin(23))
     435         if(ierr/=nf90_noerr) then
     436           write(*,*) nf90_strerror(ierr)
    436437           stop 'hq'
    437438         endif
    438439
    439       ierr=NF_INQ_VARID(nid,"vq",var3didin(24))
    440          if(ierr/=NF_NOERR) then
    441            write(*,*) NF_STRERROR(ierr)
     440      ierr=nf90_inq_varid(nid,"vq",var3didin(24))
     441         if(ierr/=nf90_noerr) then
     442           write(*,*) nf90_strerror(ierr)
    442443           stop 'vq'
    443444         endif
    444445
    445       ierr=NF_INQ_VARID(nid,"advth",var3didin(25))
    446          if(ierr/=NF_NOERR) then
    447            write(*,*) NF_STRERROR(ierr)
     446      ierr=nf90_inq_varid(nid,"advth",var3didin(25))
     447         if(ierr/=nf90_noerr) then
     448           write(*,*) nf90_strerror(ierr)
    448449           stop 'advth'
    449450         endif
    450451
    451       ierr=NF_INQ_VARID(nid,"hth",var3didin(26))
    452          if(ierr/=NF_NOERR) then
    453            write(*,*) NF_STRERROR(ierr)
     452      ierr=nf90_inq_varid(nid,"hth",var3didin(26))
     453         if(ierr/=nf90_noerr) then
     454           write(*,*) nf90_strerror(ierr)
    454455           stop 'hth'
    455456         endif
    456457
    457       ierr=NF_INQ_VARID(nid,"vth",var3didin(27))
    458          if(ierr/=NF_NOERR) then
    459            write(*,*) NF_STRERROR(ierr)
     458      ierr=nf90_inq_varid(nid,"vth",var3didin(27))
     459         if(ierr/=nf90_noerr) then
     460           write(*,*) nf90_strerror(ierr)
    460461           stop 'vth'
    461462         endif
    462463
    463       ierr=NF_INQ_VARID(nid,"advr",var3didin(28))
    464          if(ierr/=NF_NOERR) then
    465            write(*,*) NF_STRERROR(ierr)
     464      ierr=nf90_inq_varid(nid,"advr",var3didin(28))
     465         if(ierr/=nf90_noerr) then
     466           write(*,*) nf90_strerror(ierr)
    466467           stop 'advr'
    467468         endif
    468469     
    469       ierr=NF_INQ_VARID(nid,"hr",var3didin(29))
    470          if(ierr/=NF_NOERR) then
    471            write(*,*) NF_STRERROR(ierr)
     470      ierr=nf90_inq_varid(nid,"hr",var3didin(29))
     471         if(ierr/=nf90_noerr) then
     472           write(*,*) nf90_strerror(ierr)
    472473           stop 'hr'
    473474         endif
    474475
    475       ierr=NF_INQ_VARID(nid,"vr",var3didin(30))
    476          if(ierr/=NF_NOERR) then
    477            write(*,*) NF_STRERROR(ierr)
     476      ierr=nf90_inq_varid(nid,"vr",var3didin(30))
     477         if(ierr/=nf90_noerr) then
     478           write(*,*) nf90_strerror(ierr)
    478479           stop 'vr'
    479480         endif
    480481
    481       ierr=NF_INQ_VARID(nid,"radT",var3didin(31))
    482          if(ierr/=NF_NOERR) then
    483            write(*,*) NF_STRERROR(ierr)
     482      ierr=nf90_inq_varid(nid,"radT",var3didin(31))
     483         if(ierr/=nf90_noerr) then
     484           write(*,*) nf90_strerror(ierr)
    484485           stop 'radT'
    485486         endif
    486487
    487       ierr=NF_INQ_VARID(nid,"sens",var3didin(32))
    488          if(ierr/=NF_NOERR) then
    489            write(*,*) NF_STRERROR(ierr)
     488      ierr=nf90_inq_varid(nid,"sens",var3didin(32))
     489         if(ierr/=nf90_noerr) then
     490           write(*,*) nf90_strerror(ierr)
    490491           stop 'sens'
    491492         endif
    492493
    493       ierr=NF_INQ_VARID(nid,"flat",var3didin(33))
    494          if(ierr/=NF_NOERR) then
    495            write(*,*) NF_STRERROR(ierr)
     494      ierr=nf90_inq_varid(nid,"flat",var3didin(33))
     495         if(ierr/=nf90_noerr) then
     496           write(*,*) nf90_strerror(ierr)
    496497           stop 'flat'
    497498         endif
    498499
    499       ierr=NF_INQ_VARID(nid,"ts",var3didin(34))
    500          if(ierr/=NF_NOERR) then
    501            write(*,*) NF_STRERROR(ierr)
     500      ierr=nf90_inq_varid(nid,"ts",var3didin(34))
     501         if(ierr/=nf90_noerr) then
     502           write(*,*) nf90_strerror(ierr)
    502503           stop 'ts'
    503504         endif
    504505
    505       ierr=NF_INQ_VARID(nid,"ustar",var3didin(35))
    506          if(ierr/=NF_NOERR) then
    507            write(*,*) NF_STRERROR(ierr)
     506      ierr=nf90_inq_varid(nid,"ustar",var3didin(35))
     507         if(ierr/=nf90_noerr) then
     508           write(*,*) nf90_strerror(ierr)
    508509           stop 'ustar'
    509510         endif
    510511
    511       ierr=NF_INQ_VARID(nid,"uw",var3didin(36))
    512          if(ierr/=NF_NOERR) then
    513            write(*,*) NF_STRERROR(ierr)
     512      ierr=nf90_inq_varid(nid,"uw",var3didin(36))
     513         if(ierr/=nf90_noerr) then
     514           write(*,*) nf90_strerror(ierr)
    514515           stop 'uw'
    515516         endif
    516517
    517       ierr=NF_INQ_VARID(nid,"vw",var3didin(37))
    518          if(ierr/=NF_NOERR) then
    519            write(*,*) NF_STRERROR(ierr)
     518      ierr=nf90_inq_varid(nid,"vw",var3didin(37))
     519         if(ierr/=nf90_noerr) then
     520           write(*,*) nf90_strerror(ierr)
    520521           stop 'vw'
    521522         endif
    522523
    523       ierr=NF_INQ_VARID(nid,"q1",var3didin(38))
    524          if(ierr/=NF_NOERR) then
    525            write(*,*) NF_STRERROR(ierr)
     524      ierr=nf90_inq_varid(nid,"q1",var3didin(38))
     525         if(ierr/=nf90_noerr) then
     526           write(*,*) nf90_strerror(ierr)
    526527           stop 'q1'
    527528         endif
    528529
    529       ierr=NF_INQ_VARID(nid,"q2",var3didin(39))
    530          if(ierr/=NF_NOERR) then
    531            write(*,*) NF_STRERROR(ierr)
     530      ierr=nf90_inq_varid(nid,"q2",var3didin(39))
     531         if(ierr/=nf90_noerr) then
     532           write(*,*) nf90_strerror(ierr)
    532533           stop 'q2'
    533534         endif
    534535 
    535536         ierr = nf90_get_var(nid, var3didin(1), zz)
    536          if(ierr/=NF_NOERR) then
    537             write(*,*) NF_STRERROR(ierr)
     537         if(ierr/=nf90_noerr) then
     538            write(*,*) nf90_strerror(ierr)
    538539            stop "getvarup"
    539540         endif
     
    541542
    542543         ierr = nf90_get_var(nid, var3didin(2), pp)
    543          if(ierr/=NF_NOERR) then
    544             write(*,*) NF_STRERROR(ierr)
     544         if(ierr/=nf90_noerr) then
     545            write(*,*) nf90_strerror(ierr)
    545546            stop "getvarup"
    546547         endif
     
    549550
    550551         ierr = nf90_get_var(nid, var3didin(3), temp)
    551          if(ierr/=NF_NOERR) then
    552             write(*,*) NF_STRERROR(ierr)
     552         if(ierr/=nf90_noerr) then
     553            write(*,*) nf90_strerror(ierr)
    553554            stop "getvarup"
    554555         endif
     
    556557
    557558         ierr = nf90_get_var(nid, var3didin(4), qv)
    558          if(ierr/=NF_NOERR) then
    559             write(*,*) NF_STRERROR(ierr)
     559         if(ierr/=nf90_noerr) then
     560            write(*,*) nf90_strerror(ierr)
    560561            stop "getvarup"
    561562         endif
     
    563564 
    564565         ierr = nf90_get_var(nid, var3didin(5), rh)
    565          if(ierr/=NF_NOERR) then
    566             write(*,*) NF_STRERROR(ierr)
     566         if(ierr/=nf90_noerr) then
     567            write(*,*) nf90_strerror(ierr)
    567568            stop "getvarup"
    568569         endif
     
    570571
    571572         ierr = nf90_get_var(nid, var3didin(6), theta)
    572          if(ierr/=NF_NOERR) then
    573             write(*,*) NF_STRERROR(ierr)
     573         if(ierr/=nf90_noerr) then
     574            write(*,*) nf90_strerror(ierr)
    574575            stop "getvarup"
    575576         endif
     
    577578
    578579         ierr = nf90_get_var(nid, var3didin(7), rv)
    579          if(ierr/=NF_NOERR) then
    580             write(*,*) NF_STRERROR(ierr)
     580         if(ierr/=nf90_noerr) then
     581            write(*,*) nf90_strerror(ierr)
    581582            stop "getvarup"
    582583         endif
     
    584585
    585586         ierr = nf90_get_var(nid, var3didin(8), u)
    586          if(ierr/=NF_NOERR) then
    587             write(*,*) NF_STRERROR(ierr)
     587         if(ierr/=nf90_noerr) then
     588            write(*,*) nf90_strerror(ierr)
    588589            stop "getvarup"
    589590         endif
     
    591592
    592593         ierr = nf90_get_var(nid, var3didin(9), v)
    593          if(ierr/=NF_NOERR) then
    594             write(*,*) NF_STRERROR(ierr)
     594         if(ierr/=nf90_noerr) then
     595            write(*,*) nf90_strerror(ierr)
    595596            stop "getvarup"
    596597         endif
     
    598599
    599600         ierr = nf90_get_var(nid, var3didin(10), ug)
    600          if(ierr/=NF_NOERR) then
    601             write(*,*) NF_STRERROR(ierr)
     601         if(ierr/=nf90_noerr) then
     602            write(*,*) nf90_strerror(ierr)
    602603            stop "getvarup"
    603604         endif
     
    605606
    606607         ierr = nf90_get_var(nid, var3didin(11), vg)
    607          if(ierr/=NF_NOERR) then
    608             write(*,*) NF_STRERROR(ierr)
     608         if(ierr/=nf90_noerr) then
     609            write(*,*) nf90_strerror(ierr)
    609610            stop "getvarup"
    610611         endif
     
    612613
    613614         ierr = nf90_get_var(nid, var3didin(12), w)
    614          if(ierr/=NF_NOERR) then
    615             write(*,*) NF_STRERROR(ierr)
     615         if(ierr/=nf90_noerr) then
     616            write(*,*) nf90_strerror(ierr)
    616617            stop "getvarup"
    617618         endif
     
    619620
    620621         ierr = nf90_get_var(nid, var3didin(13), du)
    621          if(ierr/=NF_NOERR) then
    622             write(*,*) NF_STRERROR(ierr)
     622         if(ierr/=nf90_noerr) then
     623            write(*,*) nf90_strerror(ierr)
    623624            stop "getvarup"
    624625         endif
     
    626627
    627628         ierr = nf90_get_var(nid, var3didin(14), hu)
    628          if(ierr/=NF_NOERR) then
    629             write(*,*) NF_STRERROR(ierr)
     629         if(ierr/=nf90_noerr) then
     630            write(*,*) nf90_strerror(ierr)
    630631            stop "getvarup"
    631632         endif
     
    633634
    634635         ierr = nf90_get_var(nid, var3didin(15), vu)
    635          if(ierr/=NF_NOERR) then
    636             write(*,*) NF_STRERROR(ierr)
     636         if(ierr/=nf90_noerr) then
     637            write(*,*) nf90_strerror(ierr)
    637638            stop "getvarup"
    638639         endif
     
    640641
    641642         ierr = nf90_get_var(nid, var3didin(16), dv)
    642          if(ierr/=NF_NOERR) then
    643             write(*,*) NF_STRERROR(ierr)
     643         if(ierr/=nf90_noerr) then
     644            write(*,*) nf90_strerror(ierr)
    644645            stop "getvarup"
    645646         endif
     
    647648
    648649         ierr = nf90_get_var(nid, var3didin(17), hv)
    649          if(ierr/=NF_NOERR) then
    650             write(*,*) NF_STRERROR(ierr)
     650         if(ierr/=nf90_noerr) then
     651            write(*,*) nf90_strerror(ierr)
    651652            stop "getvarup"
    652653         endif
     
    654655
    655656         ierr = nf90_get_var(nid, var3didin(18), vv)
    656          if(ierr/=NF_NOERR) then
    657             write(*,*) NF_STRERROR(ierr)
     657         if(ierr/=nf90_noerr) then
     658            write(*,*) nf90_strerror(ierr)
    658659            stop "getvarup"
    659660         endif
     
    661662
    662663         ierr = nf90_get_var(nid, var3didin(19), dt)
    663          if(ierr/=NF_NOERR) then
    664             write(*,*) NF_STRERROR(ierr)
     664         if(ierr/=nf90_noerr) then
     665            write(*,*) nf90_strerror(ierr)
    665666            stop "getvarup"
    666667         endif
     
    668669
    669670         ierr = nf90_get_var(nid, var3didin(20), ht)
    670          if(ierr/=NF_NOERR) then
    671             write(*,*) NF_STRERROR(ierr)
     671         if(ierr/=nf90_noerr) then
     672            write(*,*) nf90_strerror(ierr)
    672673            stop "getvarup"
    673674         endif
     
    675676
    676677         ierr = nf90_get_var(nid, var3didin(21), vt)
    677          if(ierr/=NF_NOERR) then
    678             write(*,*) NF_STRERROR(ierr)
     678         if(ierr/=nf90_noerr) then
     679            write(*,*) nf90_strerror(ierr)
    679680            stop "getvarup"
    680681         endif
     
    682683
    683684         ierr = nf90_get_var(nid, var3didin(22), dq)
    684          if(ierr/=NF_NOERR) then
    685             write(*,*) NF_STRERROR(ierr)
     685         if(ierr/=nf90_noerr) then
     686            write(*,*) nf90_strerror(ierr)
    686687            stop "getvarup"
    687688         endif
     
    689690
    690691         ierr = nf90_get_var(nid, var3didin(23), hq)
    691          if(ierr/=NF_NOERR) then
    692             write(*,*) NF_STRERROR(ierr)
     692         if(ierr/=nf90_noerr) then
     693            write(*,*) nf90_strerror(ierr)
    693694            stop "getvarup"
    694695         endif
     
    696697
    697698         ierr = nf90_get_var(nid, var3didin(24), vq)
    698          if(ierr/=NF_NOERR) then
    699             write(*,*) NF_STRERROR(ierr)
     699         if(ierr/=nf90_noerr) then
     700            write(*,*) nf90_strerror(ierr)
    700701            stop "getvarup"
    701702         endif
     
    703704
    704705         ierr = nf90_get_var(nid, var3didin(25), dth)
    705          if(ierr/=NF_NOERR) then
    706             write(*,*) NF_STRERROR(ierr)
     706         if(ierr/=nf90_noerr) then
     707            write(*,*) nf90_strerror(ierr)
    707708            stop "getvarup"
    708709         endif
     
    710711
    711712         ierr = nf90_get_var(nid, var3didin(26), hth)
    712          if(ierr/=NF_NOERR) then
    713             write(*,*) NF_STRERROR(ierr)
     713         if(ierr/=nf90_noerr) then
     714            write(*,*) nf90_strerror(ierr)
    714715            stop "getvarup"
    715716         endif
     
    717718
    718719         ierr = nf90_get_var(nid, var3didin(27), vth)
    719          if(ierr/=NF_NOERR) then
    720             write(*,*) NF_STRERROR(ierr)
     720         if(ierr/=nf90_noerr) then
     721            write(*,*) nf90_strerror(ierr)
    721722            stop "getvarup"
    722723         endif
     
    724725
    725726         ierr = nf90_get_var(nid, var3didin(28), dr)
    726          if(ierr/=NF_NOERR) then
    727             write(*,*) NF_STRERROR(ierr)
     727         if(ierr/=nf90_noerr) then
     728            write(*,*) nf90_strerror(ierr)
    728729            stop "getvarup"
    729730         endif
     
    731732
    732733         ierr = nf90_get_var(nid, var3didin(29), hr)
    733          if(ierr/=NF_NOERR) then
    734             write(*,*) NF_STRERROR(ierr)
     734         if(ierr/=nf90_noerr) then
     735            write(*,*) nf90_strerror(ierr)
    735736            stop "getvarup"
    736737         endif
     
    738739
    739740         ierr = nf90_get_var(nid, var3didin(30), vr)
    740          if(ierr/=NF_NOERR) then
    741             write(*,*) NF_STRERROR(ierr)
     741         if(ierr/=nf90_noerr) then
     742            write(*,*) nf90_strerror(ierr)
    742743            stop "getvarup"
    743744         endif
     
    745746
    746747         ierr = nf90_get_var(nid, var3didin(31), dtrad)
    747          if(ierr/=NF_NOERR) then
    748             write(*,*) NF_STRERROR(ierr)
     748         if(ierr/=nf90_noerr) then
     749            write(*,*) nf90_strerror(ierr)
    749750            stop "getvarup"
    750751         endif
     
    752753
    753754         ierr = nf90_get_var(nid, var3didin(32), sens)
    754          if(ierr/=NF_NOERR) then
    755             write(*,*) NF_STRERROR(ierr)
     755         if(ierr/=nf90_noerr) then
     756            write(*,*) nf90_strerror(ierr)
    756757            stop "getvarup"
    757758         endif
     
    759760
    760761         ierr = nf90_get_var(nid, var3didin(33), flat)
    761          if(ierr/=NF_NOERR) then
    762             write(*,*) NF_STRERROR(ierr)
     762         if(ierr/=nf90_noerr) then
     763            write(*,*) nf90_strerror(ierr)
    763764            stop "getvarup"
    764765         endif
     
    766767
    767768         ierr = nf90_get_var(nid, var3didin(34), ts)
    768          if(ierr/=NF_NOERR) then
    769             write(*,*) NF_STRERROR(ierr)
     769         if(ierr/=nf90_noerr) then
     770            write(*,*) nf90_strerror(ierr)
    770771            stop "getvarup"
    771772         endif
     
    773774
    774775         ierr = nf90_get_var(nid, var3didin(35), ustar)
    775          if(ierr/=NF_NOERR) then
    776             write(*,*) NF_STRERROR(ierr)
     776         if(ierr/=nf90_noerr) then
     777            write(*,*) nf90_strerror(ierr)
    777778            stop "getvarup"
    778779         endif
     
    780781
    781782         ierr = nf90_get_var(nid, var3didin(36), uw)
    782          if(ierr/=NF_NOERR) then
    783             write(*,*) NF_STRERROR(ierr)
     783         if(ierr/=nf90_noerr) then
     784            write(*,*) nf90_strerror(ierr)
    784785            stop "getvarup"
    785786         endif
     
    787788
    788789         ierr = nf90_get_var(nid, var3didin(37), vw)
    789          if(ierr/=NF_NOERR) then
    790             write(*,*) NF_STRERROR(ierr)
     790         if(ierr/=nf90_noerr) then
     791            write(*,*) nf90_strerror(ierr)
    791792            stop "getvarup"
    792793         endif
     
    794795
    795796         ierr = nf90_get_var(nid, var3didin(38), q1)
    796          if(ierr/=NF_NOERR) then
    797             write(*,*) NF_STRERROR(ierr)
     797         if(ierr/=nf90_noerr) then
     798            write(*,*) nf90_strerror(ierr)
    798799            stop "getvarup"
    799800         endif
     
    801802
    802803         ierr = nf90_get_var(nid, var3didin(39), q2)
    803          if(ierr/=NF_NOERR) then
    804             write(*,*) NF_STRERROR(ierr)
     804         if(ierr/=nf90_noerr) then
     805            write(*,*) nf90_strerror(ierr)
    805806            stop "getvarup"
    806807         endif
  • LMDZ6/trunk/libf/phylmd/dyn1d/mod_1D_cases_read2.f90

    r5268 r5270  
    33!
    44MODULE mod_1D_cases_read2
    5 
     5  USE netcdf, ONLY: nf90_get_var, nf90_noerr, nf90_inq_varid, nf90_inquire_dimension, nf90_strerror, nf90_open, &
     6          nf90_nowrite, nf90_inq_dimid
    67!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    78  !Declarations specifiques au cas standard
     
    8182    implicit none
    8283
    83     INCLUDE "netcdf.inc"
    84 
    8584    INTEGER nid,rid,ierr
    8685    INTEGER ii,jj
     
    8887    fich_cas='setup/cas.nc'
    8988    print*,'fich_cas ',fich_cas
    90     ierr = NF_OPEN(fich_cas,NF_NOWRITE,nid)
    91     print*,'fich_cas,NF_NOWRITE,nid ',fich_cas,NF_NOWRITE,nid
    92     if (ierr.NE.NF_NOERR) then
     89    ierr = nf90_open(fich_cas,nf90_nowrite,nid)
     90    print*,'fich_cas,nf90_nowrite,nid ',fich_cas,nf90_nowrite,nid
     91    if (ierr.NE.nf90_noerr) then
    9392       write(*,*) 'ERROR: GROS Pb opening forcings nc file '
    94        write(*,*) NF_STRERROR(ierr)
     93       write(*,*) nf90_strerror(ierr)
    9594       stop ""
    9695    endif
    9796    !.......................................................................
    98     ierr=NF_INQ_DIMID(nid,'lat',rid)
    99     IF (ierr.NE.NF_NOERR) THEN
     97    ierr=nf90_inq_dimid(nid,'lat',rid)
     98    IF (ierr.NE.nf90_noerr) THEN
    10099       print*, 'Oh probleme lecture dimension lat'
    101100    ENDIF
    102     ierr=NF_INQ_DIMLEN(nid,rid,ii)
     101    ierr=nf90_inquire_dimension(nid,rid,len=ii)
    103102    print*,'OK1 nid,rid,lat',nid,rid,ii
    104103    !.......................................................................
    105     ierr=NF_INQ_DIMID(nid,'lon',rid)
    106     IF (ierr.NE.NF_NOERR) THEN
     104    ierr=nf90_inq_dimid(nid,'lon',rid)
     105    IF (ierr.NE.nf90_noerr) THEN
    107106       print*, 'Oh probleme lecture dimension lon'
    108107    ENDIF
    109     ierr=NF_INQ_DIMLEN(nid,rid,jj)
     108    ierr=nf90_inquire_dimension(nid,rid,len=jj)
    110109    print*,'OK2 nid,rid,lat',nid,rid,jj
    111110    !.......................................................................
    112     ierr=NF_INQ_DIMID(nid,'lev',rid)
    113     IF (ierr.NE.NF_NOERR) THEN
     111    ierr=nf90_inq_dimid(nid,'lev',rid)
     112    IF (ierr.NE.nf90_noerr) THEN
    114113       print*, 'Oh probleme lecture dimension zz'
    115114    ENDIF
    116     ierr=NF_INQ_DIMLEN(nid,rid,nlev_cas)
     115    ierr=nf90_inquire_dimension(nid,rid,len=nlev_cas)
    117116    print*,'OK3 nid,rid,nlev_cas',nid,rid,nlev_cas
    118117    !.......................................................................
    119     ierr=NF_INQ_DIMID(nid,'time',rid)
     118    ierr=nf90_inq_dimid(nid,'time',rid)
    120119    print*,'nid,rid',nid,rid
    121120    nt_cas=0
    122     IF (ierr.NE.NF_NOERR) THEN
     121    IF (ierr.NE.nf90_noerr) THEN
    123122       stop 'probleme lecture dimension sens'
    124123    ENDIF
    125     ierr=NF_INQ_DIMLEN(nid,rid,nt_cas)
     124    ierr=nf90_inquire_dimension(nid,rid,len=nt_cas)
    126125    print*,'OK4 nid,rid,nt_cas',nid,rid,nt_cas
    127126
     
    192191    implicit none
    193192
    194     INCLUDE "netcdf.inc"
    195 
    196193    INTEGER nid,rid,ierr
    197194    INTEGER ii,jj
     
    199196    fich_cas='setup/cas.nc'
    200197    print*,'fich_cas ',fich_cas
    201     ierr = NF_OPEN(fich_cas,NF_NOWRITE,nid)
    202     print*,'fich_cas,NF_NOWRITE,nid ',fich_cas,NF_NOWRITE,nid
    203     if (ierr.NE.NF_NOERR) then
     198    ierr = nf90_open(fich_cas,nf90_nowrite,nid)
     199    print*,'fich_cas,nf90_nowrite,nid ',fich_cas,nf90_nowrite,nid
     200    if (ierr.NE.nf90_noerr) then
    204201       write(*,*) 'ERROR: GROS Pb opening forcings nc file '
    205        write(*,*) NF_STRERROR(ierr)
     202       write(*,*) nf90_strerror(ierr)
    206203       stop ""
    207204    endif
    208205    !.......................................................................
    209     ierr=NF_INQ_DIMID(nid,'lat',rid)
    210     IF (ierr.NE.NF_NOERR) THEN
     206    ierr=nf90_inq_dimid(nid,'lat',rid)
     207    IF (ierr.NE.nf90_noerr) THEN
    211208       print*, 'Oh probleme lecture dimension lat'
    212209    ENDIF
    213     ierr=NF_INQ_DIMLEN(nid,rid,ii)
     210    ierr=nf90_inquire_dimension(nid,rid,len=ii)
    214211    print*,'OK1 read2: nid,rid,lat',nid,rid,ii
    215212    !.......................................................................
    216     ierr=NF_INQ_DIMID(nid,'lon',rid)
    217     IF (ierr.NE.NF_NOERR) THEN
     213    ierr=nf90_inq_dimid(nid,'lon',rid)
     214    IF (ierr.NE.nf90_noerr) THEN
    218215       print*, 'Oh probleme lecture dimension lon'
    219216    ENDIF
    220     ierr=NF_INQ_DIMLEN(nid,rid,jj)
     217    ierr=nf90_inquire_dimension(nid,rid,len=jj)
    221218    print*,'OK2 read2: nid,rid,lat',nid,rid,jj
    222219    !.......................................................................
    223     ierr=NF_INQ_DIMID(nid,'nlev',rid)
    224     IF (ierr.NE.NF_NOERR) THEN
     220    ierr=nf90_inq_dimid(nid,'nlev',rid)
     221    IF (ierr.NE.nf90_noerr) THEN
    225222       print*, 'Oh probleme lecture dimension nlev'
    226223    ENDIF
    227     ierr=NF_INQ_DIMLEN(nid,rid,nlev_cas)
     224    ierr=nf90_inquire_dimension(nid,rid,len=nlev_cas)
    228225    print*,'OK3 read2: nid,rid,nlev_cas',nid,rid,nlev_cas
    229226    !.......................................................................
    230     ierr=NF_INQ_DIMID(nid,'time',rid)
     227    ierr=nf90_inq_dimid(nid,'time',rid)
    231228    nt_cas=0
    232     IF (ierr.NE.NF_NOERR) THEN
     229    IF (ierr.NE.nf90_noerr) THEN
    233230       stop 'Oh probleme lecture dimension time'
    234231    ENDIF
    235     ierr=NF_INQ_DIMLEN(nid,rid,nt_cas)
     232    ierr=nf90_inquire_dimension(nid,rid,len=nt_cas)
    236233    print*,'OK4 read2: nid,rid,nt_cas',nid,rid,nt_cas
    237234
     
    319316    use netcdf, only: nf90_get_var
    320317    implicit none
    321 
    322     INCLUDE "netcdf.inc"
    323318    INCLUDE "date_cas.h"
    324319
     
    329324    fich_cas='cas.nc'
    330325    print*,'fich_cas ',fich_cas
    331     ierr = NF_OPEN(fich_cas,NF_NOWRITE,nid)
    332     print*,'fich_cas,NF_NOWRITE,nid ',fich_cas,NF_NOWRITE,nid
    333     if (ierr.NE.NF_NOERR) then
     326    ierr = nf90_open(fich_cas,nf90_nowrite,nid)
     327    print*,'fich_cas,nf90_nowrite,nid ',fich_cas,nf90_nowrite,nid
     328    if (ierr.NE.nf90_noerr) then
    334329       write(*,*) 'ERROR: GROS Pb opening forcings nc file '
    335        write(*,*) NF_STRERROR(ierr)
     330       write(*,*) nf90_strerror(ierr)
    336331       stop ""
    337332    endif
    338333    !.......................................................................
    339     ierr=NF_INQ_DIMID(nid,'lat',rid)
    340     IF (ierr.NE.NF_NOERR) THEN
     334    ierr=nf90_inq_dimid(nid,'lat',rid)
     335    IF (ierr.NE.nf90_noerr) THEN
    341336       print*, 'Oh probleme lecture dimension lat'
    342337    ENDIF
    343     ierr=NF_INQ_DIMLEN(nid,rid,ii)
     338    ierr=nf90_inquire_dimension(nid,rid,len=ii)
    344339    print*,'OK1 read2: nid,rid,lat',nid,rid,ii
    345340    !.......................................................................
    346     ierr=NF_INQ_DIMID(nid,'lon',rid)
    347     IF (ierr.NE.NF_NOERR) THEN
     341    ierr=nf90_inq_dimid(nid,'lon',rid)
     342    IF (ierr.NE.nf90_noerr) THEN
    348343       print*, 'Oh probleme lecture dimension lon'
    349344    ENDIF
    350     ierr=NF_INQ_DIMLEN(nid,rid,jj)
     345    ierr=nf90_inquire_dimension(nid,rid,len=jj)
    351346    print*,'OK2 read2: nid,rid,lat',nid,rid,jj
    352347    !.......................................................................
    353     ierr=NF_INQ_DIMID(nid,'lev',rid)
    354     IF (ierr.NE.NF_NOERR) THEN
     348    ierr=nf90_inq_dimid(nid,'lev',rid)
     349    IF (ierr.NE.nf90_noerr) THEN
    355350       print*, 'Oh probleme lecture dimension nlev'
    356351    ENDIF
    357     ierr=NF_INQ_DIMLEN(nid,rid,nlev_cas)
     352    ierr=nf90_inquire_dimension(nid,rid,len=nlev_cas)
    358353    print*,'OK3 read2: nid,rid,nlev_cas',nid,rid,nlev_cas
    359354    IF ( .NOT. ( nlev_cas > 10 .AND. nlev_cas < 1000 )) THEN
     
    362357    ENDIF
    363358    !.......................................................................
    364     ierr=NF_INQ_DIMID(nid,'time',rid)
     359    ierr=nf90_inq_dimid(nid,'time',rid)
    365360    nt_cas=0
    366     IF (ierr.NE.NF_NOERR) THEN
     361    IF (ierr.NE.nf90_noerr) THEN
    367362       stop 'Oh probleme lecture dimension time'
    368363    ENDIF
    369     ierr=NF_INQ_DIMLEN(nid,rid,nt_cas)
     364    ierr=nf90_inquire_dimension(nid,rid,len=nt_cas)
    370365    print*,'OK4 read2: nid,rid,nt_cas',nid,rid,nt_cas
    371366    ! Lecture de l'axe des temps
    372367    print*,'LECTURE DU TEMPS'
    373     ierr=NF_INQ_VARID(nid,'time',timeid)
    374     if(ierr/=NF_NOERR) then
     368    ierr=nf90_inq_varid(nid,'time',timeid)
     369    if(ierr/=nf90_noerr) then
    375370       print *,'Variable time manquante dans cas.nc:'
    376        ierr=NF_NOERR
     371       ierr=nf90_noerr
    377372    else
    378373       allocate(time_val(nt_cas))
    379374       ierr = NF90_GET_VAR(nid,timeid,time_val)
    380        if(ierr/=NF_NOERR) then
     375       if(ierr/=nf90_noerr) then
    381376          print *,'Pb a la lecture de time cas.nc: '
    382377       endif
     
    541536
    542537  !program reading forcing of the case study
    543   use netcdf, only: nf90_get_var
     538  USE netcdf, ONLY: nf90_get_var, nf90_noerr, nf90_inq_varid, nf90_inquire_dimension, nf90_strerror, nf90_open, &
     539          nf90_nowrite, nf90_inq_dimid
    544540  implicit none
    545   INCLUDE "netcdf.inc"
    546541
    547542  integer ntime,nlevel
     
    581576  enddo
    582577  do i=1,nbvar3d
    583      ierr=NF_INQ_VARID(nid,name_var(i),var3didin(i))
     578     ierr=nf90_inq_varid(nid,name_var(i),var3didin(i))
    584579     print *,'ierr=',i,ierr,name_var(i),var3didin(i)
    585      if(ierr/=NF_NOERR) then
     580     if(ierr/=nf90_noerr) then
    586581        print *,'Variable manquante dans cas.nc:',name_var(i)
    587582     endif
     
    592587        ierr = NF90_GET_VAR(nid,var3didin(i),resul, count = [1, 1, nlevel, ntime])
    593588        print *,'Dans read_cas2, on a lu ',ierr,var3didin(i),name_var(i)
    594         if(ierr/=NF_NOERR) then
     589        if(ierr/=nf90_noerr) then
    595590           print *,'Pb a la lecture de cas.nc: ',name_var(i)
    596591           stop "getvarup"
     
    599594        print *,'Dans read_cas2, on a lu ',ierr,var3didin(i),name_var(i)
    600595        ierr = NF90_GET_VAR(nid,var3didin(i),resul1, count = [1, 1, ntime])
    601         if(ierr/=NF_NOERR) then
     596        if(ierr/=nf90_noerr) then
    602597           print *,'Pb a la lecture de cas.nc: ',name_var(i)
    603598           stop "getvarup"
     
    658653
    659654  !program reading forcing of the case study
    660   use netcdf, only: nf90_get_var
     655  USE netcdf, ONLY: nf90_get_var, nf90_noerr, nf90_inq_varid, nf90_inquire_dimension, nf90_strerror, nf90_open, &
     656          nf90_nowrite, nf90_inq_dimid
    661657  implicit none
    662   INCLUDE "netcdf.inc"
    663658
    664659  integer ntime,nlevel
     
    704699  !-----------------------------------------------------------------------
    705700  do i=1,nbvar3d
    706      ierr=NF_INQ_VARID(nid,name_var(i),var3didin(i))
    707      if(ierr/=NF_NOERR) then
     701     ierr=nf90_inq_varid(nid,name_var(i),var3didin(i))
     702     if(ierr/=nf90_noerr) then
    708703        print *,'Variable manquante dans cas.nc:',i,name_var(i)
    709         ierr=NF_NOERR
     704        ierr=nf90_noerr
    710705        missing_var(i)=1
    711706     else
     
    714709           ierr = NF90_GET_VAR(nid,var3didin(i),apbp, count = [1, 1, nlevel + 1])
    715710           print *,'read2_cas(apbp), on a lu ',i,name_var(i)
    716            if(ierr/=NF_NOERR) then
     711           if(ierr/=nf90_noerr) then
    717712              print *,'Pb a la lecture de cas.nc: ',name_var(i)
    718713              stop "getvarup"
     
    722717           ierr = NF90_GET_VAR(nid,var3didin(i),resul, count = [1, 1, nlevel, ntime])
    723718           print *,'read2_cas(resul), on a lu ',i,name_var(i)
    724            if(ierr/=NF_NOERR) then
     719           if(ierr/=nf90_noerr) then
    725720              print *,'Pb a la lecture de cas.nc: ',name_var(i)
    726721              stop "getvarup"
     
    730725           ierr = NF90_GET_VAR(nid,var3didin(i),resul2, count = [1, 1, ntime])
    731726           print *,'read2_cas(resul2), on a lu ',i,name_var(i)
    732            if(ierr/=NF_NOERR) then
     727           if(ierr/=nf90_noerr) then
    733728              print *,'Pb a la lecture de cas.nc: ',name_var(i)
    734729              stop "getvarup"
     
    738733           ierr = NF90_GET_VAR(nid,var3didin(i),resul3)
    739734           print *,'read2_cas(resul3), on a lu ',i,name_var(i)
    740            if(ierr/=NF_NOERR) then
     735           if(ierr/=nf90_noerr) then
    741736              print *,'Pb a la lecture de cas.nc: ',name_var(i)
    742737              stop "getvarup"
     
    829824
    830825  !program reading forcing of the case study
    831   use netcdf, only: nf90_get_var
     826  USE netcdf, ONLY: nf90_get_var, nf90_noerr, nf90_inq_varid, nf90_inquire_dimension, nf90_strerror, nf90_open, &
     827          nf90_nowrite, nf90_inq_dimid
    832828  implicit none
    833   INCLUDE "netcdf.inc"
    834829
    835830  integer ntime,nlevel,k,t
     
    881876  print*,'ON EST LA'
    882877  do i=1,nbvar3d
    883      ierr=NF_INQ_VARID(nid,name_var(i),var3didin(i))
    884      if(ierr/=NF_NOERR) then
     878     ierr=nf90_inq_varid(nid,name_var(i),var3didin(i))
     879     if(ierr/=nf90_noerr) then
    885880        print *,'Variable manquante dans cas.nc:',i,name_var(i)
    886         ierr=NF_NOERR
     881        ierr=nf90_noerr
    887882        missing_var(i)=1
    888883     else
     
    891886           ierr = NF90_GET_VAR(nid,var3didin(i),apbp)
    892887           print *,'read2_cas(apbp), on a lu ',i,name_var(i)
    893            if(ierr/=NF_NOERR) then
     888           if(ierr/=nf90_noerr) then
    894889              print *,'Pb a la lecture de cas.nc: ',name_var(i)
    895890              stop "getvarup"
     
    899894           ierr = NF90_GET_VAR(nid,var3didin(i),resul1)
    900895           print *,'read2_cas(resul1), on a lu ',i,name_var(i)
    901            if(ierr/=NF_NOERR) then
     896           if(ierr/=nf90_noerr) then
    902897              print *,'Pb a la lecture de cas.nc: ',name_var(i)
    903898              stop "getvarup"
     
    908903           ierr = NF90_GET_VAR(nid,var3didin(i),resul)
    909904           print *,'read2_cas(resul), on a lu ',i,name_var(i)
    910            if(ierr/=NF_NOERR) then
     905           if(ierr/=nf90_noerr) then
    911906              print *,'Pb a la lecture de cas.nc: ',name_var(i)
    912907              stop "getvarup"
     
    917912           ierr = NF90_GET_VAR(nid,var3didin(i),resul2)
    918913           print *,'read2_cas(resul2), on a lu ',i,name_var(i)
    919            if(ierr/=NF_NOERR) then
     914           if(ierr/=nf90_noerr) then
    920915              print *,'Pb a la lecture de cas.nc: ',name_var(i)
    921916              stop "getvarup"
     
    926921           ierr = NF90_GET_VAR(nid,var3didin(i),resul3)
    927922           print *,'read2_cas(resul3), on a lu ',i,name_var(i)
    928            if(ierr/=NF_NOERR) then
     923           if(ierr/=nf90_noerr) then
    929924              print *,'Pb a la lecture de cas.nc: ',name_var(i)
    930925              stop "getvarup"
  • LMDZ6/trunk/libf/phylmd/dyn1d/mod_1D_cases_read_std.f90

    r5268 r5270  
    33!
    44MODULE mod_1D_cases_read_std
     5  USE netcdf, ONLY: nf90_noerr, nf90_inq_varid, nf90_inq_dimid, nf90_inquire_dimension, nf90_open, nf90_nowrite, &
     6          nf90_strerror, nf90_get_var
    57
    68!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
     
    8991    use netcdf, only: nf90_get_var
    9092    implicit none
    91 
    92     INCLUDE "netcdf.inc"
    9393    INCLUDE "date_cas.h"
    9494
     
    9999    fich_cas='cas.nc'
    100100    print*,'fich_cas ',fich_cas
    101     ierr = NF_OPEN(fich_cas,NF_NOWRITE,nid)
    102     print*,'fich_cas,NF_NOWRITE,nid ',fich_cas,NF_NOWRITE,nid
    103     if (ierr.NE.NF_NOERR) then
     101    ierr = nf90_open(fich_cas,nf90_nowrite,nid)
     102    print*,'fich_cas,nf90_nowrite,nid ',fich_cas,nf90_nowrite,nid
     103    if (ierr.NE.nf90_noerr) then
    104104       write(*,*) 'ERROR: GROS Pb opening forcings nc file '
    105        write(*,*) NF_STRERROR(ierr)
     105       write(*,*) nf90_strerror(ierr)
    106106       stop ""
    107107    endif
    108108    !.......................................................................
    109     ierr=NF_INQ_DIMID(nid,'lat',rid)
    110     IF (ierr.NE.NF_NOERR) THEN
     109    ierr=nf90_inq_dimid(nid,'lat',rid)
     110    IF (ierr.NE.nf90_noerr) THEN
    111111       print*, 'Oh probleme lecture dimension lat'
    112112    ENDIF
    113     ierr=NF_INQ_DIMLEN(nid,rid,ii)
     113    ierr=nf90_inquire_dimension(nid,rid,len=ii)
    114114    print*,'OK1 read_SCM_cas: nid,rid,lat',nid,rid,ii
    115115    !.......................................................................
    116     ierr=NF_INQ_DIMID(nid,'lon',rid)
    117     IF (ierr.NE.NF_NOERR) THEN
     116    ierr=nf90_inq_dimid(nid,'lon',rid)
     117    IF (ierr.NE.nf90_noerr) THEN
    118118       print*, 'Oh probleme lecture dimension lon'
    119119    ENDIF
    120     ierr=NF_INQ_DIMLEN(nid,rid,jj)
     120    ierr=nf90_inquire_dimension(nid,rid,len=jj)
    121121    print*,'OK2 read_SCM_cas: nid,rid,lat',nid,rid,jj
    122122    !.......................................................................
    123     ierr=NF_INQ_DIMID(nid,'lev',rid)
    124     IF (ierr.NE.NF_NOERR) THEN
     123    ierr=nf90_inq_dimid(nid,'lev',rid)
     124    IF (ierr.NE.nf90_noerr) THEN
    125125       print*, 'Oh probleme lecture dimension nlev'
    126126    ENDIF
    127     ierr=NF_INQ_DIMLEN(nid,rid,nlev_cas)
     127    ierr=nf90_inquire_dimension(nid,rid,len=nlev_cas)
    128128    print*,'OK3 read_SCM_cas: nid,rid,nlev_cas',nid,rid,nlev_cas
    129129    IF ( .NOT. ( nlev_cas > 10 .AND. nlev_cas < 200000 )) THEN
     
    132132    ENDIF
    133133    !.......................................................................
    134     ierr=NF_INQ_DIMID(nid,'time',rid)
     134    ierr=nf90_inq_dimid(nid,'time',rid)
    135135    nt_cas=0
    136     IF (ierr.NE.NF_NOERR) THEN
     136    IF (ierr.NE.nf90_noerr) THEN
    137137       stop 'Oh probleme lecture dimension time'
    138138    ENDIF
    139     ierr=NF_INQ_DIMLEN(nid,rid,nt_cas)
     139    ierr=nf90_inquire_dimension(nid,rid,len=nt_cas)
    140140    print*,'OK4 read_SCM_cas: nid,rid,nt_cas',nid,rid,nt_cas
    141141    ! Lecture de l'axe des temps
    142142    print*,'LECTURE DU TEMPS'
    143     ierr=NF_INQ_VARID(nid,'time',timeid)
    144     if(ierr/=NF_NOERR) then
     143    ierr=nf90_inq_varid(nid,'time',timeid)
     144    if(ierr/=nf90_noerr) then
    145145       print *,'Variable time manquante dans cas.nc:'
    146        ierr=NF_NOERR
     146       ierr=nf90_noerr
    147147    else
    148148       allocate(time_val(nt_cas))
    149149       ierr = NF90_GET_VAR(nid,timeid,time_val)
    150        if(ierr/=NF_NOERR) then
     150       if(ierr/=nf90_noerr) then
    151151          print *,'A Pb a la lecture de time cas.nc: '
    152152       endif
     
    331331    use netcdf, only: nf90_get_var
    332332    implicit none
    333     INCLUDE "netcdf.inc"
    334333    INCLUDE "compar1d.h"
    335334
     
    414413
    415414
    416     ierr=NF_INQ_VARID(nid,'ta',int_test)
    417     if(ierr/=NF_NOERR) then
     415    ierr=nf90_inq_varid(nid,'ta',int_test)
     416    if(ierr/=nf90_noerr) then
    418417       print*, '++++++++++++++++++++++++++++++'
    419418       print*, 'variable ta missing in cas.nc '
     
    431430    do i=1,nbvar3d
    432431       missing_var(i)=0.
    433        ierr=NF_INQ_VARID(nid,name_var(i),var3didin(i))
     432       ierr=nf90_inq_varid(nid,name_var(i),var3didin(i))
    434433       print*, 'name_var(i)', name_var(i), var3didin(i)
    435        if(ierr/=NF_NOERR) then
     434       if(ierr/=nf90_noerr) then
    436435          print *,'Variable manquante dans cas.nc:',i,name_var(i)
    437           ierr=NF_NOERR
     436          ierr=nf90_noerr
    438437          missing_var(i)=1
    439438       else
     
    458457             ierr = NF90_GET_VAR(nid,var3didin(i),apbp)
    459458             print *,'read_SCM(apbp), on a lu ',i,name_var(i)
    460              if(ierr/=NF_NOERR) then
     459             if(ierr/=nf90_noerr) then
    461460                print *,'B Pb a la lecture de cas.nc: ',name_var(i)
    462461                stop "getvarup"
     
    469468             ierr = NF90_GET_VAR(nid,var3didin(i),resul1)
    470469             print *,'read_SCM(resul1), on a lu ',i,name_var(i)
    471              if(ierr/=NF_NOERR) then
     470             if(ierr/=nf90_noerr) then
    472471                print *,'C Pb a la lecture de cas.nc: ',name_var(i)
    473472                stop "getvarup"
     
    482481             ierr = NF90_GET_VAR(nid,var3didin(i),resul)
    483482             print *,'read_SCM(resul), on a lu ',i,name_var(i)
    484              if(ierr/=NF_NOERR) then
     483             if(ierr/=nf90_noerr) then
    485484                print *,'D Pb a la lecture de cas.nc: ',name_var(i)
    486485                stop "getvarup"
     
    494493             ierr = NF90_GET_VAR(nid,var3didin(i),resul2)
    495494             print *,'read_SCM(resul2), on a lu ',i,name_var(i)
    496              if(ierr/=NF_NOERR) then
     495             if(ierr/=nf90_noerr) then
    497496                print *,'E Pb a la lecture de cas.nc: ',name_var(i)
    498497                stop "getvarup"
     
    506505             ierr = NF90_GET_VAR(nid,var3didin(i),resul3)
    507506             print *,'read_SCM(resul3), on a lu ',i,name_var(i)
    508              if(ierr/=NF_NOERR) then
     507             if(ierr/=nf90_noerr) then
    509508                print *,'F Pb a la lecture de cas.nc: ',name_var(i)
    510509                stop "getvarup"
  • LMDZ6/trunk/libf/phylmd/dyn1d/old_1DUTILS_read_interp.h

    r5084 r5270  
    146146!program reading forcings of the TWP-ICE experiment
    147147
    148         use netcdf, only: nf90_get_var
     148      USE netcdf, ONLY: nf90_open,nf90_nowrite,nf90_noerr,nf90_strerror,nf90_inq_varid,nf90_get_var,&
     149            nf90_inq_dimid,nf90_inquire_dimension
    149150
    150151      implicit none
    151 
    152       INCLUDE "netcdf.inc"
    153152
    154153      integer ntime,nlevel
     
    177176      integer var3didin(nbvar3d)
    178177
    179       ierr = NF_OPEN(fich_twpice,NF_NOWRITE,nid)
    180       if (ierr.NE.NF_NOERR) then
     178      ierr = nf90_open(fich_twpice,nf90_nowrite,nid)
     179      if (ierr.NE.nf90_noerr) then
    181180         write(*,*) 'ERROR: Pb opening forcings cdf file '
    182          write(*,*) NF_STRERROR(ierr)
     181         write(*,*) nf90_strerror(ierr)
    183182         stop ""
    184183      endif
    185184
    186       ierr=NF_INQ_VARID(nid,"lat",var3didin(1))
    187          if(ierr/=NF_NOERR) then
    188            write(*,*) NF_STRERROR(ierr)
     185      ierr=nf90_inq_varid(nid,"lat",var3didin(1))
     186         if(ierr/=nf90_noerr) then
     187           write(*,*) nf90_strerror(ierr)
    189188           stop 'lat'
    190189         endif
    191190     
    192        ierr=NF_INQ_VARID(nid,"lon",var3didin(2))
    193          if(ierr/=NF_NOERR) then
    194            write(*,*) NF_STRERROR(ierr)
     191       ierr=nf90_inq_varid(nid,"lon",var3didin(2))
     192         if(ierr/=nf90_noerr) then
     193           write(*,*) nf90_strerror(ierr)
    195194           stop 'lon'
    196195         endif
    197196
    198        ierr=NF_INQ_VARID(nid,"alt",var3didin(3))
    199          if(ierr/=NF_NOERR) then
    200            write(*,*) NF_STRERROR(ierr)
     197       ierr=nf90_inq_varid(nid,"alt",var3didin(3))
     198         if(ierr/=nf90_noerr) then
     199           write(*,*) nf90_strerror(ierr)
    201200           stop 'alt'
    202201         endif
    203202
    204       ierr=NF_INQ_VARID(nid,"phis",var3didin(4))
    205          if(ierr/=NF_NOERR) then
    206            write(*,*) NF_STRERROR(ierr)
     203      ierr=nf90_inq_varid(nid,"phis",var3didin(4))
     204         if(ierr/=nf90_noerr) then
     205           write(*,*) nf90_strerror(ierr)
    207206           stop 'phis'
    208207         endif
    209208
    210       ierr=NF_INQ_VARID(nid,"T",var3didin(5))
    211          if(ierr/=NF_NOERR) then
    212            write(*,*) NF_STRERROR(ierr)
     209      ierr=nf90_inq_varid(nid,"T",var3didin(5))
     210         if(ierr/=nf90_noerr) then
     211           write(*,*) nf90_strerror(ierr)
    213212           stop 'T'
    214213         endif
    215214
    216       ierr=NF_INQ_VARID(nid,"q",var3didin(6))
    217          if(ierr/=NF_NOERR) then
    218            write(*,*) NF_STRERROR(ierr)
     215      ierr=nf90_inq_varid(nid,"q",var3didin(6))
     216         if(ierr/=nf90_noerr) then
     217           write(*,*) nf90_strerror(ierr)
    219218           stop 'q'
    220219         endif
    221220
    222       ierr=NF_INQ_VARID(nid,"u",var3didin(7))
    223          if(ierr/=NF_NOERR) then
    224            write(*,*) NF_STRERROR(ierr)
     221      ierr=nf90_inq_varid(nid,"u",var3didin(7))
     222         if(ierr/=nf90_noerr) then
     223           write(*,*) nf90_strerror(ierr)
    225224           stop 'u'
    226225         endif
    227226
    228       ierr=NF_INQ_VARID(nid,"v",var3didin(8))
    229          if(ierr/=NF_NOERR) then
    230            write(*,*) NF_STRERROR(ierr)
     227      ierr=nf90_inq_varid(nid,"v",var3didin(8))
     228         if(ierr/=nf90_noerr) then
     229           write(*,*) nf90_strerror(ierr)
    231230           stop 'v'
    232231         endif
    233232
    234       ierr=NF_INQ_VARID(nid,"omega",var3didin(9))
    235          if(ierr/=NF_NOERR) then
    236            write(*,*) NF_STRERROR(ierr)
     233      ierr=nf90_inq_varid(nid,"omega",var3didin(9))
     234         if(ierr/=nf90_noerr) then
     235           write(*,*) nf90_strerror(ierr)
    237236           stop 'omega'
    238237         endif
    239238
    240       ierr=NF_INQ_VARID(nid,"div",var3didin(10))
    241          if(ierr/=NF_NOERR) then
    242            write(*,*) NF_STRERROR(ierr)
     239      ierr=nf90_inq_varid(nid,"div",var3didin(10))
     240         if(ierr/=nf90_noerr) then
     241           write(*,*) nf90_strerror(ierr)
    243242           stop 'div'
    244243         endif
    245244
    246       ierr=NF_INQ_VARID(nid,"T_adv_h",var3didin(11))
    247          if(ierr/=NF_NOERR) then
    248            write(*,*) NF_STRERROR(ierr)
     245      ierr=nf90_inq_varid(nid,"T_adv_h",var3didin(11))
     246         if(ierr/=nf90_noerr) then
     247           write(*,*) nf90_strerror(ierr)
    249248           stop 'T_adv_h'
    250249         endif
    251250
    252       ierr=NF_INQ_VARID(nid,"T_adv_v",var3didin(12))
    253          if(ierr/=NF_NOERR) then
    254            write(*,*) NF_STRERROR(ierr)
     251      ierr=nf90_inq_varid(nid,"T_adv_v",var3didin(12))
     252         if(ierr/=nf90_noerr) then
     253           write(*,*) nf90_strerror(ierr)
    255254           stop 'T_adv_v'
    256255         endif
    257256
    258       ierr=NF_INQ_VARID(nid,"q_adv_h",var3didin(13))
    259          if(ierr/=NF_NOERR) then
    260            write(*,*) NF_STRERROR(ierr)
     257      ierr=nf90_inq_varid(nid,"q_adv_h",var3didin(13))
     258         if(ierr/=nf90_noerr) then
     259           write(*,*) nf90_strerror(ierr)
    261260           stop 'q_adv_h'
    262261         endif
    263262
    264       ierr=NF_INQ_VARID(nid,"q_adv_v",var3didin(14))
    265          if(ierr/=NF_NOERR) then
    266            write(*,*) NF_STRERROR(ierr)
     263      ierr=nf90_inq_varid(nid,"q_adv_v",var3didin(14))
     264         if(ierr/=nf90_noerr) then
     265           write(*,*) nf90_strerror(ierr)
    267266           stop 'q_adv_v'
    268267         endif
    269268
    270       ierr=NF_INQ_VARID(nid,"s",var3didin(15))
    271          if(ierr/=NF_NOERR) then
    272            write(*,*) NF_STRERROR(ierr)
     269      ierr=nf90_inq_varid(nid,"s",var3didin(15))
     270         if(ierr/=nf90_noerr) then
     271           write(*,*) nf90_strerror(ierr)
    273272           stop 's'
    274273         endif
    275274
    276       ierr=NF_INQ_VARID(nid,"s_adv_h",var3didin(16))
    277          if(ierr/=NF_NOERR) then
    278            write(*,*) NF_STRERROR(ierr)
     275      ierr=nf90_inq_varid(nid,"s_adv_h",var3didin(16))
     276         if(ierr/=nf90_noerr) then
     277           write(*,*) nf90_strerror(ierr)
    279278           stop 's_adv_h'
    280279         endif
    281280   
    282       ierr=NF_INQ_VARID(nid,"s_adv_v",var3didin(17))
    283          if(ierr/=NF_NOERR) then
    284            write(*,*) NF_STRERROR(ierr)
     281      ierr=nf90_inq_varid(nid,"s_adv_v",var3didin(17))
     282         if(ierr/=nf90_noerr) then
     283           write(*,*) nf90_strerror(ierr)
    285284           stop 's_adv_v'
    286285         endif
    287286
    288       ierr=NF_INQ_VARID(nid,"p_srf_aver",var3didin(18))
    289          if(ierr/=NF_NOERR) then
    290            write(*,*) NF_STRERROR(ierr)
     287      ierr=nf90_inq_varid(nid,"p_srf_aver",var3didin(18))
     288         if(ierr/=nf90_noerr) then
     289           write(*,*) nf90_strerror(ierr)
    291290           stop 'p_srf_aver'
    292291         endif
    293292
    294       ierr=NF_INQ_VARID(nid,"p_srf_center",var3didin(19))
    295          if(ierr/=NF_NOERR) then
    296            write(*,*) NF_STRERROR(ierr)
     293      ierr=nf90_inq_varid(nid,"p_srf_center",var3didin(19))
     294         if(ierr/=nf90_noerr) then
     295           write(*,*) nf90_strerror(ierr)
    297296           stop 'p_srf_center'
    298297         endif
    299298
    300       ierr=NF_INQ_VARID(nid,"T_srf",var3didin(20))
    301          if(ierr/=NF_NOERR) then
    302            write(*,*) NF_STRERROR(ierr)
     299      ierr=nf90_inq_varid(nid,"T_srf",var3didin(20))
     300         if(ierr/=nf90_noerr) then
     301           write(*,*) nf90_strerror(ierr)
    303302           stop 'T_srf'
    304303         endif
     
    315314         
    316315         ierr = NF90_GET_VAR(nid,var3didin(1),lat)
    317          if(ierr/=NF_NOERR) then
    318             write(*,*) NF_STRERROR(ierr)
     316         if(ierr/=nf90_noerr) then
     317            write(*,*) nf90_strerror(ierr)
    319318            stop "getvarup"
    320319         endif
     
    322321
    323322         ierr = NF90_GET_VAR(nid,var3didin(2),lon)
    324          if(ierr/=NF_NOERR) then
    325             write(*,*) NF_STRERROR(ierr)
     323         if(ierr/=nf90_noerr) then
     324            write(*,*) nf90_strerror(ierr)
    326325            stop "getvarup"
    327326         endif
     
    329328 
    330329         ierr = NF90_GET_VAR(nid,var3didin(3),alt)
    331          if(ierr/=NF_NOERR) then
    332             write(*,*) NF_STRERROR(ierr)
     330         if(ierr/=nf90_noerr) then
     331            write(*,*) nf90_strerror(ierr)
    333332            stop "getvarup"
    334333         endif
     
    336335 
    337336         ierr = NF90_GET_VAR(nid,var3didin(4),phis)
    338          if(ierr/=NF_NOERR) then
    339             write(*,*) NF_STRERROR(ierr)
     337         if(ierr/=nf90_noerr) then
     338            write(*,*) nf90_strerror(ierr)
    340339            stop "getvarup"
    341340         endif
     
    343342         
    344343         ierr = NF90_GET_VAR(nid,var3didin(5),T)
    345          if(ierr/=NF_NOERR) then
    346             write(*,*) NF_STRERROR(ierr)
     344         if(ierr/=nf90_noerr) then
     345            write(*,*) nf90_strerror(ierr)
    347346            stop "getvarup"
    348347         endif
     
    350349
    351350         ierr = NF90_GET_VAR(nid,var3didin(6),q)
    352          if(ierr/=NF_NOERR) then
    353             write(*,*) NF_STRERROR(ierr)
     351         if(ierr/=nf90_noerr) then
     352            write(*,*) nf90_strerror(ierr)
    354353            stop "getvarup"
    355354         endif
     
    362361       enddo
    363362         ierr = NF90_GET_VAR(nid,var3didin(7),u)
    364          if(ierr/=NF_NOERR) then
    365             write(*,*) NF_STRERROR(ierr)
     363         if(ierr/=nf90_noerr) then
     364            write(*,*) nf90_strerror(ierr)
    366365            stop "getvarup"
    367366         endif
     
    369368
    370369         ierr = NF90_GET_VAR(nid,var3didin(8),v)
    371          if(ierr/=NF_NOERR) then
    372             write(*,*) NF_STRERROR(ierr)
     370         if(ierr/=nf90_noerr) then
     371            write(*,*) nf90_strerror(ierr)
    373372            stop "getvarup"
    374373         endif
     
    376375
    377376         ierr = NF90_GET_VAR(nid,var3didin(9),omega)
    378          if(ierr/=NF_NOERR) then
    379             write(*,*) NF_STRERROR(ierr)
     377         if(ierr/=nf90_noerr) then
     378            write(*,*) nf90_strerror(ierr)
    380379            stop "getvarup"
    381380         endif
     
    389388
    390389         ierr = NF90_GET_VAR(nid,var3didin(10),div)
    391          if(ierr/=NF_NOERR) then
    392             write(*,*) NF_STRERROR(ierr)
     390         if(ierr/=nf90_noerr) then
     391            write(*,*) nf90_strerror(ierr)
    393392            stop "getvarup"
    394393         endif
     
    396395
    397396         ierr = NF90_GET_VAR(nid,var3didin(11),T_adv_h)
    398          if(ierr/=NF_NOERR) then
    399             write(*,*) NF_STRERROR(ierr)
     397         if(ierr/=nf90_noerr) then
     398            write(*,*) nf90_strerror(ierr)
    400399            stop "getvarup"
    401400         endif
     
    410409
    411410         ierr = NF90_GET_VAR(nid,var3didin(12),T_adv_v)
    412          if(ierr/=NF_NOERR) then
    413             write(*,*) NF_STRERROR(ierr)
     411         if(ierr/=nf90_noerr) then
     412            write(*,*) nf90_strerror(ierr)
    414413            stop "getvarup"
    415414         endif
     
    423422
    424423         ierr = NF90_GET_VAR(nid,var3didin(13),q_adv_h)
    425          if(ierr/=NF_NOERR) then
    426             write(*,*) NF_STRERROR(ierr)
     424         if(ierr/=nf90_noerr) then
     425            write(*,*) nf90_strerror(ierr)
    427426            stop "getvarup"
    428427         endif
     
    437436
    438437         ierr = NF90_GET_VAR(nid,var3didin(14),q_adv_v)
    439          if(ierr/=NF_NOERR) then
    440             write(*,*) NF_STRERROR(ierr)
     438         if(ierr/=nf90_noerr) then
     439            write(*,*) nf90_strerror(ierr)
    441440            stop "getvarup"
    442441         endif
     
    451450
    452451         ierr = NF90_GET_VAR(nid,var3didin(15),s)
    453          if(ierr/=NF_NOERR) then
    454             write(*,*) NF_STRERROR(ierr)
     452         if(ierr/=nf90_noerr) then
     453            write(*,*) nf90_strerror(ierr)
    455454            stop "getvarup"
    456455         endif
    457456
    458457         ierr = NF90_GET_VAR(nid,var3didin(16),s_adv_h)
    459          if(ierr/=NF_NOERR) then
    460             write(*,*) NF_STRERROR(ierr)
     458         if(ierr/=nf90_noerr) then
     459            write(*,*) nf90_strerror(ierr)
    461460            stop "getvarup"
    462461         endif
    463462
    464463         ierr = NF90_GET_VAR(nid,var3didin(17),s_adv_v)
    465          if(ierr/=NF_NOERR) then
    466             write(*,*) NF_STRERROR(ierr)
     464         if(ierr/=nf90_noerr) then
     465            write(*,*) nf90_strerror(ierr)
    467466            stop "getvarup"
    468467         endif
    469468
    470469         ierr = NF90_GET_VAR(nid,var3didin(18),p_srf_aver)
    471          if(ierr/=NF_NOERR) then
    472             write(*,*) NF_STRERROR(ierr)
     470         if(ierr/=nf90_noerr) then
     471            write(*,*) nf90_strerror(ierr)
    473472            stop "getvarup"
    474473         endif
    475474
    476475         ierr = NF90_GET_VAR(nid,var3didin(19),p_srf_center)
    477          if(ierr/=NF_NOERR) then
    478             write(*,*) NF_STRERROR(ierr)
     476         if(ierr/=nf90_noerr) then
     477            write(*,*) nf90_strerror(ierr)
    479478            stop "getvarup"
    480479         endif
    481480
    482481         ierr = NF90_GET_VAR(nid,var3didin(20),T_srf)
    483          if(ierr/=NF_NOERR) then
    484             write(*,*) NF_STRERROR(ierr)
     482         if(ierr/=nf90_noerr) then
     483            write(*,*) nf90_strerror(ierr)
    485484            stop "getvarup"
    486485         endif
     
    492491         subroutine catchaxis(nid,ttm,llm,time,lev,ierr)
    493492
    494          use netcdf, only: nf90_get_var
     493         USE netcdf, ONLY: nf90_open,nf90_nowrite,nf90_noerr,nf90_strerror,nf90_inq_varid,nf90_get_var,&
     494            nf90_inq_dimid,nf90_inquire_dimension
    495495
    496496         implicit none
    497          INCLUDE "netcdf.inc"
    498497         integer nid,ttm,llm
    499498         real*8 time(ttm)
     
    507506! Control & lecture on dimensions
    508507! ===============================
    509          ierr=NF_INQ_DIMID(nid,"time",timedimin)
    510          ierr=NF_INQ_VARID(nid,"time",timevar)
    511          if (ierr.NE.NF_NOERR) then
     508         ierr=nf90_inq_dimid(nid,"time",timedimin)
     509         ierr=nf90_inq_varid(nid,"time",timevar)
     510         if (ierr.NE.nf90_noerr) then
    512511            write(*,*) 'ERROR: Field <time> is missing'
    513512            stop "" 
    514513         endif
    515          ierr=NF_INQ_DIMLEN(nid,timedimin,timelen)
    516 
    517          ierr=NF_INQ_DIMID(nid,"lev",levdimin)
    518          ierr=NF_INQ_VARID(nid,"lev",levvar)
    519          if (ierr.NE.NF_NOERR) then
     514         ierr=nf90_inquire_dimension(nid,timedimin,len=timelen)
     515
     516         ierr=nf90_inq_dimid(nid,"lev",levdimin)
     517         ierr=nf90_inq_varid(nid,"lev",levvar)
     518         if (ierr.NE.nf90_noerr) then
    520519             write(*,*) 'ERROR: Field <lev> is lacking'
    521520             stop ""
    522521         endif
    523          ierr=NF_INQ_DIMLEN(nid,levdimin,levlen)
     522         ierr=nf90_inquire_dimension(nid,levdimin,len=levlen)
    524523
    525524         if((timelen/=ttm).or.(levlen/=llm)) then
     
    21692168!program reading forcings of the FIRE case study
    21702169
    2171 
    2172       use netcdf, only: nf90_get_var
     2170      USE netcdf, ONLY: nf90_open,nf90_nowrite,nf90_noerr,nf90_strerror,nf90_inq_varid,nf90_get_var,&
     2171            nf90_inq_dimid,nf90_inquire_dimension
    21732172      implicit none
    2174 
    2175       INCLUDE "netcdf.inc"
    21762173
    21772174      integer ntime,nlevel
     
    21912188      integer var3didin(nbvar3d)
    21922189
    2193       ierr = NF_OPEN(fich_fire,NF_NOWRITE,nid)
    2194       if (ierr.NE.NF_NOERR) then
     2190      ierr = nf90_open(fich_fire,nf90_nowrite,nid)
     2191      if (ierr.NE.nf90_noerr) then
    21952192         write(*,*) 'ERROR: Pb opening forcings nc file '
    2196          write(*,*) NF_STRERROR(ierr)
     2193         write(*,*) nf90_strerror(ierr)
    21972194         stop ""
    21982195      endif
    21992196
    22002197
    2201        ierr=NF_INQ_VARID(nid,"zz",var3didin(1))
    2202          if(ierr/=NF_NOERR) then
    2203            write(*,*) NF_STRERROR(ierr)
     2198       ierr=nf90_inq_varid(nid,"zz",var3didin(1))
     2199         if(ierr/=nf90_noerr) then
     2200           write(*,*) nf90_strerror(ierr)
    22042201           stop 'lev'
    22052202         endif
    22062203
    22072204
    2208       ierr=NF_INQ_VARID(nid,"thetal",var3didin(2))
    2209          if(ierr/=NF_NOERR) then
    2210            write(*,*) NF_STRERROR(ierr)
     2205      ierr=nf90_inq_varid(nid,"thetal",var3didin(2))
     2206         if(ierr/=nf90_noerr) then
     2207           write(*,*) nf90_strerror(ierr)
    22112208           stop 'temp'
    22122209         endif
    22132210
    2214       ierr=NF_INQ_VARID(nid,"qt",var3didin(3))
    2215          if(ierr/=NF_NOERR) then
    2216            write(*,*) NF_STRERROR(ierr)
     2211      ierr=nf90_inq_varid(nid,"qt",var3didin(3))
     2212         if(ierr/=nf90_noerr) then
     2213           write(*,*) nf90_strerror(ierr)
    22172214           stop 'qv'
    22182215         endif
    22192216
    2220       ierr=NF_INQ_VARID(nid,"u",var3didin(4))
    2221          if(ierr/=NF_NOERR) then
    2222            write(*,*) NF_STRERROR(ierr)
     2217      ierr=nf90_inq_varid(nid,"u",var3didin(4))
     2218         if(ierr/=nf90_noerr) then
     2219           write(*,*) nf90_strerror(ierr)
    22232220           stop 'u'
    22242221         endif
    22252222
    2226       ierr=NF_INQ_VARID(nid,"v",var3didin(5))
    2227          if(ierr/=NF_NOERR) then
    2228            write(*,*) NF_STRERROR(ierr)
     2223      ierr=nf90_inq_varid(nid,"v",var3didin(5))
     2224         if(ierr/=nf90_noerr) then
     2225           write(*,*) nf90_strerror(ierr)
    22292226           stop 'v'
    22302227         endif
    22312228
    2232       ierr=NF_INQ_VARID(nid,"tke",var3didin(6))
    2233          if(ierr/=NF_NOERR) then
    2234            write(*,*) NF_STRERROR(ierr)
     2229      ierr=nf90_inq_varid(nid,"tke",var3didin(6))
     2230         if(ierr/=nf90_noerr) then
     2231           write(*,*) nf90_strerror(ierr)
    22352232           stop 'tke'
    22362233         endif
    22372234
    2238       ierr=NF_INQ_VARID(nid,"ugeo",var3didin(7))
    2239          if(ierr/=NF_NOERR) then
    2240            write(*,*) NF_STRERROR(ierr)
     2235      ierr=nf90_inq_varid(nid,"ugeo",var3didin(7))
     2236         if(ierr/=nf90_noerr) then
     2237           write(*,*) nf90_strerror(ierr)
    22412238           stop 'ug'
    22422239         endif
    22432240
    2244       ierr=NF_INQ_VARID(nid,"vgeo",var3didin(8))
    2245          if(ierr/=NF_NOERR) then
    2246            write(*,*) NF_STRERROR(ierr)
     2241      ierr=nf90_inq_varid(nid,"vgeo",var3didin(8))
     2242         if(ierr/=nf90_noerr) then
     2243           write(*,*) nf90_strerror(ierr)
    22472244           stop 'vg'
    22482245         endif
    22492246     
    2250       ierr=NF_INQ_VARID(nid,"wls",var3didin(9))
    2251          if(ierr/=NF_NOERR) then
    2252            write(*,*) NF_STRERROR(ierr)
     2247      ierr=nf90_inq_varid(nid,"wls",var3didin(9))
     2248         if(ierr/=nf90_noerr) then
     2249           write(*,*) nf90_strerror(ierr)
    22532250           stop 'wls'
    22542251         endif
    22552252
    2256       ierr=NF_INQ_VARID(nid,"dqtdx",var3didin(10))
    2257          if(ierr/=NF_NOERR) then
    2258            write(*,*) NF_STRERROR(ierr)
     2253      ierr=nf90_inq_varid(nid,"dqtdx",var3didin(10))
     2254         if(ierr/=nf90_noerr) then
     2255           write(*,*) nf90_strerror(ierr)
    22592256           stop 'dqtdx'
    22602257         endif
    22612258
    2262       ierr=NF_INQ_VARID(nid,"dqtdy",var3didin(11))
    2263          if(ierr/=NF_NOERR) then
    2264            write(*,*) NF_STRERROR(ierr)
     2259      ierr=nf90_inq_varid(nid,"dqtdy",var3didin(11))
     2260         if(ierr/=nf90_noerr) then
     2261           write(*,*) nf90_strerror(ierr)
    22652262           stop 'dqtdy'
    22662263      endif
    22672264
    2268       ierr=NF_INQ_VARID(nid,"dqtdt",var3didin(12))
    2269          if(ierr/=NF_NOERR) then
    2270            write(*,*) NF_STRERROR(ierr)
     2265      ierr=nf90_inq_varid(nid,"dqtdt",var3didin(12))
     2266         if(ierr/=nf90_noerr) then
     2267           write(*,*) nf90_strerror(ierr)
    22712268           stop 'dqtdt'
    22722269      endif
    22732270
    2274       ierr=NF_INQ_VARID(nid,"thl_rad",var3didin(13))
    2275          if(ierr/=NF_NOERR) then
    2276            write(*,*) NF_STRERROR(ierr)
     2271      ierr=nf90_inq_varid(nid,"thl_rad",var3didin(13))
     2272         if(ierr/=nf90_noerr) then
     2273           write(*,*) nf90_strerror(ierr)
    22772274           stop 'thl_rad'
    22782275      endif
     
    22812278 
    22822279         ierr = NF90_GET_VAR(nid,var3didin(1),zz)
    2283          if(ierr/=NF_NOERR) then
    2284             write(*,*) NF_STRERROR(ierr)
     2280         if(ierr/=nf90_noerr) then
     2281            write(*,*) nf90_strerror(ierr)
    22852282            stop "getvarup"
    22862283         endif
     
    22882285
    22892286         ierr = NF90_GET_VAR(nid,var3didin(2),thl)
    2290          if(ierr/=NF_NOERR) then
    2291             write(*,*) NF_STRERROR(ierr)
     2287         if(ierr/=nf90_noerr) then
     2288            write(*,*) nf90_strerror(ierr)
    22922289            stop "getvarup"
    22932290         endif
     
    22952292
    22962293         ierr = NF90_GET_VAR(nid,var3didin(3),qt)
    2297          if(ierr/=NF_NOERR) then
    2298             write(*,*) NF_STRERROR(ierr)
     2294         if(ierr/=nf90_noerr) then
     2295            write(*,*) nf90_strerror(ierr)
    22992296            stop "getvarup"
    23002297         endif
     
    23022299 
    23032300         ierr = NF90_GET_VAR(nid,var3didin(4),u)
    2304          if(ierr/=NF_NOERR) then
    2305             write(*,*) NF_STRERROR(ierr)
     2301         if(ierr/=nf90_noerr) then
     2302            write(*,*) nf90_strerror(ierr)
    23062303            stop "getvarup"
    23072304         endif
     
    23092306
    23102307         ierr = NF90_GET_VAR(nid,var3didin(5),v)
    2311          if(ierr/=NF_NOERR) then
    2312             write(*,*) NF_STRERROR(ierr)
     2308         if(ierr/=nf90_noerr) then
     2309            write(*,*) nf90_strerror(ierr)
    23132310            stop "getvarup"
    23142311         endif
     
    23162313
    23172314         ierr = NF90_GET_VAR(nid,var3didin(6),tke)
    2318          if(ierr/=NF_NOERR) then
    2319             write(*,*) NF_STRERROR(ierr)
     2315         if(ierr/=nf90_noerr) then
     2316            write(*,*) nf90_strerror(ierr)
    23202317            stop "getvarup"
    23212318         endif
     
    23232320
    23242321         ierr = NF90_GET_VAR(nid,var3didin(7),ug)
    2325          if(ierr/=NF_NOERR) then
    2326             write(*,*) NF_STRERROR(ierr)
     2322         if(ierr/=nf90_noerr) then
     2323            write(*,*) nf90_strerror(ierr)
    23272324            stop "getvarup"
    23282325         endif
     
    23302327
    23312328         ierr = NF90_GET_VAR(nid,var3didin(8),vg)
    2332          if(ierr/=NF_NOERR) then
    2333             write(*,*) NF_STRERROR(ierr)
     2329         if(ierr/=nf90_noerr) then
     2330            write(*,*) nf90_strerror(ierr)
    23342331            stop "getvarup"
    23352332         endif
     
    23372334
    23382335         ierr = NF90_GET_VAR(nid,var3didin(9),wls)
    2339          if(ierr/=NF_NOERR) then
    2340             write(*,*) NF_STRERROR(ierr)
     2336         if(ierr/=nf90_noerr) then
     2337            write(*,*) nf90_strerror(ierr)
    23412338            stop "getvarup"
    23422339         endif
     
    23442341
    23452342         ierr = NF90_GET_VAR(nid,var3didin(10),dqtdx)
    2346          if(ierr/=NF_NOERR) then
    2347             write(*,*) NF_STRERROR(ierr)
     2343         if(ierr/=nf90_noerr) then
     2344            write(*,*) nf90_strerror(ierr)
    23482345            stop "getvarup"
    23492346         endif
     
    23512348
    23522349         ierr = NF90_GET_VAR(nid,var3didin(11),dqtdy)
    2353          if(ierr/=NF_NOERR) then
    2354             write(*,*) NF_STRERROR(ierr)
     2350         if(ierr/=nf90_noerr) then
     2351            write(*,*) nf90_strerror(ierr)
    23552352            stop "getvarup"
    23562353         endif
     
    23582355
    23592356         ierr = NF90_GET_VAR(nid,var3didin(12),dqtdt)
    2360          if(ierr/=NF_NOERR) then
    2361             write(*,*) NF_STRERROR(ierr)
     2357         if(ierr/=nf90_noerr) then
     2358            write(*,*) nf90_strerror(ierr)
    23622359            stop "getvarup"
    23632360         endif
     
    23652362
    23662363         ierr = NF90_GET_VAR(nid,var3didin(13),thl_rad)
    2367          if(ierr/=NF_NOERR) then
    2368             write(*,*) NF_STRERROR(ierr)
     2364         if(ierr/=nf90_noerr) then
     2365            write(*,*) nf90_strerror(ierr)
    23692366            stop "getvarup"
    23702367         endif
     
    23812378!program reading initial profils and forcings of the Dice case study
    23822379
    2383       use netcdf, only: nf90_get_var
     2380      USE netcdf, ONLY: nf90_open,nf90_nowrite,nf90_noerr,nf90_strerror,nf90_inq_varid,nf90_get_var,&
     2381            nf90_inq_dimid,nf90_inquire_dimension
    23842382
    23852383      implicit none
    2386 
    2387       INCLUDE "netcdf.inc"
    23882384      INCLUDE "YOMCST.h"
    23892385
     
    24082404
    24092405      pzero=100000.
    2410       ierr = NF_OPEN(fich_dice,NF_NOWRITE,nid)
    2411       if (ierr.NE.NF_NOERR) then
     2406      ierr = nf90_open(fich_dice,nf90_nowrite,nid)
     2407      if (ierr.NE.nf90_noerr) then
    24122408         write(*,*) 'ERROR: Pb opening forcings nc file '
    2413          write(*,*) NF_STRERROR(ierr)
     2409         write(*,*) nf90_strerror(ierr)
    24142410         stop ""
    24152411      endif
    24162412
    24172413
    2418        ierr=NF_INQ_VARID(nid,"height",var3didin(1))
    2419          if(ierr/=NF_NOERR) then
    2420            write(*,*) NF_STRERROR(ierr)
     2414       ierr=nf90_inq_varid(nid,"height",var3didin(1))
     2415         if(ierr/=nf90_noerr) then
     2416           write(*,*) nf90_strerror(ierr)
    24212417           stop 'height'
    24222418         endif
    24232419
    2424        ierr=NF_INQ_VARID(nid,"pf",var3didin(11))
    2425          if(ierr/=NF_NOERR) then
    2426            write(*,*) NF_STRERROR(ierr)
     2420       ierr=nf90_inq_varid(nid,"pf",var3didin(11))
     2421         if(ierr/=nf90_noerr) then
     2422           write(*,*) nf90_strerror(ierr)
    24272423           stop 'pf'
    24282424         endif
    24292425
    2430       ierr=NF_INQ_VARID(nid,"theta",var3didin(12))
    2431          if(ierr/=NF_NOERR) then
    2432            write(*,*) NF_STRERROR(ierr)
     2426      ierr=nf90_inq_varid(nid,"theta",var3didin(12))
     2427         if(ierr/=nf90_noerr) then
     2428           write(*,*) nf90_strerror(ierr)
    24332429           stop 'theta'
    24342430         endif
    24352431
    2436       ierr=NF_INQ_VARID(nid,"qv",var3didin(13))
    2437          if(ierr/=NF_NOERR) then
    2438            write(*,*) NF_STRERROR(ierr)
     2432      ierr=nf90_inq_varid(nid,"qv",var3didin(13))
     2433         if(ierr/=nf90_noerr) then
     2434           write(*,*) nf90_strerror(ierr)
    24392435           stop 'qv'
    24402436         endif
    24412437
    2442       ierr=NF_INQ_VARID(nid,"u",var3didin(14))
    2443          if(ierr/=NF_NOERR) then
    2444            write(*,*) NF_STRERROR(ierr)
     2438      ierr=nf90_inq_varid(nid,"u",var3didin(14))
     2439         if(ierr/=nf90_noerr) then
     2440           write(*,*) nf90_strerror(ierr)
    24452441           stop 'u'
    24462442         endif
    24472443
    2448       ierr=NF_INQ_VARID(nid,"v",var3didin(15))
    2449          if(ierr/=NF_NOERR) then
    2450            write(*,*) NF_STRERROR(ierr)
     2444      ierr=nf90_inq_varid(nid,"v",var3didin(15))
     2445         if(ierr/=nf90_noerr) then
     2446           write(*,*) nf90_strerror(ierr)
    24512447           stop 'v'
    24522448         endif
    24532449
    2454       ierr=NF_INQ_VARID(nid,"o3mmr",var3didin(16))
    2455          if(ierr/=NF_NOERR) then
    2456            write(*,*) NF_STRERROR(ierr)
     2450      ierr=nf90_inq_varid(nid,"o3mmr",var3didin(16))
     2451         if(ierr/=nf90_noerr) then
     2452           write(*,*) nf90_strerror(ierr)
    24572453           stop 'o3'
    24582454         endif
    24592455
    2460       ierr=NF_INQ_VARID(nid,"shf",var3didin(2))
    2461          if(ierr/=NF_NOERR) then
    2462            write(*,*) NF_STRERROR(ierr)
     2456      ierr=nf90_inq_varid(nid,"shf",var3didin(2))
     2457         if(ierr/=nf90_noerr) then
     2458           write(*,*) nf90_strerror(ierr)
    24632459           stop 'shf'
    24642460         endif
    24652461
    2466       ierr=NF_INQ_VARID(nid,"lhf",var3didin(3))
    2467          if(ierr/=NF_NOERR) then
    2468            write(*,*) NF_STRERROR(ierr)
     2462      ierr=nf90_inq_varid(nid,"lhf",var3didin(3))
     2463         if(ierr/=nf90_noerr) then
     2464           write(*,*) nf90_strerror(ierr)
    24692465           stop 'lhf'
    24702466         endif
    24712467     
    2472       ierr=NF_INQ_VARID(nid,"lwup",var3didin(4))
    2473          if(ierr/=NF_NOERR) then
    2474            write(*,*) NF_STRERROR(ierr)
     2468      ierr=nf90_inq_varid(nid,"lwup",var3didin(4))
     2469         if(ierr/=nf90_noerr) then
     2470           write(*,*) nf90_strerror(ierr)
    24752471           stop 'lwup'
    24762472         endif
    24772473
    2478       ierr=NF_INQ_VARID(nid,"swup",var3didin(5))
    2479          if(ierr/=NF_NOERR) then
    2480            write(*,*) NF_STRERROR(ierr)
     2474      ierr=nf90_inq_varid(nid,"swup",var3didin(5))
     2475         if(ierr/=nf90_noerr) then
     2476           write(*,*) nf90_strerror(ierr)
    24812477           stop 'dqtdx'
    24822478         endif
    24832479
    2484       ierr=NF_INQ_VARID(nid,"Tg",var3didin(6))
    2485          if(ierr/=NF_NOERR) then
    2486            write(*,*) NF_STRERROR(ierr)
     2480      ierr=nf90_inq_varid(nid,"Tg",var3didin(6))
     2481         if(ierr/=nf90_noerr) then
     2482           write(*,*) nf90_strerror(ierr)
    24872483           stop 'Tg'
    24882484      endif
    24892485
    2490       ierr=NF_INQ_VARID(nid,"ustar",var3didin(7))
    2491          if(ierr/=NF_NOERR) then
    2492            write(*,*) NF_STRERROR(ierr)
     2486      ierr=nf90_inq_varid(nid,"ustar",var3didin(7))
     2487         if(ierr/=nf90_noerr) then
     2488           write(*,*) nf90_strerror(ierr)
    24932489           stop 'ustar'
    24942490      endif
    24952491
    2496       ierr=NF_INQ_VARID(nid,"psurf",var3didin(8))
    2497          if(ierr/=NF_NOERR) then
    2498            write(*,*) NF_STRERROR(ierr)
     2492      ierr=nf90_inq_varid(nid,"psurf",var3didin(8))
     2493         if(ierr/=nf90_noerr) then
     2494           write(*,*) nf90_strerror(ierr)
    24992495           stop 'psurf'
    25002496      endif
    25012497
    2502       ierr=NF_INQ_VARID(nid,"Ug",var3didin(9))
    2503          if(ierr/=NF_NOERR) then
    2504            write(*,*) NF_STRERROR(ierr)
     2498      ierr=nf90_inq_varid(nid,"Ug",var3didin(9))
     2499         if(ierr/=nf90_noerr) then
     2500           write(*,*) nf90_strerror(ierr)
    25052501           stop 'Ug'
    25062502      endif
    25072503
    2508       ierr=NF_INQ_VARID(nid,"Vg",var3didin(10))
    2509          if(ierr/=NF_NOERR) then
    2510            write(*,*) NF_STRERROR(ierr)
     2504      ierr=nf90_inq_varid(nid,"Vg",var3didin(10))
     2505         if(ierr/=nf90_noerr) then
     2506           write(*,*) nf90_strerror(ierr)
    25112507           stop 'Vg'
    25122508      endif
    25132509
    2514       ierr=NF_INQ_VARID(nid,"hadvT",var3didin(17))
    2515          if(ierr/=NF_NOERR) then
    2516            write(*,*) NF_STRERROR(ierr)
     2510      ierr=nf90_inq_varid(nid,"hadvT",var3didin(17))
     2511         if(ierr/=nf90_noerr) then
     2512           write(*,*) nf90_strerror(ierr)
    25172513           stop 'hadvT'
    25182514      endif
    25192515
    2520       ierr=NF_INQ_VARID(nid,"hadvq",var3didin(18))
    2521          if(ierr/=NF_NOERR) then
    2522            write(*,*) NF_STRERROR(ierr)
     2516      ierr=nf90_inq_varid(nid,"hadvq",var3didin(18))
     2517         if(ierr/=nf90_noerr) then
     2518           write(*,*) nf90_strerror(ierr)
    25232519           stop 'hadvq'
    25242520      endif
    25252521
    2526       ierr=NF_INQ_VARID(nid,"hadvu",var3didin(19))
    2527          if(ierr/=NF_NOERR) then
    2528            write(*,*) NF_STRERROR(ierr)
     2522      ierr=nf90_inq_varid(nid,"hadvu",var3didin(19))
     2523         if(ierr/=nf90_noerr) then
     2524           write(*,*) nf90_strerror(ierr)
    25292525           stop 'hadvu'
    25302526      endif
    25312527
    2532       ierr=NF_INQ_VARID(nid,"hadvv",var3didin(20))
    2533          if(ierr/=NF_NOERR) then
    2534            write(*,*) NF_STRERROR(ierr)
     2528      ierr=nf90_inq_varid(nid,"hadvv",var3didin(20))
     2529         if(ierr/=nf90_noerr) then
     2530           write(*,*) nf90_strerror(ierr)
    25352531           stop 'hadvv'
    25362532      endif
    25372533
    2538       ierr=NF_INQ_VARID(nid,"w",var3didin(21))
    2539          if(ierr/=NF_NOERR) then
    2540            write(*,*) NF_STRERROR(ierr)
     2534      ierr=nf90_inq_varid(nid,"w",var3didin(21))
     2535         if(ierr/=nf90_noerr) then
     2536           write(*,*) nf90_strerror(ierr)
    25412537           stop 'w'
    25422538      endif
    25432539
    2544       ierr=NF_INQ_VARID(nid,"omega",var3didin(22))
    2545          if(ierr/=NF_NOERR) then
    2546            write(*,*) NF_STRERROR(ierr)
     2540      ierr=nf90_inq_varid(nid,"omega",var3didin(22))
     2541         if(ierr/=nf90_noerr) then
     2542           write(*,*) nf90_strerror(ierr)
    25472543           stop 'omega'
    25482544      endif
     
    25512547 
    25522548         ierr = NF90_GET_VAR(nid,var3didin(1),zz)
    2553          if(ierr/=NF_NOERR) then
    2554             write(*,*) NF_STRERROR(ierr)
     2549         if(ierr/=nf90_noerr) then
     2550            write(*,*) nf90_strerror(ierr)
    25552551            stop "getvarup"
    25562552         endif
     
    25582554 
    25592555         ierr = NF90_GET_VAR(nid,var3didin(11),pres)
    2560          if(ierr/=NF_NOERR) then
    2561             write(*,*) NF_STRERROR(ierr)
     2556         if(ierr/=nf90_noerr) then
     2557            write(*,*) nf90_strerror(ierr)
    25622558            stop "getvarup"
    25632559         endif
     
    25652561
    25662562         ierr = NF90_GET_VAR(nid,var3didin(12),th)
    2567          if(ierr/=NF_NOERR) then
    2568             write(*,*) NF_STRERROR(ierr)
     2563         if(ierr/=nf90_noerr) then
     2564            write(*,*) nf90_strerror(ierr)
    25692565            stop "getvarup"
    25702566         endif
     
    25752571
    25762572         ierr = NF90_GET_VAR(nid,var3didin(13),qv)
    2577          if(ierr/=NF_NOERR) then
    2578             write(*,*) NF_STRERROR(ierr)
     2573         if(ierr/=nf90_noerr) then
     2574            write(*,*) nf90_strerror(ierr)
    25792575            stop "getvarup"
    25802576         endif
     
    25822578 
    25832579         ierr = NF90_GET_VAR(nid,var3didin(14),u)
    2584          if(ierr/=NF_NOERR) then
    2585             write(*,*) NF_STRERROR(ierr)
     2580         if(ierr/=nf90_noerr) then
     2581            write(*,*) nf90_strerror(ierr)
    25862582            stop "getvarup"
    25872583         endif
     
    25892585
    25902586         ierr = NF90_GET_VAR(nid,var3didin(15),v)
    2591          if(ierr/=NF_NOERR) then
    2592             write(*,*) NF_STRERROR(ierr)
     2587         if(ierr/=nf90_noerr) then
     2588            write(*,*) nf90_strerror(ierr)
    25932589            stop "getvarup"
    25942590         endif
     
    25962592
    25972593         ierr = NF90_GET_VAR(nid,var3didin(16),o3)
    2598          if(ierr/=NF_NOERR) then
    2599             write(*,*) NF_STRERROR(ierr)
     2594         if(ierr/=nf90_noerr) then
     2595            write(*,*) nf90_strerror(ierr)
    26002596            stop "getvarup"
    26012597         endif
     
    26032599
    26042600         ierr = NF90_GET_VAR(nid,var3didin(2),shf)
    2605          if(ierr/=NF_NOERR) then
    2606             write(*,*) NF_STRERROR(ierr)
     2601         if(ierr/=nf90_noerr) then
     2602            write(*,*) nf90_strerror(ierr)
    26072603            stop "getvarup"
    26082604         endif
     
    26102606
    26112607         ierr = NF90_GET_VAR(nid,var3didin(3),lhf)
    2612          if(ierr/=NF_NOERR) then
    2613             write(*,*) NF_STRERROR(ierr)
     2608         if(ierr/=nf90_noerr) then
     2609            write(*,*) nf90_strerror(ierr)
    26142610            stop "getvarup"
    26152611         endif
     
    26172613
    26182614         ierr = NF90_GET_VAR(nid,var3didin(4),lwup)
    2619          if(ierr/=NF_NOERR) then
    2620             write(*,*) NF_STRERROR(ierr)
     2615         if(ierr/=nf90_noerr) then
     2616            write(*,*) nf90_strerror(ierr)
    26212617            stop "getvarup"
    26222618         endif
     
    26242620
    26252621         ierr = NF90_GET_VAR(nid,var3didin(5),swup)
    2626          if(ierr/=NF_NOERR) then
    2627             write(*,*) NF_STRERROR(ierr)
     2622         if(ierr/=nf90_noerr) then
     2623            write(*,*) nf90_strerror(ierr)
    26282624            stop "getvarup"
    26292625         endif
     
    26312627
    26322628         ierr = NF90_GET_VAR(nid,var3didin(6),tg)
    2633          if(ierr/=NF_NOERR) then
    2634             write(*,*) NF_STRERROR(ierr)
     2629         if(ierr/=nf90_noerr) then
     2630            write(*,*) nf90_strerror(ierr)
    26352631            stop "getvarup"
    26362632         endif
     
    26382634
    26392635         ierr = NF90_GET_VAR(nid,var3didin(7),ustar)
    2640          if(ierr/=NF_NOERR) then
    2641             write(*,*) NF_STRERROR(ierr)
     2636         if(ierr/=nf90_noerr) then
     2637            write(*,*) nf90_strerror(ierr)
    26422638            stop "getvarup"
    26432639         endif
     
    26452641
    26462642         ierr = NF90_GET_VAR(nid,var3didin(8),psurf)
    2647          if(ierr/=NF_NOERR) then
    2648             write(*,*) NF_STRERROR(ierr)
     2643         if(ierr/=nf90_noerr) then
     2644            write(*,*) nf90_strerror(ierr)
    26492645            stop "getvarup"
    26502646         endif
     
    26522648
    26532649         ierr = NF90_GET_VAR(nid,var3didin(9),ug)
    2654          if(ierr/=NF_NOERR) then
    2655             write(*,*) NF_STRERROR(ierr)
     2650         if(ierr/=nf90_noerr) then
     2651            write(*,*) nf90_strerror(ierr)
    26562652            stop "getvarup"
    26572653         endif
     
    26592655
    26602656         ierr = NF90_GET_VAR(nid,var3didin(10),vg)
    2661          if(ierr/=NF_NOERR) then
    2662             write(*,*) NF_STRERROR(ierr)
     2657         if(ierr/=nf90_noerr) then
     2658            write(*,*) nf90_strerror(ierr)
    26632659            stop "getvarup"
    26642660         endif
     
    26662662
    26672663         ierr = NF90_GET_VAR(nid,var3didin(17),hadvt)
    2668          if(ierr/=NF_NOERR) then
    2669             write(*,*) NF_STRERROR(ierr)
     2664         if(ierr/=nf90_noerr) then
     2665            write(*,*) nf90_strerror(ierr)
    26702666            stop "getvarup"
    26712667         endif
     
    26732669
    26742670         ierr = NF90_GET_VAR(nid,var3didin(18),hadvq)
    2675          if(ierr/=NF_NOERR) then
    2676             write(*,*) NF_STRERROR(ierr)
     2671         if(ierr/=nf90_noerr) then
     2672            write(*,*) nf90_strerror(ierr)
    26772673            stop "getvarup"
    26782674         endif
     
    26802676
    26812677         ierr = NF90_GET_VAR(nid,var3didin(19),hadvu)
    2682          if(ierr/=NF_NOERR) then
    2683             write(*,*) NF_STRERROR(ierr)
     2678         if(ierr/=nf90_noerr) then
     2679            write(*,*) nf90_strerror(ierr)
    26842680            stop "getvarup"
    26852681         endif
     
    26872683
    26882684         ierr = NF90_GET_VAR(nid,var3didin(20),hadvv)
    2689          if(ierr/=NF_NOERR) then
    2690             write(*,*) NF_STRERROR(ierr)
     2685         if(ierr/=nf90_noerr) then
     2686            write(*,*) nf90_strerror(ierr)
    26912687            stop "getvarup"
    26922688         endif
     
    26942690
    26952691         ierr = NF90_GET_VAR(nid,var3didin(21),w)
    2696          if(ierr/=NF_NOERR) then
    2697             write(*,*) NF_STRERROR(ierr)
     2692         if(ierr/=nf90_noerr) then
     2693            write(*,*) nf90_strerror(ierr)
    26982694            stop "getvarup"
    26992695         endif
     
    27012697
    27022698         ierr = NF90_GET_VAR(nid,var3didin(22),omega)
    2703          if(ierr/=NF_NOERR) then
    2704             write(*,*) NF_STRERROR(ierr)
     2699         if(ierr/=nf90_noerr) then
     2700            write(*,*) nf90_strerror(ierr)
    27052701            stop "getvarup"
    27062702         endif
     
    27152711!program reading initial profils and forcings of the Gabls4 case study
    27162712
    2717       use netcdf, only: nf90_get_var
     2713      USE netcdf, ONLY: nf90_open,nf90_nowrite,nf90_noerr,nf90_strerror,nf90_inq_varid,nf90_get_var,&
     2714            nf90_inq_dimid,nf90_inquire_dimension
    27182715
    27192716      implicit none
    2720 
    2721       INCLUDE "netcdf.inc"
    27222717
    27232718      integer ntime,nlevel,nsol
     
    27452740      integer var3didin(nbvar3d)
    27462741
    2747       ierr = NF_OPEN(fich_gabls4,NF_NOWRITE,nid)
    2748       if (ierr.NE.NF_NOERR) then
     2742      ierr = nf90_open(fich_gabls4,nf90_nowrite,nid)
     2743      if (ierr.NE.nf90_noerr) then
    27492744         write(*,*) 'ERROR: Pb opening forcings nc file '
    2750          write(*,*) NF_STRERROR(ierr)
     2745         write(*,*) nf90_strerror(ierr)
    27512746         stop ""
    27522747      endif
    27532748
    27542749
    2755        ierr=NF_INQ_VARID(nid,"height",var3didin(1))
    2756          if(ierr/=NF_NOERR) then
    2757            write(*,*) NF_STRERROR(ierr)
     2750       ierr=nf90_inq_varid(nid,"height",var3didin(1))
     2751         if(ierr/=nf90_noerr) then
     2752           write(*,*) nf90_strerror(ierr)
    27582753           stop 'height'
    27592754         endif
    27602755
    2761       ierr=NF_INQ_VARID(nid,"depth_sn",var3didin(2))
    2762          if(ierr/=NF_NOERR) then
    2763            write(*,*) NF_STRERROR(ierr)
     2756      ierr=nf90_inq_varid(nid,"depth_sn",var3didin(2))
     2757         if(ierr/=nf90_noerr) then
     2758           write(*,*) nf90_strerror(ierr)
    27642759           stop 'depth_sn'
    27652760      endif
    27662761
    2767       ierr=NF_INQ_VARID(nid,"Ug",var3didin(3))
    2768          if(ierr/=NF_NOERR) then
    2769            write(*,*) NF_STRERROR(ierr)
     2762      ierr=nf90_inq_varid(nid,"Ug",var3didin(3))
     2763         if(ierr/=nf90_noerr) then
     2764           write(*,*) nf90_strerror(ierr)
    27702765           stop 'Ug'
    27712766      endif
    27722767
    2773       ierr=NF_INQ_VARID(nid,"Vg",var3didin(4))
    2774          if(ierr/=NF_NOERR) then
    2775            write(*,*) NF_STRERROR(ierr)
     2768      ierr=nf90_inq_varid(nid,"Vg",var3didin(4))
     2769         if(ierr/=nf90_noerr) then
     2770           write(*,*) nf90_strerror(ierr)
    27762771           stop 'Vg'
    27772772      endif
    2778        ierr=NF_INQ_VARID(nid,"pf",var3didin(5))
    2779          if(ierr/=NF_NOERR) then
    2780            write(*,*) NF_STRERROR(ierr)
     2773       ierr=nf90_inq_varid(nid,"pf",var3didin(5))
     2774         if(ierr/=nf90_noerr) then
     2775           write(*,*) nf90_strerror(ierr)
    27812776           stop 'pf'
    27822777         endif
    27832778
    2784       ierr=NF_INQ_VARID(nid,"theta",var3didin(6))
    2785          if(ierr/=NF_NOERR) then
    2786            write(*,*) NF_STRERROR(ierr)
     2779      ierr=nf90_inq_varid(nid,"theta",var3didin(6))
     2780         if(ierr/=nf90_noerr) then
     2781           write(*,*) nf90_strerror(ierr)
    27872782           stop 'theta'
    27882783         endif
    27892784
    2790       ierr=NF_INQ_VARID(nid,"tempe",var3didin(7))
    2791          if(ierr/=NF_NOERR) then
    2792            write(*,*) NF_STRERROR(ierr)
     2785      ierr=nf90_inq_varid(nid,"tempe",var3didin(7))
     2786         if(ierr/=nf90_noerr) then
     2787           write(*,*) nf90_strerror(ierr)
    27932788           stop 'tempe'
    27942789         endif
    27952790
    2796       ierr=NF_INQ_VARID(nid,"qv",var3didin(8))
    2797          if(ierr/=NF_NOERR) then
    2798            write(*,*) NF_STRERROR(ierr)
     2791      ierr=nf90_inq_varid(nid,"qv",var3didin(8))
     2792         if(ierr/=nf90_noerr) then
     2793           write(*,*) nf90_strerror(ierr)
    27992794           stop 'qv'
    28002795         endif
    28012796
    2802       ierr=NF_INQ_VARID(nid,"u",var3didin(9))
    2803          if(ierr/=NF_NOERR) then
    2804            write(*,*) NF_STRERROR(ierr)
     2797      ierr=nf90_inq_varid(nid,"u",var3didin(9))
     2798         if(ierr/=nf90_noerr) then
     2799           write(*,*) nf90_strerror(ierr)
    28052800           stop 'u'
    28062801         endif
    28072802
    2808       ierr=NF_INQ_VARID(nid,"v",var3didin(10))
    2809          if(ierr/=NF_NOERR) then
    2810            write(*,*) NF_STRERROR(ierr)
     2803      ierr=nf90_inq_varid(nid,"v",var3didin(10))
     2804         if(ierr/=nf90_noerr) then
     2805           write(*,*) nf90_strerror(ierr)
    28112806           stop 'v'
    28122807         endif
    28132808
    2814       ierr=NF_INQ_VARID(nid,"hadvT",var3didin(11))
    2815          if(ierr/=NF_NOERR) then
    2816            write(*,*) NF_STRERROR(ierr)
     2809      ierr=nf90_inq_varid(nid,"hadvT",var3didin(11))
     2810         if(ierr/=nf90_noerr) then
     2811           write(*,*) nf90_strerror(ierr)
    28172812           stop 'hadvt'
    28182813         endif
    28192814
    2820       ierr=NF_INQ_VARID(nid,"hadvQ",var3didin(12))
    2821          if(ierr/=NF_NOERR) then
    2822            write(*,*) NF_STRERROR(ierr)
     2815      ierr=nf90_inq_varid(nid,"hadvQ",var3didin(12))
     2816         if(ierr/=nf90_noerr) then
     2817           write(*,*) nf90_strerror(ierr)
    28232818           stop 'hadvq'
    28242819      endif
    28252820
    2826       ierr=NF_INQ_VARID(nid,"Tsnow",var3didin(14))
    2827          if(ierr/=NF_NOERR) then
    2828            write(*,*) NF_STRERROR(ierr)
     2821      ierr=nf90_inq_varid(nid,"Tsnow",var3didin(14))
     2822         if(ierr/=nf90_noerr) then
     2823           write(*,*) nf90_strerror(ierr)
    28292824           stop 'tsnow'
    28302825      endif
    28312826
    2832       ierr=NF_INQ_VARID(nid,"snow_density",var3didin(15))
    2833          if(ierr/=NF_NOERR) then
    2834            write(*,*) NF_STRERROR(ierr)
     2827      ierr=nf90_inq_varid(nid,"snow_density",var3didin(15))
     2828         if(ierr/=nf90_noerr) then
     2829           write(*,*) nf90_strerror(ierr)
    28352830           stop 'snow_density'
    28362831      endif
    28372832
    2838       ierr=NF_INQ_VARID(nid,"Tg",var3didin(16))
    2839          if(ierr/=NF_NOERR) then
    2840            write(*,*) NF_STRERROR(ierr)
     2833      ierr=nf90_inq_varid(nid,"Tg",var3didin(16))
     2834         if(ierr/=nf90_noerr) then
     2835           write(*,*) nf90_strerror(ierr)
    28412836           stop 'Tg'
    28422837      endif
     
    28472842 
    28482843         ierr = NF90_GET_VAR(nid,var3didin(1),zz_i)
    2849          if(ierr/=NF_NOERR) then
    2850             write(*,*) NF_STRERROR(ierr)
     2844         if(ierr/=nf90_noerr) then
     2845            write(*,*) nf90_strerror(ierr)
    28512846            stop "getvarup"
    28522847         endif
    28532848 
    28542849         ierr = NF90_GET_VAR(nid,var3didin(2),depth_sn)
    2855          if(ierr/=NF_NOERR) then
    2856             write(*,*) NF_STRERROR(ierr)
     2850         if(ierr/=nf90_noerr) then
     2851            write(*,*) nf90_strerror(ierr)
    28572852            stop "getvarup"
    28582853         endif
    28592854 
    28602855         ierr = NF90_GET_VAR(nid,var3didin(3),ug_i)
    2861          if(ierr/=NF_NOERR) then
    2862             write(*,*) NF_STRERROR(ierr)
     2856         if(ierr/=nf90_noerr) then
     2857            write(*,*) nf90_strerror(ierr)
    28632858            stop "getvarup"
    28642859         endif
    28652860 
    28662861         ierr = NF90_GET_VAR(nid,var3didin(4),vg_i)
    2867          if(ierr/=NF_NOERR) then
    2868             write(*,*) NF_STRERROR(ierr)
     2862         if(ierr/=nf90_noerr) then
     2863            write(*,*) nf90_strerror(ierr)
    28692864            stop "getvarup"
    28702865         endif
    28712866 
    28722867         ierr = NF90_GET_VAR(nid,var3didin(5),pf_i)
    2873          if(ierr/=NF_NOERR) then
    2874             write(*,*) NF_STRERROR(ierr)
     2868         if(ierr/=nf90_noerr) then
     2869            write(*,*) nf90_strerror(ierr)
    28752870            stop "getvarup"
    28762871         endif
    28772872
    28782873         ierr = NF90_GET_VAR(nid,var3didin(6),th_i)
    2879          if(ierr/=NF_NOERR) then
    2880             write(*,*) NF_STRERROR(ierr)
     2874         if(ierr/=nf90_noerr) then
     2875            write(*,*) nf90_strerror(ierr)
    28812876            stop "getvarup"
    28822877         endif
    28832878
    28842879         ierr = NF90_GET_VAR(nid,var3didin(7),t_i)
    2885          if(ierr/=NF_NOERR) then
    2886             write(*,*) NF_STRERROR(ierr)
     2880         if(ierr/=nf90_noerr) then
     2881            write(*,*) nf90_strerror(ierr)
    28872882            stop "getvarup"
    28882883         endif
    28892884
    28902885         ierr = NF90_GET_VAR(nid,var3didin(8),qv_i)
    2891          if(ierr/=NF_NOERR) then
    2892             write(*,*) NF_STRERROR(ierr)
     2886         if(ierr/=nf90_noerr) then
     2887            write(*,*) nf90_strerror(ierr)
    28932888            stop "getvarup"
    28942889         endif
    28952890 
    28962891         ierr = NF90_GET_VAR(nid,var3didin(9),u_i)
    2897          if(ierr/=NF_NOERR) then
    2898             write(*,*) NF_STRERROR(ierr)
     2892         if(ierr/=nf90_noerr) then
     2893            write(*,*) nf90_strerror(ierr)
    28992894            stop "getvarup"
    29002895         endif
    29012896 
    29022897         ierr = NF90_GET_VAR(nid,var3didin(10),v_i)
    2903          if(ierr/=NF_NOERR) then
    2904             write(*,*) NF_STRERROR(ierr)
     2898         if(ierr/=nf90_noerr) then
     2899            write(*,*) nf90_strerror(ierr)
    29052900            stop "getvarup"
    29062901         endif
    29072902 
    29082903         ierr = NF90_GET_VAR(nid,var3didin(11),hadvt_i)
    2909          if(ierr/=NF_NOERR) then
    2910             write(*,*) NF_STRERROR(ierr)
     2904         if(ierr/=nf90_noerr) then
     2905            write(*,*) nf90_strerror(ierr)
    29112906            stop "getvarup"
    29122907         endif
    29132908 
    29142909         ierr = NF90_GET_VAR(nid,var3didin(12),hadvq_i)
    2915          if(ierr/=NF_NOERR) then
    2916             write(*,*) NF_STRERROR(ierr)
     2910         if(ierr/=nf90_noerr) then
     2911            write(*,*) nf90_strerror(ierr)
    29172912            stop "getvarup"
    29182913         endif
    29192914 
    29202915         ierr = NF90_GET_VAR(nid,var3didin(14),tsnow)
    2921          if(ierr/=NF_NOERR) then
    2922             write(*,*) NF_STRERROR(ierr)
     2916         if(ierr/=nf90_noerr) then
     2917            write(*,*) nf90_strerror(ierr)
    29232918            stop "getvarup"
    29242919         endif
    29252920 
    29262921         ierr = NF90_GET_VAR(nid,var3didin(15),snow_dens)
    2927          if(ierr/=NF_NOERR) then
    2928             write(*,*) NF_STRERROR(ierr)
     2922         if(ierr/=nf90_noerr) then
     2923            write(*,*) nf90_strerror(ierr)
    29292924            stop "getvarup"
    29302925         endif
    29312926
    29322927         ierr = NF90_GET_VAR(nid,var3didin(16),tg)
    2933          if(ierr/=NF_NOERR) then
    2934             write(*,*) NF_STRERROR(ierr)
     2928         if(ierr/=nf90_noerr) then
     2929            write(*,*) nf90_strerror(ierr)
    29352930            stop "getvarup"
    29362931         endif
  • LMDZ6/trunk/libf/phylmd/dyn1d/old_1D_decl_cases.h

    r5084 r5270  
    1          INCLUDE "netcdf.inc"
     1
    22
    33! Declarations specifiques au cas Toga
  • LMDZ6/trunk/libf/phylmd/inlandsis/surf_inlandsis_mod.f90

    r5268 r5270  
    10491049        ! Objet: Lecture du fichier de conditions initiales pour SISVAT
    10501050        !======================================================================
    1051         include "netcdf.inc"
    10521051        !    include "indicesol.h"
    10531052
     
    12851284
    12861285        IMPLICIT none
    1287 
    1288         include "netcdf.inc"
    12891286        include "clesphys.h"
    12901287        include "compbl.h"
  • LMDZ6/trunk/libf/phylmd/interfoce_lim.f90

    r5268 r5270  
    1010  USE mod_phys_lmdz_para
    1111  USE indice_sol_mod
    12   USE netcdf, ONLY: nf90_get_var
     12  USE netcdf, ONLY: nf90_get_var,nf90_close,nf90_noerr,nf90_inq_varid,nf90_open,nf90_nowrite
    1313 
    1414  IMPLICIT NONE
    15  
    16   INCLUDE "netcdf.inc"
    1715
    1816! Cette routine sert d'interface entre le modele atmospherique et un fichier
     
    116114
    117115        fich = TRIM(fich)
    118         ierr = NF_OPEN (fich, NF_NOWRITE,nid)
    119         IF (ierr.NE.NF_NOERR) THEN
     116        ierr = nf90_open (fich, nf90_nowrite,nid)
     117        IF (ierr.NE.nf90_noerr) THEN
    120118           abort_message = 'Pb d''ouverture du fichier de conditions aux limites'
    121119           CALL abort_physic(modname,abort_message,1)
     
    133131           ! Fraction "ocean"
    134132           !
    135            ierr = NF_INQ_VARID(nid, 'FOCE', nvarid)
    136            IF (ierr /= NF_NOERR) THEN
     133           ierr = nf90_inq_varid(nid, 'FOCE', nvarid)
     134           IF (ierr /= nf90_noerr) THEN
    137135              abort_message = 'Le champ <FOCE> est absent'
    138136              CALL abort_physic(modname,abort_message,1)
    139137           ENDIF
    140138           ierr = nf90_get_var(nid,nvarid,pct_tmp(:,is_oce),start,epais)
    141            IF (ierr /= NF_NOERR) THEN
     139           IF (ierr /= nf90_noerr) THEN
    142140              abort_message = 'Lecture echouee pour <FOCE>'
    143141              CALL abort_physic(modname,abort_message,1)
     
    146144           ! Fraction "glace de mer"
    147145           !
    148            ierr = NF_INQ_VARID(nid, 'FSIC', nvarid)
    149            IF (ierr /= NF_NOERR) THEN
     146           ierr = nf90_inq_varid(nid, 'FSIC', nvarid)
     147           IF (ierr /= nf90_noerr) THEN
    150148              abort_message = 'Le champ <FSIC> est absent'
    151149              CALL abort_physic(modname,abort_message,1)
    152150           ENDIF
    153151           ierr = nf90_get_var(nid,nvarid,pct_tmp(:,is_sic),start,epais)
    154            IF (ierr /= NF_NOERR) THEN
     152           IF (ierr /= nf90_noerr) THEN
    155153              abort_message = 'Lecture echouee pour <FSIC>'
    156154              CALL abort_physic(modname,abort_message,1)
     
    159157           ! Fraction "terre"
    160158           !
    161            ierr = NF_INQ_VARID(nid, 'FTER', nvarid)
    162            IF (ierr /= NF_NOERR) THEN
     159           ierr = nf90_inq_varid(nid, 'FTER', nvarid)
     160           IF (ierr /= nf90_noerr) THEN
    163161              abort_message = 'Le champ <FTER> est absent'
    164162              CALL abort_physic(modname,abort_message,1)
    165163           ENDIF
    166164           ierr = nf90_get_var(nid,nvarid,pct_tmp(:,is_ter),start,epais)
    167            IF (ierr /= NF_NOERR) THEN
     165           IF (ierr /= nf90_noerr) THEN
    168166              abort_message = 'Lecture echouee pour <FTER>'
    169167              CALL abort_physic(modname,abort_message,1)
     
    172170           ! Fraction "glacier terre"
    173171           !
    174            ierr = NF_INQ_VARID(nid, 'FLIC', nvarid)
    175            IF (ierr /= NF_NOERR) THEN
     172           ierr = nf90_inq_varid(nid, 'FLIC', nvarid)
     173           IF (ierr /= nf90_noerr) THEN
    176174              abort_message = 'Le champ <FLIC> est absent'
    177175              CALL abort_physic(modname,abort_message,1)
    178176           ENDIF
    179177           ierr = nf90_get_var(nid,nvarid,pct_tmp(:,is_lic),start,epais)
    180            IF (ierr /= NF_NOERR) THEN
     178           IF (ierr /= nf90_noerr) THEN
    181179              abort_message = 'Lecture echouee pour <FLIC>'
    182180              CALL abort_physic(modname,abort_message,1)
     
    185183        ELSE  ! on en est toujours a rnatur
    186184           !
    187            ierr = NF_INQ_VARID(nid, 'NAT', nvarid)
    188            IF (ierr /= NF_NOERR) THEN
     185           ierr = nf90_inq_varid(nid, 'NAT', nvarid)
     186           IF (ierr /= nf90_noerr) THEN
    189187              abort_message = 'Le champ <NAT> est absent'
    190188              CALL abort_physic(modname,abort_message,1)
    191189           ENDIF
    192190           ierr = nf90_get_var(nid,nvarid,nat_lu,start,epais)
    193            IF (ierr /= NF_NOERR) THEN
     191           IF (ierr /= nf90_noerr) THEN
    194192              abort_message = 'Lecture echouee pour <NAT>'
    195193              CALL abort_physic(modname,abort_message,1)
     
    215213! Lecture SST
    216214!
    217         ierr = NF_INQ_VARID(nid, 'SST', nvarid)
    218         IF (ierr /= NF_NOERR) THEN
     215        ierr = nf90_inq_varid(nid, 'SST', nvarid)
     216        IF (ierr /= nf90_noerr) THEN
    219217           abort_message = 'Le champ <SST> est absent'
    220218           CALL abort_physic(modname,abort_message,1)
    221219        ENDIF
    222220        ierr = nf90_get_var(nid,nvarid,sst_lu,start,epais)
    223         IF (ierr /= NF_NOERR) THEN
     221        IF (ierr /= nf90_noerr) THEN
    224222           abort_message = 'Lecture echouee pour <SST>'
    225223           CALL abort_physic(modname,abort_message,1)
     
    230228!
    231229!****************************************************************************************
    232         ierr = NF_CLOSE(nid)
     230        ierr = nf90_close(nid)
    233231     ENDIF ! is_mpi_root
    234232
  • LMDZ6/trunk/libf/phylmd/iotd_ecrit.f90

    r5268 r5270  
    2222!=================================================================
    2323 
    24       use netcdf, only: nf90_put_var
     24      USE netcdf, ONLY: nf90_put_var, nf90_inq_varid, nf90_enddef, nf90_redef, nf90_sync, nf90_noerr, &
     25            nf90_float, nf90_def_var
    2526      implicit none
    2627
    2728! Commons
    28 
    29       INCLUDE "netcdf.inc"
    3029      INCLUDE "iotd.h"
    3130
     
    103102           ! Get NetCDF ID of 'time' variable
    104103
    105            ierr=NF_SYNC(nid)
     104           ierr=nf90_sync(nid)
    106105
    107            ierr= NF_INQ_VARID(nid,"time",varid)
     106           ierr= nf90_inq_varid(nid,"time",varid)
    108107           ! Write (append) the new date to the 'time' array
    109108
     
    114113!        print*,'IOTD Date ,varid,nid,ntime,date',varid,nid,ntime,date
    115114
    116            if (ierr.ne.NF_NOERR) then
     115           if (ierr.ne.nf90_noerr) then
    117116              write(*,*) "***** PUT_VAR matter in writediagfi_nc"
    118117              write(*,*) "***** with time"
     
    161160
    162161      if (ntime==1) then
    163           ierr = NF_REDEF (nid)
    164           ierr = NF_DEF_VAR(nid,nom,NF_FLOAT,ndim,dim_cc,varid)
     162          ierr = nf90_redef (nid)
     163          ierr = nf90_def_var(nid,nom,nf90_float,dim_cc,varid)
    165164          !print*,'DEF ',nom,nid,varid
    166           ierr = NF_ENDDEF(nid)
     165          ierr = nf90_enddef(nid)
    167166      else
    168          ierr= NF_INQ_VARID(nid,nom,varid)
     167         ierr= nf90_inq_varid(nid,nom,varid)
    169168          !print*,'INQ ',nom,nid,varid
    170169! Commandes pour recuperer automatiquement les coordonnees
    171 !             ierr= NF_INQ_DIMID(nid,"longitude",id(1))
     170!             ierr= nf90_inq_dimid(nid,"longitude",id(1))
    172171      endif
    173172
     
    175174      ierr= NF90_PUT_VAR(nid,varid,zx,corner,edges)
    176175
    177       if (ierr.ne.NF_NOERR) then
     176      if (ierr.ne.nf90_noerr) then
    178177           write(*,*) "***** PUT_VAR problem in writediagfi"
    179178           write(*,*) "***** with ",nom
  • LMDZ6/trunk/libf/phylmd/iotd_fin.f90

    r5268 r5270  
    11      SUBROUTINE iotd_fin
     2      USE netcdf, ONLY: nf90_close
    23      IMPLICIT NONE
    34
     
    1213!
    1314!=======================================================================
    14 
    15 
    16       INCLUDE "netcdf.inc"
    1715      INCLUDE "iotd.h"
    1816      integer ierr
     
    2119!   ----------
    2220
    23       ierr=NF_close(nid)
     21      ierr=nf90_close(nid)
    2422
    2523      END
  • LMDZ6/trunk/libf/phylmd/iotd_ini.f90

    r5268 r5270  
    11      SUBROUTINE iotd_ini(fichnom,iim,jjm,llm,prlon,prlat,pcoordv,jour0,mois0,an0,t0,timestep,calendrier)
     2      USE netcdf, ONLY: nf90_enddef, nf90_put_att, nf90_float, nf90_def_var, nf90_redef, &
     3            nf90_global, nf90_def_dim, nf90_create, nf90_clobber, nf90_unlimited, nf90_put_var
    24      IMPLICIT NONE
    35
     
    1517!   Declarations:
    1618!   -------------
    17 
    18       INCLUDE "netcdf.inc"
    1919      INCLUDE "iotd.h"
    2020
     
    9090   
    9191      ! Create the NetCDF file
    92       ierr=NF_CREATE(fichnom, NF_CLOBBER, nid)
    93       ierr=NF_DEF_DIM(nid, "lon", iim, dim_coord(1))
    94       ierr=NF_DEF_DIM(nid, "lat", jjm, dim_coord(2))
    95       ierr=NF_DEF_DIM(nid, "lev", llm, dim_coord(3))
    96       ierr=NF_DEF_DIM(nid,"time",NF_UNLIMITED,dim_coord(4))
    97       ierr = NF_PUT_ATT_TEXT(nid,NF_GLOBAL,'Conventions',6,"CF-1.1")
    98       !ierr = NF_PUT_ATT_TEXT(nid,NF_GLOBAL,'file_name',TRIM(fname))
    99       ierr=NF_ENDDEF(nid)
     92      ierr=nf90_create(fichnom, nf90_clobber, nid)
     93      ierr=nf90_def_dim(nid, "lon", iim, dim_coord(1))
     94      ierr=nf90_def_dim(nid, "lat", jjm, dim_coord(2))
     95      ierr=nf90_def_dim(nid, "lev", llm, dim_coord(3))
     96      ierr=nf90_def_dim(nid,"time",nf90_unlimited,dim_coord(4))
     97      ierr = nf90_put_att(nid,nf90_global,'Conventions',"CF-1.1")
     98      ierr=nf90_enddef(nid)
    10099
    101100      ! Switch out of NetCDF Define mode
    102101
    103102
    104       ierr=NF_ENDDEF(nid)
     103      ierr=nf90_enddef(nid)
    105104!
    106105!  Contol parameters for this run
    107106! ---- longitude -----------
    108107
    109       ierr=NF_REDEF(nid)
    110       ierr=NF_DEF_VAR(nid,"lon", NF_FLOAT, 1, dim_coord(1),nvarid)
    111       ierr = NF_PUT_ATT_TEXT(nid,nvarid,'axis',1,'X')
    112       ierr=NF_PUT_ATT_TEXT(nid,nvarid,'units',12,"degrees_east")
    113       ierr=NF_ENDDEF(nid)
    114       ierr=NF_PUT_VAR_REAL(nid,nvarid,rlon)
     108      ierr=nf90_redef(nid)
     109      ierr=nf90_def_var(nid,"lon", nf90_float, dim_coord(1),nvarid)
     110      ierr = nf90_put_att(nid,nvarid,'axis','X')
     111      ierr=nf90_put_att(nid,nvarid,'units',"degrees_east")
     112      ierr=nf90_enddef(nid)
     113      ierr=nf90_put_var(nid,nvarid,rlon)
    115114       print*,ierr
    116115
    117116! ---- latitude ------------
    118       ierr=NF_REDEF(nid)
    119       ierr=NF_DEF_VAR(nid, "lat", NF_FLOAT, 1, dim_coord(2),nvarid)
    120       ierr = NF_PUT_ATT_TEXT(nid,nvarid,'axis',1,'Y')
    121       ierr=NF_PUT_ATT_TEXT(nid,nvarid,'units',13,"degrees_north")
    122       ierr=NF_ENDDEF(nid)
    123       ierr=NF_PUT_VAR_REAL(nid,nvarid,rlat)
     117      ierr=nf90_redef(nid)
     118      ierr=nf90_def_var(nid, "lat", nf90_float, dim_coord(2),nvarid)
     119      ierr = nf90_put_att(nid,nvarid,'axis','Y')
     120      ierr=nf90_put_att(nid,nvarid,'units',"degrees_north")
     121      ierr=nf90_enddef(nid)
     122      ierr=nf90_put_var(nid,nvarid,rlat)
    124123!
    125124! ---- vertical ------------
    126       ierr=NF_REDEF(nid)
    127       ierr=NF_DEF_VAR(nid, "lev", NF_FLOAT, 1,dim_coord(3),nvarid)
    128       ierr=NF_PUT_ATT_TEXT(nid,nvarid,"long_name",10,"vert level")
     125      ierr=nf90_redef(nid)
     126      ierr=nf90_def_var(nid, "lev", nf90_float, dim_coord(3),nvarid)
     127      ierr=nf90_put_att(nid,nvarid,"long_name","vert level")
    129128      if ( coordv(2)>coordv(1) ) then
    130          ierr=NF_PUT_ATT_TEXT(nid,nvarid,"long_name",10,"pseudo-alt")
    131          ierr=NF_PUT_ATT_TEXT(nid,nvarid,'positive',2,"up")
     129         ierr=nf90_put_att(nid,nvarid,"long_name","pseudo-alt")
     130         ierr=nf90_put_att(nid,nvarid,'positive',"up")
    132131      else
    133          ierr=NF_PUT_ATT_TEXT(nid,nvarid,"long_name",8,"pressure")
    134          ierr = NF_PUT_ATT_TEXT (nid,nvarid,'positive',4,"down")
     132         ierr=nf90_put_att(nid,nvarid,"long_name","pressure")
     133         ierr = nf90_put_att (nid,nvarid,'positive',"down")
    135134      endif
    136       ierr=NF_ENDDEF(nid)
    137       ierr=NF_PUT_VAR_REAL(nid,nvarid,coordv)
     135      ierr=nf90_enddef(nid)
     136      ierr=nf90_put_var(nid,nvarid,coordv)
    138137
    139138!
    140139! ---- time ----------------
    141       ierr=NF_REDEF(nid)
     140      ierr=nf90_redef(nid)
    142141      ! Define the 'time' variable
    143       ierr=NF_DEF_VAR(nid, "time", NF_FLOAT, 1, dim_coord(4),nvarid)
     142      ierr=nf90_def_var(nid, "time", nf90_float, dim_coord(4),nvarid)
    144143!     ! Add attributes
    145       ierr = NF_PUT_ATT_TEXT(nid,nvarid,'axis',1,'T')
    146       ierr = NF_PUT_ATT_TEXT(nid,nvarid,'standard_name',4,'time')
     144      ierr = nf90_put_att(nid,nvarid,'axis','T')
     145      ierr = nf90_put_att(nid,nvarid,'standard_name','time')
    147146      WRITE(date0,'(i4.4,"-",i2.2,"-",i2.2)') an0,mois0,jour0
    148       ierr=NF_PUT_ATT_TEXT(nid, nvarid,'units',33, &
     147      ierr=nf90_put_att(nid, nvarid,'units', &
    149148     & "seconds since "//date0//" 00:00:00")
    150       ierr = NF_PUT_ATT_TEXT(nid,nvarid,'calendar',9,calendrier)
    151       !ierr = NF_PUT_ATT_TEXT(nid,nvarid,'calendar',4,'360d')
    152       ierr = NF_PUT_ATT_TEXT(nid,nvarid,'title',4,'Time')
    153       ierr = NF_PUT_ATT_TEXT(nid,nvarid,'long_name',9,'Time axis')
     149      ierr = nf90_put_att(nid,nvarid,'calendar',calendrier)
     150      !ierr = nf90_put_att(nid,nvarid,'calendar','360d')
     151      ierr = nf90_put_att(nid,nvarid,'title','Time')
     152      ierr = nf90_put_att(nid,nvarid,'long_name','Time axis')
    154153      WRITE(date0b,'(i4.4,"-",a3,"-",i2.2)') an0,cmois(mois0),jour0
    155       ierr = NF_PUT_ATT_TEXT(nid,nvarid,'time_origin',20, &
     154      ierr = nf90_put_att(nid,nvarid,'time_origin', &
    156155     &        date0b//' 00:00:00')
    157       ierr=NF_ENDDEF(nid)
     156      ierr=nf90_enddef(nid)
    158157
    159158
  • LMDZ6/trunk/libf/phylmd/phyaqua_mod.f90

    r5268 r5270  
    517517    IMPLICIT NONE
    518518
    519     include "netcdf.inc"
    520 
    521519    INTEGER, INTENT (IN) :: klon
    522520    REAL, INTENT (IN) :: phy_nat(klon, 360)
     
    572570    USE mod_phys_lmdz_transfert_para, ONLY: gather
    573571    USE phys_cal_mod, ONLY: year_len
    574     use netcdf, only: nf90_def_var, nf90_double, nf90_float, nf90_put_var
     572    USE netcdf, ONLY: nf90_def_var, nf90_put_var, nf90_get_var, nf90_strerror, nf90_close, &
     573            nf90_enddef, nf90_put_att, nf90_unlimited, nf90_noerr, nf90_global, nf90_clobber, &
     574            nf90_64bit_offset, nf90_def_dim, nf90_create
    575575    USE lmdz_cppkeys_wrapper, ONLY: nf90_format
    576576    IMPLICIT NONE
    577     include "netcdf.inc"
    578577
    579578    INTEGER, INTENT (IN) :: klon
     
    606605      PRINT *, 'writelim: Ecriture du fichier limit'
    607606
    608       ierr = nf_create('limit.nc', IOR(NF_CLOBBER,NF_64BIT_OFFSET), nid)
    609 
    610       ierr = nf_put_att_text(nid, nf_global, 'title', 30, &
    611         'Fichier conditions aux limites')
    612       ! !        ierr = NF_DEF_DIM (nid, "points_physiques", klon, ndim)
    613       ierr = nf_def_dim(nid, 'points_physiques', klon_glo, ndim)
    614       ierr = nf_def_dim(nid, 'time', nf_unlimited, ntim)
     607      ierr = nf90_create('limit.nc', IOR(nf90_clobber,nf90_64bit_offset), nid)
     608
     609      ierr = nf90_put_att(nid, nf90_global, 'title', 'Fichier conditions aux limites')
     610      ! !        ierr = nf90_def_dim (nid, "points_physiques", klon, ndim)
     611      ierr = nf90_def_dim(nid, 'points_physiques', klon_glo, ndim)
     612      ierr = nf90_def_dim(nid, 'time', nf90_unlimited, ntim)
    615613
    616614      dims(1) = ndim
     
    618616
    619617      ierr = nf90_def_var(nid, 'TEMPS', nf90_format, [ntim], id_tim)
    620       ierr = nf_put_att_text(nid, id_tim, 'title', 17, 'Jour dans l annee')
     618      ierr = nf90_put_att(nid, id_tim, 'title', 'Jour dans l annee')
    621619
    622620      ierr = nf90_def_var(nid, 'NAT', nf90_format, dims, id_nat)
    623       ierr = nf_put_att_text(nid, id_nat, 'title', 23, &
    624         'Nature du sol (0,1,2,3)')
     621      ierr = nf90_put_att(nid, id_nat, 'title', 'Nature du sol (0,1,2,3)')
    625622
    626623      ierr = nf90_def_var(nid, 'SST', nf90_format, dims, id_sst)
    627       ierr = nf_put_att_text(nid, id_sst, 'title', 35, &
    628         'Temperature superficielle de la mer')
     624      ierr = nf90_put_att(nid, id_sst, 'title', 'Temperature superficielle de la mer')
    629625
    630626      ierr = nf90_def_var(nid, 'BILS', nf90_format, dims, id_bils)
    631       ierr = nf_put_att_text(nid, id_bils, 'title', 32, &
    632         'Reference flux de chaleur au sol')
     627      ierr = nf90_put_att(nid, id_bils, 'title', 'Reference flux de chaleur au sol')
    633628
    634629      ierr = nf90_def_var(nid, 'ALB', nf90_format, dims, id_alb)
    635       ierr = nf_put_att_text(nid, id_alb, 'title', 19, 'Albedo a la surface')
     630      ierr = nf90_put_att(nid, id_alb, 'title', 'Albedo a la surface')
    636631
    637632      ierr = nf90_def_var(nid, 'RUG', nf90_format, dims, id_rug)
    638       ierr = nf_put_att_text(nid, id_rug, 'title', 8, 'Rugosite')
     633      ierr = nf90_put_att(nid, id_rug, 'title', 'Rugosite')
    639634
    640635      ierr = nf90_def_var(nid, 'FTER', nf90_format, dims, id_fter)
    641       ierr = nf_put_att_text(nid, id_fter, 'title',10,'Frac. Land')
     636      ierr = nf90_put_att(nid, id_fter, 'title','Frac. Land')
    642637      ierr = nf90_def_var(nid, 'FOCE', nf90_format, dims, id_foce)
    643       ierr = nf_put_att_text(nid, id_foce, 'title',11,'Frac. Ocean')
     638      ierr = nf90_put_att(nid, id_foce, 'title','Frac. Ocean')
    644639      ierr = nf90_def_var(nid, 'FSIC', nf90_format, dims, id_fsic)
    645       ierr = nf_put_att_text(nid, id_fsic, 'title',13,'Frac. Sea Ice')
     640      ierr = nf90_put_att(nid, id_fsic, 'title','Frac. Sea Ice')
    646641      ierr = nf90_def_var(nid, 'FLIC', nf90_format, dims, id_flic)
    647       ierr = nf_put_att_text(nid, id_flic, 'title',14,'Frac. Land Ice')
    648 
    649       ierr = nf_enddef(nid)
    650       IF (ierr/=nf_noerr) THEN
     642      ierr = nf90_put_att(nid, id_flic, 'title','Frac. Land Ice')
     643
     644      ierr = nf90_enddef(nid)
     645      IF (ierr/=nf90_noerr) THEN
    651646        WRITE (*, *) 'writelim error: failed to end define mode'
    652         WRITE (*, *) nf_strerror(ierr)
     647        WRITE (*, *) nf90_strerror(ierr)
    653648      END IF
    654649
     
    657652      DO k = 1, year_len
    658653        ierr = nf90_put_var(nid, id_tim, k, [k])
    659         IF (ierr/=nf_noerr) THEN
     654        IF (ierr/=nf90_noerr) THEN
    660655          WRITE (*, *) 'writelim error with temps(k),k=', k
    661           WRITE (*, *) nf_strerror(ierr)
     656          WRITE (*, *) nf90_strerror(ierr)
    662657        END IF
    663658      END DO
     
    670665    IF (is_master) THEN
    671666      ierr = nf90_put_var(nid, id_nat, phy_glo)
    672       IF (ierr/=nf_noerr) THEN
     667      IF (ierr/=nf90_noerr) THEN
    673668        WRITE (*, *) 'writelim error with phy_nat'
    674         WRITE (*, *) nf_strerror(ierr)
     669        WRITE (*, *) nf90_strerror(ierr)
    675670      END IF
    676671    END IF
     
    679674    IF (is_master) THEN
    680675      ierr = nf90_put_var(nid, id_sst, phy_glo)
    681       IF (ierr/=nf_noerr) THEN
     676      IF (ierr/=nf90_noerr) THEN
    682677        WRITE (*, *) 'writelim error with phy_sst'
    683         WRITE (*, *) nf_strerror(ierr)
     678        WRITE (*, *) nf90_strerror(ierr)
    684679      END IF
    685680    END IF
     
    688683    IF (is_master) THEN
    689684      ierr = nf90_put_var(nid, id_bils, phy_glo)
    690       IF (ierr/=nf_noerr) THEN
     685      IF (ierr/=nf90_noerr) THEN
    691686        WRITE (*, *) 'writelim error with phy_bil'
    692         WRITE (*, *) nf_strerror(ierr)
     687        WRITE (*, *) nf90_strerror(ierr)
    693688      END IF
    694689    END IF
     
    697692    IF (is_master) THEN
    698693      ierr = nf90_put_var(nid, id_alb, phy_glo)
    699       IF (ierr/=nf_noerr) THEN
     694      IF (ierr/=nf90_noerr) THEN
    700695        WRITE (*, *) 'writelim error with phy_alb'
    701         WRITE (*, *) nf_strerror(ierr)
     696        WRITE (*, *) nf90_strerror(ierr)
    702697      END IF
    703698    END IF
     
    706701    IF (is_master) THEN
    707702      ierr = nf90_put_var(nid, id_rug, phy_glo)
    708       IF (ierr/=nf_noerr) THEN
     703      IF (ierr/=nf90_noerr) THEN
    709704        WRITE (*, *) 'writelim error with phy_rug'
    710         WRITE (*, *) nf_strerror(ierr)
     705        WRITE (*, *) nf90_strerror(ierr)
    711706      END IF
    712707    END IF
     
    715710    IF (is_master) THEN
    716711      ierr = nf90_put_var(nid, id_fter, phy_glo)
    717       IF (ierr/=nf_noerr) THEN
     712      IF (ierr/=nf90_noerr) THEN
    718713        WRITE (*, *) 'writelim error with phy_fter'
    719         WRITE (*, *) nf_strerror(ierr)
     714        WRITE (*, *) nf90_strerror(ierr)
    720715      END IF
    721716    END IF
     
    724719    IF (is_master) THEN
    725720      ierr = nf90_put_var(nid, id_foce, phy_glo)
    726       IF (ierr/=nf_noerr) THEN
     721      IF (ierr/=nf90_noerr) THEN
    727722        WRITE (*, *) 'writelim error with phy_foce'
    728         WRITE (*, *) nf_strerror(ierr)
     723        WRITE (*, *) nf90_strerror(ierr)
    729724      END IF
    730725    END IF
     
    733728    IF (is_master) THEN
    734729      ierr = nf90_put_var(nid, id_fsic, phy_glo)
    735       IF (ierr/=nf_noerr) THEN
     730      IF (ierr/=nf90_noerr) THEN
    736731        WRITE (*, *) 'writelim error with phy_fsic'
    737         WRITE (*, *) nf_strerror(ierr)
     732        WRITE (*, *) nf90_strerror(ierr)
    738733      END IF
    739734    END IF
     
    742737    IF (is_master) THEN
    743738      ierr = nf90_put_var(nid, id_flic, phy_glo)
    744       IF (ierr/=nf_noerr) THEN
     739      IF (ierr/=nf90_noerr) THEN
    745740        WRITE (*, *) 'writelim error with phy_flic'
    746         WRITE (*, *) nf_strerror(ierr)
     741        WRITE (*, *) nf90_strerror(ierr)
    747742      END IF
    748743    END IF
     
    750745    ! close file:
    751746    IF (is_master) THEN
    752       ierr = nf_close(nid)
     747      ierr = nf90_close(nid)
    753748    END IF
    754749
  • LMDZ6/trunk/libf/phylmd/read_pstoke.f90

    r5268 r5270  
    2323
    2424  IMPLICIT NONE
    25 
    26   include "netcdf.inc"
    2725
    2826  INTEGER klono, klevo, imo, jmo
     
    226224    ! ID pour les dimensions
    227225
    228     status = nf_inq_dimid(ncidp, 'y', yid)
    229     status = nf_inq_dimid(ncidp, 'x', xid)
    230     status = nf_inq_dimid(ncidp, 'sig_s', zid)
    231     status = nf_inq_dimid(ncidp, 'time_counter', tid)
     226    status = nf90_inq_dimid(ncidp, 'y', yid)
     227    status = nf90_inq_dimid(ncidp, 'x', xid)
     228    status = nf90_inq_dimid(ncidp, 'sig_s', zid)
     229    status = nf90_inq_dimid(ncidp, 'time_counter', tid)
    232230
    233231    ! lecture des dimensions
    234232
    235     status = nf_inq_dim(ncidp, yid, namedim, ncjm)
    236     status = nf_inq_dim(ncidp, xid, namedim, ncim)
    237     status = nf_inq_dim(ncidp, zid, namedim, ncklevo)
    238     status = nf_inq_dim(ncidp, tid, namedim, ncrec)
     233    status = nf90_inquire_dimension(ncidp, yid, namedim, ncjm)
     234    status = nf90_inquire_dimension(ncidp, xid, namedim, ncim)
     235    status = nf90_inquire_dimension(ncidp, zid, namedim, ncklevo)
     236    status = nf90_inquire_dimension(ncidp, tid, namedim, ncrec)
    239237
    240238    zrec = ncrec
  • LMDZ6/trunk/libf/phylmd/read_pstoke0.f90

    r5268 r5270  
    2222
    2323  IMPLICIT NONE
    24 
    25   include "netcdf.inc"
    2624
    2725  INTEGER kon, kev, zkon, zkev
     
    226224    ! ID pour les dimensions
    227225
    228     status = nf_inq_dimid(ncidp, 'y', yid)
    229     status = nf_inq_dimid(ncidp, 'x', xid)
    230     status = nf_inq_dimid(ncidp, 'sig_s', zid)
    231     status = nf_inq_dimid(ncidp, 'time_counter', tid)
     226    status = nf90_inq_dimid(ncidp, 'y', yid)
     227    status = nf90_inq_dimid(ncidp, 'x', xid)
     228    status = nf90_inq_dimid(ncidp, 'sig_s', zid)
     229    status = nf90_inq_dimid(ncidp, 'time_counter', tid)
    232230
    233231    ! lecture des dimensions
    234232
    235     status = nf_inq_dim(ncidp, yid, namedim, ncjm)
    236     status = nf_inq_dim(ncidp, xid, namedim, ncim)
    237     status = nf_inq_dim(ncidp, zid, namedim, nckev)
    238     status = nf_inq_dim(ncidp, tid, namedim, ncrec)
     233    status = nf90_inquire_dimension(ncidp, yid, namedim, ncjm)
     234    status = nf90_inquire_dimension(ncidp, xid, namedim, ncim)
     235    status = nf90_inquire_dimension(ncidp, zid, namedim, nckev)
     236    status = nf90_inquire_dimension(ncidp, tid, namedim, ncrec)
    239237
    240238    zrec = ncrec
     
    253251    ! niveaux de pression
    254252
    255     status = nf_get_vara_real(ncidp, varidpl, 1, kev, pl)
     253    status = nf90_get_var(ncidp, varidpl, pl, [1], [kev])
    256254
    257255    ! lecture de aire et phis
  • LMDZ6/trunk/libf/phylmdiso/isotopes_routines_mod.F90

    r5256 r5270  
    1587515875      ! equivalent de phyetat0 pour les isotopes 
    1587615876
    15877 #include "netcdf.inc"
    1587815877#include "dimsoil.h"
    1587915878#include "clesphys.h"
     
    1642816427   IMPLICIT NONE
    1642916428
    16430 #include "netcdf.inc"
    1643116429#include "dimsoil.h"
    1643216430#include "clesphys.h"
  • LMDZ6/trunk/libf/phylmdiso/phyaqua_mod.F90

    r5249 r5270  
    539539    IMPLICIT NONE
    540540
    541     include "netcdf.inc"
    542 
    543541    INTEGER, INTENT (IN) :: klon
    544542    REAL, INTENT (IN) :: phy_nat(klon, 360)
     
    593591    USE mod_phys_lmdz_transfert_para, ONLY: gather
    594592    USE phys_cal_mod, ONLY: year_len
    595     USE netcdf, ONLY: nf90_put_var, nf90_def_var
     593    USE netcdf, ONLY: nf90_clobber, nf90_close, nf90_noerr, nf90_strerror, nf90_put_att, nf90_def_var, &
     594            nf90_def_dim, nf90_create, nf90_put_var, nf90_unlimited, nf90_global, nf90_64bit_offset, &
     595            nf90_enddef
    596596    USE lmdz_cppkeys_wrapper, ONLY: nf90_format
    597597    IMPLICIT NONE
    598     include "netcdf.inc"
    599598
    600599    INTEGER, INTENT (IN) :: klon
     
    627626      PRINT *, 'writelim: Ecriture du fichier limit'
    628627
    629       ierr = nf_create('limit.nc', IOR(NF_CLOBBER,NF_64BIT_OFFSET), nid)
    630 
    631       ierr = nf_put_att_text(nid, nf_global, 'title', 30, &
    632         'Fichier conditions aux limites')
    633       ! !        ierr = NF_DEF_DIM (nid, "points_physiques", klon, ndim)
    634       ierr = nf_def_dim(nid, 'points_physiques', klon_glo, ndim)
    635       ierr = nf_def_dim(nid, 'time', nf_unlimited, ntim)
     628      ierr = nf90_create('limit.nc', IOR(nf90_clobber,nf90_64bit_offset), nid)
     629
     630      ierr = nf90_put_att(nid, nf90_global, 'title', 'Fichier conditions aux limites')
     631      ! !        ierr = nf90_def_dim (nid, "points_physiques", klon, ndim)
     632      ierr = nf90_def_dim(nid, 'points_physiques', klon_glo, ndim)
     633      ierr = nf90_def_dim(nid, 'time', nf90_unlimited, ntim)
    636634
    637635      dims(1) = ndim
     
    639637
    640638      ierr = nf90_def_var(nid, 'TEMPS', nf90_format, ntim, id_tim)
    641       ierr = nf_put_att_text(nid, id_tim, 'title', 17, 'Jour dans l annee')
     639      ierr = nf90_put_att(nid, id_tim, 'title', 'Jour dans l annee')
    642640
    643641      ierr = nf90_def_var(nid, 'NAT', nf90_format, dims, id_nat)
    644       ierr = nf_put_att_text(nid, id_nat, 'title', 23, &
    645         'Nature du sol (0,1,2,3)')
     642      ierr = nf90_put_att(nid, id_nat, 'title', 'Nature du sol (0,1,2,3)')
    646643
    647644      ierr = nf90_def_var(nid, 'SST', nf90_format, dims, id_sst)
    648       ierr = nf_put_att_text(nid, id_sst, 'title', 35, &
    649         'Temperature superficielle de la mer')
     645      ierr = nf90_put_att(nid, id_sst, 'title', 'Temperature superficielle de la mer')
    650646
    651647      ierr = nf90_def_var(nid, 'BILS', nf90_format, dims, id_bils)
    652       ierr = nf_put_att_text(nid, id_bils, 'title', 32, &
    653         'Reference flux de chaleur au sol')
     648      ierr = nf90_put_att(nid, id_bils, 'title', 'Reference flux de chaleur au sol')
    654649
    655650      ierr = nf90_def_var(nid, 'ALB', nf90_format, dims, id_alb)
    656       ierr = nf_put_att_text(nid, id_alb, 'title', 19, 'Albedo a la surface')
     651      ierr = nf90_put_att(nid, id_alb, 'title', 'Albedo a la surface')
    657652
    658653      ierr = nf90_def_var(nid, 'RUG', nf90_format, dims, id_rug)
    659       ierr = nf_put_att_text(nid, id_rug, 'title', 8, 'Rugosite')
     654      ierr = nf90_put_att(nid, id_rug, 'title', 'Rugosite')
    660655
    661656      ierr = nf90_def_var(nid, 'FTER', nf90_format, dims, id_fter)
    662       ierr = nf_put_att_text(nid, id_fter, 'title',10,'Frac. Land')
     657      ierr = nf90_put_att(nid, id_fter, 'title','Frac. Land')
    663658      ierr = nf90_def_var(nid, 'FOCE', nf90_format, dims, id_foce)
    664       ierr = nf_put_att_text(nid, id_foce, 'title',11,'Frac. Ocean')
     659      ierr = nf90_put_att(nid, id_foce, 'title','Frac. Ocean')
    665660      ierr = nf90_def_var(nid, 'FSIC', nf90_format, dims, id_fsic)
    666       ierr = nf_put_att_text(nid, id_fsic, 'title',13,'Frac. Sea Ice')
     661      ierr = nf90_put_att(nid, id_fsic, 'title','Frac. Sea Ice')
    667662      ierr = nf90_def_var(nid, 'FLIC', nf90_format, dims, id_flic)
    668       ierr = nf_put_att_text(nid, id_flic, 'title',14,'Frac. Land Ice')
    669 
    670       ierr = nf_enddef(nid)
    671       IF (ierr/=nf_noerr) THEN
     663      ierr = nf90_put_att(nid, id_flic, 'title','Frac. Land Ice')
     664
     665      ierr = nf90_enddef(nid)
     666      IF (ierr/=nf90_noerr) THEN
    672667        WRITE (*, *) 'writelim error: failed to end define mode'
    673         WRITE (*, *) nf_strerror(ierr)
     668        WRITE (*, *) nf90_strerror(ierr)
    674669      END IF
    675670
     
    678673      DO k = 1, year_len
    679674        ierr = nf90_put_var(nid, id_tim, k, [k])
    680         IF (ierr/=nf_noerr) THEN
     675        IF (ierr/=nf90_noerr) THEN
    681676          WRITE (*, *) 'writelim error with temps(k),k=', k
    682           WRITE (*, *) nf_strerror(ierr)
     677          WRITE (*, *) nf90_strerror(ierr)
    683678        END IF
    684679      END DO
     
    691686    IF (is_master) THEN
    692687      ierr = nf90_put_var(nid, id_nat, phy_glo)
    693       IF (ierr/=nf_noerr) THEN
     688      IF (ierr/=nf90_noerr) THEN
    694689        WRITE (*, *) 'writelim error with phy_nat'
    695         WRITE (*, *) nf_strerror(ierr)
     690        WRITE (*, *) nf90_strerror(ierr)
    696691      END IF
    697692    END IF
     
    700695    IF (is_master) THEN
    701696      ierr = nf90_put_var(nid, id_sst, phy_glo)
    702       IF (ierr/=nf_noerr) THEN
     697      IF (ierr/=nf90_noerr) THEN
    703698        WRITE (*, *) 'writelim error with phy_sst'
    704         WRITE (*, *) nf_strerror(ierr)
     699        WRITE (*, *) nf90_strerror(ierr)
    705700      END IF
    706701    END IF
     
    709704    IF (is_master) THEN
    710705      ierr = nf90_put_var(nid, id_bils, phy_glo)
    711       IF (ierr/=nf_noerr) THEN
     706      IF (ierr/=nf90_noerr) THEN
    712707        WRITE (*, *) 'writelim error with phy_bil'
    713         WRITE (*, *) nf_strerror(ierr)
     708        WRITE (*, *) nf90_strerror(ierr)
    714709      END IF
    715710    END IF
     
    718713    IF (is_master) THEN
    719714      ierr = nf90_put_var(nid, id_alb, phy_glo)
    720       IF (ierr/=nf_noerr) THEN
     715      IF (ierr/=nf90_noerr) THEN
    721716        WRITE (*, *) 'writelim error with phy_alb'
    722         WRITE (*, *) nf_strerror(ierr)
     717        WRITE (*, *) nf90_strerror(ierr)
    723718      END IF
    724719    END IF
     
    727722    IF (is_master) THEN
    728723      ierr = nf90_put_var(nid, id_rug, phy_glo)
    729       IF (ierr/=nf_noerr) THEN
     724      IF (ierr/=nf90_noerr) THEN
    730725        WRITE (*, *) 'writelim error with phy_rug'
    731         WRITE (*, *) nf_strerror(ierr)
     726        WRITE (*, *) nf90_strerror(ierr)
    732727      END IF
    733728    END IF
     
    736731    IF (is_master) THEN
    737732      ierr = nf90_put_var(nid, id_fter, phy_glo)
    738       IF (ierr/=nf_noerr) THEN
     733      IF (ierr/=nf90_noerr) THEN
    739734        WRITE (*, *) 'writelim error with phy_fter'
    740         WRITE (*, *) nf_strerror(ierr)
     735        WRITE (*, *) nf90_strerror(ierr)
    741736      END IF
    742737    END IF
     
    745740    IF (is_master) THEN
    746741      ierr = nf90_put_var(nid, id_foce, phy_glo)
    747       IF (ierr/=nf_noerr) THEN
     742      IF (ierr/=nf90_noerr) THEN
    748743        WRITE (*, *) 'writelim error with phy_foce'
    749         WRITE (*, *) nf_strerror(ierr)
     744        WRITE (*, *) nf90_strerror(ierr)
    750745      END IF
    751746    END IF
     
    754749    IF (is_master) THEN
    755750      ierr = nf90_put_var(nid, id_fsic, phy_glo)
    756       IF (ierr/=nf_noerr) THEN
     751      IF (ierr/=nf90_noerr) THEN
    757752        WRITE (*, *) 'writelim error with phy_fsic'
    758         WRITE (*, *) nf_strerror(ierr)
     753        WRITE (*, *) nf90_strerror(ierr)
    759754      END IF
    760755    END IF
     
    763758    IF (is_master) THEN
    764759      ierr = nf90_put_var(nid, id_flic, phy_glo)
    765       IF (ierr/=nf_noerr) THEN
     760      IF (ierr/=nf90_noerr) THEN
    766761        WRITE (*, *) 'writelim error with phy_flic'
    767         WRITE (*, *) nf_strerror(ierr)
     762        WRITE (*, *) nf90_strerror(ierr)
    768763      END IF
    769764    END IF
     
    771766    ! close file:
    772767    IF (is_master) THEN
    773       ierr = nf_close(nid)
     768      ierr = nf90_close(nid)
    774769    END IF
    775770
Note: See TracChangeset for help on using the changeset viewer.