Opened 6 years ago

Closed 3 years ago

#1303 closed Defect (fixed)

Sea ice (melting/freezing) water flux for biogeochemical tracers in trcsbc.F90

Reported by: vichi Owned by: cetlod
Priority: normal Milestone:
Component: OCE Version: release-3.6
Severity: Keywords:
Cc: cetlod


There is a hidden change in the treatment of sea ice melting/freezing for biogeochemical tracers.
Up to version 3.4 it was assumed that tracers were affected by sea ice melting and freezing by means of the virtual flux emps. Variable emps has been removed in NEMO >3.5 and there is a computed salt flux and the storage of a water mass flux due to freezing/melting fmmflx.
By the way, the manual has not been updated and Eq. 7.4 still reports empS!

Current trcsbc.F90 in NEMO3.6 assumes that the concentration of tracers in sea ice interface is equal to the ocean
Thus in trcsbc.F90 : flux = emp * (trn-trn_emp) + fmmflx * (trn-trn_seaice)
with trn_emp = 0 and trn_seaice = trn
However, it is also valid to assume that there's a tracer flux between ocean and sea ice as it occurs for salinity, and this should be solved with the upcoming sea ice biogeochemistry models. In the meantime, we should allow to prescribe that all nutrients and mass is released by sea ice, thus assuming a concentration 0 in sea ice.
It is suggested to allow the use of both formulations by including a namelist parameter in namtrc_bc that works in trcsbc.F90

      ! Coupling online : river runoff is added to the horizontal divergence (hdivn) in the subroutine sbc_rnf_div
      ! one only consider the concentration/dilution effect due to evaporation minus precipitation
      ! Coupling offline : runoff are in emp which contains E-P-R
      ! The freshwater flux due to freezing/melting of sea-ice is separated and can be included with the logical
      ! flag found in namtrc_bc.
      IF( .NOT. lk_offline .AND. lk_vvl ) THEN  ! online coupling with vvl
         zsfx(:,:) = 0._wp
      ELSE                                      ! online coupling free surface or offline with free surface
         IF( ln_fmflx ) THEN
            zsfx(:,:) = emp(:,:) + ffmflx(:,:)  ! this assumes that conc. in sea ice is 0
            zsfx(:,:) = emp(:,:)                ! this assumes that conc. in sea ice is equal to sea water

In the case of the off-line model, it is thus required to include ffmflx data in dtadyn (already allowed).
Important note: when ocean data generated with nemo <3.5 are used to force an off-line model, these two methods are controlled by the input data sowaflup or sowaflcd, and this new flag must be set to false.

Commit History (0)

(No commits)

Change History (2)

comment:1 Changed 3 years ago by clevy

  • Owner changed from nemo to cetlod

comment:2 Changed 3 years ago by lovato

  • Resolution set to fixed
  • Status changed from new to closed

Handling of seaice tracers is explicitly done since v3.6_stable using the logical key nn_ice_tr in namelist_top.

A wrapper subroutine is in TOP_SRC to treat the seaice-ocean fluxes of tracers, namely TOP_SRC/trcice.F90,
that call those specific for each available submodule.

Note: See TracTickets for help on using tickets.