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/dyn3dpar/guide_p_mod.F90

    r1187 r1188  
    1212  USE getparam
    1313  USE Write_Field_p
     14  use netcdf, only: nf90_nowrite, nf90_open, nf90_inq_varid, nf90_close
    1415
    1516  IMPLICIT NONE
     
    145146    ncidpl=-99
    146147    if (guide_modele) then
    147        if (ncidpl.eq.-99) ncidpl=NCOPN('apbp.nc',NCNOWRIT,rcod)
     148       if (ncidpl.eq.-99) rcod=nf90_open('apbp.nc',Nf90_NOWRITe, ncidpl)
    148149    else
    149150         if (guide_u) then
    150            if (ncidpl.eq.-99) ncidpl=NCOPN('u.nc',NCNOWRIT,rcod)
     151           if (ncidpl.eq.-99) rcod=nf90_open('u.nc',Nf90_NOWRITe,ncidpl)
    151152         elseif (guide_v) then
    152            if (ncidpl.eq.-99) ncidpl=NCOPN('v.nc',NCNOWRIT,rcod)
     153           if (ncidpl.eq.-99) rcod=nf90_open('v.nc',nf90_nowrite,ncidpl)
    153154         elseif (guide_T) then
    154            if (ncidpl.eq.-99) ncidpl=NCOPN('T.nc',NCNOWRIT,rcod)
     155           if (ncidpl.eq.-99) rcod=nf90_open('T.nc',nf90_nowrite,ncidpl)
    155156         elseif (guide_Q) then
    156            if (ncidpl.eq.-99) ncidpl=NCOPN('hur.nc',NCNOWRIT,rcod)
     157           if (ncidpl.eq.-99) rcod=nf90_open('hur.nc',nf90_nowrite, ncidpl)
    157158         endif
    158159    endif
     
    165166    error=NF_INQ_DIMLEN(ncidpl,rid,nlevnc)
    166167    print *,'Guide: nombre niveaux vert. nlevnc', nlevnc
    167     CALL NCCLOS(ncidpl,rcod)
     168    rcod = nf90_close(ncidpl)
    168169
    169170! ---------------------------------------------
     
    10711072         if (guide_modele) then
    10721073             print *,'Lecture du guidage sur niveaux mod�le'
    1073              ncidpl=NCOPN('apbp.nc',NCNOWRIT,rcode)
    1074              varidap=NCVID(ncidpl,'AP',rcode)
    1075              varidbp=NCVID(ncidpl,'BP',rcode)
     1074             rcode = nf90_open('apbp.nc', nf90_nowrite, ncidpl)
     1075             rcode = nf90_inq_varid(ncidpl, 'AP', varidap)
     1076             rcode = nf90_inq_varid(ncidpl, 'BP', varidbp)
    10761077             print*,'ncidpl,varidap',ncidpl,varidap
    10771078         endif
    10781079! Vent zonal
    10791080         if (guide_u) then
    1080              ncidu=NCOPN('u.nc',NCNOWRIT,rcode)
    1081              varidu=NCVID(ncidu,'UWND',rcode)
     1081             rcode = nf90_open('u.nc', nf90_nowrite, ncidu)
     1082             rcode = nf90_inq_varid(ncidu, 'UWND', varidu)
    10821083             print*,'ncidu,varidu',ncidu,varidu
    10831084             if (ncidpl.eq.-99) ncidpl=ncidu
     
    10851086! Vent meridien
    10861087         if (guide_v) then
    1087              ncidv=NCOPN('v.nc',NCNOWRIT,rcode)
    1088              varidv=NCVID(ncidv,'VWND',rcode)
     1088             rcode = nf90_open('v.nc', nf90_nowrite, ncidv)
     1089             rcode = nf90_inq_varid(ncidv, 'VWND', varidv)
    10891090             print*,'ncidv,varidv',ncidv,varidv
    10901091             if (ncidpl.eq.-99) ncidpl=ncidv
     
    10921093! Temperature
    10931094         if (guide_T) then
    1094              ncidt=NCOPN('T.nc',NCNOWRIT,rcode)
    1095              varidt=NCVID(ncidt,'AIR',rcode)
     1095             rcode = nf90_open('T.nc', nf90_nowrite, ncidt)
     1096             rcode = nf90_inq_varid(ncidt, 'AIR', varidt)
    10961097             print*,'ncidT,varidT',ncidt,varidt
    10971098             if (ncidpl.eq.-99) ncidpl=ncidt
     
    10991100! Humidite
    11001101         if (guide_Q) then
    1101              ncidQ=NCOPN('hur.nc',NCNOWRIT,rcode)
    1102              varidQ=NCVID(ncidQ,'RH',rcode)
     1102             rcode = nf90_open('hur.nc', nf90_nowrite, ncidQ)
     1103             rcode = nf90_inq_varid(ncidQ, 'RH', varidQ)
    11031104             print*,'ncidQ,varidQ',ncidQ,varidQ
    11041105             if (ncidpl.eq.-99) ncidpl=ncidQ
     
    11061107! Pression de surface
    11071108         if ((guide_P).OR.(guide_modele)) then
    1108              ncidps=NCOPN('ps.nc',NCNOWRIT,rcode)
    1109              varidps=NCVID(ncidps,'SP',rcode)
     1109             rcode = nf90_open('ps.nc', nf90_nowrite, ncidps)
     1110             rcode = nf90_inq_varid(ncidps, 'SP', varidps)
    11101111             print*,'ncidps,varidps',ncidps,varidps
    11111112         endif
    11121113! Coordonnee verticale
    11131114         if (.not.guide_modele) then
    1114               rcode=NF_INQ_VARID(ncidpl,'LEVEL',varidpl)
    1115               IF (rcode.NE.0) rcode=NF_INQ_VARID(ncidpl,'PRESSURE',varidpl)
     1115              rcode = nf90_inq_varid(ncidpl, 'LEVEL', varidpl)
     1116              IF (rcode.NE.0) rcode = nf90_inq_varid(ncidpl, 'PRESSURE', varidpl)
    11161117              print*,'ncidpl,varidpl',ncidpl,varidpl
    11171118         endif
     
    12551256         if (guide_modele) then
    12561257             print *,'Lecture du guidage sur niveaux mod�le'
    1257              ncidpl=NCOPN('apbp.nc',NCNOWRIT,rcode)
    1258              varidap=NCVID(ncidpl,'AP',rcode)
    1259              varidbp=NCVID(ncidpl,'BP',rcode)
     1258             rcode = nf90_open('apbp.nc', nf90_nowrite, ncidpl)
     1259             rcode = nf90_inq_varid(ncidpl, 'AP', varidap)
     1260             rcode = nf90_inq_varid(ncidpl, 'BP', varidbp)
    12601261             print*,'ncidpl,varidap',ncidpl,varidap
    12611262         endif
    12621263! Vent zonal
    12631264         if (guide_u) then
    1264              ncidu=NCOPN('u.nc',NCNOWRIT,rcode)
    1265              varidu=NCVID(ncidu,'UWND',rcode)
     1265             rcode = nf90_open('u.nc', nf90_nowrite, ncidu)
     1266             rcode = nf90_inq_varid(ncidu, 'UWND', varidu)
    12661267             print*,'ncidu,varidu',ncidu,varidu
    12671268             if (ncidpl.eq.-99) ncidpl=ncidu
     
    12691270! Vent meridien
    12701271         if (guide_v) then
    1271              ncidv=NCOPN('v.nc',NCNOWRIT,rcode)
    1272              varidv=NCVID(ncidv,'VWND',rcode)
     1272             rcode = nf90_open('v.nc', nf90_nowrite, ncidv)
     1273             rcode = nf90_inq_varid(ncidv, 'VWND', varidv)
    12731274             print*,'ncidv,varidv',ncidv,varidv
    12741275             if (ncidpl.eq.-99) ncidpl=ncidv
     
    12761277! Temperature
    12771278         if (guide_T) then
    1278              ncidt=NCOPN('T.nc',NCNOWRIT,rcode)
    1279              varidt=NCVID(ncidt,'AIR',rcode)
     1279             rcode = nf90_open('T.nc', nf90_nowrite, ncidt)
     1280             rcode = nf90_inq_varid(ncidt, 'AIR', varidt)
    12801281             print*,'ncidT,varidT',ncidt,varidt
    12811282             if (ncidpl.eq.-99) ncidpl=ncidt
     
    12831284! Humidite
    12841285         if (guide_Q) then
    1285              ncidQ=NCOPN('hur.nc',NCNOWRIT,rcode)
    1286              varidQ=NCVID(ncidQ,'RH',rcode)
     1286             rcode = nf90_open('hur.nc', nf90_nowrite, ncidQ)
     1287             rcode = nf90_inq_varid(ncidQ, 'RH', varidQ)
    12871288             print*,'ncidQ,varidQ',ncidQ,varidQ
    12881289             if (ncidpl.eq.-99) ncidpl=ncidQ
     
    12901291! Pression de surface
    12911292         if ((guide_P).OR.(guide_modele)) then
    1292              ncidps=NCOPN('ps.nc',NCNOWRIT,rcode)
    1293              varidps=NCVID(ncidps,'SP',rcode)
     1293             rcode = nf90_open('ps.nc', nf90_nowrite, ncidps)
     1294             rcode = nf90_inq_varid(ncidps, 'SP', varidps)
    12941295             print*,'ncidps,varidps',ncidps,varidps
    12951296         endif
    12961297! Coordonnee verticale
    12971298         if (.not.guide_modele) then
    1298               rcode=NF_INQ_VARID(ncidpl,'LEVEL',varidpl)
    1299               IF (rcode.NE.0) rcode=NF_INQ_VARID(ncidpl,'PRESSURE',varidpl)
     1299              rcode = nf90_inq_varid(ncidpl, 'LEVEL', varidpl)
     1300              IF (rcode.NE.0) rcode = nf90_inq_varid(ncidpl, 'PRESSURE', varidpl)
    13001301              print*,'ncidpl,varidpl',ncidpl,varidpl
    13011302         endif
Note: See TracChangeset for help on using the changeset viewer.