[MITgcm-support] MITgcm floats.................

Andreas Klocker aklocker at MIT.EDU
Mon Apr 16 01:14:16 EDT 2012


J-M,

Thanks for that. What do you think would be the best way to solve this 
issue more permanently though? I think spinning up a model without 
floats and then doing a float experiment might be a very common thing..

I'll definitely try solution 3 and 4 though and let you know what happens.

cheers,
Andreas

On 14/04/12 03:13, Jean-Michel Campin wrote:
> Hi Andreas,
>
> There are several options:
> 1) not changing the code, starting with nIter0=0 and to replace
>   the main pickup files with a set of initial conditons files
>    (pSurfInitFile= ..., hydrogThetaFile= ..., hydrogSaltFile= ...,
>    uVelInitFile= ..., vVelInitFile= ...) corresponding to what is stored
>   in the pickup file.
> 2) generate a "pickup_flt" file yourself. It's very similar to float
>   initial condition file (if mapIniPos2Index is set to False);
>   But since you were probably prepared to use the default (which is
>    mapIniPos2Index=T), you will have do the conversion yourself when
>   generating this pickup_flt file, that is to give float position in index
>   space instead of distances (and 1 file per tile, since this does not work
>   with global files).
> 3) modify flt_init_varia.F to read float initial conditions
>    even when nIter0<>  0  and generate a modified "mitgcmuv" executable.
>    You will used this modified executable to start the float simulation
>    but will have to return to the un-modified one to continue after a restart.
> 4) try this trick: since flt_init_varia.F does not recognize pickupSuff,
>    you could try the following:
>    a) set nIter0=0 and pickupSuff= {the name of your pickup file} in
>       main parameter file "data", 3rd namelist.
>    b) use normal float initial conditions file.
>   let me know if this 4th solution does not work.
>
> Cheers,
> Jean-Michel
>
> PS: I cc to support, might be useful for other pkg/flt users.
>
> On Fri, Apr 13, 2012 at 02:32:27PM +1000, Andreas Klocker wrote:
>> Dear Masters of the MITgcm,
>>
>> I just started to experiment with floats in Ryan's channel and
>> noticed a little problem. I'm trying to initialize floats starting
>> from a spun-up state which David produced, but after looking at
>> flt_init_varia.F it seems like I can only either start with a file
>> with initial float positions if nIter0=0 (which means I would have
>> to spinup the model again) or start from a pickup file (which I
>> obviously don't have because there were no floats in the channel so
>> far):
>>
>> C read floats initial condition from file
>>        _BEGIN_MASTER(myThid)
>>        IF ( nIter0.EQ.0 ) THEN
>>          fn = flt_file
>>        ELSE
>>          WRITE(fn,'(A,I10.10)') 'pickup_flt.', nIter0
>>        ENDIF
>>        iL = ILNBLNK(fn)
>>        WRITE(msgBuf,'(2A)')
>> &    'FLT_INIT_VARIA: reading Floats from: ', fn(1:iL)
>>        CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
>> &                     SQUEEZE_RIGHT, myThid )
>>
>>
>> What do you think is the easiest way to get around that? In the file
>> with the initial float positions I can set a time (in s) when the
>> floats are meant to start, but that file is only read if
>> nIter0=0.... Is there an easy way to modify the Fortran code to fix
>> that problem? Maybe some way to tell the model in the data.flt file
>> if it is meant to look for an initial float file or a pickup?
>>
>> Any ideas?
>>
>> all the best from Oz,
>> A.



More information about the MITgcm-support mailing list