- Timestamp:
- 2021-11-28T18:59:49+01:00 (3 years ago)
- Location:
- NEMO/branches/2021/ticket2632_r14588_theta_sbcblk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2021/ticket2632_r14588_theta_sbcblk
- Property svn:externals
-
old new 9 9 10 10 # SETTE 11 ^/utils/CI/sette@14244 sette 11 ^/utils/CI/sette@HEAD sette 12
-
- Property svn:externals
-
NEMO/branches/2021/ticket2632_r14588_theta_sbcblk/src/OCE/SBC/sbcmod.F90
r14229 r15548 380 380 REAL(wp) :: zthscl ! wd tanh scale 381 381 REAL(wp), DIMENSION(jpi,jpj) :: zwdht, zwght ! wd dep over wd limit, wgt 382 REAL(wp), DIMENSION(jpi,jpj) :: z2d ! temporary array used for iom_put 382 383 383 384 !!--------------------------------------------------------------------- … … 465 466 CALL lbc_lnk( 'sbcmod', taum(:,:), 'T', 1. ) 466 467 ! 468 IF( ln_icebergs ) THEN ! save pure stresses (with no ice-ocean stress) for use by icebergs 469 utau_icb(:,:) = utau(:,:) ; vtau_icb(:,:) = vtau(:,:) 470 ENDIF 471 ! 467 472 ! !== Misc. Options ==! 468 473 ! … … 475 480 END SELECT 476 481 477 IF( ln_icebergs ) THEN 478 CALL icb_stp( kt, Kmm ) ! compute icebergs 479 ! Icebergs do not melt over the haloes. 480 ! So emp values over the haloes are no more consistent with the inner domain values. 481 ! A lbc_lnk is therefore needed to ensure reproducibility and restartability. 482 ! see ticket #2113 for discussion about this lbc_lnk. 483 IF( .NOT. ln_passive_mode ) CALL lbc_lnk( 'sbcmod', emp, 'T', 1.0_wp ) ! ensure restartability with icebergs 482 IF( ln_icebergs ) CALL icb_stp( kt, Kmm ) ! compute icebergs 483 484 ! Icebergs do not melt over the haloes. 485 ! So emp values over the haloes are no more consistent with the inner domain values. 486 ! A lbc_lnk is therefore needed to ensure reproducibility and restartability. 487 ! see ticket #2113 for discussion about this lbc_lnk. 488 ! The lbc_lnk is also needed for SI3 with nn_hls > 1 as emp is not yet defined for these points in iceupdate.F90 489 IF( (ln_icebergs .AND. .NOT. ln_passive_mode) .OR. (nn_ice == 2 .AND. nn_hls == 2) ) THEN 490 CALL lbc_lnk( 'sbcmod', emp, 'T', 1.0_wp ) 484 491 ENDIF 485 492 … … 565 572 ! ! ---------------------------------------- ! 566 573 IF( MOD( kt-1, nn_fsbc ) == 0 ) THEN 567 CALL iom_put( "empmr" , emp - rnf ) ! upward water flux 568 CALL iom_put( "empbmr" , emp_b - rnf ) ! before upward water flux ( needed to recalculate the time evolution of ssh in offline ) 574 IF( iom_use("empmr") ) THEN 575 DO_2D( 0, 0, 0, 0 ) 576 z2d(ji,jj) = emp(ji,jj) - rnf(ji,jj) 577 END_2D 578 CALL iom_put( "empmr" , z2d ) ! upward water flux 579 ENDIF 580 IF( iom_use("empbmr") ) THEN 581 DO_2D( 0, 0, 0, 0 ) 582 z2d(ji,jj) = emp_b(ji,jj) - rnf(ji,jj) 583 END_2D 584 CALL iom_put( "empbmr" , z2d ) ! before upward water flux ( needed to recalculate the time evolution of ssh in offline ) 585 ENDIF 569 586 CALL iom_put( "saltflx", sfx ) ! downward salt flux (includes virtual salt flux beneath ice in linear free surface case) 570 587 CALL iom_put( "fmmflx" , fmmflx ) ! Freezing-melting water flux 571 CALL iom_put( "qt" , qns + qsr ) ! total heat flux 588 IF( iom_use("qt") ) THEN 589 DO_2D( 0, 0, 0, 0 ) 590 z2d(ji,jj) = qns(ji,jj) + qsr(ji,jj) 591 END_2D 592 CALL iom_put( "qt" , z2d ) ! total heat flux 593 ENDIF 572 594 CALL iom_put( "qns" , qns ) ! solar heat flux 573 CALL iom_put( "qsr" , qsr) ! solar heat flux595 CALL iom_put( "qsr" , qsr ) ! solar heat flux 574 596 IF( nn_ice > 0 .OR. ll_opa ) CALL iom_put( "ice_cover", fr_i ) ! ice fraction 575 597 CALL iom_put( "taum" , taum ) ! wind stress module
Note: See TracChangeset
for help on using the changeset viewer.