[MITgcm-support] MITgcm-support Digest, Vol 194, Issue 26

Martin Losch Martin.Losch at awi.de
Wed Aug 28 07:44:13 EDT 2019


Hi again,

I think the most probable reason why the solver does not work with your configuration and the old code may be that you don’t have any ice at all. I remember that this was an issue for a while, because then the algorithm tries to invert a singular matrix with only zeros on the main diagonal. This is definitely fixed in the new version.

Martin

> On 28. Aug 2019, at 12:16, Martin Losch <Martin.Losch at awi.de> wrote:
> 
> Hi David,
> 
> I could reproduce your problem like this:
> created missing namelists (like data.cal, data.pkg, data.diagnostics), checked out checkpoint65u (Mar 2016), v 1.2239
> runs without seaice, runs with SEAICEuseDynamics =.FALSE., but gives nan with SEAICEuseDynamics=.TRUE.,
> 
> Then I used recent code (basically today’s version), I had to remove code/DIAGNOSTICS.h (it was just a copy pkg/diagnostics from the old version 1.2239, so I don’t know why it was there in the first place) from your code directory, because it wouldn’t compile otherwise.
> 
> and reran with no problems, other than there is no ice and hence no ice velocity (probably because your forcing does not lead to ice formation).
> 
> So I suggest to update your code to recent code (or start with a fresh copy). Honestly, there have been a few changes to pkg/seaice over the last 3 years and I don’t know which of these changes may fix your problem (and I don’t feel like fixing stuff that has already been fixed).
> Do you have any reason to start a new grid/project with an old version of the code?
> 
> Martin
> 
> 
>> On 27. Aug 2019, at 20:02, David Vishny <davidvish at gmail.com> wrote:
>> 
>> Hi Martin,
>> 
>> My latest checkpoint in tag-index is 65u. I’ve attached 3 folders (code, binary files and namelist files).
>> 
>> 
>> Thanks,
>> 
>> David
>> 
>> <namelist><code><binfiles>
>>> On Aug 27, 2019, at 11:00 AM, mitgcm-support-request at mitgcm.org wrote:
>>> 
>>> ------------------------------
>>> 
>>> Message: 3
>>> Date: Tue, 27 Aug 2019 12:09:32 +0200
>>> From: Martin Losch <Martin.Losch at awi.de>
>>> To: MITgcm Support <mitgcm-support at mitgcm.org>
>>> Subject: Re: [MITgcm-support] MITgcm-support Digest, Vol 194, Issue 17
>>> Message-ID: <088C4F43-119B-4288-BF9A-A8E52C28A201 at awi.de>
>>> Content-Type: text/plain; charset="utf-8"
>>> 
>>> Hi David,
>>> 
>>> I can?t see anything particularly bad in your files.
>>> 
>>> I tried to compile and run, but I am missing all sorts of forcing files, so that no ice forms and the LSR solver does not have anything to do (and no nans).
>>> 
>>> I suggest that you prepare a configuration somewhere for me to download (i.e. code and input directories and forcing files, topography, inital conditions ...), that runs for at least a few time steps ( and produces NaN when pkg/seaice is used), and I can try to figure out the problem. It?s probably something simple, if it happens in the first timestep.
>>> 
>>> I don?t know what this version number refers to, I was thinking of the latest checkpoint in doc/tag-index, do you know what that is?
>>> 
>>> More general comments about your sea ice parameters (that will not affect your problem, I am afraid)
>>> 
>>> LSR_ERROR             = 1.E-17, # that?s an overkill. I suggest 1e-5, or 1e-6
>>> SEAICE_OLx = 1, # with recent code, you don?t need this anymore
>>> SEAICE_OLy = 1,
>>> #
>>> SEAICE_salt0          = 4.,
>>> # the next three are default:
>>> SEAICEadvHeff         = .TRUE., 
>>> SEAICEadvArea         = .TRUE.,
>>> SEAICEadvSnow         = .TRUE.,
>>> # with a stable advection scheme (e.g. SEAICEadvScheme = 77), you don?t need the diffusion of seaice (I find diffusion of sea ice difficult to imagine)
>>> SEAICEdiffKhHeff       = 100.,
>>> SEAICEdiffKhArea       = 100.,
>>> SEAICEdiffKhSnow       = 100.,
>>> SEAICEdiffKhSalt       = 100.,
>>> 
>>> Martin
>>> 
>>> 
>>>> On 26. Aug 2019, at 18:50, David Vishny <davidvish at gmail.com> wrote:
>>>> 
>>>> Hi Martin,
>>>> 
>>>> -My model version is 1.2242. 
>>>> 
>>>> -From the working configuration, I changed the grid from 72 x 140 x 29 to 128 x 64 x 15 (as in the biogeochemistry tutorial), and went from 4 x 7 processors to 4 x 4 processors.
>>>> 
>>>> -I also switched from simplified topography to the realistic global topography of the biogeochem tutorial, modified the EXF forcing files, and changed all the viscosities and diffusivities in the ?data" file to match those in the analogous file from the biogeochemistry tutorial.
>>>> 
>>>> -To avoid numerical instability during testing, I made the time-steps very tiny, switching from 14400 to 3200.
>>>> 
>>>> 
>>>> -I?ve attached two namelist files and three code directory files that might be relevant to understand my setup.
>>>> 
>>>> <packages.conf><data.seaice><data><CPP_OPTIONS.h><SEAICE_OPTIONS.h>
>>>> 
>>>> 
>>>> Thanks,
>>>> 
>>>> David
>>>> 
>>>>> 
>>>>> Message: 1
>>>>> Date: Sat, 24 Aug 2019 08:55:57 +0200
>>>>> From: Martin Losch <Martin.Losch at awi.de>
>>>>> To: <mitgcm-support at mitgcm.org>
>>>>> Subject: Re: [MITgcm-support] Sea ice dynamics causing model to output
>>>>> 	NaN's	after changing grid configuration
>>>>> Message-ID: <2129627E-3B99-43CB-A277-57C245DABE04 at awi.de>
>>>>> Content-Type: text/plain; charset="utf-8"
>>>>> 
>>>>> Hi David,
>>>>> I would need more details to be able to help. Configuration (code directory, namelist files, version of model), and what exactly you changed from a working configuration 
>>>>> 
>>>>> Martin
>>>>> 
>>>>>> On 24. Aug 2019, at 00:07, David Vishny <davidvish at gmail.com> wrote:
>>>>>> 
>>>>>> To whom it may concern,
>>>>>> 
>>>>>> I recently changed the grid configuration in my model setup, and now the model outputs all NaN?s after a single time-step if sea ice dynamics are enabled, even though there is no sea ice to begin with. If I disable sea ice dynamics, it appears that no problems occur. Thus, my advisor Malte Jansen and I believe the LSR solver is producing NaN?s. 
>>>>>> 
>>>>>> I know one parameter related to the LSR solver is the LSR error. For any given grid configuration, could the solver crash due to an LSR error that is either too high or too low? Are there any other parameters I should be playing around with that are related to the LSR solver? 
>>>>>> 
>>>>>> 
>>>>>> Thanks,
>>>>>> 
>>>>>> David Vishny
>>>>>> _______________________________________________
>>>>>> MITgcm-support mailing list
>>>>>> MITgcm-support at mitgcm.org
>>>>>> http://mailman.mitgcm.org/mailman/listinfo/mitgcm-support
>>> ______________________________________________
>> MITgcm-support mailing list
>> MITgcm-support at mitgcm.org
>> http://mailman.mitgcm.org/mailman/listinfo/mitgcm-support
> 
> _______________________________________________
> MITgcm-support mailing list
> MITgcm-support at mitgcm.org
> http://mailman.mitgcm.org/mailman/listinfo/mitgcm-support



More information about the MITgcm-support mailing list