Hi
Back again.
The visible difference (what i can see) is in the attribute of variable
Lambert_Conformal where in CF is only one parallel, but we got two -
standard_parallel_1 and standard_parallel_2.
here is a sample file:
http://www.cs.cas.cz/~lehner/t2_070411_00.nc
Some more info below.
John Caron napsal(a):
Hi Lukas:
It can be a subtle problem to diagnose if a file is "really" following
CF correctly.
You could try sending your file through here:
http://motherlode.ucar.edu:8080/thredds/cdmValidate.html
and see if the results are helpful.
Outcome of validation:
Summary:
* Dataset contains useable gridded data.
* Some variables are not gridded fields; check that is what you expect.
Convention= CF-1.0
Coordinate Axes
Name Declaration AxisType units udunits regular
lat float lat(x=66, y=78) Lat degrees_north 0.017453292519943295
rad
lon float lon(x=66, y=78) Lon degrees_east 0.017453292519943295
rad
time int time(time=79) Time hours since 2007-04-11T00:00:00
date 1.0
x float x(x=66) GeoX m m 9004.3
y float y(y=78) GeoY m m 9028.5
Grid Coordinate Systems
Name X Y Vertical Time
time lat y lon x lon lat time
Grid variables
Name Declaration units udunits CoordSys
t2 float t2(time=79, x=66, y=78) K K time lat lon
Non-Grid variables
Name Declaration units udunits CoordSys
Lambert_Conformal int Lambert_Conformal
Seems to be fine
Or look at it in the ToolsUI program (Coordinate System Tab) and see
what the INFO button tells you.
http://www.unidata.ucar.edu/software/netcdf-java/v2.2/webstart
Not much too:
<?xml version="1.0" encoding="UTF-8"?>
<netcdfDatasetInfo
location="/Volumes/fserver/storage/netcdf/Medard/domain2-test/t2/t2_070411_00.nc">
<convention name="CF-1.0" />
<axis name="lat" decl="float lat(x=66, y=78)" type="Lat"
units="degrees_north" udunits="0.017453292519943295 rad" />
<axis name="lon" decl="float lon(x=66, y=78)" type="Lon"
units="degrees_east" udunits="0.017453292519943295 rad" />
<axis name="x" decl="float x(x=66)" type="GeoX" units="m" udunits="m"
regular="9004.3" />
<axis name="y" decl="float y(y=78)" type="GeoY" units="m" udunits="m"
regular="9028.5" />
<axis name="time" decl="int time(time=79)" type="Time" units="hours
since 2007-04-11T00:00:00" udunits="date" regular="1.0" />
<gridCoordSystem name="time lat y lon x" horizX="lon" horizY="lat"
time="time" />
<grid name="t2" decl="float t2(time=79, x=66, y=78)" units="K"
udunits="K" coordSys="time lat lon" />
<variable name="Lambert_Conformal" decl="int Lambert_Conformal"
coordSys=" " />
<userAdvice>Dataset contains useable gridded data.</userAdvice>
<userAdvice>Some variables are not gridded fields; check that is what
you expect.</userAdvice>
</netcdfDatasetInfo>
----------------------
Parsing with Convention = CF-1.0
Coordinate Variable added = x
Coordinate Variable added = y
Coordinate Variable added = time
CoordinateAxis = lat added; referenced from var= t2
CoordinateAxis = lon added; referenced from var= t2
created implicit coord System 'time lat y lon x' for var= t2
For background on Conventions:
http://www.unidata.ucar.edu/software/netcdf/conventions.html
http://www.unidata.ucar.edu/software/netcdf-java/reference/CSObjectModel.html
Here are the attributes and data of the file:
Attributes {
lat {
String long_name "latitude coordinate";
String standard_name "latitude";
String units "degrees_north";
}
lon {
String long_name "longitude coordinate";
String standard_name "longitude";
String units "degrees_east";
}
x {
String units "m";
String long_name "x coordinate of projection";
String standard_name "projection_x_coordinate";
}
y {
String units "m";
String long_name "y coordinate of projection";
String standard_name "projection_y_coordinate";
}
Lambert_Conformal {
String grid_mapping_name "lambert_conformal_conic";
Float64 standard_parallel_1 30.0;
Float64 standard_parallel_2 60.0;
Float64 longitude_of_central_meridian 12.0;
Float64 latitude_of_projection_origin 50.0;
}
time {
String long_name "forecast (valid) time";
String units "hours since 2007-04-10T06:00:00";
String standard_name "time";
}
t2 {
String long_name "2 m temperature";
String units "K";
String coordinates "lat lon";
String grid_mapping "Lambert_Conformal";
}
NC_GLOBAL {
String Conventions "CF-1.0";
}
}
Dataset {
Grid {
ARRAY:
Float32 lat[x = 66][y = 78];
MAPS:
Float32 x[x = 66];
Float32 y[y = 78];
} lat;
Grid {
ARRAY:
Float32 lon[x = 66][y = 78];
MAPS:
Float32 x[x = 66];
Float32 y[y = 78];
} lon;
Float32 x[x = 66];
Float32 y[y = 78];
Int32 Lambert_Conformal;
Int32 time[time = 79];
Grid {
ARRAY:
Float32 t2[time = 79][x = 66][y = 78];
MAPS:
Int32 time[time = 79];
Float32 x[x = 66];
Float32 y[y = 78];
} t2;
}
Lukas Lehner wrote:
Hello
I'm using idv 2.2b2, is it automatically using the information in the
netcdf header to draw the grid according to set up projection?
Because it is still showing data in original lat-lon projection.
I just don't know if this is idv feature or bug.
The data in netcdf file follow CF convention.
Thank you
Lukas