[MITgcm-devel] seaice: variable TICE?

Jean-Michel Campin jmc at ocean.mit.edu
Tue Apr 29 11:41:16 EDT 2014


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



More information about the MITgcm-devel mailing list