- Timestamp:
- 2020-11-27T17:26:33+01:00 (4 years ago)
- Location:
- NEMO/branches/2020/tickets_icb_1900
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2020/tickets_icb_1900
- Property svn:externals
-
NEMO/branches/2020/tickets_icb_1900/src/OCE/LDF/ldfdyn.F90
r13226 r13899 267 267 IF(lwp) WRITE(numout,*) ' ==>>> eddy viscosity = F(i,j) read in eddy_viscosity.nc file' 268 268 CALL iom_open( 'eddy_viscosity_2D.nc', inum ) 269 CALL iom_get ( inum, jpdom_ data, 'ahmt_2d', ahmt(:,:,1))270 CALL iom_get ( inum, jpdom_ data, 'ahmf_2d', ahmf(:,:,1))269 CALL iom_get ( inum, jpdom_global, 'ahmt_2d', ahmt(:,:,1), cd_type = 'T', psgn = 1._wp ) 270 CALL iom_get ( inum, jpdom_global, 'ahmf_2d', ahmf(:,:,1), cd_type = 'F', psgn = 1._wp ) 271 271 CALL iom_close( inum ) 272 272 DO jk = 2, jpkm1 … … 284 284 IF(lwp) WRITE(numout,*) ' ==>>> eddy viscosity = F(i,j,k) read in eddy_viscosity_3D.nc file' 285 285 CALL iom_open( 'eddy_viscosity_3D.nc', inum ) 286 CALL iom_get ( inum, jpdom_ data, 'ahmt_3d', ahmt)287 CALL iom_get ( inum, jpdom_ data, 'ahmf_3d', ahmf)286 CALL iom_get ( inum, jpdom_global, 'ahmt_3d', ahmt, cd_type = 'T', psgn = 1._wp ) 287 CALL iom_get ( inum, jpdom_global, 'ahmf_3d', ahmf, cd_type = 'F', psgn = 1._wp ) 288 288 CALL iom_close( inum ) 289 289 ! … … 311 311 IF( ierr /= 0 ) CALL ctl_stop( 'STOP', 'ldf_dyn_init: failed to allocate Smagorinsky arrays') 312 312 ! 313 DO_2D _11_11313 DO_2D( 1, 1, 1, 1 ) ! Set local gridscale values 314 314 esqt(ji,jj) = ( 2._wp * e1e2t(ji,jj) / ( e1t(ji,jj) + e2t(ji,jj) ) )**2 315 315 esqf(ji,jj) = ( 2._wp * e1e2f(ji,jj) / ( e1f(ji,jj) + e2f(ji,jj) ) )**2 … … 368 368 IF( ln_dynldf_lap ) THEN ! laplacian operator : |u| e /12 = |u/144| e 369 369 DO jk = 1, jpkm1 370 DO_2D _00_00370 DO_2D( 0, 0, 0, 0 ) 371 371 zu2pv2_ij = uu(ji ,jj ,jk,Kbb) * uu(ji ,jj ,jk,Kbb) + vv(ji ,jj ,jk,Kbb) * vv(ji ,jj ,jk,Kbb) 372 372 zu2pv2_ij_m1 = uu(ji-1,jj ,jk,Kbb) * uu(ji-1,jj ,jk,Kbb) + vv(ji ,jj-1,jk,Kbb) * vv(ji ,jj-1,jk,Kbb) … … 374 374 ahmt(ji,jj,jk) = SQRT( (zu2pv2_ij + zu2pv2_ij_m1) * r1_288 ) * zemax * tmask(ji,jj,jk) ! 288= 12*12 * 2 375 375 END_2D 376 DO_2D _10_10376 DO_2D( 1, 0, 1, 0 ) 377 377 zu2pv2_ij_p1 = uu(ji ,jj+1,jk, Kbb) * uu(ji ,jj+1,jk, Kbb) + vv(ji+1,jj ,jk, Kbb) * vv(ji+1,jj ,jk, Kbb) 378 378 zu2pv2_ij = uu(ji ,jj ,jk, Kbb) * uu(ji ,jj ,jk, Kbb) + vv(ji ,jj ,jk, Kbb) * vv(ji ,jj ,jk, Kbb) … … 383 383 ELSEIF( ln_dynldf_blp ) THEN ! bilaplacian operator : sqrt( |u| e^3 /12 ) = sqrt( |u/144| e ) * e 384 384 DO jk = 1, jpkm1 385 DO_2D _00_00385 DO_2D( 0, 0, 0, 0 ) 386 386 zu2pv2_ij = uu(ji ,jj ,jk,Kbb) * uu(ji ,jj ,jk,Kbb) + vv(ji ,jj ,jk,Kbb) * vv(ji ,jj ,jk,Kbb) 387 387 zu2pv2_ij_m1 = uu(ji-1,jj ,jk,Kbb) * uu(ji-1,jj ,jk,Kbb) + vv(ji ,jj-1,jk,Kbb) * vv(ji ,jj-1,jk,Kbb) … … 389 389 ahmt(ji,jj,jk) = SQRT( SQRT( (zu2pv2_ij + zu2pv2_ij_m1) * r1_288 ) * zemax ) * zemax * tmask(ji,jj,jk) 390 390 END_2D 391 DO_2D _10_10391 DO_2D( 1, 0, 1, 0 ) 392 392 zu2pv2_ij_p1 = uu(ji ,jj+1,jk, Kbb) * uu(ji ,jj+1,jk, Kbb) + vv(ji+1,jj ,jk, Kbb) * vv(ji+1,jj ,jk, Kbb) 393 393 zu2pv2_ij = uu(ji ,jj ,jk, Kbb) * uu(ji ,jj ,jk, Kbb) + vv(ji ,jj ,jk, Kbb) * vv(ji ,jj ,jk, Kbb) … … 412 412 DO jk = 1, jpkm1 413 413 ! 414 DO_2D _00_00414 DO_2D( 0, 0, 0, 0 ) 415 415 zdb = ( uu(ji,jj,jk,Kbb) * r1_e2u(ji,jj) - uu(ji-1,jj,jk,Kbb) * r1_e2u(ji-1,jj) ) & 416 416 & * r1_e1t(ji,jj) * e2t(ji,jj) & … … 420 420 END_2D 421 421 ! 422 DO_2D _10_10422 DO_2D( 1, 0, 1, 0 ) 423 423 zdb = ( uu(ji,jj+1,jk,Kbb) * r1_e1u(ji,jj+1) - uu(ji,jj,jk,Kbb) * r1_e1u(ji,jj) ) & 424 424 & * r1_e2f(ji,jj) * e1f(ji,jj) & … … 434 434 DO jk = 1, jpkm1 435 435 ! 436 DO_2D _00_00436 DO_2D( 0, 0, 0, 0 ) ! T-point value 437 437 ! 438 438 zu2pv2_ij = uu(ji ,jj ,jk,Kbb) * uu(ji ,jj ,jk,Kbb) + vv(ji ,jj ,jk,Kbb) * vv(ji ,jj ,jk,Kbb) … … 448 448 END_2D 449 449 ! 450 DO_2D _10_10450 DO_2D( 1, 0, 1, 0 ) ! F-point value 451 451 ! 452 452 zu2pv2_ij_p1 = uu(ji ,jj+1,jk, kbb) * uu(ji ,jj+1,jk, kbb) + vv(ji+1,jj ,jk, kbb) * vv(ji+1,jj ,jk, kbb) … … 471 471 ! ! effective default limits are 1/12 |U|L^3 < B_hm < 1//(32*2dt) L^4 472 472 DO jk = 1, jpkm1 473 DO_2D _00_00473 DO_2D( 0, 0, 0, 0 ) 474 474 ahmt(ji,jj,jk) = SQRT( r1_8 * esqt(ji,jj) * ahmt(ji,jj,jk) ) 475 475 END_2D 476 DO_2D _10_10476 DO_2D( 1, 0, 1, 0 ) 477 477 ahmf(ji,jj,jk) = SQRT( r1_8 * esqf(ji,jj) * ahmf(ji,jj,jk) ) 478 478 END_2D
Note: See TracChangeset
for help on using the changeset viewer.