[MITgcm-devel] possible issue with exf interp defaults

gael forget gforget at mit.edu
Tue Jan 3 21:41:32 EST 2017


Hi Jean-Michel,
good point. I added a test on climsst / sss_lon_inc.EQ.UNSET_RL which should suffice for usingCurvilinearGrid=.TRUE.
I may add similar checks & stops for the other ext variables unless someone has an objection.
Cheers,
Gael

On Dec 22, 2016, at 5:45 PM, Jean-Michel Campin <jmc at MIT.EDU> wrote:

> 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
> 
> 
> _______________________________________________
> MITgcm-devel mailing list
> MITgcm-devel at mitgcm.org
> http://mitgcm.org/mailman/listinfo/mitgcm-devel

-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 1843 bytes
Desc: not available
URL: <http://mitgcm.org/pipermail/mitgcm-devel/attachments/20170103/ba14578e/attachment.p7s>


More information about the MITgcm-devel mailing list