Hi Ferreters,
I'm puzzled. The SAVE command sometimes seems to reduce
the x-dimension without being told to do so. In the following
example, I try to save a time-average of a 4D variable:
!!>>>> BEGIN SESSION >>>>>>>>>>>>>>>>>>>>>>
$ ferret
NOAA/PMEL TMAP
FERRET v6.1
Linux(g77) 2.6.9-22. - 03/26/08
8-Mar-09 16:00
set mode grat:dash
yes? use "http://. . . ./temp"
yes? show data
currently SET data sets:
1> http://. . . ./temp (default)
name title I J K L
TEMP potential temperature 1:3600 1:1500 1:54 1:72
yes? set memory/size=400
Cached data cleared from memory
set mode grat:dash
yes? save/file=tmp.nc temp[l=1:2@ave]
LISTing to file tmp.nc
yes?
!!<<<< END SESSION <<<<<<<<<<<<<<<<<<<<<<<<
But, the ncdump -h indicates that the variable in the
new file has a dimension of 1 x 1500 x 54, as can be seen
in the attached output.
I plotted the new variable on Ferret. It seemed
to contain only the meridional section at i=1 (x=0.1E).
I tried a few other 4D fields but couldn't reproduce this
behavior.
A workaround seems to be
yes? save/file=tmp.nc temp[i=1:3600,l=1:2@ave]
Regards,
Ryo
--------------
netcdf tmp {
dimensions:
LON1_1 = 1 ;
LAT = 1500 ;
LEV = 54 ;
bnds = 2 ;
variables:
double LON1_1(LON1_1) ;
LON1_1:units = "degrees_east" ;
LON1_1:long_name = "longitude" ;
LON1_1:modulo = 360. ;
LON1_1:point_spacing = "even" ;
LON1_1:axis = "X" ;
double LAT(LAT) ;
LAT:units = "degrees_north" ;
LAT:long_name = "latitude" ;
LAT:point_spacing = "even" ;
LAT:axis = "Y" ;
double LEV(LEV) ;
LEV:units = "meters" ;
LEV:positive = "down" ;
LEV:long_name = "altitude" ;
LEV:point_spacing = "uneven" ;
LEV:axis = "Z" ;
LEV:bounds = "LEV_bnds" ;
double LEV_bnds(LEV, bnds) ;
float TEMP(LEV, LAT, LON1_1) ;
TEMP:missing_value = -1.e+34f ;
TEMP:_FillValue = -1.e+34f ;
TEMP:long_name = "potential temperature" ;
TEMP:long_name_mod = "T=30-DEC-0045 12:00:01-MAR-0046 00:00@AVE" ;
TEMP:history = "From temp" ;
// global attributes:
:history = "FERRET V6.1 8-Mar-09" ;
:Conventions = "CF-1.0" ;
}