Index: LMDZ6/trunk/libf/dyn3dmem/guide_loc_mod.f90
===================================================================
--- LMDZ6/trunk/libf/dyn3dmem/guide_loc_mod.f90	(revision 5268)
+++ LMDZ6/trunk/libf/dyn3dmem/guide_loc_mod.f90	(revision 5270)
@@ -11,6 +11,9 @@
   USE getparam, only: ini_getparam, fin_getparam, getpar
   USE Write_Field_loc
-  use netcdf, only: nf90_nowrite, nf90_open, nf90_inq_varid, nf90_close, &
-                    nf90_inq_dimid, nf90_inquire_dimension
+  USE netcdf, ONLY: nf90_nowrite, nf90_open, nf90_inq_varid, nf90_close, &
+          nf90_inq_dimid, nf90_inquire_dimension, nf90_inq_dimid, &
+          nf90_inquire_dimension, nf90_enddef, nf90_def_dim, nf90_put_var, nf90_noerr, nf90_close, nf90_inq_varid, &
+          nf90_redef, nf90_write, nf90_unlimited, nf90_float, nf90_clobber, nf90_64bit_offset, nf90_float, &
+          nf90_create, nf90_def_var, nf90_open
   USE parallel_lmdz
   USE pres2lev_mod, only: pres2lev
@@ -81,5 +84,4 @@
     INCLUDE "dimensions.h"
     INCLUDE "paramet.h"
-    INCLUDE "netcdf.inc"
 
     INTEGER                :: error,ncidpl,rid,rcod
@@ -177,5 +179,5 @@
        if (ncidpl.eq.-99) then
           rcod=nf90_open('apbp.nc',Nf90_NOWRITe, ncidpl)
-          if (rcod.NE.NF_NOERR) THEN
+          if (rcod.NE.nf90_noerr) THEN
              abort_message=' Nudging error -> no file apbp.nc'
              CALL abort_gcm(modname,abort_message,1)
@@ -185,5 +187,5 @@
        if (ncidpl.EQ.-99) then
           rcod=nf90_open('P.nc',Nf90_NOWRITe,ncidpl)
-          if (rcod.NE.NF_NOERR) THEN
+          if (rcod.NE.nf90_noerr) THEN
              abort_message=' Nudging error -> no file P.nc'
              CALL abort_gcm(modname,abort_message,1)
@@ -194,5 +196,5 @@
        if (ncidpl.eq.-99) then
           rcod=nf90_open('u.nc',Nf90_NOWRITe,ncidpl)
-          if (rcod.NE.NF_NOERR) THEN
+          if (rcod.NE.nf90_noerr) THEN
              abort_message=' Nudging error -> no file u.nc'
              CALL abort_gcm(modname,abort_message,1)
@@ -205,5 +207,5 @@
        if (ncidpl.eq.-99) then
           rcod=nf90_open('v.nc',nf90_nowrite,ncidpl)
-          if (rcod.NE.NF_NOERR) THEN
+          if (rcod.NE.nf90_noerr) THEN
              abort_message=' Nudging error -> no file v.nc'
              CALL abort_gcm(modname,abort_message,1)
@@ -215,5 +217,5 @@
        if (ncidpl.eq.-99) then
           rcod=nf90_open('T.nc',nf90_nowrite,ncidpl)
-          if (rcod.NE.NF_NOERR) THEN
+          if (rcod.NE.nf90_noerr) THEN
              abort_message=' Nudging error -> no file T.nc'
              CALL abort_gcm(modname,abort_message,1)
@@ -226,5 +228,5 @@
        if (ncidpl.eq.-99) then
           rcod=nf90_open('hur.nc',nf90_nowrite, ncidpl)
-          if (rcod.NE.NF_NOERR) THEN
+          if (rcod.NE.nf90_noerr) THEN
              abort_message=' Nudging error -> no file hur.nc'
              CALL abort_gcm(modname,abort_message,1)
@@ -234,11 +236,11 @@
 
     endif
