[MITgcm-devel] Re: downslope pkg

Martin Losch Martin.Losch at awi.de
Tue Sep 9 10:23:06 EDT 2008


Jean-Michel,

can I just move the parameter SHELFICEfile from PARAMS.h to  
SHELFICE.h (and maybe rename it to SHELFICEtopoFile)? or would you  
like me to retire SHELFICEfile properly and introduce a new  
parameter? I don't think that this is necessary, since only Michael  
(and I) is using this feature at the moment, and we don't want to  
make things too simple for Michael, do we?

Martin

On 9 Sep 2008, at 14:57, Martin Losch wrote:

> Hi Jean-Michel,
>
> I agree with everything you said. I have nothing to say in my  
> defense, except that I THOUGHT that packages_readparms was called  
> after ini_depths etc. I was probably not attending class when this  
> change was done, me culpa. However, packages_init_fixed is still  
> done after ini_masks_etc, so that's probably the reason why I put  
> the depth file into PARAMS.h/ini_depths.F to avoid having two  
> shelfice_ini_* files. But as you say, we can:
>
> 1. replace the code in ini_masks_etc by a subroutine  
> shelfice_ini_depth_etc (or so) which
>     a. reads the topography file ( code from ini_depths.F )
>     b. modifies hFacC (code from ini_masks_etc.F)
> I don't think that that's pretty, but the present version isn't,  
> either.
> 2. move shelficeFile from PARAMS.h to SHELFICE.h and data.shelfice
> 3. think about replacing kTopC with kSurfC, but as far as I  
> remember, it is a little tricky as kTopC=0 (dry column) corresponds  
> to kSurfC=Nr+1 and there is code such as
>           K         = MAX(1,kTopC(I,J,bi,bj))
> but otherwise these fields are identical.
>
> I can do this (item 3 was on my internal list anyway, but way down  
> the list), but what would be good name for such as subroutine?
> shelfice_ini_depths.F
> shelfice_ini_hFacC.F
> ???
>
> Martin
> On 9 Sep 2008, at 00:12, Jean-Michel Campin wrote:
>
>> Hi Martin,
>>
>> I added something similar to what you proposed, testing for kSurfC
>> which does not seem so different from kTopC, apart where the column
>> is empty, but is available in standard GRID.h header file.
>>
>> I looked briefly to the interface between shelfice pkg and the
>> main code, and think that with 1 more shelfice S/R call
>> from the middle of ini_mask_etc.F (where hFacC is modified by
>> R_shelice), we could remove the pieces of code in ini_depth.F and in
>> ini_mask_etc.F and put them in this new S/R (just need to break
>> the bi,bj loops in 2 blocks, in ini_mask_etc.F);
>>
>> Also, why is shelfIceFile in PARAMS.h and appears in parameter  
>> file "data" ?
>> A more logical place would be in SHELFICE.h and data.shelfice.
>> At the time when shelfice pkg was checked-in, we already have (Oct  
>> 2004)
>> moved packages_readparms call before ini_depth call in  
>> initialise_fixed.F
>>
>> Cheers,
>> Jean-Michel
>>
>> On Fri, Sep 05, 2008 at 10:41:16PM +0200, Martin Losch wrote:
>>> Hi Jean-Michel,
>>> the masking is absolutely necessary for the shelfice package in the
>>> current implementation (who gave this package this stoopid name,  
>>> some
>>> German idiot!), because otherwise the model integrates some  
>>> ridiculous
>>> density (for Theta=Salt=0, or even worse from some other  
>>> arbitrary Theta
>>> and Salt) from the top for phiHyd. When useShelfice=.true. you are
>>> supposed to provide a reference pressure at the bottom of the ice  
>>> shelf
>>> and integrating phiHyd from the very top (k=1) is not necessary.  
>>> JMD95P
>>> and MDJFW should work with shelfice, too, for this reason.  I  
>>> don't know
>>> about the downSlope package. That one was not around, when I  
>>> implemented
>>> shelfice.
>>> Without the masking, one would have to use if statements in the  
>>> ij-loops
>>> for the phiHyd intergration to determine, where the real  
>>> intergration of
>>> phiHyd is supposed to start; not good. Alternatively, one could  
>>> only mask
>>> alphaRho in the ice shelf, like this:
>>>         IF ( useShelfIce ) THEN
>>>          DO j=jMin,jMax
>>>           DO i=iMin,iMax
>>>            IF ( kTopC(I,J,bi,bj) .GE. k ) alphaRho(i,j) = alphaRho
>>> (i,j)*maskC(i,j,k,bi,bj)
>>>           ENDDO
>>>          ENDDO
>>>         ENDIF
>>> Do you have a better idea?
>>>
>>> Martin
>>>
>>> On 5 Sep 2008, at 18:31, Jean-Michel Campin wrote:
>>>
>>>> Hi Michael,
>>>>
>>>> I found a problem with shelfice & down_slope pkgs:
>>>> looks like useShelfIce is masking the density (in CALC_PHI_HYD)
>>>> so that we will have a problem when using an EOS directly function
>>>> of pressure (e.g.: JMD95P). I looked to
>>>> MITgcm_contrib/high_res_cube/data.hr
>>>> and it's not the case (EOS=JMD95Z).
>>>> Can you confirm that you are not using an EOS directly function
>>>> of pressure ?
>>>>
>>>> Otherwise, how is the test going ?
>>>>
>>>> I cc this to the devel list, so that Martin will know why I will
>>>> bother him to remove this masking with useShelfIce ...
>>>>
>>>> Cheers,
>>>> Jean-Michel
>>>> _______________________________________________
>>>> 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