Changeset 5073


Ignore:
Timestamp:
Jul 18, 2024, 4:57:05 PM (7 weeks ago)
Author:
abarral
Message:

Remove all NC_DOUBLE uses outside of lmdz_netcdf.F90 (except in obsolete/, which I hope we'll ditch soon...)
Note: make sure to check convergence at some point, it's possible that we've messed up some when replacing nf_* by nf90_* calls
(lint) replace obsolete logical operators along the way

Location:
LMDZ6/trunk/libf
Files:
15 edited

Legend:

Unmodified
Added
Removed
  • LMDZ6/trunk/libf/dynphy_lonlat/phylmd/limit_netcdf.F90

    r4467 r5073  
    8080  USE comconst_mod, ONLY: pi
    8181  USE phys_cal_mod, ONLY: calend
     82  USE lmdz_netcdf, ONLY: NF90_FORMAT
    8283  IMPLICIT NONE
    8384!-------------------------------------------------------------------------------
     
    107108  INTEGER :: id_tim,  id_SST,  id_BILS, id_RUG, id_ALB
    108109  INTEGER :: id_FOCE, id_FSIC, id_FTER, id_FLIC, varid_longitude, varid_latitude
    109   INTEGER :: NF90_FORMAT
    110110  INTEGER :: ndays                   !--- Depending on the output calendar
    111111  CHARACTER(LEN=ns) :: str
    112112
    113113!--- INITIALIZATIONS -----------------------------------------------------------
    114 #ifdef NC_DOUBLE
    115   NF90_FORMAT=NF90_DOUBLE
    116 #else
    117   NF90_FORMAT=NF90_FLOAT
    118 #endif
    119114  CALL inigeom
    120115
  • LMDZ6/trunk/libf/misc/lmdz_netcdf.F90

    r5071 r5073  
    33! It serves two primary functions:
    44!  1) Turn netcdf into a "real" fortran module, without the INCLUDE call
    5 !  2) Handle the NC_DOUBLE CPP key. Ideally, this key should ONLY appear here (WIP). TODO
     5!  2) Handle the NC_DOUBLE CPP key. This key should ONLY be used here.
    66! Ideally, the "real" netcdf module/headers should ONLY be called here. (WIP) TODO
    77! ---------------------------------------------
    8 ! TODO check that none of the wrapped functions remain elsewhere
    98! TODO check all uses of `use netcdf` + netcdf.inc
    109
     
    1514  ! Note: as we want to expose netcdf through this module, we don't make all PRIVATE by default as usual
    1615  ! Instead, explicitely make PRIVATE the relevant items.
    17   PRIVATE CPP_NC_DOUBLE
    1816
    1917  INCLUDE 'netcdf.inc'
    2018
    2119#ifdef NC_DOUBLE
    22   LOGICAL, PARAMETER :: CPP_NC_DOUBLE = .TRUE.  ! Define a variable to reduce use of preprocessor ahead
    2320  INTEGER, PARAMETER :: NF90_FORMAT = NF90_DOUBLE
    24   INTEGER, PARAMETER :: REAL_FORMAT = REAL64
    2521#else
    26   LOGICAL, PARAMETER :: CPP_NC_DOUBLE = .FALSE.
    2722  INTEGER, PARAMETER :: NF90_FORMAT = NF90_FLOAT
    28   INTEGER, PARAMETER :: REAL_FORMAT = REAL32
    2923#endif
    30 CONTAINS
    31 
    3224END MODULE lmdz_netcdf
  • LMDZ6/trunk/libf/phylmd/Dust/condsurfc.F

    r4593 r5073  
    2424      INTEGER debut(2),epais(2)
    2525!
    26       IF (jour.LT.0 .OR. jour.GT.(360-1)) THEN
    27          IF (jour.GT.(360-1).AND.jour.LE.367) THEN
     26      IF (jour<0 .OR. jour>(360-1)) THEN
     27         IF (jour>(360-1).AND.jour<=367) THEN
    2828           jour=360-1
    2929           print *,'JE: jour changed to jour= ',jour
     
    3535!
    3636      ierr = NF_OPEN ("limitcarbon.nc", NF_NOWRITE, nid1)
    37       if (ierr.ne.NF_NOERR) then
     37      if (ierr/=NF_NOERR) then
    3838        write(6,*)' Pb d''ouverture du fichier limitbc.nc'
    3939        write(6,*)' ierr = ', ierr
     
    4949!
    5050      ierr = NF_INQ_VARID (nid1, "BCFF", nvarid)
    51 !nhl #ifdef NC_DOUBLE
    52       ierr = NF_GET_VARA_DOUBLE (nid1, nvarid, debut, epais, lmt_bcff)
     51      ierr = nf90_get_var(nid1, nvarid, lmt_bcff, debut, epais)
    5352!      print *,'IERR = ',ierr
    5453!      print *,'NF_NOERR = ',NF_NOERR
    5554!      print *,'debut = ',debut
    5655!      print *,'epais = ',epais
    57 !nhl #else
    58 !nhl       ierr = NF_GET_VARA_REAL (nid1, nvarid, debut, epais, lmt_bcff)
    59 !nhl #endif
    60       IF (ierr .NE. NF_NOERR) THEN
     56      IF (ierr /= NF_NOERR) THEN
    6157         PRINT*, 'Pb de lecture pour les sources BC'
    6258         CALL exit(1)
     
    6561!
    6662      ierr = NF_INQ_VARID (nid1, "BCBB", nvarid)
    67 !nhl #ifdef NC_DOUBLE
    68       ierr = NF_GET_VARA_DOUBLE (nid1, nvarid, debut, epais, lmt_bcbb)
    69 !nhl #else
    70 !nhl       ierr = NF_GET_VARA_REAL (nid1, nvarid, debut, epais, lmt_bcbb)
    71 !nhl #endif
    72       IF (ierr .NE. NF_NOERR) THEN
     63      ierr = nf90_get_var(nid1, nvarid, lmt_bcbb, debut, epais)
     64      IF (ierr /= NF_NOERR) THEN
    7365         PRINT*, 'Pb de lecture pour les sources BC-biomass'
    7466         CALL exit(1)
     
    7769!
    7870      ierr = NF_INQ_VARID (nid1, "BCBL", nvarid)
    79 !nhl #ifdef NC_DOUBLE
    80       ierr = NF_GET_VARA_DOUBLE (nid1, nvarid, debut, epais, lmt_bcbbl)
    81 !nhl #else
    82 !nhl       ierr = NF_GET_VARA_REAL (nid1, nvarid, debut, epais, lmt_bcbbl)
    83 !nhl #endif
    84       IF (ierr .NE. NF_NOERR) THEN
     71      ierr = nf90_get_var(nid1, nvarid, lmt_bcbbl, debut, epais)
     72      IF (ierr /= NF_NOERR) THEN
    8573         PRINT*, 'Pb de lecture pour les sources BC low'
    8674         CALL exit(1)
     
    8977!
    9078      ierr = NF_INQ_VARID (nid1, "BCBH", nvarid)
    91 !nhl #ifdef NC_DOUBLE
    92       ierr = NF_GET_VARA_DOUBLE (nid1, nvarid, debut, epais, lmt_bcbbh)
    93 !nhl #else
    94 !nhl       ierr = NF_GET_VARA_REAL (nid1, nvarid, debut, epais, lmt_bcbbh)
    95 !nhl #endif
    96       IF (ierr .NE. NF_NOERR) THEN
     79      ierr = nf90_get_var (nid1, nvarid, lmt_bcbbh, debut, epais)
     80      IF (ierr /= NF_NOERR) THEN
    9781         PRINT*, 'Pb de lecture pour les sources BC high'
    9882         CALL exit(1)
     
    10084!
    10185      ierr = NF_INQ_VARID (nid1, "TERP", nvarid)
    102 !nhl #ifdef NC_DOUBLE
    103       ierr = NF_GET_VARA_DOUBLE (nid1, nvarid, debut, epais, lmt_terp)
    104 !nhl #else
    105 !nhl       ierr = NF_GET_VARA_REAL (nid1, nvarid, debut, epais, lmt_terp)
    106 !nhl #endif
    107       IF (ierr .NE. NF_NOERR) THEN
     86      ierr = nf90_get_var (nid1, nvarid, lmt_terp, debut, epais)
     87      IF (ierr /= NF_NOERR) THEN
    10888         PRINT*, 'Pb de lecture pour les sources Terpene'
    10989         CALL exit(1)
     
    11292!
    11393      ierr = NF_INQ_VARID (nid1, "BC_penner", nvarid)
    114 !nhl #ifdef NC_DOUBLE
    115       ierr = NF_GET_VARA_DOUBLE (nid1, nvarid, debut,
    116      .       epais, lmt_bc_penner)
    117 !nhl #else
    118 !nhl       ierr = NF_GET_VARA_REAL (nid1, nvarid, debut, epais,
    119 !nhl      .       lmt_bc_penner)
    120 !nhl #endif
    121       IF (ierr .NE. NF_NOERR) THEN
     94      ierr = nf90_get_var (nid1, nvarid, lmt_bc_penner, debut,  epais)
     95      IF (ierr /= NF_NOERR) THEN
    12296         PRINT*, 'Pb de lecture pour les sources BC Penner'
    12397         CALL exit(1)
     
    126100!
    127101      ierr = NF_INQ_VARID (nid1, "OMFF", nvarid)
    128 !nhl #ifdef NC_DOUBLE
    129       ierr = NF_GET_VARA_DOUBLE (nid1, nvarid, debut, epais, lmt_omff)
    130 !nhl #else
    131 !nhl       ierr = NF_GET_VARA_REAL (nid1, nvarid, debut, epais, lmt_omff)
    132 !nhl #endif
    133       IF (ierr .NE. NF_NOERR) THEN
     102      ierr = nf90_get_var (nid1, nvarid, lmt_omff, debut, epais)
     103      IF (ierr /= NF_NOERR) THEN
    134104         PRINT*, 'Pb de lecture pour les sources om-ifossil'
    135105         CALL exit(1)
  • LMDZ6/trunk/libf/phylmd/Dust/condsurfs.F

    r4593 r5073  
    2424      INTEGER debut(2),epais(2)
    2525c
    26       IF (jour.LT.0 .OR. jour.GT.(360-1)) THEN
    27          IF ((jour.GT.(360-1)) .AND. (jour.LE.367)) THEN
     26      IF (jour<0 .OR. jour>(360-1)) THEN
     27         IF ((jour>(360-1)) .AND. (jour<=367)) THEN
    2828           jour=360-1
    2929           print *,'JE: jour changed to jour= ',jour
     
    3535c
    3636      ierr = NF_OPEN ("limitsoufre.nc", NF_NOWRITE, nid)
    37       if (ierr.ne.NF_NOERR) then
     37      if (ierr/=NF_NOERR) then
    3838        write(6,*)' Pb d''ouverture du fichier limitsoufre.nc'
    3939        write(6,*)' ierr = ', ierr
     
    4848c
    4949      ierr = NF_INQ_VARID (nid, "VOLC", nvarid)
    50 cnhl #ifdef NC_DOUBLE
    51       ierr = NF_GET_VARA_DOUBLE (nid, nvarid, debut, epais, lmt_so2volc)
    52 cnhl #else
    53 cnhl       ierr = NF_GET_VARA_REAL (nid, nvarid, debut, epais, lmt_so2volc)
    54 cnhl #endif
    55       IF (ierr .NE. NF_NOERR) THEN
     50      ierr = nf90_get_var(nid, nvarid, lmt_so2volc, debut, epais)
     51      IF (ierr /= NF_NOERR) THEN
    5652         PRINT*, 'Pb de lecture pour les sources so2 volcan'
    5753         CALL exit(1)
     
    5955c
    6056      ierr = NF_INQ_VARID (nid, "ALTI", nvarid)
    61 cnhl #ifdef NC_DOUBLE
    62       ierr = NF_GET_VARA_DOUBLE (nid, nvarid, debut, epais, lmt_altvolc)
    63 cnhl #else
    64 cnhl       ierr = NF_GET_VARA_REAL (nid, nvarid, debut, epais, lmt_altvolc)
    65 cnhl #endif
    66       IF (ierr .NE. NF_NOERR) THEN
     57      ierr = nf90_get_var(nid, nvarid, lmt_altvolc, debut, epais)
     58      IF (ierr /= NF_NOERR) THEN
    6759         PRINT*, 'Pb de lecture pour les altitudes volcan'
    6860         CALL exit(1)
     
    7264c
    7365      ierr = NF_INQ_VARID (nid, "SO2ED95L", nvarid)
    74 cnhl #ifdef NC_DOUBLE
    75       ierr = NF_GET_VARA_DOUBLE (nid, nvarid, debut, epais, lmt_so2b)
    76 cnhl #else
    77 cnhl       ierr = NF_GET_VARA_REAL (nid, nvarid, debut, epais, lmt_so2b)
    78 cnhl #endif
    79       IF (ierr .NE. NF_NOERR) THEN
     66      ierr = nf90_get_var(nid, nvarid, lmt_so2b, debut, epais)
     67      IF (ierr /= NF_NOERR) THEN
    8068         PRINT*, 'Pb de lecture pour les sources so2 edgar low'
    8169         CALL exit(1)
     
    8371c
    8472      ierr = NF_INQ_VARID (nid, "SO2ED95H", nvarid)
    85 cnhl #ifdef NC_DOUBLE
    86       ierr = NF_GET_VARA_DOUBLE (nid, nvarid, debut, epais, lmt_so2h)
    87 cnhl #else
    88 cnhl       ierr = NF_GET_VARA_REAL (nid, nvarid, debut, epais, lmt_so2h)
    89 cnhl #endif
    90       IF (ierr .NE. NF_NOERR) THEN
     73      ierr = nf90_get_var(nid, nvarid, lmt_so2h, debut, epais)
     74      IF (ierr /= NF_NOERR) THEN
    9175         PRINT*, 'Pb de lecture pour les sources so2 edgar high'
    9276         CALL exit(1)
     
    9680c
    9781      ierr = NF_INQ_VARID (nid, "SO2H", nvarid)
    98 cnhl #ifdef NC_DOUBLE
    99       ierr = NF_GET_VARA_DOUBLE (nid, nvarid, debut, epais, lmt_so2h)
    100 cnhl #else
    101 cnhl       ierr = NF_GET_VARA_REAL (nid, nvarid, debut, epais, lmt_so2h)
    102 cnhl #endif
    103       IF (ierr .NE. NF_NOERR) THEN
     82      ierr = nf90_get_var(nid, nvarid, lmt_so2h, debut, epais)
     83      IF (ierr /= NF_NOERR) THEN
    10484         PRINT*, 'Pb de lecture pour les sources so2 haut'
    10585         CALL exit(1)
     
    10787c
    10888      ierr = NF_INQ_VARID (nid, "SO2B", nvarid)
    109 cnhl #ifdef NC_DOUBLE
    110       ierr = NF_GET_VARA_DOUBLE (nid, nvarid, debut, epais, lmt_so2b)
    111 cnhl #else
    112 cnhl       ierr = NF_GET_VARA_REAL (nid, nvarid, debut, epais, lmt_so2b)
    113 cnhl #endif
    114       IF (ierr .NE. NF_NOERR) THEN
     89      ierr = nf90_get_var(nid, nvarid, lmt_so2b, debut, epais)
     90      IF (ierr /= NF_NOERR) THEN
    11591         PRINT*, 'Pb de lecture pour les sources so2 bas'
    11692         CALL exit(1)
     
    12096c
    12197      ierr = NF_INQ_VARID (nid, "SO2BB", nvarid)
    122 cnhl #ifdef NC_DOUBLE
    123       ierr = NF_GET_VARA_DOUBLE (nid, nvarid, debut, epais, lmt_so2bb)
    124 cnhl #else
    125 cnhl       ierr = NF_GET_VARA_REAL (nid, nvarid, debut, epais, lmt_so2bb)
    126 cnhl #endif
    127       IF (ierr .NE. NF_NOERR) THEN
     98      ierr = nf90_get_var(nid, nvarid, lmt_so2bb, debut, epais)
     99      IF (ierr /= NF_NOERR) THEN
    128100         PRINT*, 'Pb de lecture pour les sources so2 bb'
    129101         CALL exit(1)
     
    131103c
    132104      ierr = NF_INQ_VARID (nid, "SO2BA", nvarid)
    133 cnhl #ifdef NC_DOUBLE
    134       ierr = NF_GET_VARA_DOUBLE (nid, nvarid, debut, epais, lmt_so2ba)
    135 cnhl #else
    136 cnhl       ierr = NF_GET_VARA_REAL (nid, nvarid, debut, epais, lmt_so2ba)
    137 cnhl #endif
    138       IF (ierr .NE. NF_NOERR) THEN
     105      ierr = nf90_get_var(nid, nvarid, lmt_so2ba, debut, epais)
     106      IF (ierr /= NF_NOERR) THEN
    139107         PRINT*, 'Pb de lecture pour les sources so2 bateau'
    140108         CALL exit(1)
     
    142110c
    143111      ierr = NF_INQ_VARID (nid, "DMSB", nvarid)
    144 cnhl #ifdef NC_DOUBLE
    145       ierr = NF_GET_VARA_DOUBLE (nid, nvarid, debut, epais, lmt_dmsbio)
    146 cnhl #else
    147 cnhl       ierr = NF_GET_VARA_REAL (nid, nvarid, debut, epais, lmt_dmsbio)
    148 cnhl #endif
    149       IF (ierr .NE. NF_NOERR) THEN
     112      ierr = nf90_get_var(nid, nvarid, lmt_dmsbio, debut, epais)
     113      IF (ierr /= NF_NOERR) THEN
    150114         PRINT*, 'Pb de lecture pour les sources dms bio'
    151115         CALL exit(1)
     
    153117c
    154118      ierr = NF_INQ_VARID (nid, "H2SB", nvarid)
    155 cnhl #ifdef NC_DOUBLE
    156       ierr = NF_GET_VARA_DOUBLE (nid, nvarid, debut, epais, lmt_h2sbio)
    157 cnhl #else
    158 cnhl       ierr = NF_GET_VARA_REAL (nid, nvarid, debut, epais, lmt_h2sbio)
    159 cnhl #endif
    160       IF (ierr .NE. NF_NOERR) THEN
     119      ierr = nf90_get_var(nid, nvarid, lmt_h2sbio, debut, epais)
     120      IF (ierr /= NF_NOERR) THEN
    161121         PRINT*, 'Pb de lecture pour les sources h2s bio'
    162122         CALL exit(1)
    163123      ENDIF
    164124c
    165       IF (flag_dms.EQ.1) THEN
     125      IF (flag_dms==1) THEN
    166126c
    167127      ierr = NF_INQ_VARID (nid, "DMSL", nvarid)
    168 cnhl #ifdef NC_DOUBLE
    169       ierr = NF_GET_VARA_DOUBLE (nid, nvarid, debut, epais, lmt_dms)
    170 cnhl #else
    171 cnhl       ierr = NF_GET_VARA_REAL (nid, nvarid, debut, epais, lmt_dms)
    172 cnhl #endif
    173       IF (ierr .NE. NF_NOERR) THEN
     128      ierr = nf90_get_var(nid, nvarid, lmt_dms, debut, epais)
     129      IF (ierr /= NF_NOERR) THEN
    174130         PRINT*, 'Pb de lecture pour les sources dms liss'
    175131         CALL exit(1)
    176132      ENDIF
    177133c
    178       ELSEIF (flag_dms.EQ.2) THEN
     134      ELSEIF (flag_dms==2) THEN
    179135c
    180136      ierr = NF_INQ_VARID (nid, "DMSW", nvarid)
    181 cnhl #ifdef NC_DOUBLE
    182       ierr = NF_GET_VARA_DOUBLE (nid, nvarid, debut, epais, lmt_dms)
    183 cnhl #else
    184 cnhl       ierr = NF_GET_VARA_REAL (nid, nvarid, debut, epais, lmt_dms)
    185 cnhl #endif
    186       IF (ierr .NE. NF_NOERR) THEN
     137      ierr = nf90_get_var(nid, nvarid, lmt_dms, debut, epais)
     138      IF (ierr /= NF_NOERR) THEN
    187139         PRINT*, 'Pb de lecture pour les sources dms wann'
    188140         CALL exit(1)
    189141      ENDIF
    190142c
    191       ELSEIF (flag_dms.EQ.3) THEN
     143      ELSEIF (flag_dms==3) THEN
    192144c
    193145      ierr = NF_INQ_VARID (nid, "DMSC1", nvarid)
    194 cnhl #ifdef NC_DOUBLE
    195       ierr = NF_GET_VARA_DOUBLE (nid, nvarid, debut,epais,lmt_dmsconc)
    196 cnhl #else
    197 cnhl       ierr = NF_GET_VARA_REAL (nid, nvarid, debut, epais, lmt_dmsconc)
    198 cnhl #endif
    199       IF (ierr .NE. NF_NOERR) THEN
     146      ierr = nf90_get_var(nid, nvarid, lmt_dmsconc, debut, epais)
     147      IF (ierr /= NF_NOERR) THEN
    200148         PRINT*, 'Pb de lecture pour les sources dmsconc old'
    201149         CALL exit(1)
    202150      ENDIF
    203151c
    204       ELSEIF (flag_dms.EQ.4) THEN
     152      ELSEIF (flag_dms==4) THEN
    205153c
    206154      ierr = NF_INQ_VARID (nid, "DMSC2", nvarid)
    207 cnhl #ifdef NC_DOUBLE
    208       ierr = NF_GET_VARA_DOUBLE (nid, nvarid, debut,epais,lmt_dmsconc)
    209 cnhl #else
    210 cnhl       ierr = NF_GET_VARA_REAL (nid, nvarid, debut, epais, lmt_dmsconc)
    211 cnhl #endif
    212       IF (ierr .NE. NF_NOERR) THEN
     155      ierr = nf90_get_var(nid, nvarid, lmt_dmsconc, debut, epais)
     156      IF (ierr /= NF_NOERR) THEN
    213157         PRINT*, 'Pb de lecture pour les sources dms conc 2'
    214158         CALL exit(1)
    215159      ENDIF
    216160c
    217       ELSEIF (flag_dms.EQ.5) THEN
     161      ELSEIF (flag_dms==5) THEN
    218162c
    219163      ierr = NF_INQ_VARID (nid, "DMSC3", nvarid)
    220 cnhl #ifdef NC_DOUBLE
    221       ierr = NF_GET_VARA_DOUBLE (nid, nvarid, debut,epais,lmt_dmsconc)
    222 cnhl #else
    223 cnhl       ierr = NF_GET_VARA_REAL (nid, nvarid, debut, epais, lmt_dmsconc)
    224 cnhl #endif
    225       IF (ierr .NE. NF_NOERR) THEN
     164      ierr = nf90_get_var(nid, nvarid, lmt_dmsconc, debut, epais)
     165      IF (ierr /= NF_NOERR) THEN
    226166         PRINT*, 'Pb de lecture pour les sources dms conc 3'
    227167         CALL exit(1)
    228168      ENDIF
    229169c
    230       ELSEIF (flag_dms.EQ.6) THEN
     170      ELSEIF (flag_dms==6) THEN
    231171c
    232172      ierr = NF_INQ_VARID (nid, "DMSC4", nvarid)
    233 cnhl #ifdef NC_DOUBLE
    234       ierr = NF_GET_VARA_DOUBLE (nid, nvarid, debut,epais,lmt_dmsconc)
    235 cnhl #else
    236 cnhl       ierr = NF_GET_VARA_REAL (nid, nvarid, debut, epais, lmt_dmsconc)
    237 cnhl #endif
    238       IF (ierr .NE. NF_NOERR) THEN
     173      ierr = nf90_get_var(nid, nvarid, lmt_dmsconc, debut, epais)
     174      IF (ierr /= NF_NOERR) THEN
    239175         PRINT*, 'Pb de lecture pour les sources dms conc 4'
    240176         CALL exit(1)
    241177      ENDIF
    242178c
    243       ELSEIF (flag_dms.EQ.7) THEN
     179      ELSEIF (flag_dms==7) THEN
    244180c
    245181      ierr = NF_INQ_VARID (nid, "DMSC5", nvarid)
    246 cnhl #ifdef NC_DOUBLE
    247       ierr = NF_GET_VARA_DOUBLE (nid, nvarid, debut,epais,lmt_dmsconc)
    248 cnhl #else
    249 cnhl       ierr = NF_GET_VARA_REAL (nid, nvarid, debut, epais, lmt_dmsconc)
    250 cnhl #endif
    251       IF (ierr .NE. NF_NOERR) THEN
     182      ierr = nf90_get_var(nid, nvarid, lmt_dmsconc, debut, epais)
     183      IF (ierr /= NF_NOERR) THEN
    252184         PRINT*, 'Pb de lecture pour les sources dms conc 5'
    253185         CALL exit(1)
    254186      ENDIF
    255187c
    256       ELSEIF (flag_dms.EQ.8) THEN
     188      ELSEIF (flag_dms==8) THEN
    257189c
    258190      ierr = NF_INQ_VARID (nid, "DMSC6", nvarid)
    259 cnhl #ifdef NC_DOUBLE
    260       ierr = NF_GET_VARA_DOUBLE (nid, nvarid, debut,epais,lmt_dmsconc)
    261 cnhl #else
    262 cnhl       ierr = NF_GET_VARA_REAL (nid, nvarid, debut, epais, lmt_dmsconc)
    263 cnhl #endif
    264       IF (ierr .NE. NF_NOERR) THEN
     191      ierr = nf90_get_var(nid, nvarid, lmt_dmsconc, debut, epais)
     192      IF (ierr /= NF_NOERR) THEN
    265193         PRINT*, 'Pb de lecture pour les sources dms conc 6'
    266194         CALL exit(1)
    267195      ENDIF
    268196c
    269       ELSEIF (flag_dms.EQ.9) THEN
     197      ELSEIF (flag_dms==9) THEN
    270198c
    271199      ierr = NF_INQ_VARID (nid, "DMSC7", nvarid)
    272 cnhl #ifdef NC_DOUBLE
    273       ierr = NF_GET_VARA_DOUBLE (nid, nvarid, debut,epais,lmt_dmsconc)
    274 cnhl #else
    275 cnhl       ierr = NF_GET_VARA_REAL (nid, nvarid, debut, epais, lmt_dmsconc)
    276 cnhl #endif
    277       IF (ierr .NE. NF_NOERR) THEN
     200      ierr = nf90_get_var(nid, nvarid, lmt_dmsconc, debut, epais)
     201      IF (ierr /= NF_NOERR) THEN
    278202         PRINT*, 'Pb de lecture pour les sources dms conc 7'
    279203         CALL exit(1)
    280204      ENDIF
    281205c
    282       ELSEIF (flag_dms.EQ.10) THEN
     206      ELSEIF (flag_dms==10) THEN
    283207c
    284208      ierr = NF_INQ_VARID (nid, "DMSC8", nvarid)
    285 cnhl #ifdef NC_DOUBLE
    286       ierr = NF_GET_VARA_DOUBLE (nid, nvarid, debut,epais,lmt_dmsconc)
    287 cnhl #else
    288 cnhl       ierr = NF_GET_VARA_REAL (nid, nvarid, debut, epais, lmt_dmsconc)
    289 cnhl #endif
    290       IF (ierr .NE. NF_NOERR) THEN
     209      ierr = nf90_get_var(nid, nvarid, lmt_dmsconc, debut, epais)
     210      IF (ierr /= NF_NOERR) THEN
    291211         PRINT*, 'Pb de lecture pour les sources dms conc 8'
    292212         CALL exit(1)
     
    302222      ierr = NF_CLOSE(nid)
    303223c
    304       IF (flag_dms.LE.2) THEN
     224      IF (flag_dms<=2) THEN
    305225      DO i=1, klon
    306226         lmt_dmsconc(i)=0.0
  • LMDZ6/trunk/libf/phylmd/Dust/read_dust.F

    r4593 r5073  
    4646      start(3)=step
    4747c
    48 #ifdef NC_DOUBLE
    4948!      status=NF_GET_VARA_DOUBLE(ncid1,varid1,start,count,dust_nc)
    50       status=NF_GET_VARA_DOUBLE(ncid1,varid1,start,count,dust_nc_glo)
    51 #else
    52 !      status=NF_GET_VARA_REAL(ncid1,varid1,start,count,dust_nc)
    53       status=NF_GET_VARA_REAL(ncid1,varid1,start,count,dust_nc_glo)
    54 #endif
     49      status=nf90_get_var(ncid1,varid1,dust_nc_glo,start,count)
    5550c
    5651!      call correctbid(iim,jjp1,dust_nc)
  • LMDZ6/trunk/libf/phylmd/Dust/read_surface.F90

    r4593 r5073  
    6565!       print *,'stat,i',status,i,outcycle,aux4s
    6666!       print *,'ifclause',status.NE. NF_NOERR ,outcycle == .false.
    67        IF ((.not.(status.NE. NF_NOERR) ).and.( .not. outcycle )) THEN
     67       IF ((.not.(status/= NF_NOERR) ).and.( .not. outcycle )) THEN
    6868         outcycle=.true.
    6969         latstr=aux4s
     
    7575      varid=NCVID(ncid,latstr,rcode)
    7676
    77 #ifdef NC_DOUBLE
    78           status=NF_GET_VARA_DOUBLE(ncid,varid,startj,endj,lats_glo)
    79 #else
    80           status=NF_GET_VARA_REAL(ncid,varid,startj,endj,lats_glo)
    81 #endif
     77          status=nf90_get_var(ncid,varid,lats_glo,startj,endj)
    8278!      print *,latstr,varid,status,jjp1,rcode
    8379!      IF (status .NE. NF_NOERR) print*,'NOOOOOOO'
     
    113109! Lecture
    114110! -----------------------
    115 #ifdef NC_DOUBLE
    116           status=NF_GET_VARA_DOUBLE(ncid,varid,start,count,tmp_dyn_glo)
    117 #else
    118           status=NF_GET_VARA_REAL(ncid,varid,start,count,tmp_dyn_glo)
    119 #endif
     111          status=nf90_get_var(ncid,varid,tmp_dyn_glo,start,count)
    120112
    121113!      call dump2d(iip1,jjp1,tmp_dyn,'tmp_dyn   ')
  • LMDZ6/trunk/libf/phylmd/Dust/read_vent.F

    r4593 r5073  
    5151c
    5252      start(3)=step
    53 c
    54 #ifdef NC_DOUBLE
    55 !      status=NF_GET_VARA_DOUBLE(ncidu1,varidu1,start,count,u10m_nc)
    56       status=NF_GET_VARA_DOUBLE(ncidu1,varidu1,start,count,u10m_nc_glo)
    57 #else
    58 !      status=NF_GET_VARA_REAL(ncidu1,varidu1,start,count,u10m_nc)
    59       status=NF_GET_VARA_REAL(ncidu1,varidu1,start,count,u10m_nc_glo)
    60 #endif
    61 !       print *,status
    62 c
    63 #ifdef NC_DOUBLE
    64 !      status=NF_GET_VARA_DOUBLE(ncidv1,varidv1,start,count,v10m_nc)
    65       status=NF_GET_VARA_DOUBLE(ncidv1,varidv1,start,count,v10m_nc_glo)
    66 #else
    67 !      status=NF_GET_VARA_REAL(ncidv1,varidv1,start,count,v10m_nc)
    68       status=NF_GET_VARA_REAL(ncidv1,varidv1,start,count,v10m_nc_glo)
    69 #endif
    70 c
     53
     54      status=nf90_get_var(ncidu1,varidu1,u10m_nc_glo,start,count)
     55
     56      status=nf90_get_var(ncidv1,varidv1,v10m_nc_glo,start,count)
     57
    7158
    7259!      print *,'beforebidcor u10m_nc', u10m_nc(1,jjp1)
     
    131118      do l=1,nl
    132119         do i=2,iim-1
    133             if(abs(x(i,l)).gt.1.e10) then
     120            if(abs(x(i,l))>1.e10) then
    134121               zz=0.5*(x(i-1,l)+x(i+1,l))
    135122c              print*,'correction ',i,l,x(i,l),zz
  • LMDZ6/trunk/libf/phylmd/condsurf.F90

    r3102 r5073  
    77  USE indice_sol_mod
    88  USE time_phylmdz_mod, ONLY: annee_ref
     9  USE lmdz_netcdf
    910  IMPLICIT NONE
    1011
     
    2021  ! lmt_bils: bilan chaleur au sol (a utiliser pour "slab-ocean")
    2122
    22   include "netcdf.inc"
    2323  INTEGER nid, nvarid
    2424  INTEGER debut(2)
     
    110110    END IF
    111111    PRINT *, 'debut,epais', debut, epais, 'jour,jourvrai', jour, jourvrai
    112 #ifdef NC_DOUBLE
    113     ierr = nf_get_vara_double(nid, nvarid, debut, epais, lmt_bils_glo)
    114 #else
    115     ierr = nf_get_vara_real(nid, nvarid, debut, epais, lmt_bils_glo)
    116 #endif
     112    ierr = nf90_get_var(nid, nvarid,  lmt_bils_glo, debut, epais)
    117113    IF (ierr/=nf_noerr) THEN
    118114      CALL abort_physic('condsurf', 'Lecture echouee pour <BILS>', 1)
  • LMDZ6/trunk/libf/phylmd/dyn1d/mod_1D_amma_read.F90

    r4593 r5073  
    6767      ierr = NF_OPEN(fich_amma,NF_NOWRITE,nid)
    6868      print*,'fich_amma,NF_NOWRITE,nid ',fich_amma,NF_NOWRITE,nid
    69       if (ierr.NE.NF_NOERR) then
     69      if (ierr/=NF_NOERR) then
    7070         write(*,*) 'ERROR: GROS Pb opening forcings nc file '
    7171         write(*,*) NF_STRERROR(ierr)
     
    7474!.......................................................................
    7575      ierr=NF_INQ_DIMID(nid,'lev',rid)
    76       IF (ierr.NE.NF_NOERR) THEN
     76      IF (ierr/=NF_NOERR) THEN
    7777         print*, 'Oh probleme lecture dimension zz'
    7878      ENDIF
     
    8383      print*,'nid,rid',nid,rid
    8484      nt_amma=0
    85       IF (ierr.NE.NF_NOERR) THEN
     85      IF (ierr/=NF_NOERR) THEN
    8686        stop 'probleme lecture dimension sens'
    8787      ENDIF
     
    268268!      call catchaxis(nid,ntime,nlevel,time,z,ierr)
    269269 
    270 #ifdef NC_DOUBLE
    271          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(1),zz)
    272 #else
    273          ierr = NF_GET_VAR_REAL(nid,var3didin(1),zz)
    274 #endif
     270         ierr = nf90_get_var(nid,var3didin(1),zz)
    275271         if(ierr/=NF_NOERR) then
    276272            write(*,*) NF_STRERROR(ierr)
     
    279275!          write(*,*)'lecture z ok',zz
    280276
    281 #ifdef NC_DOUBLE
    282          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(2),temp)
    283 #else
    284          ierr = NF_GET_VAR_REAL(nid,var3didin(2),temp)
    285 #endif
     277         ierr = nf90_get_var(nid,var3didin(2),temp)
    286278         if(ierr/=NF_NOERR) then
    287279            write(*,*) NF_STRERROR(ierr)
     
    290282!          write(*,*)'lecture th ok',temp
    291283
    292 #ifdef NC_DOUBLE
    293          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(3),qv)
    294 #else
    295          ierr = NF_GET_VAR_REAL(nid,var3didin(3),qv)
    296 #endif
     284         ierr = nf90_get_var(nid,var3didin(3),qv)
    297285         if(ierr/=NF_NOERR) then
    298286            write(*,*) NF_STRERROR(ierr)
     
    301289!          write(*,*)'lecture qv ok',qv
    302290 
    303 #ifdef NC_DOUBLE
    304          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(4),u)
    305 #else
    306          ierr = NF_GET_VAR_REAL(nid,var3didin(4),u)
    307 #endif
     291         ierr = nf90_get_var(nid,var3didin(4),u)
    308292         if(ierr/=NF_NOERR) then
    309293            write(*,*) NF_STRERROR(ierr)
     
    312296!          write(*,*)'lecture u ok',u
    313297
    314 #ifdef NC_DOUBLE
    315          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(5),v)
    316 #else
    317          ierr = NF_GET_VAR_REAL(nid,var3didin(5),v)
    318 #endif
     298         ierr = nf90_get_var(nid,var3didin(5),v)
    319299         if(ierr/=NF_NOERR) then
    320300            write(*,*) NF_STRERROR(ierr)
     
    323303!          write(*,*)'lecture v ok',v
    324304
    325 #ifdef NC_DOUBLE
    326          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(6),dw)
    327 #else
    328          ierr = NF_GET_VAR_REAL(nid,var3didin(6),dw)
    329 #endif
     305         ierr = nf90_get_var(nid,var3didin(6),dw)
    330306         if(ierr/=NF_NOERR) then
    331307            write(*,*) NF_STRERROR(ierr)
     
    334310!          write(*,*)'lecture w ok',dw
    335311
    336 #ifdef NC_DOUBLE
    337          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(7),dt)
    338 #else
    339          ierr = NF_GET_VAR_REAL(nid,var3didin(7),dt)
    340 #endif
     312         ierr = nf90_get_var(nid,var3didin(7),dt)
    341313         if(ierr/=NF_NOERR) then
    342314            write(*,*) NF_STRERROR(ierr)
     
    345317!          write(*,*)'lecture dt ok',dt
    346318
    347 #ifdef NC_DOUBLE
    348          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(8),dq)
    349 #else
    350          ierr = NF_GET_VAR_REAL(nid,var3didin(8),dq)
    351 #endif
     319         ierr = nf90_get_var(nid,var3didin(8),dq)
    352320         if(ierr/=NF_NOERR) then
    353321            write(*,*) NF_STRERROR(ierr)
     
    356324!          write(*,*)'lecture dq ok',dq
    357325
    358 #ifdef NC_DOUBLE
    359          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(9),sens)
    360 #else
    361          ierr = NF_GET_VAR_REAL(nid,var3didin(9),sens)
    362 #endif
     326         ierr = nf90_get_var(nid,var3didin(9),sens)
    363327         if(ierr/=NF_NOERR) then
    364328            write(*,*) NF_STRERROR(ierr)
     
    367331!          write(*,*)'lecture sens ok',sens
    368332
    369 #ifdef NC_DOUBLE
    370          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(10),flat)
    371 #else
    372          ierr = NF_GET_VAR_REAL(nid,var3didin(10),flat)
    373 #endif
     333         ierr = nf90_get_var(nid,var3didin(10),flat)
    374334         if(ierr/=NF_NOERR) then
    375335            write(*,*) NF_STRERROR(ierr)
     
    378338!          write(*,*)'lecture flat ok',flat
    379339
    380 #ifdef NC_DOUBLE
    381          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(11),pp)
    382 #else
    383          ierr = NF_GET_VAR_REAL(nid,var3didin(11),pp)
    384 #endif
     340         ierr = nf90_get_var(nid,var3didin(11),pp)
    385341         if(ierr/=NF_NOERR) then
    386342            write(*,*) NF_STRERROR(ierr)
     
    429385
    430386
    431         if (forcing_type.eq.6) then
     387        if (forcing_type==6) then
    432388! Check that initial day of the simulation consistent with AMMA case:
    433        if (annee_ref.ne.2006) then
     389       if (annee_ref/=2006) then
    434390        print*,'Pour AMMA, annee_ref doit etre 2006'
    435391        print*,'Changer annee_ref dans run.def'
    436392        stop
    437393       endif
    438        if (annee_ref.eq.2006 .and. day1.lt.day_ini_amma) then
    439         print*,'AMMA a débuté le 10 juillet 2006',day1,day_ini_amma
     394       if (annee_ref==2006 .and. day1<day_ini_amma) then
     395        print*,'AMMA a d�but� le 10 juillet 2006',day1,day_ini_amma
    440396        print*,'Changer dayref dans run.def'
    441397        stop
    442398       endif
    443        if (annee_ref.eq.2006 .and. day1.gt.day_ini_amma+1) then
     399       if (annee_ref==2006 .and. day1>day_ini_amma+1) then
    444400        print*,'AMMA a fini le 11 juillet'
    445401        print*,'Changer dayref ou nday dans run.def'
     
    464420
    465421       it_amma1=INT(timeit/dt_amma)+1
    466        IF (it_amma1 .EQ. nt_amma) THEN
     422       IF (it_amma1 == nt_amma) THEN
    467423       it_amma2=it_amma1
    468424       ELSE
     
    472428       time_amma2=(it_amma2-1)*dt_amma
    473429
    474        if (it_amma1 .gt. nt_amma) then
     430       if (it_amma1 > nt_amma) then
    475431        write(*,*) 'PB-stop: day, it_amma1, it_amma2, timeit: '            &
    476432     &        ,day,day_ini_amma,it_amma1,it_amma2,timeit/86400.
     
    479435
    480436! time interpolation:
    481        IF (it_amma1 .EQ. it_amma2) THEN
     437       IF (it_amma1 == it_amma2) THEN
    482438          frac=0.
    483439       ELSE
  • LMDZ6/trunk/libf/phylmd/dyn1d/mod_1D_cases_read.F90

    r4593 r5073  
    9999      ierr = NF_OPEN(fich_cas,NF_NOWRITE,nid)
    100100      print*,'fich_cas,NF_NOWRITE,nid ',fich_cas,NF_NOWRITE,nid
    101       if (ierr.NE.NF_NOERR) then
     101      if (ierr/=NF_NOERR) then
    102102         write(*,*) 'ERROR: GROS Pb opening forcings nc file '
    103103         write(*,*) NF_STRERROR(ierr)
     
    106106!.......................................................................
    107107      ierr=NF_INQ_DIMID(nid,'lat',rid)
    108       IF (ierr.NE.NF_NOERR) THEN
     108      IF (ierr/=NF_NOERR) THEN
    109109         print*, 'Oh probleme lecture dimension lat'
    110110      ENDIF
     
    113113!.......................................................................
    114114      ierr=NF_INQ_DIMID(nid,'lon',rid)
    115       IF (ierr.NE.NF_NOERR) THEN
     115      IF (ierr/=NF_NOERR) THEN
    116116         print*, 'Oh probleme lecture dimension lon'
    117117      ENDIF
     
    120120!.......................................................................
    121121      ierr=NF_INQ_DIMID(nid,'lev',rid)
    122       IF (ierr.NE.NF_NOERR) THEN
     122      IF (ierr/=NF_NOERR) THEN
    123123         print*, 'Oh probleme lecture dimension zz'
    124124      ENDIF
     
    129129      print*,'nid,rid',nid,rid
    130130      nt_cas=0
    131       IF (ierr.NE.NF_NOERR) THEN
     131      IF (ierr/=NF_NOERR) THEN
    132132        stop 'probleme lecture dimension sens'
    133133      ENDIF
     
    532532         endif
    533533 
    534 #ifdef NC_DOUBLE
    535          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(1),zz)
    536 #else
    537          ierr = NF_GET_VAR_REAL(nid,var3didin(1),zz)
    538 #endif
     534         ierr = nf90_get_var(nid,var3didin(1),zz)
    539535         if(ierr/=NF_NOERR) then
    540536            write(*,*) NF_STRERROR(ierr)
     
    543539!          write(*,*)'lecture z ok',zz
    544540
    545 #ifdef NC_DOUBLE
    546          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(2),pp)
    547 #else
    548          ierr = NF_GET_VAR_REAL(nid,var3didin(2),pp)
    549 #endif
     541         ierr = nf90_get_var(nid,var3didin(2),pp)
    550542         if(ierr/=NF_NOERR) then
    551543            write(*,*) NF_STRERROR(ierr)
     
    555547
    556548
    557 #ifdef NC_DOUBLE
    558          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(3),temp)
    559 #else
    560          ierr = NF_GET_VAR_REAL(nid,var3didin(3),temp)
    561 #endif
     549         ierr = nf90_get_var(nid,var3didin(3),temp)
    562550         if(ierr/=NF_NOERR) then
    563551            write(*,*) NF_STRERROR(ierr)
     
    566554!          write(*,*)'lecture T ok',temp
    567555
    568 #ifdef NC_DOUBLE
    569          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(4),qv)
    570 #else
    571          ierr = NF_GET_VAR_REAL(nid,var3didin(4),qv)
    572 #endif
     556         ierr = nf90_get_var(nid,var3didin(4),qv)
    573557         if(ierr/=NF_NOERR) then
    574558            write(*,*) NF_STRERROR(ierr)
     
    577561!          write(*,*)'lecture qv ok',qv
    578562 
    579 #ifdef NC_DOUBLE
    580          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(5),rh)
    581 #else
    582          ierr = NF_GET_VAR_REAL(nid,var3didin(5),rh)
    583 #endif
     563         ierr = nf90_get_var(nid,var3didin(5),rh)
    584564         if(ierr/=NF_NOERR) then
    585565            write(*,*) NF_STRERROR(ierr)
     
    588568!          write(*,*)'lecture rh ok',rh
    589569
    590 #ifdef NC_DOUBLE
    591          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(6),theta)
    592 #else
    593          ierr = NF_GET_VAR_REAL(nid,var3didin(6),theta)
    594 #endif
     570         ierr = nf90_get_var(nid,var3didin(6),theta)
    595571         if(ierr/=NF_NOERR) then
    596572            write(*,*) NF_STRERROR(ierr)
     
    599575!          write(*,*)'lecture theta ok',theta
    600576
    601 #ifdef NC_DOUBLE
    602          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(7),rv)
    603 #else
    604          ierr = NF_GET_VAR_REAL(nid,var3didin(7),rv)
    605 #endif
     577         ierr = nf90_get_var(nid,var3didin(7),rv)
    606578         if(ierr/=NF_NOERR) then
    607579            write(*,*) NF_STRERROR(ierr)
     
    610582!          write(*,*)'lecture rv ok',rv
    611583
    612 #ifdef NC_DOUBLE
    613          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(8),u)
    614 #else
    615          ierr = NF_GET_VAR_REAL(nid,var3didin(8),u)
    616 #endif
     584         ierr = nf90_get_var(nid,var3didin(8),u)
    617585         if(ierr/=NF_NOERR) then
    618586            write(*,*) NF_STRERROR(ierr)
     
    621589!          write(*,*)'lecture u ok',u
    622590
    623 #ifdef NC_DOUBLE
    624          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(9),v)
    625 #else
    626          ierr = NF_GET_VAR_REAL(nid,var3didin(9),v)
    627 #endif
     591         ierr = nf90_get_var(nid,var3didin(9),v)
    628592         if(ierr/=NF_NOERR) then
    629593            write(*,*) NF_STRERROR(ierr)
     
    632596!          write(*,*)'lecture v ok',v
    633597
    634 #ifdef NC_DOUBLE
    635          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(10),ug)
    636 #else
    637          ierr = NF_GET_VAR_REAL(nid,var3didin(10),ug)
    638 #endif
     598         ierr = nf90_get_var(nid,var3didin(10),ug)
    639599         if(ierr/=NF_NOERR) then
    640600            write(*,*) NF_STRERROR(ierr)
     
    643603!          write(*,*)'lecture ug ok',ug
    644604
    645 #ifdef NC_DOUBLE
    646          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(11),vg)
    647 #else
    648          ierr = NF_GET_VAR_REAL(nid,var3didin(11),vg)
    649 #endif
     605         ierr = nf90_get_var(nid,var3didin(11),vg)
    650606         if(ierr/=NF_NOERR) then
    651607            write(*,*) NF_STRERROR(ierr)
     
    654610!          write(*,*)'lecture vg ok',vg
    655611
    656 #ifdef NC_DOUBLE
    657          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(12),w)
    658 #else
    659          ierr = NF_GET_VAR_REAL(nid,var3didin(12),w)
    660 #endif
     612         ierr = nf90_get_var(nid,var3didin(12),w)
    661613         if(ierr/=NF_NOERR) then
    662614            write(*,*) NF_STRERROR(ierr)
     
    665617!          write(*,*)'lecture w ok',w
    666618
    667 #ifdef NC_DOUBLE
    668          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(13),du)
    669 #else
    670          ierr = NF_GET_VAR_REAL(nid,var3didin(13),du)
    671 #endif
     619         ierr = nf90_get_var(nid,var3didin(13),du)
    672620         if(ierr/=NF_NOERR) then
    673621            write(*,*) NF_STRERROR(ierr)
     
    676624!          write(*,*)'lecture du ok',du
    677625
    678 #ifdef NC_DOUBLE
    679          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(14),hu)
    680 #else
    681          ierr = NF_GET_VAR_REAL(nid,var3didin(14),hu)
    682 #endif
     626         ierr = nf90_get_var(nid,var3didin(14),hu)
    683627         if(ierr/=NF_NOERR) then
    684628            write(*,*) NF_STRERROR(ierr)
     
    687631!          write(*,*)'lecture hu ok',hu
    688632
    689 #ifdef NC_DOUBLE
    690          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(15),vu)
    691 #else
    692          ierr = NF_GET_VAR_REAL(nid,var3didin(15),vu)
    693 #endif
     633         ierr = nf90_get_var(nid,var3didin(15),vu)
    694634         if(ierr/=NF_NOERR) then
    695635            write(*,*) NF_STRERROR(ierr)
     
    698638!          write(*,*)'lecture vu ok',vu
    699639
    700 #ifdef NC_DOUBLE
    701          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(16),dv)
    702 #else
    703          ierr = NF_GET_VAR_REAL(nid,var3didin(16),dv)
    704 #endif
     640         ierr = nf90_get_var(nid,var3didin(16),dv)
    705641         if(ierr/=NF_NOERR) then
    706642            write(*,*) NF_STRERROR(ierr)
     
    709645!          write(*,*)'lecture dv ok',dv
    710646
    711 #ifdef NC_DOUBLE
    712          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(17),hv)
    713 #else
    714          ierr = NF_GET_VAR_REAL(nid,var3didin(17),hv)
    715 #endif
     647         ierr = nf90_get_var(nid,var3didin(17),hv)
    716648         if(ierr/=NF_NOERR) then
    717649            write(*,*) NF_STRERROR(ierr)
     
    720652!          write(*,*)'lecture hv ok',hv
    721653
    722 #ifdef NC_DOUBLE
    723          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(18),vv)
    724 #else
    725          ierr = NF_GET_VAR_REAL(nid,var3didin(18),vv)
    726 #endif
     654         ierr = nf90_get_var(nid,var3didin(18),vv)
    727655         if(ierr/=NF_NOERR) then
    728656            write(*,*) NF_STRERROR(ierr)
     
    731659!          write(*,*)'lecture vv ok',vv
    732660
    733 #ifdef NC_DOUBLE
    734          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(19),dt)
    735 #else
    736          ierr = NF_GET_VAR_REAL(nid,var3didin(19),dt)
    737 #endif
     661         ierr = nf90_get_var(nid,var3didin(19),dt)
    738662         if(ierr/=NF_NOERR) then
    739663            write(*,*) NF_STRERROR(ierr)
     
    742666!          write(*,*)'lecture dt ok',dt
    743667
    744 #ifdef NC_DOUBLE
    745          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(20),ht)
    746 #else
    747          ierr = NF_GET_VAR_REAL(nid,var3didin(20),ht)
    748 #endif
     668         ierr = nf90_get_var(nid,var3didin(20),ht)
    749669         if(ierr/=NF_NOERR) then
    750670            write(*,*) NF_STRERROR(ierr)
     
    753673!          write(*,*)'lecture ht ok',ht
    754674
    755 #ifdef NC_DOUBLE
    756          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(21),vt)
    757 #else
    758          ierr = NF_GET_VAR_REAL(nid,var3didin(21),vt)
    759 #endif
     675         ierr = nf90_get_var(nid,var3didin(21),vt)
    760676         if(ierr/=NF_NOERR) then
    761677            write(*,*) NF_STRERROR(ierr)
     
    764680!          write(*,*)'lecture vt ok',vt
    765681
    766 #ifdef NC_DOUBLE
    767          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(22),dq)
    768 #else
    769          ierr = NF_GET_VAR_REAL(nid,var3didin(22),dq)
    770 #endif
     682         ierr = nf90_get_var(nid,var3didin(22),dq)
    771683         if(ierr/=NF_NOERR) then
    772684            write(*,*) NF_STRERROR(ierr)
     
    775687!          write(*,*)'lecture dq ok',dq
    776688
    777 #ifdef NC_DOUBLE
    778          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(23),hq)
    779 #else
    780          ierr = NF_GET_VAR_REAL(nid,var3didin(23),hq)
    781 #endif
     689         ierr = nf90_get_var(nid,var3didin(23),hq)
    782690         if(ierr/=NF_NOERR) then
    783691            write(*,*) NF_STRERROR(ierr)
     
    786694!          write(*,*)'lecture hq ok',hq
    787695
    788 #ifdef NC_DOUBLE
    789          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(24),vq)
    790 #else
    791          ierr = NF_GET_VAR_REAL(nid,var3didin(24),vq)
    792 #endif
     696         ierr = nf90_get_var(nid,var3didin(24),vq)
    793697         if(ierr/=NF_NOERR) then
    794698            write(*,*) NF_STRERROR(ierr)
     
    797701!          write(*,*)'lecture vq ok',vq
    798702
    799 #ifdef NC_DOUBLE
    800          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(25),dth)
    801 #else
    802          ierr = NF_GET_VAR_REAL(nid,var3didin(25),dth)
    803 #endif
     703         ierr = nf90_get_var(nid,var3didin(25),dth)
    804704         if(ierr/=NF_NOERR) then
    805705            write(*,*) NF_STRERROR(ierr)
     
    808708!          write(*,*)'lecture dth ok',dth
    809709
    810 #ifdef NC_DOUBLE
    811          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(26),hth)
    812 #else
    813          ierr = NF_GET_VAR_REAL(nid,var3didin(26),hth)
    814 #endif
     710         ierr = nf90_get_var(nid,var3didin(26),hth)
    815711         if(ierr/=NF_NOERR) then
    816712            write(*,*) NF_STRERROR(ierr)
     
    819715!          write(*,*)'lecture hth ok',hth
    820716
    821 #ifdef NC_DOUBLE
    822          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(27),vth)
    823 #else
    824          ierr = NF_GET_VAR_REAL(nid,var3didin(27),vth)
    825 #endif
     717         ierr = nf90_get_var(nid,var3didin(27),vth)
    826718         if(ierr/=NF_NOERR) then
    827719            write(*,*) NF_STRERROR(ierr)
     
    830722!          write(*,*)'lecture vth ok',vth
    831723
    832 #ifdef NC_DOUBLE
    833          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(28),dr)
    834 #else
    835          ierr = NF_GET_VAR_REAL(nid,var3didin(28),dr)
    836 #endif
     724         ierr = nf90_get_var(nid,var3didin(28),dr)
    837725         if(ierr/=NF_NOERR) then
    838726            write(*,*) NF_STRERROR(ierr)
     
    841729!          write(*,*)'lecture dr ok',dr
    842730
    843 #ifdef NC_DOUBLE
    844          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(29),hr)
    845 #else
    846          ierr = NF_GET_VAR_REAL(nid,var3didin(29),hr)
    847 #endif
     731         ierr = nf90_get_var(nid,var3didin(29),hr)
    848732         if(ierr/=NF_NOERR) then
    849733            write(*,*) NF_STRERROR(ierr)
     
    852736!          write(*,*)'lecture hr ok',hr
    853737
    854 #ifdef NC_DOUBLE
    855          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(30),vr)
    856 #else
    857          ierr = NF_GET_VAR_REAL(nid,var3didin(30),vr)
    858 #endif
     738         ierr = nf90_get_var(nid,var3didin(30),vr)
    859739         if(ierr/=NF_NOERR) then
    860740            write(*,*) NF_STRERROR(ierr)
     
    863743!          write(*,*)'lecture vr ok',vr
    864744
    865 #ifdef NC_DOUBLE
    866          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(31),dtrad)
    867 #else
    868          ierr = NF_GET_VAR_REAL(nid,var3didin(31),dtrad)
    869 #endif
     745         ierr = nf90_get_var(nid,var3didin(31),dtrad)
    870746         if(ierr/=NF_NOERR) then
    871747            write(*,*) NF_STRERROR(ierr)
     
    874750!          write(*,*)'lecture dtrad ok',dtrad
    875751
    876 #ifdef NC_DOUBLE
    877          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(32),sens)
    878 #else
    879          ierr = NF_GET_VAR_REAL(nid,var3didin(32),sens)
    880 #endif
     752         ierr = nf90_get_var(nid,var3didin(32),sens)
    881753         if(ierr/=NF_NOERR) then
    882754            write(*,*) NF_STRERROR(ierr)
     
    885757!          write(*,*)'lecture sens ok',sens
    886758
    887 #ifdef NC_DOUBLE
    888          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(33),flat)
    889 #else
    890          ierr = NF_GET_VAR_REAL(nid,var3didin(33),flat)
    891 #endif
     759         ierr = nf90_get_var(nid,var3didin(33),flat)
    892760         if(ierr/=NF_NOERR) then
    893761            write(*,*) NF_STRERROR(ierr)
     
    896764!          write(*,*)'lecture flat ok',flat
    897765
    898 #ifdef NC_DOUBLE
    899          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(34),ts)
    900 #else
    901          ierr = NF_GET_VAR_REAL(nid,var3didin(34),ts)
    902 #endif
     766         ierr = nf90_get_var(nid,var3didin(34),ts)
    903767         if(ierr/=NF_NOERR) then
    904768            write(*,*) NF_STRERROR(ierr)
     
    907771!          write(*,*)'lecture ts ok',ts
    908772
    909 #ifdef NC_DOUBLE
    910          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(35),ustar)
    911 #else
    912          ierr = NF_GET_VAR_REAL(nid,var3didin(35),ustar)
    913 #endif
     773         ierr = nf90_get_var(nid,var3didin(35),ustar)
    914774         if(ierr/=NF_NOERR) then
    915775            write(*,*) NF_STRERROR(ierr)
     
    918778!         write(*,*)'lecture ustar ok',ustar
    919779
    920 #ifdef NC_DOUBLE
    921          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(36),uw)
    922 #else
    923          ierr = NF_GET_VAR_REAL(nid,var3didin(36),uw)
    924 #endif
     780         ierr = nf90_get_var(nid,var3didin(36),uw)
    925781         if(ierr/=NF_NOERR) then
    926782            write(*,*) NF_STRERROR(ierr)
     
    929785!         write(*,*)'lecture uw ok',uw
    930786
    931 #ifdef NC_DOUBLE
    932          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(37),vw)
    933 #else
    934          ierr = NF_GET_VAR_REAL(nid,var3didin(37),vw)
    935 #endif
     787         ierr = nf90_get_var(nid,var3didin(37),vw)
    936788         if(ierr/=NF_NOERR) then
    937789            write(*,*) NF_STRERROR(ierr)
     
    940792!         write(*,*)'lecture vw ok',vw
    941793
    942 #ifdef NC_DOUBLE
    943          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(38),q1)
    944 #else
    945          ierr = NF_GET_VAR_REAL(nid,var3didin(38),q1)
    946 #endif
     794         ierr = nf90_get_var(nid,var3didin(38),q1)
    947795         if(ierr/=NF_NOERR) then
    948796            write(*,*) NF_STRERROR(ierr)
     
    951799!         write(*,*)'lecture q1 ok',q1
    952800
    953 #ifdef NC_DOUBLE
    954          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(39),q2)
    955 #else
    956          ierr = NF_GET_VAR_REAL(nid,var3didin(39),q2)
    957 #endif
     801         ierr = nf90_get_var(nid,var3didin(39),q2)
    958802         if(ierr/=NF_NOERR) then
    959803            write(*,*) NF_STRERROR(ierr)
     
    1081925
    1082926       it_cas1=INT(timeit/pdt_cas)+1
    1083        IF (it_cas1 .EQ. nt_cas) THEN
     927       IF (it_cas1 == nt_cas) THEN
    1084928       it_cas2=it_cas1
    1085929       ELSE
     
    1093937      print *,'time_cas2=',time_cas2
    1094938
    1095        if (it_cas1 .gt. nt_cas) then
     939       if (it_cas1 > nt_cas) then
    1096940        write(*,*) 'PB-stop: day, day_ju_ini_cas,it_cas1, it_cas2, timeit: '            &
    1097941     &        ,day,day_ju_ini_cas,it_cas1,it_cas2,timeit
     
    1100944
    1101945! time interpolation:
    1102        IF (it_cas1 .EQ. it_cas2) THEN
     946       IF (it_cas1 == it_cas2) THEN
    1103947          frac=0.
    1104948       ELSE
  • LMDZ6/trunk/libf/phylmd/interfoce_lim.F90

    r3102 r5073  
    1010  USE mod_phys_lmdz_para
    1111  USE indice_sol_mod
     12  USE lmdz_netcdf
    1213 
    1314  IMPLICIT NONE
    14  
    15   INCLUDE "netcdf.inc"
    1615
    1716! Cette routine sert d'interface entre le modele atmospherique et un fichier
     
    116115        fich = TRIM(fich)
    117116        ierr = NF_OPEN (fich, NF_NOWRITE,nid)
    118         IF (ierr.NE.NF_NOERR) THEN
     117        IF (ierr/=NF_NOERR) THEN
    119118           abort_message = 'Pb d''ouverture du fichier de conditions aux limites'
    120119           CALL abort_physic(modname,abort_message,1)
     
    137136              CALL abort_physic(modname,abort_message,1)
    138137           ENDIF
    139 #ifdef NC_DOUBLE
    140            ierr = NF_GET_VARA_DOUBLE(nid,nvarid,start,epais,pct_tmp(1,is_oce))
    141 #else
    142            ierr = NF_GET_VARA_REAL(nid,nvarid,start,epais,pct_tmp(1,is_oce))
    143 #endif
     138           ierr = nf90_get_var(nid,nvarid,pct_tmp(:,is_oce),start,epais)
    144139           IF (ierr /= NF_NOERR) THEN
    145140              abort_message = 'Lecture echouee pour <FOCE>'
     
    154149              CALL abort_physic(modname,abort_message,1)
    155150           ENDIF
    156 #ifdef NC_DOUBLE
    157            ierr = NF_GET_VARA_DOUBLE(nid,nvarid,start,epais,pct_tmp(1,is_sic))
    158 #else
    159            ierr = NF_GET_VARA_REAL(nid,nvarid,start,epais,pct_tmp(1,is_sic))
    160 #endif
     151           ierr = nf90_get_var(nid,nvarid,pct_tmp(:,is_sic),start,epais)
    161152           IF (ierr /= NF_NOERR) THEN
    162153              abort_message = 'Lecture echouee pour <FSIC>'
     
    171162              CALL abort_physic(modname,abort_message,1)
    172163           ENDIF
    173 #ifdef NC_DOUBLE
    174            ierr = NF_GET_VARA_DOUBLE(nid,nvarid,start,epais,pct_tmp(1,is_ter))
    175 #else
    176            ierr = NF_GET_VARA_REAL(nid,nvarid,start,epais,pct_tmp(1,is_ter))
    177 #endif
     164           ierr = nf90_get_var(nid,nvarid,pct_tmp(:,is_ter),start,epais)
    178165           IF (ierr /= NF_NOERR) THEN
    179166              abort_message = 'Lecture echouee pour <FTER>'
     
    188175              CALL abort_physic(modname,abort_message,1)
    189176           ENDIF
    190 #ifdef NC_DOUBLE
    191            ierr = NF_GET_VARA_DOUBLE(nid,nvarid,start,epais,pct_tmp(1,is_lic))
    192 #else
    193            ierr = NF_GET_VARA_REAL(nid,nvarid,start,epais,pct_tmp(1,is_lic))
    194 #endif
     177           ierr = nf90_get_var(nid,nvarid,pct_tmp(:,is_lic),start,epais)
    195178           IF (ierr /= NF_NOERR) THEN
    196179              abort_message = 'Lecture echouee pour <FLIC>'
     
    205188              CALL abort_physic(modname,abort_message,1)
    206189           ENDIF
    207 #ifdef NC_DOUBLE
    208            ierr = NF_GET_VARA_DOUBLE(nid,nvarid,start,epais, nat_lu)
    209 #else
    210            ierr = NF_GET_VARA_REAL(nid,nvarid,start,epais, nat_lu)
    211 #endif
     190           ierr = nf90_get_var(nid,nvarid,nat_lu,start,epais)
    212191           IF (ierr /= NF_NOERR) THEN
    213192              abort_message = 'Lecture echouee pour <NAT>'
     
    239218           CALL abort_physic(modname,abort_message,1)
    240219        ENDIF
    241 #ifdef NC_DOUBLE
    242         ierr = NF_GET_VARA_DOUBLE(nid,nvarid,start,epais, sst_lu)
    243 #else
    244         ierr = NF_GET_VARA_REAL(nid,nvarid,start,epais, sst_lu)
    245 #endif
     220        ierr = nf90_get_var(nid,nvarid,sst_lu,start,epais)
    246221        IF (ierr /= NF_NOERR) THEN
    247222           abort_message = 'Lecture echouee pour <SST>'
  • LMDZ6/trunk/libf/phylmd/iostart.F90

    r3508 r5073  
    11MODULE iostart
    2 
     2 
    33PRIVATE
    44    INTEGER,SAVE :: nid_start
     
    3030
    3131  SUBROUTINE Open_startphy(filename)
    32   USE netcdf
     32  USE lmdz_netcdf
    3333  USE mod_phys_lmdz_para
    3434  IMPLICIT NONE
     
    3838    IF (is_mpi_root .AND. is_omp_root) THEN
    3939      ierr = NF90_OPEN (filename, NF90_NOWRITE,nid_start)
    40       IF (ierr.NE.NF90_NOERR) THEN
     40      IF (ierr/=NF90_NOERR) THEN
    4141        write(6,*)' Pb d''ouverture du fichier '//filename
    4242        write(6,*)' ierr = ', ierr
     
    4848
    4949  SUBROUTINE Close_startphy
    50   USE netcdf
     50  USE lmdz_netcdf
    5151  USE mod_phys_lmdz_para
    5252  IMPLICIT NONE
     
    6161
    6262  FUNCTION Inquire_Field(Field_name)
    63   USE netcdf
     63  USE lmdz_netcdf
    6464  USE mod_phys_lmdz_para
    6565  IMPLICIT NONE
     
    115115 
    116116  SUBROUTINE Get_field_rgen(field_name,field,field_size,found)
    117   USE netcdf
     117  USE lmdz_netcdf
    118118  USE dimphy
    119119  USE geometry_mod
     
    251251
    252252  SUBROUTINE Get_var_rgen(var_name,var,var_size,found)
    253   USE netcdf
     253  USE lmdz_netcdf
    254254  USE dimphy
    255255  USE mod_grid_phy_lmdz
     
    301301
    302302  SUBROUTINE open_restartphy(filename)
    303   USE netcdf
     303  USE lmdz_netcdf
    304304  USE mod_phys_lmdz_para, ONLY: is_master
    305305  USE mod_grid_phy_lmdz, ONLY: klon_glo
     
    332332 
    333333  SUBROUTINE enddef_restartphy
    334   USE netcdf
     334  USE lmdz_netcdf
    335335  USE mod_phys_lmdz_para
    336336  IMPLICIT NONE
     
    342342
    343343  SUBROUTINE close_restartphy
    344   USE netcdf
     344  USE lmdz_netcdf
    345345  USE mod_phys_lmdz_para
    346346  IMPLICIT NONE
     
    385385 
    386386  SUBROUTINE put_field_rgen(pass, field_name,title,field,field_size)
    387   USE netcdf
     387  USE lmdz_netcdf
    388388  USE dimphy
    389389  USE geometry_mod
     
    424424         
    425425!      ierr = NF90_REDEF (nid_restart)
    426 #ifdef NC_DOUBLE
    427       ierr = NF90_DEF_VAR (nid_restart, field_name, NF90_DOUBLE,(/ idim /),nvarid)
    428 #else
    429       ierr = NF90_DEF_VAR (nid_restart, field_name, NF90_FLOAT,(/ idim /),nvarid)
    430 #endif
     426      ierr = NF90_DEF_VAR (nid_restart, field_name, NF90_FORMAT,(/ idim /),nvarid)
    431427      IF (LEN_TRIM(title) > 0) ierr = NF90_PUT_ATT (nid_restart,nvarid,"title", title)
    432428!      ierr = NF90_ENDDEF(nid_restart)
     
    512508
    513509  SUBROUTINE put_var_rgen(pass, var_name,title,var,var_size)
    514   USE netcdf
     510  USE lmdz_netcdf
    515511  USE dimphy
    516512  USE mod_phys_lmdz_para
     
    537533!      ierr = NF90_REDEF (nid_restart)
    538534
    539 #ifdef NC_DOUBLE
    540         ierr = NF90_DEF_VAR (nid_restart, var_name, NF90_DOUBLE,(/ idim1 /),nvarid)
    541 #else
    542         ierr = NF90_DEF_VAR (nid_restart, var_name, NF90_FLOAT,(/ idim1 /),nvarid)
    543 #endif
     535        ierr = NF90_DEF_VAR (nid_restart, var_name, NF90_FORMAT,(/ idim1 /),nvarid)
    544536        IF (LEN_TRIM(title)>0) ierr = NF90_PUT_ATT (nid_restart,nvarid,"title", title)
    545537!      ierr = NF90_ENDDEF(nid_restart)
  • LMDZ6/trunk/libf/phylmd/phyaqua_mod.F90

    r4619 r5073  
    133133    !END IF
    134134   
    135     if (year_len.ne.360) then
     135    if (year_len/=360) then
    136136      write (*,*) year_len
    137137      call abort_physic("iniaqua", 'iniaqua: 360 day calendar is required !', 1)
     
    517517    IMPLICIT NONE
    518518
    519     include "netcdf.inc"
    520 
    521519    INTEGER, INTENT (IN) :: klon
    522520    REAL, INTENT (IN) :: phy_nat(klon, 360)
     
    572570    USE mod_phys_lmdz_transfert_para, ONLY: gather
    573571    USE phys_cal_mod, ONLY: year_len
    574     use netcdf, only: nf90_def_var, nf90_double, nf90_float
     572    use lmdz_netcdf, ONLY: nf90_def_var, nf90_put_var, nf90_get_var, nf_strerror, nf_close, &
     573            nf_enddef, nf_put_att_text, nf_unlimited, nf_noerr, nf_global, nf_clobber, &
     574            nf_64bit_offset, nf90_format, nf_def_dim, nf_create
    575575    IMPLICIT NONE
    576     include "netcdf.inc"
    577576
    578577    INTEGER, INTENT (IN) :: klon
     
    616615      dims(2) = ntim
    617616
    618 #ifdef NC_DOUBLE
    619       ierr = nf90_def_var(nid, 'TEMPS', nf90_double, [ntim], id_tim)
    620 #else
    621       ierr = nf90_def_var(nid, 'TEMPS', nf90_float, [ntim], id_tim)
    622 #endif
     617      ierr = nf90_def_var(nid, 'TEMPS', NF90_FORMAT, [ntim], id_tim)
    623618      ierr = nf_put_att_text(nid, id_tim, 'title', 17, 'Jour dans l annee')
    624619
    625 #ifdef NC_DOUBLE
    626       ierr = nf90_def_var(nid, 'NAT', nf90_double, dims, id_nat)
    627 #else
    628       ierr = nf90_def_var(nid, 'NAT', nf90_float, dims, id_nat)
    629 #endif
     620      ierr = nf90_def_var(nid, 'NAT', NF90_FORMAT, dims, id_nat)
    630621      ierr = nf_put_att_text(nid, id_nat, 'title', 23, &
    631622        'Nature du sol (0,1,2,3)')
    632623
    633 #ifdef NC_DOUBLE
    634       ierr = nf90_def_var(nid, 'SST', nf90_double, dims, id_sst)
    635 #else
    636       ierr = nf90_def_var(nid, 'SST', nf90_float, dims, id_sst)
    637 #endif
     624      ierr = nf90_def_var(nid, 'SST', NF90_FORMAT, dims, id_sst)
    638625      ierr = nf_put_att_text(nid, id_sst, 'title', 35, &
    639626        'Temperature superficielle de la mer')
    640627
    641 #ifdef NC_DOUBLE
    642       ierr = nf90_def_var(nid, 'BILS', nf90_double, dims, id_bils)
    643 #else
    644       ierr = nf90_def_var(nid, 'BILS', nf90_float, dims, id_bils)
    645 #endif
     628      ierr = nf90_def_var(nid, 'BILS', NF90_FORMAT, dims, id_bils)
    646629      ierr = nf_put_att_text(nid, id_bils, 'title', 32, &
    647630        'Reference flux de chaleur au sol')
    648631
    649 #ifdef NC_DOUBLE
    650       ierr = nf90_def_var(nid, 'ALB', nf90_double, dims, id_alb)
    651 #else
    652       ierr = nf90_def_var(nid, 'ALB', nf90_float, dims, id_alb)
    653 #endif
     632      ierr = nf90_def_var(nid, 'ALB', NF90_FORMAT, dims, id_alb)
    654633      ierr = nf_put_att_text(nid, id_alb, 'title', 19, 'Albedo a la surface')
    655634
    656 #ifdef NC_DOUBLE
    657       ierr = nf90_def_var(nid, 'RUG', nf90_double, dims, id_rug)
    658 #else
    659       ierr = nf90_def_var(nid, 'RUG', nf90_float, dims, id_rug)
    660 #endif
     635      ierr = nf90_def_var(nid, 'RUG', NF90_FORMAT, dims, id_rug)
    661636      ierr = nf_put_att_text(nid, id_rug, 'title', 8, 'Rugosite')
    662637
    663 #ifdef NC_DOUBLE
    664       ierr = nf90_def_var(nid, 'FTER', nf90_double, dims, id_fter)
    665 #else
    666       ierr = nf90_def_var(nid, 'FTER', nf90_float, dims, id_fter)
    667 #endif
     638      ierr = nf90_def_var(nid, 'FTER', NF90_FORMAT, dims, id_fter)
    668639      ierr = nf_put_att_text(nid, id_fter, 'title',10,'Frac. Land')
    669 #ifdef NC_DOUBLE
    670       ierr = nf90_def_var(nid, 'FOCE', nf90_double, dims, id_foce)
    671 #else
    672       ierr = nf90_def_var(nid, 'FOCE', nf90_float, dims, id_foce)
    673 #endif
     640      ierr = nf90_def_var(nid, 'FOCE', NF90_FORMAT, dims, id_foce)
    674641      ierr = nf_put_att_text(nid, id_foce, 'title',11,'Frac. Ocean')
    675 #ifdef NC_DOUBLE
    676       ierr = nf90_def_var(nid, 'FSIC', nf90_double, dims, id_fsic)
    677 #else
    678       ierr = nf90_def_var(nid, 'FSIC', nf90_float, dims, id_fsic)
    679 #endif
     642      ierr = nf90_def_var(nid, 'FSIC', NF90_FORMAT, dims, id_fsic)
    680643      ierr = nf_put_att_text(nid, id_fsic, 'title',13,'Frac. Sea Ice')
    681 #ifdef NC_DOUBLE
    682       ierr = nf90_def_var(nid, 'FLIC', nf90_double, dims, id_flic)
    683 #else
    684       ierr = nf90_def_var(nid, 'FLIC', nf90_float, dims, id_flic)
    685 #endif
     644      ierr = nf90_def_var(nid, 'FLIC', NF90_FORMAT, dims, id_flic)
    686645      ierr = nf_put_att_text(nid, id_flic, 'title',14,'Frac. Land Ice')
    687646
     
    695654      ! write the 'times'
    696655      DO k = 1, year_len
    697 #ifdef NC_DOUBLE
    698         ierr = nf_put_var1_double(nid, id_tim, k, dble(k))
    699 #else
    700         ierr = nf_put_var1_real(nid, id_tim, k, float(k))
    701 #endif
     656        ierr = nf90_put_var(nid, id_tim, k, [k])
    702657        IF (ierr/=nf_noerr) THEN
    703658          WRITE (*, *) 'writelim error with temps(k),k=', k
     
    712667    CALL gather(phy_nat, phy_glo)
    713668    IF (is_master) THEN
    714 #ifdef NC_DOUBLE
    715       ierr = nf_put_var_double(nid, id_nat, phy_glo)
    716 #else
    717       ierr = nf_put_var_real(nid, id_nat, phy_glo)
    718 #endif
     669      ierr = nf90_put_var(nid, id_nat, phy_glo)
    719670      IF (ierr/=nf_noerr) THEN
    720671        WRITE (*, *) 'writelim error with phy_nat'
     
    725676    CALL gather(phy_sst, phy_glo)
    726677    IF (is_master) THEN
    727 #ifdef NC_DOUBLE
    728       ierr = nf_put_var_double(nid, id_sst, phy_glo)
    729 #else
    730       ierr = nf_put_var_real(nid, id_sst, phy_glo)
    731 #endif
     678      ierr = nf90_put_var(nid, id_sst, phy_glo)
    732679      IF (ierr/=nf_noerr) THEN
    733680        WRITE (*, *) 'writelim error with phy_sst'
     
    738685    CALL gather(phy_bil, phy_glo)
    739686    IF (is_master) THEN
    740 #ifdef NC_DOUBLE
    741       ierr = nf_put_var_double(nid, id_bils, phy_glo)
    742 #else
    743       ierr = nf_put_var_real(nid, id_bils, phy_glo)
    744 #endif
     687      ierr = nf90_put_var(nid, id_bils, phy_glo)
    745688      IF (ierr/=nf_noerr) THEN
    746689        WRITE (*, *) 'writelim error with phy_bil'
     
    751694    CALL gather(phy_alb, phy_glo)
    752695    IF (is_master) THEN
    753 #ifdef NC_DOUBLE
    754       ierr = nf_put_var_double(nid, id_alb, phy_glo)
    755 #else
    756       ierr = nf_put_var_real(nid, id_alb, phy_glo)
    757 #endif
     696      ierr = nf90_put_var(nid, id_alb, phy_glo)
    758697      IF (ierr/=nf_noerr) THEN
    759698        WRITE (*, *) 'writelim error with phy_alb'
     
    764703    CALL gather(phy_rug, phy_glo)
    765704    IF (is_master) THEN
    766 #ifdef NC_DOUBLE
    767       ierr = nf_put_var_double(nid, id_rug, phy_glo)
    768 #else
    769       ierr = nf_put_var_real(nid, id_rug, phy_glo)
    770 #endif
     705      ierr = nf90_put_var(nid, id_rug, phy_glo)
    771706      IF (ierr/=nf_noerr) THEN
    772707        WRITE (*, *) 'writelim error with phy_rug'
     
    777712    CALL gather(phy_fter, phy_glo)
    778713    IF (is_master) THEN
    779 #ifdef NC_DOUBLE
    780       ierr = nf_put_var_double(nid, id_fter, phy_glo)
    781 #else
    782       ierr = nf_put_var_real(nid, id_fter, phy_glo)
    783 #endif
     714      ierr = nf90_put_var(nid, id_fter, phy_glo)
    784715      IF (ierr/=nf_noerr) THEN
    785716        WRITE (*, *) 'writelim error with phy_fter'
     
    790721    CALL gather(phy_foce, phy_glo)
    791722    IF (is_master) THEN
    792 #ifdef NC_DOUBLE
    793       ierr = nf_put_var_double(nid, id_foce, phy_glo)
    794 #else
    795       ierr = nf_put_var_real(nid, id_foce, phy_glo)
    796 #endif
     723      ierr = nf90_put_var(nid, id_foce, phy_glo)
    797724      IF (ierr/=nf_noerr) THEN
    798725        WRITE (*, *) 'writelim error with phy_foce'
     
    803730    CALL gather(phy_fsic, phy_glo)
    804731    IF (is_master) THEN
    805 #ifdef NC_DOUBLE
    806       ierr = nf_put_var_double(nid, id_fsic, phy_glo)
    807 #else
    808       ierr = nf_put_var_real(nid, id_fsic, phy_glo)
    809 #endif
     732      ierr = nf90_put_var(nid, id_fsic, phy_glo)
    810733      IF (ierr/=nf_noerr) THEN
    811734        WRITE (*, *) 'writelim error with phy_fsic'
     
    816739    CALL gather(phy_flic, phy_glo)
    817740    IF (is_master) THEN
    818 #ifdef NC_DOUBLE
    819       ierr = nf_put_var_double(nid, id_flic, phy_glo)
    820 #else
    821       ierr = nf_put_var_real(nid, id_flic, phy_glo)
    822 #endif
     741      ierr = nf90_put_var(nid, id_flic, phy_glo)
    823742      IF (ierr/=nf_noerr) THEN
    824743        WRITE (*, *) 'writelim error with phy_flic'
     
    1020939      END IF
    1021940
    1022       if (type_profil.EQ.20) then
     941      if (type_profil==20) then
    1023942      print*,'Profile SST 20'
    1024943!     Méthode 13 "Qmax2K" plateau réel �|  l'Equateur augmenté +2K
     
    1029948      endif
    1030949
    1031       if (type_profil.EQ.21) then
     950      if (type_profil==21) then
    1032951      print*,'Profile SST 21'
    1033952!     Méthode 13 "Qmax2K" plateau réel �|  l'Equateur augmenté +2K
  • LMDZ6/trunk/libf/phylmd/read_pstoke0.F90

    r2345 r5073  
    270270    ! **** Geopotentiel au sol ***************************************
    271271    ! phis
    272 #ifdef NC_DOUBLE
    273     status = nf_get_vara_double(ncidp, varidps, start, count, phisfi2)
    274 #else
    275     status = nf_get_vara_real(ncidp, varidps, start, count, phisfi2)
    276 #endif
     272    status = nf90_get_var(ncidp, varidps, phisfi2, start, count)
    277273    CALL gr_ecrit_fi(1, kon, nbp_lon, nbp_lat, phisfi2, phisfi)
    278274
    279275    ! **** Aires des mails aux sol ************************************
    280276    ! aire
    281 #ifdef NC_DOUBLE
    282     status = nf_get_vara_double(ncidp, varidai, start, count, airefi2)
    283 #else
    284     status = nf_get_vara_real(ncidp, varidai, start, count, airefi2)
    285 #endif
     277    status = nf90_get_var(ncidp, varidai, airefi2, start, count)
    286278    CALL gr_ecrit_fi(1, kon, nbp_lon, nbp_lat, airefi2, airefi)
    287279  ELSE
     
    310302
    311303    ! abder t
    312 #ifdef NC_DOUBLE
    313     status = nf_get_vara_double(ncidp, varidt, start, count, t2)
    314 #else
    315     status = nf_get_vara_real(ncidp, varidt, start, count, t2)
    316 #endif
     304    status = nf90_get_var(ncidp, varidt, t2, start, count)
    317305    CALL gr_ecrit_fi(kev, kon, nbp_lon, nbp_lat, t2, t)
    318306
     
    320308    ! ********************************************
    321309    ! mfu
    322 #ifdef NC_DOUBLE
    323     status = nf_get_vara_double(ncidp, varidmfu, start, count, mfu2)
    324 #else
    325     status = nf_get_vara_real(ncidp, varidmfu, start, count, mfu2)
    326 #endif
     310    status = nf90_get_var(ncidp, varidmfu, mfu2, start, count)
    327311    CALL gr_ecrit_fi(kev, kon, nbp_lon, nbp_lat, mfu2, mfu)
    328312
    329313    ! mfd
    330 #ifdef NC_DOUBLE
    331     status = nf_get_vara_double(ncidp, varidmfd, start, count, mfd2)
    332 #else
    333     status = nf_get_vara_real(ncidp, varidmfd, start, count, mfd2)
    334 #endif
     314    status = nf90_get_var(ncidp, varidmfd, mfd2, start, count)
    335315    CALL gr_ecrit_fi(kev, kon, nbp_lon, nbp_lat, mfd2, mfd)
    336316
    337317    ! en_u
    338 #ifdef NC_DOUBLE
    339     status = nf_get_vara_double(ncidp, varidenu, start, count, en_u2)
    340 #else
    341     status = nf_get_vara_real(ncidp, varidenu, start, count, en_u2)
    342 #endif
     318    status = nf90_get_var(ncidp, varidenu, en_u2, start, count)
    343319    CALL gr_ecrit_fi(kev, kon, nbp_lon, nbp_lat, en_u2, en_u)
    344320
    345321    ! de_u
    346 #ifdef NC_DOUBLE
    347     status = nf_get_vara_double(ncidp, variddeu, start, count, de_u2)
    348 #else
    349     status = nf_get_vara_real(ncidp, variddeu, start, count, de_u2)
    350 #endif
     322    status = nf90_get_var(ncidp, variddeu, de_u2, start, count)
    351323    CALL gr_ecrit_fi(kev, kon, nbp_lon, nbp_lat, de_u2, de_u)
    352324
    353325    ! en_d
    354 #ifdef NC_DOUBLE
    355     status = nf_get_vara_double(ncidp, varidend, start, count, en_d2)
    356 #else
    357     status = nf_get_vara_real(ncidp, varidend, start, count, en_d2)
    358 #endif
     326    status = nf90_get_var(ncidp, varidend, en_d2, start, count)
    359327    CALL gr_ecrit_fi(kev, kon, nbp_lon, nbp_lat, en_d2, en_d)
    360328
    361329    ! de_d
    362 #ifdef NC_DOUBLE
    363     status = nf_get_vara_double(ncidp, varidded, start, count, de_d2)
    364 #else
    365     status = nf_get_vara_real(ncidp, varidded, start, count, de_d2)
    366 #endif
     330    status = nf90_get_var(ncidp, varidded, de_d2, start, count)
    367331    CALL gr_ecrit_fi(kev, kon, nbp_lon, nbp_lat, de_d2, de_d)
    368332
     
    371335    ! coefh
    372336    PRINT *, 'LECTURE de coefh a irec =', irec
    373 #ifdef NC_DOUBLE
    374     status = nf_get_vara_double(ncidp, varidch, start, count, coefh2)
    375 #else
    376     status = nf_get_vara_real(ncidp, varidch, start, count, coefh2)
    377 #endif
     337    status = nf90_get_var(ncidp, varidch, coefh2, start, count)
    378338    CALL gr_ecrit_fi(kev, kon, nbp_lon, nbp_lat, coefh2, coefh)
    379339    ! call dump2d(iip1,jjp1,coefh2(1,2),'COEFH2READ   ')
     
    384344    ! Thermiques
    385345    PRINT *, 'LECTURE de fm_therm a irec =', irec
    386 #ifdef NC_DOUBLE
    387     status = nf_get_vara_double(ncidp, varidfmth, start, count, fm_therm2)
    388 #else
    389     status = nf_get_vara_real(ncidp, varidfmth, start, count, fm_therm2)
    390 #endif
     346    status = nf90_get_var(ncidp, varidfmth, fm_therm2, start, count)
    391347    CALL gr_ecrit_fi(kev, kon, nbp_lon, nbp_lat, fm_therm2, fm_therm)
    392348    PRINT *, 'LECTURE de en_therm a irec =', irec
    393 #ifdef NC_DOUBLE
    394     status = nf_get_vara_double(ncidp, varidenth, start, count, en_therm2)
    395 #else
    396     status = nf_get_vara_real(ncidp, varidenth, start, count, en_therm2)
    397 #endif
     349    status = nf90_get_var(ncidp, varidenth, en_therm2, start, count)
    398350    CALL gr_ecrit_fi(kev, kon, nbp_lon, nbp_lat, en_therm2, en_therm)
    399351
     
    401353    ! *******************************************
    402354    ! frac_impa
    403 #ifdef NC_DOUBLE
    404     status = nf_get_vara_double(ncidp, varidfi, start, count, frac_impa2)
    405 #else
    406     status = nf_get_vara_real(ncidp, varidfi, start, count, frac_impa2)
    407 #endif
     355    status = nf90_get_var(ncidp, varidfi, frac_impa2, start, count)
    408356    CALL gr_ecrit_fi(kev, kon, nbp_lon, nbp_lat, frac_impa2, frac_impa)
    409357
    410358    ! frac_nucl
    411359
    412 #ifdef NC_DOUBLE
    413     status = nf_get_vara_double(ncidp, varidfn, start, count, frac_nucl2)
    414 #else
    415     status = nf_get_vara_real(ncidp, varidfn, start, count, frac_nucl2)
    416 #endif
     360    status = nf90_get_var(ncidp, varidfn, frac_nucl2, start, count)
    417361    CALL gr_ecrit_fi(kev, kon, nbp_lon, nbp_lat, frac_nucl2, frac_nucl)
    418362
     
    426370    ! pyu1
    427371    PRINT *, 'LECTURE de yu1 a irec =', irec
    428 #ifdef NC_DOUBLE
    429     status = nf_get_vara_double(ncidp, varidyu1, start, count, pyu12)
    430 #else
    431     status = nf_get_vara_real(ncidp, varidyu1, start, count, pyu12)
    432 #endif
     372    status = nf90_get_var(ncidp, varidyu1, pyu12, start, count)
    433373    CALL gr_ecrit_fi(1, kon, nbp_lon, nbp_lat, pyu12, pyu1)
    434374
    435375    ! pyv1
    436376    PRINT *, 'LECTURE de yv1 a irec =', irec
    437 #ifdef NC_DOUBLE
    438     status = nf_get_vara_double(ncidp, varidyv1, start, count, pyv12)
    439 #else
    440     status = nf_get_vara_real(ncidp, varidyv1, start, count, pyv12)
    441 #endif
     377    status = nf90_get_var(ncidp, varidyv1, pyv12, start, count)
    442378    CALL gr_ecrit_fi(1, kon, nbp_lon, nbp_lat, pyv12, pyv1)
    443379
     
    445381    ! ftsol1
    446382    PRINT *, 'LECTURE de ftsol1 a irec =', irec
    447 #ifdef NC_DOUBLE
    448     status = nf_get_vara_double(ncidp, varidfts1, start, count, ftsol12)
    449 #else
    450     status = nf_get_vara_real(ncidp, varidfts1, start, count, ftsol12)
    451 #endif
     383    status = nf90_get_var(ncidp, varidfts1, ftsol12, start, count)
    452384    CALL gr_ecrit_fi(1, kon, nbp_lon, nbp_lat, ftsol12, ftsol1)
    453385
    454386    ! ftsol2
    455387    PRINT *, 'LECTURE de ftsol2 a irec =', irec
    456 #ifdef NC_DOUBLE
    457     status = nf_get_vara_double(ncidp, varidfts2, start, count, ftsol22)
    458 #else
    459     status = nf_get_vara_real(ncidp, varidfts2, start, count, ftsol22)
    460 #endif
     388    status = nf90_get_var(ncidp, varidfts2, ftsol22, start, count)
    461389    CALL gr_ecrit_fi(1, kon, nbp_lon, nbp_lat, ftsol22, ftsol2)
    462390
    463391    ! ftsol3
    464392    PRINT *, 'LECTURE de ftsol3 a irec =', irec
    465 #ifdef NC_DOUBLE
    466     status = nf_get_vara_double(ncidp, varidfts3, start, count, ftsol32)
    467 #else
    468     status = nf_get_vara_real(ncidp, varidfts3, start, count, ftsol32)
    469 #endif
     393    status = nf90_get_var(ncidp, varidfts3, ftsol32, start, count)
    470394    CALL gr_ecrit_fi(1, kon, nbp_lon, nbp_lat, ftsol32, ftsol3)
    471395
    472396    ! ftsol4
    473 #ifdef NC_DOUBLE
    474     status = nf_get_vara_double(ncidp, varidfts4, start, count, ftsol42)
    475 #else
    476     status = nf_get_vara_real(ncidp, varidfts4, start, count, ftsol42)
    477 #endif
     397    status = nf90_get_var(ncidp, varidfts4, ftsol42, start, count)
    478398    CALL gr_ecrit_fi(1, kon, nbp_lon, nbp_lat, ftsol42, ftsol4)
    479399
    480400    ! **** Nature sol ********************************************
    481401    ! psrf1
    482 #ifdef NC_DOUBLE
    483     status = nf_get_vara_double(ncidp, varidpsr1, start, count, psrf12)
    484 #else
    485     status = nf_get_vara_real(ncidp, varidpsr1, start, count, psrf12)
    486 #endif
     402    status = nf90_get_var(ncidp, varidpsr1, psrf12, start, count)
    487403    ! call dump2d(iip1-1,jjm+1,psrf12,'PSRF1NC')
    488404    CALL gr_ecrit_fi(1, kon, nbp_lon, nbp_lat, psrf12, psrf1)
    489405
    490406    ! psrf2
    491 #ifdef NC_DOUBLE
    492     status = nf_get_vara_double(ncidp, varidpsr2, start, count, psrf22)
    493 #else
    494     status = nf_get_vara_real(ncidp, varidpsr2, start, count, psrf22)
    495 #endif
     407    status = nf90_get_var(ncidp, varidpsr2, psrf22, start, count)
    496408    ! call dump2d(iip1-1,jjm+1,psrf22,'PSRF2NC')
    497409    CALL gr_ecrit_fi(1, kon, nbp_lon, nbp_lat, psrf22, psrf2)
    498410
    499411    ! psrf3
    500 #ifdef NC_DOUBLE
    501     status = nf_get_vara_double(ncidp, varidpsr3, start, count, psrf32)
    502 #else
    503     status = nf_get_vara_real(ncidp, varidpsr3, start, count, psrf32)
    504 #endif
     412    status = nf90_get_var(ncidp, varidpsr3, psrf32, start, count)
    505413    CALL gr_ecrit_fi(1, kon, nbp_lon, nbp_lat, psrf32, psrf3)
    506414
    507415    ! psrf4
    508 #ifdef NC_DOUBLE
    509     status = nf_get_vara_double(ncidp, varidpsr4, start, count, psrf42)
    510 #else
    511     status = nf_get_vara_real(ncidp, varidpsr4, start, count, psrf42)
    512 #endif
     416    status = nf90_get_var(ncidp, varidpsr4, psrf42, start, count)
    513417    CALL gr_ecrit_fi(1, kon, nbp_lon, nbp_lat, psrf42, psrf4)
    514418
  • LMDZ6/trunk/libf/phylmdiso/phyaqua_mod.F90

    r4619 r5073  
    636636      dims(2) = ntim
    637637
    638 #ifdef NC_DOUBLE
    639       ierr = nf_def_var(nid, 'TEMPS', nf_double, 1, ntim, id_tim)
    640 #else
    641       ierr = nf_def_var(nid, 'TEMPS', nf_float, 1, ntim, id_tim)
    642 #endif
     638      ierr = nf_def_var(nid, 'TEMPS', NF90_FORMAT, 1, ntim, id_tim)
    643639      ierr = nf_put_att_text(nid, id_tim, 'title', 17, 'Jour dans l annee')
    644640
    645 #ifdef NC_DOUBLE
    646       ierr = nf_def_var(nid, 'NAT', nf_double, 2, dims, id_nat)
    647 #else
    648       ierr = nf_def_var(nid, 'NAT', nf_float, 2, dims, id_nat)
    649 #endif
     641      ierr = nf_def_var(nid, 'NAT', NF90_FORMAT, 2, dims, id_nat)
    650642      ierr = nf_put_att_text(nid, id_nat, 'title', 23, &
    651643        'Nature du sol (0,1,2,3)')
    652644
    653 #ifdef NC_DOUBLE
    654       ierr = nf_def_var(nid, 'SST', nf_double, 2, dims, id_sst)
    655 #else
    656       ierr = nf_def_var(nid, 'SST', nf_float, 2, dims, id_sst)
    657 #endif
     645      ierr = nf_def_var(nid, 'SST', NF90_FORMAT, 2, dims, id_sst)
    658646      ierr = nf_put_att_text(nid, id_sst, 'title', 35, &
    659647        'Temperature superficielle de la mer')
    660648
    661 #ifdef NC_DOUBLE
    662       ierr = nf_def_var(nid, 'BILS', nf_double, 2, dims, id_bils)
    663 #else
    664       ierr = nf_def_var(nid, 'BILS', nf_float, 2, dims, id_bils)
    665 #endif
     649      ierr = nf_def_var(nid, 'BILS', NF90_FORMAT, 2, dims, id_bils)
    666650      ierr = nf_put_att_text(nid, id_bils, 'title', 32, &
    667651        'Reference flux de chaleur au sol')
    668652
    669 #ifdef NC_DOUBLE
    670       ierr = nf_def_var(nid, 'ALB', nf_double, 2, dims, id_alb)
    671 #else
    672       ierr = nf_def_var(nid, 'ALB', nf_float, 2, dims, id_alb)
    673 #endif
     653      ierr = nf_def_var(nid, 'ALB', NF90_FORMAT, 2, dims, id_alb)
    674654      ierr = nf_put_att_text(nid, id_alb, 'title', 19, 'Albedo a la surface')
    675655
    676 #ifdef NC_DOUBLE
    677       ierr = nf_def_var(nid, 'RUG', nf_double, 2, dims, id_rug)
    678 #else
    679       ierr = nf_def_var(nid, 'RUG', nf_float, 2, dims, id_rug)
    680 #endif
     656      ierr = nf_def_var(nid, 'RUG', NF90_FORMAT, 2, dims, id_rug)
    681657      ierr = nf_put_att_text(nid, id_rug, 'title', 8, 'Rugosite')
    682658
    683 #ifdef NC_DOUBLE
    684       ierr = nf_def_var(nid, 'FTER', nf_double, 2, dims, id_fter)
    685 #else
    686       ierr = nf_def_var(nid, 'FTER', nf_float, 2, dims, id_fter)
    687 #endif
     659      ierr = nf_def_var(nid, 'FTER', NF90_FORMAT, 2, dims, id_fter)
    688660      ierr = nf_put_att_text(nid, id_fter, 'title',10,'Frac. Land')
    689 #ifdef NC_DOUBLE
    690       ierr = nf_def_var(nid, 'FOCE', nf_double, 2, dims, id_foce)
    691 #else
    692       ierr = nf_def_var(nid, 'FOCE', nf_float, 2, dims, id_foce)
    693 #endif
     661      ierr = nf_def_var(nid, 'FOCE', NF90_FORMAT, 2, dims, id_foce)
    694662      ierr = nf_put_att_text(nid, id_foce, 'title',11,'Frac. Ocean')
    695 #ifdef NC_DOUBLE
    696       ierr = nf_def_var(nid, 'FSIC', nf_double, 2, dims, id_fsic)
    697 #else
    698       ierr = nf_def_var(nid, 'FSIC', nf_float, 2, dims, id_fsic)
    699 #endif
     663      ierr = nf_def_var(nid, 'FSIC', NF90_FORMAT, 2, dims, id_fsic)
    700664      ierr = nf_put_att_text(nid, id_fsic, 'title',13,'Frac. Sea Ice')
    701 #ifdef NC_DOUBLE
    702       ierr = nf_def_var(nid, 'FLIC', nf_double, 2, dims, id_flic)
    703 #else
    704       ierr = nf_def_var(nid, 'FLIC', nf_float, 2, dims, id_flic)
    705 #endif
     665      ierr = nf_def_var(nid, 'FLIC', NF90_FORMAT, 2, dims, id_flic)
    706666      ierr = nf_put_att_text(nid, id_flic, 'title',14,'Frac. Land Ice')
    707667
     
    715675      ! write the 'times'
    716676      DO k = 1, year_len
    717 #ifdef NC_DOUBLE
    718         ierr = nf_put_var1_double(nid, id_tim, k, dble(k))
    719 #else
    720         ierr = nf_put_var1_real(nid, id_tim, k, float(k))
    721 #endif
     677        ierr = nf90_put_var(nid, id_tim, k, k)
    722678        IF (ierr/=nf_noerr) THEN
    723679          WRITE (*, *) 'writelim error with temps(k),k=', k
     
    732688    CALL gather(phy_nat, phy_glo)
    733689    IF (is_master) THEN
    734 #ifdef NC_DOUBLE
    735       ierr = nf_put_var_double(nid, id_nat, phy_glo)
    736 #else
    737       ierr = nf_put_var_real(nid, id_nat, phy_glo)
    738 #endif
     690      ierr = nf90_put_var(nid, id_nat, phy_glo)
    739691      IF (ierr/=nf_noerr) THEN
    740692        WRITE (*, *) 'writelim error with phy_nat'
     
    745697    CALL gather(phy_sst, phy_glo)
    746698    IF (is_master) THEN
    747 #ifdef NC_DOUBLE
    748       ierr = nf_put_var_double(nid, id_sst, phy_glo)
    749 #else
    750       ierr = nf_put_var_real(nid, id_sst, phy_glo)
    751 #endif
     699      ierr = nf90_put_var(nid, id_sst, phy_glo)
    752700      IF (ierr/=nf_noerr) THEN
    753701        WRITE (*, *) 'writelim error with phy_sst'
     
    758706    CALL gather(phy_bil, phy_glo)
    759707    IF (is_master) THEN
    760 #ifdef NC_DOUBLE
    761       ierr = nf_put_var_double(nid, id_bils, phy_glo)
    762 #else
    763       ierr = nf_put_var_real(nid, id_bils, phy_glo)
    764 #endif
     708      ierr = nf90_put_var(nid, id_bils, phy_glo)
    765709      IF (ierr/=nf_noerr) THEN
    766710        WRITE (*, *) 'writelim error with phy_bil'
     
    771715    CALL gather(phy_alb, phy_glo)
    772716    IF (is_master) THEN
    773 #ifdef NC_DOUBLE
    774       ierr = nf_put_var_double(nid, id_alb, phy_glo)
    775 #else
    776       ierr = nf_put_var_real(nid, id_alb, phy_glo)
    777 #endif
     717      ierr = nf90_put_var(nid, id_alb, phy_glo)
    778718      IF (ierr/=nf_noerr) THEN
    779719        WRITE (*, *) 'writelim error with phy_alb'
     
    784724    CALL gather(phy_rug, phy_glo)
    785725    IF (is_master) THEN
    786 #ifdef NC_DOUBLE
    787       ierr = nf_put_var_double(nid, id_rug, phy_glo)
    788 #else
    789       ierr = nf_put_var_real(nid, id_rug, phy_glo)
    790 #endif
     726      ierr = nf90_put_var(nid, id_rug, phy_glo)
    791727      IF (ierr/=nf_noerr) THEN
    792728        WRITE (*, *) 'writelim error with phy_rug'
     
    797733    CALL gather(phy_fter, phy_glo)
    798734    IF (is_master) THEN
    799 #ifdef NC_DOUBLE
    800       ierr = nf_put_var_double(nid, id_fter, phy_glo)
    801 #else
    802       ierr = nf_put_var_real(nid, id_fter, phy_glo)
    803 #endif
     735      ierr = nf90_put_var(nid, id_fter, phy_glo)
    804736      IF (ierr/=nf_noerr) THEN
    805737        WRITE (*, *) 'writelim error with phy_fter'
     
    810742    CALL gather(phy_foce, phy_glo)
    811743    IF (is_master) THEN
    812 #ifdef NC_DOUBLE
    813       ierr = nf_put_var_double(nid, id_foce, phy_glo)
    814 #else
    815       ierr = nf_put_var_real(nid, id_foce, phy_glo)
    816 #endif
     744      ierr = nf90_put_var(nid, id_foce, phy_glo)
    817745      IF (ierr/=nf_noerr) THEN
    818746        WRITE (*, *) 'writelim error with phy_foce'
     
    823751    CALL gather(phy_fsic, phy_glo)
    824752    IF (is_master) THEN
    825 #ifdef NC_DOUBLE
    826       ierr = nf_put_var_double(nid, id_fsic, phy_glo)
    827 #else
    828       ierr = nf_put_var_real(nid, id_fsic, phy_glo)
    829 #endif
     753      ierr = nf90_put_var(nid, id_fsic, phy_glo)
    830754      IF (ierr/=nf_noerr) THEN
    831755        WRITE (*, *) 'writelim error with phy_fsic'
     
    836760    CALL gather(phy_flic, phy_glo)
    837761    IF (is_master) THEN
    838 #ifdef NC_DOUBLE
    839       ierr = nf_put_var_double(nid, id_flic, phy_glo)
    840 #else
    841       ierr = nf_put_var_real(nid, id_flic, phy_glo)
    842 #endif
     762      ierr = nf90_put_var(nid, id_flic, phy_glo)
    843763      IF (ierr/=nf_noerr) THEN
    844764        WRITE (*, *) 'writelim error with phy_flic'
Note: See TracChangeset for help on using the changeset viewer.