Index: /branches/2015/dev_r5003_MERCATOR6_CRS/NEMOGCM/NEMO/OPA_SRC/CRS/crsdom.F90
===================================================================
--- /branches/2015/dev_r5003_MERCATOR6_CRS/NEMOGCM/NEMO/OPA_SRC/CRS/crsdom.F90	(revision 8095)
+++ /branches/2015/dev_r5003_MERCATOR6_CRS/NEMOGCM/NEMO/OPA_SRC/CRS/crsdom.F90	(revision 8096)
@@ -410,5 +410,5 @@
             SELECT CASE ( cd_type )
             
-               CASE( 'T', 'W' )
+               CASE( 'T', 'W','U','V' )
                   DO jk = 1, jpk
                      zsurf   (:,:,jk) =  p_e12(:,:) * p_e3(:,:,jk) *  p_mask(:,:,jk) 
@@ -1171,4 +1171,5 @@
          ! check
          !==========================================================================
+         !CALL FLUSH(narea+1000-1)
          !WRITE(narea+1000-1,*)"nfipproc(ji,jj),narea :",nfipproc(iproci,iprocj),narea
          !WRITE(narea+1000-1,*)"proc i,j ",iproci,iprocj
@@ -1190,5 +1191,5 @@
          !WRITE(narea+1000-1,*)"glamt gphit ",glamt(1,1),gphit(jpi,jpj),glamt(jpi,jpj),gphit(jpi,jpj)
          !WRITE(narea+1000-1,*)"min max tmask ",MINVAL(tmask),MAXVAL(tmask)
-
+         !CALL FLUSH(narea+1000-1)
          !==========================================================================
          ! coarsened domain: dimensions along I
@@ -1233,4 +1234,5 @@
                mis2_crs(ji)=ijis
                mie2_crs(ji)=ijie
+               !WRITE(narea+1000-1,*)"glo crs",ji,ijis,ijie,ijis-nimpp+1,ijie-nimpp+1
             ENDDO
 
@@ -1254,4 +1256,5 @@
          ijis=ji
          ii_start = mis2_crs(ijis)-nimpp+1
+         WRITE(narea+1000-1,*)"start ",ijis,mis2_crs(ijis),ii_start ; CALL FLUSH(narea+1000-1)
 
          !----------------------------------------------------------------------------------------------
@@ -1292,9 +1295,10 @@
 
          ji=jpiglo_crs
-         DO WHILE( mie2_crs(ji) - nimpp + 1 .GT. jpi )
+         DO WHILE( mie2_crs(ji) - nimpp + 1 .GT. nlci )
             ji=ji-1
             IF( ji==1 )EXIT
          END DO
          ijie=ji
+         !WRITE(narea+1000-1,*)"end ",ijie ; CALL FLUSH(narea+1000-1)
 
          !-------------------------------------------------------------------------------
@@ -1302,6 +1306,9 @@
          !-------------------------------------------------------------------------------
          nlei_crs=ijie-nimpp_crs+1
-         nlci_crs=nlei_crs+jpreci
-         IF( iproci == jpni )nlei_crs=nlci_crs
+         !nlci_crs=nlei_crs ! cbr ???? +jpreci
+         !IF( iproci == jpni ) THEN ; nlci_crs=nlei_crs ! cbr ???? +jpreci
+         !ELSE                      ; nlci_crs=nlei_crs+1
+         !ENDIF
+         !cbr???? IF( iproci == jpni )nlei_crs=nlci_crs
 
          !-------------------------------------------------------------------------------
@@ -1310,4 +1317,5 @@
          DO ji = 1, jpi_crs
             mig_crs(ji) = ji + nimpp_crs - 1
+            WRITE(narea+1000-1,*)"crs loctoglo",ji,mig_crs(ji) ; CALL FLUSH(narea+1000-1)
          ENDDO
          DO ji = 1, jpiglo_crs
@@ -1320,12 +1328,43 @@
          !---------------------------------------------------------------------------------------
          DO ji = 1, nlei_crs
+            IF( mig_crs(ji) .GT. jpiglo_crs )WRITE(narea+1000-1,*)"BUG1 " ; CALL FLUSH(narea+1000-1)
             mis_crs(ji) = mis2_crs(mig_crs(ji)) - nimpp + 1
             mie_crs(ji) = mie2_crs(mig_crs(ji)) - nimpp + 1
-            IF( iproci == jpni  .AND. ji == nlei_crs )THEN
-               mie_crs(ji) = nlei
-               mie2_crs(mig_crs(ji)) = mig(nlei)
-            ENDIF
+            !IF( iproci == jpni  .AND. ji == nlei_crs )THEN
+            !   mie_crs(ji) = nlei
+            !   mie2_crs(mig_crs(ji)) = mig(nlei)
+            !ENDIF
             nfactx(ji)  = mie_crs(ji)-mis_crs(ji)+1
          ENDDO
+
+         !---------
+         !cbr 
+         IF( iproci == 1 ) THEN
+            nldi_crs=1
+            mis_crs(1) = 1
+            mie_crs(1) = 1
+            mis2_crs(1) = 1
+            mie2_crs(1) = 1
+         ENDIF
+
+         IF( iproci == jpni ) THEN
+            nlei_crs=jpiglo_crs-nimpp_crs+1
+            nlci_crs=nlei_crs
+            mis_crs(nlei_crs) = 1
+            mie_crs(nlei_crs) = 1
+            mis2_crs(nlei_crs) = 1
+            mie2_crs(nlei_crs) = 1
+            nfactx(nlei_crs)=0
+         ELSE
+            nlci_crs=nlei_crs+1
+         ENDIF
+
+         !WRITE(narea+1000-1,*)"loc crs jpi nldi,nlei,nlci ",jpi_crs, nldi_crs            ,nlei_crs             ,nlci_crs
+         !CALL FLUSH(narea+1000-1)
+         !WRITE(narea+1000-1,*)"glo crs jpi nldi,nlei      ",jpi_crs, nldi_crs+nimpp_crs-1,nlei_crs+nimpp_crs-1
+         !CALL FLUSH(narea+1000-1)
+         !DO ji = 1, jpi_crs
+         !   WRITE(narea+1000-1,*)"crs i",ji,ji+nimpp_crs-1,mis_crs(ji),mie_crs(ji),mis_crs(ji)+nimpp-1,mie_crs(ji)+nimpp-1,nfactx(ji)
+         !ENDDO
 
          !==========================================================================
@@ -1454,4 +1493,8 @@
          ENDIF
 
+         !WRITE(narea+1000-1,*)"loc crs jpj nldj,nlej,nlcj ",jpj_crs, nldj_crs            ,nlej_crs             ,nlcj_crs
+         !CALL FLUSH(narea+1000-1)
+         !WRITE(narea+1000-1,*)"glo crs jpj nldj,nlej      ",jpj_crs, nldj_crs+njmpp_crs-1,nlej_crs+njmpp_crs-1
+         !CALL FLUSH(narea+1000-1)
          !-------------------------------------------------------------------------------
          ! J-7 local to global and global to local indices for CRS grid
@@ -1521,4 +1564,5 @@
          ! check
          !==========================================================================
+         !WRITE(narea+1000-1,*)"mpp_crs ",nimpp_crs,njmpp_crs
          !WRITE(narea+1000-1,*)"loc crs jpi nldi,nlei,nlci ",jpi_crs, nldi_crs            ,nlei_crs             ,nlci_crs
          !WRITE(narea+1000-1,*)"glo crs jpi nldi,nlei      ",jpi_crs, nldi_crs+nimpp_crs-1,nlei_crs+nimpp_crs-1
