[MITgcm-devel] seaice dynamics parameters

Martin Losch Martin.Losch at awi.de
Tue Jan 26 05:31:29 EST 2016


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





More information about the MITgcm-devel mailing list