eccodes/definitions/grib1/predefined_grid.def

128 lines
4.4 KiB
Modula-2

# Predefined grid 21
#position offsetSection2;
#transient section2Length=0 ;
template predefined_grid_values "grib1/grid_[gridDefinition].def";
# NV -- number of vertical coordinate parameters
constant numberOfVerticalCoordinateValues=0 ;
constant neitherPresent = 255;
alias NV = numberOfVerticalCoordinateValues;
alias numberOfCoordinatesValues= numberOfVerticalCoordinateValues;
# PV -- location
# (octet number)
constant pvlLocation = 255;
# Data representation type
constant dataRepresentationType = 0;
# Grid definition
# (according to data representation type - octet 6 above)
# grib 1 -> 2
constant gridDefinitionTemplateNumber = 0;
# START 1/grid_definition.latitude_longitude_grid ----------------------------------------------------------------------
# GRID DEFINITION latitude/longitude grid (or equidistant cylindrical)
alias numberOfPointsAlongAParallel=Ni;
alias numberOfPointsAlongAMeridian=Nj;
# Latitudes and Longitudes of the first and the last points
# Resolution and component flags
# La1 - latitude of first grid point
meta geography.latitudeOfFirstGridPointInDegrees scale(latitudeOfFirstGridPoint,oneConstant,grib1divider,truncateDegrees) : read_only;
alias La1 = latitudeOfFirstGridPoint;
# Lo1 - longitude of first grid point
meta geography.longitudeOfFirstGridPointInDegrees scale(longitudeOfFirstGridPoint,oneConstant,grib1divider,truncateDegrees) : read_only;
alias Lo1 = longitudeOfFirstGridPoint;
# Resolution and component flags
constant resolutionAndComponentFlags = 128;
# Not flagbit numbers 7 to 0, while wmo is 1 to 8
constant ijDirectionIncrementGiven = 1 ;
# For grib 1 to 2
alias iDirectionIncrementGiven = ijDirectionIncrementGiven;
alias jDirectionIncrementGiven = ijDirectionIncrementGiven;
alias DiGiven = ijDirectionIncrementGiven;
alias DjGiven = ijDirectionIncrementGiven;
constant earthIsOblate = 0;
constant resolutionAndComponentFlags3 = 0;
constant resolutionAndComponentFlags4 = 0;
constant uvRelativeToGrid = 0;
constant resolutionAndComponentFlags6 = 0;
constant resolutionAndComponentFlags7 = 0;
constant resolutionAndComponentFlags8 = 0;
# La2 - latitude of last grid point
meta geography.latitudeOfLastGridPointInDegrees scale(latitudeOfLastGridPoint,oneConstant,grib1divider,truncateDegrees) : read_only;
alias La2 = latitudeOfLastGridPoint;
# Lo2 - longitude of last grid point
meta geography.longitudeOfLastGridPointInDegrees scale(longitudeOfLastGridPoint,oneConstant,grib1divider,truncateDegrees) : read_only;
alias Lo2 = longitudeOfLastGridPoint;
alias Dj = jDirectionIncrement;
alias Di = iDirectionIncrement;
# Scanning mode
constant scanningMode = 64;
# Not flagbit numbers 7 to 0, while wmo is 1 to 8
constant iScansNegatively = 0 ;
constant jScansPositively = 1 ;
constant jPointsAreConsecutive = 0;
constant iScansPositively = 1;
constant scanningMode4 = 0;
constant scanningMode5 = 0;
constant scanningMode6 = 0;
constant scanningMode7 = 0;
constant scanningMode8 = 0;
meta geography.jDirectionIncrementInDegrees latlon_increment(ijDirectionIncrementGiven,jDirectionIncrement,
jScansPositively,
latitudeOfFirstGridPointInDegrees,latitudeOfLastGridPointInDegrees,
numberOfPointsAlongAMeridian,oneConstant,grib1divider,0) : read_only;
meta geography.iDirectionIncrementInDegrees latlon_increment(ijDirectionIncrementGiven,iDirectionIncrement,
iScansPositively,
longitudeOfFirstGridPointInDegrees,longitudeOfLastGridPointInDegrees,
Ni,oneConstant,grib1divider,1) : read_only;
alias latitudeFirstInDegrees = latitudeOfFirstGridPointInDegrees;
alias longitudeFirstInDegrees = longitudeOfFirstGridPointInDegrees;
alias latitudeLastInDegrees = latitudeOfLastGridPointInDegrees;
alias longitudeLastInDegrees = longitudeOfLastGridPointInDegrees;
alias DiInDegrees = iDirectionIncrementInDegrees;
alias DjInDegrees = jDirectionIncrementInDegrees;
alias numberOfPoints=numberOfDataPoints;
#alias ls.valuesCount=numberOfValues;
# END 1/grid_definition.latitude_longitude_grid
constant PVPresent = 0;
constant PLPresent = 0;
constant reducedGrid =0;
# we always include the bitmap keys if a GDS is not present
constant numberOfUnusedBitsAtEndOfSection3 = 0;
# Table reference:
constant tableReference = 0;
#position offsetBeforeBitmap;
meta bitmap gds_not_present_bitmap( missingValue,numberOfValues,
numberOfPoints,
latitudeOfFirstGridPoint,
Ni,numberOfUnusedBitsAtEndOfSection3) : read_only;