Unsupported file structure:
Added by Dhirendra Kumar over 5 years ago
Hii Folks
I am trying to remap a file in CDO. The file does not open for any of the command ( including sinfo, info etc..). I am getting the following error message:
*Warning (cdf_read_xcoord): Unsupported array structure, skipped variable va850!
cdo info: Open failed on >a.nc<
Unsupported file structure
*
I have tried a few google searches but could not find anything substantial to solve the issue. I am not being able to find the source of the error. I seek help in this regard.
Many thanks
Dhirendra
Replies (3)
RE: Unsupported file structure: - Added by Karin Meier-Fleischer over 5 years ago
Hi Dhirendra,
without the file we cannot help. I guess it is not a correct netCDF file.
-Karin
RE: Unsupported file structure: - Added by Dhirendra Kumar over 5 years ago
Hi Karin
Thanks for the reply.
I could not attach the file in previous message due to space limitation (<97.7 MB) on the forum. Attaching the file here as a google drive link.
https://drive.google.com/file/d/1ObhZgxuhEQg7XZjh3wG2df3o49zSgDPV/view?usp=sharing
Please let me know, if you have any problem accessing the file.
Regards
Dhirenrda
RE: Unsupported file structure: - Added by Karin Meier-Fleischer over 5 years ago
The lon and lat variable are not depending on rlat and rlon but to x and y.
dimensions:
time = UNLIMITED ; // (365 currently)
rlon = 366 ;
rlat = 240 ;
bnds = 2 ;
y = 260 ;
x = 386 ;
variables:
double time(time) ;
time:standard_name = "time" ;
time:long_name = "time" ;
time:calendar = "proleptic_gregorian" ;
time:axis = "T" ;
time:units = "days since 1949-12-01 00:00:00" ;
time:bounds = "time_bnds" ;
double rlon(rlon) ;
rlon:standard_name = "grid_longitude" ;
rlon:long_name = "longitude in rotated pole grid" ;
rlon:units = "degrees" ;
rlon:axis = "X" ;
double rlat(rlat) ;
rlat:standard_name = "grid_latitude" ;
rlat:long_name = "latitude in rotated pole grid" ;
rlat:units = "degrees" ;
rlat:axis = "Y" ;
char rotated_pole ;
rotated_pole:long_name = "coordinates of the rotated North Pole" ;
rotated_pole:grid_mapping_name = "rotated_latitude_longitude" ;
rotated_pole:grid_north_pole_latitude = 79.9499969482422 ;
rotated_pole:grid_north_pole_longitude = -123.339996337891 ;
float va850(time, rlat, rlon) ;
va850:_FillValue = 1.e+20f ;
va850:standard_name = "northward_wind" ;
va850:long_name = "Northward Wind" ;
va850:units = "m s-1" ;
va850:cell_methods = "time: mean" ;
va850:coordinates = "plev lat lon" ;
va850:grid_mapping = "rotated_pole" ;
va850:missing_value = 1.e+20f ;
double time_bnds(time, bnds) ;
double plev ;
plev:units = "Pa" ;
plev:axis = "Z" ;
plev:positive = "down" ;
plev:long_name = "pressure" ;
plev:standard_name = "air_pressure" ;
double lon(y, x) ;
lon:standard_name = "longitude" ;
lon:long_name = "longitude" ;
lon:units = "degrees_east" ;
double lat(y, x) ;
lat:standard_name = "latitude" ;
lat:long_name = "latitude" ;
lat:units = "degrees_north" ;
Usually a rotated curvilinear grid looks like this (example)
dimensions:
time = UNLIMITED ; // (120 currently)
bnds = 2 ;
rlon = 424 ;
rlat = 412 ;
variables:
double time(time) ;
time:axis = "T" ;
time:bounds = "time_bnds" ;
time:calendar = "standard" ;
time:long_name = "time" ;
time:standard_name = "time" ;
time:units = "days since 1949-12-01 00:00:00" ;
double lon(rlat, rlon) ;
lon:standard_name = "longitude" ;
lon:long_name = "longitude" ;
lon:units = "degrees_east" ;
double lat(rlat, rlon) ;
lat:standard_name = "latitude" ;
lat:long_name = "latitude" ;
lat:units = "degrees_north" ;
double time_bnds(time, bnds) ;
time_bnds:units = "days since 1949-12-01 00:00:00" ;
time_bnds:calendar = "standard" ;
float variable(time, plev, rlat, rlon) ;
variable:standard_name = "air_temperature" ;
variable:long_name = "Variable long name" ;
variable:units = "K" ;
variable:coordinates = "lon lat plev" ;
variable:_FillValue = 1.e+20f ;
variable:missing_value = 1.e+20f ;
variable:cell_methods = "time: mean" ;
variable:grid_mapping = "rotated_pole" ;
double rlon(rlon) ;
rlon:standard_name = "grid_longitude" ;
rlon:long_name = "longitude in rotated pole grid" ;
rlon:units = "degrees" ;
rlon:axis = "X" ;
double rlat(rlat) ;
rlat:standard_name = "grid_latitude" ;
rlat:long_name = "latitude in rotated pole grid" ;
rlat:units = "degrees" ;
rlat:axis = "Y" ;
char rotated_pole ;
rotated_pole:grid_mapping_name = "rotated_latitude_longitude" ;
rotated_pole:grid_north_pole_latitude = 39.25 ;
rotated_pole:grid_north_pole_longitude = -162. ;
double plev ;
plev:units = "Pa" ;
plev:axis = "Z" ;
plev:positive = "down" ;
plev:long_name = "pressure" ;
plev:standard_name = "air_pressure" ;
Your lon and lat look like this and the size of (x=386,y=260) is not the same as of (rlon=366,rlat=240)
double lon(y, x) ;
lon:standard_name = "longitude" ;
lon:long_name = "longitude" ;
lon:units = "degrees_east" ;
double lat(y, x) ;
lat:standard_name = "latitude" ;
lat:long_name = "latitude" ;
lat:units = "degrees_north" ;