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