wiki:Dev/GribFormat

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

--

WCSTImport

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
    }
  }
}

rasdaman

Petascope should send 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 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.

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