Ticket #423 (closed task: fixed)
[DS] Implement sequence rule properly in CSML code.
Reported by: | domlowe | Owned by: | domlowe |
---|---|---|---|
Priority: | critical | Milestone: | PROD Step2 |
Component: | CSML | Version: | |
Keywords: | Cc: |
Description
There were problems with 'upside-down' data in Alpha. This is just a cut and paste from email to remind me of how to fix this:
Okay, I think I've worked out what's going on. The main problem is that 'atmos' and 'ocean' files differ in the order they define their latitude. However the secondary problem is that I didn't write any code to handle this (well it was Alpha.. )
So if you take Ag's example of snowdepth_o from 'ocean':
In the subsetted CSML file, the latitude is the opposite way up to the subsetted netcdf file:
CSML:
<axisValues>
-88.125, -86.875, -85.625, -84.375, -83.125, -81.875, -80.625, -79.375, -78.125 ..... snip......... 84.375, 85.625, 86.875, 88.125
</axisValues>
NetCDF:
latitude = 88.125, 86.875, 85.625, 84.375, 83.125, 81.875, 80.625, 79.375,
78.125, 76.875, .......... snip............., -85.625, -86.875, -88.125 ;
And it plots upside down in the DX.
However if you take another variable (from atmos):
Dataset Group 1 Coupled Ocean-Atmosphere Processes and European Climate
Dataset 1.1 500-Year Run: Atmospheric Monthly means
Variable 1.1.49 solar_3
Output format 1.1.49 CSML/NetCDF
Axis 1.1.49.1 ['2789-12-16T00:00:0.000000', '2789-12-16T00:00:0.000000']
Axis 1.1.49.2 [-90, 90]
Axis 1.1.49.3 [0, 356]
You get:
CSML:
90.0, 87.5, 85.0, .... snip.... -85.0, -87.5, -90.0
NetCDF ........ snip .......... -90, -87.5, -85 ... snip... 77.5, 80, 82.5, 85, 87.5, 90
This plots the right way up.
Now the fact the CSML and NetCDF don't correspond is due to me flipping the netcdf data so it looked right in the WCS. (And forgetting to flip the csml to correspond!)
Whereas what we should have done was used the sequenceRule element to define the order +x+y-z and taken it into account when creating the NetCDf.
The subsetted CSML file should also correspond to the output NetCDF, so if we flip the values in the NetCDF we should flip them in the CSML. But the flipping is dependent on the sequenceRule.
At least now I can write some coding rules for the sequenceRule, and how it should be created/handled by the scanner/parser.
Change History
comment:2 Changed 14 years ago by domlowe
- Milestone changed from BETA to PROD Step2
Moving milestone.
comment:3 Changed 14 years ago by domlowe
- Status changed from assigned to closed
- Resolution set to fixed
This was connected to an issue with the way CDMS behaves that was fixed in this changeset http://proj.badc.rl.ac.uk/ndg/changeset/2633