Index: LMDZ6/trunk/libf/dyn3dmem/guide_loc_mod.F90
===================================================================
--- LMDZ6/trunk/libf/dyn3dmem/guide_loc_mod.F90	(revision 3982)
+++ LMDZ6/trunk/libf/dyn3dmem/guide_loc_mod.F90	(revision 3984)
@@ -11,5 +11,6 @@
   USE getparam
   USE Write_Field_loc
-  use netcdf, only: nf90_nowrite, nf90_open, nf90_inq_varid, nf90_close
+  use netcdf, only: nf90_nowrite, nf90_open, nf90_inq_varid, nf90_close, &
+                    nf90_inq_dimid, nf90_inquire_dimension
   USE parallel_lmdz
   USE pres2lev_mod
@@ -83,4 +84,5 @@
     CHARACTER (len = 80)   :: abort_message
     CHARACTER (len = 20)   :: modname = 'guide_init'
+    CHARACTER (len = 20)   :: namedim
 
 ! ---------------------------------------------
@@ -185,4 +187,5 @@
           endif
        endif
+
     elseif (guide_u) then
        if (ncidpl.eq.-99) then
@@ -192,5 +195,8 @@
              CALL abort_gcm(modname,abort_message,1)
           endif
+          
        endif
+
+
     elseif (guide_v) then
        if (ncidpl.eq.-99) then
@@ -201,4 +207,6 @@
           endif
        endif
+
+    
     elseif (guide_T) then
        if (ncidpl.eq.-99) then
@@ -209,4 +217,7 @@
           endif
        endif
+
+
+
     elseif (guide_Q) then
        if (ncidpl.eq.-99) then
@@ -217,4 +228,6 @@
           endif
        endif
+
+
     endif 
     error=NF_INQ_DIMID(ncidpl,'LEVEL',rid)
@@ -1555,5 +1568,5 @@
     INTEGER, SAVE         :: ncidu,varidu,ncidv,varidv,ncidp,varidp
     INTEGER, SAVE         :: ncidQ,varidQ,ncidt,varidt,ncidps,varidps
-    INTEGER               :: ncidpl,varidpl,varidap,varidbp
+    INTEGER               :: ncidpl,varidpl,varidap,varidbp,dimid,lendim
 ! Variables auxiliaires NetCDF:
     INTEGER, DIMENSION(4) :: start,count
@@ -1561,4 +1574,5 @@
     CHARACTER (len = 80)   :: abort_message
     CHARACTER (len = 20)   :: modname = 'guide_read'
+    CHARACTER (len = 20)   :: namedim
     abort_message='pb in guide_read'
 
@@ -1589,4 +1603,5 @@
              print*,'ncidpl,varidap',ncidpl,varidap
          endif
+         
 ! Pression si guidage sur niveaux P variables
          if (guide_plevs.EQ.2) then
@@ -1604,4 +1619,5 @@
              if (ncidpl.eq.-99) ncidpl=ncidp
          endif
+
 ! Vent zonal
          if (guide_u) then
@@ -1618,5 +1634,22 @@
              print*,'ncidu,varidu',ncidu,varidu
              if (ncidpl.eq.-99) ncidpl=ncidu
+
+    
+             status=NF90_INQ_DIMID(ncidu, "LONU", dimid)
+             status=NF90_INQUIRE_DIMENSION(ncidu,dimid,namedim,lendim)
+             IF (lendim .NE. iip1) THEN
+                print *,'dimension LONU different from iip1 in u.nc'
+                CALL abort_gcm(modname,abort_message,1)
+             ENDIF
+
+             status=NF90_INQ_DIMID(ncidu, "LATU", dimid)
+             status=NF90_INQUIRE_DIMENSION(ncidu,dimid,namedim,lendim)
+             IF (lendim .NE. jjp1) THEN
+                print *,'dimension LATU different from jjp1 in u.nc'
+                CALL abort_gcm(modname,abort_message,1)
+             ENDIF
+  
          endif
+
 ! Vent meridien
          if (guide_v) then
@@ -1633,5 +1666,23 @@
              print*,'ncidv,varidv',ncidv,varidv
              if (ncidpl.eq.-99) ncidpl=ncidv
-         endif
+             
+             status=NF90_INQ_DIMID(ncidv, "LONV", dimid)
+             status=NF90_INQUIRE_DIMENSION(ncidv,dimid,namedim,lendim)
+             
+                IF (lendim .NE. iip1) THEN
+                print *,'dimension LONV different from iip1 in v.nc'
+                CALL abort_gcm(modname,abort_message,1)
+             ENDIF
+
+
+             status=NF90_INQ_DIMID(ncidv, "LATV", dimid)
+             status=NF90_INQUIRE_DIMENSION(ncidv,dimid,namedim,lendim)
+             IF (lendim .NE. jjm) THEN
+                print *,'dimension LATV different from jjm in v.nc'
+                CALL abort_gcm(modname,abort_message,1)
+             ENDIF
+        
+        endif
+
 ! Temperature
          if (guide_T) then
@@ -1648,5 +1699,21 @@
              print*,'ncidT,varidT',ncidt,varidt
              if (ncidpl.eq.-99) ncidpl=ncidt
+
+             status=NF90_INQ_DIMID(ncidt, "LONV", dimid)
+             status=NF90_INQUIRE_DIMENSION(ncidt,dimid,namedim,lendim)
+             IF (lendim .NE. iip1) THEN
+                print *,'dimension LONV different from iip1 in T.nc'
+                CALL abort_gcm(modname,abort_message,1)
+             ENDIF
+
+             status=NF90_INQ_DIMID(ncidt, "LATU", dimid)
+             status=NF90_INQUIRE_DIMENSION(ncidt,dimid,namedim,lendim)
+             IF (lendim .NE. jjp1) THEN
+                print *,'dimension LATU different from jjp1 in T.nc'
+                CALL abort_gcm(modname,abort_message,1)
+             ENDIF
+
          endif
+
 ! Humidite
          if (guide_Q) then
@@ -1663,4 +1730,21 @@
              print*,'ncidQ,varidQ',ncidQ,varidQ
              if (ncidpl.eq.-99) ncidpl=ncidQ
+
+
+             status=NF90_INQ_DIMID(ncidQ, "LONV", dimid)
+             status=NF90_INQUIRE_DIMENSION(ncidQ,dimid,namedim,lendim)
+             IF (lendim .NE. iip1) THEN
+                print *,'dimension LONV different from iip1 in hur.nc'
+                CALL abort_gcm(modname,abort_message,1)
+             ENDIF
+
+             status=NF90_INQ_DIMID(ncidQ, "LATU", dimid)
+             status=NF90_INQUIRE_DIMENSION(ncidQ,dimid,namedim,lendim)
+             IF (lendim .NE. jjp1) THEN
+                print *,'dimension LATU different from jjp1 in hur.nc'
+                CALL abort_gcm(modname,abort_message,1)
+             ENDIF
+
+
          endif
 ! Pression de surface
