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.
#2256 (Unphysical values of ice age in SI3.) – NEMO

Opened 5 years ago

Closed 5 years ago

Last modified 2 years ago

#2256 closed Defect (fixed)

Unphysical values of ice age in SI3.

Reported by: skeeley Owned by: clem
Priority: low Milestone:
Component: SI3 Version: v4.0
Severity: minor Keywords: age ice v4.0
Cc:

Description

Context

Ice age field in SI3 is producing NaN after some time.

Analysis

We suspect this may be similar to the problem seen in LIM3 in ticket #1508. Before the change the limthd.F90 had

      oa_i(:,:,:) = oa_i(:,:,:) + a_i(:,:,:) * rdt_ice /rday

which has changed to:

      DO jl  = 1, jpl
         DO jj = 1, jpj
            DO ji = 1, jpi
               rswitch = MAX( 0._wp , SIGN( 1._wp, a_i_b(ji,jj,jl) - epsi10 ) )
               oa_i(ji,jj,jl) = rswitch * oa_i(ji,jj,jl) * a_i(ji,jj,jl) / MAX( a_i_b(ji,jj,jl), epsi10 )
            END DO
         END DO
      END DO

but as far as we can see this change (and other changes in rev 5202) never made it to SI3.

Recommendation

Do the changes from LIM3 need to be propagated in SI3 or are we missing something?

Commit History (2)

ChangesetAuthorTimeChangeLog
10786clem2019-03-20T19:59:24+01:00

fix tickets #2256 and #2257

10785clem2019-03-20T19:58:40+01:00

fix tickets #2256 and #2257

Attachments (4)

icewri.F90 (17.3 KB) - added by clem 5 years ago.
icethd.F90 (33.9 KB) - added by clem 5 years ago.
icedyn_adv_umx.F90 (69.1 KB) - added by clem 5 years ago.
ice1d.F90 (14.8 KB) - added by clem 5 years ago.

Download all attachments as: .zip

Change History (12)

comment:1 Changed 5 years ago by clem

Ice age is a bit tricky.
I had to change a couple of routines to make it work (I think). The main issue comes from the advection scheme Ultimate-Macho which produces abnormal values that propagate into the domain. This is due to the definition of the ice age that we chose. It is surface based: o_i * a_i and not volume based: o_i * v_i. It seems that the other advection scheme available in the code (Prather) is not impacted and works fine.
So, I cheated a bit but with the new routines (attached) you should be able to have an OK ice age (at least compared to what Prather is doing).

Note: ice age is just a diagnostic that has no impact on the simulations, so I removed its calculation if the output is not requested.

Changed 5 years ago by clem

Changed 5 years ago by clem

Changed 5 years ago by clem

Changed 5 years ago by clem

comment:2 Changed 5 years ago by skeeley

Thanks Clem.
Will get testing the code on Monday and will keep you posted.

comment:3 Changed 5 years ago by skeeley

Seems to be working - now getting physical values for ice age after 10 months of a run.
If we switch ice age off in the io we are still writing a physical (but I guess meaningless) value of ice age into the restart.
Thanks for all your help with this!

comment:4 Changed 5 years ago by clevy

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

comment:5 Changed 5 years ago by clem

In 10785:

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

comment:6 Changed 5 years ago by clem

In 10786:

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

comment:7 Changed 5 years ago by clem

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

comment:8 Changed 2 years ago by nemo

  • Keywords v4.0 added
Note: See TracTickets for help on using tickets.