[MITgcm-devel] seaice dynamics parameters

Martin Losch Martin.Losch at awi.de
Tue Jan 26 12:04:43 EST 2016


Hi Jean-Michel,

thanks for the positive feedback. I’ll modify my plan like this:

1. change the iteration parameters, with shorter names for the preconditioner
2. change the non-linear tolerance with a meaningful name that includes target, or tolerance or so (gamma was the symbol from a paper, not very clear)
3. leave the linear tolerance criteria solver specific for now, because the way the linear tolerance is computed for JFNK is specific and not useful for Picard solvers.
4. backward compatibility: (a) default nonlinear iterations for LSR remain at 2 (with new parameter name), (b) LSR_ERROR will stay for now (see (3)), (c) retire solv_max_iter and npseudotimesteps, and all other jfnk related parameters that will be replaced.

this will take a little while.

Martin

> On 26 Jan 2016, at 16:33, Jean-Michel Campin <jmc at ocean.mit.edu> wrote:
> 
> Hi Martin,
> 
> I have the impression that the simplification you propose, with a clear separation
> between linear-solver and non-lin solver, which applies to all solver, is a good thing.
> And the IterMax params (point 1) as well as for preconditioner (2) is clear
> (may be with shorter name here, like SEAICEpreconLinItMax & SEAICEpreconNL_ItMax ?).
> 
> Regarding the solver tolerance, it's less clear to me what these gamma_lin_max,gamma_lin_min
> are doing (I would need to check in the code), and it's not very clear to me that
> "gamma" means "solver tolerance" (e.g., for cg2d, we have TargetResidual and TargetResWunit,
> a little bit more explicit for a name).
> 
> Backward compat:
> a) Are you going to maintain the current default for LSR (setting default SEAICEnonLinIterMax
> to 2 if using LSR ?).
> b) We could maintain a backward compatibility for LSR_ERROR during some time (with a 
> warning ?) since it is commonly prescribed in data.seaice (see our set of verif exp).
> But I would agree that the other old params could just go retired.
> 
> Cheers,
> Jean-Michel
> 
> On Tue, Jan 26, 2016 at 11:31:29AM +0100, Martin Losch wrote:
>> Hi Jean-Michel, and other sea ice modellers,
>> 
>> I am about to check in yet another (Picard) solver for sea ice dynamics, and I find the amount of different parameters that would ensue a little annoying. Since I am mostly responsible for them, I???d like to clean them up a little, and at the same time get rid of the old parameters for LSR. 
>> 1. I would like to have only SEAICEnonLinIterMax and SEAICElinearIterMax. They would replace NPSEUDOTIMESTEPS/SEAICEnewtonIterMax and SOLV_MAX_ITER/SEAICEkrylovIterMax. 
>> 2. I still need to be able to set separater maximum iterations for the preconditioner, SEAICEpreconIterMax, and also a nonlinear Iteration of the preconditioner, but that could be held fixed for now. Otherwise I would need to have SEAICEpreconLinearIterMax and SEAICEpreconNonLinIterMax (very long names)
>> 3. I would like to have tolerance for the nonlinear and the linear convergence. Currently we have SEAICEgamma_nonlin for JFNK and nothing for the LSR-Picard solver, and SEAICEgamma_lin_max, SEAICEgamma_lin_min, from which SEAICEgamma_lin is computed for JFNK, and there is LSR_ERROR for the LSR solver. I suggest to keep the three parameters of the JFNK solver and use SEAICEgamma_lin_max for the linear LSR tolerance (replace LSR_ERROR). 
>> 
>> The consequence is clear: fewer parameters, but the parameters have a slightly different meaing depending on which solver is used.
>> 
>> For the changes: I could keep the old parameters in the namelist and do some fancy copying the keep the default behavior, or I could just retire them, because I believe that most people do not use them anyway (except for maybe LSR_ERROR?).
>> 
>> What do you think? Do you have a better suggestion? Or is it a bad idea to use the same iteration/tolerance parameters for different solvers?
>> 
>> 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




More information about the MITgcm-devel mailing list