Ignore:
Timestamp:
Jul 20, 2024, 4:30:31 PM (2 months ago)
Author:
abarral
Message:

Remove all managed netcdf77 usage (excluding external: rrtm, ecrad)
Remove call to netcdf.inc
Replace USE lmdz_netcdf by USE netcdf
Replace lmdz_netcdf.F90 by lmdz_netcdf_format.F90

File:
1 edited

Legend:

Unmodified
Added
Removed
  • LMDZ6/branches/Amaury_dev/libf/phylmd/iotd_ini.F90

    r5087 r5088  
    11      SUBROUTINE iotd_ini(fichnom,iim,jjm,llm,prlon,prlat,pcoordv,jour0,mois0,an0,t0,timestep,calendrier)
    2             USE lmdz_netcdf, ONLY: nf_enddef,nf_put_att_text,nf_float,nf_def_var,nf_redef,&
    3                     nf_global,nf_def_dim,nf_create,nf_clobber,nf_unlimited,nf90_put_var
     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
    44      IMPLICIT NONE
    55
     
    9191   
    9292      ! Create the NetCDF file
    93       ierr=NF_CREATE(fichnom, NF_CLOBBER, nid)
    94       ierr=NF_DEF_DIM(nid, "lon", iim, dim_coord(1))
    95       ierr=NF_DEF_DIM(nid, "lat", jjm, dim_coord(2))
    96       ierr=NF_DEF_DIM(nid, "lev", llm, dim_coord(3))
    97       ierr=NF_DEF_DIM(nid,"time",NF_UNLIMITED,dim_coord(4))
    98       ierr = NF_PUT_ATT_TEXT(nid,NF_GLOBAL,'Conventions',6,"CF-1.1")
    99       !ierr = NF_PUT_ATT_TEXT(nid,NF_GLOBAL,'file_name',TRIM(fname))
    100       ierr=NF_ENDDEF(nid)
     93      ierr=nf90_create(fichnom, nf90_clobber, nid)
     94      ierr=nf90_def_dim(nid, "lon", iim, dim_coord(1))
     95      ierr=nf90_def_dim(nid, "lat", jjm, dim_coord(2))
     96      ierr=nf90_def_dim(nid, "lev", llm, dim_coord(3))
     97      ierr=nf90_def_dim(nid,"time",nf90_unlimited,dim_coord(4))
     98      ierr = nf90_put_att(nid,nf90_global,'Conventions',"CF-1.1")
     99      !ierr = nf90_put_att(nid,nf90_global,'file_name',TRIM(fname))
     100      ierr=nf90_enddef(nid)
    101101
    102102      ! Switch out of NetCDF Define mode
    103103
    104104
    105       ierr=NF_ENDDEF(nid)
     105      ierr=nf90_enddef(nid)
    106106!
    107107!  Contol parameters for this run
    108108! ---- longitude -----------
    109109
    110       ierr=NF_REDEF(nid)
    111       ierr=NF_DEF_VAR(nid,"lon", NF_FLOAT, 1, dim_coord(1),nvarid)
    112       ierr = NF_PUT_ATT_TEXT(nid,nvarid,'axis',1,'X')
    113       ierr=NF_PUT_ATT_TEXT(nid,nvarid,'units',12,"degrees_east")
    114       ierr=NF_ENDDEF(nid)
     110      ierr=nf90_redef(nid)
     111      ierr=nf90_def_var(nid,"lon", nf90_float, dim_coord(1),nvarid)
     112      ierr = nf90_put_att(nid,nvarid,'axis','X')
     113      ierr=nf90_put_att(nid,nvarid,'units',"degrees_east")
     114      ierr=nf90_enddef(nid)
    115115      ierr=nf90_put_var(nid,nvarid,rlon)
    116116       print*,ierr
    117117
    118118! ---- latitude ------------
    119       ierr=NF_REDEF(nid)
    120       ierr=NF_DEF_VAR(nid, "lat", NF_FLOAT, 1, dim_coord(2),nvarid)
    121       ierr = NF_PUT_ATT_TEXT(nid,nvarid,'axis',1,'Y')
    122       ierr=NF_PUT_ATT_TEXT(nid,nvarid,'units',13,"degrees_north")
    123       ierr=NF_ENDDEF(nid)
     119      ierr=nf90_redef(nid)
     120      ierr=nf90_def_var(nid, "lat", nf90_float, dim_coord(2),nvarid)
     121      ierr = nf90_put_att(nid,nvarid,'axis','Y')
     122      ierr=nf90_put_att(nid,nvarid,'units',"degrees_north")
     123      ierr=nf90_enddef(nid)
    124124      ierr=nf90_put_var(nid,nvarid,rlat)
    125125!
    126126! ---- vertical ------------
    127       ierr=NF_REDEF(nid)
    128       ierr=NF_DEF_VAR(nid, "lev", NF_FLOAT, 1,dim_coord(3),nvarid)
    129       ierr=NF_PUT_ATT_TEXT(nid,nvarid,"long_name",10,"vert level")
     127      ierr=nf90_redef(nid)
     128      ierr=nf90_def_var(nid, "lev", nf90_float,dim_coord(3),nvarid)
     129      ierr=nf90_put_att(nid,nvarid,"long_name","vert level")
    130130      if ( coordv(2)>coordv(1) ) then
    131          ierr=NF_PUT_ATT_TEXT(nid,nvarid,"long_name",10,"pseudo-alt")
    132          ierr=NF_PUT_ATT_TEXT(nid,nvarid,'positive',2,"up")
     131         ierr=nf90_put_att(nid,nvarid,"long_name","pseudo-alt")
     132         ierr=nf90_put_att(nid,nvarid,'positive',"up")
    133133      else
    134          ierr=NF_PUT_ATT_TEXT(nid,nvarid,"long_name",8,"pressure")
    135          ierr = NF_PUT_ATT_TEXT (nid,nvarid,'positive',4,"down")
     134         ierr=nf90_put_att(nid,nvarid,"long_name","pressure")
     135         ierr = nf90_put_att(nid,nvarid,'positive',"down")
    136136      endif
    137       ierr=NF_ENDDEF(nid)
     137      ierr=nf90_enddef(nid)
    138138      ierr=nf90_put_var(nid,nvarid,coordv)
    139139
    140140!
    141141! ---- time ----------------
    142       ierr=NF_REDEF(nid)
     142      ierr=nf90_redef(nid)
    143143      ! Define the 'time' variable
    144       ierr=NF_DEF_VAR(nid, "time", NF_FLOAT, 1, dim_coord(4),nvarid)
     144      ierr=nf90_def_var(nid, "time", nf90_float, dim_coord(4),nvarid)
    145145!     ! Add attributes
    146       ierr = NF_PUT_ATT_TEXT(nid,nvarid,'axis',1,'T')
    147       ierr = NF_PUT_ATT_TEXT(nid,nvarid,'standard_name',4,'time')
     146      ierr = nf90_put_att(nid,nvarid,'axis','T')
     147      ierr = nf90_put_att(nid,nvarid,'standard_name','time')
    148148      WRITE(date0,'(i4.4,"-",i2.2,"-",i2.2)') an0,mois0,jour0
    149       ierr=NF_PUT_ATT_TEXT(nid, nvarid,'units',33, &
     149      ierr=nf90_put_att(nid, nvarid,'units', &
    150150   "seconds since "//date0//" 00:00:00")
    151       ierr = NF_PUT_ATT_TEXT(nid,nvarid,'calendar',9,calendrier)
    152       !ierr = NF_PUT_ATT_TEXT(nid,nvarid,'calendar',4,'360d')
    153       ierr = NF_PUT_ATT_TEXT(nid,nvarid,'title',4,'Time')
    154       ierr = NF_PUT_ATT_TEXT(nid,nvarid,'long_name',9,'Time axis')
     151      ierr = nf90_put_att(nid,nvarid,'calendar',calendrier)
     152      !ierr = nf90_put_att(nid,nvarid,'calendar','360d')
     153      ierr = nf90_put_att(nid,nvarid,'title','Time')
     154      ierr = nf90_put_att(nid,nvarid,'long_name','Time axis')
    155155      WRITE(date0b,'(i4.4,"-",a3,"-",i2.2)') an0,cmois(mois0),jour0
    156       ierr = NF_PUT_ATT_TEXT(nid,nvarid,'time_origin',20, &
     156      ierr = nf90_put_att(nid,nvarid,'time_origin', &
    157157          date0b//' 00:00:00')
    158       ierr=NF_ENDDEF(nid)
     158      ierr=nf90_enddef(nid)
    159159
    160160
Note: See TracChangeset for help on using the changeset viewer.