From a668f6f39c6dd7fe76bda6d702f4e97b683fc619 Mon Sep 17 00:00:00 2001 From: Tim Reichelt Date: Fri, 21 Nov 2025 16:41:53 +0000 Subject: [PATCH 1/2] Don't assume float32 input for JPEG2000 --- src/climatebenchpress/compressor/compressors/jpeg2000.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/climatebenchpress/compressor/compressors/jpeg2000.py b/src/climatebenchpress/compressor/compressors/jpeg2000.py index a076ad2..cb63fa0 100644 --- a/src/climatebenchpress/compressor/compressors/jpeg2000.py +++ b/src/climatebenchpress/compressor/compressors/jpeg2000.py @@ -36,10 +36,12 @@ def abs_bound_codec( *, data_min=None, data_max=None, + dtype=None, **kwargs, ): assert data_min is not None, "data_min must be provided" assert data_max is not None, "data_max must be provided" + assert dtype is not None, "dtype must be provided" max_pixel_val = 2**25 - 1 # maximum pixel value for our integer encoding. @@ -56,7 +58,7 @@ def abs_bound_codec( # increase precision for better rounding during linear quantization numcodecs.astype.AsType( encode_dtype="float64", - decode_dtype="float32", + decode_dtype=str(dtype), ), # remap from [min, max] to [0, max_pixel_val] numcodecs_wasm_fixed_offset_scale.FixedOffsetScale( From a5ca3f7b2b500283d644bbdee01eed8223f4097f Mon Sep 17 00:00:00 2001 From: Tim Reichelt Date: Wed, 26 Nov 2025 08:46:10 +0000 Subject: [PATCH 2/2] Cleaner way to get dtype name --- src/climatebenchpress/compressor/compressors/jpeg2000.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/climatebenchpress/compressor/compressors/jpeg2000.py b/src/climatebenchpress/compressor/compressors/jpeg2000.py index cb63fa0..afe23d9 100644 --- a/src/climatebenchpress/compressor/compressors/jpeg2000.py +++ b/src/climatebenchpress/compressor/compressors/jpeg2000.py @@ -58,7 +58,7 @@ def abs_bound_codec( # increase precision for better rounding during linear quantization numcodecs.astype.AsType( encode_dtype="float64", - decode_dtype=str(dtype), + decode_dtype=dtype.name, ), # remap from [min, max] to [0, max_pixel_val] numcodecs_wasm_fixed_offset_scale.FixedOffsetScale(