Hi -
The scat2grid functions assume that the x and y locations of the
scattered points contain no missing data. It's the data field, not
the locations that are missing, after all. We'll fix the function so
it'll detect any missing values among xpts, and ypts, and just skip
over those in the calculation as it does for missing values in
argument 3, the data values. But in the meantime you can work
around this by defining your xpts and ypts without multiplying the
locations by 0*swh_grid:
let xpts = xsequence(x[g=swh_grid] + 0*y[g=swh_grid])
let ypts = xsequence(x[g=swh_grid] + y[g=swh_grid])
let datapts = xsequence(swh_grid)
let xscale=0.1
let yscale=0.1
let cutoff=2
let swh_smooth =
scat2gridgauss_xy(xpts,ypts,datapts,x[g=fine_grid],y[g=fine_grid],xscale,yscale,cutoff,0)
The other cases you did which worked fine must somehow not quite
have the same kinds of definitions. It's not the fact that it's
from a netCDF dataset, but some variation in the definitions of the
variables.
Ansley
On 1/28/2011 4:27 PM, Szymon Roziewski wrote:
I have to use this or similar function because I get
horrible result. I
discussed that problem with Dr. Hein and he advised me to use
scat2gridgauss_xy. Then I had cdf data and all worked properly.
But now
when I try to reuse it it doesn't work. The script looks like
being
hanged.
I give the link to what Dr. Hein said.
http://www.pmel.noaa.gov/maillists/tmap/ferret_users/fu_2010/msg00803.html
Kind regards,
Szymon Roziewski
2011/1/28 Ansley Manke <Ansley.B.Manke@xxxxxxxx>
Hi -
Is Ferret crashing, or the script exiting? Or does it just
take a very long time? Why are you using the scat2grid
function? It seems that you're starting with gridded data and
regridding it to this very fine grid. The Ferret regridding
transformations would do this directly.
Once you have read in your data, and defined the fine grid,
yes? let swh_smooth = swh_grid[gx=xfine,gy=yfine]
yes? fill swh_smooth
This regrids almost at once. There are several regridding
transformations to choose from; run the Ferret command SHOW
TRANSFORMS command for a list of them.
Ansley
On 1/28/2011 4:44 AM, Szymon Roziewski wrote:
Dear Ferreters,
I have such a script:
set win/size=6.0/aspect=`1.1`
SET VIEWPORT FULL
CANCEL MODE LOGO
DEFINE AXIS/X=-5.666666667:5.25:0.083333333/unit=degree
xlon
DEFINE AXIS/Y=-2.0:10.0:0.083333333/unit=degree ylat
DEFINE GRID/x=xlon/y=ylat grid_xlon_xlat
FILE/VARIABLES=swh_grid/COLUMNS=132/GRID=grid_xlon_xlat
swh20101018090000.txt
set var/bad=-1 swh_grid
set var/units=meters swh_grid
set var/title="Significant Wave Height" swh_grid
DEFINE AXIS/X=-5.666666667:5.25:0.010416667/unit=degree
xfine
DEFINE AXIS/Y=-2.0:10.0:0.010416667/unit=degree yfine
DEFINE GRID/x=xfine/y=yfine fine_grid
let xpts = xsequence(0*swh_grid+x[g=swh_grid])
let ypts = xsequence(0*swh_grid+y[g=swh_grid])
let datapts = xsequence(swh_grid)
let xscale=0.1
let yscale=0.1
let cutoff=2
let swh_smooth =
scat2gridgauss_xy(xpts,ypts,datapts,x[g=fine_grid],y[g=fine_grid],xscale,yscale,cutoff,0)
list swh_smooth
wchich should do interpolation data, but it doesn't. The
script follows up to the line with list swh_smooth and
as reached as is iddle.
I think the line with scat2gridgauss_xy function failed.
But I don't know the reason.
Why is that I don't know. I have very similar script
which copes with cdf data and do it well.
But in this case previous approach failed. (When I try
using txt data with flag bad=-1.)
I attach the data file.
Kind regards,
Szymon Roziewski
--
Z wyrazami szacunku,
Szymon Roziewski
|