Update list of keys and hash

This commit is contained in:
Shahram Najm 2021-03-22 14:43:33 +00:00
parent 00ee2bd7e9
commit 310ad0bd0d
6 changed files with 8393 additions and 7881 deletions

View File

@ -32,5 +32,5 @@ unsigned[4] Dy : dump ;
# Projection centre flag
unsigned[1] projectionCentreFlag : dump ;
include "grib3/template.3.scanning_mode.def";
include "grib3/template.4.scanning_mode.def";

View File

@ -43,7 +43,7 @@ alias Dx = xDirectionGridLengthInMillimetres ;
unsigned[4] yDirectionGridLengthInMillimetres : dump ;
alias Dy = yDirectionGridLengthInMillimetres ;
include "grib3/template.3.scanning_mode.def";
include "grib3/template.4.scanning_mode.def";
iterator lambert_azimuthal_equal_area(numberOfPoints,missingValue,values,
radius,Nx,Ny,

View File

@ -63,7 +63,7 @@ flags[1] projectionCentreFlag 'grib3/tables/[tablesVersion]/3.5.table' : dump;
# If bit 1 is 1, then the South Pole is on the projection plane
flagbit southPoleOnProjectionPlane(projectionCentreFlag,7) : dump; # WMO bit 1
include "grib3/template.3.scanning_mode.def";
include "grib3/template.4.scanning_mode.def";
iterator polar_stereographic(numberOfPoints,missingValue,values,

View File

@ -0,0 +1,106 @@
# (C) Copyright 2005- ECMWF.
codetable[1] shapeOfTheEarth ('3.2.table',masterDir,localDir) : dump;
# Scale factor of radius of spherical earth
unsigned[1] scaleFactorOfRadiusOfSphericalEarth = missing() : can_be_missing, edition_specific;
# Scaled value of radius of spherical earth (in metres)
unsigned[4] scaledValueOfRadiusOfSphericalEarth = missing(): can_be_missing, edition_specific;
# Scale factor of major axis of oblate spheroid earth
unsigned[1] scaleFactorOfEarthMajorAxis = missing(): can_be_missing, edition_specific;
alias scaleFactorOfMajorAxisOfOblateSpheroidEarth=scaleFactorOfEarthMajorAxis;
# Scaled value of major axis of oblate spheroid earth
unsigned[4] scaledValueOfEarthMajorAxis = missing(): can_be_missing, edition_specific;
alias scaledValueOfMajorAxisOfOblateSpheroidEarth=scaledValueOfEarthMajorAxis;
# Scale factor of minor axis of oblate spheroid earth
unsigned[1] scaleFactorOfEarthMinorAxis = missing(): can_be_missing, edition_specific;
alias scaleFactorOfMinorAxisOfOblateSpheroidEarth=scaleFactorOfEarthMinorAxis ;
# Scaled value of minor axis of oblate spheroid earth
unsigned[4] scaledValueOfEarthMinorAxis = missing(): can_be_missing, edition_specific;
alias scaledValueOfMinorAxisOfOblateSpheroidEarth=scaledValueOfEarthMinorAxis;
alias earthIsOblate=one;
_if (shapeOfTheEarth == 0) {
transient radius=6367470;
alias radiusOfTheEarth=radius;
alias radiusInMetres=radius;
alias earthIsOblate=zero;
}
_if (shapeOfTheEarth == 1){
meta radius from_scale_factor_scaled_value(
scaleFactorOfRadiusOfSphericalEarth,
scaledValueOfRadiusOfSphericalEarth);
alias radiusOfTheEarth=radius;
alias radiusInMetres=radius;
alias earthIsOblate=zero;
}
_if (shapeOfTheEarth == 6){
transient radius=6371229;
alias radiusOfTheEarth=radius;
alias radiusInMetres=radius;
alias earthIsOblate=zero;
}
_if (shapeOfTheEarth == 8){
transient radius=6371200;
alias radiusOfTheEarth=radius;
alias radiusInMetres=radius;
alias earthIsOblate=zero;
}
# Oblate spheroid cases
_if (shapeOfTheEarth == 2){
# IAU in 1965
transient earthMajorAxis = 6378160.0;
transient earthMinorAxis = 6356775.0;
alias earthMajorAxisInMetres=earthMajorAxis;
alias earthMinorAxisInMetres=earthMinorAxis;
}
_if (shapeOfTheEarth == 3){
# Major and minor axes specified (in km) by data producer
meta earthMajorAxis from_scale_factor_scaled_value(
scaleFactorOfEarthMajorAxis, scaledValueOfEarthMajorAxis);
meta earthMinorAxis from_scale_factor_scaled_value(
scaleFactorOfEarthMinorAxis, scaledValueOfEarthMinorAxis);
# ECC-979
# The 'scale' accessor works with integers so rounds its first argument
# which is not what we want because the inputs are doubles with decimal
# expansions. So use the trick of dividing by 0.001 to multiply by 1000
#
# meta earthMajorAxisInMetres scale(earthMajorAxis, thousand, one, zero);
# meta earthMinorAxisInMetres scale(earthMinorAxis, thousand, one, zero);
meta earthMajorAxisInMetres divdouble(earthMajorAxis, 0.001);
meta earthMinorAxisInMetres divdouble(earthMinorAxis, 0.001);
}
_if (shapeOfTheEarth == 7){
# Major and minor axes specified (in m) by data producer
meta earthMajorAxis from_scale_factor_scaled_value(
scaleFactorOfEarthMajorAxis, scaledValueOfEarthMajorAxis);
meta earthMinorAxis from_scale_factor_scaled_value(
scaleFactorOfEarthMinorAxis, scaledValueOfEarthMinorAxis);
alias earthMajorAxisInMetres=earthMajorAxis;
alias earthMinorAxisInMetres=earthMinorAxis;
}
_if (shapeOfTheEarth == 4 || shapeOfTheEarth == 5){
# 4 -> IAG-GRS80 model
# 5 -> WGS84
transient earthMajorAxis = 6378137.0;
transient earthMinorAxis = 6356752.314;
alias earthMajorAxisInMetres=earthMajorAxis;
alias earthMinorAxisInMetres=earthMinorAxis;
}
_if (shapeOfTheEarth == 9){
# Airy 1830
transient earthMajorAxis = 6377563.396;
transient earthMinorAxis = 6356256.909;
alias earthMajorAxisInMetres=earthMajorAxis;
alias earthMinorAxisInMetres=earthMinorAxis;
}

File diff suppressed because it is too large Load Diff

3697
tests/keys

File diff suppressed because it is too large Load Diff