New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
Changeset 6772 for branches/2015/dev_r5003_MERCATOR6_CRS/NEMOGCM/NEMO/OPA_SRC/CRS/crsini.F90 – NEMO

Ignore:
Timestamp:
2016-07-01T18:02:45+02:00 (8 years ago)
Author:
cbricaud
Message:

clean in coarsening branch

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2015/dev_r5003_MERCATOR6_CRS/NEMOGCM/NEMO/OPA_SRC/CRS/crsini.F90

    r6101 r6772  
    2121   USE lib_mpp 
    2222   USE ldftra_crs 
     23   USE ieee_arithmetic 
    2324 
    2425   IMPLICIT NONE 
     
    3031#  include "domzgr_substitute.h90" 
    3132 
    32    !! $Id$ 
    3333CONTAINS 
    3434    
     
    111111     rfacty_r = 1. / nn_facty 
    112112 
     113write(narea+200,*)"crsini0",nstop; call flush(narea+200) 
     114 
    113115     !--------------------------------------------------------- 
    114116     ! 2. Define Global Dimensions of the coarsened grid 
    115117     !--------------------------------------------------------- 
    116118     CALL crs_dom_def       
     119write(narea+200,*)"crsini1",nstop; call flush(narea+200) 
    117120 
    118121     !--------------------------------------------------------- 
     
    125128  
    126129     CALL crs_dom_msk 
    127  
     130write(narea+200,*)"crsini2",nstop; call flush(narea+200) 
     131      CALL mppsync() 
     132 
     133     !IF( narea==279 )THEN 
     134     !WRITE(narea+200,*)"tutu1 ",jpi,jpj,nldi,nlei,nldj,nlej 
     135     !DO jj=1,jpj 
     136     !   WRITE(narea+200,*)"tutu2 ",jj,MINVAL(tmask(:,jj,:)),MAXVAL(tmask(:,jj,:)) 
     137     !ENDDO 
     138     !ENDIF 
    128139 
    129140     !  3.b. Get the coordinates 
     
    131142     !      Even-numbered reduction factor, center coordinate on U-,V- faces or f-corner. 
    132143     !       
    133      IF ( nresty /= 0 .AND. nrestx /= 0 ) THEN 
     144     !IF ( nresty /= 0 .AND. nrestx /= 0 ) THEN 
    134145        CALL crs_dom_coordinates( gphit, glamt, 'T', gphit_crs, glamt_crs )  
    135146        CALL crs_dom_coordinates( gphiu, glamu, 'U', gphiu_crs, glamu_crs )        
    136147        CALL crs_dom_coordinates( gphiv, glamv, 'V', gphiv_crs, glamv_crs )  
    137148        CALL crs_dom_coordinates( gphif, glamf, 'F', gphif_crs, glamf_crs )  
    138      ELSEIF ( nresty /= 0 .AND. nrestx == 0 ) THEN 
    139         CALL crs_dom_coordinates( gphiu, glamu, 'T', gphit_crs, glamt_crs ) 
    140         CALL crs_dom_coordinates( gphiu, glamu, 'U', gphiu_crs, glamu_crs ) 
    141         CALL crs_dom_coordinates( gphif, glamf, 'V', gphiv_crs, glamv_crs ) 
    142         CALL crs_dom_coordinates( gphif, glamf, 'F', gphif_crs, glamf_crs ) 
    143      ELSEIF ( nresty == 0 .AND. nrestx /= 0 ) THEN 
    144         CALL crs_dom_coordinates( gphiv, glamv, 'T', gphit_crs, glamt_crs ) 
    145         CALL crs_dom_coordinates( gphif, glamf, 'U', gphiu_crs, glamu_crs ) 
    146         CALL crs_dom_coordinates( gphiv, glamv, 'V', gphiv_crs, glamv_crs ) 
    147         CALL crs_dom_coordinates( gphif, glamf, 'F', gphif_crs, glamf_crs ) 
    148      ELSE  
    149         CALL crs_dom_coordinates( gphif, glamf, 'T', gphit_crs, glamt_crs ) 
    150         CALL crs_dom_coordinates( gphif, glamf, 'U', gphiu_crs, glamu_crs ) 
    151         CALL crs_dom_coordinates( gphif, glamf, 'V', gphiv_crs, glamv_crs ) 
    152         CALL crs_dom_coordinates( gphif, glamf, 'F', gphif_crs, glamf_crs ) 
    153      ENDIF 
    154  
     149     !ELSEIF ( nresty /= 0 .AND. nrestx == 0 ) THEN 
     150     !   CALL crs_dom_coordinates( gphiu, glamu, 'T', gphit_crs, glamt_crs ) 
     151     !   CALL crs_dom_coordinates( gphiu, glamu, 'U', gphiu_crs, glamu_crs ) 
     152     !   CALL crs_dom_coordinates( gphif, glamf, 'V', gphiv_crs, glamv_crs ) 
     153     !   CALL crs_dom_coordinates( gphif, glamf, 'F', gphif_crs, glamf_crs ) 
     154     !ELSEIF ( nresty == 0 .AND. nrestx /= 0 ) THEN 
     155     !   CALL crs_dom_coordinates( gphiv, glamv, 'T', gphit_crs, glamt_crs ) 
     156     !   CALL crs_dom_coordinates( gphif, glamf, 'U', gphiu_crs, glamu_crs ) 
     157     !   CALL crs_dom_coordinates( gphiv, glamv, 'V', gphiv_crs, glamv_crs ) 
     158     !   CALL crs_dom_coordinates( gphif, glamf, 'F', gphif_crs, glamf_crs ) 
     159     !ELSE  
     160     !   CALL crs_dom_coordinates( gphif, glamf, 'T', gphit_crs, glamt_crs ) 
     161     !   CALL crs_dom_coordinates( gphif, glamf, 'U', gphiu_crs, glamu_crs ) 
     162     !   CALL crs_dom_coordinates( gphif, glamf, 'V', gphiv_crs, glamv_crs ) 
     163     !   CALL crs_dom_coordinates( gphif, glamf, 'F', gphif_crs, glamf_crs ) 
     164     !ENDIF 
     165      CALL mppsync() 
     166 
     167write(narea+200,*)"crsini3",nstop; call flush(narea+200) 
    155168 
    156169     !  3.c. Get the horizontal mesh 
     
    162175     CALL crs_dom_hgr( e1v, e2v, 'V', e1v_crs, e2v_crs ) 
    163176     CALL crs_dom_hgr( e1f, e2f, 'F', e1f_crs, e2f_crs ) 
     177 
     178     DO ji=nldi_crs,nlei_crs 
     179     DO jj=nldj_crs,nlej_crs 
     180        IF( e1t_crs(ji,jj)==0._wp .AND. tmask_crs(ji,jj,1) .NE. 0._wp )WRITE(narea+8000-1,*)"e1t_crs=0",ji,jj;CALL FLUSH(narea+8000-1)  
     181        IF( e1u_crs(ji,jj)==0._wp .AND. umask_crs(ji,jj,1) .NE. 0._wp )WRITE(narea+8000-1,*)"e1u_crs=0",ji,jj;CALL FLUSH(narea+8000-1)  
     182        IF( e1v_crs(ji,jj)==0._wp .AND. vmask_crs(ji,jj,1) .NE. 0._wp )WRITE(narea+8000-1,*)"e1v_crs=0",ji,jj;CALL FLUSH(narea+8000-1)  
     183        IF( e1f_crs(ji,jj)==0._wp .AND. fmask_crs(ji,jj,1) .NE. 0._wp )WRITE(narea+8000-1,*)"e1f_crs=0",ji,jj;CALL FLUSH(narea+8000-1)  
     184        IF( e2t_crs(ji,jj)==0._wp .AND. tmask_crs(ji,jj,1) .NE. 0._wp )WRITE(narea+8000-1,*)"e2t_crs=0",ji,jj;CALL FLUSH(narea+8000-1)  
     185        IF( e2u_crs(ji,jj)==0._wp .AND. umask_crs(ji,jj,1) .NE. 0._wp )WRITE(narea+8000-1,*)"e2u_crs=0",ji,jj;CALL FLUSH(narea+8000-1)  
     186        IF( e2v_crs(ji,jj)==0._wp .AND. vmask_crs(ji,jj,1) .NE. 0._wp )WRITE(narea+8000-1,*)"e2v_crs=0",ji,jj;CALL FLUSH(narea+8000-1)  
     187        IF( e2f_crs(ji,jj)==0._wp .AND. fmask_crs(ji,jj,1) .NE. 0._wp )WRITE(narea+8000-1,*)"e2f_crs=0",ji,jj;CALL FLUSH(narea+8000-1)  
     188     ENDDO 
     189     ENDDO 
     190 
    164191 
    165192     WHERE(e1t_crs == 0._wp) e1t_crs=r_inf 
     
    172199     WHERE(e2f_crs == 0._wp) e2f_crs=r_inf 
    173200 
     201     zmin=MINVAL(e1t_crs,mask=(tmask_crs(:,:,1)==1));CALL mpp_min(zmin);zmax=MAXVAL(e1t_crs,mask=(tmask_crs(:,:,1)==1));CALL mpp_max(zmax);IF(lwp)WRITE(numout,*)"crs e1t_crs ",zmin,zmax 
     202     zmin=MINVAL(e1u_crs,mask=(umask_crs(:,:,1)==1));CALL mpp_min(zmin);zmax=MAXVAL(e1u_crs,mask=(umask_crs(:,:,1)==1));CALL mpp_max(zmax);IF(lwp)WRITE(numout,*)"crs e1u_crs ",zmin,zmax 
     203     zmin=MINVAL(e1v_crs,mask=(vmask_crs(:,:,1)==1));CALL mpp_min(zmin);zmax=MAXVAL(e1v_crs,mask=(vmask_crs(:,:,1)==1));CALL mpp_max(zmax);IF(lwp)WRITE(numout,*)"crs e1v_crs ",zmin,zmax 
     204     zmin=MINVAL(e1f_crs,mask=(fmask_crs(:,:,1)==1));CALL mpp_min(zmin);zmax=MAXVAL(e1f_crs,mask=(fmask_crs(:,:,1)==1));CALL mpp_max(zmax);IF(lwp)WRITE(numout,*)"crs e1f_crs ",zmin,zmax 
     205     zmin=MINVAL(e2t_crs,mask=(tmask_crs(:,:,1)==1));CALL mpp_min(zmin);zmax=MAXVAL(e2t_crs,mask=(tmask_crs(:,:,1)==1));CALL mpp_max(zmax);IF(lwp)WRITE(numout,*)"crs e2t_crs ",zmin,zmax 
     206     zmin=MINVAL(e2u_crs,mask=(umask_crs(:,:,1)==1));CALL mpp_min(zmin);zmax=MAXVAL(e2u_crs,mask=(umask_crs(:,:,1)==1));CALL mpp_max(zmax);IF(lwp)WRITE(numout,*)"crs e2u_crs ",zmin,zmax 
     207     zmin=MINVAL(e2v_crs,mask=(vmask_crs(:,:,1)==1));CALL mpp_min(zmin);zmax=MAXVAL(e2v_crs,mask=(vmask_crs(:,:,1)==1));CALL mpp_max(zmax);IF(lwp)WRITE(numout,*)"crs e2v_crs ",zmin,zmax 
     208     zmin=MINVAL(e2f_crs,mask=(fmask_crs(:,:,1)==1));CALL mpp_min(zmin);zmax=MAXVAL(e2f_crs,mask=(fmask_crs(:,:,1)==1));CALL mpp_max(zmax);IF(lwp)WRITE(numout,*)"crs e2f_crs ",zmin,zmax 
     209 
     210 
    174211     e1e2t_crs(:,:) = e1t_crs(:,:) * e2t_crs(:,:) 
    175212      
     213write(narea+200,*)"crsini4",nstop; call flush(narea+200) 
    176214      
    177215     !      3.c.2 Coriolis factor   
     
    196234     CALL wrk_alloc(jpi, jpj, jpk, zfse3t, zfse3u, zfse3v, zfse3w ) 
    197235     ! 
    198      zfse3t(:,:,:) = fse3t(:,:,:) 
    199      zfse3u(:,:,:) = fse3u(:,:,:) 
    200      zfse3v(:,:,:) = fse3v(:,:,:) 
    201      zfse3w(:,:,:) = fse3w(:,:,:) 
     236     zfse3t(:,:,:) = e3t_0(:,:,:) !fse3t(:,:,:) 
     237     zfse3u(:,:,:) = e3u_0(:,:,:) !fse3u(:,:,:) 
     238     zfse3v(:,:,:) = e3v_0(:,:,:) !fse3v(:,:,:) 
     239     zfse3w(:,:,:) = e3w_0(:,:,:) !fse3w(:,:,:) 
    202240 
    203241     !    3.d.2   Surfaces  
     
    209247     CALL crs_dom_sfc( umask, 'U', e2e3u_crs, e2e3u_msk, p_e2=e2u, p_e3=zfse3u ) 
    210248     CALL crs_dom_sfc( vmask, 'V', e1e3v_crs, e1e3v_msk, p_e1=e1v, p_e3=zfse3v ) 
     249 
     250     DO ji=nldi_crs,nlei_crs 
     251     DO jj=nldj_crs,nlej_crs 
     252     DO jk=1,jpk    
     253        IF( e1e2w_crs(ji,jj,jk)==0._wp .AND. tmask_crs(ji,jj,jk)==1._wp )WRITE(narea+8000-1,*)"e1e2w_crs=0",ji,jj,jk;CALL FLUSH(narea+8000-1) 
     254        IF( e1e2w_msk(ji,jj,jk)==0._wp .AND. tmask_crs(ji,jj,jk)==1._wp )WRITE(narea+8000-1,*)"e1e2w_msk=0",ji,jj,jk;CALL FLUSH(narea+8000-1) 
     255        IF( e2e3u_crs(ji,jj,jk)==0._wp .AND. umask_crs(ji,jj,jk)==1._wp )WRITE(narea+8000-1,*)"e2e3u_crs=0",ji,jj,jk;CALL FLUSH(narea+8000-1) 
     256        IF( e2e3u_msk(ji,jj,jk)==0._wp .AND. umask_crs(ji,jj,jk)==1._wp )WRITE(narea+8000-1,*)"e2e3u_msk=0",ji,jj,jk;CALL FLUSH(narea+8000-1) 
     257        IF( e1e3v_crs(ji,jj,jk)==0._wp .AND. vmask_crs(ji,jj,jk)==1._wp )WRITE(narea+8000-1,*)"e1e3v_crs=0",ji,jj,jk;CALL FLUSH(narea+8000-1) 
     258        IF( e1e3v_msk(ji,jj,jk)==0._wp .AND. vmask_crs(ji,jj,jk)==1._wp )WRITE(narea+8000-1,*)"e1e3v_msk=0",ji,jj,jk;CALL FLUSH(narea+8000-1) 
     259     ENDDO 
     260     ENDDO 
     261     ENDDO 
     262write(narea+200,*)"crsini5",nstop; call flush(narea+200) 
     263 
     264!     WHERE(e1e2w_crs == 0._wp) e1e2w_crs=r_inf 
     265!     WHERE(e2e3u_crs == 0._wp) e2e3u_crs=r_inf 
     266!     WHERE(e1e3v_crs == 0._wp) e1e3v_crs=r_inf 
     267!     WHERE(e1e2w_msk == 0._wp) e1e2w_msk=r_inf 
     268!     WHERE(e2e3u_msk == 0._wp) e2e3u_msk=r_inf 
     269!     WHERE(e1e3v_msk == 0._wp) e1e3v_msk=r_inf 
     270     zmin=MINVAL(e1e2w_crs,mask=(tmask_crs(:,:,:)==1));CALL mpp_min(zmin);zmax=MAXVAL(e1e2w_crs,mask=(tmask_crs(:,:,:)==1));CALL mpp_max(zmax);IF(lwp)WRITE(numout,*)"crs e1e2w_crs ",zmin,zmax 
     271     zmin=MINVAL(e2e3u_crs,mask=(umask_crs(:,:,:)==1));CALL mpp_min(zmin);zmax=MAXVAL(e2e3u_crs,mask=(umask_crs(:,:,:)==1));CALL mpp_max(zmax);IF(lwp)WRITE(numout,*)"crs e2e3u_crs ",zmin,zmax 
     272     zmin=MINVAL(e1e3v_crs,mask=(vmask_crs(:,:,:)==1));CALL mpp_min(zmin);zmax=MAXVAL(e1e3v_crs,mask=(vmask_crs(:,:,:)==1));CALL mpp_max(zmax);IF(lwp)WRITE(numout,*)"crs e1e3v_crs ",zmin,zmax 
     273     zmin=MINVAL(e1e2w_msk,mask=(tmask_crs(:,:,:)==1));CALL mpp_min(zmin);zmax=MAXVAL(e1e2w_msk,mask=(tmask_crs(:,:,:)==1));CALL mpp_max(zmax);IF(lwp)WRITE(numout,*)"crs e1e2w_msk ",zmin,zmax 
     274     zmin=MINVAL(e2e3u_msk,mask=(umask_crs(:,:,:)==1));CALL mpp_min(zmin);zmax=MAXVAL(e2e3u_msk,mask=(umask_crs(:,:,:)==1));CALL mpp_max(zmax);IF(lwp)WRITE(numout,*)"crs e2e3u_msk ",zmin,zmax 
     275     zmin=MINVAL(e1e3v_msk,mask=(vmask_crs(:,:,:)==1));CALL mpp_min(zmin);zmax=MAXVAL(e1e3v_msk,mask=(vmask_crs(:,:,:)==1));CALL mpp_max(zmax);IF(lwp)WRITE(numout,*)"crs e1e3v_msk ",zmin,zmax 
    211276    
    212277     !cbr facsurfu(:,:,:) = umask_crs(:,:,:) * e2e3u_msk(:,:,:) / e2e3u_crs(:,:,:) 
     
    226291     ENDDO 
    227292 
     293        DO ji=nldi_crs,nlei_crs 
     294           DO jj=nldj_crs,nlej_crs 
     295        IF( ABS(e2u_crs(ji,jj)) .LE. 1.e-5 )WRITE(narea+8000-1,*)"UNDERFLOW e2u_crs",ji,jj,e2u_crs(ji,jj),umask_crs(ji,jj,1) ; CALL FLUSH(narea+8000-1) 
     296        IF( ABS(e1v_crs(ji,jj)) .LE. 1.e-5 )WRITE(narea+8000-1,*)"UNDERFLOW e1v_crs",ji,jj,e1v_crs(ji,jj),vmask_crs(ji,jj,1) ; CALL FLUSH(narea+8000-1) 
     297           ENDDO 
     298        ENDDO 
     299 
     300 
    228301     !    3.d.3   Vertical scale factors 
    229302     ! 
    230     
    231    
    232      CALL crs_dom_e3( e1t, e2t, zfse3t, e1e2w_crs, 'T', tmask, e3t_crs, e3t_max_crs) 
    233      CALL crs_dom_e3( e1u, e2u, zfse3u, e2e3u_crs, 'U', umask, e3u_crs, e3u_max_crs) 
    234      CALL crs_dom_e3( e1v, e2v, zfse3v, e1e3v_crs, 'V', vmask, e3v_crs, e3v_max_crs) 
    235      CALL crs_dom_e3( e1t, e2t, zfse3w, e1e2w_crs, 'W', tmask, e3w_crs, e3w_max_crs) 
    236      WHERE(e3t_max_crs == 0._wp) e3t_max_crs=r_inf 
    237      WHERE(e3u_max_crs == 0._wp) e3u_max_crs=r_inf 
    238      WHERE(e3v_max_crs == 0._wp) e3v_max_crs=r_inf 
    239      WHERE(e3w_max_crs == 0._wp) e3w_max_crs=r_inf 
    240  
     303     zmin=MINVAL(e2u_crs(nldi_crs:nlei_crs,nldj_crs:nlej_crs));zmax=MAXVAL(e2u_crs(nldi_crs:nlei_crs,nldj_crs:nlej_crs));CALL mpp_min(zmin);CALL mpp_max(zmax);IF(lwp)WRITE(numout,*)"e2u_crs",zmin,zmax;CALL FLUSH(numout)   
     304     zmin=MINVAL(e1v_crs(nldi_crs:nlei_crs,nldj_crs:nlej_crs));zmax=MAXVAL(e1v_crs(nldi_crs:nlei_crs,nldj_crs:nlej_crs));CALL mpp_min(zmin);CALL mpp_max(zmax);IF(lwp)WRITE(numout,*)"e1v_crs",zmin,zmax;CALL FLUSH(numout)   
     305     zmin=MINVAL(e1e2w_crs(nldi_crs:nlei_crs,nldj_crs:nlej_crs,:));zmax=MAXVAL(e1e2w_crs(nldi_crs:nlei_crs,nldj_crs:nlej_crs,:));CALL mpp_min(zmin);CALL mpp_max(zmax);IF(lwp)WRITE(numout,*)"e1e2w_crs",zmin,zmax;CALL FLUSH(numout)   
     306     zmin=MINVAL(zfse3u);zmax=MAXVAL(zfse3u);CALL mpp_min(zmin);CALL mpp_max(zmax);IF(lwp)WRITE(numout,*)"zfse3u",zmin,zmax;CALL FLUSH(numout)   
     307     zmin=MINVAL(zfse3v);zmax=MAXVAL(zfse3v);CALL mpp_min(zmin);CALL mpp_max(zmax);IF(lwp)WRITE(numout,*)"zfse3v",zmin,zmax;CALL FLUSH(numout)   
     308 
     309     CALL crs_dom_e3( e1t, e2t, zfse3t, p_sfc_3d_crs=e1e2w_crs, cd_type='T', p_mask=tmask, p_e3_crs=e3t_0_crs, p_e3_max_crs=e3t_max_0_crs) 
     310     CALL crs_dom_e3( e1t, e2t, zfse3w, p_sfc_3d_crs=e1e2w_crs, cd_type='W', p_mask=tmask, p_e3_crs=e3w_0_crs, p_e3_max_crs=e3w_max_0_crs) 
     311     CALL crs_dom_e3( e1u, e2u, zfse3u, p_sfc_2d_crs=e2u_crs  , cd_type='U', p_mask=umask, p_e3_crs=e3u_0_crs, p_e3_max_crs=e3u_max_0_crs) 
     312     CALL crs_dom_e3( e1v, e2v, zfse3v, p_sfc_2d_crs=e1v_crs  , cd_type='V', p_mask=vmask, p_e3_crs=e3v_0_crs, p_e3_max_crs=e3v_max_0_crs) 
     313     WHERE(e3t_max_0_crs == 0._wp) e3t_max_0_crs=r_inf 
     314     WHERE(e3u_max_0_crs == 0._wp) e3u_max_0_crs=r_inf 
     315     WHERE(e3v_max_0_crs == 0._wp) e3v_max_0_crs=r_inf 
     316     WHERE(e3w_max_0_crs == 0._wp) e3w_max_0_crs=r_inf 
     317 
     318write(narea+200,*)"crsini6",nstop; call flush(narea+200) 
     319#if defined key_vvl 
     320     e3t_max_n_crs=e3t_max_0_crs 
     321     e3u_max_n_crs=e3u_max_0_crs 
     322     e3v_max_n_crs=e3v_max_0_crs 
     323     e3w_max_n_crs=e3w_max_0_crs 
     324#endif 
     325 
     326     ht_0_crs(:,:)=0._wp 
     327     DO jk = 1, jpk 
     328        ht_0_crs(:,:)=ht_0_crs(:,:)+e3t_0_crs(:,:,jk)*tmask_crs(:,:,jk) 
     329     ENDDO 
     330 
     331#if defined key_vvl 
     332     e3t_0_crs(:,:,:) = e3t_0_crs(:,:,:) * tmask_crs(:,:,:) 
     333     e3u_0_crs(:,:,:) = e3u_0_crs(:,:,:) * umask_crs(:,:,:) 
     334     e3v_0_crs(:,:,:) = e3v_0_crs(:,:,:) * vmask_crs(:,:,:) 
     335     e3w_0_crs(:,:,:) = e3w_0_crs(:,:,:) * tmask_crs(:,:,:) 
     336#endif 
     337 
     338write(narea+200,*)"crsini7",nstop; call flush(narea+200) 
    241339     ! Reset 0 to e3t_0 or e3w_0 
    242340     DO jk = 1, jpk 
    243341        DO ji = 1, jpi_crs 
    244342           DO jj = 1, jpj_crs 
    245               IF( e3t_crs(ji,jj,jk) == 0._wp ) e3t_crs(ji,jj,jk) = e3t_1d(jk) 
    246               IF( e3w_crs(ji,jj,jk) == 0._wp ) e3w_crs(ji,jj,jk) = e3w_1d(jk) 
    247               IF( e3u_crs(ji,jj,jk) == 0._wp ) e3u_crs(ji,jj,jk) = e3t_1d(jk) 
    248               IF( e3v_crs(ji,jj,jk) == 0._wp ) e3v_crs(ji,jj,jk) = e3t_1d(jk) 
     343              IF( e3t_0_crs(ji,jj,jk) == 0._wp ) e3t_0_crs(ji,jj,jk) = e3t_1d(jk) 
     344              IF( e3w_0_crs(ji,jj,jk) == 0._wp ) e3w_0_crs(ji,jj,jk) = e3w_1d(jk) 
     345              IF( e3u_0_crs(ji,jj,jk) == 0._wp ) e3u_0_crs(ji,jj,jk) = e3t_1d(jk) 
     346              IF( e3v_0_crs(ji,jj,jk) == 0._wp ) e3v_0_crs(ji,jj,jk) = e3t_1d(jk) 
    249347           ENDDO 
    250348        ENDDO 
    251349     ENDDO 
    252350 
     351#if defined key_vvl 
     352     e3t_b_crs(:,:,:) = e3t_0_crs(:,:,:) 
     353     e3u_b_crs(:,:,:) = e3u_0_crs(:,:,:) 
     354     e3v_b_crs(:,:,:) = e3v_0_crs(:,:,:) 
     355     e3w_b_crs(:,:,:) = e3w_0_crs(:,:,:) 
     356 
     357     e3t_n_crs(:,:,:) = e3t_0_crs(:,:,:) 
     358     e3u_n_crs(:,:,:) = e3u_0_crs(:,:,:) 
     359     e3v_n_crs(:,:,:) = e3v_0_crs(:,:,:) 
     360     e3w_n_crs(:,:,:) = e3w_0_crs(:,:,:) 
     361 
     362     e3t_a_crs(:,:,:) = e3t_0_crs(:,:,:) 
     363     e3u_a_crs(:,:,:) = e3u_0_crs(:,:,:) 
     364     e3v_a_crs(:,:,:) = e3v_0_crs(:,:,:) 
     365     e3w_a_crs(:,:,:) = e3w_0_crs(:,:,:) 
     366#endif 
     367 
    253368     !    3.d.3   Vertical depth (meters) 
    254369     !cbr: il semblerait que p_e3=... ne soit pas utile ici !!!!!!!!! 
    255      CALL crs_dom_ope( gdept_0, 'MAX', 'T', tmask, gdept_crs, p_e3=zfse3t, psgn=1.0 )  
    256      CALL crs_dom_ope( gdepw_0, 'MAX', 'W', tmask, gdepw_crs, p_e3=zfse3w, psgn=1.0 ) 
     370     CALL crs_dom_ope( gdept_0, 'MAX', 'T', tmask, gdept_0_crs, p_e3=zfse3t, psgn=1.0 )  
     371     CALL crs_dom_ope( gdepw_0, 'MAX', 'W', tmask, gdepw_0_crs, p_e3=zfse3w, psgn=1.0 ) 
     372#if defined key_vvl 
     373     gdept_n_crs(:,:,:) = gdept_0_crs(:,:,:) 
     374     gdepw_n_crs(:,:,:) = gdepw_0_crs(:,:,:) 
     375#endif 
     376 
     377write(narea+200,*)"crsini8",nstop; call flush(narea+200) 
    257378 
    258379     !--------------------------------------------------------- 
     
    276397     !CALL dom_grid_glo   ! Return to parent grid domain 
    277398 
     399write(narea+200,*)"crsini9",nstop; call flush(narea+200) 
    278400 
    279401     ! 
     
    291413      rhop_crs(:,:,:)=0._wp ; rhd_crs(:,:,:)=0._wp ; rb2_crs(:,:,:)=0._wp 
    292414 
     415write(narea+200,*)"crsini10",nstop; call flush(narea+200) 
    293416  
    294417     !--------------------------------------------------------- 
Note: See TracChangeset for help on using the changeset viewer.