diff --git a/definitions/grib1/grid_definition_1.def b/definitions/grib1/grid_definition_1.def index 4625cb6e1..141216686 100644 --- a/definitions/grib1/grid_definition_1.def +++ b/definitions/grib1/grid_definition_1.def @@ -21,7 +21,7 @@ alias numberOfPointsAlongAMeridian=Nj; alias Nx=Nj; alias geography.Nj=Nj; -include "grid_first_last_resandcomp.def"; +include "grib1/grid_first_last_resandcomp.def"; signed[3] Latin : edition_specific,no_copy; meta geography.LaDInDegrees scale(Latin,oneConstant,grib1divider,truncateDegrees) : dump; @@ -34,7 +34,7 @@ alias yLast=latitudeOfLastGridPointInDegrees; alias xFirst=longitudeOfFirstGridPointInDegrees; alias xLast=longitudeOfLastGridPointInDegrees; -include "scanning_mode.def"; +include "grib1/scanning_mode.def"; signed[3] DiInMetres : dump; alias longitudinalDirectionGridLength=DiInMetres; diff --git a/definitions/grib1/grid_definition_10.def b/definitions/grib1/grid_definition_10.def index f3447491f..6254a1272 100644 --- a/definitions/grib1/grid_definition_10.def +++ b/definitions/grib1/grid_definition_10.def @@ -16,4 +16,4 @@ template commonBlock "grib1/grid_definition_latlon.def"; ascii[4] zero : read_only; # Rotation parameters -include "grid_rotation.def" \ No newline at end of file +include "grib1/grid_rotation.def" diff --git a/definitions/grib1/grid_definition_14.def b/definitions/grib1/grid_definition_14.def index 1862d31f5..33280e457 100644 --- a/definitions/grib1/grid_definition_14.def +++ b/definitions/grib1/grid_definition_14.def @@ -14,4 +14,5 @@ constant gridDefinitionTemplateNumber = 41; template commonBlock "grib1/grid_definition_gaussian.def"; # Rotation parameters -include "grid_rotation.def" \ No newline at end of file +include "grib1/grid_rotation.def" + diff --git a/definitions/grib1/grid_definition_192.98.def b/definitions/grib1/grid_definition_192.98.def index af295f2c9..c813573b5 100644 --- a/definitions/grib1/grid_definition_192.98.def +++ b/definitions/grib1/grid_definition_192.98.def @@ -22,7 +22,7 @@ signed[3] latitudeOfFirstGridPoint : no_copy; meta geography.latitudeOfFirstGridPointInDegrees scale(latitudeOfFirstGridPoint,oneConstant,grib1divider,truncateDegrees) : dump,no_copy; alias La1 = latitudeOfFirstGridPoint : no_copy; -include "scanning_mode.def"; +include "grib1/scanning_mode.def"; meta numberOfDataPoints number_of_points(Ni,Nj,PLPresent,pl) : dump; alias numberOfPoints=numberOfDataPoints; diff --git a/definitions/grib1/grid_definition_193.98.def b/definitions/grib1/grid_definition_193.98.def index 7cb16aed1..0482c2edd 100644 --- a/definitions/grib1/grid_definition_193.98.def +++ b/definitions/grib1/grid_definition_193.98.def @@ -18,7 +18,7 @@ alias Nj = numberOfPointsAlongAMeridian; # Latitudes and Longitudes of the first and the last points # Resolution and component flags -include "grid_first_last_resandcomp.def"; +include "grib1/grid_first_last_resandcomp.def"; unsigned[2] iDirectionIncrement : can_be_missing; unsigned[2] jDirectionIncrement : can_be_missing; @@ -31,7 +31,7 @@ alias yLast=latitudeOfLastGridPointInDegrees; alias xFirst=longitudeOfFirstGridPointInDegrees; alias xLast=longitudeOfLastGridPointInDegrees; -include "scanning_mode.def"; +include "grib1/scanning_mode.def"; # Lar1 - latitude of first grid point of reference domain signed[3] Lar1 : edition_specific; diff --git a/definitions/grib1/grid_definition_20.def b/definitions/grib1/grid_definition_20.def index ce9ddecc3..52ff1f1ff 100644 --- a/definitions/grib1/grid_definition_20.def +++ b/definitions/grib1/grid_definition_20.def @@ -16,5 +16,5 @@ template commonBlock "grib1/grid_definition_latlon.def"; ascii[4] zero : read_only; # Stretching parameters -include "grid_stretching.def" +include "grib1/grid_stretching.def" diff --git a/definitions/grib1/grid_definition_24.def b/definitions/grib1/grid_definition_24.def index c7c997046..947449b89 100644 --- a/definitions/grib1/grid_definition_24.def +++ b/definitions/grib1/grid_definition_24.def @@ -14,4 +14,4 @@ constant gridDefinitionTemplateNumber = 42; template commonBlock "grib1/grid_definition_gaussian.def"; # Stretching parameters -include "grid_stretching.def" +include "grib1/grid_stretching.def" diff --git a/definitions/grib1/grid_definition_30.def b/definitions/grib1/grid_definition_30.def index 20b0f647f..0c9aca6ed 100644 --- a/definitions/grib1/grid_definition_30.def +++ b/definitions/grib1/grid_definition_30.def @@ -16,7 +16,7 @@ template commonBlock "grib1/grid_definition_latlon.def"; ascii[4] zero : read_only; # Rotation parameters -include "grid_rotation.def" +include "grib1/grid_rotation.def" # Stretching parameters -include "grid_stretching.def" +include "grib1/grid_stretching.def" diff --git a/definitions/grib1/grid_definition_34.def b/definitions/grib1/grid_definition_34.def index 7d2cc937c..69c3009c4 100644 --- a/definitions/grib1/grid_definition_34.def +++ b/definitions/grib1/grid_definition_34.def @@ -14,7 +14,7 @@ constant gridDefinitionTemplateNumber = 43; template commonBlock "grib1/grid_definition_gaussian.def"; # Rotation parameters -include "grid_rotation.def" +include "grib1/grid_rotation.def" # Stretching parameters -include "grid_stretching.def" +include "grib1/grid_stretching.def" diff --git a/definitions/grib1/grid_definition_5.def b/definitions/grib1/grid_definition_5.def index 8c490e7a9..84e30377e 100644 --- a/definitions/grib1/grid_definition_5.def +++ b/definitions/grib1/grid_definition_5.def @@ -29,7 +29,7 @@ signed[3] longitudeOfFirstGridPoint : edition_specific; meta geography.longitudeOfFirstGridPointInDegrees scale(longitudeOfFirstGridPoint,oneConstant,grib1divider,truncateDegrees) : dump; alias Lo1 = longitudeOfFirstGridPoint; -include "resolution_flags.def"; +include "grib1/resolution_flags.def"; # LoV - orientation of the grid; i.e. the longitude value of the meridian which is parallel to the Y-axis signed[3] orientationOfTheGrid ; @@ -67,7 +67,7 @@ flagbit southPoleOnProjectionPlane(projectionCentreFlag,7) : dump; # WMO bit 1 alias yFirst=latitudeOfFirstGridPointInDegrees; alias xFirst=longitudeOfFirstGridPointInDegrees; -include "scanning_mode.def"; +include "grib1/scanning_mode.def"; pad padding_grid5_1(4); diff --git a/definitions/grib1/grid_definition_60.def b/definitions/grib1/grid_definition_60.def index 5ecfa9427..526abb5ef 100644 --- a/definitions/grib1/grid_definition_60.def +++ b/definitions/grib1/grid_definition_60.def @@ -14,4 +14,5 @@ constant gridDefinitionTemplateNumber = 51; template commonBlock "grib1/grid_definition_spherical_harmonics.def"; # Rotation parameters -include "grid_rotation.def" \ No newline at end of file +include "grib1/grid_rotation.def" + diff --git a/definitions/grib1/grid_definition_70.def b/definitions/grib1/grid_definition_70.def index 2f4c47134..65cd3daa8 100644 --- a/definitions/grib1/grid_definition_70.def +++ b/definitions/grib1/grid_definition_70.def @@ -13,7 +13,7 @@ constant gridDefinitionTemplateNumber = 52; template commonBlock "grib1/grid_definition_spherical_harmonics.def"; # Rotation parameters -include "grid_rotation.def" +include "grib1/grid_rotation.def" # Stretching parameters -include "grid_stretching.def" +include "grib1/grid_stretching.def" diff --git a/definitions/grib1/grid_definition_8.def b/definitions/grib1/grid_definition_8.def index 2a19c66d5..760895d71 100644 --- a/definitions/grib1/grid_definition_8.def +++ b/definitions/grib1/grid_definition_8.def @@ -11,4 +11,5 @@ # grib 1 -> 2 constant gridDefinitionTemplateNumber = 31; -template commonBlock "grib1/grid_definition_lambert.def"; \ No newline at end of file +template commonBlock "grib1/grid_definition_lambert.def"; + diff --git a/definitions/grib1/grid_definition_80.def b/definitions/grib1/grid_definition_80.def index f5f72426d..e1fee376f 100644 --- a/definitions/grib1/grid_definition_80.def +++ b/definitions/grib1/grid_definition_80.def @@ -13,7 +13,7 @@ constant gridDefinitionTemplateNumber = 53; template commonBlock "grib1/grid_definition_spherical_harmonics.def"; # Rotation parameters -include "grid_rotation.def" +include "grib1/grid_rotation.def" # Stretching parameters -include "grid_stretching.def" +include "grib1/grid_stretching.def" diff --git a/definitions/grib1/grid_definition_90.def b/definitions/grib1/grid_definition_90.def index 21e038186..1538c96db 100644 --- a/definitions/grib1/grid_definition_90.def +++ b/definitions/grib1/grid_definition_90.def @@ -29,7 +29,7 @@ signed[3] longitudeOfSubSatellitePoint ; meta geography.longitudeOfSubSatellitePointInDegrees scale(longitudeOfSubSatellitePoint,oneConstant,grib1divider,truncateDegrees) : dump; alias Lap=longitudeOfSubSatellitePoint; -include "resolution_flags.def"; +include "grib1/resolution_flags.def"; unsigned[3] dx : dump; alias geography.dx=dx; @@ -44,7 +44,7 @@ alias geography.XpInGridLengths=XpInGridLengths; unsigned[2] YpInGridLengths : dump; alias geography.YpInGridLengths=YpInGridLengths; -include "scanning_mode.def"; +include "grib1/scanning_mode.def"; unsigned[3] orientationOfTheGrid : edition_specific ; meta geography.orientationOfTheGridInDegrees scale(orientationOfTheGrid,oneConstant,grib1divider,truncateDegrees) : dump; diff --git a/definitions/grib1/grid_definition_gaussian.def b/definitions/grib1/grid_definition_gaussian.def index a590b349a..5f6a655f6 100644 --- a/definitions/grib1/grid_definition_gaussian.def +++ b/definitions/grib1/grid_definition_gaussian.def @@ -17,7 +17,7 @@ alias Ny=Nj; # Latitudes and Longitudes of the first and the last points # Resolution and component flags -include "grid_first_last_resandcomp.def"; +include "grib1/grid_first_last_resandcomp.def"; # Di - i direction increment unsigned[2] iDirectionIncrement : can_be_missing,dump,edition_specific; @@ -35,7 +35,7 @@ alias yLast=latitudeOfLastGridPointInDegrees; alias xFirst=longitudeOfFirstGridPointInDegrees; alias xLast=longitudeOfLastGridPointInDegrees; -include "scanning_mode.def"; +include "grib1/scanning_mode.def"; pad padding_grid4_1(4); diff --git a/definitions/grib1/grid_definition_lambert.def b/definitions/grib1/grid_definition_lambert.def index 3cfd740b2..4e2acc19c 100644 --- a/definitions/grib1/grid_definition_lambert.def +++ b/definitions/grib1/grid_definition_lambert.def @@ -35,7 +35,7 @@ alias Lo1InDegrees = longitudeOfFirstGridPointInDegrees; #meta longitudeOfFirstGridPointInMicrodegrees times(longitudeOfFirstGridPoint,thousand); # Resolution and component flags -include "resolution_flags.def"; +include "grib1/resolution_flags.def"; # LoV - orientation of the grid; i.e. the east longitude value of the meridian which is parallel to the Y-axis signed[3] LoV : edition_specific ; @@ -68,7 +68,7 @@ alias projectionCenterFlag=projectionCentreFlag; alias yFirst=latitudeOfFirstGridPointInDegrees; alias xFirst=longitudeOfFirstGridPointInDegrees; -include "scanning_mode.def"; +include "grib1/scanning_mode.def"; # Latin 1 - first latitude from the pole at which the secant cone cuts the sphere signed[3] Latin1 : edition_specific; diff --git a/definitions/grib1/grid_definition_latlon.def b/definitions/grib1/grid_definition_latlon.def index 5721e9dd8..c889f9d4f 100644 --- a/definitions/grib1/grid_definition_latlon.def +++ b/definitions/grib1/grid_definition_latlon.def @@ -18,7 +18,7 @@ alias Ny = Nj; # Latitudes and Longitudes of the first and the last points # Resolution and component flags -include "grid_first_last_resandcomp.def"; +include "grib1/grid_first_last_resandcomp.def"; unsigned[2] iDirectionIncrement : can_be_missing, edition_specific; unsigned[2] jDirectionIncrement : can_be_missing, edition_specific; @@ -27,7 +27,7 @@ alias Dy = jDirectionIncrement; alias Di = iDirectionIncrement; alias Dx = iDirectionIncrement; -include "scanning_mode.def"; +include "grib1/scanning_mode.def"; meta geography.jDirectionIncrementInDegrees latlon_increment(ijDirectionIncrementGiven,jDirectionIncrement, jScansPositively, diff --git a/definitions/grib1/grid_first_last_resandcomp.def b/definitions/grib1/grid_first_last_resandcomp.def index a0e0e109a..3012c2c3f 100644 --- a/definitions/grib1/grid_first_last_resandcomp.def +++ b/definitions/grib1/grid_first_last_resandcomp.def @@ -17,7 +17,7 @@ signed[3] longitudeOfFirstGridPoint : edition_specific; meta geography.longitudeOfFirstGridPointInDegrees scale(longitudeOfFirstGridPoint,oneConstant,grib1divider,truncateDegrees) : dump; alias Lo1 = longitudeOfFirstGridPoint; -include "resolution_flags.def"; +include "grib1/resolution_flags.def"; # La2 - latitude of last grid point signed[3] latitudeOfLastGridPoint : edition_specific; diff --git a/definitions/grib1/local.46.def b/definitions/grib1/local.46.def index 1d63e0673..59f62016a 100644 --- a/definitions/grib1/local.46.def +++ b/definitions/grib1/local.46.def @@ -9,5 +9,5 @@ label "CPTEC local definition"; # Same as NCEP -include "local.7.def"; +include "grib1/local.7.def"; section_padding local_padding; diff --git a/definitions/grib1/local.82.82.def b/definitions/grib1/local.82.82.def index c264247f0..a97999e76 100644 --- a/definitions/grib1/local.82.82.def +++ b/definitions/grib1/local.82.82.def @@ -11,7 +11,7 @@ constant GRIBEXSection1Problem = 53 - section1Length; # base local definition -include "local.82.0.def"; +include "grib1/local.82.0.def"; unsigned[1] marsExperimentOffset = 0 : dump, long_type; diff --git a/definitions/grib1/local.82.83.def b/definitions/grib1/local.82.83.def index 391b0aab0..a25dac496 100644 --- a/definitions/grib1/local.82.83.def +++ b/definitions/grib1/local.82.83.def @@ -34,7 +34,7 @@ constant GRIBEXSection1Problem = 80 - section1Length; # base file: contains keywords always present -include "local.82.0.def"; +include "grib1/local.82.0.def"; # extra keywords specific to local definition 83 (MATCH) codetable[1] matchSort "grib1/localConcepts/eswi/sort.table" : dump,long_type; diff --git a/definitions/grib2/boot.def b/definitions/grib2/boot.def index 0d24f6afe..638258e98 100644 --- a/definitions/grib2/boot.def +++ b/definitions/grib2/boot.def @@ -25,7 +25,7 @@ transient missingValue = 9999; constant ieeeFloats = 1 : edition_specific; constant isHindcast = 0; -include "section.0.def"; +include "grib2/section.0.def"; template core "grib2/sections.def"; diff --git a/definitions/grib2/local.82.82.def b/definitions/grib2/local.82.82.def index 1951d23a4..7cb9734ce 100644 --- a/definitions/grib2/local.82.82.def +++ b/definitions/grib2/local.82.82.def @@ -9,7 +9,7 @@ ################################# # base local definition -include "local.82.0.def"; +include "grib2/local.82.0.def"; unsigned[1] marsExperimentOffset = 0 : dump, long_type; diff --git a/definitions/grib2/local.82.83.def b/definitions/grib2/local.82.83.def index 0f8c1fabe..2d7d37f6f 100644 --- a/definitions/grib2/local.82.83.def +++ b/definitions/grib2/local.82.83.def @@ -10,7 +10,7 @@ # base file: contains keywords always present -include "local.82.0.def"; +include "grib2/local.82.0.def"; # extra keywords specific to local definition 83 (MATCH) codetable[1] matchSort "grib1/localConcepts/eswi/sort.table" : dump,long_type; diff --git a/definitions/grib2/local.98.500.def b/definitions/grib2/local.98.500.def index cc7dd84e3..087095f21 100755 --- a/definitions/grib2/local.98.500.def +++ b/definitions/grib2/local.98.500.def @@ -41,7 +41,7 @@ codetable[2] instrument "grib2/tables/local/ecmf/obstat.5.0.table"; codetable[2] dataStream "grib2/tables/local/ecmf/obstat.6.0.table"; -#include "template.4.horizontal.def"; +# include "grib2/template.4.horizontal.def" codetable[2] observationDiagnostic "grib2/tables/local/ecmf/obstat.9.0.table"; diff --git a/definitions/grib2/template.1.0.def b/definitions/grib2/template.1.0.def index 84bbc9996..8c6d818f9 100644 --- a/definitions/grib2/template.1.0.def +++ b/definitions/grib2/template.1.0.def @@ -9,4 +9,4 @@ # TEMPLATE 1.0, Calendar Definition -include "template.1.calendar.def"; +include "grib2/template.1.calendar.def"; diff --git a/definitions/grib2/template.1.1.def b/definitions/grib2/template.1.1.def index 1405ef42e..9e455973d 100644 --- a/definitions/grib2/template.1.1.def +++ b/definitions/grib2/template.1.1.def @@ -9,4 +9,4 @@ # TEMPLATE 1.1, Paleontological Offset -include "template.1.offset.def"; +include "grib2/template.1.offset.def"; diff --git a/definitions/grib2/template.1.2.def b/definitions/grib2/template.1.2.def index 2c9210914..529879c14 100644 --- a/definitions/grib2/template.1.2.def +++ b/definitions/grib2/template.1.2.def @@ -9,5 +9,5 @@ # TEMPLATE 1.2, Calendar Definition and Paleontological Offset -include "template.1.calendar.def"; -include "template.1.offset.def"; +include "grib2/template.1.calendar.def"; +include "grib2/template.1.offset.def"; diff --git a/definitions/grib2/template.3.0.def b/definitions/grib2/template.3.0.def index 437da4dee..7d50c1710 100644 --- a/definitions/grib2/template.3.0.def +++ b/definitions/grib2/template.3.0.def @@ -9,5 +9,5 @@ # TEMPLATE 3.0, Latitude/longitude (or equidistant cylindrical, or Plate Carree) -include "template.3.shape_of_the_earth.def"; -include "template.3.latlon.def"; +include "grib2/template.3.shape_of_the_earth.def"; +include "grib2/template.3.latlon.def"; diff --git a/definitions/grib2/template.3.1.def b/definitions/grib2/template.3.1.def index ef8a19ecf..9321bb2f1 100644 --- a/definitions/grib2/template.3.1.def +++ b/definitions/grib2/template.3.1.def @@ -9,6 +9,6 @@ # TEMPLATE 3.1, Rotated Latitude/longitude (or equidistant cylindrical, or Plate Carree) -include "template.3.shape_of_the_earth.def"; -include "template.3.latlon.def"; -include "template.3.rotation.def"; +include "grib2/template.3.shape_of_the_earth.def"; +include "grib2/template.3.latlon.def"; +include "grib2/template.3.rotation.def"; diff --git a/definitions/grib2/template.3.10.def b/definitions/grib2/template.3.10.def index ebf52198c..f40ba0dbd 100644 --- a/definitions/grib2/template.3.10.def +++ b/definitions/grib2/template.3.10.def @@ -9,7 +9,7 @@ # TEMPLATE 3.10, Mercator -include "template.3.shape_of_the_earth.def"; +include "grib2/template.3.shape_of_the_earth.def"; unsigned[4] Ni : dump; alias numberOfPointsAlongAParallel=Ni; @@ -31,7 +31,7 @@ signed[4] longitudeOfFirstGridPoint : edition_specific,no_copy; alias Lo1 = longitudeOfFirstGridPoint; meta geography.longitudeOfFirstGridPointInDegrees scale(longitudeOfFirstGridPoint,oneConstant,grib2divider,truncateDegrees) : dump; -include "template.3.resolution_flags.def"; +include "grib2/template.3.resolution_flags.def"; # LaD - Latitude(s) at which the Mercator projection intersects the Earth # (Latitude(s) where Di and Dj are specified) @@ -48,7 +48,7 @@ signed[4] longitudeOfLastGridPoint: edition_specific,no_copy ; alias Lo2 = longitudeOfLastGridPoint; meta geography.longitudeOfLastGridPointInDegrees scale(longitudeOfLastGridPoint,oneConstant,grib2divider,truncateDegrees) : dump; -include "template.3.scanning_mode.def"; +include "grib2/template.3.scanning_mode.def"; # Orientation of the grid, angle between i direction on the map and the equator # NOTE 1: Limited to the range of 0 to 90 degrees; if the angle of orientation of the grid is neither 0 nor 90 degrees, diff --git a/definitions/grib2/template.3.1000.def b/definitions/grib2/template.3.1000.def index 768ca8696..36c3aeaaa 100644 --- a/definitions/grib2/template.3.1000.def +++ b/definitions/grib2/template.3.1000.def @@ -10,7 +10,7 @@ # TEMPLATE 3.1000, Cross-section grid, with points equally spaced on the horizontal -include "template.3.shape_of_the_earth.def"; +include "grib2/template.3.shape_of_the_earth.def"; # Number of horizontal points @@ -35,7 +35,7 @@ unsigned[4] longitudeOfFirstGridPoint : edition_specific; alias Lo1 = longitudeOfFirstGridPoint; -include "template.3.scanning_mode.def"; +include "grib2/template.3.scanning_mode.def"; # La2 - latitude of last grid point # NOTE 1 NOT FOUND diff --git a/definitions/grib2/template.3.110.def b/definitions/grib2/template.3.110.def index 016b91aef..cc1b18a7e 100644 --- a/definitions/grib2/template.3.110.def +++ b/definitions/grib2/template.3.110.def @@ -9,7 +9,7 @@ # TEMPLATE 3.110, Equatorial azimuthal equidistant projection -include "template.3.shape_of_the_earth.def"; +include "grib2/template.3.shape_of_the_earth.def"; # Nx - number of points along X-axis unsigned[4] numberOfPointsAlongXAxis : dump ; @@ -40,5 +40,5 @@ unsigned[4] Dy : dump ; # Projection centre flag unsigned[1] projectionCenterFlag : dump ; -include "template.3.scanning_mode.def"; +include "grib2/template.3.scanning_mode.def"; diff --git a/definitions/grib2/template.3.1100.def b/definitions/grib2/template.3.1100.def index 0f962a8e7..ff9f353a9 100644 --- a/definitions/grib2/template.3.1100.def +++ b/definitions/grib2/template.3.1100.def @@ -9,7 +9,7 @@ # TEMPLATE 3.1100, Hovmoller diagram grid with points equally spaced on the horizontal -include "template.3.shape_of_the_earth.def"; +include "grib2/template.3.shape_of_the_earth.def"; # Number of horizontal points unsigned[5] numberOfHorizontalPoints : dump ; @@ -33,7 +33,7 @@ unsigned[4] longitudeOfFirstGridPoint : edition_specific,dump; alias Lo1 =longitudeOfFirstGridPoint; -include "template.3.scanning_mode.def"; +include "grib2/template.3.scanning_mode.def"; # La2 - latitude of last grid point # NOTE 1 NOT FOUND diff --git a/definitions/grib2/template.3.12.def b/definitions/grib2/template.3.12.def index b276fb70a..f5ecb0c5f 100644 --- a/definitions/grib2/template.3.12.def +++ b/definitions/grib2/template.3.12.def @@ -9,7 +9,7 @@ # TEMPLATE 3.12, Transverse Mercator -include "template.3.shape_of_the_earth.def"; +include "grib2/template.3.shape_of_the_earth.def"; unsigned[4] Ni : dump; alias numberOfPointsAlongAParallel=Ni; @@ -31,7 +31,7 @@ signed[4] longitudeOfReferencePoint : edition_specific,no_copy; alias LoR = longitudeOfReferencePoint; meta geography.longitudeOfReferencePointInDegrees scale(longitudeOfReferencePoint,oneConstant,grib2divider,truncateDegrees) : dump; -include "template.3.resolution_flags.def"; +include "grib2/template.3.resolution_flags.def"; # m - scale factor at reference point ratio of distance on map to distance on spheroid # (IEEE 32-bit floating-point values) @@ -49,7 +49,7 @@ signed[4] YR : edition_specific,no_copy ; alias falseNorthing = YR; meta geography.YRInMetres scale(YR,one,hundred) : dump; -include "template.3.scanning_mode.def"; +include "grib2/template.3.scanning_mode.def"; # Di - i-direction increment length in units of 10-2 m unsigned[4] Di : edition_specific,no_copy; diff --git a/definitions/grib2/template.3.120.def b/definitions/grib2/template.3.120.def index 0e0eebd9a..319d9c29c 100644 --- a/definitions/grib2/template.3.120.def +++ b/definitions/grib2/template.3.120.def @@ -38,7 +38,7 @@ alias Dx = spacingOfBinsAlongRadials; unsigned[4] offsetFromOriginToInnerBound ; alias Dstart = offsetFromOriginToInnerBound; -include "template.3.scanning_mode.def"; +include "grib2/template.3.scanning_mode.def"; # Octets 40-(39+4Nr) : For each of Nr radials: radials list(numberOfRadials){ diff --git a/definitions/grib2/template.3.130.def b/definitions/grib2/template.3.130.def index 648b178b0..cee6125e7 100644 --- a/definitions/grib2/template.3.130.def +++ b/definitions/grib2/template.3.130.def @@ -9,7 +9,7 @@ # TEMPLATE 3.130, Irregular Latitude/longitude grid -include "template.3.shape_of_the_earth.def"; +include "grib2/template.3.shape_of_the_earth.def"; points list(numberOfDataPoints) { signed[4] latitude; diff --git a/definitions/grib2/template.3.140.def b/definitions/grib2/template.3.140.def index 92489e58d..8ba8d3e21 100644 --- a/definitions/grib2/template.3.140.def +++ b/definitions/grib2/template.3.140.def @@ -10,7 +10,7 @@ # START 2/template.3.140 ---------------------------------------------------------------------- # TEMPLATE 3.140, Lambert azimuthal equal area projection -include "template.3.shape_of_the_earth.def"; +include "grib2/template.3.shape_of_the_earth.def"; # Nx - number of points along X-axis unsigned[4] numberOfPointsAlongXAxis : dump ; @@ -51,7 +51,7 @@ alias Dx = xDirectionGridLengthInMillimetres ; unsigned[4] yDirectionGridLengthInMillimetres : dump ; alias Dy = yDirectionGridLengthInMillimetres ; -include "template.3.scanning_mode.def"; +include "grib2/template.3.scanning_mode.def"; iterator lambert_azimuthal_equal_area(numberOfPoints,missingValue,values, radius,Nx,Ny, diff --git a/definitions/grib2/template.3.2.def b/definitions/grib2/template.3.2.def index f3cde3117..414e35416 100644 --- a/definitions/grib2/template.3.2.def +++ b/definitions/grib2/template.3.2.def @@ -9,6 +9,6 @@ # TEMPLATE 3.2, Stretched Latitude/longitude (or equidistant cylindrical, or Plate Carree) -include "template.3.shape_of_the_earth.def"; -include "template.3.latlon.def"; -include "template.3.stretching.def"; +include "grib2/template.3.shape_of_the_earth.def"; +include "grib2/template.3.latlon.def"; +include "grib2/template.3.stretching.def"; diff --git a/definitions/grib2/template.3.20.def b/definitions/grib2/template.3.20.def index 952ec155f..b0671c913 100644 --- a/definitions/grib2/template.3.20.def +++ b/definitions/grib2/template.3.20.def @@ -10,7 +10,7 @@ # START 2/template.3.20 ---------------------------------------------------------------------- # TEMPLATE 3.20, Polar stereographic projection -include "template.3.shape_of_the_earth.def"; +include "grib2/template.3.shape_of_the_earth.def"; transient oneThousand=1000; # Nx - number of points along X-axis @@ -70,7 +70,7 @@ flags[1] projectionCentreFlag 'grib2/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 "template.3.scanning_mode.def"; +include "grib2/template.3.scanning_mode.def"; iterator polar_stereographic(numberOfPoints,missingValue,values, diff --git a/definitions/grib2/template.3.3.def b/definitions/grib2/template.3.3.def index b2dece9a5..697115169 100644 --- a/definitions/grib2/template.3.3.def +++ b/definitions/grib2/template.3.3.def @@ -9,8 +9,8 @@ # TEMPLATE 3.3, Stretched and Rotated Latitude/longitude (or equidistant cylindrical, or Plate Carree) -include "template.3.shape_of_the_earth.def"; -include "template.3.latlon.def"; -include "template.3.rotation.def"; -include "template.3.stretching.def"; +include "grib2/template.3.shape_of_the_earth.def"; +include "grib2/template.3.latlon.def"; +include "grib2/template.3.rotation.def"; +include "grib2/template.3.stretching.def"; diff --git a/definitions/grib2/template.3.30.def b/definitions/grib2/template.3.30.def index c21f835e8..aea03fa45 100644 --- a/definitions/grib2/template.3.30.def +++ b/definitions/grib2/template.3.30.def @@ -8,7 +8,7 @@ # # TEMPLATE 3.30, Lambert conformal -include "template.3.shape_of_the_earth.def"; +include "grib2/template.3.shape_of_the_earth.def"; unsigned[4] Nx : dump; alias Ni = Nx; @@ -36,7 +36,7 @@ meta geography.longitudeOfFirstGridPointInDegrees alias Lo1InDegrees = longitudeOfFirstGridPointInDegrees; #meta longitudeOfFirstGridPointInMicrodegrees times(longitudeOfFirstGridPoint,oneConstant) : no_copy; -include "template.3.resolution_flags.def"; +include "grib2/template.3.resolution_flags.def"; # LaD - Latitude where Dx and Dy are specified signed[4] LaD : edition_specific ; @@ -64,7 +64,7 @@ meta geography.DyInMetres scale(Dy,one,thousand) : dump; # Projection centre flag flags[1] projectionCentreFlag 'grib2/tables/[tablesVersion]/3.5.table' : dump; -include "template.3.scanning_mode.def"; +include "grib2/template.3.scanning_mode.def"; # Latin 1 - first latitude from the pole at which the secant cone cuts the sphere signed[4] Latin1 : edition_specific; diff --git a/definitions/grib2/template.3.31.def b/definitions/grib2/template.3.31.def index afd1f471c..e868db56d 100644 --- a/definitions/grib2/template.3.31.def +++ b/definitions/grib2/template.3.31.def @@ -8,7 +8,7 @@ # # TEMPLATE 3.31, Albers equal area -include "template.3.shape_of_the_earth.def"; +include "grib2/template.3.shape_of_the_earth.def"; # Nx - number of points along the X-axis unsigned[4] Nx : dump; @@ -28,7 +28,7 @@ alias La1 = latitudeOfFirstGridPoint; unsigned[4] longitudeOfFirstGridPoint : edition_specific,dump; alias Lo1 = longitudeOfFirstGridPoint; -include "template.3.resolution_flags.def"; +include "grib2/template.3.resolution_flags.def"; # LaD - Latitude where Dx and Dy are specified signed[4] LaD : dump; @@ -49,7 +49,7 @@ alias Dy = yDirectionGridLength; # Projection centre flag flags[1] projectionCentreFlag 'grib2/tables/[tablesVersion]/3.5.table' : dump; -include "template.3.scanning_mode.def"; +include "grib2/template.3.scanning_mode.def"; # Latin 1 - first latitude from the pole at which the secant cone cuts the sphere signed[4] Latin1 :edition_specific; diff --git a/definitions/grib2/template.3.4.def b/definitions/grib2/template.3.4.def index 9fe3b4e00..833ad17d1 100644 --- a/definitions/grib2/template.3.4.def +++ b/definitions/grib2/template.3.4.def @@ -9,5 +9,5 @@ # TEMPLATE 3.4, variable resolution latitude/longitude -include "template.3.shape_of_the_earth.def"; -include "template.3.latlon_vares.def"; +include "grib2/template.3.shape_of_the_earth.def"; +include "grib2/template.3.latlon_vares.def"; diff --git a/definitions/grib2/template.3.40.def b/definitions/grib2/template.3.40.def index 15e30c113..86c25a901 100644 --- a/definitions/grib2/template.3.40.def +++ b/definitions/grib2/template.3.40.def @@ -9,5 +9,5 @@ # TEMPLATE 3.40, Gaussian latitude/longitude -include "template.3.shape_of_the_earth.def"; -include "template.3.gaussian.def"; +include "grib2/template.3.shape_of_the_earth.def"; +include "grib2/template.3.gaussian.def"; diff --git a/definitions/grib2/template.3.41.def b/definitions/grib2/template.3.41.def index bf7785fbc..d50f78379 100644 --- a/definitions/grib2/template.3.41.def +++ b/definitions/grib2/template.3.41.def @@ -9,6 +9,6 @@ # TEMPLATE 3.41, Rotated Gaussian latitude/longitude -include "template.3.shape_of_the_earth.def"; -include "template.3.gaussian.def"; -include "template.3.rotation.def"; +include "grib2/template.3.shape_of_the_earth.def"; +include "grib2/template.3.gaussian.def"; +include "grib2/template.3.rotation.def"; diff --git a/definitions/grib2/template.3.42.def b/definitions/grib2/template.3.42.def index 6f5b69e9e..37a155534 100644 --- a/definitions/grib2/template.3.42.def +++ b/definitions/grib2/template.3.42.def @@ -9,6 +9,6 @@ # TEMPLATE 3.42, Stretched Gaussian latitude/longitude -include "template.3.shape_of_the_earth.def"; -include "template.3.gaussian.def"; -include "template.3.stretching.def"; +include "grib2/template.3.shape_of_the_earth.def"; +include "grib2/template.3.gaussian.def"; +include "grib2/template.3.stretching.def"; diff --git a/definitions/grib2/template.3.43.def b/definitions/grib2/template.3.43.def index eb81dfba5..cd4367e18 100644 --- a/definitions/grib2/template.3.43.def +++ b/definitions/grib2/template.3.43.def @@ -9,7 +9,7 @@ # TEMPLATE 3.43, Stretched and rotated Gaussian latitude/longitude -include "template.3.shape_of_the_earth.def"; -include "template.3.gaussian.def"; -include "template.3.rotation.def"; -include "template.3.stretching.def"; +include "grib2/template.3.shape_of_the_earth.def"; +include "grib2/template.3.gaussian.def"; +include "grib2/template.3.rotation.def"; +include "grib2/template.3.stretching.def"; diff --git a/definitions/grib2/template.3.5.def b/definitions/grib2/template.3.5.def index a45d3022b..9e4161ee5 100644 --- a/definitions/grib2/template.3.5.def +++ b/definitions/grib2/template.3.5.def @@ -9,6 +9,6 @@ # TEMPLATE 3.5, variable resolution rotated latitude/longitude -include "template.3.shape_of_the_earth.def"; -include "template.3.latlon_vares.def"; -include "template.3.rotation.def"; +include "grib2/template.3.shape_of_the_earth.def"; +include "grib2/template.3.latlon_vares.def"; +include "grib2/template.3.rotation.def"; diff --git a/definitions/grib2/template.3.50.def b/definitions/grib2/template.3.50.def index 3a58aa3a8..c1f23d535 100644 --- a/definitions/grib2/template.3.50.def +++ b/definitions/grib2/template.3.50.def @@ -9,4 +9,4 @@ # TEMPLATE 3.50, Spherical harmonic coefficients -include "template.3.spherical_harmonics.def"; +include "grib2/template.3.spherical_harmonics.def"; diff --git a/definitions/grib2/template.3.51.def b/definitions/grib2/template.3.51.def index babf2984a..3ef962aa9 100644 --- a/definitions/grib2/template.3.51.def +++ b/definitions/grib2/template.3.51.def @@ -9,5 +9,5 @@ # TEMPLATE 3.51, Rotated spherical harmonic coefficients -include "template.3.spherical_harmonics.def"; -include "template.3.rotation.def"; +include "grib2/template.3.spherical_harmonics.def"; +include "grib2/template.3.rotation.def"; diff --git a/definitions/grib2/template.3.52.def b/definitions/grib2/template.3.52.def index f520f4289..b94115dc9 100644 --- a/definitions/grib2/template.3.52.def +++ b/definitions/grib2/template.3.52.def @@ -9,5 +9,5 @@ # TEMPLATE 3.52, Stretched spherical harmonic coefficients -include "template.3.spherical_harmonics.def"; -include "template.3.stretching.def"; +include "grib2/template.3.spherical_harmonics.def"; +include "grib2/template.3.stretching.def"; diff --git a/definitions/grib2/template.3.53.def b/definitions/grib2/template.3.53.def index 41dca332e..4d202b417 100644 --- a/definitions/grib2/template.3.53.def +++ b/definitions/grib2/template.3.53.def @@ -9,6 +9,6 @@ # TEMPLATE 3.53, Stretched and rotated spherical harmonic coefficients -include "template.3.spherical_harmonics.def"; -include "template.3.rotation.def"; -include "template.3.stretching.def"; +include "grib2/template.3.spherical_harmonics.def"; +include "grib2/template.3.rotation.def"; +include "grib2/template.3.stretching.def"; diff --git a/definitions/grib2/template.3.90.def b/definitions/grib2/template.3.90.def index c87e418bd..fc4f4b12e 100644 --- a/definitions/grib2/template.3.90.def +++ b/definitions/grib2/template.3.90.def @@ -10,7 +10,7 @@ # START 2/template.3.90 ---------------------------------------------------------------------- # TEMPLATE 3.90, Space view perspective or orthographic -include "template.3.shape_of_the_earth.def"; +include "grib2/template.3.shape_of_the_earth.def"; unsigned[4] Nx : dump; alias Ni = Nx; @@ -31,7 +31,7 @@ signed[4] longitudeOfSubSatellitePoint ; meta geography.latitudeOfSubSatellitePointInDegrees scale(latitudeOfSubSatellitePoint,one,grib2divider,truncateDegrees) : dump; meta geography.longitudeOfSubSatellitePointInDegrees scale(longitudeOfSubSatellitePoint,one,grib2divider,truncateDegrees) : dump; -include "template.3.resolution_flags.def"; +include "grib2/template.3.resolution_flags.def"; # dx - apparent diameter of Earth in grid lengths, in X-direction unsigned[4] dx : dump; @@ -53,7 +53,7 @@ unsigned[4] Yp : no_copy; meta geography.YpInGridLengths scale(Yp,one,thousand) : dump; alias yCoordinateOfSubSatellitePoint=YpInGridLengths; -include "template.3.scanning_mode.def"; +include "grib2/template.3.scanning_mode.def"; # Orientation of the grid; i.e., the angle between the increasing Y-axis and the meridian of the sub-satellite point in the direction of increasing latitude signed[4] orientationOfTheGrid : edition_specific; diff --git a/definitions/grib2/template.3.gaussian.def b/definitions/grib2/template.3.gaussian.def index 6939a77b6..a1a56b6ea 100755 --- a/definitions/grib2/template.3.gaussian.def +++ b/definitions/grib2/template.3.gaussian.def @@ -7,7 +7,7 @@ # virtue of its status as an intergovernmental organisation nor does it submit to any jurisdiction. # -include "template.3.grid.def"; +include "grib2/template.3.grid.def"; # Di - i direction increment unsigned[4] iDirectionIncrement : can_be_missing; @@ -18,7 +18,7 @@ unsigned[4] N : dump; alias numberOfParallelsBetweenAPoleAndTheEquator=N ; alias geography.N=N; -include "template.3.scanning_mode.def"; +include "grib2/template.3.scanning_mode.def"; modify Ni : can_be_missing,dump; diff --git a/definitions/grib2/template.3.grid.def b/definitions/grib2/template.3.grid.def index d06b96399..1cd29ce7e 100644 --- a/definitions/grib2/template.3.grid.def +++ b/definitions/grib2/template.3.grid.def @@ -54,7 +54,7 @@ signed[4] longitudeOfFirstGridPoint ; alias Lo1 = longitudeOfFirstGridPoint; #meta longitudeOfFirstGridPointInMicrodegrees times(longitudeOfFirstGridPoint,mAngleMultiplier,angleDivisor) : no_copy; -include "template.3.resolution_flags.def" +include "grib2/template.3.resolution_flags.def" # La2 - latitude of last grid point signed[4] latitudeOfLastGridPoint : edition_specific; diff --git a/definitions/grib2/template.3.latlon.def b/definitions/grib2/template.3.latlon.def index 4cb747f63..d7367b801 100755 --- a/definitions/grib2/template.3.latlon.def +++ b/definitions/grib2/template.3.latlon.def @@ -7,7 +7,7 @@ # virtue of its status as an intergovernmental organisation nor does it submit to any jurisdiction. # -include "template.3.grid.def"; +include "grib2/template.3.grid.def"; # Di - i direction increment @@ -21,7 +21,7 @@ unsigned[4] jDirectionIncrement : can_be_missing,edition_specific; alias Dj = jDirectionIncrement; alias Dy = jDirectionIncrement; -include "template.3.scanning_mode.def"; +include "grib2/template.3.scanning_mode.def"; meta g2grid g2grid( latitudeOfFirstGridPoint, diff --git a/definitions/grib2/template.3.latlon_vares.def b/definitions/grib2/template.3.latlon_vares.def index 153876b6f..078a75410 100755 --- a/definitions/grib2/template.3.latlon_vares.def +++ b/definitions/grib2/template.3.latlon_vares.def @@ -41,9 +41,9 @@ when (missing(subdivisionsOfBasicAngle) || subdivisionsOfBasicAngle == 0) { set angleDivisor = subdivisionsOfBasicAngle; } -include "template.3.resolution_flags.def" +include "grib2/template.3.resolution_flags.def" -include "template.3.scanning_mode.def"; +include "grib2/template.3.scanning_mode.def"; longitudesList list(Ni) { unsigned[4] longitudes; diff --git a/definitions/grib2/template.4.0.def b/definitions/grib2/template.4.0.def index d63e3bb65..86e49242c 100644 --- a/definitions/grib2/template.4.0.def +++ b/definitions/grib2/template.4.0.def @@ -9,7 +9,7 @@ # TEMPLATE 4.0, Analysis or forecast at a horizontal level or in a horizontal layer at a point in time -include "template.4.parameter.def"; -include "template.4.point_in_time.def"; -include "template.4.horizontal.def"; +include "grib2/template.4.parameter.def"; +include "grib2/template.4.point_in_time.def"; +include "grib2/template.4.horizontal.def"; diff --git a/definitions/grib2/template.4.1.def b/definitions/grib2/template.4.1.def index c3fef5c9f..351894a36 100644 --- a/definitions/grib2/template.4.1.def +++ b/definitions/grib2/template.4.1.def @@ -9,7 +9,7 @@ # TEMPLATE 4.1, Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time -include "template.4.parameter.def" -include "template.4.point_in_time.def"; -include "template.4.horizontal.def" -include "template.4.eps.def" +include "grib2/template.4.parameter.def" +include "grib2/template.4.point_in_time.def"; +include "grib2/template.4.horizontal.def" +include "grib2/template.4.eps.def" diff --git a/definitions/grib2/template.4.10.def b/definitions/grib2/template.4.10.def index a65d4e3b7..e1eb5b61d 100644 --- a/definitions/grib2/template.4.10.def +++ b/definitions/grib2/template.4.10.def @@ -9,7 +9,7 @@ # TEMPLATE 4.10, Percentile forecasts at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval -include "template.4.parameter.def" -include "template.4.horizontal.def" -include "template.4.percentile.def" -include "template.4.statistical.def" +include "grib2/template.4.parameter.def" +include "grib2/template.4.horizontal.def" +include "grib2/template.4.percentile.def" +include "grib2/template.4.statistical.def" diff --git a/definitions/grib2/template.4.1000.def b/definitions/grib2/template.4.1000.def index d4726c3e5..875f9655e 100644 --- a/definitions/grib2/template.4.1000.def +++ b/definitions/grib2/template.4.1000.def @@ -9,5 +9,5 @@ # TEMPLATE 4.1000, Cross section of analysis and forecast at a point in time -include "template.4.parameter.def" -include "template.4.point_in_time.def"; +include "grib2/template.4.parameter.def" +include "grib2/template.4.point_in_time.def"; diff --git a/definitions/grib2/template.4.1001.def b/definitions/grib2/template.4.1001.def index 08277b63f..b7b25efc0 100644 --- a/definitions/grib2/template.4.1001.def +++ b/definitions/grib2/template.4.1001.def @@ -9,5 +9,5 @@ # TEMPLATE 4.1001, Cross section of averaged or otherwise statistically processed analysis or forecast over a range of time -include "template.4.parameter.def" -include "template.4.statistical.def" +include "grib2/template.4.parameter.def" +include "grib2/template.4.statistical.def" diff --git a/definitions/grib2/template.4.1002.def b/definitions/grib2/template.4.1002.def index 05fba3d68..fa859aea3 100644 --- a/definitions/grib2/template.4.1002.def +++ b/definitions/grib2/template.4.1002.def @@ -9,7 +9,7 @@ # TEMPLATE 4.1002, Cross-section of analysis and forecast, averaged or otherwise statistically processed over latitude or longitude -include "template.4.parameter.def" +include "grib2/template.4.parameter.def" # Horizontal dimension processed diff --git a/definitions/grib2/template.4.11.def b/definitions/grib2/template.4.11.def index 85b16547e..1c8fb8901 100644 --- a/definitions/grib2/template.4.11.def +++ b/definitions/grib2/template.4.11.def @@ -9,7 +9,7 @@ # TEMPLATE 4.11, Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval -include "template.4.parameter.def" -include "template.4.horizontal.def" -include "template.4.eps.def" -include "template.4.statistical.def" +include "grib2/template.4.parameter.def" +include "grib2/template.4.horizontal.def" +include "grib2/template.4.eps.def" +include "grib2/template.4.statistical.def" diff --git a/definitions/grib2/template.4.1100.def b/definitions/grib2/template.4.1100.def index 6ec559a6e..0a15394a0 100644 --- a/definitions/grib2/template.4.1100.def +++ b/definitions/grib2/template.4.1100.def @@ -9,5 +9,5 @@ # TEMPLATE 4.1100, Hovmöller-type grid with no averaging or other statistical processing -include "template.4.parameter.def" -include "template.4.horizontal.def" +include "grib2/template.4.parameter.def" +include "grib2/template.4.horizontal.def" diff --git a/definitions/grib2/template.4.1101.def b/definitions/grib2/template.4.1101.def index 620a6be7f..908d54c4f 100644 --- a/definitions/grib2/template.4.1101.def +++ b/definitions/grib2/template.4.1101.def @@ -9,6 +9,6 @@ # TEMPLATE 4.1101, Hovmöller-type grid with averaging or other statistical processing -include "template.4.parameter.def" -include "template.4.horizontal.def" -include "template.4.statistical.def" +include "grib2/template.4.parameter.def" +include "grib2/template.4.horizontal.def" +include "grib2/template.4.statistical.def" diff --git a/definitions/grib2/template.4.12.def b/definitions/grib2/template.4.12.def index 1962078b7..94572785f 100644 --- a/definitions/grib2/template.4.12.def +++ b/definitions/grib2/template.4.12.def @@ -9,7 +9,8 @@ # TEMPLATE 4.12, Derived forecasts based on all ensemble members at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval -include "template.4.parameter.def" -include "template.4.horizontal.def" -include "template.4.derived.def" -include "template.4.statistical.def" \ No newline at end of file +include "grib2/template.4.parameter.def" +include "grib2/template.4.horizontal.def" +include "grib2/template.4.derived.def" +include "grib2/template.4.statistical.def" + diff --git a/definitions/grib2/template.4.13.def b/definitions/grib2/template.4.13.def index 9aff6af2d..64e98675f 100644 --- a/definitions/grib2/template.4.13.def +++ b/definitions/grib2/template.4.13.def @@ -9,11 +9,11 @@ # TEMPLATE 4.13, Derived forecasts based on a cluster of ensemble members over a rectangular area at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval -include "template.4.parameter.def" -include "template.4.horizontal.def" -include "template.4.derived.def" -include "template.4.rectangular_cluster.def" -include "template.4.statistical.def" +include "grib2/template.4.parameter.def" +include "grib2/template.4.horizontal.def" +include "grib2/template.4.derived.def" +include "grib2/template.4.rectangular_cluster.def" +include "grib2/template.4.statistical.def" ensembleForecastNumbersList list(numberOfForecastsInTheCluster) { unsigned[1] ensembleForecastNumbers : dump; diff --git a/definitions/grib2/template.4.14.def b/definitions/grib2/template.4.14.def index 7ab75caa0..4d6e9d67e 100644 --- a/definitions/grib2/template.4.14.def +++ b/definitions/grib2/template.4.14.def @@ -9,11 +9,11 @@ # TEMPLATE 4.14, Derived forecasts based on a cluster of ensemble members over a circular area at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval -include "template.4.parameter.def" -include "template.4.horizontal.def" -include "template.4.derived.def" -include "template.4.circular_cluster.def" -include "template.4.statistical.def" +include "grib2/template.4.parameter.def" +include "grib2/template.4.horizontal.def" +include "grib2/template.4.derived.def" +include "grib2/template.4.circular_cluster.def" +include "grib2/template.4.statistical.def" ensembleForecastNumbersList list(numberOfForecastsInTheCluster) { unsigned[1] ensembleForecastNumbers : dump; diff --git a/definitions/grib2/template.4.15.def b/definitions/grib2/template.4.15.def index f2b1487f1..1071b4278 100644 --- a/definitions/grib2/template.4.15.def +++ b/definitions/grib2/template.4.15.def @@ -9,9 +9,9 @@ # TEMPLATE 4.15, Average, accumulation, extreme values, or other statistically-processed values over a spatial area at a horizontal level or in a horizontal layer at a point in time -include "template.4.parameter.def"; -include "template.4.point_in_time.def"; -include "template.4.horizontal.def"; +include "grib2/template.4.parameter.def"; +include "grib2/template.4.point_in_time.def"; +include "grib2/template.4.horizontal.def"; codetable[1] statisticalProcess 'grib2/tables/[tablesVersion]/4.10.table'; codetable[1] spatialProcessing 'grib2/tables/[tablesVersion]/4.15.table'; unsigned[1] numberOfPointsUsed; diff --git a/definitions/grib2/template.4.2.def b/definitions/grib2/template.4.2.def index ec6719058..4ddfcc35f 100644 --- a/definitions/grib2/template.4.2.def +++ b/definitions/grib2/template.4.2.def @@ -9,7 +9,7 @@ # TEMPLATE 4.2, Derived forecast based on all ensemble members at a horizontal level or in a horizontal layer at a point in time -include "template.4.parameter.def"; -include "template.4.point_in_time.def"; -include "template.4.horizontal.def"; -include "template.4.derived.def"; +include "grib2/template.4.parameter.def"; +include "grib2/template.4.point_in_time.def"; +include "grib2/template.4.horizontal.def"; +include "grib2/template.4.derived.def"; diff --git a/definitions/grib2/template.4.3.def b/definitions/grib2/template.4.3.def index c91c6ce3c..1aed49119 100644 --- a/definitions/grib2/template.4.3.def +++ b/definitions/grib2/template.4.3.def @@ -9,11 +9,11 @@ # TEMPLATE 4.3, Derived forecasts based on a cluster of ensemble members over a rectangular area at a horizontal level or in a horizontal layer at a point in time -include "template.4.parameter.def" -include "template.4.point_in_time.def"; -include "template.4.horizontal.def" -include "template.4.derived.def" -include "template.4.rectangular_cluster.def" +include "grib2/template.4.parameter.def" +include "grib2/template.4.point_in_time.def"; +include "grib2/template.4.horizontal.def" +include "grib2/template.4.derived.def" +include "grib2/template.4.rectangular_cluster.def" ensembleForecastNumbersList list(numberOfForecastsInTheCluster) { unsigned[1] ensembleForecastNumbers : dump; diff --git a/definitions/grib2/template.4.32.def b/definitions/grib2/template.4.32.def index 5aab7d134..b0d6a5a23 100644 --- a/definitions/grib2/template.4.32.def +++ b/definitions/grib2/template.4.32.def @@ -14,8 +14,8 @@ constant dataRepresentationType = 90; # START template.4.32 ---------------------------------------------------------------------- # TEMPLATE 4.32, analysis or forecast at a horizontal level or in a horizontal layer at a point in time for simulated (synthetic) satellite data -include "template.4.parameter.def" -include "template.4.point_in_time.def"; +include "grib2/template.4.parameter.def" +include "grib2/template.4.point_in_time.def"; # Required for interpolation and MARS. The level type is used to decide whether to apply the Land Sea Mask constant typeOfLevel="surface"; diff --git a/definitions/grib2/template.4.33.def b/definitions/grib2/template.4.33.def index dfa95a769..16e6fc672 100644 --- a/definitions/grib2/template.4.33.def +++ b/definitions/grib2/template.4.33.def @@ -9,8 +9,8 @@ # TEMPLATE 4.33, Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for simulated (synthetic) satellite data -include "template.4.32.def" -include "template.4.eps.def" +include "grib2/template.4.32.def" +include "grib2/template.4.eps.def" alias instrument = instrumentType; alias ident = satelliteNumber; diff --git a/definitions/grib2/template.4.34.def b/definitions/grib2/template.4.34.def index dbf6cc01f..e016edd65 100644 --- a/definitions/grib2/template.4.34.def +++ b/definitions/grib2/template.4.34.def @@ -9,9 +9,9 @@ # TEMPLATE 4.34, Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval for simulated (synthetic) satellite data -include "template.4.32.def" -include "template.4.eps.def" -include "template.4.statistical.def" +include "grib2/template.4.32.def" +include "grib2/template.4.eps.def" +include "grib2/template.4.statistical.def" alias instrument = instrumentType; alias ident = satelliteNumber; diff --git a/definitions/grib2/template.4.4.def b/definitions/grib2/template.4.4.def index f04cb1b82..309436091 100644 --- a/definitions/grib2/template.4.4.def +++ b/definitions/grib2/template.4.4.def @@ -9,11 +9,11 @@ # TEMPLATE 4.4, Derived forecasts based on a cluster of ensemble members over a circular area at a horizontal level or in a horizontal layer at a point in time -include "template.4.parameter.def" -include "template.4.point_in_time.def"; -include "template.4.horizontal.def" -include "template.4.derived.def" -include "template.4.circular_cluster.def" +include "grib2/template.4.parameter.def" +include "grib2/template.4.point_in_time.def"; +include "grib2/template.4.horizontal.def" +include "grib2/template.4.derived.def" +include "grib2/template.4.circular_cluster.def" ensembleForecastNumbersList list(numberOfForecastsInTheCluster) { unsigned[1] ensembleForecastNumbers : dump; diff --git a/definitions/grib2/template.4.40.def b/definitions/grib2/template.4.40.def index 47868d5fa..c2e6300ef 100644 --- a/definitions/grib2/template.4.40.def +++ b/definitions/grib2/template.4.40.def @@ -9,6 +9,6 @@ # TEMPLATE 4.40, Analysis or forecast at a horizontal level or in a horizontal layer at a point in time -include "template.4.parameter_chemical.def"; -include "template.4.point_in_time.def"; -include "template.4.horizontal.def"; +include "grib2/template.4.parameter_chemical.def"; +include "grib2/template.4.point_in_time.def"; +include "grib2/template.4.horizontal.def"; diff --git a/definitions/grib2/template.4.40033.def b/definitions/grib2/template.4.40033.def index 3410d5c2d..3fb23ed5e 100644 --- a/definitions/grib2/template.4.40033.def +++ b/definitions/grib2/template.4.40033.def @@ -10,4 +10,4 @@ # # This is deprecated and only included for backward compatibility, use template 4.33 # -include "template.4.33.def" +include "grib2/template.4.33.def" diff --git a/definitions/grib2/template.4.40034.def b/definitions/grib2/template.4.40034.def index 7a55811d2..06d39047f 100644 --- a/definitions/grib2/template.4.40034.def +++ b/definitions/grib2/template.4.40034.def @@ -10,4 +10,4 @@ # # This is deprecated and only included for backward compatibility, use template 4.34 # -include "template.4.34.def" +include "grib2/template.4.34.def" diff --git a/definitions/grib2/template.4.41.def b/definitions/grib2/template.4.41.def index 875e55d7a..6e6a5f290 100644 --- a/definitions/grib2/template.4.41.def +++ b/definitions/grib2/template.4.41.def @@ -9,7 +9,7 @@ # TEMPLATE 4.41, Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time -include "template.4.parameter_chemical.def" -include "template.4.point_in_time.def"; -include "template.4.horizontal.def" -include "template.4.eps.def" +include "grib2/template.4.parameter_chemical.def" +include "grib2/template.4.point_in_time.def"; +include "grib2/template.4.horizontal.def" +include "grib2/template.4.eps.def" diff --git a/definitions/grib2/template.4.42.def b/definitions/grib2/template.4.42.def index 9141fa788..4490d1cc9 100644 --- a/definitions/grib2/template.4.42.def +++ b/definitions/grib2/template.4.42.def @@ -9,6 +9,6 @@ # TEMPLATE 4.42, Average, accumulation, and/or extreme values or other statistically processed values at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval -include "template.4.parameter_chemical.def" -include "template.4.horizontal.def" -include "template.4.statistical.def" +include "grib2/template.4.parameter_chemical.def" +include "grib2/template.4.horizontal.def" +include "grib2/template.4.statistical.def" diff --git a/definitions/grib2/template.4.43.def b/definitions/grib2/template.4.43.def index fbd1bc17d..72bab8041 100644 --- a/definitions/grib2/template.4.43.def +++ b/definitions/grib2/template.4.43.def @@ -9,7 +9,7 @@ # TEMPLATE 4.43, Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval -include "template.4.parameter_chemical.def" -include "template.4.horizontal.def" -include "template.4.eps.def" -include "template.4.statistical.def" +include "grib2/template.4.parameter_chemical.def" +include "grib2/template.4.horizontal.def" +include "grib2/template.4.eps.def" +include "grib2/template.4.statistical.def" diff --git a/definitions/grib2/template.4.44.def b/definitions/grib2/template.4.44.def index 69a2f6fe5..7999db761 100644 --- a/definitions/grib2/template.4.44.def +++ b/definitions/grib2/template.4.44.def @@ -10,7 +10,7 @@ # TEMPLATE 4.44, Analysis or forecast at a horizontal level or in a horizontal layer at a point in time # GRIB-530: Special case for aerosol thanks to WMO error -include "template.4.parameter_aerosol_44.def"; +include "grib2/template.4.parameter_aerosol_44.def"; -include "template.4.point_in_time.def"; -include "template.4.horizontal.def"; +include "grib2/template.4.point_in_time.def"; +include "grib2/template.4.horizontal.def"; diff --git a/definitions/grib2/template.4.45.def b/definitions/grib2/template.4.45.def index 6fb746ac2..9828b67b0 100644 --- a/definitions/grib2/template.4.45.def +++ b/definitions/grib2/template.4.45.def @@ -9,7 +9,7 @@ # TEMPLATE 4.45, Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for aerosol -include "template.4.parameter_aerosol.def" -include "template.4.point_in_time.def"; -include "template.4.horizontal.def" -include "template.4.eps.def" +include "grib2/template.4.parameter_aerosol.def" +include "grib2/template.4.point_in_time.def"; +include "grib2/template.4.horizontal.def" +include "grib2/template.4.eps.def" diff --git a/definitions/grib2/template.4.46.def b/definitions/grib2/template.4.46.def index 2583d3ba0..9bcaa4c23 100644 --- a/definitions/grib2/template.4.46.def +++ b/definitions/grib2/template.4.46.def @@ -9,6 +9,6 @@ # TEMPLATE 4.46, Average, accumulation, and/or extreme values or other statistically processed values at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for aerosol -include "template.4.parameter_aerosol.def" -include "template.4.horizontal.def" -include "template.4.statistical.def" +include "grib2/template.4.parameter_aerosol.def" +include "grib2/template.4.horizontal.def" +include "grib2/template.4.statistical.def" diff --git a/definitions/grib2/template.4.47.def b/definitions/grib2/template.4.47.def index bb2f87ffa..26856209f 100644 --- a/definitions/grib2/template.4.47.def +++ b/definitions/grib2/template.4.47.def @@ -9,7 +9,7 @@ # TEMPLATE 4.47, Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval -include "template.4.parameter_aerosol.def" -include "template.4.horizontal.def" -include "template.4.eps.def" -include "template.4.statistical.def" +include "grib2/template.4.parameter_aerosol.def" +include "grib2/template.4.horizontal.def" +include "grib2/template.4.eps.def" +include "grib2/template.4.statistical.def" diff --git a/definitions/grib2/template.4.48.def b/definitions/grib2/template.4.48.def index e6304507d..b19217f1f 100644 --- a/definitions/grib2/template.4.48.def +++ b/definitions/grib2/template.4.48.def @@ -9,6 +9,6 @@ # TEMPLATE 4.48, Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for optical properties of aerosol -include "template.4.parameter_aerosol_optical.def"; -include "template.4.point_in_time.def"; -include "template.4.horizontal.def"; +include "grib2/template.4.parameter_aerosol_optical.def"; +include "grib2/template.4.point_in_time.def"; +include "grib2/template.4.horizontal.def"; diff --git a/definitions/grib2/template.4.5.def b/definitions/grib2/template.4.5.def index 85b110521..f7d03f3a3 100644 --- a/definitions/grib2/template.4.5.def +++ b/definitions/grib2/template.4.5.def @@ -9,7 +9,7 @@ # TEMPLATE 4.5, Probability forecasts at a horizontal level or in a horizontal layer at a point in time -include "template.4.parameter.def" -include "template.4.point_in_time.def"; -include "template.4.horizontal.def" -include "template.4.probability.def" +include "grib2/template.4.parameter.def" +include "grib2/template.4.point_in_time.def"; +include "grib2/template.4.horizontal.def" +include "grib2/template.4.probability.def" diff --git a/definitions/grib2/template.4.51.def b/definitions/grib2/template.4.51.def index 884fcaf3b..e401fd62a 100644 --- a/definitions/grib2/template.4.51.def +++ b/definitions/grib2/template.4.51.def @@ -9,7 +9,7 @@ # TEMPLATE 4.51, Categorical forecasts at a horizontal level or in a horizontal layer at a point in time -include "template.4.parameter.def" -include "template.4.point_in_time.def"; -include "template.4.horizontal.def" -include "template.4.categorical.def" +include "grib2/template.4.parameter.def" +include "grib2/template.4.point_in_time.def"; +include "grib2/template.4.horizontal.def" +include "grib2/template.4.categorical.def" diff --git a/definitions/grib2/template.4.53.def b/definitions/grib2/template.4.53.def index 5bee75402..6a727ea75 100644 --- a/definitions/grib2/template.4.53.def +++ b/definitions/grib2/template.4.53.def @@ -8,9 +8,9 @@ # # TEMPLATE 4.53, Partitioned parameters at a horizontal level or in a horizontal layer at a point in time -include "template.4.parameter_partition.def" -include "template.4.point_in_time.def"; -include "template.4.horizontal.def"; +include "grib2/template.4.parameter_partition.def" +include "grib2/template.4.point_in_time.def"; +include "grib2/template.4.horizontal.def"; constant cat="cat"; alias mars.levtype=cat; alias mars.levelist=partitionNumber; diff --git a/definitions/grib2/template.4.54.def b/definitions/grib2/template.4.54.def index c1cf41148..b5a347c43 100644 --- a/definitions/grib2/template.4.54.def +++ b/definitions/grib2/template.4.54.def @@ -8,8 +8,8 @@ # # TEMPLATE 4.54, Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for partitioned parameters -include "template.4.53.def" -include "template.4.eps.def" +include "grib2/template.4.53.def" +include "grib2/template.4.eps.def" constant cat="cat"; alias mars.levtype=cat; diff --git a/definitions/grib2/template.4.6.def b/definitions/grib2/template.4.6.def index 3e5f79ace..e2c17a525 100644 --- a/definitions/grib2/template.4.6.def +++ b/definitions/grib2/template.4.6.def @@ -9,7 +9,7 @@ # TEMPLATE 4.6, Percentile forecasts at a horizontal level or in a horizontal layer at a point in time -include "template.4.parameter.def" -include "template.4.point_in_time.def"; -include "template.4.horizontal.def" -include "template.4.percentile.def" +include "grib2/template.4.parameter.def" +include "grib2/template.4.point_in_time.def"; +include "grib2/template.4.horizontal.def" +include "grib2/template.4.percentile.def" diff --git a/definitions/grib2/template.4.60.def b/definitions/grib2/template.4.60.def index 6fb148d69..3f338fe54 100644 --- a/definitions/grib2/template.4.60.def +++ b/definitions/grib2/template.4.60.def @@ -9,8 +9,8 @@ # TEMPLATE 4.60, Individual ensemble re-forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time -include "template.4.parameter.def" -include "template.4.point_in_time.def"; -include "template.4.horizontal.def" -include "template.4.eps.def" -include "template.4.reforecast.def" +include "grib2/template.4.parameter.def" +include "grib2/template.4.point_in_time.def"; +include "grib2/template.4.horizontal.def" +include "grib2/template.4.eps.def" +include "grib2/template.4.reforecast.def" diff --git a/definitions/grib2/template.4.61.def b/definitions/grib2/template.4.61.def index ab845fce4..f0b931427 100644 --- a/definitions/grib2/template.4.61.def +++ b/definitions/grib2/template.4.61.def @@ -9,8 +9,8 @@ # TEMPLATE 4.61, Individual ensemble re-forecast, control and perturbed, at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval -include "template.4.parameter.def" -include "template.4.horizontal.def" -include "template.4.eps.def" -include "template.4.reforecast.def" -include "template.4.statistical.def" +include "grib2/template.4.parameter.def" +include "grib2/template.4.horizontal.def" +include "grib2/template.4.eps.def" +include "grib2/template.4.reforecast.def" +include "grib2/template.4.statistical.def" diff --git a/definitions/grib2/template.4.7.def b/definitions/grib2/template.4.7.def index 930c41c8b..3d2d6beda 100644 --- a/definitions/grib2/template.4.7.def +++ b/definitions/grib2/template.4.7.def @@ -10,4 +10,5 @@ # TEMPLATE 4.7, Analysis or forecast error at a horizontal level or in a horizontal layer at a point in time # Same as 4.0 Should not be used -include "template.4.0.def" \ No newline at end of file +include "grib2/template.4.0.def" + diff --git a/definitions/grib2/template.4.8.def b/definitions/grib2/template.4.8.def index b61a48151..c22aee66a 100644 --- a/definitions/grib2/template.4.8.def +++ b/definitions/grib2/template.4.8.def @@ -9,6 +9,6 @@ # TEMPLATE 4.8, Average, accumulation, and/or extreme values or other statistically processed values at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval -include "template.4.parameter.def" -include "template.4.horizontal.def" -include "template.4.statistical.def" +include "grib2/template.4.parameter.def" +include "grib2/template.4.horizontal.def" +include "grib2/template.4.statistical.def" diff --git a/definitions/grib2/template.4.9.def b/definitions/grib2/template.4.9.def index 68fc245eb..357c711a3 100644 --- a/definitions/grib2/template.4.9.def +++ b/definitions/grib2/template.4.9.def @@ -9,7 +9,7 @@ # TEMPLATE 4.9, Probability forecasts at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval -include "template.4.parameter.def" -include "template.4.horizontal.def" -include "template.4.probability.def" -include "template.4.statistical.def" +include "grib2/template.4.parameter.def" +include "grib2/template.4.horizontal.def" +include "grib2/template.4.probability.def" +include "grib2/template.4.statistical.def" diff --git a/definitions/grib2/template.4.91.def b/definitions/grib2/template.4.91.def index 3fcabf7e5..4456d19a4 100644 --- a/definitions/grib2/template.4.91.def +++ b/definitions/grib2/template.4.91.def @@ -9,7 +9,7 @@ # TEMPLATE 4.91, Categorical forecasts at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval -include "template.4.parameter.def" -include "template.4.horizontal.def" -include "template.4.categorical.def" -include "template.4.statistical.def" +include "grib2/template.4.parameter.def" +include "grib2/template.4.horizontal.def" +include "grib2/template.4.categorical.def" +include "grib2/template.4.statistical.def" diff --git a/definitions/grib2/template.5.0.def b/definitions/grib2/template.5.0.def index 587875012..17b6c7230 100644 --- a/definitions/grib2/template.5.0.def +++ b/definitions/grib2/template.5.0.def @@ -9,6 +9,6 @@ # TEMPLATE 5.0, Grid point data - simple packing -include "template.5.packing.def"; -include "template.5.original_values.def"; +include "grib2/template.5.packing.def"; +include "grib2/template.5.original_values.def"; diff --git a/definitions/grib2/template.5.1.def b/definitions/grib2/template.5.1.def index 1f4331047..8ef2a2420 100644 --- a/definitions/grib2/template.5.1.def +++ b/definitions/grib2/template.5.1.def @@ -11,7 +11,7 @@ # START 2/template.5.1 ---------------------------------------------------------------------- # TEMPLATE 5.1, Matrix values at grid point -simple packing -include "template.5.packing.def"; +include "grib2/template.5.packing.def"; unsigned[1] matrixBitmapsPresent ; diff --git a/definitions/grib2/template.5.2.def b/definitions/grib2/template.5.2.def index adf232a65..4709fa3f8 100644 --- a/definitions/grib2/template.5.2.def +++ b/definitions/grib2/template.5.2.def @@ -11,8 +11,8 @@ # START 2/template.5.2 ---------------------------------------------------------------------- # TEMPLATE 5.2, Grid point data - complex packing -include "template.5.packing.def"; -include "template.5.original_values.def"; +include "grib2/template.5.packing.def"; +include "grib2/template.5.original_values.def"; # Group splitting method used codetable[1] groupSplittingMethodUsed ('5.4.table',masterDir,localDir); diff --git a/definitions/grib2/template.5.3.def b/definitions/grib2/template.5.3.def index 16ecb4034..088852182 100644 --- a/definitions/grib2/template.5.3.def +++ b/definitions/grib2/template.5.3.def @@ -11,8 +11,8 @@ # START 2/template.5.3 ---------------------------------------------------------------------- # TEMPLATE 5.3, Grid point data - complex packing and spatial differencing -include "template.5.packing.def"; -include "template.5.original_values.def"; +include "grib2/template.5.packing.def"; +include "grib2/template.5.original_values.def"; # Group splitting method used diff --git a/definitions/grib2/template.5.40.def b/definitions/grib2/template.5.40.def index e301d400c..2736c6503 100644 --- a/definitions/grib2/template.5.40.def +++ b/definitions/grib2/template.5.40.def @@ -10,8 +10,8 @@ #Data Representation Template 5.40: #Grid point data - JPEG 2000 Code Stream Format -include "template.5.packing.def"; -include "template.5.original_values.def"; +include "grib2/template.5.packing.def"; +include "grib2/template.5.original_values.def"; # Octet 22 : Type of Compression used. (see Code Table 5.40) diff --git a/definitions/grib2/template.5.40000.def b/definitions/grib2/template.5.40000.def index a195f280c..77bf39e74 100644 --- a/definitions/grib2/template.5.40000.def +++ b/definitions/grib2/template.5.40000.def @@ -7,4 +7,5 @@ # virtue of its status as an intergovernmental organisation nor does it submit to any jurisdiction. # -include "template.5.40.def" \ No newline at end of file +include "grib2/template.5.40.def" + diff --git a/definitions/grib2/template.5.40010.def b/definitions/grib2/template.5.40010.def index 64fd3bc45..3701f18c4 100644 --- a/definitions/grib2/template.5.40010.def +++ b/definitions/grib2/template.5.40010.def @@ -7,4 +7,5 @@ # virtue of its status as an intergovernmental organisation nor does it submit to any jurisdiction. # -include "template.5.41.def" \ No newline at end of file +include "grib2/template.5.41.def" + diff --git a/definitions/grib2/template.5.41.def b/definitions/grib2/template.5.41.def index d93b0eb3a..0c5833228 100644 --- a/definitions/grib2/template.5.41.def +++ b/definitions/grib2/template.5.41.def @@ -9,6 +9,6 @@ # Grid point data - PNG Code Stream Format SAME AS 5.40010 !!!!!! -include "template.5.packing.def"; -include "template.5.original_values.def"; +include "grib2/template.5.packing.def"; +include "grib2/template.5.original_values.def"; diff --git a/definitions/grib2/template.5.42.def b/definitions/grib2/template.5.42.def index a745d3fec..8214aa0ed 100644 --- a/definitions/grib2/template.5.42.def +++ b/definitions/grib2/template.5.42.def @@ -9,8 +9,8 @@ # TEMPLATE 5.42, Grid point and spectral data - CCSDS -include "template.5.packing.def"; -include "template.5.original_values.def"; +include "grib2/template.5.packing.def"; +include "grib2/template.5.original_values.def"; unsigned[1] ccsdsFlags : dump; diff --git a/definitions/grib2/template.5.50.def b/definitions/grib2/template.5.50.def index e885ab58c..102929973 100644 --- a/definitions/grib2/template.5.50.def +++ b/definitions/grib2/template.5.50.def @@ -8,7 +8,7 @@ # # TEMPLATE 5.50, Spectral data - simple packing -include "template.5.packing.def"; +include "grib2/template.5.packing.def"; # Real part of (0,0) ieeefloat realPartOf00 ; diff --git a/definitions/grib2/template.5.50000.def b/definitions/grib2/template.5.50000.def index ab2c9abf2..c826af7fc 100644 --- a/definitions/grib2/template.5.50000.def +++ b/definitions/grib2/template.5.50000.def @@ -11,7 +11,7 @@ # TEMPLATE 5.51, Spherical harmonics data - complex packing -include "template.5.packing.def"; +include "grib2/template.5.packing.def"; if (gribex_mode_on()) { transient computeLaplacianOperator=0 : hidden; diff --git a/definitions/grib2/template.5.51.def b/definitions/grib2/template.5.51.def index 3f29a2816..3e1756c70 100644 --- a/definitions/grib2/template.5.51.def +++ b/definitions/grib2/template.5.51.def @@ -11,7 +11,7 @@ # TEMPLATE 5.51, Spherical harmonics data - complex packing -include "template.5.packing.def"; +include "grib2/template.5.packing.def"; if (gribex_mode_on()) { transient computeLaplacianOperator=0 : hidden; diff --git a/definitions/grib2/template.5.6.def b/definitions/grib2/template.5.6.def index 835eb170b..5b081255c 100644 --- a/definitions/grib2/template.5.6.def +++ b/definitions/grib2/template.5.6.def @@ -11,7 +11,7 @@ label "grib 2 Section 5 template 5.6"; # START 2/template.5.6 ---------------------------------------------------------------------- # Grid point data - Simple packing with preprocessing -include "template.5.packing.def"; +include "grib2/template.5.packing.def"; codetable[1] typeOfPreProcessing ('5.9.table',masterDir,localDir) :edition_specific; ieeefloat preProcessingParameter : read_only; diff --git a/definitions/grib2/template.5.61.def b/definitions/grib2/template.5.61.def index 47a24c0cf..bfb3e860c 100644 --- a/definitions/grib2/template.5.61.def +++ b/definitions/grib2/template.5.61.def @@ -12,7 +12,7 @@ label "grib 2 Section 5 template 5.61"; # Grid point data - Simple packing with logarithmic preprocessing constant typeOfPreProcessing=1; -include "template.5.packing.def"; +include "grib2/template.5.packing.def"; ieeefloat preProcessingParameter : read_only; diff --git a/definitions/grib2/template.7.40000.def b/definitions/grib2/template.7.40000.def index 731397672..740ea09da 100644 --- a/definitions/grib2/template.7.40000.def +++ b/definitions/grib2/template.7.40000.def @@ -7,4 +7,5 @@ # virtue of its status as an intergovernmental organisation nor does it submit to any jurisdiction. # -include "template.7.40.def" \ No newline at end of file +include "grib2/template.7.40.def" + diff --git a/definitions/grib2/template.7.40010.def b/definitions/grib2/template.7.40010.def index d70848702..a866e3518 100644 --- a/definitions/grib2/template.7.40010.def +++ b/definitions/grib2/template.7.40010.def @@ -7,4 +7,5 @@ # virtue of its status as an intergovernmental organisation nor does it submit to any jurisdiction. # -include "template.7.41.def" \ No newline at end of file +include "grib2/template.7.41.def" + diff --git a/definitions/metar/boot.def b/definitions/metar/boot.def index ecae7cdbd..1ee103b70 100644 --- a/definitions/metar/boot.def +++ b/definitions/metar/boot.def @@ -36,21 +36,21 @@ if ( g is "COR" ) { alias isCorrection=one; alias status=correction; group g : dump; non_alpha na; -} +} if (length(g) == 4) { - include "cccc.def"; + include "metar/cccc.def"; } else { if (g is "METAR") { rename(g,metarTwice); group g : dump; non_alpha na; - if (length(g) == 4) { include "cccc.def"; } - else { - constant CCCC = "unknown"; - constant coordinatesPresent = 0; + if (length(g) == 4) { include "metar/cccc.def"; } + else { + constant CCCC = "unknown"; + constant coordinatesPresent = 0; } } else { - constant CCCC = "unknown"; - constant coordinatesPresent = 0; + constant CCCC = "unknown"; + constant coordinatesPresent = 0; } } @@ -74,80 +74,80 @@ if ( ! isCorrection && g is "COR" ) { alias status=correction; alias isCorrection=one; group g : dump; non_alpha na; -} +} -include "wrong_delayed.def"; +include "metar/wrong_delayed.def"; -if ( g is "NIL" ) { +if ( g is "NIL" ) { rename(g,nil); group g : dump; } else { - if (g is "AUTO") { - rename(g,auto); - alias isAuto=true; - group g : dump; non_alpha na; + if (g is "AUTO") { + rename(g,auto); + alias isAuto=true; + group g : dump; non_alpha na; } - include "wind.def"; - include "horizontalVisibility.def"; + include "metar/wind.def"; + include "metar/horizontalVisibility.def"; - if ( ! isCavok ) { - include "present_weather.def"; - include "clouds.def"; + if ( ! isCavok ) { + include "metar/present_weather.def"; + include "metar/clouds.def"; } - include "missing_field.def"; - include "temperature.def"; - include "qnh.def"; - include "colour.def"; - include "recent_weather.def"; - include "wind_shear.def"; - include "sea_state.def"; + include "metar/missing_field.def"; + include "metar/temperature.def"; + include "metar/qnh.def"; + include "metar/colour.def"; + include "metar/recent_weather.def"; + include "metar/wind_shear.def"; + include "metar/sea_state.def"; template runwayState "metar/runwayState.def"; - include "trend1.def"; - include "trend2.def"; - include "trend3.def"; - include "trend4.def"; + include "metar/trend1.def"; + include "metar/trend2.def"; + include "metar/trend3.def"; + include "metar/trend4.def"; } -include "remark.def"; +include "metar/remark.def"; -if (length(g) == 0) { +if (length(g) == 0) { modify g : hidden; } else { - if ( ! remarkPresent) { + if ( ! remarkPresent) { rename(g,skippedGroup); group g : dump; non_alpha na; - include "colour.def"; - include "recent_weather.def"; - include "wind_shear.def"; - include "sea_state.def"; + include "metar/colour.def"; + include "metar/recent_weather.def"; + include "metar/wind_shear.def"; + include "metar/sea_state.def"; template runwayState "metar/runwayState.def"; - include "temperature.def"; - include "qnh.def"; + include "metar/temperature.def"; + include "metar/qnh.def"; if (!presentTrend1) { - include "trend1.def"; - include "trend2.def"; - include "trend3.def"; - include "trend4.def"; + include "metar/trend1.def"; + include "metar/trend2.def"; + include "metar/trend3.def"; + include "metar/trend4.def"; } } - include "remark.def"; - if ( ! remarkPresent) { + include "metar/remark.def"; + if ( ! remarkPresent) { if ( length(g) == 0) { modify g : hidden; } else { - rename(g,unknownGroup) ; + rename(g,unknownGroup) ; } } group notDecoded("=") : dump; - if (remarkPresent) { - rename(notDecoded,remark); + if (remarkPresent) { + rename(notDecoded,remark); } } ascii[1] endMark :read_only ; -position totalLength; +position totalLength; position endOfMessage; meta lengthOfMessage evaluate( endOfMessage-startOfMessage); diff --git a/definitions/metar/boot.flexible.def b/definitions/metar/boot.flexible.def index e7f7e35de..1c7049043 100644 --- a/definitions/metar/boot.flexible.def +++ b/definitions/metar/boot.flexible.def @@ -36,21 +36,21 @@ if ( g is "COR" ) { alias isCorrection=one; alias status=correction; group g : dump; non_alpha na; -} +} if (length(g) == 4) { - include "cccc.def"; + include "metar/cccc.def"; } else { if (g is "METAR") { rename(g,metarTwice); group g : dump; non_alpha na; - if (length(g) == 4) { include "cccc.def"; } - else { - constant CCCC = "unknown"; - constant coordinatesPresent = 0; + if (length(g) == 4) { include "metar/cccc.def"; } + else { + constant CCCC = "unknown"; + constant coordinatesPresent = 0; } } else { - constant CCCC = "unknown"; - constant coordinatesPresent = 0; + constant CCCC = "unknown"; + constant coordinatesPresent = 0; } } @@ -70,80 +70,80 @@ if ( ! isCorrection && g is "COR" ) { alias status=correction; alias isCorrection=one; group g : dump; non_alpha na; -} +} -include "wrong_delayed.def"; +include "metar/wrong_delayed.def"; -if ( g is "NIL" ) { +if ( g is "NIL" ) { rename(g,nil); group g : dump; } else { - if (g is "AUTO") { - rename(g,auto); - alias isAuto=true; - group g : dump; non_alpha na; + if (g is "AUTO") { + rename(g,auto); + alias isAuto=true; + group g : dump; non_alpha na; } - include "wind.def"; - include "horizontalVisibility.def"; + include "metar/wind.def"; + include "metar/horizontalVisibility.def"; - if ( ! isCavok ) { - include "present_weather.def"; - include "clouds.def"; + if ( ! isCavok ) { + include "metar/present_weather.def"; + include "metar/clouds.def"; } - include "missing_field.def"; - include "temperature.def"; - include "qnh.def"; - include "colour.def"; - include "recent_weather.def"; - include "wind_shear.def"; - include "sea_state.def"; + include "metar/missing_field.def"; + include "metar/temperature.def"; + include "metar/qnh.def"; + include "metar/colour.def"; + include "metar/recent_weather.def"; + include "metar/wind_shear.def"; + include "metar/sea_state.def"; template runwayState "metar/runwayState.def"; - include "trend1.def"; - include "trend2.def"; - include "trend3.def"; - include "trend4.def"; + include "metar/trend1.def"; + include "metar/trend2.def"; + include "metar/trend3.def"; + include "metar/trend4.def"; } -include "remark.def"; +include "metar/remark.def"; -if (length(g) == 0) { +if (length(g) == 0) { modify g : hidden; } else { - if ( ! remarkPresent) { + if ( ! remarkPresent) { rename(g,skippedGroup); group g : dump; non_alpha na; - include "colour.def"; - include "recent_weather.def"; - include "wind_shear.def"; - include "sea_state.def"; + include "metar/colour.def"; + include "metar/recent_weather.def"; + include "metar/wind_shear.def"; + include "metar/sea_state.def"; template runwayState "metar/runwayState.def"; - include "temperature.def"; - include "qnh.def"; + include "metar/temperature.def"; + include "metar/qnh.def"; if (!presentTrend1) { - include "trend1.def"; - include "trend2.def"; - include "trend3.def"; - include "trend4.def"; + include "metar/trend1.def"; + include "metar/trend2.def"; + include "metar/trend3.def"; + include "metar/trend4.def"; } } - include "remark.def"; - if ( ! remarkPresent) { + include "metar/remark.def"; + if ( ! remarkPresent) { if ( length(g) == 0) { modify g : hidden; } else { - rename(g,unknownGroup) ; + rename(g,unknownGroup) ; } } group notDecoded("=") : dump; - if (remarkPresent) { - rename(notDecoded,remark); + if (remarkPresent) { + rename(notDecoded,remark); } } ascii[1] endMark :read_only ; -position totalLength; +position totalLength; position endOfMessage; meta lengthOfMessage evaluate( endOfMessage-startOfMessage); diff --git a/definitions/metar/horizontalVisibility.def b/definitions/metar/horizontalVisibility.def index 3bd448348..e84e7a080 100644 --- a/definitions/metar/horizontalVisibility.def +++ b/definitions/metar/horizontalVisibility.def @@ -61,8 +61,8 @@ if ( g is "CAVOK") { variationOfVisibilityDirection=dict_search("metar/direction.table",directionOfVariation,1) : string_type; variationOfVisibilityDirectionAngle=dict_search("metar/direction.table",directionOfVariation,2) ; } - include "rvr1.def"; - include "rvr2.def"; - include "rvr3.def"; - include "rvr4.def"; + include "metar/rvr1.def"; + include "metar/rvr2.def"; + include "metar/rvr3.def"; + include "metar/rvr4.def"; } diff --git a/definitions/metar/runwayState.def b/definitions/metar/runwayState.def index 365373833..51025f1c9 100644 --- a/definitions/metar/runwayState.def +++ b/definitions/metar/runwayState.def @@ -1,4 +1,4 @@ -include "runwayState1.def"; -include "runwayState2.def"; -include "runwayState3.def"; -include "runwayState4.def"; +include "metar/runwayState1.def"; +include "metar/runwayState2.def"; +include "metar/runwayState3.def"; +include "metar/runwayState4.def"; diff --git a/definitions/metar/trend1.def b/definitions/metar/trend1.def index 4f28cc6ee..689ad13c3 100644 --- a/definitions/metar/trend1.def +++ b/definitions/metar/trend1.def @@ -10,7 +10,7 @@ if (! nosigPresent) { rename(g,changeIndicatorCodedTrend1); constant changeIndicatorTrend1="BECOMING"; group g : dump; non_alpha na; - } + } if (!defined(changeIndicatorTrend1) && g is "TEMPO" ) { alias presentTrend1=one; rename(g,changeIndicatorCodedTrend1); @@ -36,13 +36,13 @@ if (! nosigPresent) { endHourTrend1=to_string(untilTrend1,2,2) ; endMinuteTrend1=to_string(untilTrend1,4,2); } - include "wind_Trend1.def"; + include "metar/wind_Trend1.def"; - include "horizontalVisibility_Trend1.def"; + include "metar/horizontalVisibility_Trend1.def"; - if ( ! isCavokTrend1) { - include "present_weather_Trend1.def"; - include "clouds_Trend1.def"; + if ( ! isCavokTrend1) { + include "metar/present_weather_Trend1.def"; + include "metar/clouds_Trend1.def"; } } else { if (substr(g,0,2) is "FM") { @@ -52,13 +52,13 @@ if (! nosigPresent) { group g : dump; non_alpha na; beginHourTrend1=to_string(fromTrend1,2,2); beginMinuteTrend1=to_string(fromTrend1,4,2); - include "wind_Trend1.def"; + include "metar/wind_Trend1.def"; - include "horizontalVisibility_Trend1.def"; + include "metar/horizontalVisibility_Trend1.def"; - if ( ! isCavokTrend1) { - include "present_weather_Trend1.def"; - include "clouds_Trend1.def"; + if ( ! isCavokTrend1) { + include "metar/present_weather_Trend1.def"; + include "metar/clouds_Trend1.def"; } } } diff --git a/definitions/metar/trend2.def b/definitions/metar/trend2.def index 4b0d3d901..e658cad84 100644 --- a/definitions/metar/trend2.def +++ b/definitions/metar/trend2.def @@ -10,7 +10,7 @@ if (! nosigPresent) { rename(g,changeIndicatorCodedTrend2); constant changeIndicatorTrend2="BECOMING"; group g : dump; non_alpha na; - } + } if (!defined(changeIndicatorTrend2) && g is "TEMPO" ) { alias presentTrend2=one; rename(g,changeIndicatorCodedTrend2); @@ -36,13 +36,13 @@ if (! nosigPresent) { endHourTrend2=to_string(untilTrend2,2,2) ; endMinuteTrend2=to_string(untilTrend2,4,2); } - include "wind_Trend2.def"; + include "metar/wind_Trend2.def"; - include "horizontalVisibility_Trend2.def"; + include "metar/horizontalVisibility_Trend2.def"; - if ( ! isCavokTrend2) { - include "present_weather_Trend2.def"; - include "clouds_Trend2.def"; + if ( ! isCavokTrend2) { + include "metar/present_weather_Trend2.def"; + include "metar/clouds_Trend2.def"; } } else { if (substr(g,0,2) is "FM") { @@ -52,13 +52,13 @@ if (! nosigPresent) { group g : dump; non_alpha na; beginHourTrend2=to_string(fromTrend2,2,2); beginMinuteTrend2=to_string(fromTrend2,4,2); - include "wind_Trend2.def"; + include "metar/wind_Trend2.def"; - include "horizontalVisibility_Trend2.def"; + include "metar/horizontalVisibility_Trend2.def"; - if ( ! isCavokTrend2) { - include "present_weather_Trend2.def"; - include "clouds_Trend2.def"; + if ( ! isCavokTrend2) { + include "metar/present_weather_Trend2.def"; + include "metar/clouds_Trend2.def"; } } } diff --git a/definitions/metar/trend3.def b/definitions/metar/trend3.def index a8b44d1bf..f0cfe4e86 100644 --- a/definitions/metar/trend3.def +++ b/definitions/metar/trend3.def @@ -10,7 +10,7 @@ if (! nosigPresent) { rename(g,changeIndicatorCodedTrend3); constant changeIndicatorTrend3="BECOMING"; group g : dump; non_alpha na; - } + } if (!defined(changeIndicatorTrend3) && g is "TEMPO" ) { alias presentTrend3=one; rename(g,changeIndicatorCodedTrend3); @@ -36,13 +36,13 @@ if (! nosigPresent) { endHourTrend3=to_string(untilTrend3,2,2) ; endMinuteTrend3=to_string(untilTrend3,4,2); } - include "wind_Trend3.def"; + include "metar/wind_Trend3.def"; - include "horizontalVisibility_Trend3.def"; + include "metar/horizontalVisibility_Trend3.def"; - if ( ! isCavokTrend3) { - include "present_weather_Trend3.def"; - include "clouds_Trend3.def"; + if ( ! isCavokTrend3) { + include "metar/present_weather_Trend3.def"; + include "metar/clouds_Trend3.def"; } } else { if (substr(g,0,2) is "FM") { @@ -52,13 +52,13 @@ if (! nosigPresent) { group g : dump; non_alpha na; beginHourTrend3=to_string(fromTrend3,2,2); beginMinuteTrend3=to_string(fromTrend3,4,2); - include "wind_Trend3.def"; + include "metar/wind_Trend3.def"; - include "horizontalVisibility_Trend3.def"; + include "metar/horizontalVisibility_Trend3.def"; - if ( ! isCavokTrend3) { - include "present_weather_Trend3.def"; - include "clouds_Trend3.def"; + if ( ! isCavokTrend3) { + include "metar/present_weather_Trend3.def"; + include "metar/clouds_Trend3.def"; } } } diff --git a/definitions/metar/trend4.def b/definitions/metar/trend4.def index bc460b4bc..d37422649 100644 --- a/definitions/metar/trend4.def +++ b/definitions/metar/trend4.def @@ -10,7 +10,7 @@ if (! nosigPresent) { rename(g,changeIndicatorCodedTrend4); constant changeIndicatorTrend4="BECOMING"; group g : dump; non_alpha na; - } + } if (!defined(changeIndicatorTrend4) && g is "TEMPO" ) { alias presentTrend4=one; rename(g,changeIndicatorCodedTrend4); @@ -36,13 +36,13 @@ if (! nosigPresent) { endHourTrend4=to_string(untilTrend4,2,2) ; endMinuteTrend4=to_string(untilTrend4,4,2); } - include "wind_Trend4.def"; + include "metar/wind_Trend4.def"; - include "horizontalVisibility_Trend4.def"; + include "metar/horizontalVisibility_Trend4.def"; - if ( ! isCavokTrend4) { - include "present_weather_Trend4.def"; - include "clouds_Trend4.def"; + if ( ! isCavokTrend4) { + include "metar/present_weather_Trend4.def"; + include "metar/clouds_Trend4.def"; } } else { if (substr(g,0,2) is "FM") { @@ -52,13 +52,13 @@ if (! nosigPresent) { group g : dump; non_alpha na; beginHourTrend4=to_string(fromTrend4,2,2); beginMinuteTrend4=to_string(fromTrend4,4,2); - include "wind_Trend4.def"; + include "metar/wind_Trend4.def"; - include "horizontalVisibility_Trend4.def"; + include "metar/horizontalVisibility_Trend4.def"; - if ( ! isCavokTrend4) { - include "present_weather_Trend4.def"; - include "clouds_Trend4.def"; + if ( ! isCavokTrend4) { + include "metar/present_weather_Trend4.def"; + include "metar/clouds_Trend4.def"; } } } diff --git a/definitions/taf/boot.def b/definitions/taf/boot.def index d27ae118c..1cb67d73a 100644 --- a/definitions/taf/boot.def +++ b/definitions/taf/boot.def @@ -38,12 +38,12 @@ if ( g is "COR" ) { group g : dump; non_alpha na; } if (length(g) == 4) { - include "cccc.def"; + include "taf/cccc.def"; } else { if (g is "METAR") { rename(g,metarTwice); group g : dump; non_alpha na; - if (length(g) == 4) { include "cccc.def"; } + if (length(g) == 4) { include "taf/cccc.def"; } else { constant CCCC = "unknown"; constant coordinatesPresent = 0; @@ -72,7 +72,7 @@ if ( ! isCorrection && g is "COR" ) { group g : dump; non_alpha na; } -include "wrong_delayed.def"; +include "taf/wrong_delayed.def"; if ( g is "NIL" ) { rename(g,nil); group g : dump; @@ -83,30 +83,30 @@ if ( g is "NIL" ) { group g : dump; non_alpha na; } - include "wind.def"; - include "horizontalVisibility.def"; + include "taf/wind.def"; + include "taf/horizontalVisibility.def"; if ( ! isCavok ) { - include "present_weather.def"; - include "clouds.def"; + include "taf/present_weather.def"; + include "taf/clouds.def"; } - include "missing_field.def"; - include "temperature.def"; - include "qnh.def"; - include "colour.def"; - include "recent_weather.def"; - include "wind_shear.def"; - include "sea_state.def"; + include "taf/missing_field.def"; + include "taf/temperature.def"; + include "taf/qnh.def"; + include "taf/colour.def"; + include "taf/recent_weather.def"; + include "taf/wind_shear.def"; + include "taf/sea_state.def"; template runwayState "metar/runwayState.def"; - include "trend1.def"; - include "trend2.def"; - include "trend3.def"; - include "trend4.def"; + include "taf/trend1.def"; + include "taf/trend2.def"; + include "taf/trend3.def"; + include "taf/trend4.def"; } -include "remark.def"; +include "taf/remark.def"; if (length(g) == 0) { modify g : hidden; @@ -114,21 +114,21 @@ if (length(g) == 0) { if ( ! remarkPresent) { rename(g,skippedGroup); group g : dump; non_alpha na; - include "colour.def"; - include "recent_weather.def"; - include "wind_shear.def"; - include "sea_state.def"; + include "taf/colour.def"; + include "taf/recent_weather.def"; + include "taf/wind_shear.def"; + include "taf/sea_state.def"; template runwayState "metar/runwayState.def"; - include "temperature.def"; - include "qnh.def"; + include "taf/temperature.def"; + include "taf/qnh.def"; if (!presentTrend1) { - include "trend1.def"; - include "trend2.def"; - include "trend3.def"; - include "trend4.def"; + include "taf/trend1.def"; + include "taf/trend2.def"; + include "taf/trend3.def"; + include "taf/trend4.def"; } } - include "remark.def"; + include "taf/remark.def"; if ( ! remarkPresent) { if ( length(g) == 0) { modify g : hidden; diff --git a/definitions/taf/horizontalVisibility.def b/definitions/taf/horizontalVisibility.def index 3bd448348..6cbd75478 100644 --- a/definitions/taf/horizontalVisibility.def +++ b/definitions/taf/horizontalVisibility.def @@ -61,8 +61,8 @@ if ( g is "CAVOK") { variationOfVisibilityDirection=dict_search("metar/direction.table",directionOfVariation,1) : string_type; variationOfVisibilityDirectionAngle=dict_search("metar/direction.table",directionOfVariation,2) ; } - include "rvr1.def"; - include "rvr2.def"; - include "rvr3.def"; - include "rvr4.def"; + include "taf/rvr1.def"; + include "taf/rvr2.def"; + include "taf/rvr3.def"; + include "taf/rvr4.def"; } diff --git a/definitions/taf/runwayState.def b/definitions/taf/runwayState.def index 365373833..3413b8cce 100644 --- a/definitions/taf/runwayState.def +++ b/definitions/taf/runwayState.def @@ -1,4 +1,4 @@ -include "runwayState1.def"; -include "runwayState2.def"; -include "runwayState3.def"; -include "runwayState4.def"; +include "taf/runwayState1.def"; +include "taf/runwayState2.def"; +include "taf/runwayState3.def"; +include "taf/runwayState4.def"; diff --git a/definitions/taf/trend1.def b/definitions/taf/trend1.def index 4f28cc6ee..ff1384f21 100644 --- a/definitions/taf/trend1.def +++ b/definitions/taf/trend1.def @@ -36,13 +36,13 @@ if (! nosigPresent) { endHourTrend1=to_string(untilTrend1,2,2) ; endMinuteTrend1=to_string(untilTrend1,4,2); } - include "wind_Trend1.def"; + include "taf/wind_Trend1.def"; - include "horizontalVisibility_Trend1.def"; + include "taf/horizontalVisibility_Trend1.def"; if ( ! isCavokTrend1) { - include "present_weather_Trend1.def"; - include "clouds_Trend1.def"; + include "taf/present_weather_Trend1.def"; + include "taf/clouds_Trend1.def"; } } else { if (substr(g,0,2) is "FM") { @@ -52,13 +52,13 @@ if (! nosigPresent) { group g : dump; non_alpha na; beginHourTrend1=to_string(fromTrend1,2,2); beginMinuteTrend1=to_string(fromTrend1,4,2); - include "wind_Trend1.def"; + include "taf/wind_Trend1.def"; - include "horizontalVisibility_Trend1.def"; + include "taf/horizontalVisibility_Trend1.def"; if ( ! isCavokTrend1) { - include "present_weather_Trend1.def"; - include "clouds_Trend1.def"; + include "taf/present_weather_Trend1.def"; + include "taf/clouds_Trend1.def"; } } } diff --git a/definitions/taf/trend2.def b/definitions/taf/trend2.def index 4b0d3d901..50278865e 100644 --- a/definitions/taf/trend2.def +++ b/definitions/taf/trend2.def @@ -36,13 +36,13 @@ if (! nosigPresent) { endHourTrend2=to_string(untilTrend2,2,2) ; endMinuteTrend2=to_string(untilTrend2,4,2); } - include "wind_Trend2.def"; + include "taf/wind_Trend2.def"; - include "horizontalVisibility_Trend2.def"; + include "taf/horizontalVisibility_Trend2.def"; if ( ! isCavokTrend2) { - include "present_weather_Trend2.def"; - include "clouds_Trend2.def"; + include "taf/present_weather_Trend2.def"; + include "taf/clouds_Trend2.def"; } } else { if (substr(g,0,2) is "FM") { @@ -52,13 +52,13 @@ if (! nosigPresent) { group g : dump; non_alpha na; beginHourTrend2=to_string(fromTrend2,2,2); beginMinuteTrend2=to_string(fromTrend2,4,2); - include "wind_Trend2.def"; + include "taf/wind_Trend2.def"; - include "horizontalVisibility_Trend2.def"; + include "taf/horizontalVisibility_Trend2.def"; if ( ! isCavokTrend2) { - include "present_weather_Trend2.def"; - include "clouds_Trend2.def"; + include "taf/present_weather_Trend2.def"; + include "taf/clouds_Trend2.def"; } } } diff --git a/definitions/taf/trend3.def b/definitions/taf/trend3.def index a8b44d1bf..0725d419a 100644 --- a/definitions/taf/trend3.def +++ b/definitions/taf/trend3.def @@ -36,13 +36,13 @@ if (! nosigPresent) { endHourTrend3=to_string(untilTrend3,2,2) ; endMinuteTrend3=to_string(untilTrend3,4,2); } - include "wind_Trend3.def"; + include "taf/wind_Trend3.def"; - include "horizontalVisibility_Trend3.def"; + include "taf/horizontalVisibility_Trend3.def"; if ( ! isCavokTrend3) { - include "present_weather_Trend3.def"; - include "clouds_Trend3.def"; + include "taf/present_weather_Trend3.def"; + include "taf/clouds_Trend3.def"; } } else { if (substr(g,0,2) is "FM") { @@ -52,13 +52,13 @@ if (! nosigPresent) { group g : dump; non_alpha na; beginHourTrend3=to_string(fromTrend3,2,2); beginMinuteTrend3=to_string(fromTrend3,4,2); - include "wind_Trend3.def"; + include "taf/wind_Trend3.def"; - include "horizontalVisibility_Trend3.def"; + include "taf/horizontalVisibility_Trend3.def"; if ( ! isCavokTrend3) { - include "present_weather_Trend3.def"; - include "clouds_Trend3.def"; + include "taf/present_weather_Trend3.def"; + include "taf/clouds_Trend3.def"; } } } diff --git a/definitions/taf/trend4.def b/definitions/taf/trend4.def index bc460b4bc..529bde5bf 100644 --- a/definitions/taf/trend4.def +++ b/definitions/taf/trend4.def @@ -36,13 +36,13 @@ if (! nosigPresent) { endHourTrend4=to_string(untilTrend4,2,2) ; endMinuteTrend4=to_string(untilTrend4,4,2); } - include "wind_Trend4.def"; + include "taf/wind_Trend4.def"; - include "horizontalVisibility_Trend4.def"; + include "taf/horizontalVisibility_Trend4.def"; if ( ! isCavokTrend4) { - include "present_weather_Trend4.def"; - include "clouds_Trend4.def"; + include "taf/present_weather_Trend4.def"; + include "taf/clouds_Trend4.def"; } } else { if (substr(g,0,2) is "FM") { @@ -52,13 +52,13 @@ if (! nosigPresent) { group g : dump; non_alpha na; beginHourTrend4=to_string(fromTrend4,2,2); beginMinuteTrend4=to_string(fromTrend4,4,2); - include "wind_Trend4.def"; + include "taf/wind_Trend4.def"; - include "horizontalVisibility_Trend4.def"; + include "taf/horizontalVisibility_Trend4.def"; if ( ! isCavokTrend4) { - include "present_weather_Trend4.def"; - include "clouds_Trend4.def"; + include "taf/present_weather_Trend4.def"; + include "taf/clouds_Trend4.def"; } } } diff --git a/src/action_class_template.c b/src/action_class_template.c index 17fd8af0b..86508f804 100644 --- a/src/action_class_template.c +++ b/src/action_class_template.c @@ -92,20 +92,20 @@ static void init_class(grib_action_class* c) grib_action* grib_action_create_template( grib_context* context,int nofail,const char* name , const char* arg1) { - grib_action_template* a ; - grib_action_class* c = grib_action_class_template; - grib_action* act = (grib_action*)grib_context_malloc_clear_persistent(context,c->size); - act-> name = grib_context_strdup_persistent(context,name); - act-> op = grib_context_strdup_persistent(context,"section"); - act-> cclass = c; - act-> next = NULL; - act->context = context; - a = (grib_action_template*)act; - a->nofail=nofail; - if (arg1) a->arg = grib_context_strdup_persistent(context,arg1); - else a->arg = NULL; + grib_action_template* a ; + grib_action_class* c = grib_action_class_template; + grib_action* act = (grib_action*)grib_context_malloc_clear_persistent(context,c->size); + act-> name = grib_context_strdup_persistent(context,name); + act-> op = grib_context_strdup_persistent(context,"section"); + act-> cclass = c; + act-> next = NULL; + act->context = context; + a = (grib_action_template*)act; + a->nofail=nofail; + if (arg1) a->arg = grib_context_strdup_persistent(context,arg1); + else a->arg = NULL; - return act; + return act; } static void compile(grib_action* act, grib_compiler *compiler) @@ -126,114 +126,111 @@ static void compile(grib_action* act, grib_compiler *compiler) static void dump( grib_action* act, FILE* f, int lvl) { - grib_action_template* a = ( grib_action_template*)act; - int i = 0; - for (i=0;icontext,f," "); - grib_context_print(act->context,f,"Template %s %s\n",act->name , a->arg ); + grib_action_template* a = ( grib_action_template*)act; + int i = 0; + for (i=0;icontext,f," "); + grib_context_print(act->context,f,"Template %s %s\n",act->name , a->arg ); } grib_action* get_empty_template(grib_context* c,int *err) { - char fname[]="empty_template.def"; - char* path=0; - - path=grib_context_full_defs_path(c,fname); - if (path) { - *err=GRIB_SUCCESS; - return grib_parse_file(c, path); - } else { - *err=GRIB_INTERNAL_ERROR; - grib_context_log(c,GRIB_LOG_ERROR,"get_empty_template: unable to get template %s",fname); - return NULL; - } - + char fname[]="empty_template.def"; + char* path=0; + + path=grib_context_full_defs_path(c,fname); + if (path) { + *err=GRIB_SUCCESS; + return grib_parse_file(c, path); + } else { + *err=GRIB_INTERNAL_ERROR; + grib_context_log(c,GRIB_LOG_ERROR,"get_empty_template: unable to get template %s",fname); + return NULL; + } } -static int create_accessor(grib_section* p, grib_action* act, grib_loader *h ){ - int ret = GRIB_SUCCESS; - grib_action_template* a = ( grib_action_template*)act; - grib_action* la = NULL; - grib_action* next = NULL; - grib_accessor* as = NULL; - grib_section* gs = NULL; +static int create_accessor(grib_section* p, grib_action* act, grib_loader *h ) +{ + int ret = GRIB_SUCCESS; + grib_action_template* a = ( grib_action_template*)act; + grib_action* la = NULL; + grib_action* next = NULL; + grib_accessor* as = NULL; + grib_section* gs = NULL; - char fname[1024]={0,}; - char *fpath=0; + char fname[1024]={0,}; + char *fpath=0; - as = grib_accessor_factory(p, act,0,NULL); + as = grib_accessor_factory(p, act,0,NULL); - if(!as) return GRIB_INTERNAL_ERROR; - if(a->arg){ - ret = grib_recompose_name(p->h,as,a->arg,fname,1); + if(!as) return GRIB_INTERNAL_ERROR; + if(a->arg){ + ret = grib_recompose_name(p->h,as,a->arg,fname,1); - if ((fpath=grib_context_full_defs_path(p->h->context,fname))==NULL) { - if (!a->nofail) { - grib_context_log(p->h->context,GRIB_LOG_ERROR, - "Unable to find template %s from %s ",act->name,fname); - return GRIB_FILE_NOT_FOUND; - } - la = get_empty_template(p->h->context,&ret); - if (ret) return ret; - } else - la = grib_parse_file(p->h->context, fpath); - } - as->flags |= GRIB_ACCESSOR_FLAG_HIDDEN; - gs = as->sub_section; - gs->branch = la; /* Will be used to prevent unecessary reparse */ - - grib_push_accessor(as,p->block); - - if(la){ - next = la; - - while(next){ - ret = grib_create_accessor(gs, next,h); - if(ret != GRIB_SUCCESS) { - if(p->h->context->debug) - { - grib_context_log(p->h->context,GRIB_LOG_ERROR, - "Error processing template %s: %s [%s] %04lx", - fname,grib_get_error_message(ret),next->name,next->flags); + if ((fpath=grib_context_full_defs_path(p->h->context,fname))==NULL) { + if (!a->nofail) { + grib_context_log(p->h->context,GRIB_LOG_ERROR, + "Unable to find template %s from %s ",act->name,fname); + return GRIB_FILE_NOT_FOUND; + } + la = get_empty_template(p->h->context,&ret); + if (ret) return ret; + } else + la = grib_parse_file(p->h->context, fpath); } - return ret; + as->flags |= GRIB_ACCESSOR_FLAG_HIDDEN; + gs = as->sub_section; + gs->branch = la; /* Will be used to prevent unecessary reparse */ + + grib_push_accessor(as,p->block); + + if(la){ + next = la; + + while(next){ + ret = grib_create_accessor(gs, next,h); + if(ret != GRIB_SUCCESS) { + if(p->h->context->debug) + { + grib_context_log(p->h->context,GRIB_LOG_ERROR, + "Error processing template %s: %s [%s] %04lx", + fname,grib_get_error_message(ret),next->name,next->flags); + } + return ret; + } + next= next->next; + } } - next= next->next; - } - } - return GRIB_SUCCESS; + return GRIB_SUCCESS; } - static grib_action* reparse(grib_action* a,grib_accessor* acc,int *doit) { - grib_action_template* self = (grib_action_template*)a; - char *fpath=0; + grib_action_template* self = (grib_action_template*)a; + char *fpath=0; - if(self->arg){ - char fname[1024]; - grib_recompose_name(acc->parent->h,NULL,self->arg,fname,1); + if(self->arg){ + char fname[1024]; + grib_recompose_name(acc->parent->h,NULL,self->arg,fname,1); - if ((fpath=grib_context_full_defs_path(acc->parent->h->context,fname))==NULL) { - if (!self->nofail) { - grib_context_log(acc->parent->h->context,GRIB_LOG_ERROR, - "Unable to find template %s from %s ",a->name,fname); - return NULL; - } return a; + if ((fpath=grib_context_full_defs_path(acc->parent->h->context,fname))==NULL) { + if (!self->nofail) { + grib_context_log(acc->parent->h->context,GRIB_LOG_ERROR, + "Unable to find template %s from %s ",a->name,fname); + return NULL; + } return a; + } + + /* printf("REPARSE %s\n",fpath); */ + return grib_parse_file(acc->parent->h->context, fpath); } - /* printf("REPARSE %s\n",fpath); */ - return grib_parse_file(acc->parent->h->context, fpath); - } - - return NULL; - + return NULL; } - static void destroy(grib_context* context,grib_action* act) { - grib_action_template* a = (grib_action_template*)act; + grib_action_template* a = (grib_action_template*)act; - grib_context_free_persistent(context, a->arg); - grib_context_free_persistent(context, act->name); - grib_context_free_persistent(context, act->op); + grib_context_free_persistent(context, a->arg); + grib_context_free_persistent(context, act->name); + grib_context_free_persistent(context, act->op); } diff --git a/src/grib_parse_utils.c b/src/grib_parse_utils.c index cbe26b573..aef1aade1 100644 --- a/src/grib_parse_utils.c +++ b/src/grib_parse_utils.c @@ -551,28 +551,17 @@ void grib_parser_include(const char* included_fname) { /* When parse_file is not NULL, it's the path of the parent file (includer) */ /* and 'included_fname' is the name of the file being included (includee) */ - const char *p = parse_file; - const char *q = NULL; - while(*p) { - if(*p == '/') q = p; - p++; - } - - if(!q) { + /* GRIB-796: Search for the included file in ECCODES_DEFINITION_PATH */ + char* new_path = NULL; + Assert(*included_fname != '/'); + new_path = grib_context_full_defs_path(grib_parser_context, included_fname); + if (!new_path) { grib_context_log(grib_parser_context, GRIB_LOG_FATAL, - "grib_parser_include: path '%s' does not contain a '/'\n",included_fname); + "grib_parser_include: Could not resolve '%s' (included in %s)", included_fname, parse_file); return; } - q++; - - strncpy(path,parse_file,q-parse_file); - path[q-parse_file] = 0; - strcat(path,included_fname); - - Assert(*included_fname != '/'); - - parse_file = path; + parse_file = new_path; } if (strcmp(parse_file,"-")==0) { @@ -603,7 +592,6 @@ void grib_parser_include(const char* included_fname) setvbuf(f,io_buffer,_IOFBF,c->io_buffer_size); } */ - grib_yyin = f; stack[top].file = f; stack[top].io_buffer = io_buffer;