Recent Releases of openAMUNDSEN
openAMUNDSEN - v1.2.1
- Fix regression introduced in v1.1.3 where
nansnowfall fractions for timesteps with missing temperature/humidity data were not handled correctly, causing precipitation/snowfall/rainfall fields to be filled withnaninstead of 0
Cryosphere - Sea Ice
- Python
Published by fhanzer 3 months ago
openAMUNDSEN - v1.2.0
New features:
- Add config parameter
output_data.grids.layout = "roi_pixel"(applicable fornetcdfandmemorygrid outputs) that stores only ROI pixels as flattened 1D arrays instead of full grids. For setups with a small ROI inside a large domain, this reduces I/O overhead and output size. (#110) - Add config parameter
meteo.precipitation_phase.enforce_no_snow_below_rain(defaultfalse) which enforces that there is no snow falling at elevations below the highest elevation where precipitation is 100% rain (might happen in inversion situations otherwise) (#113) - Add config parameter
input_data.meteo.enable_missing_data_checks(defaulttrue). When set tofalse, there is no error raised if meteorological input data is missing at the beginning or end of the simulation period or unavailable for the entire period. This makes it possible to run the model through periods with missing data, for example in operational applications, even though affected timesteps will contain nan values. (263b4ae33b58a187ac10af63a45e0c3d8b77822d)
Other changes:
- Validate that the resolution of input rasters matches the configured model grid resolution (0de14247b730ccfba1de44266929f2bf6a219fff)
- Switch from loguru to stdlib logging (#111)
- Drop support for Python 3.8 and 3.9 (073d08284fa7957575d2347af13654596f323ae1)
Cryosphere - Sea Ice
- Python
Published by fhanzer 3 months ago
openAMUNDSEN - v1.1.6
-
Add a new
numba_threadsconfiguration parameter to control the number of threads used by numba parallel regions.Allowed values:
"auto"(default): Use the value of theNUMBA_NUM_THREADSenvironment variable if set, otherwise automatically determine thread count based on grid size (1 thread for grids < 100 pixels, 2 threads for grids < 10,000 pixels, 4 threads for larger grids)- Integer value: Use a specific number of threads
null: Use the system default
Cryosphere - Sea Ice
- Python
Published by fhanzer 5 months ago
openAMUNDSEN - v1.1.5
- Add function
meteo.relative_humidity_from_dew_point_temperature()(a7cb4cc7bb7c09aa798d1dcb4816a6e44167cb22) - Fix compatibility issues with pandas 3.0 (392790bee65088cb9fada36364ea3af1defa5707)
Cryosphere - Sea Ice
- Python
Published by fhanzer 5 months ago
openAMUNDSEN - v1.1.4
- Use the netCDF4 engine when writing netCDF files (xarray default engine order is since v2025.09.1
['h5netcdf', 'scipy', 'netcdf4'], so when h5netcdf is not installed scipy would otherwise be used) (2e712c2b691f7cc3157cc959ed4a255f577fe54f)
Cryosphere - Sea Ice
- Python
Published by fhanzer 9 months ago
openAMUNDSEN - v1.1.3
- Fix bug in wet-bulb temperature calculation (bf92ebb29e14ae3a93e059a70c201751b21adbf6): if relative humidity was NaN,
oa.meteo.wet_bulb_temperature()incorrectly returned the air temperature (i.e. as if RH were 100 %). Now, NaN is returned where either temperature or relative humidity are NaN.
Cryosphere - Sea Ice
- Python
Published by fhanzer 9 months ago
openAMUNDSEN - v1.1.2
- Fix a meteo data aggregation issue which would occur when the data for one station ends less than one day before the simulation start date
Cryosphere - Sea Ice
- Python
Published by fhanzer 10 months ago
openAMUNDSEN - v1.1.1
Fix compatibility for Python < 3.10
Cryosphere - Sea Ice
- Python
Published by fhanzer 11 months ago
openAMUNDSEN - v1.1.0
New features:
- Add support for piecewise linear regressions for temperature/humidity interpolation to capture non-uniform gradients (#108). To enable, set
config.meteo.interpolation.temperature.regression_params.max_segmentsorconfig.meteo.interpolation.humidity.regression_params.max_segmentsto a value > 1 (and potentially adjustmin_points_per_segment). - Implement experimental glacier geometry change model (02ee5886ab52d83dd28a254d124fb161b0c73c14)
Enhancements:
- Silently enable correct aggregation if data is available (by @geopanda1, #106)
- Remove superfluous loop in IDW function, resulting in a significant speedup (by @geopanda1, #107)
- Allow fallback cloudiness calculation for method
prescribed(749568df50fb94cc74eede056320cf4692c20352) - Print warning when trying to create large in-memory dataset for gridded outputs (2694ab5b83d265ef15c8e5844f9c43330d8ad8cd)
- When using daily time steps always aggregate sub-daily inputs (ignoring the value of
aggregate_when_downsampling) (3ba7d07f3a1fd7967590be79bacc03141a43ee67) - Interpolate missing data for precipitation correction only for time steps with non-zero precipitation (a61bbba36464de7005a9fbda937d250b56bf9a69)
- Require a CRS specification in the config (ba0ce9d34be57221bb115570614e9b6d72ad6d97)
- Raise error if a geographic CRS is used (d5d2607e1776f3e8c710847dba592b564ecf48be)
Fixes:
- Fix small bug in precipitation correction (would only occur when the
trend_methodfor wind speed wasfixed) (3c836085f16a114b70e4d7ccf826b5b77c53e029)
Cryosphere - Sea Ice
- Python
Published by fhanzer 11 months ago
openAMUNDSEN - v1.0.4
- Set minimum value of the default relative humidity filter to 1% (instead of 0%) (e1312f7616658f6092ae84fc184d88df4ce61121)
- Use the (deprecated)
cloudiness.day_methodforcloudiness.methodonly whencloudiness.methodis not set (if both are set,cloudiness.methodshould be used) (3aab15a814af1623c39d3c32cfb1aed426121ec7) - Fix bug in the "constant_scf" precipitation correction method (correction values where incorrectly calculated for mixed precipitation) (a2f7d487cdd45a4b722d9dd3a675e10e82a401b1)
- Set precipitation correction factors to 1 where they cannot be calculated (i.e., where temperature (or wind speed, for methods "wmo" and "kochendorfer") is nan) (f576d2387471a677eb33350158f4421c895f6074)
Cryosphere - Sea Ice
- Python
Published by fhanzer over 1 year ago
openAMUNDSEN - v1.0.3
- Catch nan values in albedo refresh calculation (a5d41210baf64615df3265660bbe3f13d6bdd28e)
Cryosphere - Sea Ice
- Python
Published by fhanzer over 1 year ago
openAMUNDSEN - v1.0.2
- Fix compatibility issues with rasterio 1.4.0
Cryosphere - Sea Ice
- Python
Published by fhanzer over 1 year ago
openAMUNDSEN - v1.0.1
- Fix snow coverage determination in cryo layer sublimation calculation (3ab441ef3d9527ef53a98c8ea911013fd244d78b)
Cryosphere - Sea Ice
- Python
Published by fhanzer almost 2 years ago
openAMUNDSEN - v1.0.0
- Add basic filters to mask implausible meteo values (606d5722961ff9fcedaccb7896eb0bc19c88cfc8)
- Add support for interpolating wind gusts (3c8dac8932e6e76a0db2a2ef1012ab87b8fcd7a8)
- Set
snow_cover_fraction_depth_scaleto 0 by default (1cac4e2c56c35816c4198107648259c82fb2deaa) - Improve logging (#96)
- Fix bug in cryo layer liquid water refreezing (792cfab9e748fbc38fd87ab7d9887a14d276f88d)
- Fix issue with station data aggregation (42039d6ebcc08a1e6d50c306cd214aad5585eeb1)
- Several fixes for changes introduced in in recent numpy/pandas/xarray releases
Cryosphere - Sea Ice
- Python
Published by fhanzer almost 2 years ago
openAMUNDSEN - v0.8.3
- Allow compression of gridded output (#95)
- Fix bug in evapotranspiration calculation for water bodies (ddd33221f0fbe872cbf5c67f10480a7d7cd07227)
- Use QtAgg matplotlib backend for the live view window instead of Qt5Agg, so that an appropriate Qt binding (PyQt6/PySide6/PyQt5/PySide2) is automatically selected
Cryosphere - Sea Ice
- Python
Published by fhanzer over 2 years ago
openAMUNDSEN - v0.8.2
- Replace the polynomial fit in
cloud_fraction_from_cloud_factor()by the analytical inverse of the function incloud_factor_from_cloud_fraction()(0170d6a84569b38c94ea852bca778c79c426ea86) - Fix for cloudiness method
prescribed: the prescribed values should be the cloud area fraction (corresponding to thecloud_fractionmodel variable), not the "cloud factor" (ratio of actual to potential radiation) (50e908d09d42ce80a93793f18f25cd8a30a51fcb) - Consequently, the meteo input variable
cloud_coverhas been renamed tocloud_fractionfor consistency (however, values are expected to be in percent there, in contrast to the model variablecloud_fractionwhich has fractional values (0-1) (1325f5e3cb701a3a89b92a49bd964156b0d54bfa)
Cryosphere - Sea Ice
- Python
Published by fhanzer over 3 years ago
openAMUNDSEN - v0.8.1
- Add
shadows_downsampling_factorparameter for speeding up shadows calculation (22124087d0518fbdbbfc9dcc39b6bf3ca982de0f) - Write sky-view factor files with 3 decimal places instead of full precision to reduce file size (f4cf10d9796f94118a699fbf684052843f850516)
Cryosphere - Sea Ice
- Python
Published by fhanzer over 3 years ago
openAMUNDSEN - v0.8.0
- Allow to supply an "extended DEM" (
extended-dem_{domain}_{resolution}.asc) with a larger extent than the model grid for calculating the sky-view factor and radiation processes. - Cloudiness parameter
allow_fallbackis more generic and potentially tries several cloudiness calculation methods (e.g. ifmethodisclear_sky_fractionand no radiation measurements are available, first thehumiditymethod is attempted, if also no temperature/humidity measurements are available theconstantmethod is used). - The parameters for the cloudiness method
humiditycan now be specified in the model configuration:pressure_level: the pressure level for which the calculation should be performed (hPa)saturation_cloud_fraction: cloud fraction at 100% relative humidity (0-1)e_folding_humidity: "e-folding relative humidity" (%)
- Related to this, the
humiditymethod now usespressure_to_altitude()to convert the prescribed pressure level (700 hPa by default) to an altitude instead of using a hardcoded value of 3000 m, hence introducing small changes in cloudiness values compared to those calculated with earlier openAMUNDSEN versions (1bd686555fb9ce031922625c284d975d67533bd8). - Add cloudiness method
prescribed, which interpolates prescribed cloudiness values at the input stations. For this, the input files need to include a variablecloud_cover(in %) (adfdf08d579b73f7aa6ddd4182a188e70c57c0b8). - Cloudiness configuration keys
day_methodandnight_methodhave been renamed tomethodandclear_sky_fraction_night_method(dbdfd1c07485b3ab7e6a4e347306af459f2b2b4e).
Cryosphere - Sea Ice
- Python
Published by fhanzer over 3 years ago
openAMUNDSEN - v0.7.4
- Fix issue with creating in-memory datasets when using xarray >= 2022.11.0 (#87)
- Drop Python 3.7 support (#88)
- Support Python 3.10 (#90)
Cryosphere - Sea Ice
- Python
Published by fhanzer over 3 years ago
openAMUNDSEN - v0.7.3
- Append gridded outputs by default when using NetCDF format instead of creating the entire dataset at once (#85)
Cryosphere - Sea Ice
- Python
Published by fhanzer almost 4 years ago
openAMUNDSEN - v0.7.2
- Fix meteo data resampling when source and target start times are not in sync (#83)
- Fix a NetCDF point output issue occurring when using recent versions of xarray (#84)
Cryosphere - Sea Ice
- Python
Published by fhanzer almost 4 years ago
openAMUNDSEN - v0.7.1
- Fix bug in precipitation correction introduced in renaming the wind interpolation config key in v0.7.0
Cryosphere - Sea Ice
- Python
Published by fhanzer almost 4 years ago
openAMUNDSEN - v0.7.0
Enhancements/fixes:
- Add wind speed/direction interpolation method
liston(2be2cc5318333d94056679e83748568bf065e6d6) - Allow specifying fixed lapse rates also for wind speed (2c2df653a6260c250e4a1b00ddd2ee98ea8dee9a)
- Set default rooting depth of the transitional zone class to 0.5 (3c6a70b38b910f65d0e0ae22dd53aaf254d562ed)
Deprecations:
- Configuration key
meteo.interpolation.wind_speedhas been renamed tometeo.interpolation.wind(468bdb8401a50914f7e7ba96abd397b5b356c938)
Cryosphere - Sea Ice
- Python
Published by fhanzer almost 4 years ago
openAMUNDSEN - v0.6.3
- Fix issue where the diffuse reflected radiation from surrounding slopes (and subsequently clear-sky shortwave radiation) could become NaN for DEMs containing NaN values (38b280ebdaaa1e4cf40c5945820108dc27360843)
Cryosphere - Sea Ice
- Python
Published by fhanzer about 4 years ago
openAMUNDSEN - v0.6.2
- Exclude pixels where the DEM is NaN from the ROI (025c985bb3a9f0596f61e8f9b61b06f19298da76)
- Add
extend_roi_with_stationsparameter (#77) - Add
fill_valueanddtypekeywords to read_raster_file() (#78)
Cryosphere - Sea Ice
- Python
Published by fhanzer about 4 years ago
openAMUNDSEN - v0.6.1
- Use Dask for initial output grids NetCDF creation if available (#76)
- Add liquid water refreezing state variable (224f143024b7a0823b550e8949df45c099bf6c11)
- Implement cryo layer resublimation (977c08985221a81f4f5753eac480d26def29592a)
- Improve multilayer model melt calculation (do not count cold content reduction as melt) (30340cd43731a7ff729f9952efb4357579a799de)
Cryosphere - Sea Ice
- Python
Published by fhanzer about 4 years ago
openAMUNDSEN - v0.6.0
- Add
simulation_timezoneparameter (#75)
Cryosphere - Sea Ice
- Python
Published by fhanzer about 4 years ago
openAMUNDSEN - v0.5.3
- Add meteo input format "callback" (#74)
Cryosphere - Sea Ice
- Python
Published by fhanzer over 4 years ago
openAMUNDSEN - v0.5.2
- Add meteo input format "memory" (#68)
- Several small fixes
Cryosphere - Sea Ice
- Python
Published by fhanzer over 4 years ago
openAMUNDSEN - v0.5.1
Enhancements/fixes:
- Several bugfixes/improvements in the evapotranspiration module
- Fix calculation of write dates for gridded outputs (1f00067fadc461f962294c903ec9157c2bcdd067)
- Fix calculation of clear-sky radiation when mean surface albedo is nan (51e206725fc8316b26d7ad2362e9505deaaccff5)
- Fix calculation of (enhanced) temperature index melt (#64)
- Allow to resample sub-daily meteo data to daily timesteps (#62)
- Add option for resetting state variables in every timestep (#66)
- Several additional small fixes/improvements
Cryosphere - Sea Ice
- Python
Published by fhanzer over 4 years ago
openAMUNDSEN - v0.5.0
- Add evapotranspiration module
- Add canopy module
Cryosphere - Sea Ice
- Python
Published by fhanzer almost 5 years ago
openAMUNDSEN - v0.4.0
Enhancements/fixes:
- Add grid output formats
geotiffandmemory - Allow station selection by region or ID
- Allow enabling/disabling extrapolation for temperature, precipitation, relative humidity and wind speed
- Improve meteo data reading performance
- Set meteo CRS to main CRS by default when using CSV input
- Calculate clear-sky shortwave irradiance also for outside-ROI stations
- Add method
OpenAmundsen.run_single()for iterating over time steps - Use setuptools_scm for handling the package version
- Add tests
- Several bugfixes
Breaking changes:
- Require Python >= 3.7
- Rename
OpenAmundsen.point_outputstopoint_output - Use only within-grid stations by default
Cryosphere - Sea Ice
- Python
Published by fhanzer almost 5 years ago