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.
#2733 (Bug in trcsbc.F90) – NEMO

Opened 3 years ago

Closed 2 years ago

#2733 closed Defect (fixed)

Bug in trcsbc.F90

Reported by: cetlod Owned by: systeam
Priority: low Milestone:
Component: TOP Version: v4.0.*
Severity: minor Keywords:
Cc:

Description (last modified by cetlod)

Context

The passive tracer surface boundary condition trend of flux through the interface ( concentration/dilution effect plus freezing/melting of sea-ice ) is not properly computed

Analysis

  • In non linear free-surface, the emp budget does not affect the passive tracer at surface (through the concentration dilution effect) since the change in passive tracer will be induced by volume change.

The only change to be consider is the flux of freezing/melting coming from the possibly presence of the passive tracer in sea-ice : fmmflx * trc_i ( trc_i is the concentration of the tracer in sea-ice )

  • In linear free surface case (ln_linssh=T), the volume of the ocean does not change with the water exchanges at the (air+ice)-sea interface. Therefore another term has to be added, to mimic the concentration/dilution effect associated with water exchanges : emp * trn

Note that in case of passive tracers run offline, the water flux variable to be consider must include the freezing/melting terms to be consistent with the coupling online where emp contains fmmflx

Recommendation

In each case of presence of tracer in sea-ice ( trc_i= 0 ; trc_i = trn ; trc_i =/ trn ), the flux associated to surface boundary condition must be computed as follow

      CASE ( 0 )  ! Same concentration in sea ice and in the ocean ( trc_i = trn )
         !
         DO jn = 1, jptra
            DO jj = 2, jpj
               DO ji = fs_2, fs_jpim1   ! vector opt.
                  sbc_trc(ji,jj,jn) = - fmmflx(ji,jj) * r1_rau0 * trn(ji,jj,1,jn)
               END DO
            END DO
         END DO
         !
         IF( ln_linssh ) THEN  !* linear free surface  
            DO jn = 1, jptra
               DO jj = 2, jpj
                  DO ji = fs_2, fs_jpim1   ! vector opt.
                     sbc_trc(ji,jj,jn) = sbc_trc(ji,jj,jn) + r1_rau0 * emp(ji,jj) * trn(ji,jj,1,jn) !==>> add concentration/dilution effect due to constant volume cell
                  END DO
               END DO
            END DO
         ENDIF

Commit History (2)

ChangesetAuthorTimeChangeLog
15394cetlod2021-10-18T12:55:29+02:00

trunk : bugfix in passive tracer surface boundary condition trend of flux, see ticket #2733

15393cetlod2021-10-18T12:51:51+02:00

r4.0-HEAD : bugfix in passive tracer surface boundary condition trend of flux, see ticket #2733

Change History (4)

comment:1 Changed 3 years ago by cetlod

  • Description modified (diff)

comment:2 Changed 2 years ago by cetlod

In 15393:

Error: Failed to load processor CommitTicketReference
No macro or processor named 'CommitTicketReference' found

comment:3 Changed 2 years ago by cetlod

In 15394:

Error: Failed to load processor CommitTicketReference
No macro or processor named 'CommitTicketReference' found

comment:4 Changed 2 years ago by cetlod

  • Resolution set to fixed
  • Status changed from new to closed
Note: See TracTickets for help on using tickets.