[MITgcm-devel] seaice: variable TICE?

Martin Losch Martin.Losch at awi.de
Mon Apr 28 11:29:05 EDT 2014


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




More information about the MITgcm-devel mailing list