[MITgcm-devel] upcoming changes in seaice_growth.F

Martin Losch Martin.Losch at awi.de
Sun Jun 19 05:26:36 EDT 2011


Gael
I wrote this email at the air port and sent it before reading your most recent reply, sorry, I'll rethink this tomorrow.

Martin

On Jun 17, 2011, at 3:56 PM, Martin Losch wrote:

> Gael, Ian,
> 
> I think that Gael has introduce a good way of dealing with negative ice thickness (d_HEFFbyNEG). When used as I suggested it makes the "area_floor" parameter unnecessary. Maybe Gael can comment on this solution. I am happy to implement it.
> 
> area_reg=1.e-5 makes little sense to me. It's predecessors A22/areaMin defaulted to 0.15. The purpose of this parameter is to "physically" regularize HEFF/AREA, not numerically. If you use a small number for this, you'll have HICE = HEFF*0(1e5) in the worst case and you will have very little heat flux through ice like that.
> 
> So I prefer this (in this order):
> 1. area_reg=0.15 and make area_floor unnecessary (and the CPP flag surrounding it)
> 2. area_reg=0.15 and area_floor a small number (like 1e-5), and still get rid of the CPP flag, area_floor=0. will do it.
> 
> BTW and not really related "SIeps" is also a "nice" new parameter (o: We already have SEAICE_EPS (used mostly in the dynamics part, but not exclusively). Let's try to keep the number of generic parameters (ie. without a specific name that implies it's use) low, otherwise things become more and more fusion.
> 
> Martin
> 
> On Jun 17, 2011, at 11:48 AM, Ian Fenty wrote:
> 
>> Gael,
>> 
>> 
>> On Jun 15, 2011, at 4:06 PM, Gael Forget wrote:
>> 
>>> Ian,
>>> 
>>> since you really want to have two different run time parameters, 
>>> let's go for it. Also the sqrt formula makes sense for the adjoint.
>>> 
>>> Before you check the code in cvs, accomodate me, and change two things though:
>>> (1) make the default for area_floor and area_reg be the same and equal to SIeps (10^-5).
>>> (2) make the 'FLOOR bloc' active by default. More explicitely, bracket it with 
>>> #ifndef DISABLE_AREA_FLOOR instead of #ifdef SEAICE_ENFORCE_FLOOR_ON_AREA
>> 
>> NP.
>> 
>>> 
>>> Your concern originally was to reduce the threshold to a small number. You convinced me from 
>>> the start that 0.15 was a priori way too large, which was likely affecting the solutions beyond 
>>> pathological cases. You then told me that you have tested 10^-5 and it turned out fine for 
>>> the adjoint, so I assume you will use 10^-5. No need to hard-code it again btw (SIeps=10^-5).
>> 
>> I found your new variable SIeps, and 10^-5 does work fine so we'll use it.
>> 
>>> 
>>> I want to have the 'FLOOR bloc' active by default (defined and with a 10^-5 threshold)
>>> because I think it makes no physical sense to allow HEFF>0 and AREA=0
>>> which is bound to happen occasionally with certain advection schemes. I think
>>> that the model should take care of such pathological cases by default. The average 
>>> user should not have to edit both SEAICE_OPTIONS.h and data.seaice to do this.
>>> You are a very advanced user obviously; you know those epsilons exist for a start.
>>> You will have to tell me one day why you really want area_floor=0 in your runs, but 
>>> I hope you will at least agree that area_floor=10^-5 is basically harmless.
>> 
>> One day over beer I'll tell you why I really want area_floor = 0.  Although see Martin's email in which he suggests that we should simply kill HEFF in pathological cases where AREA comes back <= 0 from dynamics (like we do to AREA when HEFF comes back <= 0).  If we did that then there is no need to include the "FLOOR bloc" for sanity checking.
>> 
>> Until then, 10^-5 it is!
>> 
>> -Ian
>> 
>> 
>>> 
>>> Thanks in advance for checking this in cvs.
>>> 
>>> Cheers,
>>> Gael
>> 
> 
> 
> _______________________________________________
> MITgcm-devel mailing list
> MITgcm-devel at mitgcm.org
> http://mitgcm.org/mailman/listinfo/mitgcm-devel




More information about the MITgcm-devel mailing list