[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