Ignore:
Timestamp:
Sep 21, 2022, 3:12:15 PM (2 years ago)
Author:
lguez
Message:

Replace nf_get_var_type by nf90_get_var

The immediate motivation is a bug fix: nf_get_var_type was called
with scalar resul3 or lat, lon, alt, phis instead of array actual
argument for dummy array argument rvals or dvals. Correcting this, we
might as well take the opportunity to use nf90_get_var, so we no
longer need to test NC_DOUBLE and we have half as many calls.

Location:
LMDZ6/trunk/libf/phylmd/dyn1d
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • LMDZ6/trunk/libf/phylmd/dyn1d/mod_1D_cases_read2.F90

    r4273 r4274  
    317317  !**********************************************************************************************
    318318  SUBROUTINE old_read_SCM_cas
     319    use netcdf, only: nf90_get_var
    319320    implicit none
    320321
     
    376377    else
    377378       allocate(time_val(nt_cas))
    378 #ifdef NC_DOUBLE
    379        ierr = NF_GET_VAR_DOUBLE(nid,timeid,time_val)
    380 #else
    381        ierr = NF_GET_VAR_REAL(nid,timeid,time_val)
    382 #endif
     379       ierr = NF90_GET_VAR(nid,timeid,time_val)
    383380       if(ierr/=NF_NOERR) then
    384381          print *,'Pb a la lecture de time cas.nc: '
     
    544541
    545542  !program reading forcing of the case study
     543  use netcdf, only: nf90_get_var
    546544  implicit none
    547545#include "netcdf.inc"
     
    591589     print *,'Dans read_cas2, on va lire ',var3didin(i),name_var(i)
    592590     if(i.LE.35) then
    593 #ifdef NC_DOUBLE
    594         ierr = NF_GET_VAR_DOUBLE(nid,var3didin(i),resul)
    595 #else
    596         ierr = NF_GET_VAR_REAL(nid,var3didin(i),resul)
    597 #endif
     591        ierr = NF90_GET_VAR(nid,var3didin(i),resul)
    598592        print *,'Dans read_cas2, on a lu ',ierr,var3didin(i),name_var(i)
    599593        if(ierr/=NF_NOERR) then
     
    602596        endif
    603597     else
    604 #ifdef NC_DOUBLE
    605         ierr = NF_GET_VAR_DOUBLE(nid,var3didin(i),resul1)
    606 #else
    607         ierr = NF_GET_VAR_REAL(nid,var3didin(i),resul1)
    608 #endif
     598        ierr = NF90_GET_VAR(nid,var3didin(i),resul1)
    609599        print *,'Dans read_cas2, on a lu ',ierr,var3didin(i),name_var(i)
    610600        if(ierr/=NF_NOERR) then
     
    667657
    668658  !program reading forcing of the case study
     659  use netcdf, only: nf90_get_var
    669660  implicit none
    670661#include "netcdf.inc"
     
    720711        !-----------------------------------------------------------------------
    721712        if(i.LE.4) then     ! Lecture des coord pression en (nlevelp1,lat,lon)
    722 #ifdef NC_DOUBLE
    723            ierr = NF_GET_VAR_DOUBLE(nid,var3didin(i),apbp)
    724 #else
    725            ierr = NF_GET_VAR_REAL(nid,var3didin(i),apbp)
    726 #endif
     713           ierr = NF90_GET_VAR(nid,var3didin(i),apbp)
    727714           print *,'read2_cas(apbp), on a lu ',i,name_var(i)
    728715           if(ierr/=NF_NOERR) then
     
    732719           !-----------------------------------------------------------------------
    733720        else if(i.gt.4.and.i.LE.45) then   ! Lecture des variables en (time,nlevel,lat,lon)
    734 #ifdef NC_DOUBLE
    735            ierr = NF_GET_VAR_DOUBLE(nid,var3didin(i),resul)
    736 #else
    737            ierr = NF_GET_VAR_REAL(nid,var3didin(i),resul)
    738 #endif
     721           ierr = NF90_GET_VAR(nid,var3didin(i),resul)
    739722           print *,'read2_cas(resul), on a lu ',i,name_var(i)
    740723           if(ierr/=NF_NOERR) then
     
    744727           !-----------------------------------------------------------------------
    745728        else if (i.gt.45.and.i.LE.51) then   ! Lecture des variables en (time,lat,lon)
    746 #ifdef NC_DOUBLE
    747            ierr = NF_GET_VAR_DOUBLE(nid,var3didin(i),resul2)
    748 #else
    749            ierr = NF_GET_VAR_REAL(nid,var3didin(i),resul2)
    750 #endif
     729           ierr = NF90_GET_VAR(nid,var3didin(i),resul2)
    751730           print *,'read2_cas(resul2), on a lu ',i,name_var(i)
    752731           if(ierr/=NF_NOERR) then
     
    756735           !-----------------------------------------------------------------------
    757736        else     ! Lecture des constantes (lat,lon)
    758 #ifdef NC_DOUBLE
    759            ierr = NF_GET_VAR_DOUBLE(nid,var3didin(i),resul3)
    760 #else
    761            ierr = NF_GET_VAR_REAL(nid,var3didin(i),resul3)
    762 #endif
     737           ierr = NF90_GET_VAR(nid,var3didin(i),resul3)
    763738           print *,'read2_cas(resul3), on a lu ',i,name_var(i)
    764739           if(ierr/=NF_NOERR) then
     
    853828
    854829  !program reading forcing of the case study
     830  use netcdf, only: nf90_get_var
    855831  implicit none
    856832#include "netcdf.inc"
     
    912888        !-----------------------------------------------------------------------
    913889        if(i.LE.4) then     ! Lecture des coord pression en (nlevelp1,lat,lon)
    914 #ifdef NC_DOUBLE
    915            ierr = NF_GET_VAR_DOUBLE(nid,var3didin(i),apbp)
    916 #else
    917            ierr = NF_GET_VAR_REAL(nid,var3didin(i),apbp)
    918 #endif
     890           ierr = NF90_GET_VAR(nid,var3didin(i),apbp)
    919891           print *,'read2_cas(apbp), on a lu ',i,name_var(i)
    920892           if(ierr/=NF_NOERR) then
     
    924896           !-----------------------------------------------------------------------
    925897        else if(i.gt.4.and.i.LE.12) then   ! Lecture des variables en (time,nlevel,lat,lon)
    926 #ifdef NC_DOUBLE
    927            ierr = NF_GET_VAR_DOUBLE(nid,var3didin(i),resul1)
    928 #else
    929            ierr = NF_GET_VAR_REAL(nid,var3didin(i),resul1)
    930 #endif
     898           ierr = NF90_GET_VAR(nid,var3didin(i),resul1)
    931899           print *,'read2_cas(resul1), on a lu ',i,name_var(i)
    932900           if(ierr/=NF_NOERR) then
     
    937905           !-----------------------------------------------------------------------
    938906        else if(i.gt.12.and.i.LE.54) then   ! Lecture des variables en (time,nlevel,lat,lon)
    939 #ifdef NC_DOUBLE
    940            ierr = NF_GET_VAR_DOUBLE(nid,var3didin(i),resul)
    941 #else
    942            ierr = NF_GET_VAR_REAL(nid,var3didin(i),resul)
    943 #endif
     907           ierr = NF90_GET_VAR(nid,var3didin(i),resul)
    944908           print *,'read2_cas(resul), on a lu ',i,name_var(i)
    945909           if(ierr/=NF_NOERR) then
     
    950914           !-----------------------------------------------------------------------
    951915        else if (i.gt.54.and.i.LE.65) then   ! Lecture des variables en (time,lat,lon)
    952 #ifdef NC_DOUBLE
    953            ierr = NF_GET_VAR_DOUBLE(nid,var3didin(i),resul2)
    954 #else
    955            ierr = NF_GET_VAR_REAL(nid,var3didin(i),resul2)
    956 #endif
     916           ierr = NF90_GET_VAR(nid,var3didin(i),resul2)
    957917           print *,'read2_cas(resul2), on a lu ',i,name_var(i)
    958918           if(ierr/=NF_NOERR) then
     
    963923           !-----------------------------------------------------------------------
    964924        else     ! Lecture des constantes (lat,lon)
    965 #ifdef NC_DOUBLE
    966            ierr = NF_GET_VAR_DOUBLE(nid,var3didin(i),resul3)
    967 #else
    968            ierr = NF_GET_VAR_REAL(nid,var3didin(i),resul3)
    969 #endif
     925           ierr = NF90_GET_VAR(nid,var3didin(i),resul3)
    970926           print *,'read2_cas(resul3), on a lu ',i,name_var(i)
    971927           if(ierr/=NF_NOERR) then
  • LMDZ6/trunk/libf/phylmd/dyn1d/mod_1D_cases_read_std.F90

    r4273 r4274  
    8787  !**********************************************************************************************
    8888  SUBROUTINE read_SCM_cas
     89    use netcdf, only: nf90_get_var
    8990    implicit none
    9091
     
    146147    else
    147148       allocate(time_val(nt_cas))
    148 #ifdef NC_DOUBLE
    149        ierr = NF_GET_VAR_DOUBLE(nid,timeid,time_val)
    150 #else
    151        ierr = NF_GET_VAR_REAL(nid,timeid,time_val)
    152 #endif
     149       ierr = NF90_GET_VAR(nid,timeid,time_val)
    153150       if(ierr/=NF_NOERR) then
    154151          print *,'Pb a la lecture de time cas.nc: '
     
    332329
    333330    !program reading forcing of the case study
     331    use netcdf, only: nf90_get_var
    334332    implicit none
    335333#include "netcdf.inc"
     
    458456          !-----------------------------------------------------------------------
    459457          if(i.LE.4) then
    460 #ifdef NC_DOUBLE
    461              ierr = NF_GET_VAR_DOUBLE(nid,var3didin(i),apbp)
    462 #else
    463              ierr = NF_GET_VAR_REAL(nid,var3didin(i),apbp)
    464 #endif
     458             ierr = NF90_GET_VAR(nid,var3didin(i),apbp)
    465459             print *,'read2_cas(apbp), on a lu ',i,name_var(i)
    466460             if(ierr/=NF_NOERR) then
     
    473467             !-----------------------------------------------------------------------
    474468          else if(i.gt.4.and.i.LE.12) then 
    475 #ifdef NC_DOUBLE
    476              ierr = NF_GET_VAR_DOUBLE(nid,var3didin(i),resul1)
    477 #else
    478              ierr = NF_GET_VAR_REAL(nid,var3didin(i),resul1)
    479 #endif
     469             ierr = NF90_GET_VAR(nid,var3didin(i),resul1)
    480470             print *,'read2_cas(resul1), on a lu ',i,name_var(i)
    481471             if(ierr/=NF_NOERR) then
     
    490480             !-----------------------------------------------------------------------
    491481          else if(i.gt.12.and.i.LE.61) then
    492 #ifdef NC_DOUBLE
    493              ierr = NF_GET_VAR_DOUBLE(nid,var3didin(i),resul)
    494 #else
    495              ierr = NF_GET_VAR_REAL(nid,var3didin(i),resul)
    496 #endif
     482             ierr = NF90_GET_VAR(nid,var3didin(i),resul)
    497483             print *,'read2_cas(resul), on a lu ',i,name_var(i)
    498484             if(ierr/=NF_NOERR) then
     
    506492             !-----------------------------------------------------------------------
    507493          else if (i.gt.62.and.i.LE.75) then
    508 #ifdef NC_DOUBLE
    509              ierr = NF_GET_VAR_DOUBLE(nid,var3didin(i),resul2)
    510 #else
    511              ierr = NF_GET_VAR_REAL(nid,var3didin(i),resul2)
    512 #endif
     494             ierr = NF90_GET_VAR(nid,var3didin(i),resul2)
    513495             print *,'read2_cas(resul2), on a lu ',i,name_var(i)
    514496             if(ierr/=NF_NOERR) then
     
    522504             !-----------------------------------------------------------------------
    523505          else
    524 #ifdef NC_DOUBLE
    525              ierr = NF_GET_VAR_DOUBLE(nid,var3didin(i),resul3)
    526 #else
    527              ierr = NF_GET_VAR_REAL(nid,var3didin(i),resul3)
    528 #endif
     506             ierr = NF90_GET_VAR(nid,var3didin(i),resul3)
    529507             print *,'read2_cas(resul3), on a lu ',i,name_var(i)
    530508             if(ierr/=NF_NOERR) then
  • LMDZ6/trunk/libf/phylmd/dyn1d/old_1DUTILS_read_interp.h

    r3541 r4274  
    146146!program reading forcings of the TWP-ICE experiment
    147147
    148 !      use netcdf
     148        use netcdf, only: nf90_get_var
    149149
    150150      implicit none
     
    314314       enddo
    315315         
    316 #ifdef NC_DOUBLE
    317          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(1),lat)
    318 #else
    319          ierr = NF_GET_VAR_REAL(nid,var3didin(1),lat)
    320 #endif
     316         ierr = NF90_GET_VAR(nid,var3didin(1),lat)
    321317         if(ierr/=NF_NOERR) then
    322318            write(*,*) NF_STRERROR(ierr)
     
    325321!         write(*,*)'lecture lat ok',lat
    326322
    327 #ifdef NC_DOUBLE
    328          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(2),lon)
    329 #else
    330          ierr = NF_GET_VAR_REAL(nid,var3didin(2),lon)
    331 #endif
     323         ierr = NF90_GET_VAR(nid,var3didin(2),lon)
    332324         if(ierr/=NF_NOERR) then
    333325            write(*,*) NF_STRERROR(ierr)
     
    336328!         write(*,*)'lecture lon ok',lon
    337329 
    338 #ifdef NC_DOUBLE
    339          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(3),alt)
    340 #else
    341          ierr = NF_GET_VAR_REAL(nid,var3didin(3),alt)
    342 #endif
     330         ierr = NF90_GET_VAR(nid,var3didin(3),alt)
    343331         if(ierr/=NF_NOERR) then
    344332            write(*,*) NF_STRERROR(ierr)
     
    347335!          write(*,*)'lecture alt ok',alt
    348336 
    349 #ifdef NC_DOUBLE
    350          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(4),phis)
    351 #else
    352          ierr = NF_GET_VAR_REAL(nid,var3didin(4),phis)
    353 #endif
     337         ierr = NF90_GET_VAR(nid,var3didin(4),phis)
    354338         if(ierr/=NF_NOERR) then
    355339            write(*,*) NF_STRERROR(ierr)
     
    358342!          write(*,*)'lecture phis ok',phis
    359343         
    360 #ifdef NC_DOUBLE
    361          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(5),T)
    362 #else
    363          ierr = NF_GET_VAR_REAL(nid,var3didin(5),T)
    364 #endif
     344         ierr = NF90_GET_VAR(nid,var3didin(5),T)
    365345         if(ierr/=NF_NOERR) then
    366346            write(*,*) NF_STRERROR(ierr)
     
    369349!         write(*,*)'lecture T ok'
    370350
    371 #ifdef NC_DOUBLE
    372          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(6),q)
    373 #else
    374          ierr = NF_GET_VAR_REAL(nid,var3didin(6),q)
    375 #endif
     351         ierr = NF90_GET_VAR(nid,var3didin(6),q)
    376352         if(ierr/=NF_NOERR) then
    377353            write(*,*) NF_STRERROR(ierr)
     
    385361       enddo
    386362       enddo
    387 #ifdef NC_DOUBLE
    388          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(7),u)
    389 #else
    390          ierr = NF_GET_VAR_REAL(nid,var3didin(7),u)
    391 #endif
     363         ierr = NF90_GET_VAR(nid,var3didin(7),u)
    392364         if(ierr/=NF_NOERR) then
    393365            write(*,*) NF_STRERROR(ierr)
     
    396368!         write(*,*)'lecture u ok'
    397369
    398 #ifdef NC_DOUBLE
    399          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(8),v)
    400 #else
    401          ierr = NF_GET_VAR_REAL(nid,var3didin(8),v)
    402 #endif
     370         ierr = NF90_GET_VAR(nid,var3didin(8),v)
    403371         if(ierr/=NF_NOERR) then
    404372            write(*,*) NF_STRERROR(ierr)
     
    407375!         write(*,*)'lecture v ok'
    408376
    409 #ifdef NC_DOUBLE
    410          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(9),omega)
    411 #else
    412          ierr = NF_GET_VAR_REAL(nid,var3didin(9),omega)
    413 #endif
     377         ierr = NF90_GET_VAR(nid,var3didin(9),omega)
    414378         if(ierr/=NF_NOERR) then
    415379            write(*,*) NF_STRERROR(ierr)
     
    424388       enddo
    425389
    426 #ifdef NC_DOUBLE
    427          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(10),div)
    428 #else
    429          ierr = NF_GET_VAR_REAL(nid,var3didin(10),div)
    430 #endif
     390         ierr = NF90_GET_VAR(nid,var3didin(10),div)
    431391         if(ierr/=NF_NOERR) then
    432392            write(*,*) NF_STRERROR(ierr)
     
    435395!         write(*,*)'lecture div ok'
    436396
    437 #ifdef NC_DOUBLE
    438          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(11),T_adv_h)
    439 #else
    440          ierr = NF_GET_VAR_REAL(nid,var3didin(11),T_adv_h)
    441 #endif
     397         ierr = NF90_GET_VAR(nid,var3didin(11),T_adv_h)
    442398         if(ierr/=NF_NOERR) then
    443399            write(*,*) NF_STRERROR(ierr)
     
    453409
    454410
    455 #ifdef NC_DOUBLE
    456          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(12),T_adv_v)
    457 #else
    458          ierr = NF_GET_VAR_REAL(nid,var3didin(12),T_adv_v)
    459 #endif
     411         ierr = NF90_GET_VAR(nid,var3didin(12),T_adv_v)
    460412         if(ierr/=NF_NOERR) then
    461413            write(*,*) NF_STRERROR(ierr)
     
    470422       enddo
    471423
    472 #ifdef NC_DOUBLE
    473          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(13),q_adv_h)
    474 #else
    475          ierr = NF_GET_VAR_REAL(nid,var3didin(13),q_adv_h)
    476 #endif
     424         ierr = NF90_GET_VAR(nid,var3didin(13),q_adv_h)
    477425         if(ierr/=NF_NOERR) then
    478426            write(*,*) NF_STRERROR(ierr)
     
    488436
    489437
    490 #ifdef NC_DOUBLE
    491          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(14),q_adv_v)
    492 #else
    493          ierr = NF_GET_VAR_REAL(nid,var3didin(14),q_adv_v)
    494 #endif
     438         ierr = NF90_GET_VAR(nid,var3didin(14),q_adv_v)
    495439         if(ierr/=NF_NOERR) then
    496440            write(*,*) NF_STRERROR(ierr)
     
    506450
    507451
    508 #ifdef NC_DOUBLE
    509          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(15),s)
    510 #else
    511          ierr = NF_GET_VAR_REAL(nid,var3didin(15),s)
    512 #endif
    513          if(ierr/=NF_NOERR) then
    514             write(*,*) NF_STRERROR(ierr)
    515             stop "getvarup"
    516          endif
    517 
    518 #ifdef NC_DOUBLE
    519          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(16),s_adv_h)
    520 #else
    521          ierr = NF_GET_VAR_REAL(nid,var3didin(16),s_adv_h)
    522 #endif
    523          if(ierr/=NF_NOERR) then
    524             write(*,*) NF_STRERROR(ierr)
    525             stop "getvarup"
    526          endif
    527 
    528 #ifdef NC_DOUBLE
    529          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(17),s_adv_v)
    530 #else
    531          ierr = NF_GET_VAR_REAL(nid,var3didin(17),s_adv_v)
    532 #endif
    533          if(ierr/=NF_NOERR) then
    534             write(*,*) NF_STRERROR(ierr)
    535             stop "getvarup"
    536          endif
    537 
    538 #ifdef NC_DOUBLE
    539          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(18),p_srf_aver)
    540 #else
    541          ierr = NF_GET_VAR_REAL(nid,var3didin(18),p_srf_aver)
    542 #endif
    543          if(ierr/=NF_NOERR) then
    544             write(*,*) NF_STRERROR(ierr)
    545             stop "getvarup"
    546          endif
    547 
    548 #ifdef NC_DOUBLE
    549          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(19),p_srf_center)
    550 #else
    551          ierr = NF_GET_VAR_REAL(nid,var3didin(19),p_srf_center)
    552 #endif
    553          if(ierr/=NF_NOERR) then
    554             write(*,*) NF_STRERROR(ierr)
    555             stop "getvarup"
    556          endif
    557 
    558 #ifdef NC_DOUBLE
    559          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(20),T_srf)
    560 #else
    561          ierr = NF_GET_VAR_REAL(nid,var3didin(20),T_srf)
    562 #endif
     452         ierr = NF90_GET_VAR(nid,var3didin(15),s)
     453         if(ierr/=NF_NOERR) then
     454            write(*,*) NF_STRERROR(ierr)
     455            stop "getvarup"
     456         endif
     457
     458         ierr = NF90_GET_VAR(nid,var3didin(16),s_adv_h)
     459         if(ierr/=NF_NOERR) then
     460            write(*,*) NF_STRERROR(ierr)
     461            stop "getvarup"
     462         endif
     463
     464         ierr = NF90_GET_VAR(nid,var3didin(17),s_adv_v)
     465         if(ierr/=NF_NOERR) then
     466            write(*,*) NF_STRERROR(ierr)
     467            stop "getvarup"
     468         endif
     469
     470         ierr = NF90_GET_VAR(nid,var3didin(18),p_srf_aver)
     471         if(ierr/=NF_NOERR) then
     472            write(*,*) NF_STRERROR(ierr)
     473            stop "getvarup"
     474         endif
     475
     476         ierr = NF90_GET_VAR(nid,var3didin(19),p_srf_center)
     477         if(ierr/=NF_NOERR) then
     478            write(*,*) NF_STRERROR(ierr)
     479            stop "getvarup"
     480         endif
     481
     482         ierr = NF90_GET_VAR(nid,var3didin(20),T_srf)
    563483         if(ierr/=NF_NOERR) then
    564484            write(*,*) NF_STRERROR(ierr)
     
    572492         subroutine catchaxis(nid,ttm,llm,time,lev,ierr)
    573493
    574 !         use netcdf
     494         use netcdf, only: nf90_get_var
    575495
    576496         implicit none
     
    610530         endif
    611531
    612 !#ifdef NC_DOUBLE
    613          ierr = NF_GET_VAR_DOUBLE(nid,timevar,time)
    614          ierr = NF_GET_VAR_DOUBLE(nid,levvar,lev)
    615 !#else
    616 !        ierr = NF_GET_VAR_REAL(nid,timevar,time)
    617 !        ierr = NF_GET_VAR_REAL(nid,levvar,lev)
    618 !#endif
     532         ierr = NF90_GET_VAR(nid,timevar,time)
     533         ierr = NF90_GET_VAR(nid,levvar,lev)
    619534
    620535       return
     
    22552170
    22562171
     2172      use netcdf, only: nf90_get_var
    22572173      implicit none
    22582174
     
    23642280!      call catchaxis(nid,ntime,nlevel,time,z,ierr)
    23652281 
    2366 #ifdef NC_DOUBLE
    2367          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(1),zz)
    2368 #else
    2369          ierr = NF_GET_VAR_REAL(nid,var3didin(1),zz)
    2370 #endif
     2282         ierr = NF90_GET_VAR(nid,var3didin(1),zz)
    23712283         if(ierr/=NF_NOERR) then
    23722284            write(*,*) NF_STRERROR(ierr)
     
    23752287!          write(*,*)'lecture z ok',zz
    23762288
    2377 #ifdef NC_DOUBLE
    2378          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(2),thl)
    2379 #else
    2380          ierr = NF_GET_VAR_REAL(nid,var3didin(2),thl)
    2381 #endif
     2289         ierr = NF90_GET_VAR(nid,var3didin(2),thl)
    23822290         if(ierr/=NF_NOERR) then
    23832291            write(*,*) NF_STRERROR(ierr)
     
    23862294!          write(*,*)'lecture thl ok',thl
    23872295
    2388 #ifdef NC_DOUBLE
    2389          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(3),qt)
    2390 #else
    2391          ierr = NF_GET_VAR_REAL(nid,var3didin(3),qt)
    2392 #endif
     2296         ierr = NF90_GET_VAR(nid,var3didin(3),qt)
    23932297         if(ierr/=NF_NOERR) then
    23942298            write(*,*) NF_STRERROR(ierr)
     
    23972301!          write(*,*)'lecture qt ok',qt
    23982302 
    2399 #ifdef NC_DOUBLE
    2400          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(4),u)
    2401 #else
    2402          ierr = NF_GET_VAR_REAL(nid,var3didin(4),u)
    2403 #endif
     2303         ierr = NF90_GET_VAR(nid,var3didin(4),u)
    24042304         if(ierr/=NF_NOERR) then
    24052305            write(*,*) NF_STRERROR(ierr)
     
    24082308!          write(*,*)'lecture u ok',u
    24092309
    2410 #ifdef NC_DOUBLE
    2411          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(5),v)
    2412 #else
    2413          ierr = NF_GET_VAR_REAL(nid,var3didin(5),v)
    2414 #endif
     2310         ierr = NF90_GET_VAR(nid,var3didin(5),v)
    24152311         if(ierr/=NF_NOERR) then
    24162312            write(*,*) NF_STRERROR(ierr)
     
    24192315!          write(*,*)'lecture v ok',v
    24202316
    2421 #ifdef NC_DOUBLE
    2422          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(6),tke)
    2423 #else
    2424          ierr = NF_GET_VAR_REAL(nid,var3didin(6),tke)
    2425 #endif
     2317         ierr = NF90_GET_VAR(nid,var3didin(6),tke)
    24262318         if(ierr/=NF_NOERR) then
    24272319            write(*,*) NF_STRERROR(ierr)
     
    24302322!          write(*,*)'lecture tke ok',tke
    24312323
    2432 #ifdef NC_DOUBLE
    2433          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(7),ug)
    2434 #else
    2435          ierr = NF_GET_VAR_REAL(nid,var3didin(7),ug)
    2436 #endif
     2324         ierr = NF90_GET_VAR(nid,var3didin(7),ug)
    24372325         if(ierr/=NF_NOERR) then
    24382326            write(*,*) NF_STRERROR(ierr)
     
    24412329!          write(*,*)'lecture ug ok',ug
    24422330
    2443 #ifdef NC_DOUBLE
    2444          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(8),vg)
    2445 #else
    2446          ierr = NF_GET_VAR_REAL(nid,var3didin(8),vg)
    2447 #endif
     2331         ierr = NF90_GET_VAR(nid,var3didin(8),vg)
    24482332         if(ierr/=NF_NOERR) then
    24492333            write(*,*) NF_STRERROR(ierr)
     
    24522336!          write(*,*)'lecture vg ok',vg
    24532337
    2454 #ifdef NC_DOUBLE
    2455          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(9),wls)
    2456 #else
    2457          ierr = NF_GET_VAR_REAL(nid,var3didin(9),wls)
    2458 #endif
     2338         ierr = NF90_GET_VAR(nid,var3didin(9),wls)
    24592339         if(ierr/=NF_NOERR) then
    24602340            write(*,*) NF_STRERROR(ierr)
     
    24632343!          write(*,*)'lecture wls ok',wls
    24642344
    2465 #ifdef NC_DOUBLE
    2466          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(10),dqtdx)
    2467 #else
    2468          ierr = NF_GET_VAR_REAL(nid,var3didin(10),dqtdx)
    2469 #endif
     2345         ierr = NF90_GET_VAR(nid,var3didin(10),dqtdx)
    24702346         if(ierr/=NF_NOERR) then
    24712347            write(*,*) NF_STRERROR(ierr)
     
    24742350!          write(*,*)'lecture dqtdx ok',dqtdx
    24752351
    2476 #ifdef NC_DOUBLE
    2477          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(11),dqtdy)
    2478 #else
    2479          ierr = NF_GET_VAR_REAL(nid,var3didin(11),dqtdy)
    2480 #endif
     2352         ierr = NF90_GET_VAR(nid,var3didin(11),dqtdy)
    24812353         if(ierr/=NF_NOERR) then
    24822354            write(*,*) NF_STRERROR(ierr)
     
    24852357!          write(*,*)'lecture dqtdy ok',dqtdy
    24862358
    2487 #ifdef NC_DOUBLE
    2488          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(12),dqtdt)
    2489 #else
    2490          ierr = NF_GET_VAR_REAL(nid,var3didin(12),dqtdt)
    2491 #endif
     2359         ierr = NF90_GET_VAR(nid,var3didin(12),dqtdt)
    24922360         if(ierr/=NF_NOERR) then
    24932361            write(*,*) NF_STRERROR(ierr)
     
    24962364!          write(*,*)'lecture dqtdt ok',dqtdt
    24972365
    2498 #ifdef NC_DOUBLE
    2499          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(13),thl_rad)
    2500 #else
    2501          ierr = NF_GET_VAR_REAL(nid,var3didin(13),thl_rad)
    2502 #endif
     2366         ierr = NF90_GET_VAR(nid,var3didin(13),thl_rad)
    25032367         if(ierr/=NF_NOERR) then
    25042368            write(*,*) NF_STRERROR(ierr)
     
    25172381!program reading initial profils and forcings of the Dice case study
    25182382
     2383      use netcdf, only: nf90_get_var
    25192384
    25202385      implicit none
     
    26852550!      call catchaxis(nid,ntime,nlevel,time,z,ierr)
    26862551 
    2687 #ifdef NC_DOUBLE
    2688          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(1),zz)
    2689 #else
    2690          ierr = NF_GET_VAR_REAL(nid,var3didin(1),zz)
    2691 #endif
     2552         ierr = NF90_GET_VAR(nid,var3didin(1),zz)
    26922553         if(ierr/=NF_NOERR) then
    26932554            write(*,*) NF_STRERROR(ierr)
     
    26962557!          write(*,*)'lecture zz ok',zz
    26972558 
    2698 #ifdef NC_DOUBLE
    2699          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(11),pres)
    2700 #else
    2701          ierr = NF_GET_VAR_REAL(nid,var3didin(11),pres)
    2702 #endif
     2559         ierr = NF90_GET_VAR(nid,var3didin(11),pres)
    27032560         if(ierr/=NF_NOERR) then
    27042561            write(*,*) NF_STRERROR(ierr)
     
    27072564!          write(*,*)'lecture pres ok',pres
    27082565
    2709 #ifdef NC_DOUBLE
    2710          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(12),th)
    2711 #else
    2712          ierr = NF_GET_VAR_REAL(nid,var3didin(12),th)
    2713 #endif
     2566         ierr = NF90_GET_VAR(nid,var3didin(12),th)
    27142567         if(ierr/=NF_NOERR) then
    27152568            write(*,*) NF_STRERROR(ierr)
     
    27212574           enddo
    27222575
    2723 #ifdef NC_DOUBLE
    2724          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(13),qv)
    2725 #else
    2726          ierr = NF_GET_VAR_REAL(nid,var3didin(13),qv)
    2727 #endif
     2576         ierr = NF90_GET_VAR(nid,var3didin(13),qv)
    27282577         if(ierr/=NF_NOERR) then
    27292578            write(*,*) NF_STRERROR(ierr)
     
    27322581!          write(*,*)'lecture qv ok',qv
    27332582 
    2734 #ifdef NC_DOUBLE
    2735          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(14),u)
    2736 #else
    2737          ierr = NF_GET_VAR_REAL(nid,var3didin(14),u)
    2738 #endif
     2583         ierr = NF90_GET_VAR(nid,var3didin(14),u)
    27392584         if(ierr/=NF_NOERR) then
    27402585            write(*,*) NF_STRERROR(ierr)
     
    27432588!          write(*,*)'lecture u ok',u
    27442589
    2745 #ifdef NC_DOUBLE
    2746          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(15),v)
    2747 #else
    2748          ierr = NF_GET_VAR_REAL(nid,var3didin(15),v)
    2749 #endif
     2590         ierr = NF90_GET_VAR(nid,var3didin(15),v)
    27502591         if(ierr/=NF_NOERR) then
    27512592            write(*,*) NF_STRERROR(ierr)
     
    27542595!          write(*,*)'lecture v ok',v
    27552596
    2756 #ifdef NC_DOUBLE
    2757          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(16),o3)
    2758 #else
    2759          ierr = NF_GET_VAR_REAL(nid,var3didin(16),o3)
    2760 #endif
     2597         ierr = NF90_GET_VAR(nid,var3didin(16),o3)
    27612598         if(ierr/=NF_NOERR) then
    27622599            write(*,*) NF_STRERROR(ierr)
     
    27652602!          write(*,*)'lecture o3 ok',o3
    27662603
    2767 #ifdef NC_DOUBLE
    2768          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(2),shf)
    2769 #else
    2770          ierr = NF_GET_VAR_REAL(nid,var3didin(2),shf)
    2771 #endif
     2604         ierr = NF90_GET_VAR(nid,var3didin(2),shf)
    27722605         if(ierr/=NF_NOERR) then
    27732606            write(*,*) NF_STRERROR(ierr)
     
    27762609!          write(*,*)'lecture shf ok',shf
    27772610
    2778 #ifdef NC_DOUBLE
    2779          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(3),lhf)
    2780 #else
    2781          ierr = NF_GET_VAR_REAL(nid,var3didin(3),lhf)
    2782 #endif
     2611         ierr = NF90_GET_VAR(nid,var3didin(3),lhf)
    27832612         if(ierr/=NF_NOERR) then
    27842613            write(*,*) NF_STRERROR(ierr)
     
    27872616!          write(*,*)'lecture lhf ok',lhf
    27882617
    2789 #ifdef NC_DOUBLE
    2790          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(4),lwup)
    2791 #else
    2792          ierr = NF_GET_VAR_REAL(nid,var3didin(4),lwup)
    2793 #endif
     2618         ierr = NF90_GET_VAR(nid,var3didin(4),lwup)
    27942619         if(ierr/=NF_NOERR) then
    27952620            write(*,*) NF_STRERROR(ierr)
     
    27982623!          write(*,*)'lecture lwup ok',lwup
    27992624
    2800 #ifdef NC_DOUBLE
    2801          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(5),swup)
    2802 #else
    2803          ierr = NF_GET_VAR_REAL(nid,var3didin(5),swup)
    2804 #endif
     2625         ierr = NF90_GET_VAR(nid,var3didin(5),swup)
    28052626         if(ierr/=NF_NOERR) then
    28062627            write(*,*) NF_STRERROR(ierr)
     
    28092630!          write(*,*)'lecture swup ok',swup
    28102631
    2811 #ifdef NC_DOUBLE
    2812          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(6),tg)
    2813 #else
    2814          ierr = NF_GET_VAR_REAL(nid,var3didin(6),tg)
    2815 #endif
     2632         ierr = NF90_GET_VAR(nid,var3didin(6),tg)
    28162633         if(ierr/=NF_NOERR) then
    28172634            write(*,*) NF_STRERROR(ierr)
     
    28202637!          write(*,*)'lecture tg ok',tg
    28212638
    2822 #ifdef NC_DOUBLE
    2823          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(7),ustar)
    2824 #else
    2825          ierr = NF_GET_VAR_REAL(nid,var3didin(7),ustar)
    2826 #endif
     2639         ierr = NF90_GET_VAR(nid,var3didin(7),ustar)
    28272640         if(ierr/=NF_NOERR) then
    28282641            write(*,*) NF_STRERROR(ierr)
     
    28312644!          write(*,*)'lecture ustar ok',ustar
    28322645
    2833 #ifdef NC_DOUBLE
    2834          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(8),psurf)
    2835 #else
    2836          ierr = NF_GET_VAR_REAL(nid,var3didin(8),psurf)
    2837 #endif
     2646         ierr = NF90_GET_VAR(nid,var3didin(8),psurf)
    28382647         if(ierr/=NF_NOERR) then
    28392648            write(*,*) NF_STRERROR(ierr)
     
    28422651!          write(*,*)'lecture psurf ok',psurf
    28432652
    2844 #ifdef NC_DOUBLE
    2845          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(9),ug)
    2846 #else
    2847          ierr = NF_GET_VAR_REAL(nid,var3didin(9),ug)
    2848 #endif
     2653         ierr = NF90_GET_VAR(nid,var3didin(9),ug)
    28492654         if(ierr/=NF_NOERR) then
    28502655            write(*,*) NF_STRERROR(ierr)
     
    28532658!          write(*,*)'lecture ug ok',ug
    28542659
    2855 #ifdef NC_DOUBLE
    2856          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(10),vg)
    2857 #else
    2858          ierr = NF_GET_VAR_REAL(nid,var3didin(10),vg)
    2859 #endif
     2660         ierr = NF90_GET_VAR(nid,var3didin(10),vg)
    28602661         if(ierr/=NF_NOERR) then
    28612662            write(*,*) NF_STRERROR(ierr)
     
    28642665!          write(*,*)'lecture vg ok',vg
    28652666
    2866 #ifdef NC_DOUBLE
    2867          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(17),hadvt)
    2868 #else
    2869          ierr = NF_GET_VAR_REAL(nid,var3didin(17),hadvt)
    2870 #endif
     2667         ierr = NF90_GET_VAR(nid,var3didin(17),hadvt)
    28712668         if(ierr/=NF_NOERR) then
    28722669            write(*,*) NF_STRERROR(ierr)
     
    28752672!          write(*,*)'lecture hadvt ok',hadvt
    28762673
    2877 #ifdef NC_DOUBLE
    2878          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(18),hadvq)
    2879 #else
    2880          ierr = NF_GET_VAR_REAL(nid,var3didin(18),hadvq)
    2881 #endif
     2674         ierr = NF90_GET_VAR(nid,var3didin(18),hadvq)
    28822675         if(ierr/=NF_NOERR) then
    28832676            write(*,*) NF_STRERROR(ierr)
     
    28862679!          write(*,*)'lecture hadvq ok',hadvq
    28872680
    2888 #ifdef NC_DOUBLE
    2889          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(19),hadvu)
    2890 #else
    2891          ierr = NF_GET_VAR_REAL(nid,var3didin(19),hadvu)
    2892 #endif
     2681         ierr = NF90_GET_VAR(nid,var3didin(19),hadvu)
    28932682         if(ierr/=NF_NOERR) then
    28942683            write(*,*) NF_STRERROR(ierr)
     
    28972686!          write(*,*)'lecture hadvu ok',hadvu
    28982687
    2899 #ifdef NC_DOUBLE
    2900          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(20),hadvv)
    2901 #else
    2902          ierr = NF_GET_VAR_REAL(nid,var3didin(20),hadvv)
    2903 #endif
     2688         ierr = NF90_GET_VAR(nid,var3didin(20),hadvv)
    29042689         if(ierr/=NF_NOERR) then
    29052690            write(*,*) NF_STRERROR(ierr)
     
    29082693!          write(*,*)'lecture hadvv ok',hadvv
    29092694
    2910 #ifdef NC_DOUBLE
    2911          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(21),w)
    2912 #else
    2913          ierr = NF_GET_VAR_REAL(nid,var3didin(21),w)
    2914 #endif
     2695         ierr = NF90_GET_VAR(nid,var3didin(21),w)
    29152696         if(ierr/=NF_NOERR) then
    29162697            write(*,*) NF_STRERROR(ierr)
     
    29192700!          write(*,*)'lecture w ok',w
    29202701
    2921 #ifdef NC_DOUBLE
    2922          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(22),omega)
    2923 #else
    2924          ierr = NF_GET_VAR_REAL(nid,var3didin(22),omega)
    2925 #endif
     2702         ierr = NF90_GET_VAR(nid,var3didin(22),omega)
    29262703         if(ierr/=NF_NOERR) then
    29272704            write(*,*) NF_STRERROR(ierr)
     
    29382715!program reading initial profils and forcings of the Gabls4 case study
    29392716
     2717      use netcdf, only: nf90_get_var
    29402718
    29412719      implicit none
     
    30682846!      call catchaxis(nid,ntime,nlevel,time,z,ierr)
    30692847 
    3070 #ifdef NC_DOUBLE
    3071          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(1),zz_i)
    3072 #else
    3073          ierr = NF_GET_VAR_REAL(nid,var3didin(1),zz_i)
    3074 #endif
    3075          if(ierr/=NF_NOERR) then
    3076             write(*,*) NF_STRERROR(ierr)
    3077             stop "getvarup"
    3078          endif
    3079  
    3080 #ifdef NC_DOUBLE
    3081          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(2),depth_sn)
    3082 #else
    3083          ierr = NF_GET_VAR_REAL(nid,var3didin(2),depth_sn)
    3084 #endif
    3085          if(ierr/=NF_NOERR) then
    3086             write(*,*) NF_STRERROR(ierr)
    3087             stop "getvarup"
    3088          endif
    3089  
    3090 #ifdef NC_DOUBLE
    3091          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(3),ug_i)
    3092 #else
    3093          ierr = NF_GET_VAR_REAL(nid,var3didin(3),ug_i)
    3094 #endif
    3095          if(ierr/=NF_NOERR) then
    3096             write(*,*) NF_STRERROR(ierr)
    3097             stop "getvarup"
    3098          endif
    3099  
    3100 #ifdef NC_DOUBLE
    3101          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(4),vg_i)
    3102 #else
    3103          ierr = NF_GET_VAR_REAL(nid,var3didin(4),vg_i)
    3104 #endif
    3105          if(ierr/=NF_NOERR) then
    3106             write(*,*) NF_STRERROR(ierr)
    3107             stop "getvarup"
    3108          endif
    3109  
    3110 #ifdef NC_DOUBLE
    3111          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(5),pf_i)
    3112 #else
    3113          ierr = NF_GET_VAR_REAL(nid,var3didin(5),pf_i)
    3114 #endif
    3115          if(ierr/=NF_NOERR) then
    3116             write(*,*) NF_STRERROR(ierr)
    3117             stop "getvarup"
    3118          endif
    3119 
    3120 #ifdef NC_DOUBLE
    3121          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(6),th_i)
    3122 #else
    3123          ierr = NF_GET_VAR_REAL(nid,var3didin(6),th_i)
    3124 #endif
    3125          if(ierr/=NF_NOERR) then
    3126             write(*,*) NF_STRERROR(ierr)
    3127             stop "getvarup"
    3128          endif
    3129 
    3130 #ifdef NC_DOUBLE
    3131          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(7),t_i)
    3132 #else
    3133          ierr = NF_GET_VAR_REAL(nid,var3didin(7),t_i)
    3134 #endif
    3135          if(ierr/=NF_NOERR) then
    3136             write(*,*) NF_STRERROR(ierr)
    3137             stop "getvarup"
    3138          endif
    3139 
    3140 #ifdef NC_DOUBLE
    3141          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(8),qv_i)
    3142 #else
    3143          ierr = NF_GET_VAR_REAL(nid,var3didin(8),qv_i)
    3144 #endif
    3145          if(ierr/=NF_NOERR) then
    3146             write(*,*) NF_STRERROR(ierr)
    3147             stop "getvarup"
    3148          endif
    3149  
    3150 #ifdef NC_DOUBLE
    3151          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(9),u_i)
    3152 #else
    3153          ierr = NF_GET_VAR_REAL(nid,var3didin(9),u_i)
    3154 #endif
    3155          if(ierr/=NF_NOERR) then
    3156             write(*,*) NF_STRERROR(ierr)
    3157             stop "getvarup"
    3158          endif
    3159  
    3160 #ifdef NC_DOUBLE
    3161          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(10),v_i)
    3162 #else
    3163          ierr = NF_GET_VAR_REAL(nid,var3didin(10),v_i)
    3164 #endif
    3165          if(ierr/=NF_NOERR) then
    3166             write(*,*) NF_STRERROR(ierr)
    3167             stop "getvarup"
    3168          endif
    3169  
    3170 #ifdef NC_DOUBLE
    3171          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(11),hadvt_i)
    3172 #else
    3173          ierr = NF_GET_VAR_REAL(nid,var3didin(11),hadvt_i)
    3174 #endif
    3175          if(ierr/=NF_NOERR) then
    3176             write(*,*) NF_STRERROR(ierr)
    3177             stop "getvarup"
    3178          endif
    3179  
    3180 #ifdef NC_DOUBLE
    3181          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(12),hadvq_i)
    3182 #else
    3183          ierr = NF_GET_VAR_REAL(nid,var3didin(12),hadvq_i)
    3184 #endif
    3185          if(ierr/=NF_NOERR) then
    3186             write(*,*) NF_STRERROR(ierr)
    3187             stop "getvarup"
    3188          endif
    3189  
    3190 #ifdef NC_DOUBLE
    3191          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(14),tsnow)
    3192 #else
    3193          ierr = NF_GET_VAR_REAL(nid,var3didin(14),tsnow)
    3194 #endif
    3195          if(ierr/=NF_NOERR) then
    3196             write(*,*) NF_STRERROR(ierr)
    3197             stop "getvarup"
    3198          endif
    3199  
    3200 #ifdef NC_DOUBLE
    3201          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(15),snow_dens)
    3202 #else
    3203          ierr = NF_GET_VAR_REAL(nid,var3didin(15),snow_dens)
    3204 #endif
    3205          if(ierr/=NF_NOERR) then
    3206             write(*,*) NF_STRERROR(ierr)
    3207             stop "getvarup"
    3208          endif
    3209 
    3210 #ifdef NC_DOUBLE
    3211          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(16),tg)
    3212 #else
    3213          ierr = NF_GET_VAR_REAL(nid,var3didin(16),tg)
    3214 #endif
     2848         ierr = NF90_GET_VAR(nid,var3didin(1),zz_i)
     2849         if(ierr/=NF_NOERR) then
     2850            write(*,*) NF_STRERROR(ierr)
     2851            stop "getvarup"
     2852         endif
     2853 
     2854         ierr = NF90_GET_VAR(nid,var3didin(2),depth_sn)
     2855         if(ierr/=NF_NOERR) then
     2856            write(*,*) NF_STRERROR(ierr)
     2857            stop "getvarup"
     2858         endif
     2859 
     2860         ierr = NF90_GET_VAR(nid,var3didin(3),ug_i)
     2861         if(ierr/=NF_NOERR) then
     2862            write(*,*) NF_STRERROR(ierr)
     2863            stop "getvarup"
     2864         endif
     2865 
     2866         ierr = NF90_GET_VAR(nid,var3didin(4),vg_i)
     2867         if(ierr/=NF_NOERR) then
     2868            write(*,*) NF_STRERROR(ierr)
     2869            stop "getvarup"
     2870         endif
     2871 
     2872         ierr = NF90_GET_VAR(nid,var3didin(5),pf_i)
     2873         if(ierr/=NF_NOERR) then
     2874            write(*,*) NF_STRERROR(ierr)
     2875            stop "getvarup"
     2876         endif
     2877
     2878         ierr = NF90_GET_VAR(nid,var3didin(6),th_i)
     2879         if(ierr/=NF_NOERR) then
     2880            write(*,*) NF_STRERROR(ierr)
     2881            stop "getvarup"
     2882         endif
     2883
     2884         ierr = NF90_GET_VAR(nid,var3didin(7),t_i)
     2885         if(ierr/=NF_NOERR) then
     2886            write(*,*) NF_STRERROR(ierr)
     2887            stop "getvarup"
     2888         endif
     2889
     2890         ierr = NF90_GET_VAR(nid,var3didin(8),qv_i)
     2891         if(ierr/=NF_NOERR) then
     2892            write(*,*) NF_STRERROR(ierr)
     2893            stop "getvarup"
     2894         endif
     2895 
     2896         ierr = NF90_GET_VAR(nid,var3didin(9),u_i)
     2897         if(ierr/=NF_NOERR) then
     2898            write(*,*) NF_STRERROR(ierr)
     2899            stop "getvarup"
     2900         endif
     2901 
     2902         ierr = NF90_GET_VAR(nid,var3didin(10),v_i)
     2903         if(ierr/=NF_NOERR) then
     2904            write(*,*) NF_STRERROR(ierr)
     2905            stop "getvarup"
     2906         endif
     2907 
     2908         ierr = NF90_GET_VAR(nid,var3didin(11),hadvt_i)
     2909         if(ierr/=NF_NOERR) then
     2910            write(*,*) NF_STRERROR(ierr)
     2911            stop "getvarup"
     2912         endif
     2913 
     2914         ierr = NF90_GET_VAR(nid,var3didin(12),hadvq_i)
     2915         if(ierr/=NF_NOERR) then
     2916            write(*,*) NF_STRERROR(ierr)
     2917            stop "getvarup"
     2918         endif
     2919 
     2920         ierr = NF90_GET_VAR(nid,var3didin(14),tsnow)
     2921         if(ierr/=NF_NOERR) then
     2922            write(*,*) NF_STRERROR(ierr)
     2923            stop "getvarup"
     2924         endif
     2925 
     2926         ierr = NF90_GET_VAR(nid,var3didin(15),snow_dens)
     2927         if(ierr/=NF_NOERR) then
     2928            write(*,*) NF_STRERROR(ierr)
     2929            stop "getvarup"
     2930         endif
     2931
     2932         ierr = NF90_GET_VAR(nid,var3didin(16),tg)
    32152933         if(ierr/=NF_NOERR) then
    32162934            write(*,*) NF_STRERROR(ierr)
Note: See TracChangeset for help on using the changeset viewer.