Hi,
There's at least two solutions to this.
1) Use a tool like the NCO utility 'ncrename' to either rename the
dimension 'z' to 'depthu' OR rename the variable 'depthu' to 'z'.
This will make the
depth axis a coordinate axis and Ferret will be happy.
2) Define a depth axis within Ferret based on the values of
'depthu' and remap using @ASN.
def axis/z/depth/from_data/units="m" my_depth=depthu[k=1:42]
let vozocrtx_new = vozocrtx[gz=my_depth@ASN]
Cheers,
Russ
On 14/03/17 02:18, Martin Schmidt wrote:
Hi,
This result should be correct!
Your variable depends on "z" not on "depthu".
variables:
long time_counter(t) ;
float vozocrtx(t, z, y, x) ;
The same is valid for your output variable, the horizontal
coordinates are changed as it should be, otherwise it depends
again on "t" and "t".
What is missing in your new file is the information on the
vertical levels.
double depthu(z) ;
You need to save this variable in your new file and can work
with the vertical coordinate like in the original file.
Hopefully ...
Best,
Martin
On 03/13/2017 04:09 PM, Arijeet Dutta wrote:
Hi
original file i.e. in native grid dumps
netcdf vozocrtx_fa9p_1m_2001_grid_U {
dimensions:
t = UNLIMITED ; // (12 currently)
z = 42 ;
y = 292 ;
x = 362 ;
variables:
long time_counter(t) ;
float vozocrtx(t, z, y, x) ;
vozocrtx:_FillValue = 9.96921e+36f ;
vozocrtx:coordinates = "time_counter depthu
u_lat u_lon" ;
vozocrtx:long_name = "Zonal Current" ;
vozocrtx:offline_operation = "monthly mean" ;
vozocrtx:units = "m/s" ;
double depthu(z) ;
float u_lat(y, x) ;
float u_lon(y, x) ;
byte umask(z, y, x) ;
After curv_to_rect, new file dumps
dimensions:
XAX = 91 ;
YAX = 76 ;
Z = 42 ;
T = UNLIMITED ; // (12 currently)
variables:
double XAX(XAX) ;
XAX:units = "degrees_east" ;
XAX:point_spacing = "even" ;
XAX:axis = "X" ;
XAX:modulo = 360. ;
XAX:standard_name = "longitude" ;
double YAX(YAX) ;
YAX:units = "degrees_north" ;
YAX:point_spacing = "even" ;
YAX:axis = "Y" ;
YAX:standard_name = "latitude" ;
double Z(Z) ;
Z:point_spacing = "even" ;
Z:axis = "Z" ;
Z:standard_name = "altitude" ;
double T(T) ;
T:axis = "T" ;
T:standard_name = "time" ;
double U1(T, Z, YAX, XAX) ;
U1:missing_value = -9.999999999999999e+33 ;
U1:_FillValue = -9.999999999999999e+33 ;
U1:long_name = "CURV_TO_RECT(U[D=1], MAP[D=2])"
;
with z values
Z = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
16, 17, 18, 19, 20,
21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
34, 35, 36, 37, 38,
39, 40, 41, 42 ;
greetings
Arijeet
|