diff --git a/cosipy/modules/albedo.py b/cosipy/modules/albedo.py index 2e6afd3e..2767f73a 100644 --- a/cosipy/modules/albedo.py +++ b/cosipy/modules/albedo.py @@ -242,9 +242,8 @@ def method_Bougamont(GRID, surface_temperature: float, albedo_snow: float): temperature-dependant decay timescales.""" # slightly faster than one-liner - t_star_days = float(t_star) * float(dt_days) delta_albedo = albedo_snow - albedo_firn - albedo_snow -= delta_albedo / t_star_days + albedo_snow -= delta_albedo * float(dt_days) / float(t_star) # Reset if snowfall in current timestep if hours_since_snowfall == 0: diff --git a/cosipy/tests/test_parameterisation_albedo.py b/cosipy/tests/test_parameterisation_albedo.py index 89755767..489e0393 100644 --- a/cosipy/tests/test_parameterisation_albedo.py +++ b/cosipy/tests/test_parameterisation_albedo.py @@ -107,8 +107,11 @@ def test_updateAlbedo_method( surface_temperature=270.0, albedo_snow=Constants.albedo_fresh_snow, ) - assert isinstance(surface_albedo, float) - assert isinstance(snow_albedo, float) + for albedo in [surface_albedo, snow_albedo]: + assert isinstance(albedo, float) + assert 0.0 <= albedo <= 1.0 + + @pytest.mark.parametrize("arg_method", ["Wrong Method", "", None]) def test_updateAlbedo_method_error(