[MITgcm-devel] seaice: variable TICE?
Martin Losch
Martin.Losch at awi.de
Wed Apr 30 08:35:44 EDT 2014
Hi Jean-Michel,
I wanted to convince myself, that these differences are due to round off, but I don’t seem be to get around to doing it.
Please double check with Patrick, but I think he is also of the opinion, that the gradients are not worse that before, just a little different. We couldn’t find any obvious problem with the adjoing so far, so that we can use the current code as reference.
Martin
On Apr 29, 2014, at 5:41 PM, Jean-Michel Campin <jmc at ocean.mit.edu> wrote:
> Hi Martin,
>
> May be it's time to update the few seaice related AD experiment output
> that no longer pass (but likely due to truncation differences).
> I am going to re-run testreport -adm on baudelaire, and
> if it's OK with you, will update these output_adm files.
>
> Cheers,
> Jean-Michel
>
> On Tue, Apr 29, 2014 at 04:26:34PM +0200, Martin Losch wrote:
>> Hi Jean-Michel,
>>
>> I checked in my tag-index additions although the pickup problem with ITD is not solved. It problaby has to do with the new 2D-variable “opnWtrFrac” which needs to be included in the pickup, but so far I have been unsuccessful in getting it right. This has nothing to do with TICE, so I think we can close this thread after you fixed the pickups for the default non-ITD code.
>>
>> Martin
>>
>> On Apr 28, 2014, at 5:29 PM, Martin Losch <Martin.Losch at awi.de> wrote:
>>
>>> Hi Jean-Michel,
>>>
>>> I checked in my changes. Did not yet check in an updated tag-index, because I wanted to wait for your comments.
>>>
>>> I think the critical routines are
>>> 1. seaice_write_pickup.F: Here I just replaced TICE by TICES and hope that writing with kNz = 1 will do what I want
>>> 2. seaice_read_pickup.F: I inserted copying TICE to TICES whenever it is read from either “SItice “ or “SIticies “. I am not sure, if this is how you intended this part of the code.
>>> 3. seaice_check_pickup.F: removed copying TICE to TICES, because it is done in seaice_read_pickup. Alternative: pass TICE as a local array.
>>>
>>> I hope that I didn’t screw up.
>>>
>>> Martin
>>>
>>> On Apr 26, 2014, at 10:40 PM, Jean-Michel Campin <jmc at ocean.mit.edu> wrote:
>>>
>>>> Hi Martin,
>>>> This sounds good.
>>>> Cheers,
>>>> Jean-Michel
>>>>
>>>> On Sat, Apr 26, 2014 at 09:12:13PM +0200, Martin Losch wrote:
>>>>> Hi Jean-Michel,
>>>>>
>>>>> the pickup is indeed the only place, where we need to do something. I would keep a local TICE and read 'SItice ' into it, where it is required, end then copy to Tices for each category up to MULTDIM.
>>>>> If you dont mind I can check in something and you can critize/comment afterwards?
>>>>>
>>>>> Martin
>>>>>
>>>>>> On 26.04.2014, at 16:35, Jean-Michel Campin <jmc at ocean.mit.edu> wrote:
>>>>>>
>>>>>> Hi Martin,
>>>>>>
>>>>>> I think you are right, TICE could be replaced by local var where it's needed.
>>>>>> This was left from the imcomplete cleaning when SEAICE_MULTICATEGORY was
>>>>>> removed from SEAICE.h (2012/03/05).
>>>>>>
>>>>>> I am not sure how the reading of pickup_seaice works when a user decide
>>>>>> to change MULTDIM and try to restart from a pickup written with a different
>>>>>> MULTDIM.
>>>>>>
>>>>>> Cheers,
>>>>>> Jean-Michel
>>>>>>
>>>>>> PS: to get the full list of fortran code lines containing "TICE", I do
>>>>>>> egrep -i '^ .*\<tice\>' *.F
>>>>>>
>>>>>>> On Fri, Apr 25, 2014 at 02:10:50PM +0200, Martin Losch wrote:
>>>>>>> Hi there,
>>>>>>>
>>>>>>> can anyone think of a reason (or show me code) that makes the global variable “TICE” in pkg/seaice necessary? Grepping TICE gives:
>>>>>>>>> grep -in ‘TICE(‘ pkg/seaice/*.F
>>>>>>> cost_ice_test.F:183: & (TICE(i,j,bi,bj) - 273.15 _d 0 + 1.96 _d 0 ) *
>>>>>>> seaice_check_pickup.F:115: TICES(i,j,k,bi,bj) = TICE(i,j,bi,bj)
>>>>>>> seaice_diagnostics_state.F:72: TICE(I,J,bi,bj) = 0. _d 0
>>>>>>> seaice_diagnostics_state.F:80: TICE(I,J,bi,bj) = TICE(I,J,bi,bj)
>>>>>>> seaice_growth.F:739:CADJ STORE tice(:,:,bi,bj)
>>>>>>> seaice_growth.F:759: TICE(I,J,bi,bj) = ZERO
>>>>>>> seaice_growth.F:779: TICE(I,J,bi,bj) = ZERO
>>>>>>> seaice_growth.F:842: TICE(I,J,bi,bj) = TICE(I,J,bi,bj)
>>>>>>> seaice_growth.F:845: TICE(I,J,bi,bj) = TICE(I,J,bi,bj)
>>>>>>> seaice_growth.F:1358:c IF (TICE(I,J,bi,bj) .LT. TMIX) THEN
>>>>>>> seaice_init_varia.F:143: TICE(i,j,bi,bj) = 0. _d 0
>>>>>>> seaice_init_varia.F:231: TICE(i,j,bi,bj)=273.0 _d 0
>>>>>>> seaice_read_pickup.F:199: TICES(i,j,k,bi,bj) = TICE(i,j,bi,bj)
>>>>>>> seaice_reg_ridge.F:222: TICE(I,J,bi,bj)=celsius2K
>>>>>>> seaice_reg_ridge.F:343: TICE(I,J,bi,bj)=tmpscal1itd(i,j)/tmpscal2itd(i,j)
>>>>>>> seaice_reg_ridge.F:345: TICE(I,J,bi,bj)=celsius2K
>>>>>>>
>>>>>>> as far as I can see, TICE is not used or can be replaced by TICES(i,j,1,bi,bj) or local variables.
>>>>>>> If you agree with me, I will remove the global variable, because it may be tricking TAF (and it is not necessary). In fact, removing TICE fixes the NaN problem discussed here: <http://mitgcm.org/pipermail/mitgcm-devel/2014-April/006062.html>
>>>>>>>
>>>>>>> Martin
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> MITgcm-devel mailing list
>>>>>>> MITgcm-devel at mitgcm.org
>>>>>>> http://mitgcm.org/mailman/listinfo/mitgcm-devel
>>>>>>
>>>>>> _______________________________________________
>>>>>> MITgcm-devel mailing list
>>>>>> MITgcm-devel at mitgcm.org
>>>>>> http://mitgcm.org/mailman/listinfo/mitgcm-devel
>>>>>
>>>>> _______________________________________________
>>>>> MITgcm-devel mailing list
>>>>> MITgcm-devel at mitgcm.org
>>>>> http://mitgcm.org/mailman/listinfo/mitgcm-devel
>>>>
>>>> _______________________________________________
>>>> MITgcm-devel mailing list
>>>> MITgcm-devel at mitgcm.org
>>>> http://mitgcm.org/mailman/listinfo/mitgcm-devel
>>>
>>>
>>> _______________________________________________
>>> MITgcm-devel mailing list
>>> MITgcm-devel at mitgcm.org
>>> http://mitgcm.org/mailman/listinfo/mitgcm-devel
>>
>>
>> _______________________________________________
>> MITgcm-devel mailing list
>> MITgcm-devel at mitgcm.org
>> http://mitgcm.org/mailman/listinfo/mitgcm-devel
>
> _______________________________________________
> MITgcm-devel mailing list
> MITgcm-devel at mitgcm.org
> http://mitgcm.org/mailman/listinfo/mitgcm-devel
More information about the MITgcm-devel
mailing list