Opened 3 years ago

Closed 3 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: release-4.0
Severity: minor Keywords: ice, age



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


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.


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

Commit History (2)


fix tickets #2256 and #2257


fix tickets #2256 and #2257

Attachments (4)

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

Download all attachments as: .zip

Change History (11)

comment:1 Changed 3 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 3 years ago by clem

Changed 3 years ago by clem

Changed 3 years ago by clem

Changed 3 years ago by clem

comment:2 Changed 3 years ago by skeeley

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

comment:3 Changed 3 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 3 years ago by clevy

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

comment:5 Changed 3 years ago by clem

In 10785:

fix tickets #2256 and #2257

comment:6 Changed 3 years ago by clem

In 10786:

fix tickets #2256 and #2257

comment:7 Changed 3 years ago by clem

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