Changes in branches/2015/dev_r5003_MERCATOR6_CRS [7806:8103]
- Location:
- branches/2015/dev_r5003_MERCATOR6_CRS/NEMOGCM/NEMO
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2015/dev_r5003_MERCATOR6_CRS/NEMOGCM/NEMO/OPA_SRC/CRS/crsdom.F90
r7806 r8103 410 410 SELECT CASE ( cd_type ) 411 411 412 CASE( 'T', 'W' )412 CASE( 'T', 'W','U','V' ) 413 413 DO jk = 1, jpk 414 414 zsurf (:,:,jk) = p_e12(:,:) * p_e3(:,:,jk) * p_mask(:,:,jk) … … 1171 1171 ! check 1172 1172 !========================================================================== 1173 !CALL FLUSH(narea+1000-1) 1173 1174 !WRITE(narea+1000-1,*)"nfipproc(ji,jj),narea :",nfipproc(iproci,iprocj),narea 1174 1175 !WRITE(narea+1000-1,*)"proc i,j ",iproci,iprocj … … 1190 1191 !WRITE(narea+1000-1,*)"glamt gphit ",glamt(1,1),gphit(jpi,jpj),glamt(jpi,jpj),gphit(jpi,jpj) 1191 1192 !WRITE(narea+1000-1,*)"min max tmask ",MINVAL(tmask),MAXVAL(tmask) 1192 1193 !CALL FLUSH(narea+1000-1) 1193 1194 !========================================================================== 1194 1195 ! coarsened domain: dimensions along I … … 1233 1234 mis2_crs(ji)=ijis 1234 1235 mie2_crs(ji)=ijie 1236 !WRITE(narea+1000-1,*)"glo crs",ji,ijis,ijie,ijis-nimpp+1,ijie-nimpp+1 1235 1237 ENDDO 1236 1238 … … 1254 1256 ijis=ji 1255 1257 ii_start = mis2_crs(ijis)-nimpp+1 1258 WRITE(narea+1000-1,*)"start ",ijis,mis2_crs(ijis),ii_start ; CALL FLUSH(narea+1000-1) 1256 1259 1257 1260 !---------------------------------------------------------------------------------------------- … … 1292 1295 1293 1296 ji=jpiglo_crs 1294 DO WHILE( mie2_crs(ji) - nimpp + 1 .GT. jpi )1297 DO WHILE( mie2_crs(ji) - nimpp + 1 .GT. nlci ) 1295 1298 ji=ji-1 1296 1299 IF( ji==1 )EXIT 1297 1300 END DO 1298 1301 ijie=ji 1302 !WRITE(narea+1000-1,*)"end ",ijie ; CALL FLUSH(narea+1000-1) 1299 1303 1300 1304 !------------------------------------------------------------------------------- … … 1302 1306 !------------------------------------------------------------------------------- 1303 1307 nlei_crs=ijie-nimpp_crs+1 1304 nlci_crs=nlei_crs+jpreci 1305 IF( iproci == jpni )nlei_crs=nlci_crs 1308 !nlci_crs=nlei_crs ! cbr ???? +jpreci 1309 !IF( iproci == jpni ) THEN ; nlci_crs=nlei_crs ! cbr ???? +jpreci 1310 !ELSE ; nlci_crs=nlei_crs+1 1311 !ENDIF 1312 !cbr???? IF( iproci == jpni )nlei_crs=nlci_crs 1306 1313 1307 1314 !------------------------------------------------------------------------------- … … 1310 1317 DO ji = 1, jpi_crs 1311 1318 mig_crs(ji) = ji + nimpp_crs - 1 1319 WRITE(narea+1000-1,*)"crs loctoglo",ji,mig_crs(ji) ; CALL FLUSH(narea+1000-1) 1312 1320 ENDDO 1313 1321 DO ji = 1, jpiglo_crs … … 1320 1328 !--------------------------------------------------------------------------------------- 1321 1329 DO ji = 1, nlei_crs 1330 IF( mig_crs(ji) .GT. jpiglo_crs )WRITE(narea+1000-1,*)"BUG1 " ; CALL FLUSH(narea+1000-1) 1322 1331 mis_crs(ji) = mis2_crs(mig_crs(ji)) - nimpp + 1 1323 1332 mie_crs(ji) = mie2_crs(mig_crs(ji)) - nimpp + 1 1324 IF( iproci == jpni .AND. ji == nlei_crs )THEN1325 mie_crs(ji) = nlei1326 mie2_crs(mig_crs(ji)) = mig(nlei)1327 ENDIF1333 !IF( iproci == jpni .AND. ji == nlei_crs )THEN 1334 ! mie_crs(ji) = nlei 1335 ! mie2_crs(mig_crs(ji)) = mig(nlei) 1336 !ENDIF 1328 1337 nfactx(ji) = mie_crs(ji)-mis_crs(ji)+1 1329 1338 ENDDO 1339 1340 !--------- 1341 !cbr 1342 IF( iproci == 1 ) THEN 1343 nldi_crs=1 1344 mis_crs(1) = 1 1345 mie_crs(1) = 1 1346 mis2_crs(1) = 1 1347 mie2_crs(1) = 1 1348 ENDIF 1349 1350 IF( iproci == jpni ) THEN 1351 nlei_crs=jpiglo_crs-nimpp_crs+1 1352 nlci_crs=nlei_crs 1353 mis_crs(nlei_crs) = 1 1354 mie_crs(nlei_crs) = 1 1355 mis2_crs(nlei_crs) = 1 1356 mie2_crs(nlei_crs) = 1 1357 nfactx(nlei_crs)=0 1358 ELSE 1359 nlci_crs=nlei_crs+1 1360 ENDIF 1361 1362 !WRITE(narea+1000-1,*)"loc crs jpi nldi,nlei,nlci ",jpi_crs, nldi_crs ,nlei_crs ,nlci_crs 1363 !CALL FLUSH(narea+1000-1) 1364 !WRITE(narea+1000-1,*)"glo crs jpi nldi,nlei ",jpi_crs, nldi_crs+nimpp_crs-1,nlei_crs+nimpp_crs-1 1365 !CALL FLUSH(narea+1000-1) 1366 !DO ji = 1, jpi_crs 1367 ! 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) 1368 !ENDDO 1330 1369 1331 1370 !========================================================================== … … 1454 1493 ENDIF 1455 1494 1495 !WRITE(narea+1000-1,*)"loc crs jpj nldj,nlej,nlcj ",jpj_crs, nldj_crs ,nlej_crs ,nlcj_crs 1496 !CALL FLUSH(narea+1000-1) 1497 !WRITE(narea+1000-1,*)"glo crs jpj nldj,nlej ",jpj_crs, nldj_crs+njmpp_crs-1,nlej_crs+njmpp_crs-1 1498 !CALL FLUSH(narea+1000-1) 1456 1499 !------------------------------------------------------------------------------- 1457 1500 ! J-7 local to global and global to local indices for CRS grid … … 1521 1564 ! check 1522 1565 !========================================================================== 1566 !WRITE(narea+1000-1,*)"mpp_crs ",nimpp_crs,njmpp_crs 1523 1567 !WRITE(narea+1000-1,*)"loc crs jpi nldi,nlei,nlci ",jpi_crs, nldi_crs ,nlei_crs ,nlci_crs 1524 1568 !WRITE(narea+1000-1,*)"glo crs jpi nldi,nlei ",jpi_crs, nldi_crs+nimpp_crs-1,nlei_crs+nimpp_crs-1 -
branches/2015/dev_r5003_MERCATOR6_CRS/NEMOGCM/NEMO/OPA_SRC/CRS/crsfld.F90
r7806 r8103 93 93 #if defined key_vvl 94 94 95 96 IF( kt /= nit000 )THEN 97 zfse3t(:,:,:) = e3t_b(:,:,:) 98 zfse3u(:,:,:) = e3u_b(:,:,:) 99 zfse3v(:,:,:) = e3v_b(:,:,:) 100 zfse3w(:,:,:) = e3w_b(:,:,:) 101 102 CALL crs_dom_e3( e1t, e2t, zfse3t, p_sfc_3d_crs=e1e2w_crs, cd_type='T', p_mask=tmask, p_e3_crs=e3t_b_crs, p_e3_max_crs=zs_crs) 103 CALL crs_dom_e3( e1t, e2t, zfse3w, p_sfc_3d_crs=e1e2w_crs, cd_type='W', p_mask=tmask, p_e3_crs=e3w_b_crs, p_e3_max_crs=zs_crs) 104 CALL crs_dom_e3( e1u, e2u, zfse3u, p_sfc_2d_crs=e2u_crs , cd_type='U', p_mask=umask, p_e3_crs=e3u_b_crs, p_e3_max_crs=zs_crs) 105 CALL crs_dom_e3( e1v, e2v, zfse3v, p_sfc_2d_crs=e1v_crs , cd_type='V', p_mask=vmask, p_e3_crs=e3v_b_crs, p_e3_max_crs=zs_crs) 106 107 DO jk = 1, jpk 108 DO ji = 1, jpi_crs 109 DO jj = 1, jpj_crs 110 IF( e3t_b_crs(ji,jj,jk) == 0._wp ) e3t_b_crs(ji,jj,jk) = e3t_1d(jk) 111 IF( e3w_b_crs(ji,jj,jk) == 0._wp ) e3w_b_crs(ji,jj,jk) = e3w_1d(jk) 112 IF( e3u_b_crs(ji,jj,jk) == 0._wp ) e3u_b_crs(ji,jj,jk) = e3t_1d(jk) 113 IF( e3v_b_crs(ji,jj,jk) == 0._wp ) e3v_b_crs(ji,jj,jk) = e3t_1d(jk) 114 ENDDO 95 zfse3t(:,:,:) = e3t_b(:,:,:) 96 zfse3u(:,:,:) = e3u_b(:,:,:) 97 zfse3v(:,:,:) = e3v_b(:,:,:) 98 zfse3w(:,:,:) = e3w_b(:,:,:) 99 100 CALL crs_dom_e3( e1t, e2t, zfse3t, p_sfc_3d_crs=e1e2w_crs, cd_type='T', p_mask=tmask, p_e3_crs=e3t_b_crs, p_e3_max_crs=zs_crs) 101 CALL crs_dom_e3( e1t, e2t, zfse3w, p_sfc_3d_crs=e1e2w_crs, cd_type='W', p_mask=tmask, p_e3_crs=e3w_b_crs, p_e3_max_crs=zs_crs) 102 CALL crs_dom_e3( e1u, e2u, zfse3u, p_sfc_2d_crs=e2u_crs , cd_type='U', p_mask=umask, p_e3_crs=e3u_b_crs, p_e3_max_crs=zs_crs) 103 CALL crs_dom_e3( e1v, e2v, zfse3v, p_sfc_2d_crs=e1v_crs , cd_type='V', p_mask=vmask, p_e3_crs=e3v_b_crs, p_e3_max_crs=zs_crs) 104 105 DO jk = 1, jpk 106 DO ji = 1, jpi_crs 107 DO jj = 1, jpj_crs 108 IF( e3t_b_crs(ji,jj,jk) == 0._wp ) e3t_b_crs(ji,jj,jk) = e3t_1d(jk) 109 IF( e3w_b_crs(ji,jj,jk) == 0._wp ) e3w_b_crs(ji,jj,jk) = e3w_1d(jk) 110 IF( e3u_b_crs(ji,jj,jk) == 0._wp ) e3u_b_crs(ji,jj,jk) = e3t_1d(jk) 111 IF( e3v_b_crs(ji,jj,jk) == 0._wp ) e3v_b_crs(ji,jj,jk) = e3t_1d(jk) 115 112 ENDDO 116 113 ENDDO 117 118 e3t_n_crs(:,:,:) = e3t_a_crs(:,:,:) 119 e3u_n_crs(:,:,:) = e3u_a_crs(:,:,:) 120 e3v_n_crs(:,:,:) = e3v_a_crs(:,:,:) 121 e3w_n_crs(:,:,:) = e3w_a_crs(:,:,:) 122 123 ENDIF 114 ENDDO 115 116 zfse3t(:,:,:) = e3t_n(:,:,:) 117 zfse3u(:,:,:) = e3u_n(:,:,:) 118 zfse3v(:,:,:) = e3v_n(:,:,:) 119 zfse3w(:,:,:) = e3w_n(:,:,:) 120 121 CALL crs_dom_e3( e1t, e2t, zfse3t, p_sfc_3d_crs=e1e2w_crs, cd_type='T', p_mask=tmask, p_e3_crs=e3t_n_crs, p_e3_max_crs=e3t_max_n_crs) 122 CALL crs_dom_e3( e1t, e2t, zfse3w, p_sfc_3d_crs=e1e2w_crs, cd_type='W', p_mask=tmask, p_e3_crs=e3w_n_crs, p_e3_max_crs=e3w_max_n_crs) 123 CALL crs_dom_e3( e1u, e2u, zfse3u, p_sfc_2d_crs=e2u_crs , cd_type='U', p_mask=umask, p_e3_crs=e3u_n_crs, p_e3_max_crs=e3u_max_n_crs) 124 CALL crs_dom_e3( e1v, e2v, zfse3v, p_sfc_2d_crs=e1v_crs , cd_type='V', p_mask=vmask, p_e3_crs=e3v_n_crs, p_e3_max_crs=e3v_max_n_crs) 125 126 DO jk = 1, jpk 127 DO ji = 1, jpi_crs 128 DO jj = 1, jpj_crs 129 IF( e3t_n_crs(ji,jj,jk) == 0._wp ) e3t_n_crs(ji,jj,jk) = e3t_1d(jk) 130 IF( e3w_n_crs(ji,jj,jk) == 0._wp ) e3w_n_crs(ji,jj,jk) = e3w_1d(jk) 131 IF( e3u_n_crs(ji,jj,jk) == 0._wp ) e3u_n_crs(ji,jj,jk) = e3t_1d(jk) 132 IF( e3v_n_crs(ji,jj,jk) == 0._wp ) e3v_n_crs(ji,jj,jk) = e3t_1d(jk) 133 IF( e3t_max_n_crs(ji,jj,jk) == 0._wp ) e3t_max_n_crs(ji,jj,jk) = e3t_1d(jk) 134 IF( e3w_max_n_crs(ji,jj,jk) == 0._wp ) e3w_max_n_crs(ji,jj,jk) = e3w_1d(jk) 135 IF( e3u_max_n_crs(ji,jj,jk) == 0._wp ) e3u_max_n_crs(ji,jj,jk) = e3t_1d(jk) 136 IF( e3v_max_n_crs(ji,jj,jk) == 0._wp ) e3v_max_n_crs(ji,jj,jk) = e3t_1d(jk) 137 ENDDO 138 ENDDO 139 ENDDO 140 124 141 #endif 125 142 !--------------------------------------------------------------------------------------------------- … … 138 155 #endif 139 156 140 IF( kt /= nit000 )THEN 141 emp_b_crs(:,:) = emp_crs(:,:) 142 rnf_b_crs(:,:) = rnf_crs(:,:) 143 ELSE 144 emp_b_crs(:,: ) = 0._wp 145 rnf_b_crs(:,: ) = 0._wp 146 ENDIF 157 CALL crs_dom_ope( rnf_b ,'SUM', 'T', tmask, rnf_b_crs , p_e12=e1e2t, p_surf_crs=e1e2w_msk(:,:,1), psgn=1.0 ) 158 CALL crs_dom_ope( emp_b ,'SUM', 'T', tmask, emp_b_crs , p_e12=e1e2t, p_surf_crs=e1e2w_msk(:,:,1), psgn=1.0 ) 147 159 148 160 ! Temperature … … 192 204 !CALL iom_put("e1e3v_msk",e1e3v_msk) 193 205 194 ! vertical scale factors195 CALL crs_dom_e3( e1t, e2t, zfse3t, p_sfc_3d_crs=e1e2w_crs, cd_type='T', p_mask=tmask, p_e3_crs=zs_crs, p_e3_max_crs=e3t_max_n_crs)196 CALL crs_dom_e3( e1t, e2t, zfse3w, p_sfc_3d_crs=e1e2w_crs, cd_type='W', p_mask=tmask, p_e3_crs=zs_crs, p_e3_max_crs=e3w_max_n_crs)197 CALL crs_dom_e3( e1u, e2u, zfse3u, p_sfc_2d_crs=e2u_crs , cd_type='U', p_mask=umask, p_e3_crs=zs_crs, p_e3_max_crs=e3u_max_n_crs)198 CALL crs_dom_e3( e1v, e2v, zfse3v, p_sfc_2d_crs=e1v_crs , cd_type='V', p_mask=vmask, p_e3_crs=zs_crs, p_e3_max_crs=e3v_max_n_crs)199 200 DO jk = 1, jpk201 DO ji = 1, jpi_crs202 DO jj = 1, jpj_crs203 IF( e3t_max_n_crs(ji,jj,jk) == 0._wp ) e3t_max_n_crs(ji,jj,jk) = e3t_1d(jk)204 IF( e3w_max_n_crs(ji,jj,jk) == 0._wp ) e3w_max_n_crs(ji,jj,jk) = e3w_1d(jk)205 IF( e3u_max_n_crs(ji,jj,jk) == 0._wp ) e3u_max_n_crs(ji,jj,jk) = e3t_1d(jk)206 IF( e3v_max_n_crs(ji,jj,jk) == 0._wp ) e3v_max_n_crs(ji,jj,jk) = e3t_1d(jk)207 ENDDO208 ENDDO209 ENDDO210 211 206 ! depth 212 CALL crs_dom_ope( gdep w_n, 'MAX', 'T', tmask, gdept_n_crs, p_e3=zfse3t, psgn=1.0 )207 CALL crs_dom_ope( gdept_n, 'MAX', 'T', tmask, gdept_n_crs, p_e3=zfse3t, psgn=1.0 ) 213 208 CALL crs_dom_ope( gdepw_n, 'MAX', 'W', tmask, gdepw_n_crs, p_e3=zfse3w, psgn=1.0 ) 214 209 DO jk = 1, jpk … … 297 292 298 293 !2D fields 299 CALL crs_dom_ope( rnf , ' MAX', 'T', tmask, rnf_crs, psgn=1.0 )294 CALL crs_dom_ope( rnf , 'SUM', 'T', tmask, rnf_crs , p_e12=e1e2t, p_surf_crs=e1e2t_crs, psgn=1.0 ) 300 295 CALL crs_dom_ope( h_rnf, 'MAX', 'T', tmask, h_rnf_crs , psgn=1.0 ) 301 296 … … 304 299 nk_rnf_crs=INT(z2d_crs) 305 300 306 CALL crs_dom_ope( qsr , 'SUM', 'T', tmask, qsr_crs , p_e12=e1e2t, p_surf_crs=e1e2t_crs, psgn=1.0 )307 CALL crs_dom_ope( wndm , 'SUM', 'T', tmask, wndm_crs , p_e12=e1e2t, p_surf_crs=e1e2t_crs, psgn=1.0 )308 CALL crs_dom_ope( emp ,'SUM', 'T', tmask, emp_crs , p_e12=e1e2t, p_surf_crs=e1e2 t_crs, psgn=1.0 )309 CALL crs_dom_ope( fmmflx,'SUM', 'T', tmask, fmmflx_crs, p_e12=e1e2t, p_surf_crs=e1e2 t_crs, psgn=1.0 )310 311 CALL crs_dom_ope( fr_i ,'SUM', 'T', tmask, fr_i_crs , p_e12=e1e2t, p_surf_crs=e1e2 t_crs, psgn=1.0 )301 CALL crs_dom_ope( qsr , 'SUM', 'T', tmask, qsr_crs , p_e12=e1e2t, p_surf_crs=e1e2w_msk(:,:,1), psgn=1.0 ) 302 CALL crs_dom_ope( wndm , 'SUM', 'T', tmask, wndm_crs , p_e12=e1e2t, p_surf_crs=e1e2w_msk(:,:,1), psgn=1.0 ) 303 CALL crs_dom_ope( emp ,'SUM', 'T', tmask, emp_crs , p_e12=e1e2t, p_surf_crs=e1e2w_msk(:,:,1), psgn=1.0 ) 304 CALL crs_dom_ope( fmmflx,'SUM', 'T', tmask, fmmflx_crs, p_e12=e1e2t, p_surf_crs=e1e2w_msk(:,:,1), psgn=1.0 ) 305 306 CALL crs_dom_ope( fr_i ,'SUM', 'T', tmask, fr_i_crs , p_e12=e1e2t, p_surf_crs=e1e2w_msk(:,:,1), psgn=1.0 ) 312 307 fr_i_crs=MAX( 0._wp, MIN( fr_i_crs , 1._wp ) ) 313 308 … … 323 318 CALL iom_put( "qsr" , qsr_crs ) ! qsr output 324 319 CALL iom_put( "empmr" , emp_crs ) ! water flux output 325 CALL iom_put( "saltflx" , sfx_crs ) ! salt flux output320 CALL iom_put( "saltflx" , fmmflx_crs ) ! salt flux output 326 321 CALL iom_put( "ice_cover", fr_i_crs ) ! ice cover output 327 322 -
branches/2015/dev_r5003_MERCATOR6_CRS/NEMOGCM/NEMO/OPA_SRC/IOM/iom.F90
r7806 r8103 1390 1390 REAL(wp), DIMENSION(jpi,jpj,jpk) :: zmask 1391 1391 INTEGER :: ni,nj 1392 !!---------------------------------------------------------------------- 1392 1393 1393 1394 ni=nlei-nldi+1 ; nj=nlej-nldj+1 … … 1404 1405 IF ( ln_mskland ) THEN 1405 1406 ! mask land points, keep values on coast line -> specific mask for U, V and W points 1406 SELECT CASE ( cdgrd ) 1407 CASE('T') ; zmask(:,:,:) = tmask(:,:,:) 1408 CASE('U') ; zmask(2:jpim1,:,:) = tmask(2:jpim1,:,:) + tmask(3:jpi,:,:) ; CALL lbc_lnk( zmask, 'U', 1. ) 1409 CASE('V') ; zmask(:,2:jpjm1,:) = tmask(:,2:jpjm1,:) + tmask(:,3:jpj,:) ; CALL lbc_lnk( zmask, 'V', 1. ) 1410 CASE('W') ; zmask(:,:,2:jpk ) = tmask(:,:,1:jpkm1) + tmask(:,:,2:jpk) ; zmask(:,:,1) = tmask(:,:,1) 1411 END SELECT 1407 1408 IF( lk_crs .AND. jpi == jpi_crs .AND. jpi .NE. 0 )THEN 1409 1410 SELECT CASE ( cdgrd ) 1411 CASE('T') ; zmask(:,:,:) = tmask_crs(:,:,:) 1412 CASE('U') ; zmask(2:jpim1,:,:) = tmask_crs(2:jpim1,:,:) + tmask_crs(3:jpi,:,:) ; CALL crs_lbc_lnk( zmask, 'U', 1. ) 1413 CASE('V') ; zmask(:,2:jpjm1,:) = tmask_crs(:,2:jpjm1,:) + tmask_crs(:,3:jpj,:) ; CALL crs_lbc_lnk( zmask, 'V', 1. ) 1414 CASE('W') ; zmask(:,:,2:jpk ) = tmask_crs(:,:,1:jpkm1) + tmask_crs(:,:,2:jpk) ; zmask(:,:,1) = tmask_crs(:,:,1) 1415 END SELECT 1416 1417 ELSE 1418 1419 SELECT CASE ( cdgrd ) 1420 CASE('T') ; zmask(:,:,:) = tmask(:,:,:) 1421 CASE('U') ; zmask(2:jpim1,:,:) = tmask(2:jpim1,:,:) + tmask(3:jpi,:,:) ; CALL lbc_lnk( zmask, 'U', 1. ) 1422 CASE('V') ; zmask(:,2:jpjm1,:) = tmask(:,2:jpjm1,:) + tmask(:,3:jpj,:) ; CALL lbc_lnk( zmask, 'V', 1. ) 1423 CASE('W') ; zmask(:,:,2:jpk ) = tmask(:,:,1:jpkm1) + tmask(:,:,2:jpk) ; zmask(:,:,1) = tmask(:,:,1) 1424 END SELECT 1425 1426 ENDIF 1412 1427 ! 1413 1428 #if ! defined key_xios2 -
branches/2015/dev_r5003_MERCATOR6_CRS/NEMOGCM/NEMO/OPA_SRC/LDF/ldftra_c2d_crs.h90
r7806 r8103 42 42 ENDIF 43 43 44 zd_max = MAX( MAXVAL( e1t(:,:) ), MAXVAL( e2t(:,:) ) )44 zd_max = MAX( MAXVAL( e1t(:,:)*tmask(:,:,1) ), MAXVAL( e2t(:,:)*tmask(:,:,1) ) ) 45 45 IF( lk_mpp ) CALL mpp_max( zd_max ) ! max over the global domain 46 46 -
branches/2015/dev_r5003_MERCATOR6_CRS/NEMOGCM/NEMO/OPA_SRC/TRA/traldf_iso_crs.F90
r7806 r8103 264 264 & + vmask_crs(ji,jj-1,jk-1) + vmask_crs(ji,jj ,jk), 1. ) 265 265 ! 266 zcoef3 = zcoef0 * e1e2w_ crs(ji,jj,jk) * zmsku * wslpi_crs(ji,jj,jk) / e1t_crs(ji,jj)267 zcoef4 = zcoef0 * e1e2w_ crs(ji,jj,jk) * zmskv * wslpj_crs(ji,jj,jk) / e2t_crs(ji,jj)266 zcoef3 = zcoef0 * e1e2w_msk(ji,jj,jk) * zmsku * wslpi_crs(ji,jj,jk) / e1t_crs(ji,jj) 267 zcoef4 = zcoef0 * e1e2w_msk(ji,jj,jk) * zmskv * wslpj_crs(ji,jj,jk) / e2t_crs(ji,jj) 268 268 ztfw(ji,jj,jk) = zcoef3 * ( zdit(ji ,jj ,jk-1) + zdit(ji-1,jj ,jk) & 269 269 & + zdit(ji-1,jj ,jk-1) + zdit(ji ,jj ,jk) ) & -
branches/2015/dev_r5003_MERCATOR6_CRS/NEMOGCM/NEMO/TOP_SRC/TRP/trcldf_crs.F90
r7806 r8103 18 18 USE trc ! ocean passive tracers variables 19 19 USE trcnam_trp ! passive tracers transport namelist variables 20 USE ldftra_oce ! lateral diffusion coefficient on tracers 20 !USE ldftra_oce ! lateral diffusion coefficient on tracers 21 USE ldftra_oce,ONLY: ln_traldf_grif,rn_aht_0,rn_ahtb_0,lk_traldf_eiv ! lateral diffusion coefficient on tracers 21 22 USE ldfslp ! ??? 22 23 USE traldf_bilapg ! lateral mixing (tra_ldf_bilapg routine) … … 58 59 INTEGER, INTENT( in ) :: kt ! ocean time-step index 59 60 !! 60 INTEGER :: jn 61 INTEGER :: ji,jj,jk,jn 62 REAL(wp) :: zdep 61 63 CHARACTER (len=22) :: charout 62 64 REAL(wp), POINTER, DIMENSION(:,:,:,:) :: ztrtrd … … 68 70 69 71 rldf = rldf_rat 72 ! 73 r_fact_lap(:,:,:) = 1. 74 DO jk= 1, jpk 75 DO jj = 1, jpj 76 DO ji = 1, jpi 77 IF( fsdept(ji,jj,jk) > 200. .AND. gphit(ji,jj) < 5. .AND. gphit(ji,jj) > -5. ) THEN 78 zdep = MAX( fsdept(ji,jj,jk) - 1000., 0. ) / 1000. 79 r_fact_lap(ji,jj,jk) = MAX( 1., rn_fact_lap * EXP( -zdep ) ) 80 ENDIF 81 END DO 82 END DO 83 END DO 70 84 71 85 IF( l_trdtrc ) THEN -
branches/2015/dev_r5003_MERCATOR6_CRS/NEMOGCM/NEMO/TOP_SRC/oce_trc.F90
r7806 r8103 215 215 USE crs , ONLY : fr_i => fr_i_crs !: ice fraction (between 0 to 1) 216 216 217 USE trcnam_trp , ONLY : aht0 => rn_ahtrc_0 !: horizontal eddy diffusivity for tracers (m2/s)217 USE ldftra_oce , ONLY : aht0 => aht0 !: horizontal eddy diffusivity for tracers (m2/s) 218 218 USE crs , ONLY : ahtu => ahtu_crs !: lateral diffusivity coef. at u-points 219 219 USE crs , ONLY : ahtv => ahtv_crs !: lateral diffusivity coef. at v-points
Note: See TracChangeset
for help on using the changeset viewer.