-    error=NF_INQ_DIMID(ncidpl,'LEVEL',rid)
-    IF (error.NE.NF_NOERR) error=NF_INQ_DIMID(ncidpl,'PRESSURE',rid)
-    IF (error.NE.NF_NOERR) THEN
+    error=nf90_inq_dimid(ncidpl,'LEVEL',rid)
+    IF (error.NE.nf90_noerr) error=nf90_inq_dimid(ncidpl,'PRESSURE',rid)
+    IF (error.NE.nf90_noerr) THEN
         abort_message='Nudging: error reading pressure levels'
         CALL abort_gcm(modname,abort_message,1)
     ENDIF
-    error=NF_INQ_DIMLEN(ncidpl,rid,nlevnc)
+    error=nf90_inquire_dimension(ncidpl,rid,len=nlevnc)
     write(*,*)trim(modname)//' : number of vertical levels nlevnc', nlevnc
     rcod = nf90_close(ncidpl)
@@ -1575,6 +1577,4 @@
     USE netcdf, ONLY: nf90_put_var
     IMPLICIT NONE
-
-    include "netcdf.inc"
     include "dimensions.h"
     include "paramet.h"
@@ -1605,15 +1605,15 @@
              write(*,*),trim(modname)//' Reading nudging on model levels'
              rcode = nf90_open('apbp.nc', nf90_nowrite, ncidpl)
-             IF (rcode.NE.NF_NOERR) THEN
+             IF (rcode.NE.nf90_noerr) THEN
               abort_message='Nudging: error -> no file apbp.nc'
               CALL abort_gcm(modname,abort_message,1)
              ENDIF
              rcode = nf90_inq_varid(ncidpl, 'AP', varidap)
-             IF (rcode.NE.NF_NOERR) THEN
+             IF (rcode.NE.nf90_noerr) THEN
               abort_message='Nudging: error -> no AP variable in file apbp.nc'
               CALL abort_gcm(modname,abort_message,1)
              ENDIF
              rcode = nf90_inq_varid(ncidpl, 'BP', varidbp)
-             IF (rcode.NE.NF_NOERR) THEN
+             IF (rcode.NE.nf90_noerr) THEN
               abort_message='Nudging: error -> no BP variable in file apbp.nc'
               CALL abort_gcm(modname,abort_message,1)
@@ -1625,10 +1625,10 @@
          if (guide_plevs.EQ.2) then
              rcode = nf90_open('P.nc', nf90_nowrite, ncidp)
-             IF (rcode.NE.NF_NOERR) THEN
+             IF (rcode.NE.nf90_noerr) THEN
               abort_message='Nudging: error -> no file P.nc'
               CALL abort_gcm(modname,abort_message,1)
              ENDIF
              rcode = nf90_inq_varid(ncidp, 'PRES', varidp)
-             IF (rcode.NE.NF_NOERR) THEN
+             IF (rcode.NE.nf90_noerr) THEN
               abort_message='Nudging: error -> no PRES variable in file P.nc'
               CALL abort_gcm(modname,abort_message,1)
@@ -1641,10 +1641,10 @@
          if (guide_u) then
              rcode = nf90_open('u.nc', nf90_nowrite, ncidu)
-             IF (rcode.NE.NF_NOERR) THEN
+             IF (rcode.NE.nf90_noerr) THEN
               abort_message='Nudging: error -> no file u.nc'
               CALL abort_gcm(modname,abort_message,1)
              ENDIF
              rcode = nf90_inq_varid(ncidu, 'UWND', varidu)
-             IF (rcode.NE.NF_NOERR) THEN
+             IF (rcode.NE.nf90_noerr) THEN
               abort_message='Nudging: error -> no UWND variable in file u.nc'
               CALL abort_gcm(modname,abort_message,1)
@@ -1673,10 +1673,10 @@
          if (guide_v) then
              rcode = nf90_open('v.nc', nf90_nowrite, ncidv)
-             IF (rcode.NE.NF_NOERR) THEN
+             IF (rcode.NE.nf90_noerr) THEN
               abort_message='Nudging: error -> no file v.nc'
               CALL abort_gcm(modname,abort_message,1)
              ENDIF
              rcode = nf90_inq_varid(ncidv, 'VWND', varidv)
