Skip to content

Commit

Permalink
Merge release/2.32.0
Browse files Browse the repository at this point in the history
  • Loading branch information
shahramn committed Oct 2, 2023
2 parents cc1d8e5 + 66c7e6d commit 24cc563
Show file tree
Hide file tree
Showing 2,005 changed files with 31,447 additions and 29,818 deletions.
11 changes: 5 additions & 6 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -102,9 +102,9 @@ ecbuild_add_option( FEATURE BUILD_TOOLS
ecbuild_add_option( FEATURE JPG
DESCRIPTION "Support for JPG decoding/encoding"
DEFAULT ON )
# Options related to JPG. The Jasper and OpenJPEG libraries
# Options related to JPG. The JasPer and OpenJPEG libraries
ecbuild_add_option( FEATURE JPG_LIBJASPER
DESCRIPTION "Support for JPG decoding/encoding with the Jasper library"
DESCRIPTION "Support for JPG decoding/encoding with the JasPer library"
CONDITION ENABLE_JPG
DEFAULT ON )
ecbuild_add_option( FEATURE JPG_LIBOPENJPEG
Expand Down Expand Up @@ -217,7 +217,7 @@ set( HAVE_LIBJASPER 0 )
set( HAVE_LIBOPENJPEG 0 )

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

Expand Down Expand Up @@ -419,7 +419,6 @@ add_subdirectory( memfs )
add_subdirectory( src )
if( HAVE_BUILD_TOOLS )
add_subdirectory( tools )
add_subdirectory( tigge )
endif()
add_subdirectory( fortran )

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

Expand Down
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@ ecCodes
[![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)
[![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)

[![codecov](https://codecov.io/gh/ecmwf/eccodes/branch/develop/graph/badge.svg)](https://codecov.io/gh/ecmwf/eccodes)

ecCodes is a package developed by ECMWF which provides an application programming interface
and a set of tools for decoding and encoding messages in the following formats:

Expand Down
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
2.31.2
2.32.0
5 changes: 3 additions & 2 deletions cmake/FindAEC.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -22,14 +22,15 @@
# libaec_DIR
# LIBAEC_PATH
# libaec_PATH
# libaec_ROOT

find_path( AEC_INCLUDE_DIR libaec.h
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
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
PATH_SUFFIXES include include/aec NO_DEFAULT_PATH )
find_path( AEC_INCLUDE_DIR libaec.h PATH_SUFFIXES include include/aec )

find_library( AEC_LIBRARY NAMES aec
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
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
PATH_SUFFIXES lib lib64 lib/aec lib64/aec NO_DEFAULT_PATH )
find_library( AEC_LIBRARY NAMES aec PATH_SUFFIXES lib lib64 lib/aec lib64/aec )

Expand Down
2 changes: 2 additions & 0 deletions data/grib_data_files.txt
Original file line number Diff line number Diff line change
Expand Up @@ -88,3 +88,5 @@ msl.octa.glob.grib1
test_file.grib2
gfs.complex.mvmu.grib2
mercator.grib2
run_length_packing.grib2
boustrophedonic.grib1
6 changes: 3 additions & 3 deletions definitions/bufr/boot_edition_1.def
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
# (C) Copyright 2005- ECMWF.

ascii[4] identifier = "BUFR" : read_only,hidden;
ascii[4] identifier = "BUFR" : read_only,hidden;
alias identifier=identifier;

unsigned[3] section1Length;

unsigned[1] edition = 1 : dump;
alias editionNumber=edition;

template section_1 "bufr/section.1.1.def";
template section_1 "bufr/section.1.1.def";

flagbit localSectionPresent(section1Flags,7) = 1;
alias section2Present=localSectionPresent;
Expand All @@ -18,7 +18,7 @@ if(localSectionPresent){
template section_2 "bufr/section.2.def";
}
else {
transient section2Length = 0;
transient section2Length = 0;
}

template section_3 "bufr/section.3.def";
Expand Down
10 changes: 5 additions & 5 deletions definitions/bufr/boot_edition_2.def
Original file line number Diff line number Diff line change
@@ -1,24 +1,24 @@
# (C) Copyright 2005- ECMWF.

ascii[4] identifier = "BUFR" : read_only,hidden;
ascii[4] identifier = "BUFR" : read_only,hidden;
alias identifier=identifier;

unsigned[3] totalLength;
unsigned[3] totalLength;

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

template section_1 "bufr/section.1.2.def";
template section_1 "bufr/section.1.2.def";

flagbit localSectionPresent(section1Flags,7) = 1;
alias section2Present=localSectionPresent;
alias localUsePresent=localSectionPresent;

if(localSectionPresent){
template section_2 "bufr/section.2.def";
template section_2 "bufr/section.2.def";
}
else {
transient section2Length = 0;
transient section2Length = 0;
}

template section_3 "bufr/section.3.def";
Expand Down
8 changes: 4 additions & 4 deletions definitions/bufr/boot_edition_3.def
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
# (C) Copyright 2005- ECMWF.

ascii[4] identifier = "BUFR" : read_only,hidden;
ascii[4] identifier = "BUFR" : read_only,hidden;
alias identifier=identifier;

section_length[3] totalLength ;
section_length[3] totalLength ;

unsigned[1] edition = 3 : dump;
alias editionNumber=edition;
Expand All @@ -15,10 +15,10 @@ alias section2Present=localSectionPresent;
alias localUsePresent=localSectionPresent;

if(localSectionPresent){
template section_2 "bufr/section.2.def";
template section_2 "bufr/section.2.def";
}
else {
transient section2Length = 0;
transient section2Length = 0;
}

template section_3 "bufr/section.3.def";
Expand Down
10 changes: 5 additions & 5 deletions definitions/bufr/boot_edition_4.def
Original file line number Diff line number Diff line change
@@ -1,23 +1,23 @@
# (C) Copyright 2005- ECMWF.

ascii[4] identifier = "BUFR" : read_only,hidden;
ascii[4] identifier = "BUFR" : read_only,hidden;
alias identifier=identifier;

section_length[3] totalLength ;
section_length[3] totalLength ;

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

template section_1 "bufr/section.1.4.def";
template section_1 "bufr/section.1.4.def";

flagbit localSectionPresent(section1Flags,7) = 1;
alias section2Present=localSectionPresent;
alias localUsePresent=localSectionPresent;

if(localSectionPresent){
template section_2 "bufr/section.2.def";
template section_2 "bufr/section.2.def";
} else {
transient section2Length = 0;
transient section2Length = 0;
}

template section_3 "bufr/section.3.def";
Expand Down
2 changes: 1 addition & 1 deletion definitions/grib1/3.82.table
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
## created: 6 Oct 2011
## modified: 13 May 2013
##
# CODE TABLE 3 Fixed levels or layers for wich the data are included
# CODE TABLE 3 Fixed levels or layers for which the data are included
0 0 Reserved
1 surf Surface (of the Earth, which includes sea surface)
2 bcld Cloud base level
Expand Down
11 changes: 5 additions & 6 deletions definitions/grib1/data.grid_second_order.def
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,7 @@ unsigned [2] NL : dump;
if (orderOfSPD) {
unsigned[1] widthOfSPD ;
meta SPD spd(widthOfSPD,orderOfSPD) : read_only;
}

}

meta groupWidths unsigned_bits(widthOfWidths,numberOfGroups) : read_only;
meta groupLengths unsigned_bits(widthOfLengths,numberOfGroups) : read_only;
Expand All @@ -41,7 +40,7 @@ if(bitmapPresent) {
unitsBias,
changingPrecision,
numberOfCodedValues,
bitsPerValue,
bitsPerValue,
referenceValue,
binaryScaleFactor,
decimalScaleFactor,
Expand Down Expand Up @@ -70,7 +69,7 @@ if(bitmapPresent) {
numberOfPoints

): read_only;
alias data.packedValues = codedValues;
alias data.packedValues = codedValues;

if (boustrophedonicOrdering)
{
Expand Down Expand Up @@ -100,7 +99,7 @@ if(bitmapPresent) {
unitsBias,
changingPrecision,
numberOfCodedValues,
bitsPerValue,
bitsPerValue,
referenceValue,
binaryScaleFactor,
decimalScaleFactor,
Expand Down Expand Up @@ -139,7 +138,7 @@ if(bitmapPresent) {
unitsBias,
changingPrecision,
numberOfCodedValues,
bitsPerValue,
bitsPerValue,
referenceValue,
binaryScaleFactor,
decimalScaleFactor,
Expand Down
4 changes: 2 additions & 2 deletions definitions/grib1/data.spectral_ieee.def
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ constant PUnset = -32767;
# N is a pointer to the start of the packed data (i.e. gives octet number)
unsigned[2] N : read_only,dump;
signed[2] P = PUnset;

unsigned[1] JS=0 : dump;
unsigned[1] KS=0 : dump;
unsigned[1] MS=0 : dump;
Expand All @@ -24,7 +24,7 @@ alias subSetM=MS;

constant GRIBEXShBugPresent = 1;
transient computeLaplacianOperator=0;

meta data.laplacianOperator scale(P,oneConstant,grib1divider,truncateLaplacian) : dump;
meta laplacianOperatorIsSet evaluate(P != PUnset && !computeLaplacianOperator );

Expand Down
2 changes: 1 addition & 1 deletion definitions/grib1/data.spectral_simple.def
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ meta codedValues data_g1simple_packing(
): read_only;

meta values data_g1shsimple_packing(codedValues,realPart) : dump;
alias data.packedValues = values;
alias data.packedValues = values;
meta numberOfCodedValues g1number_of_coded_values_sh_simple(bitsPerValue,offsetBeforeData,offsetAfterData,halfByte,numberOfValues) : dump;

template statistics "common/statistics_spectral.def";
3 changes: 0 additions & 3 deletions definitions/grib1/gds_not_present_bitmap.def
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,8 @@ position offsetSection3;
transient section3Length=1;
meta section3Pointer section_pointer(offsetSection3,section3Length,3);

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

# Table reference:
transient tableReference = 0;

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

#position offsetAfterBitmap;

#padtoeven padding_sec3_1(offsetSection3,section3Length);
#section_padding section3Padding;
1 change: 1 addition & 0 deletions definitions/grib1/grid_255.def
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
label "_empty";
2 changes: 1 addition & 1 deletion definitions/grib1/grid_definition_1.def
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ alias numberOfPointsAlongXAxis=Ni;

signed[2] Nj : dump;
alias numberOfPointsAlongAMeridian=Nj;
alias Nx=Nj;
alias Ny=Nj;
alias geography.Nj=Nj;
alias numberOfPointsAlongYAxis=Nj;

Expand Down
15 changes: 7 additions & 8 deletions definitions/grib1/grid_definition_5.def
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
# GRID DEFINITION Polar stereographic
# grib 1 -> 2
constant gridDefinitionTemplateNumber = 20;
constant gridDefinitionTemplateNumber = 20;

unsigned[2] Nx : dump;
alias Ni = Nx;
alias numberOfPointsAlongXAxis = Nx;
alias numberOfPointsAlongXAxis = Nx;
alias geography.Nx=Nx;

unsigned[2] Ny : dump;
alias Nj = Ny;
alias numberOfPointsAlongYAxis = Ny;
alias numberOfPointsAlongYAxis = Ny;
alias geography.Ny=Ny;

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

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
# LoV - orientation of the grid; i.e. the longitude value of the meridian which is parallel to the Y-axis
signed[3] orientationOfTheGrid : edition_specific, no_copy ;
meta geography.orientationOfTheGridInDegrees scale(orientationOfTheGrid,oneConstant,grib1divider,truncateDegrees) : dump;
alias LoV = orientationOfTheGrid ;

# Dx - X-direction grid length
# Dx - X-direction grid length
unsigned[3] DxInMetres : dump;
alias xDirectionGridLengthInMetres=DxInMetres;
alias Dx=DxInMetres;
alias geography.DxInMetres=DxInMetres;
alias Di = DxInMetres;

# Dy - Y-direction grid length
# Dy - Y-direction grid length
unsigned[3] DyInMetres : dump;
alias yDirectionGridLengthInMetres=DyInMetres;
alias Dy = DyInMetres;
Expand All @@ -45,15 +45,14 @@ constant latitudeWhereDxAndDyAreSpecifiedInDegrees=60;
constant LaDInDegrees=60;
alias geography.LaDInDegrees=LaDInDegrees;

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


# for change_scanning_direction
alias yFirst=latitudeOfFirstGridPointInDegrees;
alias xFirst=longitudeOfFirstGridPointInDegrees;
Expand Down
4 changes: 2 additions & 2 deletions definitions/grib1/grid_definition_gaussian.def
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,12 @@ alias Ny=Nj;
# Resolution and component flags
include "grib1/grid_first_last_resandcomp.def";

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

# N - number of parallels between a pole and the equator
# N - number of parallels between a pole and the equator
unsigned[2] N : dump ;
alias numberOfParallelsBetweenAPoleAndTheEquator=N;
alias geography.N=N;
Expand Down
Loading

0 comments on commit 24cc563

Please sign in to comment.