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.
#2168 (Volume leak with ice cavities) – NEMO

Opened 5 years ago

Closed 4 years ago

#2168 closed Bug (fixed)

Volume leak with ice cavities

Reported by: jchanut Owned by: systeam
Priority: low Milestone:
Component: TRA Version: trunk
Severity: minor Keywords: conservation, ISF
Cc:

Description (last modified by nicolasmartin)

Context

Volume is not perfectly conserved with ice shelves cavities. This occurs if the top bbl thickness is greater than the first cell thickness (i.e. rn_hisf_tbl /= 0).

Analysis

MLF corrections on before scale factor are only partly implemented in dynnxt.F90

Fix

Add:

            IF ( ln_isf ) THEN   ! if ice shelf melting
               DO jk = 1, jpkm1 ! Deal with isf separetely, as can be through depth too
                  DO jj = 1, jpj
                     DO ji = 1, jpi
                        IF( misfkt(ji,jj) <=jk .and. jk < misfkb(ji,jj)  ) THEN
                           e3t_b(ji,jj,jk) = e3t_b(ji,jj,jk) - zcoef * ( fwfisf_b(ji,jj) - fwfisf(ji,jj) ) &
                                &          * ( e3t_n(ji,jj,jk) * r1_hisf_tbl(ji,jj) ) * tmask(ji,jj,jk)
                        ELSEIF ( jk==misfkb(ji,jj) ) THEN
                           e3t_b(ji,jj,jk) = e3t_b(ji,jj,jk) - zcoef * ( fwfisf_b(ji,jj) - fwfisf(ji,jj) ) &
                                &          * ( e3t_n(ji,jj,jk) * r1_hisf_tbl(ji,jj) ) * ralpha(ji,jj) * tmask(ji,jj,jk)
                        ENDIF
                     END DO
                  END DO
               END DO
            END IF

instead of

            IF ( ln_isf ) THEN   ! if ice shelf melting
               DO jk = 1, jpkm1 ! Deal with isf separetely, as can be through depth too
                  DO jj = 1, jpj
                     DO ji = 1, jpi
                        IF( misfkt(ji,jj) <=jk .and. jk <= misfkb(ji,jj)  ) THEN
                           e3t_b(ji,jj,jk) = e3t_b(ji,jj,jk) - zcoef * ( fwfisf_b(ji,jj) - fwfisf(ji,jj) ) &
                                &          * ( e3t_n(ji,jj,jk) * r1_hisf_tbl(ji,jj) ) * tmask(ji,jj,jk)
                        ENDIF
                     END DO
                  END DO
               END DO
            END IF

...

Commit History (1)

ChangesetAuthorTimeChangeLog
10349jchanut2018-11-21T14:59:27+01:00

Fixes volume conservation with isf, #2168

Change History (3)

comment:1 Changed 5 years ago by jchanut

In 10349:

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

comment:2 Changed 5 years ago by nicolasmartin

  • Description modified (diff)

comment:3 Changed 4 years ago by mathiot

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

I agree with Jerome fix. Has been implemented by Jerome in r10349.

Note: See TracTickets for help on using tickets.