-             IF (rcode.NE.NF_NOERR) THEN
+             IF (rcode.NE.nf90_noerr) THEN
               abort_message='Nudging: error -> no VWND variable in file v.nc'
               CALL abort_gcm(modname,abort_message,1)
@@ -1706,10 +1706,10 @@
          if (guide_T) then
              rcode = nf90_open('T.nc', nf90_nowrite, ncidt)
-             IF (rcode.NE.NF_NOERR) THEN
+             IF (rcode.NE.nf90_noerr) THEN
               abort_message='Nudging: error -> no file T.nc'
               CALL abort_gcm(modname,abort_message,1)
              ENDIF
              rcode = nf90_inq_varid(ncidt, 'AIR', varidt)
-             IF (rcode.NE.NF_NOERR) THEN
+             IF (rcode.NE.nf90_noerr) THEN
               abort_message='Nudging: error -> no AIR variable in file T.nc'
               CALL abort_gcm(modname,abort_message,1)
@@ -1737,10 +1737,10 @@
          if (guide_Q) then
              rcode = nf90_open('hur.nc', nf90_nowrite, ncidQ)
-             IF (rcode.NE.NF_NOERR) THEN
+             IF (rcode.NE.nf90_noerr) THEN
               abort_message='Nudging: error -> no file hur.nc'
               CALL abort_gcm(modname,abort_message,1)
              ENDIF
              rcode = nf90_inq_varid(ncidQ, 'RH', varidQ)
-             IF (rcode.NE.NF_NOERR) THEN
+             IF (rcode.NE.nf90_noerr) THEN
               abort_message='Nudging: error -> no RH variable in file hur.nc'
               CALL abort_gcm(modname,abort_message,1)
@@ -1769,10 +1769,10 @@
          if ((guide_P).OR.(guide_plevs.EQ.1)) then
              rcode = nf90_open('ps.nc', nf90_nowrite, ncidps)
-             IF (rcode.NE.NF_NOERR) THEN
+             IF (rcode.NE.nf90_noerr) THEN
               abort_message='Nudging: error -> no file ps.nc'
               CALL abort_gcm(modname,abort_message,1)
              ENDIF
              rcode = nf90_inq_varid(ncidps, 'SP', varidps)
-             IF (rcode.NE.NF_NOERR) THEN
+             IF (rcode.NE.nf90_noerr) THEN
               abort_message='Nudging: error -> no SP variable in file ps.nc'
               CALL abort_gcm(modname,abort_message,1)
@@ -1894,6 +1894,4 @@
     USE netcdf, ONLY: nf90_put_var
     IMPLICIT NONE
-
-    include "netcdf.inc"
     include "dimensions.h"
     include "paramet.h"
@@ -1927,15 +1925,15 @@
            write(*,*)trim(modname)//' Reading nudging on model levels'
            rcode = nf90_open('apbp.nc', nf90_nowrite, ncidpl)
-           IF (rcode.NE.NF_NOERR) THEN
+           IF (rcode.NE.nf90_noerr) THEN
              abort_message='Nudging: error -> no file apbp.nc'
            CALL abort_gcm(modname,abort_message,1)
            ENDIF
            rcode = nf90_inq_varid(ncidpl, 'AP', varidap)
-           IF (rcode.NE.NF_NOERR) THEN
+           IF (rcode.NE.nf90_noerr) THEN
              abort_message='Nudging: error -> no AP variable in file apbp.nc'
            CALL abort_gcm(modname,abort_message,1)
            ENDIF
            rcode = nf90_inq_varid(ncidpl, 'BP', varidbp)
-           IF (rcode.NE.NF_NOERR) THEN
+           IF (rcode.NE.nf90_noerr) THEN
              abort_message='Nudging: error -> no BP variable in file apbp.nc'
              CALL abort_gcm(modname,abort_message,1)
@@ -1946,10 +1944,10 @@
          if (guide_plevs.EQ.2) then
            rcode = nf90_open('P.nc', nf90_nowrite, ncidp)
-           IF (rcode.NE.NF_NOERR) THEN
+           IF (rcode.NE.nf90_noerr) THEN
              abort_message='Nudging: error -> no file P.nc'
              CALL abort_gcm(modname,abort_message,1)
            ENDIF
            rcode = nf90_inq_varid(ncidp, 'PRES', varidp)
