[MITgcm-devel] possible issue with exf interp defaults
Jean-Michel Campin
jmc at mit.edu
Thu Dec 22 17:45:01 EST 2016
Hi Gael,
Regarding default interpMethod, it's consistent with what the older
code was doing before addition of run-time param {inputfield}_interpMethod
(in Dec 2011), also (vaguely) consistent with the name of the CPP option
("USE_EXF_INTERP" and not "ALLOW_EXF_INTERP").
So I would prefer not to change this default.
Now, when the model grid is not a usual (non-rotated) lat,lon grid,
I don't see how we could define "good" default value for inp_lat0,lon0
& inp_dlat,dlon. So may be the second solution:
> - set the lon0, inc, etc defaults to UNSET_RL and stop if the user did not
> define them in data.exf?
would be better.
Or may be similarly, just setting default {inputfield}_nlon & _nlat to zero
and check+stop if corresponding file name is used with interp and with nlon,nlat=0
One thing to add: in your case (usingCurvilinearGrid=.TRUE.,), delX & delY
are not used to build the grid so they are (probably) equal to UNSET_RL :
inp_lon0= 6.172835000E+04
inp_lat0= 6.172835000E+04
inp_dLon= 1.234567000E+05
inp_dLat= 1.234567000E+05
so a simple check (_lon_inc < 400 & _lat_inc < 100) would have stopped
the run.
Cheers,
Jean-Michel
On Wed, Dec 21, 2016 at 04:23:02PM -0500, gael forget wrote:
> Dear All,
>
> I recently ran into trouble by assuming that the climsst_interpMethod default was 0 (i.e. "no interpolation" unless explicitly
> specified in data.exf) and providing a relaxation field that was already on the LLC90 grid (in the 90x1170 ?compact? format).
>
> I see now that a different default was chosen and that climsst_lon0, climsst_inc, etc. by default get assigned to:
> inp_lon0 = xgOrigin + delX(1)*exf_half
> inp_lat0 = ygOrigin + delY(1)*exf_half
> inp_dLon = delX(1)
> inp_dLat = delY(1)
>
> I think, and Jean-Michel seemed to concur, that in the case of a simple lat-lon grid these defaults yield an interpolation
> from XC, YC to XC, YC itself (i.e. kind of "no interpolation" but maybe not quite). However, unless I am missing
> something obvious, this approach can lead to rather strange results for pretty much any other grid.
>
> Wouldn't one of the two following approaches make more sense:
> - set interpMethod defaults to 0 at least with usingCurvilinearGrid or rotateGrid?
> - set the lon0, inc, etc defaults to UNSET_RL and stop if the user did not define them in data.exf?
>
> Please chime in.
>
> Thanks,
> Gael
> _______________________________________________
> MITgcm-devel mailing list
> MITgcm-devel at mitgcm.org
> http://mitgcm.org/mailman/listinfo/mitgcm-devel
More information about the MITgcm-devel
mailing list