From a49b0bc541ddc2401b1b0bf434600f39d43a8204 Mon Sep 17 00:00:00 2001 From: Uwe Schulzweida <uwe.schulzweida@mpimet.mpg.de> Date: Sun, 4 Jun 2023 15:42:28 +0200 Subject: [PATCH] gribapiDefGridLCC: store DxInMetres/DyInMetres as double (bug fix) --- ChangeLog | 4 ++++ src/stream_gribapi.c | 12 ++++++++---- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index 1a19b3407..9dd478501 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2023-06-04 Uwe Schulzweida + + * gribapiDefGridLCC: store DxInMetres/DyInMetres as double (bug fix) + 2023-05-31 Uwe Schulzweida * netcdf: filter coordinates variable name zg and zghalf in is_valid_coordinate() diff --git a/src/stream_gribapi.c b/src/stream_gribapi.c index d236779b4..ea262dd80 100644 --- a/src/stream_gribapi.c +++ b/src/stream_gribapi.c @@ -2258,8 +2258,10 @@ gribapiDefGridLCC(grib_handle *gh, int editionNumber, int gridID, int uvRelative GRIB_CHECK(my_grib_set_long(gh, "Nx", xsize), 0); GRIB_CHECK(my_grib_set_long(gh, "Ny", ysize), 0); - GRIB_CHECK(my_grib_set_long(gh, "DxInMetres", lround(fabs(xinc))), 0); - GRIB_CHECK(my_grib_set_long(gh, "DyInMetres", lround(fabs(yinc))), 0); + // GRIB_CHECK(my_grib_set_long(gh, "DxInMetres", lround(fabs(xinc))), 0); + // GRIB_CHECK(my_grib_set_long(gh, "DyInMetres", lround(fabs(yinc))), 0); + GRIB_CHECK(my_grib_set_double(gh, "DxInMetres", fabs(xinc)), 0); + GRIB_CHECK(my_grib_set_double(gh, "DyInMetres", fabs(yinc)), 0); GRIB_CHECK(my_grib_set_double(gh, "longitudeOfFirstGridPointInDegrees", gpp.xval_0), 0); GRIB_CHECK(my_grib_set_double(gh, "latitudeOfFirstGridPointInDegrees", gpp.yval_0), 0); GRIB_CHECK(my_grib_set_double(gh, "LoVInDegrees", gpp.lon_0), 0); @@ -2301,8 +2303,10 @@ gribapiDefGridSTERE(grib_handle *gh, int gridID) GRIB_CHECK(my_grib_set_long(gh, "Nx", xsize), 0); GRIB_CHECK(my_grib_set_long(gh, "Ny", ysize), 0); - GRIB_CHECK(my_grib_set_long(gh, "DxInMetres", lround(xinc)), 0); - GRIB_CHECK(my_grib_set_long(gh, "DyInMetres", lround(yinc)), 0); + // GRIB_CHECK(my_grib_set_long(gh, "DxInMetres", lround(xinc)), 0); + // GRIB_CHECK(my_grib_set_long(gh, "DyInMetres", lround(yinc)), 0); + GRIB_CHECK(my_grib_set_double(gh, "DxInMetres", xinc), 0); + GRIB_CHECK(my_grib_set_double(gh, "DyInMetres", yinc), 0); GRIB_CHECK(my_grib_set_double(gh, "longitudeOfFirstGridPointInDegrees", gpp.xval_0), 0); GRIB_CHECK(my_grib_set_double(gh, "latitudeOfFirstGridPointInDegrees", gpp.yval_0), 0); GRIB_CHECK(my_grib_set_double(gh, "LaDInDegrees", gpp.lat_1), 0); -- GitLab