[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