Re: question about linmsg interpolating missing value in a region that result has not changed as before ?

From: Dennis Shea <shea_at_nyahnyahspammersnyahnyah>
Date: Tue Nov 26 2013 - 09:08:48 MST

The explanation is not clear.

If, at each time step, you want the missing (_FillValue)
grid points 'filled-in', use

http://www.ncl.ucar.edu/Document/Functions/Built-in/poisson_grid_fill.shtml

There are numerous examples at:
http://www.ncl.ucar.edu/Applications/grid_fill.shtml

On 11/26/13 8:50 AM, dyjbean wrote:
> if those missing values exist over lakes, but i want to fill them with arounding values, what you said they stand
> at the same location is true, but the linmsg interpolation has left them uninterpolated .
>
>
>
>
> dyjbean
>
> From: Maria Gehne
> Date: 2013-11-26 23:44
> To: dyjbean; ncl-talk
> Subject: Re: question about linmsg interpolating missing value in a region that result has not changed as before ?
> Do you know what parts of your data are missing values? If the missing values are always in the same location (like missing values over land, ocean or lakes) then interpolating in time is not going to give you a different result than what you started with.
>
> Maria
>
> On 11/25/2013 07:16 PM, dyjbean wrote:
>
> hi,
> when i processed the missing value with linmsg interpolation method ,there met a question as follows:
> the part of codes is as follows:
>
> ______________________________________________________________
> lat!0 = "lat"
> lat@long_name="lat"
> lat@units="degrees-north"
> lat&lat=lat
>
> lon!0 = "lon"
> lon@long_name="lon"
> lon@units="degrees-east"
> lon&lon=lon
>
> slrad!0="time"
> slrad!1="lat"
> slrad!2="lon"
> slrad&lat=lat
> slrad&lon=lon
> slrad&lat@units="degrees-north"
> slrad&lon@units="degrees-east"
>
> slrad=where(ismissing(slrad),2.e+20,slrad)
> slrad@_FillValue=2.e+20
> slrad@missing_value=2.e+20
> print(num(ismissing(slrad))+" before")
> ;; linear interpolation
> sslrad=linmsg(slrad(lat|:,lon|:,time|:),-1)
> sslrad!0="lat"
> sslrad!1="lon"
> sslrad!2="time"
> slrad=(/sslrad(time|:,lat|:,lon|:)/)
> print(num(ismissing(sslrad))+" temp")
> print(num(ismissing(slrad))+" after")
> delete(sslrad)
> ________________________________________________________________
>
> the output result in screen is as follows
>
> (0) 65472 before
> (0) 65472 temp
> (0) 65472 after
>
>
> it seemed the linear interpolation didn't work.
> it's strange appearance
>
>
>
>
> dyjbean
>
>
>
> _______________________________________________
> 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
>
_______________________________________________
ncl-talk mailing list
List instructions, subscriber options, unsubscribe:
http://mailman.ucar.edu/mailman/listinfo/ncl-talk
Received on Tue Nov 26 09:08:59 2013

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