Index: LMDZ5/trunk/libf/dyn3d/dynetat0.F
===================================================================
--- LMDZ5/trunk/libf/dyn3d/dynetat0.F	(revision 1577)
+++ LMDZ5/trunk/libf/dyn3d/dynetat0.F	(revision 1635)
@@ -6,4 +6,5 @@
 
       USE infotrac
+      use netcdf, only: nf90_get_var
       IMPLICIT NONE
 
@@ -28,5 +29,5 @@
 #include "comconst.h"
 #include "comvert.h"
-#include "comgeom.h"
+#include "comgeom2.h"
 #include "ener.h"
 #include "netcdf.inc"
@@ -40,7 +41,7 @@
 
       CHARACTER*(*) fichnom
-      REAL vcov(ip1jm,llm),ucov(ip1jmp1,llm),teta(ip1jmp1,llm)
-      REAL q(ip1jmp1,llm,nqtot),masse(ip1jmp1,llm)
-      REAL ps(ip1jmp1),phis(ip1jmp1)
+      REAL vcov(iip1, jjm,llm),ucov(iip1, jjp1,llm),teta(iip1, jjp1,llm)
+      REAL q(iip1,jjp1,llm,nqtot),masse(iip1, jjp1,llm)
+      REAL ps(iip1, jjp1),phis(iip1, jjp1)
 
       REAL time
@@ -70,9 +71,5 @@
          CALL abort
       ENDIF
-#ifdef NC_DOUBLE
-      ierr = NF_GET_VAR_DOUBLE(nid, nvarid, tab_cntrl)
-#else
-      ierr = NF_GET_VAR_REAL(nid, nvarid, tab_cntrl)
-#endif
+      ierr = nf90_get_var(nid, nvarid, tab_cntrl)
       IF (ierr .NE. NF_NOERR) THEN
          write(lunout,*)"dynetat0: Lecture echoue pour <controle>"
@@ -142,9 +139,5 @@
          CALL abort
       ENDIF
-#ifdef NC_DOUBLE
-      ierr = NF_GET_VAR_DOUBLE(nid, nvarid, rlonu)
-#else
-      ierr = NF_GET_VAR_REAL(nid, nvarid, rlonu)
-#endif
+      ierr = nf90_get_var(nid, nvarid, rlonu)
       IF (ierr .NE. NF_NOERR) THEN
          write(lunout,*)"dynetat0: Lecture echouee pour <rlonu>"
@@ -157,9 +150,5 @@
          CALL abort
       ENDIF
-#ifdef NC_DOUBLE
-      ierr = NF_GET_VAR_DOUBLE(nid, nvarid, rlatu)
-#else
-      ierr = NF_GET_VAR_REAL(nid, nvarid, rlatu)
-#endif
+      ierr = nf90_get_var(nid, nvarid, rlatu)
       IF (ierr .NE. NF_NOERR) THEN
          write(lunout,*)"dynetat0: Lecture echouee pour <rlatu>"
@@ -172,9 +161,5 @@
          CALL abort
       ENDIF
-#ifdef NC_DOUBLE
-      ierr = NF_GET_VAR_DOUBLE(nid, nvarid, rlonv)
-#else
-      ierr = NF_GET_VAR_REAL(nid, nvarid, rlonv)
-#endif
+      ierr = nf90_get_var(nid, nvarid, rlonv)
       IF (ierr .NE. NF_NOERR) THEN
          write(lunout,*)"dynetat0: Lecture echouee pour <rlonv>"
@@ -187,9 +172,5 @@
          CALL abort
       ENDIF
-#ifdef NC_DOUBLE
-      ierr = NF_GET_VAR_DOUBLE(nid, nvarid, rlatv)
-#else
-      ierr = NF_GET_VAR_REAL(nid, nvarid, rlatv)
-#endif
+      ierr = nf90_get_var(nid, nvarid, rlatv)
       IF (ierr .NE. NF_NOERR) THEN
          write(lunout,*)"dynetat0: Lecture echouee pour rlatv"
@@ -202,9 +183,5 @@
          CALL abort
       ENDIF
-#ifdef NC_DOUBLE
-      ierr = NF_GET_VAR_DOUBLE(nid, nvarid, cu)
-#else
-      ierr = NF_GET_VAR_REAL(nid, nvarid, cu)
-#endif
+      ierr = nf90_get_var(nid, nvarid, cu)
       IF (ierr .NE. NF_NOERR) THEN
          write(lunout,*)"dynetat0: Lecture echouee pour <cu>"
@@ -217,9 +194,5 @@
          CALL abort
       ENDIF
-#ifdef NC_DOUBLE
-      ierr = NF_GET_VAR_DOUBLE(nid, nvarid, cv)
-#else
-      ierr = NF_GET_VAR_REAL(nid, nvarid, cv)
-#endif
+      ierr = nf90_get_var(nid, nvarid, cv)
       IF (ierr .NE. NF_NOERR) THEN
          write(lunout,*)"dynetat0: Lecture echouee pour <cv>"