-           IF (rcode.NE.NF_NOERR) THEN
+           IF (rcode.NE.nf90_noerr) THEN
              abort_message='Nudging: error -> no PRES variable in file P.nc'
              CALL abort_gcm(modname,abort_message,1)
@@ -1961,10 +1959,10 @@
          if (guide_u) then
            rcode = nf90_open('u.nc', nf90_nowrite, ncidu)
-           IF (rcode.NE.NF_NOERR) THEN
+           IF (rcode.NE.nf90_noerr) THEN
              abort_message='Nudging: error -> no file u.nc'
              CALL abort_gcm(modname,abort_message,1)
            ENDIF
            rcode = nf90_inq_varid(ncidu, 'UWND', varidu)
-           IF (rcode.NE.NF_NOERR) THEN
+           IF (rcode.NE.nf90_noerr) THEN
              abort_message='Nudging: error -> no UWND variable in file u.nc'
              CALL abort_gcm(modname,abort_message,1)
@@ -1977,10 +1975,10 @@
          if (guide_v) then
            rcode = nf90_open('v.nc', nf90_nowrite, ncidv)
-           IF (rcode.NE.NF_NOERR) THEN
+           IF (rcode.NE.nf90_noerr) THEN
              abort_message='Nudging: error -> no file v.nc'
              CALL abort_gcm(modname,abort_message,1)
            ENDIF
            rcode = nf90_inq_varid(ncidv, 'VWND', varidv)
-           IF (rcode.NE.NF_NOERR) THEN
+           IF (rcode.NE.nf90_noerr) THEN
              abort_message='Nudging: error -> no VWND variable in file v.nc'
              CALL abort_gcm(modname,abort_message,1)
@@ -1992,10 +1990,10 @@
          if (guide_T) then
            rcode = nf90_open('T.nc', nf90_nowrite, ncidt)
-           IF (rcode.NE.NF_NOERR) THEN
+           IF (rcode.NE.nf90_noerr) THEN
              abort_message='Nudging: error -> no file T.nc'
              CALL abort_gcm(modname,abort_message,1)
            ENDIF
            rcode = nf90_inq_varid(ncidt, 'AIR', varidt)
-           IF (rcode.NE.NF_NOERR) THEN
+           IF (rcode.NE.nf90_noerr) THEN
              abort_message='Nudging: error -> no AIR variable in file T.nc'
              CALL abort_gcm(modname,abort_message,1)
@@ -2007,10 +2005,10 @@
          if (guide_Q) then
            rcode = nf90_open('hur.nc', nf90_nowrite, ncidQ)
-           IF (rcode.NE.NF_NOERR) THEN
+           IF (rcode.NE.nf90_noerr) THEN
              abort_message='Nudging: error -> no file hur.nc'
              CALL abort_gcm(modname,abort_message,1)
            ENDIF
            rcode = nf90_inq_varid(ncidQ, 'RH', varidQ)
-           IF (rcode.NE.NF_NOERR) THEN
+           IF (rcode.NE.nf90_noerr) THEN
              abort_message='Nudging: error -> no RH,variable in file hur.nc'
              CALL abort_gcm(modname,abort_message,1)
@@ -2022,10 +2020,10 @@
          if ((guide_P).OR.(guide_plevs.EQ.1)) then
            rcode = nf90_open('ps.nc', nf90_nowrite, ncidps)
-           IF (rcode.NE.NF_NOERR) THEN
+           IF (rcode.NE.nf90_noerr) THEN
              abort_message='Nudging: error -> no file ps.nc'
              CALL abort_gcm(modname,abort_message,1)
            ENDIF
            rcode = nf90_inq_varid(ncidps, 'SP', varidps)
-           IF (rcode.NE.NF_NOERR) THEN
+           IF (rcode.NE.nf90_noerr) THEN
              abort_message='Nudging: error -> no SP variable in file ps.nc'
              CALL abort_gcm(modname,abort_message,1)
