Ignore:
Timestamp:
Jun 18, 2009, 5:50:11 PM (15 years ago)
Author:
lguez
Message:

Translated calls using NetCDF 2.4 interface to calls using NetCDF 3.6
Fortran 90 interface.
Corrected a few comments in "output.def".

File:
1 edited

Legend:

Unmodified
Added
Removed
  • LMDZ4/branches/LMDZ4-dev/libf/dyn3d/guide_mod.F90

    r1187 r1188  
    1111  USE getparam
    1212  USE Write_Field
     13  use netcdf, only: nf90_nowrite, nf90_open, nf90_inq_varid, nf90_close
    1314
    1415  IMPLICIT NONE
     
    140141    ncidpl=-99
    141142    if (guide_modele) then
    142        if (ncidpl.eq.-99) ncidpl=NCOPN('apbp.nc',NCNOWRIT,rcod)
     143       if (ncidpl.eq.-99) rcod=nf90_open('apbp.nc',Nf90_NOWRITe, ncidpl)
    143144    else
    144145         if (guide_u) then
    145            if (ncidpl.eq.-99) ncidpl=NCOPN('u.nc',NCNOWRIT,rcod)
     146           if (ncidpl.eq.-99) rcod=nf90_open('u.nc',Nf90_NOWRITe,ncidpl)
    146147         elseif (guide_v) then
    147            if (ncidpl.eq.-99) ncidpl=NCOPN('v.nc',NCNOWRIT,rcod)
     148           if (ncidpl.eq.-99) rcod=nf90_open('v.nc',nf90_nowrite,ncidpl)
    148149         elseif (guide_T) then
    149            if (ncidpl.eq.-99) ncidpl=NCOPN('T.nc',NCNOWRIT,rcod)
     150           if (ncidpl.eq.-99) rcod=nf90_open('T.nc',nf90_nowrite,ncidpl)
    150151         elseif (guide_Q) then
    151            if (ncidpl.eq.-99) ncidpl=NCOPN('hur.nc',NCNOWRIT,rcod)
     152           if (ncidpl.eq.-99) rcod=nf90_open('hur.nc',nf90_nowrite, ncidpl)
    152153         endif
    153154    endif
     
    160161    error=NF_INQ_DIMLEN(ncidpl,rid,nlevnc)
    161162    print *,'Guide: nombre niveaux vert. nlevnc', nlevnc
    162     CALL NCCLOS(ncidpl,rcod)
     163    rcod = nf90_close(ncidpl)
    163164
    164165! ---------------------------------------------
     
    992993         if (guide_modele) then
    993994             print *,'Lecture du guidage sur niveaux mod�le'
    994              ncidpl=NCOPN('apbp.nc',NCNOWRIT,rcode)
    995              varidap=NCVID(ncidpl,'AP',rcode)
    996              varidbp=NCVID(ncidpl,'BP',rcode)
     995             rcode = nf90_open('apbp.nc', nf90_nowrite, ncidpl)
     996             rcode = nf90_inq_varid(ncidpl, 'AP', varidap)
     997             rcode = nf90_inq_varid(ncidpl, 'BP', varidbp)
    997998             print*,'ncidpl,varidap',ncidpl,varidap
    998999         endif
    9991000! Vent zonal
    10001001         if (guide_u) then
    1001              ncidu=NCOPN('u.nc',NCNOWRIT,rcode)
    1002              varidu=NCVID(ncidu,'UWND',rcode)
     1002             rcode = nf90_open('u.nc', nf90_nowrite, ncidu)
     1003             rcode = nf90_inq_varid(ncidu, 'UWND', varidu)
    10031004             print*,'ncidu,varidu',ncidu,varidu
    10041005             if (ncidpl.eq.-99) ncidpl=ncidu
     
    10061007! Vent meridien
    10071008         if (guide_v) then
    1008              ncidv=NCOPN('v.nc',NCNOWRIT,rcode)
    1009              varidv=NCVID(ncidv,'VWND',rcode)
     1009             rcode = nf90_open('v.nc', nf90_nowrite, ncidv)
     1010             rcode = nf90_inq_varid(ncidv, 'VWND', varidv)
    10101011             print*,'ncidv,varidv',ncidv,varidv
    10111012             if (ncidpl.eq.-99) ncidpl=ncidv
     
    10131014! Temperature
    10141015         if (guide_T) then
    1015              ncidt=NCOPN('T.nc',NCNOWRIT,rcode)
    1016              varidt=NCVID(ncidt,'AIR',rcode)
     1016             rcode = nf90_open('T.nc', nf90_nowrite, ncidt)
     1017             rcode = nf90_inq_varid(ncidt, 'AIR', varidt)
    10171018             print*,'ncidT,varidT',ncidt,varidt
    10181019             if (ncidpl.eq.-99) ncidpl=ncidt
     
    10201021! Humidite
    10211022         if (guide_Q) then
    1022              ncidQ=NCOPN('hur.nc',NCNOWRIT,rcode)
    1023              varidQ=NCVID(ncidQ,'RH',rcode)
     1023             rcode = nf90_open('hur.nc', nf90_nowrite, ncidQ)
     1024             rcode = nf90_inq_varid(ncidQ, 'RH', varidQ)
    10241025             print*,'ncidQ,varidQ',ncidQ,varidQ
    10251026             if (ncidpl.eq.-99) ncidpl=ncidQ
     
    10271028! Pression de surface
    10281029         if ((guide_P).OR.(guide_modele)) then
    1029              ncidps=NCOPN('ps.nc',NCNOWRIT,rcode)
    1030              varidps=NCVID(ncidps,'SP',rcode)
     1030             rcode = nf90_open('ps.nc', nf90_nowrite, ncidps)
     1031             rcode = nf90_inq_varid(ncidps, 'SP', varidps)
    10311032             print*,'ncidps,varidps',ncidps,varidps
    10321033         endif
    10331034! Coordonnee verticale
    10341035         if (.not.guide_modele) then
    1035               rcode=NF_INQ_VARID(ncidpl,'LEVEL',varidpl)
    1036               IF (rcode.NE.0) rcode=NF_INQ_VARID(ncidpl,'PRESSURE',varidpl)
     1036              rcode = nf90_inq_varid(ncidpl, 'LEVEL', varidpl)
     1037              IF (rcode.NE.0) rcode = nf90_inq_varid(ncidpl, 'PRESSURE', varidpl)
    10371038              print*,'ncidpl,varidpl',ncidpl,varidpl
    10381039         endif
     
    11751176         if (guide_modele) then
    11761177             print *,'Lecture du guidage sur niveaux mod�le'
    1177              ncidpl=NCOPN('apbp.nc',NCNOWRIT,rcode)
    1178              varidap=NCVID(ncidpl,'AP',rcode)
    1179              varidbp=NCVID(ncidpl,'BP',rcode)
     1178             rcode = nf90_open('apbp.nc', nf90_nowrite, ncidpl)
     1179             rcode = nf90_inq_varid(ncidpl, 'AP', varidap)
     1180             rcode = nf90_inq_varid(ncidpl, 'BP', varidbp)
    11801181             print*,'ncidpl,varidap',ncidpl,varidap
    11811182         endif
    11821183! Vent zonal
    11831184         if (guide_u) then
    1184              ncidu=NCOPN('u.nc',NCNOWRIT,rcode)
    1185              varidu=NCVID(ncidu,'UWND',rcode)
     1185             rcode = nf90_open('u.nc', nf90_nowrite, ncidu)
     1186             rcode = nf90_inq_varid(ncidu, 'UWND', varidu)
    11861187             print*,'ncidu,varidu',ncidu,varidu
    11871188             if (ncidpl.eq.-99) ncidpl=ncidu
     
    11891190! Vent meridien
    11901191         if (guide_v) then
    1191              ncidv=NCOPN('v.nc',NCNOWRIT,rcode)
    1192              varidv=NCVID(ncidv,'VWND',rcode)
     1192             rcode = nf90_open('v.nc', nf90_nowrite, ncidv)
     1193             rcode = nf90_inq_varid(ncidv, 'VWND', varidv)
    11931194             print*,'ncidv,varidv',ncidv,varidv
    11941195             if (ncidpl.eq.-99) ncidpl=ncidv
     
    11961197! Temperature
    11971198         if (guide_T) then
    1198              ncidt=NCOPN('T.nc',NCNOWRIT,rcode)
    1199              varidt=NCVID(ncidt,'AIR',rcode)
     1199             rcode = nf90_open('T.nc', nf90_nowrite, ncidt)
     1200             rcode = nf90_inq_varid(ncidt, 'AIR', varidt)
    12001201             print*,'ncidT,varidT',ncidt,varidt
    12011202             if (ncidpl.eq.-99) ncidpl=ncidt
     
    12031204! Humidite
    12041205         if (guide_Q) then
    1205              ncidQ=NCOPN('hur.nc',NCNOWRIT,rcode)
    1206              varidQ=NCVID(ncidQ,'RH',rcode)
     1206             rcode = nf90_open('hur.nc', nf90_nowrite, ncidQ)
     1207             rcode = nf90_inq_varid(ncidQ, 'RH', varidQ)
    12071208             print*,'ncidQ,varidQ',ncidQ,varidQ
    12081209             if (ncidpl.eq.-99) ncidpl=ncidQ
     
    12101211! Pression de surface
    12111212         if ((guide_P).OR.(guide_modele)) then
    1212              ncidps=NCOPN('ps.nc',NCNOWRIT,rcode)
    1213              varidps=NCVID(ncidps,'SP',rcode)
     1213             rcode = nf90_open('ps.nc', nf90_nowrite, ncidps)
     1214             rcode = nf90_inq_varid(ncidps, 'SP', varidps)
    12141215             print*,'ncidps,varidps',ncidps,varidps
    12151216         endif
    12161217! Coordonnee verticale
    12171218         if (.not.guide_modele) then
    1218               rcode=NF_INQ_VARID(ncidpl,'LEVEL',varidpl)
    1219               IF (rcode.NE.0) rcode=NF_INQ_VARID(ncidpl,'PRESSURE',varidpl)
     1219              rcode = nf90_inq_varid(ncidpl, 'LEVEL', varidpl)
     1220              IF (rcode.NE.0) rcode = nf90_inq_varid(ncidpl, 'PRESSURE', varidpl)
    12201221              print*,'ncidpl,varidpl',ncidpl,varidpl
    12211222         endif
Note: See TracChangeset for help on using the changeset viewer.