import numpy as np from convgru_ensemble.utils import normalized_to_rainrate, rainrate_to_normalized def test_roundtrip_conversion(): rain = np.array([0.0, 1.0, 5.0, 20.0, 50.0], dtype=np.float32) normalized = rainrate_to_normalized(rain) recovered = normalized_to_rainrate(normalized) np.testing.assert_allclose(recovered, rain, rtol=0.01, atol=0.05) def test_zero_rain_maps_to_low_normalized(): rain = np.array([0.0], dtype=np.float32) normalized = rainrate_to_normalized(rain) # Zero rain should map to approximately -1 (0 dBZ → normalized -1) assert normalized[0] < -0.9