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 15548 for NEMO/branches/2021/ticket2632_r14588_theta_sbcblk/src/OCE/SBC/sbcmod.F90 – NEMO

Ignore:
Timestamp:
2021-11-28T18:59:49+01:00 (3 years ago)
Author:
gsamson
Message:

update branch to the head of the trunk (r15547); ticket #2632

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  
        99 
        1010# SETTE 
        11 ^/utils/CI/sette@14244        sette 
         11^/utils/CI/sette@HEAD        sette 
         12 
  • NEMO/branches/2021/ticket2632_r14588_theta_sbcblk/src/OCE/SBC/sbcmod.F90

    r14229 r15548  
    380380      REAL(wp) ::     zthscl        ! wd  tanh scale 
    381381      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 
    382383 
    383384      !!--------------------------------------------------------------------- 
     
    465466      CALL lbc_lnk( 'sbcmod', taum(:,:), 'T', 1. ) 
    466467      ! 
     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      ! 
    467472      !                                            !==  Misc. Options  ==! 
    468473      ! 
     
    475480      END SELECT 
    476481 
    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 ) 
    484491      ENDIF 
    485492 
     
    565572      !                                                ! ---------------------------------------- ! 
    566573      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 
    569586         CALL iom_put( "saltflx", sfx         )                ! downward salt flux (includes virtual salt flux beneath ice in linear free surface case) 
    570587         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 
    572594         CALL iom_put( "qns"    , qns         )                ! solar heat flux 
    573          CALL iom_put( "qsr"    ,       qsr   )                ! solar heat flux 
     595         CALL iom_put( "qsr"    , qsr         )                ! solar heat flux 
    574596         IF( nn_ice > 0 .OR. ll_opa )   CALL iom_put( "ice_cover", fr_i )   ! ice fraction 
    575597         CALL iom_put( "taum"   , taum        )                ! wind stress module 
Note: See TracChangeset for help on using the changeset viewer.