@@ -2177,5 +2175,4 @@
     INCLUDE "dimensions.h"
     INCLUDE "paramet.h"
-    INCLUDE "netcdf.inc"
     INCLUDE "comgeom2.h"
 
@@ -2234,23 +2231,23 @@
 ! ----------------------------------------------
 ! Ouverture du fichier
-        ierr=NF_CREATE("guide_ins.nc",IOR(NF_CLOBBER,NF_64BIT_OFFSET),nid)
+        ierr=nf90_create("guide_ins.nc",IOR(nf90_clobber,nf90_64bit_offset),nid)
 ! Definition des dimensions
-        ierr=NF_DEF_DIM(nid,"LONU",iip1,id_lonu)
-        ierr=NF_DEF_DIM(nid,"LONV",iip1,id_lonv)
-        ierr=NF_DEF_DIM(nid,"LATU",jjp1,id_latu)
-        ierr=NF_DEF_DIM(nid,"LATV",jjm,id_latv)
-        ierr=NF_DEF_DIM(nid,"LEVEL",llm,id_lev)
-        ierr=NF_DEF_DIM(nid,"TIME",NF_UNLIMITED,id_tim)
+        ierr=nf90_def_dim(nid,"LONU",iip1,id_lonu)
+        ierr=nf90_def_dim(nid,"LONV",iip1,id_lonv)
+        ierr=nf90_def_dim(nid,"LATU",jjp1,id_latu)
+        ierr=nf90_def_dim(nid,"LATV",jjm,id_latv)
+        ierr=nf90_def_dim(nid,"LEVEL",llm,id_lev)
+        ierr=nf90_def_dim(nid,"TIME",nf90_unlimited,id_tim)
 
 ! Creation des variables dimensions
-        ierr=NF_DEF_VAR(nid,"LONU",NF_FLOAT,1,id_lonu,vid_lonu)
-        ierr=NF_DEF_VAR(nid,"LONV",NF_FLOAT,1,id_lonv,vid_lonv)
-        ierr=NF_DEF_VAR(nid,"LATU",NF_FLOAT,1,id_latu,vid_latu)
-        ierr=NF_DEF_VAR(nid,"LATV",NF_FLOAT,1,id_latv,vid_latv)
-        ierr=NF_DEF_VAR(nid,"LEVEL",NF_FLOAT,1,id_lev,vid_lev)
-        ierr=NF_DEF_VAR(nid,"cu",NF_FLOAT,2,(/id_lonu,id_latu/),vid_cu)
-        ierr=NF_DEF_VAR(nid,"cv",NF_FLOAT,2,(/id_lonv,id_latv/),vid_cv)
-        ierr=NF_DEF_VAR(nid,"au",NF_FLOAT,2,(/id_lonu,id_latu/),vid_au)
-        ierr=NF_DEF_VAR(nid,"av",NF_FLOAT,2,(/id_lonv,id_latv/),vid_av)
+        ierr=nf90_def_var(nid,"LONU",nf90_float,id_lonu,vid_lonu)
+        ierr=nf90_def_var(nid,"LONV",nf90_float,id_lonv,vid_lonv)
+        ierr=nf90_def_var(nid,"LATU",nf90_float,id_latu,vid_latu)
+        ierr=nf90_def_var(nid,"LATV",nf90_float,id_latv,vid_latv)
+        ierr=nf90_def_var(nid,"LEVEL",nf90_float,id_lev,vid_lev)
+        ierr=nf90_def_var(nid,"cu",nf90_float,(/id_lonu,id_latu/),vid_cu)
+        ierr=nf90_def_var(nid,"cv",nf90_float,(/id_lonv,id_latv/),vid_cv)
+        ierr=nf90_def_var(nid,"au",nf90_float,(/id_lonu,id_latu/),vid_au)
+        ierr=nf90_def_var(nid,"av",nf90_float,(/id_lonv,id_latv/),vid_av)
         call nf95_def_var(nid, "alpha_T", nf90_float, (/id_lonv, id_latu/), &
              varid_alpha_t)
@@ -2258,5 +2255,5 @@
              varid_alpha_q)
 
