wiki:Dev/GribFormat

Version 6 (modified by dmisev, 17 months ago) (diff)

--

WCSTImport will send this information to Petascope:

<boundedBy>
    <Envelope srsName="SECORE:EPSG/0/4326@OGC/0/AnsiDate@OGC/0/Index1D?axis_label='ensemble'" axisLabels="{{axisLabels}}" uomLabels="{{uomLabels}}" srsDimension="4">
        <lowerCorner>0, 0, 0, 0</lowerCorner>
        <upperCorner>720, 360, 1, 1</upperCorner>
    </Envelope>
</boundedBy>


 <!-- Some other stuff should be here -->


<gml:rangeSet>
    <gml:rangeParameters>
        {{rangeParameters}}
    </gml:rangeParameters>
    <gml:File>
        <gml:fileReference><![CDATA[
                {{fileReference}} <!-- file url -->
            ]]></gml:fileReference>
        <gml:fileStructure>{{mimetype}} <!-- grib / netcdf /whatever in mimetype format --></gml:fileStructure>
    </gml:File>
</gml:rangeSet>

rangeParameters:

{
  message1: {
    Lat: {
      min: 0,
      max: 720
    },
    Long: {
      min: 0,
      max: 360
    },
    Ansi: {
      min: "2012-01-01T00:00",
      type: "ansi"
    },
    Ensemble: {
      min: 0
      type: "number"
      //optional, default is number
    }
  },
  message2: {
    Lat: {
      min: 0,
      max: 720
    },
    Long: {
      min: 0,
      max: 360
    },
    Ansi: {
      min: "2012-01-01T00:00",
      type: "ansi"
    },
    Ensemble: {
      min: 1
      type: "number"
      //optional, default is number
    }
  },
  message2: {
    Lat: {
      min: 0,
      max: 720
    },
    Long: {
      min: 0,
      max: 360
    },
    Ansi: {
      min: "2012-01-01T06:00",
      type: "ansi"
    },
    Ensemble: {
      min: 0
      type: "number"
      //optional, default is number
    }
  }
}

Petascope should send back to rasdaman:

UPDATE myCoverage AS m SET m[0:720,0:360,0:1, 0:1] ASSIGN VALUES decode($1, "{{messages}}")

Messages should be as follows:

{
  "messageDomains": [
    "[0:0,0:0,0:720,0:360]",
    "[0:0,1:1,0:720,0:360]",
    "[0:0,2:2,0:720,0:360]",
    ..
  ]
}

The X/Y are required to be the last dimensions as this is efficient and simple (no need to reorder anything in rasdaman.

The messageDomains should be ordered to match the message order in the GRIB file.

X and Y seem to be in the reverse order (like in netcdf), and it's necessary to transpose them in rasdaman, otherwise the data is rotated. So you have to consider this in petascope, the order should be Lon/Lat?, not as it is Lat/Lon? in the file.