[Thread Prev][Thread Next][Index]

Re: [ferret_users] scat2gridgauss not functioning properly



Hi Stephen,
The underlying code that scat2gridlaplace calls to do the gridding operation has some work space that's hardwired in size to 50,000 points. Your data is 960*367 = 352367 points so the code eventually overwrites memory and causes the crash. We should at least put in a test for that limit being exceeded so you'd get a useful error message - but I should be able to set up the work space with dynamically-allocated memory so it'd work correctly.

Ansley

Stephen Guimond wrote:
Hi Jaison,

Thank you for your response, using a 1-D axis for x and y input values worked.  I suppose the "objective_analysis_demo" script should be fixed because it shows 2-D axes for x and y input.

Another thing I found was that using "scat2gridlaplace" causes a crash of FERRET.  I used similar input as I did with "scat2gridgauss", but with cay and nrng both equal to 5.  I am using FERRET v6.1  for 32-bit Linux.  Have you found anything similar?

Thanks,
Steve


----- Original Message -----
From: jaison@xxxxxxxxxxxxxx
Date: Wednesday, August 20, 2008 9:51 pm
Subject: Re: [ferret_users] scat2gridgauss not functioning properly
To: guimond@xxxxxxxxxxxxx
Cc: ferret_users@xxxxxxxx

  
Hi Steve,
          According to documentation (and from experience), the 
first two
input arguments to SCAT2GRIDGAUSS function should be defined on 
either X
(and ZT) or Y (and ZT) axis, but NOT on both X and Y at the same time.
(see  Ch3 Sec2.3.37.  SCAT2GRIDGAUSS_XY). In your script add the 
followinglines

  let xx1D = XSEQUENCE(xx)
  let yy1D = XSEQUENCE(yy)

then use these variables in SCAT2GRIDGAUSS function as

  let sgrid = scat2gridgauss_xy(xx1D, yy1D, .........)

Ok. The last argument (9th one) is not used in newer versions of 
Ferret.The 3 arguments before that, XSCALE, YSCALE and CUTOFF need 
to be chosen
to match your destination grid. Read the documentation carefully for
CUTOFF. You can try few different values to choose between high-
data loss
(smaller SCALE and CUTOFF) and high-smoothing (higher SCALE and 
CUTOFF),with respect to the destination grid. For example, if 
CUTOFF is 2, then
XSCALE can be dx (of destination grid) and YSCALE can be dy.

Also note that, it is always a good habit to add proper units while
defining axis, and use proper names (xlon, ylat or xkm, ykm etc).

Please let me  know if you have any questions.

Thanks and Regards,

Jaison

    
Hello Ferreters,

I am trying to put scattered data onto a regular grid and tried 
      
with the scat2gridgauss
    
function.

Here is my code:

! the scattered data axes...
def axis/x=1:960:1 x;def axis/y=1:367:1 y;def grid/x=x/y=y g
file/format=stream/grid=g/var="xx,yy,zz,dbz" output.dat
! the regular grid axes...
def axis/x=-240:240:0.5 nx;def axis/y=-240:240:0.5 ny
let sgrid = scat2gridgauss_xy(xx, yy, dbz, x[gx=nx], y[gy=ny], 
      
2.,2.,2.,0)>
    
The result does not work (toying with the last few parameters 
      
makes no difference),
    
although it does have the grid I expect.  I'm assuming the same 
      
will be true for the
    
scat2gridlaplace functions as well.

Any ideas?

Thanks,
Steve


=======================================================
Stephen R. Guimond
Graduate Research Assistant
Florida State University
Center for Ocean-Atmospheric Prediction Studies (COAPS)
=======================================================

      


    

=======================================================
Stephen R. Guimond
Graduate Research Assistant
Florida State University
Center for Ocean-Atmospheric Prediction Studies (COAPS)
=======================================================
  

[Thread Prev][Thread Next][Index]

Contact Us
Dept of Commerce / NOAA / OAR / PMEL / TMAP

Privacy Policy | Disclaimer | Accessibility Statement