[Thread Prev][Thread Next][Index]

Re: [ferret_users] interpolation to make an uniform NaN in data for all time steps



Hi,

I think there is some confusion about @FLN.  The argument @fln:5 doesn't do what I think many of us think it does. The argument only tells Ferret that if you've given a region in the transformation specification, then it will look n cells beyond the edges of that region. The filler always entirely fills missing-data regions in the interior of the region we're working with.  I think we all want it to fill only within a point or few points around each missing-data region wherever that occurs. That's what I had in mind with my first answer earlier today.


I've just enhanced the documentation with another example:
yes? let var = {1,,,,2,,,,6}
yes? list var
             VARIABLE : {1,,,,2,,,,6}
             SUBSET   : 9 points (X)
 1   / 1:  1.000
 2   / 2:   ....
 3   / 3:   ....
 4   / 4:   ....
 5   / 5:  2.000
 6   / 6:   ....
 7   / 7:   ....
 8   / 8:   ....
 9   / 9:  6.000

yes? ! x=3:9@fln:1  says look only one point beyond the requested limits of x=3:9 when filling.
yes? ! The interior gaps are all filled.

yes? list var[x=3:9@fln:1]
             VARIABLE : {1,,,,2,,,,6}
                        linear-filled by 1 pts on X
             SUBSET   : 7 points (X)
 3   / 3:   ....
 4   / 4:   ....
 5   / 5:  2.000
 6   / 6:  3.000
 7   / 7:  4.000
 8   / 8:  5.000
 9   / 9:  6.000

yes? ! x=3:9@fln:5  says look within 5 grid cells beyond the requested limits of x=3:9 when filling

yes? list var[x=3:9@fln:5]
             VARIABLE : {1,,,,2,,,,6}
                        linear-filled by 5 pts on X
             SUBSET   : 7 points (X)
 3   / 3:  1.500
 4   / 4:  1.750
 5   / 5:  2.000
 6   / 6:  3.000
 7   / 7:  4.000
 8   / 8:  5.000


One alternative would be to take a look at the function

yes? show function fill_xy
FILL_XY(DATA,MASK,N)
    fills missing values with average nearest neighbour values
    DATA: this arg is filled
    MASK: mask (1 -> fill, missing -> do not fill)
    N: the maximum number of fill-passes



On 9/4/2018 6:40 PM, saurabh rathore wrote:
Dear Ferreters,

I am facing a problem that in my data set I dont have uniform NaN locations i.e. location of NaN is changing with time so as the Number of Good Points. So I thought to use interpolation to make uniform NaN location at all time steps. such that Number of Good Points will be same at all time steps. 

let rain1=rain[x=@fln:5,y=@fln:5]
list rain1[x=@ngd,y=@ngd], rain[x=@ngd,y=@ngd]
             DATA SET: ./rain_land.nc
             TIME: 16-JAN-1961 00:00 to 16-DEC-2017 00:00 360_DAY
             LONGITUDE: 112E to 154E (XY # valid)
             LATITUDE: 44S to 10S (XY # valid)
 Column  1: RAIN1 is RAIN[X=@FLN:5,Y=@FLN:5]
 Column  2: RAIN is RAIN2[D=1]*MASK[GXY=ROSEXY]
                     RAIN1    RAIN
01-FEB-1961 /   1:  372084.  251863.
16-APR-1961 /   2:  372084.  252028.
16-JUL-1961 /   3:  372200.  251145.
16-OCT-1961 /   4:  372200.  252175.
16-JAN-1962 /   5:  372200.  252582.
16-APR-1962 /   6:  372200.  252074.
16-JUL-1962 /   7:  372200.  252014.
16-OCT-1962 /   8:  372200.  251934.
16-JAN-1963 /   9:  372200.  252245.
16-APR-1963 /  10:  372200.  252299.
16-JUL-1963 /  11:  372200.  253485.
16-OCT-1963 /  12:  372200.  252965.
16-JAN-1964 /  13:  372200.  253166.
16-APR-1964 /  14:  372200.  252025.
16-JUL-1964 /  15:  372200.  251561.
16-OCT-1964 /  16:  372200.  251443.
16-JAN-1965 /  17:  372200.  252010.
16-APR-1965 /  18:  372200.  252017.
16-JUL-1965 /  19:  372200.  252336.
16-OCT-1965 /  20:  372200.  254165.
16-JAN-1966 /  21:  372200.  254125.
16-APR-1966 /  22:  372200.  254299.
16-JUL-1966 /  23:  372200.  254406.
16-OCT-1966 /  24:  372200.  256191.
16-JAN-1967 /  25:  372200.  256082.
16-APR-1967 /  26:  372200.  256142.
16-JUL-1967 /  27:  372200.  256252.
16-OCT-1967 /  28:  372200.  256194.
16-JAN-1968 /  29:  372200.  256746.
.......
......
.......
16-JUL-2011 / 203:  372200.  250125.
16-OCT-2011 / 204:  372200.  253454.
16-JAN-2012 / 205:  372200.  259980.
16-APR-2012 / 206:  372200.  258723.
16-JUL-2012 / 207:  372056.  244920.
16-OCT-2012 / 208:  372108.  249657.
16-JAN-2013 / 209:  372197.  250057.
16-APR-2013 / 210:  372192.  252042.
16-JUL-2013 / 211:  372109.  248603.
16-OCT-2013 / 212:  372114.  250663.
16-JAN-2014 / 213:  372181.  253777.
16-APR-2014 / 214:  372146.  253824.
16-JUL-2014 / 215:  372151.  250433.
16-OCT-2014 / 216:  372093.  253731.
16-JAN-2015 / 217:  372169.  252591.
16-APR-2015 / 218:  372140.  250404.
16-JUL-2015 / 219:  372107.  250558.
16-OCT-2015 / 220:  372100.  251296.
16-JAN-2016 / 221:  372141.  252942.
16-APR-2016 / 222:  372152.  251985.
16-JUL-2016 / 223:  372151.  253558.
16-OCT-2016 / 224:  372152.  254161.
16-JAN-2017 / 225:  372153.  254016.
16-APR-2017 / 226:  372120.  250580.
16-JUL-2017 / 227:  372121.  249324.
16-OCT-2017 / 228:  372149.  253319.
16-DEC-2017 / 229:  372153.  252808.

SO rain is original variable and rain1 is interpolated variable

I am puzzled in this please help.

regards, saurabh

--


REGARDS

Saurabh Rathore
Research Scholar (PhD.)
Centre For Oceans, Rivers, Atmosphere & Land Science Technology
Indian Institute Of Technology, Kharagpur
contact :- 91- 8345984434

[Thread Prev][Thread Next][Index]
Contact Us
Dept of Commerce / NOAA / OAR / PMEL / Ferret

Privacy Policy | Disclaimer | Accessibility Statement