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 9940 for NEMO/trunk/src/OCE/SBC – NEMO

Ignore:
Timestamp:
2018-07-13T12:18:14+02:00 (6 years ago)
Author:
acc
Message:

Changes to restore restartability and reproducibility with ORCA2_ICE_PISCES SETTE tests with active icebergs. Changes to icbthm.F90 are purely cosmetic or improvements to code efficiency. The key change is the reintroduction of an lbc_lnk for emp in sbcmod after icb_stp. Icebergs that advect into haloes during icb_stp can melt and alter emp (if ln_passive_mode is .false.). These changes are lost across restarts without the halo exchange. This solution is not ideal but no alterantive is apparent with the current icb algorithm. This change restores both restartability and reproducibility with a 990 timestep (495 timestep restart) set of tests. See #2113 for details

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/trunk/src/OCE/SBC/sbcmod.F90

    r9656 r9940  
    4646   USE sbcfwb         ! surface boundary condition: freshwater budget 
    4747   USE icbstp         ! Icebergs 
     48   USE icb_oce  , ONLY : ln_passive_mode      ! iceberg interaction mode 
    4849   USE traqsr         ! active tracers: light penetration 
    4950   USE sbcwave        ! Wave module 
     
    432433      END SELECT 
    433434 
    434       IF( ln_icebergs    )   CALL icb_stp( kt )                   ! compute icebergs 
     435      IF( ln_icebergs    )   THEN 
     436                                     CALL icb_stp( kt )           ! compute icebergs 
     437         ! icebergs may advect into haloes during the icb step and alter emp. 
     438         ! A lbc_lnk is necessary here to ensure restartability (#2113) 
     439         IF( .NOT. ln_passive_mode ) CALL lbc_lnk( emp, 'T', 1. ) ! ensure restartability with icebergs 
     440      ENDIF 
    435441 
    436442      IF( ln_isf         )   CALL sbc_isf( kt )                   ! compute iceshelves 
Note: See TracChangeset for help on using the changeset viewer.