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.
#2317 (Wrong asselin correction due to runoffs for vertical scale factors - non linear free surface case) – NEMO

Opened 5 years ago

Closed 4 years ago

#2317 closed Bug (fixed)

Wrong asselin correction due to runoffs for vertical scale factors - non linear free surface case

Reported by: jchanut Owned by: jchanut
Priority: low Milestone: 2020 WP
Component: DOM Version:
Severity: minor Keywords:
Cc:

Description

Context

In the modified Robert-Asselin (RA) scheme designed by Leclair and Madec (2009), the effect of the RA filter on the forcing has to be removed from tracers, elevation and thicknesses.

Analysis

For thicknesses, a specific correction is applied on the top layer only (and additionally over a given runoff depth if activated) in tra_nxt_vvl routine (and in dyn_nxt). It reads:

e3t_b(:,:,1) = e3t_b(:,:,1) - atfp * 2. *rdt / rau0 *  (emp_b(:,:)-emp(:,:))

After discussion with Fred Dupont, doing this precludes from maintaining e3t proportional to e3t_0 in the vertical, as one would expect in the z* context. It can lead to weird variations of the top layer.

Recommendation

I rather suggest to spread the correction over all vertical levels weighted by e3t/ht which should restore the expected z* behavior. This, a priori, does not change the conservation properties.

Commit History (3)

ChangesetAuthorTimeChangeLog
12372acc2020-02-12T13:37:21+01:00

Branch 2019/dev_r11943_MERGE_2019. A few changes to align the option 1 branch with the trunk@12371. These include a fix for #2317 (changes for LFRA freshwater correction) which was done at changeset 12279 on the trunk. These affect dynatf.F90, traatf.F90 and isfdynatf.F90 and pass SETTE but change results in all tests that use freshwater input (expected). All other changes on the trunk are present (where applicable) up to and including changeset 12367 (Solve #2380)

12366jchanut2020-02-11T12:17:24+01:00

#2317, revert to the correct sign for asselin term on e3t and runoffs

12279jchanut2019-12-20T14:36:15+01:00

#2317, changes for LFRA freshwater correction

Change History (12)

comment:1 Changed 5 years ago by dupontf

  • Version trunk deleted

Thanks Jérôme for summarizing the problem! Note that, for dynspg_ts and z*, another possible solution is to skip entirely the Asselin filter step.

comment:2 Changed 5 years ago by dupontf

Jerome alludes to those as well. However, for completeness, the lines 232 of dynnxt in the trunk

IF( jk <=  nk_rnf(ji,jj)  ) THEN

and 240

e3t_b(:,:,1) = e3t_b(:,:,1) - zcoef *  ( -rnf_b(:,:) + rnf(:,:))*tmask(:,:,1)

also break the logic for z*. However, you may need those ones, and the one explicitly referred by Jerome above, for z~.

comment:3 Changed 4 years ago by dupontf

OK, I got the point about tranxt, thanks to Francois here at CMC. Tranxt filters the vertical scale factors as well. So same logic there.

comment:4 Changed 4 years ago by smasson

  • Type changed from Defect to Bug

comment:5 Changed 4 years ago by smasson

  • Owner changed from systeam to jchanut
  • Status changed from new to assigned

comment:6 Changed 4 years ago by smasson

  • Milestone set to 2020 WP

comment:7 Changed 4 years ago by jchanut

In 12279:

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

comment:8 Changed 4 years ago by jchanut

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

comment:9 Changed 4 years ago by jchanut

  • Resolution fixed deleted
  • Status changed from closed to reopened

comment:10 Changed 4 years ago by jchanut

In 12366:

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

comment:11 Changed 4 years ago by acc

In 12372:

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

comment:12 Changed 4 years ago by jchanut

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