Re: Interpolation- problem with the linint2 function

From: Dennis Shea <shea_at_nyahnyahspammersnyahnyah>
Date: Tue Nov 26 2013 - 15:01:51 MST

Rather than continue this thread ... send the ftp the file. See below

```---
lon: 1.25 to 358.75
lon: -89  to  89
lon: 0.0 to 357.25
lat: -90 to 90
[3] As noted in the documentation:
"If the output coordinates (xo,yo) are outside those of the input
coordinates (xi,yi), then the fo values at those coordinates will be set
to missing (i.e. no extrapolation is performed)."
Hence, the pole latitudes will contain missing values since
the exceed the lat extremes of the input grid.
[4] Untested
filen=getenv("FILENAME")
u1 = a->zg(:,3,:,:)
printVarSummary(u1)
;;;output
u1@_FillValue=1e+20
dimu1 = dimsizes(u1)
ntim  = dimu1(0)         ; number of time points
nlat  = dimu1(1)         ; number of latitudes
nlon  = dimu1(2)         ; number of lon
diro = "./"                         ; output directory
filo = "daily_model.dat"            ; output file
ptho = diro+filo
system("/bin/rm -f "+ptho)          ; rm any pre-exist file
;;interpolate to 2.5x2.5
mlon = 144
mlat = 73
klon = ispan(0,mlon-1,1)*2.5
;print(klon)
klat = ispan(0,mlat-1,1)*2.5
;print(klat)
model =linint2(u1&lon,u1&lat,u1,True,klon,klat,0) ;(ntim,mlat,mlon)
printVarSummary(model)
do nt=0,ntim-1        ; poles: average next to last latitude values
model(nt,mlat-1,:) = dim_avg(model(nt,mlat-2,:)) ; pole_nh
model(nt,   0  ,:) = dim_avg(model(nt,   1  ,:)) ; pole_sh
end do
;--- or
do nt=0,ntim-1        ; poles: use original pole values
model(nt,mlat-1,:) = dim_avg(u1(nt,nlat-1,:))   ; original values
model(nt,   0  ,:) = dim_avg(u1(nt,   0  ,:))
end do
;---
nmsg = num(ismissing(model))
print(nmsg)
fbinrecwrite (ptho, -1, model)
end
---
ftp ftp.cgd.ucar.edu
anonymous
cd incoming
put ...
quit
*After* successful transmiision of the file you must send us the
exact name of the file.
On 11/26/13 2:24 PM, Lorenzo de Cillia wrote:
> Thanks, I already changed it to true, but I still have the error....
>
> Lorenzo
>
>
>
>>   Hi Lorenzo,
>> As you are now interpolating to a global grid, I think you want to set the
>> linint2 cyclic option to True..
>>
>>
>> On 11/26/2013 11:33 AM, Lorenzo de Cillia wrote:
>>
>>
>>   Thank you for your help...
>>   I changed the latitude to -90:90, but I still have the problem of missing
>> values in the interpolated data...
>>   I added the input/output lon and lat down there, but I think they should
>> be fine?
>>   Any idea what could cause my error?
>>
>> -------------------------------------------
>>
>> Variable: mlon
>> Type: double
>> Total Size: 1152 bytes
>>              144 values
>> Number of Dimensions: 1
>> Dimensions and sizes:    [lon | 144]
>> Coordinates:
>> Number Of Attributes: 5
>>    axis :    X
>>    standard_name :    longitude
>>    bounds :    lon_bnds
>>    units :    degrees_east
>>    long_name :    longitude
>> (0)    1.25
>> (1)    3.75
>> (2)    6.25
>> (3)    8.75
>> (4)    11.25
>> (5)    13.75
>> (6)    16.25
>> (7)    18.75
>> (8)    21.25
>> (9)    23.75
>> (10)    26.25
>> (11)    28.75
>> (12)    31.25
>> (13)    33.75
>> (14)    36.25
>> (15)    38.75
>> (16)    41.25
>> (17)    43.75
>> (18)    46.25
>> (19)    48.75
>> (20)    51.25
>> (21)    53.75
>> (22)    56.25
>> (23)    58.75
>> (24)    61.25000000000001
>> (25)    63.75000000000001
>> (26)    66.25
>> (27)    68.75
>> (28)    71.25
>> (29)    73.75
>> (30)    76.25
>> (31)    78.75
>> (32)    81.25
>> (33)    83.75
>> (34)    86.25
>> (35)    88.75
>> (36)    91.25
>> (37)    93.75
>> (38)    96.25
>> (39)    98.75
>> (40)    101.25
>> (41)    103.75
>> (42)    106.25
>> (43)    108.75
>> (44)    111.25
>> (45)    113.75
>> (46)    116.25
>> (47)    118.75
>> (48)    121.25
>> (49)    123.75
>> (50)    126.25
>> (51)    128.75
>> (52)    131.25
>> (53)    133.75
>> (54)    136.25
>> (55)    138.75
>> (56)    141.25
>> (57)    143.75
>> (58)    146.25
>> (59)    148.75
>> (60)    151.25
>> (61)    153.75
>> (62)    156.25
>> (63)    158.75
>> (64)    161.25
>> (65)    163.75
>> (66)    166.25
>> (67)    168.75
>> (68)    171.25
>> (69)    173.75
>> (70)    176.25
>> (71)    178.75
>> (72)    181.25
>> (73)    183.75
>> (74)    186.25
>> (75)    188.75
>> (76)    191.25
>> (77)    193.75
>> (78)    196.25
>> (79)    198.75
>> (80)    201.25
>> (81)    203.75
>> (82)    206.25
>> (83)    208.75
>> (84)    211.25
>> (85)    213.75
>> (86)    216.25
>> (87)    218.75
>> (88)    221.25
>> (89)    223.75
>> (90)    226.25
>> (91)    228.75
>> (92)    231.25
>> (93)    233.75
>> (94)    236.25
>> (95)    238.75
>> (96)    241.25
>> (97)    243.75
>> (98)    246.25
>> (99)    248.75
>> (100)    251.25
>> (101)    253.75
>> (102)    256.25
>> (103)    258.75
>> (104)    261.25
>> (105)    263.75
>> (106)    266.2500000000001
>> (107)    268.75
>> (108)    271.25
>> (109)    273.75
>> (110)    276.25
>> (111)    278.75
>> (112)    281.25
>> (113)    283.75
>> (114)    286.25
>> (115)    288.75
>> (116)    291.25
>> (117)    293.75
>> (118)    296.25
>> (119)    298.75
>> (120)    301.25
>> (121)    303.75
>> (122)    306.25
>> (123)    308.75
>> (124)    311.25
>> (125)    313.75
>> (126)    316.25
>> (127)    318.75
>> (128)    321.25
>> (129)    323.75
>> (130)    326.25
>> (131)    328.75
>> (132)    331.25
>> (133)    333.75
>> (134)    336.25
>> (135)    338.75
>> (136)    341.25
>> (137)    343.75
>> (138)    346.25
>> (139)    348.75
>> (140)    351.25
>> (141)    353.7500000000001
>> (142)    356.25
>> (143)    358.75
>>
>> Variable: mlat
>> Type: double
>> Total Size: 720 bytes
>>              90 values
>> Number of Dimensions: 1
>> Dimensions and sizes:    [lat | 90]
>> Coordinates:
>> Number Of Attributes: 5
>>    axis :    Y
>>    standard_name :    latitude
>>    bounds :    lat_bnds
>>    units :    degrees_north
>>    long_name :    latitude
>> (0)     -89
>> (1)     -87
>> (2)     -85
>> (3)     -83
>> (4)     -81
>> (5)     -79
>> (6)     -77
>> (7)     -75
>> (8)     -73
>> (9)     -71
>> (10)     -69
>> (11)     -67
>> (12)     -65
>> (13)     -63
>> (14)     -61
>> (15)    -59.00000000000001
>> (16)    -57.00000000000001
>> (17)     -55
>> (18)     -53
>> (19)     -51
>> (20)     -49
>> (21)     -47
>> (22)     -45
>> (23)     -43
>> (24)     -41
>> (25)     -39
>> (26)     -37
>> (27)     -35
>> (28)     -33
>> (29)     -31
>> (30)     -29
>> (31)     -27
>> (32)     -25
>> (33)     -23
>> (34)     -21
>> (35)     -19
>> (36)     -17
>> (37)     -15
>> (38)     -13
>> (39)     -11
>> (40)      -9
>> (41)      -7
>> (42)      -5
>> (43)      -3
>> (44)      -1
>> (45)       1
>> (46)       3
>> (47)       5
>> (48)       7
>> (49)       9
>> (50)      11
>> (51)      13
>> (52)      15
>> (53)      17
>> (54)      19
>> (55)      21
>> (56)      23
>> (57)      25
>> (58)      27
>> (59)      29
>> (60)      31
>> (61)      33
>> (62)      35
>> (63)      37
>> (64)      39
>> (65)      41
>> (66)      43
>> (67)      45
>> (68)      47
>> (69)      49
>> (70)      51
>> (71)      53
>> (72)      55
>> (73)    57.00000000000001
>> (74)    59.00000000000001
>> (75)      61
>> (76)      63
>> (77)      65
>> (78)      67
>> (79)      69
>> (80)      71
>> (81)      73
>> (82)      75
>> (83)      77
>> (84)      79
>> (85)      81
>> (86)      83
>> (87)      85
>> (88)      87
>> (89)      89
>>
>> Variable: klon
>> Type: float
>> Total Size: 576 bytes
>>              144 values
>> Number of Dimensions: 1
>> Dimensions and sizes:    [144]
>> Coordinates:
>> (0)     0
>> (1)    2.5
>> (2)     5
>> (3)    7.5
>> (4)    10
>> (5)    12.5
>> (6)    15
>> (7)    17.5
>> (8)    20
>> (9)    22.5
>> (10)    25
>> (11)    27.5
>> (12)    30
>> (13)    32.5
>> (14)    35
>> (15)    37.5
>> (16)    40
>> (17)    42.5
>> (18)    45
>> (19)    47.5
>> (20)    50
>> (21)    52.5
>> (22)    55
>> (23)    57.5
>> (24)    60
>> (25)    62.5
>> (26)    65
>> (27)    67.5
>> (28)    70
>> (29)    72.5
>> (30)    75
>> (31)    77.5
>> (32)    80
>> (33)    82.5
>> (34)    85
>> (35)    87.5
>> (36)    90
>> (37)    92.5
>> (38)    95
>> (39)    97.5
>> (40)    100
>> (41)    102.5
>> (42)    105
>> (43)    107.5
>> (44)    110
>> (45)    112.5
>> (46)    115
>> (47)    117.5
>> (48)    120
>> (49)    122.5
>> (50)    125
>> (51)    127.5
>> (52)    130
>> (53)    132.5
>> (54)    135
>> (55)    137.5
>> (56)    140
>> (57)    142.5
>> (58)    145
>> (59)    147.5
>> (60)    150
>> (61)    152.5
>> (62)    155
>> (63)    157.5
>> (64)    160
>> (65)    162.5
>> (66)    165
>> (67)    167.5
>> (68)    170
>> (69)    172.5
>> (70)    175
>> (71)    177.5
>> (72)    180
>> (73)    182.5
>> (74)    185
>> (75)    187.5
>> (76)    190
>> (77)    192.5
>> (78)    195
>> (79)    197.5
>> (80)    200
>> (81)    202.5
>> (82)    205
>> (83)    207.5
>> (84)    210
>> (85)    212.5
>> (86)    215
>> (87)    217.5
>> (88)    220
>> (89)    222.5
>> (90)    225
>> (91)    227.5
>> (92)    230
>> (93)    232.5
>> (94)    235
>> (95)    237.5
>> (96)    240
>> (97)    242.5
>> (98)    245
>> (99)    247.5
>> (100)    250
>> (101)    252.5
>> (102)    255
>> (103)    257.5
>> (104)    260
>> (105)    262.5
>> (106)    265
>> (107)    267.5
>> (108)    270
>> (109)    272.5
>> (110)    275
>> (111)    277.5
>> (112)    280
>> (113)    282.5
>> (114)    285
>> (115)    287.5
>> (116)    290
>> (117)    292.5
>> (118)    295
>> (119)    297.5
>> (120)    300
>> (121)    302.5
>> (122)    305
>> (123)    307.5
>> (124)    310
>> (125)    312.5
>> (126)    315
>> (127)    317.5
>> (128)    320
>> (129)    322.5
>> (130)    325
>> (131)    327.5
>> (132)    330
>> (133)    332.5
>> (134)    335
>> (135)    337.5
>> (136)    340
>> (137)    342.5
>> (138)    345
>> (139)    347.5
>> (140)    350
>> (141)    352.5
>> (142)    355
>> (143)    357.5
>>
>>
>> Variable: klat
>> Type: float
>> Total Size: 292 bytes
>>              73 values
>> Number of Dimensions: 1
>> Dimensions and sizes:    [73]
>> Coordinates:
>> (0)    -90
>> (1)    -87.5
>> (2)    -85
>> (3)    -82.5
>> (4)    -80
>> (5)    -77.5
>> (6)    -75
>> (7)    -72.5
>> (8)    -70
>> (9)    -67.5
>> (10)    -65
>> (11)    -62.5
>> (12)    -60
>> (13)    -57.5
>> (14)    -55
>> (15)    -52.5
>> (16)    -50
>> (17)    -47.5
>> (18)    -45
>> (19)    -42.5
>> (20)    -40
>> (21)    -37.5
>> (22)    -35
>> (23)    -32.5
>> (24)    -30
>> (25)    -27.5
>> (26)    -25
>> (27)    -22.5
>> (28)    -20
>> (29)    -17.5
>> (30)    -15
>> (31)    -12.5
>> (32)    -10
>> (33)    -7.5
>> (34)    -5
>> (35)    -2.5
>> (36)     0
>> (37)    2.5
>> (38)     5
>> (39)    7.5
>> (40)    10
>> (41)    12.5
>> (42)    15
>> (43)    17.5
>> (44)    20
>> (45)    22.5
>> (46)    25
>> (47)    27.5
>> (48)    30
>> (49)    32.5
>> (50)    35
>> (51)    37.5
>> (52)    40
>> (53)    42.5
>> (54)    45
>> (55)    47.5
>> (56)    50
>> (57)    52.5
>> (58)    55
>> (59)    57.5
>> (60)    60
>> (61)    62.5
>> (62)    65
>> (63)    67.5
>> (64)    70
>> (65)    72.5
>> (66)    75
>> (67)    77.5
>> (68)    80
>> (69)    82.5
>> (70)    85
>> (71)    87.5
>> (72)    90
>>
>>
>>
>>
>>
>>
>>
>>
>>>   Hi Lorenzo,
>>> Whenever linint2/linint2_Wrap are used one has to check to make sure that
>>> the input and output grids are overlapping and are oriented the same
>>> direction. So if you are having trouble with those functions I would take a
>>> close look at your input/output latitudes/longitudes. I cannot see what
>>> your input latitudes and longitudes are, but they should match your output
>>> latitudes/longitudes which run from south->north (lat) and from 0->357.5E.
>>>
>>> However, I see that you are setting you output latitudes like this:
>>> klat = ispan(0,72,1)*2.5
>>> That results in a latitude array from 0->180, which is outside the range
>>> of -90:90. So I am guessing that that line is causing your problem.
>>>
>>> If you have any further questions please respond to ncl-talk..
>>>
>>> On 11/26/2013 10:36 AM, Lorenzo de Cillia wrote:
>>>
>>>    Hello!
>>>
>>>   I have a problem with the following NCL script....
>>>   I'm reading out geopotential height data from a .nc file and try to
>>> interpolate it to a 2.5x2.5 grid with the function linint2...
>>>
>>>   The problem is that I got a lot of missing values (so 1e+20) in the
>>> results and I don't know why... Can please somebody tell me if there's an
>>> error in the script or in the usage of the linint2 function?
>>>
>>>   Thank you for your help,
>>>
>>> Lorenzo
>>>
>>>   ------------------------------
>>> -------------
>>>
>>> begin
>>>      filen=getenv("FILENAME")
>>>
>>> ;;      print (filen)
>>>
>>>      u1 = a->zg(:,3,:,:)
>>>
>>> ;;;output
>>>      u1@_FillValue=1e+20
>>>      npts = dimsizes(u1(:,0,0))         ; number of time points
>>>      nlat = dimsizes(u1(0,:,0))         ; number of latitudes
>>>      nlon = dimsizes(u1(0,0,:))         ; number of lon
>>>
>>>      um=new ( (/nlat,nlon /), float)
>>>      filo = "daily_model.dat"            ; output file
>>>
>>> ;;interpolate to 2.5x2.5
>>>
>>>      mlon = u1&lon
>>>      mlat = u1&lat
>>>      print(mlat)
>>>
>>>      klon = ispan(0,143,1)*2.5
>>>      print(klon)
>>>      klat = ispan(0,72,1)*2.5
>>>      print(klat)
>>>
>>>      ;print(u1)
>>>      model =linint2(mlon,mlat,u1,False,klon,klat,0)
>>>      printVarSummary(model)
>>>      print(model)
>>>      fbinrecwrite (filo, -1, model)
>>> end
>>>
>>>
>>>
>>>   _______________________________________________
>>> ncl-talk mailing list
>>> List instructions, subscriber options, unsubscribe:http://mailman.ucar.edu/mailman/listinfo/ncl-talk
>>>
>>>
>>> --
>>> ______________________________________________________________
>>> NCAR/Climate and Global Dynamics Division       (303) 497-1726
>>> P.O. Box 3000
>>> Boulder, CO 80307-3000    http://www.cgd.ucar.edu/cas/asphilli
>>>
>>>
>>> _______________________________________________
>>> ncl-talk mailing list
>>> List instructions, subscriber options, unsubscribe:
>>> http://mailman.ucar.edu/mailman/listinfo/ncl-talk
>>>
>>>
>>
>>
>> _______________________________________________
>> ncl-talk mailing list
>> List instructions, subscriber options, unsubscribe:http://mailman.ucar.edu/mailman/listinfo/ncl-talk
>>
>>
>> --
>> ______________________________________________________________
>> NCAR/Climate and Global Dynamics Division       (303) 497-1726
>> P.O. Box 3000
>> Boulder, CO 80307-3000    http://www.cgd.ucar.edu/cas/asphilli
>>
>>
>
>
>
> _______________________________________________
> ncl-talk mailing list
> List instructions, subscriber options, unsubscribe:
> http://mailman.ucar.edu/mailman/listinfo/ncl-talk
>
_______________________________________________
ncl-talk mailing list
List instructions, subscriber options, unsubscribe:
http://mailman.ucar.edu/mailman/listinfo/ncl-talk
```
Received on Tue Nov 26 15:02:03 2013

This archive was generated by hypermail 2.1.8 : Wed Dec 04 2013 - 20:42:38 MST