Ticket #423 (closed task: fixed)

Opened 13 years ago

Last modified 12 years ago

[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:1 Changed 13 years ago by domlowe

  • Status changed from new to assigned

comment:2 Changed 12 years ago by domlowe

  • Milestone changed from BETA to PROD Step2

Moving milestone.

comment:3 Changed 12 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

Note: See TracTickets for help on using tickets.