@@ -232,9 +205,5 @@
          CALL abort
       ENDIF
-#ifdef NC_DOUBLE
-      ierr = NF_GET_VAR_DOUBLE(nid, nvarid, aire)
-#else
-      ierr = NF_GET_VAR_REAL(nid, nvarid, aire)
-#endif
+      ierr = nf90_get_var(nid, nvarid, aire)
       IF (ierr .NE. NF_NOERR) THEN
          write(lunout,*)"dynetat0: Lecture echouee pour <aire>"
@@ -247,9 +216,5 @@
          CALL abort
       ENDIF
-#ifdef NC_DOUBLE
-      ierr = NF_GET_VAR_DOUBLE(nid, nvarid, phis)
-#else
-      ierr = NF_GET_VAR_REAL(nid, nvarid, phis)
-#endif
+      ierr = nf90_get_var(nid, nvarid, phis)
       IF (ierr .NE. NF_NOERR) THEN
          write(lunout,*)"dynetat0: Lecture echouee pour <phisinit>"
@@ -262,9 +227,5 @@
          CALL abort
       ENDIF
-#ifdef NC_DOUBLE
-      ierr = NF_GET_VAR_DOUBLE(nid, nvarid, time)
-#else
-      ierr = NF_GET_VAR_REAL(nid, nvarid, time)
-#endif
+      ierr = nf90_get_var(nid, nvarid, time)
       IF (ierr .NE. NF_NOERR) THEN
          write(lunout,*)"dynetat0: Lecture echouee <temps>"
@@ -277,9 +238,5 @@
          CALL abort
       ENDIF
-#ifdef NC_DOUBLE
-      ierr = NF_GET_VAR_DOUBLE(nid, nvarid, ucov)
-#else
-      ierr = NF_GET_VAR_REAL(nid, nvarid, ucov)
-#endif
+      ierr = nf90_get_var(nid, nvarid, ucov)
       IF (ierr .NE. NF_NOERR) THEN
          write(lunout,*)"dynetat0: Lecture echouee pour <ucov>"
@@ -292,9 +249,5 @@
          CALL abort
       ENDIF
-#ifdef NC_DOUBLE
-      ierr = NF_GET_VAR_DOUBLE(nid, nvarid, vcov)
-#else
-      ierr = NF_GET_VAR_REAL(nid, nvarid, vcov)
-#endif
+      ierr = nf90_get_var(nid, nvarid, vcov)
       IF (ierr .NE. NF_NOERR) THEN
          write(lunout,*)"dynetat0: Lecture echouee pour <vcov>"
@@ -307,9 +260,5 @@
          CALL abort
       ENDIF
-#ifdef NC_DOUBLE
-      ierr = NF_GET_VAR_DOUBLE(nid, nvarid, teta)
-#else
-      ierr = NF_GET_VAR_REAL(nid, nvarid, teta)
-#endif
+      ierr = nf90_get_var(nid, nvarid, teta)
       IF (ierr .NE. NF_NOERR) THEN
          write(lunout,*)"dynetat0: Lecture echouee pour <teta>"
@@ -325,11 +274,7 @@
      &                    "> est absent"
            write(lunout,*)"          Il est donc initialise a zero"
-           q(:,:,iq)=0.
+           q(:,:,:,iq)=0.
         ELSE
-#ifdef NC_DOUBLE
-          ierr = NF_GET_VAR_DOUBLE(nid, nvarid, q(1,1,iq))
-#else
-          ierr = NF_GET_VAR_REAL(nid, nvarid, q(1,1,iq))
-#endif
+           ierr = NF90_GET_VAR(nid, nvarid, q(:,:,:,iq))
           IF (ierr .NE. NF_NOERR) THEN
             write(lunout,*)"dynetat0: Lecture echouee pour "//tname(iq)
@@ -345,9 +290,5 @@
          CALL abort
       ENDIF
-#ifdef NC_DOUBLE
-      ierr = NF_GET_VAR_DOUBLE(nid, nvarid, masse)
-#else
-      ierr = NF_GET_VAR_REAL(nid, nvarid, masse)
-#endif
+      ierr = nf90_get_var(nid, nvarid, masse)
       IF (ierr .NE. NF_NOERR) THEN
          write(lunout,*)"dynetat0: Lecture echouee pour <masse>"
@@ -360,9 +301,5 @@
          CALL abort
       ENDIF
-#ifdef NC_DOUBLE
-      ierr = NF_GET_VAR_DOUBLE(nid, nvarid, ps)
-#else
-      ierr = NF_GET_VAR_REAL(nid, nvarid, ps)
-#endif
+      ierr = nf90_get_var(nid, nvarid, ps)
       IF (ierr .NE. NF_NOERR) THEN
          write(lunout,*)"dynetat0: Lecture echouee pour <ps>"
