[Thread Prev][Thread Next][Index]

Re: [ferret_users] Jason Images



Hi Paula,

looking into the example file it seems that the lat/lon values describe the position of JASON as function of time. Hence, they do not define a grid and cannot be read into ferret as grid co-ordinates. There seems to be
no way around the gridding procedure.

I think you should process all files separately. Hence, the first step could be to put the track onto your grid, say with* scat2gridgauss_xy* . Save the result into a netcdf file. The time stamp could be the time average of all
times within the file.

The next step would be to join the gridded files. I am sure that this could be done file by file?

Hope this helps?

Martin Schmidt



PaulaOCN Nunes wrote:

Hello Ferret users;

I attached an example of a netcdf Jason file which I'm working on ("JA1_IPR_2PcP334_001_20110125_040633_20110125_050240.nc") I'm interested in the sea surface height anomaly (SSHA) and their coordinates (lat, lon), but the file comes with all the data in the time axis (1 pair of coordinates and a measure of SSHA for each scan of the satellite). Here goes the display of the data:

* 1> ./JA1_IPR_2PcP334_001_20110125_040633_20110125_050240.nc  (default)
name title I J K L LAT latitude ... ... ... 1:2350 LON longitude ... ... ... 1:2350 SSHA sea surface height anomaly ... ... ... 1:2350, etc
*
I realize I need to regrid it to the "I" and "J" axis to be able to work with it, then, I first tried to regrid the "lat" variable to the "I" axis:

*define axis/x=1:2350:1 iaxis
define grid/x=iaxis gridCOL
let lat2=lat[g=gridCOL]
*
But it didn't show any difference on the grid ferret's display:

*sh grid lat
    GRID GSF1
 name       axis              # pts   start                end
 normal    X
 normal    Y
 normal    Z
TIME TIME 2350 i 25-JAN-2011 04:06 25-JAN-2011 05:02

sh grid lat2
    GRID GSF1
 name       axis              # pts   start                end
 normal    X
 normal    Y
 normal    Z
TIME TIME 2350 i 25-JAN-2011 04:06 25-JAN-2011 05:02*

Second I tried to regrid the "lat" variable, but to a grid with the 3 axis:

* define axis/y=1:2350:1 jaxis
 define axis/t=1:1:1 laxis
 define grid/x=iaxis/y=jaxis/t=laxis gridCOL_ROW
let lat3=lat[g=gridCOL_ROW]
sh grid lat3
    GRID (G002)
 name       axis              # pts   start                end
 normal    X
 normal    Y
 normal    Z
 LAXIS     T                    1 r   1                    1
*
...it was worse, ferret and I got more confused...The only way I could work out to give this data a X/Y axis was to save it as a binary:

*list/clobber/format=unformatted/file="jason1.dat" lon,lat,ssha*

...and open it again:

*define axis/x=1:2350:1 iaxis
define grid/x=iaxis gridCOL
file/format=unformatted/grid=gridCOL/var=lon,lat,ssha/col=3 "jason1.dat"*
* sh da
    2> ./jason1.dat  (default)
name title I J K L LON LON 1:2350 ... ... ... LAT LAT 1:2350 ... ... ... SSHA SSHA 1:2350 ... ... ...
*
Does anyone have an easier way to regrid the data from the "L" axis to the "I"/"J" axis? After this, I used the "scat2gridgauss_xy" command to put the variables to this global grid:

*!global grid for all Jason's possible tracks:
define axis/x=0:360:0.052252252/UNIT=degrees xJASON
define axis/y=-66.15:60.15:0.052252252/UNIT=degrees yJASON
let sshaJASON=scat2gridgauss_xy(lon,lat,ssha,x[gx=xJASON],y[gy=yJASON],0.5, 0.5, 2, 0)*

I ploted these "sshaJASON" variable with "shade", no problems, but isn't there a way to the axis recognize the coordinates described by the variables "lat" and "lon",
without the need of the "scat2gridgauss_xy" command?
Well, this file is one track of the satellite, and I 'd like to join a hole cycle of it, which is the sum of 254 files, to do so, I made a script in loop, for load and save the 254 binaries files but I'm not able, because Ferret allows until 100 datasets to be loaded at the same time:

*repeat/i=1:(numberFILES):1 (\
list `i`; \
file/var=ndata "ndata_`i`.txt"; \
define axis/x=1:`ndata[i=1]`:1 iaxis; \
ca da 1; \
define grid/x=iaxis gridTRIPA; \
let arq= "JASON_`i`.dat"; \
file/format=unformatted/grid=gridTRIPA/var=lon,lat,ssha/col=3 "`arq`" ; \
let sshaJASON=scat2gridgauss_xy(lon,lat,ssha,x[gx=xJASON],y[gy=yJASON],0.5, 0.5, 2, 0) ; \
let sshaJASON`i` = missing(sshaJASON,0); \
let sobrepoe`i`_ssha=if (sshaJASON NE 0) then (sshaJASON) else (sobrepoe`i-1`_ssha[l=1]); \
)
let sobrepoe_ssha=sobrepoe(numberFILES)_ssha[l=1]
set variable/bad=0 sobrepoe_ssha[l=1]
set memo/size=1000;shade sobrepoe_ssha;go land_hires
*
So I tried to cancel the variables ("ca var ssha") at the end of loop, but:

***ERROR: invalid command: can only CANCEL variables you DEFINE SSHA
ca var ssha*

then I tried to cancel the dataset at the end of loop ("ca da/all" or "ca da 1"), but it keep asking for the old variable (SSHA), and I'm unabled to use the new variable with the overlappings (sobrepoe_ssha):

*!-> REPEAT: I=1
 !-> list 1
             VARIABLE : constant
          1.000
!-> SET DATA/EZ/var=ndata "/home/paula/Ressurgencia/JASON/c334/ndata_1.txt"
 !-> define axis/x=1:2350:1 iaxis
Replacing definition of axis IAXIS
!-> DEFINE VARIABLE arq= "/home/paula/Ressurgencia/JASON/c334/JASON_1.dat" !-> SET DATA/EZ/format=unformatted/grid=gridTRIPA/var=lon,lat,ssha/col=3 "/home/paula/Ressurgencia/JASON/c334/JASON_1.dat"
 !-> DEFINE VARIABLE sshaJASON1 = missing(sshaJASON,0)
!-> DEFINE VARIABLE sobrepoe1_ssha=if (sshaJASON NE 0) then (sshaJASON) else (sobrepoe0_ssha[l=1])

let sobrepoe_ssha=sobrepoe($cont2)_ssha[l=1]
 !-> DEFINE VARIABLE sobrepoe_ssha=sobrepoe1_ssha[l=1]
set variable/bad=0 sobrepoe_ssha[l=1]

shade sobrepoe_ssha
 **ERROR: variable unknown or not in data set: SSHA
shade sobrepoe_ssha
Command file, command group, or REPEAT execution aborted*

Is there any way to clear the datasets so I'm able to handle with new variables?

Thanks,
Paula Lamosa Nunes



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

Privacy Policy | Disclaimer | Accessibility Statement