Skip to content

Commit

Permalink
Merge release/2.40.0
Browse files Browse the repository at this point in the history
  • Loading branch information
shahramn committed Feb 11, 2025
2 parents ed5cb9d + 5ed6dbe commit 5ab3e6c
Show file tree
Hide file tree
Showing 814 changed files with 41,107 additions and 32,600 deletions.
25 changes: 25 additions & 0 deletions .github/workflows/build-wheel-wrapper.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# (C) Copyright 2024- ECMWF.
#
# This software is licensed under the terms of the Apache Licence Version 2.0
# which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.
# In applying this licence, ECMWF does not waive the privileges and immunities
# granted to it by virtue of its status as an intergovernmental organisation
# nor does it submit to any jurisdiction.


name: Build Python Wrapper Wheel

on:
# Trigger the workflow manually
workflow_dispatch: ~

# Allow to be called from another workflow
workflow_call: ~

# TODO automation trigger

jobs:
python-wrapper-wheel:
name: Python Wrapper Wheel
uses: ecmwf-actions/reusable-workflows/.github/workflows/python-wrapper-wheel.yml@main
secrets: inherit
16 changes: 14 additions & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -112,6 +112,18 @@ ecbuild_add_option( FEATURE GEOGRAPHY
DESCRIPTION "Support for Geoiterator and nearest neighbour"
DEFAULT ON )

ecbuild_add_option( FEATURE ECKIT_GEO
DESCRIPTION "Support for Geoiterator and nearest neighbour (additional backend)"
CONDITION ENABLE_GEOGRAPHY
DEFAULT OFF )

if( eccodes_HAVE_ECKIT_GEO AND NOT TARGET eckit_geo )
ecbuild_find_package(NAME eckit VERSION 1.27 REQUIRED)
if( NOT TARGET eckit_geo )
ecbuild_critical("eckit has not been built with ECKIT_GEO enabled")
endif()
endif()

ecbuild_add_option( FEATURE JPG
DESCRIPTION "Support for JPG decoding/encoding"
DEFAULT ON )
Expand Down Expand Up @@ -485,7 +497,7 @@ ecbuild_pkgconfig(
IGNORE_INCLUDE_DIRS ${PYTHON_INCLUDE_DIRS} ${NUMPY_INCLUDE_DIRS} ${NETCDF_INCLUDE_DIRS}
VARIABLES HAVE_MEMFS HAVE_GEOGRAPHY HAVE_JPEG HAVE_LIBJASPER HAVE_LIBOPENJPEG
HAVE_ECCODES_THREADS HAVE_ECCODES_OMP_THREADS
HAVE_NETCDF HAVE_FORTRAN HAVE_PNG HAVE_AEC
HAVE_NETCDF HAVE_FORTRAN HAVE_PNG HAVE_AEC HAVE_ECKIT_GEO
)
if( HAVE_FORTRAN )
ecbuild_pkgconfig(
Expand All @@ -497,7 +509,7 @@ if( HAVE_FORTRAN )
${PYTHON_INCLUDE_DIRS} ${NUMPY_INCLUDE_DIRS} ${NETCDF_INCLUDE_DIRS}
VARIABLES HAVE_MEMFS HAVE_GEOGRAPHY HAVE_JPEG HAVE_LIBJASPER HAVE_LIBOPENJPEG
HAVE_ECCODES_THREADS HAVE_ECCODES_OMP_THREADS
HAVE_NETCDF HAVE_PNG HAVE_AEC
HAVE_NETCDF HAVE_PNG HAVE_AEC HAVE_ECKIT_GEO
)
endif()

Expand Down
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@ ecCodes

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

[![Anaconda-Server Badge](https://anaconda.org/conda-forge/eccodes/badges/version.svg)](https://anaconda.org/conda-forge/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.39.3
2.40.0
2 changes: 2 additions & 0 deletions definitions/boot.def
Original file line number Diff line number Diff line change
Expand Up @@ -124,3 +124,5 @@ if(kindOfProduct == `WRAP`){
constant WRAPstr="WRAP";
alias ls.identifier=WRAPstr;
}

meta isMessageValid message_is_valid(kindOfProduct) : hidden;
36 changes: 28 additions & 8 deletions definitions/create_grib2_codetables.pl
Original file line number Diff line number Diff line change
Expand Up @@ -90,14 +90,24 @@ sub WriteFile {
$unit_text =~ s/\(\(Code /(Code /;
$unit_text =~ s/\)\)/)/;
if ($codeFlag =~ /\-/) {
print MYFILE "# $codeFlag $meaning $unit_text\n";
if ($unit_text eq "") {
print MYFILE "# $codeFlag $meaning\n";
} else {
print MYFILE "# $codeFlag $meaning $unit_text\n";
}
} else {
my $codeFlag1 = $codeFlag; # A number
my $codeFlag2 = $codeFlag; # A number or string abbreviation
if ($filename eq "1.4.table") {
# Special case. Do not just put 2nd code, translate it to shortName for 'mars type'
$codeFlag2 = TranslateCodes_Table_1_4($codeFlag);
}
elsif ($filename eq "3.12.table") {
$codeFlag2 = TranslateCodes_Table_3_12($codeFlag);
}
elsif ($filename eq "3.15.table") {
$codeFlag2 = TranslateCodes_Table_3_15($codeFlag);
}
elsif ($filename eq "4.4.table") {
$codeFlag2 = TranslateCodes_Table_4_4($codeFlag);
}
Expand All @@ -113,13 +123,15 @@ sub WriteFile {
elsif ($filename eq "4.252.table") {
$codeFlag2 = TranslateCodes_Table_4_252($codeFlag);
}
elsif ($filename eq "3.15.table") {
$codeFlag2 = TranslateCodes_Table_3_15($codeFlag);
}
elsif ($filename eq "4.10.table") {
$codeFlag2 = TranslateCodes_Table_4_10($codeFlag);
}
print MYFILE "$codeFlag1 $codeFlag2 $meaning $unit_text\n";

if ($unit_text eq "") {
print MYFILE "$codeFlag1 $codeFlag2 $meaning\n";
} else {
print MYFILE "$codeFlag1 $codeFlag2 $meaning $unit_text\n";
}
}
}

Expand All @@ -132,11 +144,11 @@ sub WriteFlagTable{
#print MYFILE "# Automatically generated by ./create_tables.pl from database fm92_grib2\@wrep-db-misc-prod, do not edit\n";
print MYFILE "# $title\n";
}
my $unit_text = ($unit eq "" ? "" : "($unit)");
my $unit_text = ($unit eq "" ? "" : " ($unit)");
if ($codeFlag =~ /\-/) {
print MYFILE "# $codeFlag $meaning $unit_text\n";
print MYFILE "# $codeFlag $meaning$unit_text\n";
} else {
print MYFILE "$codeFlag $value $meaning $unit_text\n";
print MYFILE "$codeFlag $value $meaning$unit_text\n";
}
}

Expand All @@ -155,6 +167,14 @@ sub TranslateCodes_Table_4_10 {
return "missing" if ($code == 255);
return $code;
}

sub TranslateCodes_Table_3_12 {
my ($code) = @_;
return "ring" if ($code == 0);
return "nested" if ($code == 1);
return $code;
}

sub TranslateCodes_Table_3_15 {
my ($code) = @_;
return "pt" if ($code == 107);
Expand Down
Loading

0 comments on commit 5ab3e6c

Please sign in to comment.