Changeset 14729
- Timestamp:
- 2021-04-19T17:30:24+02:00 (3 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2021/dev_r14122_HPC-08_Mueller_OSMOSIS_streamlining/src/OCE/ZDF/zdfosm.F90
r14728 r14729 334 334 ! For debugging 335 335 INTEGER :: ikt 336 REAL(wp) :: zlarge = -1.0e10_wp, zero = 0.0_wp 336 337 !!-------------------------------------------------------------------- 337 338 ! 338 339 IF( ln_timing ) CALL timing_start('zdf_osm') 339 340 ibld(:,:) = 0 ; imld(:,:) = 0 340 zrad0(:,:) = 0.0_wp ; zradh(:,:) = 0.0_wp ; zustar(:,:) = 0.0_wp341 zwstrl(:,:) = 0._wp ; zvstr(:,:) = 0._wp ; zwstrc(:,:) = 0._wp342 zwth0(:,:) = 0.0_wp ; zws0(:,:) = 0.0_wp ; zwb0(:,:) = 0.0_wp343 zwthav(:,:) = 0._wp ; zwsav(:,:) = 0._wp ; zwbav(:,:) = 0._wp ; zwb_ent(:,:) = 0._wp344 zustke(:,:) = 0._wp ; zla(:,:) = 0._wp ; zcos_wind(:,:) = 0._wp ; zsin_wind(:,:) = 0._wp345 zhol(:,:) = 0._wp ; zwb0tot(:,:) = 0.0_wp341 zrad0(:,:) = zlarge ; zradh(:,:) = zlarge ; zustar(:,:) = zlarge 342 zwstrl(:,:) = zlarge ; zvstr(:,:) = zlarge ; zwstrc(:,:) = zlarge ; zuw0(:,:) = zlarge 343 zwth0(:,:) = zlarge ; zws0(:,:) = zlarge ; zwb0(:,:) = zlarge 344 zwthav(:,:) = zlarge ; zwsav(:,:) = zlarge ; zwbav(:,:) = zlarge ; zwb_ent(:,:) = zlarge 345 zustke(:,:) = zlarge ; zla(:,:) = zlarge ; zcos_wind(:,:) = zlarge ; zsin_wind(:,:) = zlarge 346 zhol(:,:) = zlarge ; zwb0tot(:,:) = zlarge ; zalpha_pyc(:,:) = zlarge 346 347 lconv(:,:) = .FALSE.; lpyc(:,:) = .FALSE. ; lflux(:,:) = .FALSE. ; lmle(:,:) = .FALSE. 347 348 ! mixed layer 348 349 ! no initialization of zhbl or zhml (or zdh?) 349 zhbl(:,:) = 1._wp ; zhml(:,:) = 1._wp ; zdh(:,:) = 1._wp ; zdhdt(:,:) = 0._wp 350 zt_bl(:,:) = 0._wp ; zs_bl(:,:) = 0._wp ; zu_bl(:,:) = 0._wp 351 zv_bl(:,:) = 0._wp ; zb_bl(:,:) = 0._wp 352 zt_ml(:,:) = 0._wp ; zs_ml(:,:) = 0._wp ; zu_ml(:,:) = 0._wp 353 zt_mle(:,:) = 0._wp ; zs_mle(:,:) = 0._wp ; zu_mle(:,:) = 0._wp 354 zb_mle(:,:) = 0._wp 355 zv_ml(:,:) = 0._wp ; zdt_bl(:,:) = 0._wp ; zds_bl(:,:) = 0._wp 356 zdu_bl(:,:) = 0._wp ; zdv_bl(:,:) = 0._wp ; zdb_bl(:,:) = 0._wp 357 zdt_ml(:,:) = 0._wp ; zds_ml(:,:) = 0._wp ; zdu_ml(:,:) = 0._wp ; zdv_ml(:,:) = 0._wp 358 zdb_ml(:,:) = 0._wp 359 ! 360 zdbdz_pyc(:,:,:) = 0.0_wp 361 ! 362 zdtdz_bl_ext(:,:) = 0._wp ; zdsdz_bl_ext(:,:) = 0._wp ; zdbdz_bl_ext(:,:) = 0._wp 350 zhbl(:,:) = zlarge ; zhml(:,:) = zlarge ; zdh(:,:) = zlarge ; zdhdt(:,:) = zlarge 351 zt_bl(:,:) = zlarge ; zs_bl(:,:) = zlarge ; zu_bl(:,:) = zlarge 352 zv_bl(:,:) = zlarge ; zb_bl(:,:) = zlarge 353 zt_ml(:,:) = zlarge ; zs_ml(:,:) = zlarge ; zu_ml(:,:) = zlarge 354 zt_mle(:,:) = zlarge ; zs_mle(:,:) = zlarge ; zu_mle(:,:) = zlarge 355 zb_mle(:,:) = zlarge 356 zv_ml(:,:) = zlarge ; zdt_bl(:,:) = zlarge ; zds_bl(:,:) = zlarge 357 zdu_bl(:,:) = zlarge ; zdv_bl(:,:) = zlarge ; zdb_bl(:,:) = zlarge 358 zdt_ml(:,:) = zlarge ; zds_ml(:,:) = zlarge ; zdu_ml(:,:) = zlarge ; zdv_ml(:,:) = zlarge 359 zdb_ml(:,:) = zlarge 360 ! 361 zdbdz_pyc(:,:,:) = zlarge 362 zdbdz_pyc(A2D(0),:) = 0.0_wp 363 ! 364 zdtdz_bl_ext(:,:) = zlarge ; zdsdz_bl_ext(:,:) = zlarge ; zdbdz_bl_ext(:,:) = zlarge 363 365 364 366 IF ( ln_osm_mle ) THEN ! only initialise arrays if needed 365 zdtdx(:,:) = 0._wp ; zdtdy(:,:) = 0._wp ; zdsdx(:,:) = 0._wp366 zdsdy(:,:) = 0._wp ; dbdx_mle(:,:) = 0._wp ; dbdy_mle(:,:) = 0._wp367 zwb_fk(:,:) = 0._wp ; zvel_mle(:,:) = 0._wp; zdiff_mle(:,:) = 0._wp368 zhmle(:,:) = 0._wp ; zmld(:,:) = 0._wp367 zdtdx(:,:) = zlarge ; zdtdy(:,:) = zlarge ; zdsdx(:,:) = zlarge 368 zdsdy(:,:) = zlarge ; dbdx_mle(:,:) = zlarge ; dbdy_mle(:,:) = zlarge 369 zwb_fk(:,:) = zlarge ; zvel_mle(:,:) = zlarge ; zdiff_mle(:,:) = zlarge 370 zhmle(:,:) = zlarge ; zmld(:,:) = zlarge 369 371 ENDIF 370 zwb_fk_b(:,:) = 0._wp ! must be initialised even with ln_osm_mle=F as used in zdf_osm_calculate_dhdt 371 372 zhbl_t(:,:) = 0._wp 373 374 zdiffut(:,:,:) = 0._wp ; zviscos(:,:,:) = 0._wp ; ghamt(:,:,:) = 0._wp 375 ghams(:,:,:) = 0._wp ; ghamu(:,:,:) = 0._wp ; ghamv(:,:,:) = 0._wp 372 zwb_fk_b(:,:) = zlarge ! must be initialised even with ln_osm_mle=F as used in zdf_osm_calculate_dhdt 373 374 zhbl_t(:,:) = zlarge 375 376 zdiffut(:,:,:) = zlarge ; zviscos(:,:,:) = zlarge 377 zdiffut(A2D(0),:) = 0.0_wp ; zviscos(A2D(0),:) = 0.0_wp 378 ghamt(:,:,:) = zlarge ; ghams(:,:,:) = zlarge 379 ghamt(A2D(0),:) = 0.0_wp ; ghams(A2D(0),:) = 0.0_wp 380 ghamu(:,:,:) = zlarge ; ghamv(:,:,:) = zlarge 381 ghamu(A2D(0),:) = 0.0_wp ; ghamv(A2D(0),:) = 0.0_wp 382 zdiff_mle(A2D(0)) = 0.0_wp 376 383 377 384 … … 1390 1397 END_2D 1391 1398 1392 zekman( :,:) = EXP( -1.0_wp * zek * ABS( ff_t(:,:) ) * zhbl(:,:) / MAX(zustar(:,:), 1.e-8 ) )1393 1394 zshear( :,:) = 0._wp1399 zekman(A2D(0)) = EXP( -1.0_wp * zek * ABS( ff_t(A2D(0)) ) * zhbl(A2D(0)) / MAX(zustar(A2D(0)), 1.e-8 ) ) 1400 1401 zshear(A2D(0)) = 0._wp 1395 1402 #ifdef key_osm_debug 1396 1403 IF(narea==nn_narea_db) THEN … … 1401 1408 END IF 1402 1409 #endif 1403 j_ddh( :,:) = 11410 j_ddh(A2D(0)) = 1 1404 1411 1405 1412 DO_2D( 0, 0, 0, 0 ) … … 1502 1509 END_2D 1503 1510 1504 zwb_min(:,:) = 0._wp1511 zwb_min(:,:) = zlarge 1505 1512 1506 1513 DO_2D( 0, 0, 0, 0 ) … … 1608 1615 1609 1616 IF( ln_timing ) CALL timing_start('zdf_osm_osf') 1610 znd_param( :,:) = 0._wp1617 znd_param(A2D(0)) = 0.0_wp 1611 1618 1612 1619 DO_2D( 0, 0, 0, 0 ) … … 2508 2515 ! 2509 2516 ! Averages over depth of boundary layer 2510 pt( :,:) = 0.0_wp2511 ps( :,:) = 0.0_wp2512 pu( :,:) = 0.0_wp2513 pv( :,:) = 0.0_wp2517 pt(A2D(0)) = 0.0_wp 2518 ps(A2D(0)) = 0.0_wp 2519 pu(A2D(0)) = 0.0_wp 2520 pv(A2D(0)) = 0.0_wp 2514 2521 zthick(:,:) = epsln 2515 2522 jkflt = jpk
Note: See TracChangeset
for help on using the changeset viewer.