Ignore:
Timestamp:
Sep 21, 2022, 3:12:15 PM (20 months 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.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • 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
Note: See TracChangeset for help on using the changeset viewer.