-        ierr=NF_ENDDEF(nid)
+        ierr=nf90_enddef(nid)
 
 ! Enregistrement des variables dimensions
@@ -2275,40 +2272,40 @@
 ! Cr�ation des variables sauvegard�es
 ! --------------------------------------------------------------------
-        ierr = NF_REDEF(nid)
+        ierr = nf90_redef(nid)
 ! Pressure (GCM)
         dim4=(/id_lonv,id_latu,id_lev,id_tim/)
-        ierr = NF_DEF_VAR(nid,"SP",NF_FLOAT,4,dim4,varid)
+        ierr = nf90_def_var(nid,"SP",nf90_float,dim4,varid)
 ! Surface pressure (guidage)
         IF (guide_P) THEN
             dim3=(/id_lonv,id_latu,id_tim/)
-            ierr = NF_DEF_VAR(nid,"ps",NF_FLOAT,3,dim3,varid)
+            ierr = nf90_def_var(nid,"ps",nf90_float,dim3,varid)
         ENDIF
 ! Zonal wind
         IF (guide_u) THEN
             dim4=(/id_lonu,id_latu,id_lev,id_tim/)
-            ierr = NF_DEF_VAR(nid,"u",NF_FLOAT,4,dim4,varid)
-            ierr = NF_DEF_VAR(nid,"ua",NF_FLOAT,4,dim4,varid)
-            ierr = NF_DEF_VAR(nid,"ucov",NF_FLOAT,4,dim4,varid)
+            ierr = nf90_def_var(nid,"u",nf90_float,dim4,varid)
+            ierr = nf90_def_var(nid,"ua",nf90_float,dim4,varid)
+            ierr = nf90_def_var(nid,"ucov",nf90_float,dim4,varid)
         ENDIF
 ! Merid. wind
         IF (guide_v) THEN
             dim4=(/id_lonv,id_latv,id_lev,id_tim/)
-            ierr = NF_DEF_VAR(nid,"v",NF_FLOAT,4,dim4,varid)
-            ierr = NF_DEF_VAR(nid,"va",NF_FLOAT,4,dim4,varid)
-            ierr = NF_DEF_VAR(nid,"vcov",NF_FLOAT,4,dim4,varid)
+            ierr = nf90_def_var(nid,"v",nf90_float,dim4,varid)
+            ierr = nf90_def_var(nid,"va",nf90_float,dim4,varid)
+            ierr = nf90_def_var(nid,"vcov",nf90_float,dim4,varid)
         ENDIF
 ! Pot. Temperature
         IF (guide_T) THEN
             dim4=(/id_lonv,id_latu,id_lev,id_tim/)
-            ierr = NF_DEF_VAR(nid,"teta",NF_FLOAT,4,dim4,varid)
+            ierr = nf90_def_var(nid,"teta",nf90_float,dim4,varid)
         ENDIF
 ! Specific Humidity
         IF (guide_Q) THEN
             dim4=(/id_lonv,id_latu,id_lev,id_tim/)
-            ierr = NF_DEF_VAR(nid,"q",NF_FLOAT,4,dim4,varid)
+            ierr = nf90_def_var(nid,"q",nf90_float,dim4,varid)
         ENDIF
 
-        ierr = NF_ENDDEF(nid)
-        ierr = NF_CLOSE(nid)
+        ierr = nf90_enddef(nid)
+        ierr = nf90_close(nid)
     ENDIF ! timestep=0
 
@@ -2317,9 +2314,9 @@
 ! --------------------------------------------------------------------
 
-    ierr=NF_OPEN("guide_ins.nc",NF_WRITE,nid)
+    ierr=nf90_open("guide_ins.nc",nf90_write,nid)
 
     IF (varname=="SP") timestep=timestep+1
 
-    ierr = NF_INQ_VARID(nid,varname,varid)
+    ierr = nf90_inq_varid(nid,varname,varid)
     SELECT CASE (varname)
     CASE ("SP","ps")
@@ -2360,5 +2357,5 @@
 
     ierr = nf90_put_var(nid, varid, field_glo, start, count)
-    ierr = NF_CLOSE(nid)
+    ierr = nf90_close(nid)
 
        DEALLOCATE(field_glo)
