Skip to content

Commit 24cc563

Browse files
committed
Merge release/2.32.0
2 parents cc1d8e5 + 66c7e6d commit 24cc563

File tree

2,005 files changed

+31447
-29818
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

2,005 files changed

+31447
-29818
lines changed

CMakeLists.txt

+5-6
Original file line numberDiff line numberDiff line change
@@ -102,9 +102,9 @@ ecbuild_add_option( FEATURE BUILD_TOOLS
102102
ecbuild_add_option( FEATURE JPG
103103
DESCRIPTION "Support for JPG decoding/encoding"
104104
DEFAULT ON )
105-
# Options related to JPG. The Jasper and OpenJPEG libraries
105+
# Options related to JPG. The JasPer and OpenJPEG libraries
106106
ecbuild_add_option( FEATURE JPG_LIBJASPER
107-
DESCRIPTION "Support for JPG decoding/encoding with the Jasper library"
107+
DESCRIPTION "Support for JPG decoding/encoding with the JasPer library"
108108
CONDITION ENABLE_JPG
109109
DEFAULT ON )
110110
ecbuild_add_option( FEATURE JPG_LIBOPENJPEG
@@ -217,7 +217,7 @@ set( HAVE_LIBJASPER 0 )
217217
set( HAVE_LIBOPENJPEG 0 )
218218

219219
if( ENABLE_JPG )
220-
# Note: The function ecbuild_add_extra_search_paths is deprecated but we need it to find Jasper at ECMWF.
220+
# Note: The function ecbuild_add_extra_search_paths is deprecated but we need it to find JasPer at ECMWF.
221221
# It modifies CMAKE_PREFIX_PATH
222222
# which can affect future package discovery if not undone by the caller.
223223
# The current CMAKE_PREFIX_PATH is backed up as _CMAKE_PREFIX_PATH
@@ -234,7 +234,7 @@ if( ENABLE_JPG )
234234
list( APPEND ECCODES_TPLS Jasper )
235235
set( HAVE_JPEG 1 )
236236
set( HAVE_LIBJASPER 1 )
237-
# Extract Jasper's major version number to enable conditional code. See ECC-396
237+
# Extract JasPer's major version number to enable conditional code. See ECC-396
238238
string(REGEX REPLACE "^([0-9]+)\\.[0-9]+\\.[0-9]+.*" "\\1" JASPER_VERSION_MAJOR "${JASPER_VERSION_STRING}")
239239
endif()
240240

@@ -419,7 +419,6 @@ add_subdirectory( memfs )
419419
add_subdirectory( src )
420420
if( HAVE_BUILD_TOOLS )
421421
add_subdirectory( tools )
422-
add_subdirectory( tigge )
423422
endif()
424423
add_subdirectory( fortran )
425424

@@ -435,7 +434,7 @@ ecbuild_dont_pack( DIRS
435434
experimental deprecated doxygen confluence tests/deprecated tests/tests.ecmwf
436435
src/deprecated tools/deprecated ifs_samples/grib1_mlgrib2_ieee32
437436
examples/examples.dev examples/extra examples/deprecated bamboo
438-
fortran/fortranCtypes tigge/tools share/eccodes .settings )
437+
fortran/fortranCtypes share/eccodes .settings )
439438
#ecbuild_dont_pack( DIRS data/bufr DONT_PACK_REGEX "*.bufr" )
440439
#ecbuild_dont_pack( DIRS data/tigge DONT_PACK_REGEX "*.grib" )
441440

README.md

+2
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ ecCodes
77
[![Windows: master](https://img.shields.io/appveyor/ci/ecmwf/eccodes/master.svg?label=Windows%3A%20master)](https://ci.appveyor.com/project/ecmwf/eccodes/branch/master)
88
[![Windows: develop](https://img.shields.io/appveyor/ci/ecmwf/eccodes/develop.svg?label=Windows%3A%20develop)](https://ci.appveyor.com/project/ecmwf/eccodes/branch/develop)
99

10+
[![codecov](https://codecov.io/gh/ecmwf/eccodes/branch/develop/graph/badge.svg)](https://codecov.io/gh/ecmwf/eccodes)
11+
1012
ecCodes is a package developed by ECMWF which provides an application programming interface
1113
and a set of tools for decoding and encoding messages in the following formats:
1214

VERSION

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
2.31.2
1+
2.32.0

cmake/FindAEC.cmake

+3-2
Original file line numberDiff line numberDiff line change
@@ -22,14 +22,15 @@
2222
# libaec_DIR
2323
# LIBAEC_PATH
2424
# libaec_PATH
25+
# libaec_ROOT
2526

2627
find_path( AEC_INCLUDE_DIR libaec.h
27-
PATHS ${AEC_DIR} ${AEC_PATH} ${LIBAEC_DIR} ${libaec_DIR} ${LIBAEC_PATH} ${libaec_PATH} ENV AEC_DIR ENV AEC_PATH ENV LIBAEC_DIR ENV libaec_DIR ENV LIBAEC_PATH ENV libaec_PATH
28+
PATHS ${AEC_DIR} ${AEC_PATH} ${LIBAEC_DIR} ${libaec_DIR} ${LIBAEC_PATH} ${libaec_PATH} ${libaec_ROOT} ENV AEC_DIR ENV AEC_PATH ENV LIBAEC_DIR ENV libaec_DIR ENV LIBAEC_PATH ENV libaec_PATH ENV libaec_ROOT
2829
PATH_SUFFIXES include include/aec NO_DEFAULT_PATH )
2930
find_path( AEC_INCLUDE_DIR libaec.h PATH_SUFFIXES include include/aec )
3031

3132
find_library( AEC_LIBRARY NAMES aec
32-
PATHS ${AEC_DIR} ${AEC_PATH} ${LIBAEC_DIR} ${libaec_DIR} ${LIBAEC_PATH} ${libaec_PATH} ENV AEC_DIR ENV AEC_PATH ENV LIBAEC_DIR ENV libaec_DIR ENV LIBAEC_PATH ENV libaec_PATH
33+
PATHS ${AEC_DIR} ${AEC_PATH} ${LIBAEC_DIR} ${libaec_DIR} ${LIBAEC_PATH} ${libaec_PATH} ${libaec_ROOT} ENV AEC_DIR ENV AEC_PATH ENV LIBAEC_DIR ENV libaec_DIR ENV LIBAEC_PATH ENV libaec_PATH ENV libaec_ROOT
3334
PATH_SUFFIXES lib lib64 lib/aec lib64/aec NO_DEFAULT_PATH )
3435
find_library( AEC_LIBRARY NAMES aec PATH_SUFFIXES lib lib64 lib/aec lib64/aec )
3536

data/grib_data_files.txt

+2
Original file line numberDiff line numberDiff line change
@@ -88,3 +88,5 @@ msl.octa.glob.grib1
8888
test_file.grib2
8989
gfs.complex.mvmu.grib2
9090
mercator.grib2
91+
run_length_packing.grib2
92+
boustrophedonic.grib1

definitions/bufr/boot_edition_1.def

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
# (C) Copyright 2005- ECMWF.
22

3-
ascii[4] identifier = "BUFR" : read_only,hidden;
3+
ascii[4] identifier = "BUFR" : read_only,hidden;
44
alias identifier=identifier;
55

66
unsigned[3] section1Length;
77

88
unsigned[1] edition = 1 : dump;
99
alias editionNumber=edition;
1010

11-
template section_1 "bufr/section.1.1.def";
11+
template section_1 "bufr/section.1.1.def";
1212

1313
flagbit localSectionPresent(section1Flags,7) = 1;
1414
alias section2Present=localSectionPresent;
@@ -18,7 +18,7 @@ if(localSectionPresent){
1818
template section_2 "bufr/section.2.def";
1919
}
2020
else {
21-
transient section2Length = 0;
21+
transient section2Length = 0;
2222
}
2323

2424
template section_3 "bufr/section.3.def";

definitions/bufr/boot_edition_2.def

+5-5
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,24 @@
11
# (C) Copyright 2005- ECMWF.
22

3-
ascii[4] identifier = "BUFR" : read_only,hidden;
3+
ascii[4] identifier = "BUFR" : read_only,hidden;
44
alias identifier=identifier;
55

6-
unsigned[3] totalLength;
6+
unsigned[3] totalLength;
77

88
unsigned[1] edition = 2 : dump;
99
alias editionNumber=edition;
1010

11-
template section_1 "bufr/section.1.2.def";
11+
template section_1 "bufr/section.1.2.def";
1212

1313
flagbit localSectionPresent(section1Flags,7) = 1;
1414
alias section2Present=localSectionPresent;
1515
alias localUsePresent=localSectionPresent;
1616

1717
if(localSectionPresent){
18-
template section_2 "bufr/section.2.def";
18+
template section_2 "bufr/section.2.def";
1919
}
2020
else {
21-
transient section2Length = 0;
21+
transient section2Length = 0;
2222
}
2323

2424
template section_3 "bufr/section.3.def";

definitions/bufr/boot_edition_3.def

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
# (C) Copyright 2005- ECMWF.
22

3-
ascii[4] identifier = "BUFR" : read_only,hidden;
3+
ascii[4] identifier = "BUFR" : read_only,hidden;
44
alias identifier=identifier;
55

6-
section_length[3] totalLength ;
6+
section_length[3] totalLength ;
77

88
unsigned[1] edition = 3 : dump;
99
alias editionNumber=edition;
@@ -15,10 +15,10 @@ alias section2Present=localSectionPresent;
1515
alias localUsePresent=localSectionPresent;
1616

1717
if(localSectionPresent){
18-
template section_2 "bufr/section.2.def";
18+
template section_2 "bufr/section.2.def";
1919
}
2020
else {
21-
transient section2Length = 0;
21+
transient section2Length = 0;
2222
}
2323

2424
template section_3 "bufr/section.3.def";

definitions/bufr/boot_edition_4.def

+5-5
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,23 @@
11
# (C) Copyright 2005- ECMWF.
22

3-
ascii[4] identifier = "BUFR" : read_only,hidden;
3+
ascii[4] identifier = "BUFR" : read_only,hidden;
44
alias identifier=identifier;
55

6-
section_length[3] totalLength ;
6+
section_length[3] totalLength ;
77

88
unsigned[1] edition = 4 : dump;
99
alias editionNumber=edition;
1010

11-
template section_1 "bufr/section.1.4.def";
11+
template section_1 "bufr/section.1.4.def";
1212

1313
flagbit localSectionPresent(section1Flags,7) = 1;
1414
alias section2Present=localSectionPresent;
1515
alias localUsePresent=localSectionPresent;
1616

1717
if(localSectionPresent){
18-
template section_2 "bufr/section.2.def";
18+
template section_2 "bufr/section.2.def";
1919
} else {
20-
transient section2Length = 0;
20+
transient section2Length = 0;
2121
}
2222

2323
template section_3 "bufr/section.3.def";

definitions/grib1/3.82.table

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
## created: 6 Oct 2011
55
## modified: 13 May 2013
66
##
7-
# CODE TABLE 3 Fixed levels or layers for wich the data are included
7+
# CODE TABLE 3 Fixed levels or layers for which the data are included
88
0 0 Reserved
99
1 surf Surface (of the Earth, which includes sea surface)
1010
2 bcld Cloud base level

definitions/grib1/data.grid_second_order.def

+5-6
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,7 @@ unsigned [2] NL : dump;
1616
if (orderOfSPD) {
1717
unsigned[1] widthOfSPD ;
1818
meta SPD spd(widthOfSPD,orderOfSPD) : read_only;
19-
}
20-
19+
}
2120

2221
meta groupWidths unsigned_bits(widthOfWidths,numberOfGroups) : read_only;
2322
meta groupLengths unsigned_bits(widthOfLengths,numberOfGroups) : read_only;
@@ -41,7 +40,7 @@ if(bitmapPresent) {
4140
unitsBias,
4241
changingPrecision,
4342
numberOfCodedValues,
44-
bitsPerValue,
43+
bitsPerValue,
4544
referenceValue,
4645
binaryScaleFactor,
4746
decimalScaleFactor,
@@ -70,7 +69,7 @@ if(bitmapPresent) {
7069
numberOfPoints
7170

7271
): read_only;
73-
alias data.packedValues = codedValues;
72+
alias data.packedValues = codedValues;
7473

7574
if (boustrophedonicOrdering)
7675
{
@@ -100,7 +99,7 @@ if(bitmapPresent) {
10099
unitsBias,
101100
changingPrecision,
102101
numberOfCodedValues,
103-
bitsPerValue,
102+
bitsPerValue,
104103
referenceValue,
105104
binaryScaleFactor,
106105
decimalScaleFactor,
@@ -139,7 +138,7 @@ if(bitmapPresent) {
139138
unitsBias,
140139
changingPrecision,
141140
numberOfCodedValues,
142-
bitsPerValue,
141+
bitsPerValue,
143142
referenceValue,
144143
binaryScaleFactor,
145144
decimalScaleFactor,

definitions/grib1/data.spectral_ieee.def

+2-2
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ constant PUnset = -32767;
1313
# N is a pointer to the start of the packed data (i.e. gives octet number)
1414
unsigned[2] N : read_only,dump;
1515
signed[2] P = PUnset;
16-
16+
1717
unsigned[1] JS=0 : dump;
1818
unsigned[1] KS=0 : dump;
1919
unsigned[1] MS=0 : dump;
@@ -24,7 +24,7 @@ alias subSetM=MS;
2424

2525
constant GRIBEXShBugPresent = 1;
2626
transient computeLaplacianOperator=0;
27-
27+
2828
meta data.laplacianOperator scale(P,oneConstant,grib1divider,truncateLaplacian) : dump;
2929
meta laplacianOperatorIsSet evaluate(P != PUnset && !computeLaplacianOperator );
3030

definitions/grib1/data.spectral_simple.def

+1-1
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ meta codedValues data_g1simple_packing(
3535
): read_only;
3636

3737
meta values data_g1shsimple_packing(codedValues,realPart) : dump;
38-
alias data.packedValues = values;
38+
alias data.packedValues = values;
3939
meta numberOfCodedValues g1number_of_coded_values_sh_simple(bitsPerValue,offsetBeforeData,offsetAfterData,halfByte,numberOfValues) : dump;
4040

4141
template statistics "common/statistics_spectral.def";

definitions/grib1/gds_not_present_bitmap.def

-3
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,8 @@ position offsetSection3;
55
transient section3Length=1;
66
meta section3Pointer section_pointer(offsetSection3,section3Length,3);
77

8-
# Number of unused bits at end of Section 3
98
transient numberOfUnusedBitsAtEndOfSection3 = 0 : read_only;
109

11-
# Table reference:
1210
transient tableReference = 0;
1311

1412
#position offsetBeforeBitmap;
@@ -18,6 +16,5 @@ meta bitmap gds_not_present_bitmap( missingValue,numberOfValues,
1816
Ni,numberOfUnusedBitsAtEndOfSection3) : read_only;
1917

2018
#position offsetAfterBitmap;
21-
2219
#padtoeven padding_sec3_1(offsetSection3,section3Length);
2320
#section_padding section3Padding;

definitions/grib1/grid_255.def

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
label "_empty";

definitions/grib1/grid_definition_1.def

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ alias numberOfPointsAlongXAxis=Ni;
1212

1313
signed[2] Nj : dump;
1414
alias numberOfPointsAlongAMeridian=Nj;
15-
alias Nx=Nj;
15+
alias Ny=Nj;
1616
alias geography.Nj=Nj;
1717
alias numberOfPointsAlongYAxis=Nj;
1818

definitions/grib1/grid_definition_5.def

+7-8
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
# GRID DEFINITION Polar stereographic
22
# grib 1 -> 2
3-
constant gridDefinitionTemplateNumber = 20;
3+
constant gridDefinitionTemplateNumber = 20;
44

55
unsigned[2] Nx : dump;
66
alias Ni = Nx;
7-
alias numberOfPointsAlongXAxis = Nx;
7+
alias numberOfPointsAlongXAxis = Nx;
88
alias geography.Nx=Nx;
99

1010
unsigned[2] Ny : dump;
1111
alias Nj = Ny;
12-
alias numberOfPointsAlongYAxis = Ny;
12+
alias numberOfPointsAlongYAxis = Ny;
1313
alias geography.Ny=Ny;
1414

1515
signed[3] latitudeOfFirstGridPoint : edition_specific ;
@@ -22,19 +22,19 @@ alias Lo1 = longitudeOfFirstGridPoint;
2222

2323
include "grib1/resolution_flags.def";
2424

25-
# LoV - orientation of the grid; i.e. the longitude value of the meridian which is parallel to the Y-axis
25+
# LoV - orientation of the grid; i.e. the longitude value of the meridian which is parallel to the Y-axis
2626
signed[3] orientationOfTheGrid : edition_specific, no_copy ;
2727
meta geography.orientationOfTheGridInDegrees scale(orientationOfTheGrid,oneConstant,grib1divider,truncateDegrees) : dump;
2828
alias LoV = orientationOfTheGrid ;
2929

30-
# Dx - X-direction grid length
30+
# Dx - X-direction grid length
3131
unsigned[3] DxInMetres : dump;
3232
alias xDirectionGridLengthInMetres=DxInMetres;
3333
alias Dx=DxInMetres;
3434
alias geography.DxInMetres=DxInMetres;
3535
alias Di = DxInMetres;
3636

37-
# Dy - Y-direction grid length
37+
# Dy - Y-direction grid length
3838
unsigned[3] DyInMetres : dump;
3939
alias yDirectionGridLengthInMetres=DyInMetres;
4040
alias Dy = DyInMetres;
@@ -45,15 +45,14 @@ constant latitudeWhereDxAndDyAreSpecifiedInDegrees=60;
4545
constant LaDInDegrees=60;
4646
alias geography.LaDInDegrees=LaDInDegrees;
4747

48-
# Projection centre flag
48+
# Projection centre flag
4949
unsigned[1] projectionCentreFlag : dump ;
5050
alias projectionCenterFlag=projectionCentreFlag;
5151
# Note our flagbit numbers go from 7 to 0, while WMO convention is from 1 to 8
5252
# If bit 1 is 0, then the North Pole is on the projection plane
5353
# If bit 1 is 1, then the South Pole is on the projection plane
5454
flagbit southPoleOnProjectionPlane(projectionCentreFlag,7) : dump; # WMO bit 1
5555

56-
5756
# for change_scanning_direction
5857
alias yFirst=latitudeOfFirstGridPointInDegrees;
5958
alias xFirst=longitudeOfFirstGridPointInDegrees;

definitions/grib1/grid_definition_gaussian.def

+2-2
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,12 @@ alias Ny=Nj;
1010
# Resolution and component flags
1111
include "grib1/grid_first_last_resandcomp.def";
1212

13-
# Di - i direction increment
13+
# Di - i direction increment
1414
unsigned[2] iDirectionIncrement : can_be_missing,dump,edition_specific;
1515
meta geography.iDirectionIncrementInDegrees scale(iDirectionIncrement,oneConstant,grib1divider,truncateDegrees) : can_be_missing,dump;
1616
alias Di = iDirectionIncrement;
1717

18-
# N - number of parallels between a pole and the equator
18+
# N - number of parallels between a pole and the equator
1919
unsigned[2] N : dump ;
2020
alias numberOfParallelsBetweenAPoleAndTheEquator=N;
2121
alias geography.N=N;

0 commit comments

Comments
 (0)