Recent Releases of Open Sustainable Technology Projects
b3gbi - Release 0.8.18
Minor update:
- Addressed
S2geometry degenerate vertex errors related to incorrect geographic subset orientations for exact-matching map boundary points. - Added native sf boundaries for MGRS, EEA, and EQDGC, vastly improving boundary and grid visualization.
- Added function to replace NA values with zeroes in a calculated indicator map or time series. Example: x_filled <- replace_na(x).
- Removed redundant plotting parameters
complete_grid_outlineandvisible_grid_outlinefromplot_mapandplot_species_map. - Fixed a bug introduced in version 0.8.0 where
compute_indicator_workflowproduced erroneous empty cell lines for certain bounding boxes across MGRS, EEA, and EQDGC datasets by correcting spatial matching workflows to rely on nativecellCodejoins. - Fixed a bug where Hill diversity calculated confidence intervals even when
ci_typewas set tonone. - Fixed a bug where topology exceptions were causing indicator calculations to fail for some cubes.
- Fixed a bug where aggregating to a larger grid size than the native cube grid gave incorrect output by leaving the original cell codes intact.
Biosphere - Biodiversity Data Access and Management
- R
Published by shawndove 3 days ago
Arena - v2.4.0
What's Changed
- UI: added French translation; UI language selector: moved to header by @SteRiccio in https://github.com/openforis/arena/pull/4176
- UI preferred language selector layout improvements by @SteRiccio in https://github.com/openforis/arena/pull/4177
Full Changelog: https://github.com/openforis/arena/compare/v2.3.22...v2.4.0
Biosphere - Biodiversity Citizen Science
- JavaScript
Published by SteRiccio 4 days ago
ACE - HiRO-ACE Release
This release is the official milestone for our team's change to fully open development, and includes the latest updates for our HiRO-ACE as described in our paper. HiRO-ACE is a two-stage emulation framework for generating 3 km resolution precipitation outputs using a stochastic climate emulator (ACE2S) to generate 100km climate simulations and a downscaling model (HiRO) to generate 3 km precipitation outputs.
See the docs for a quickstart on installation and use, and our huggingface repo for the models and some sample data to run on.
Open Development
Previously, the ACE repo solely held updates related to papers and releases, while most of the development happened behind the scenes in a separate repository. This made it harder for external collaborators to contribute and for users to track development progress. We hope the changeover to all of our development happening here brings us closer to users, facilitating easier paths for soliciting feedback, issues, and development from outside of our group.
Updates
- Don't upload big maps by @AnnaKwa in https://github.com/ai2cm/ace/pull/707
- Add
StaticInputsclass by @AnnaKwa in https://github.com/ai2cm/ace/pull/713 - Add hiro ckpt train config by @AnnaKwa in https://github.com/ai2cm/ace/pull/721
- Provide backwards compatibility for list-type BatchLabels by @mcgibbon in https://github.com/ai2cm/ace/pull/722
- Serialize static inputs with downscaling model by @AnnaKwa in https://github.com/ai2cm/ace/pull/727
- Beaker CI test via gantry by @brianhenn in https://github.com/ai2cm/ace/pull/723
- Remove filter repo tools by @brianhenn in https://github.com/ai2cm/ace/pull/729
- Add training configs for ACE2S used in HiRO - ACE manuscript by @Arcomano1234 in https://github.com/ai2cm/ace/pull/710
- Pass model static inputs to dataset build calls at generation by @AnnaKwa in https://github.com/ai2cm/ace/pull/728
- Call optimizer autocast in stepper predict generator by @mcgibbon in https://github.com/ai2cm/ace/pull/733
- Ensure topography is on device in downscaling inference by @AnnaKwa in https://github.com/ai2cm/ace/pull/731
- Coupled stepper config removes deprecated
crps_trainingkey by @elynnwu in https://github.com/ai2cm/ace/pull/734 - Samudra bugfix: Use circular padding for longitude axis by @elynnwu in https://github.com/ai2cm/ace/pull/735
- Add additional diagnostics of the OHC budget by @jpdunc23 in https://github.com/ai2cm/ace/pull/737
- Prevent backpropagation anomalies in energy corrector by @spencerkclark in https://github.com/ai2cm/ace/pull/724
- Fix bug causing step sampler to be ignored by @mcgibbon in https://github.com/ai2cm/ace/pull/742
- Add a contributing guideline by @oliverwm1 in https://github.com/ai2cm/ace/pull/730
- Increase timeout of NCCL collective operations to 20 minutes by @jpdunc23 in https://github.com/ai2cm/ace/pull/746
- Add docs page for downscaling inference by @AnnaKwa in https://github.com/ai2cm/ace/pull/743
- Vendorize Apache 2.0 Nvidia Downscaling Code by @frodre in https://github.com/ai2cm/ace/pull/748
- Enforce lat bounds (-88 deg, 88 deg) by @AnnaKwa in https://github.com/ai2cm/ace/pull/740
- Bump version v2026.1.1 for HiRO-ACE release by @frodre in https://github.com/ai2cm/ace/pull/751
Full Changelog: https://github.com/ai2cm/ace/compare/v2026.1.0...v2026.1.1
Atmosphere - Atmospheric Composition and Dynamics
- Python
Published by frodre 4 days ago
ACE - v2026.4.0
Release date: April 9, 2026
Full Changelog: https://github.com/ai2cm/ace/compare/v2026.1.1...v2026.4.0
Atmosphere - Atmospheric Composition and Dynamics
- Python
Published by elynnwu 4 days ago
WOMBAT - v0.13.3
What's Changed
- Patch: Pandas 3.x Compatibility by @RHammond2 in https://github.com/NLRWindSystems/WOMBAT/pull/239
Full Changelog: https://github.com/NLRWindSystems/WOMBAT/compare/v0.13.2...v0.13.3
Renewable Energy - Wind Energy
- Python
Published by RHammond2 5 days ago
ISSM - 2026.2
What's Changed
- add extract for tf structure by @totorotoby in https://github.com/ISSMteam/ISSM/pull/123
- add optional time argument to interpISMIP6AntarcticaOcn by @totorotoby in https://github.com/ISSMteam/ISSM/pull/124
- Fix universal size checks by @lawrenceabird in https://github.com/ISSMteam/ISSM/pull/125
- add andes petsc23 and adjointpetsc andes install by @totorotoby in https://github.com/ISSMteam/ISSM/pull/126
- Update CI external package command by @lawrenceabird in https://github.com/ISSMteam/ISSM/pull/127
- Update lonestar configuration properties by @yinmin-liu in https://github.com/ISSMteam/ISSM/pull/130
- Gemb mapping by @NJSchlegel in https://github.com/ISSMteam/ISSM/pull/131
- CHG: add pressure to GEMB precip scaling by @NJSchlegel in https://github.com/ISSMteam/ISSM/pull/132
- CHG: GEMB precipitation mapping unit valideation by @NJSchlegel in https://github.com/ISSMteam/ISSM/pull/133
- Gemb mapping by @NJSchlegel in https://github.com/ISSMteam/ISSM/pull/134
- Update Hydrology Shakti by @inwoo-park in https://github.com/ISSMteam/ISSM/pull/139
- option to not output final result by @dabele in https://github.com/ISSMteam/ISSM/pull/140
- Gemb mapping by @NJSchlegel in https://github.com/ISSMteam/ISSM/pull/141
- CHG: Do not restrict values of GEMB precip scaling factor variable for mapping by @NJSchlegel in https://github.com/ISSMteam/ISSM/pull/142
- CHG: Compute total subglacial basal flux at grounding line. by @inwoo-park in https://github.com/ISSMteam/ISSM/pull/143
- NEW: New feature
hydrologyprescribe.m(hydrologyprescribe.py). by @inwoo-park in https://github.com/ISSMteam/ISSM/pull/137 - tiny printing thing by @totorotoby in https://github.com/ISSMteam/ISSM/pull/145
New Contributors
- @yinmin-liu made their first contribution in https://github.com/ISSMteam/ISSM/pull/130
Full Changelog: https://github.com/ISSMteam/ISSM/compare/2026.1...2026.2
Cryosphere - Glacier and Ice Sheets
- C++
Published by MathieuMorlighem 5 days ago
NEMS - AEO2026-Public-Release
The National Energy Modeling System (NEMS) is a long-term energy-economy modeling system of U.S. energy markets. The model is used to project production, imports, exports, conversion, consumption, and prices of energy, subject to user-defined assumptions. The assumptions encompass macroeconomic and financial factors, world energy markets, resource availability and costs, behavioral and technological choice criteria, technology characteristics, and demographics.
This version of NEMS is based on the version used for AEO2026, with updated software dependencies, and updates to several series contained in the restart file.
Energy Systems - Energy Markets
- Fortran
Published by WhitlingerEIA 5 days ago
foxes -
- Applications:
- New command line application
wrf2foxes, converting data files from WRF-NEWA NetCDF format into a regular UTM based grid that is readable by theFieldDatastates class. The subsequent foxes run might then be faster than using theNEWAStatesclass.
- New command line application
- Inputs:
- New ambient states
SingleStateField, for heterogeneous data without state dimension, e.g. the mean field output offoxes_create_mean_dataset
- New ambient states
- Models:
- Removing
pre_rotorflag. The position before or after the rotor model is now automatically determined based on the overlap of model output variables and the newly introduced input variables of the selected rotor model. - New turbine model
YawControllerfor sequential runs, simulating basic yaw manoeuvres that follow window averages of ambient wind direction
- Removing
- Examples:
- New example
sequential_yawcontroller, demonstrating the newYawControllermodel
- New example
- Bug fixes:
- Fix for bug with states averaging in
PointCalculator
- Fix for bug with states averaging in
Full Changelog: https://github.com/FraunhoferIWES/foxes/commits/v1.7.4
Renewable Energy - Wind Energy
- Python
Published by github-actions[bot] 5 days ago
ERAD - v0.1.11
What's Changed
- ci: add Dependabot config with weekly updates by @AadilLatif in https://github.com/NLR-Distribution-Suite/erad/pull/58
- Bump actions/checkout from 3 to 6 by @dependabot[bot] in https://github.com/NLR-Distribution-Suite/erad/pull/59
- Bump actions/setup-python from 4 to 6 by @dependabot[bot] in https://github.com/NLR-Distribution-Suite/erad/pull/60
- Bump jupyter-book from 1.0.4.post1 to 2.1.2 by @dependabot[bot] in https://github.com/NLR-Distribution-Suite/erad/pull/62
- Bump davidslusser/actions_python_ruff from 1.0.1 to 1.0.3 by @dependabot[bot] in https://github.com/NLR-Distribution-Suite/erad/pull/61
- fix: use jupyter-book command instead of jb shorthand by @AadilLatif in https://github.com/NLR-Distribution-Suite/erad/pull/63
- chore: migrate docs build to Jupyter Book v2 and commit all workspace… by @AadilLatif in https://github.com/NLR-Distribution-Suite/erad/pull/64
- ci: set dynamic BASE_URL for Jupyter Book pages build by @AadilLatif in https://github.com/NLR-Distribution-Suite/erad/pull/65
- docs: restore Plotly rendering in Jupyter Book v2 outputs by @AadilLatif in https://github.com/NLR-Distribution-Suite/erad/pull/66
- Update GDM simulation notebook rendering/content by @AadilLatif in https://github.com/NLR-Distribution-Suite/erad/pull/67
- Align GDM notebook dataset version with installed package by @AadilLatif in https://github.com/NLR-Distribution-Suite/erad/pull/68
- Update GDM notebook to use dataset version 2_3_0 by @AadilLatif in https://github.com/NLR-Distribution-Suite/erad/pull/69
- Fix deployed gdm page notebook runtime errors by @AadilLatif in https://github.com/NLR-Distribution-Suite/erad/pull/70
- Make GDM overlay cell resilient to out-of-order execution by @AadilLatif in https://github.com/NLR-Distribution-Suite/erad/pull/71
- Refactor CLI to reduce duplicated code paths by @AadilLatif in https://github.com/NLR-Distribution-Suite/erad/pull/72
- Fix fragility docs plots for non-WebGL browsers by @AadilLatif in https://github.com/NLR-Distribution-Suite/erad/pull/73
- feat: enhance MCP tools, asset/hazard models, quantities, and fix CLI… by @AadilLatif in https://github.com/NLR-Distribution-Suite/erad/pull/76
New Contributors
- @dependabot[bot] made their first contribution in https://github.com/NLR-Distribution-Suite/erad/pull/59
Full Changelog: https://github.com/NLR-Distribution-Suite/erad/compare/v0.1.10...v0.1.11
Energy Systems - Grid Analysis and Planning
- Python
Published by AadilLatif 6 days ago
Ecoindex browser plugin - v2.11.0
What's Changed
- refactor: streamline extension build process and update permissions by @vvatelot in https://github.com/cnumr/EcoIndex_browser-plugin/pull/92
- 🔖 chore(version): Update project version by @vvatelot in https://github.com/cnumr/EcoIndex_browser-plugin/pull/93
Full Changelog: https://github.com/cnumr/EcoIndex_browser-plugin/compare/v2.10.0...v2.11.0
Consumption - Computation and Communication
- CSS
Published by vvatelot 6 days ago
Econobis - Release 5.3.6.2
Energy Systems - Energy Markets
- JavaScript
Published by Mosmania 7 days ago
Econobis - Release 5.3.6.1
Energy Systems - Energy Markets
- JavaScript
Published by Mosmania 7 days ago
goat - v2.4.14 Bugfix Release
This release is a maintenance update addressing various issues identified since the 2.4.12 release. It does not introduce any new major features, but focuses solely on improving stability and reliability.
What's Changed
- Bug fixes and dashboard extension by @EPajares in https://github.com/plan4better/goat/pull/3675
- fix(processes): prevent memory accumulation in DuckLake connections by @EPajares in https://github.com/plan4better/goat/pull/3676
- fix(i18n): add missing translations for rich text widget features by @EPajares in https://github.com/plan4better/goat/pull/3677
Full Changelog: https://github.com/plan4better/goat/compare/v2.4.13...v2.4.14
Consumption - Mobility and Transportation
- TypeScript
Published by EPajares 8 days ago
Ecoindex browser plugin - v2.10.0
What's Changed
- build(deps): bump tmp and web-ext by @dependabot[bot] in https://github.com/cnumr/EcoIndex_browser-plugin/pull/81
- build(deps): bump js-yaml from 4.1.0 to 4.1.1 by @dependabot[bot] in https://github.com/cnumr/EcoIndex_browser-plugin/pull/83
- build(deps): bump node-forge from 1.3.1 to 1.3.2 by @dependabot[bot] in https://github.com/cnumr/EcoIndex_browser-plugin/pull/84
- build(deps): bump flatted from 3.3.3 to 3.4.2 by @dependabot[bot] in https://github.com/cnumr/EcoIndex_browser-plugin/pull/89
- build(deps): bump brace-expansion from 1.1.12 to 1.1.13 by @dependabot[bot] in https://github.com/cnumr/EcoIndex_browser-plugin/pull/88
- build(deps): bump minimatch from 3.1.2 to 3.1.5 by @dependabot[bot] in https://github.com/cnumr/EcoIndex_browser-plugin/pull/86
- build(deps): bump node-forge from 1.3.2 to 1.4.0 by @dependabot[bot] in https://github.com/cnumr/EcoIndex_browser-plugin/pull/87
- build(deps): bump ajv and web-ext by @dependabot[bot] in https://github.com/cnumr/EcoIndex_browser-plugin/pull/90
- doc: revise privacy policy with detailed data handling practices by @vvatelot in https://github.com/cnumr/EcoIndex_browser-plugin/pull/85
- 🔖 chore(version): Update project version by @vvatelot in https://github.com/cnumr/EcoIndex_browser-plugin/pull/91
New Contributors
- @dependabot[bot] made their first contribution in https://github.com/cnumr/EcoIndex_browser-plugin/pull/81
Full Changelog: https://github.com/cnumr/EcoIndex_browser-plugin/compare/v2.9.0...v2.10.0
Consumption - Computation and Communication
- CSS
Published by vvatelot 8 days ago
Circuitscape - v5.16.0
Circuitscape v5.16.0
New features
- Typed configuration: Replace
Dict{String,String}config with typedCSConfigstruct for better performance and type safety. Backward compatible —compute(dict)andinit_config()still work. - Pardiso extension: MKLPardiso solver is now a package extension. Use
using Pardisobeforeusing Circuitscapeand setsolver = pardisoin your INI file. - PrecompileTools: Added precompilation workload to reduce time-to-first-execution.
- Test improvements: Enabled CHOLMOD and parallel solver tests, moved test utilities out of package source.
Bug fixes
- Fixed codecov badge URL (http → https)
- Fixed contributing links to use correct GitHub organization
- Fixed benchmark image path in README
- Use
!== nothinginstead of!= nothingfor type-stable comparisons - Fixed generic type parameter in solver loop (
Float64→T)
Documentation
- Refreshed README: removed legacy "new Circuitscape" framing, added usage examples
- Updated citation to Hall et al. 2021 (CITATION.bib)
- Added Pardiso solver documentation with install instructions
- Restored animated GIF for INIBuilder demo
- Documented logging levels
Merged pull requests:
- Bump actions/checkout from 4 to 5 (#432) (@dependabot[bot])
- Bump actions/checkout from 5 to 6 (#435) (@dependabot[bot])
- Bump actions/cache from 4 to 5 (#437) (@dependabot[bot])
- Bump codecov/codecov-action from 5 to 6 (#438) (@dependabot[bot])
- Warn when using CHOLMOD solver with large grids (#439) (@ViralBShah)
- Fix INIBuilder ground file menu in advanced mode (#440) (@ViralBShah)
- Don't write cumulative current map when write_cur_maps is False (#441) (@ViralBShah)
- Document all INI arguments with defaults and types (#442) (@ViralBShah)
- Improve documentation clarity and accuracy (#443) (@ViralBShah)
- Pardiso extension, test improvements, and precompile workload (#444) (@ViralBShah)
- Replace Dict{String,String} config with typed CSConfig struct (#446) (@ViralBShah)
- Replace IterativeSolvers.jl with Krylov.jl (#448) (@ViralBShah)
Closed issues:
- Parallel calculation for cases with polygons (#148)
- Cumulative Current Map Always Produced (#158)
- Failed tests on Windows in raster pairwise mode - Runs out of mmap segments (#188)
- Error with include pairs file (#189)
- Example file naming issues (#196)
- Need updated documentation for Circuitscape 5 (#217)
- Issue relevant warnings when using large grids (#233)
- Best way to paralellize Circuitscape? (#236)
- LoadError: ArgumentError: dense matrix construction failed for unknown reasons (#249)
- Update "usage" section of intro to CS (#253)
- Add details on all INI arguments and their defaults to docs (#277)
- ArcGIS toolbox help required (#331)
- Advanced mode ground file selection options (#354)
- UI bug (#363)
- Not solving every point? (#365)
- Focal nodes outside habitat map - but not in GIS (#380)
- Circuitscape cannot find files with 'compute()' but runs fine if used with 'start()' (#397)
- How to calculate stacked cumulative current maps for several species (#400)
- Pairwise mode with different source strengths? (#408)
- Circuitscape in pairwise mode return cumulative current map with invalid value (from -1,79769e+308 to 1,79769e+308) (#411)
- Error reading ini file - please help (#412)
- OutOfMemoryError() Circuitscape stops at [14] top-level scope (#415)
- Seeking advice on configuring short-circuit region map and ini file instruction to access short circuit file (#424)
- Issue with Missing Output File and Installation Error in Circuitscape 5.12.3 (#427)
- ❗ Circuitscape GUI on Windows crashes immediately when running with .asc raster and coordinate points (#429)
- ERROR: Method overwriting is not permitted during Module precompilation. Use
__precompile__(false)to opt-out of precompilation. (#431) - ERROR: SystemError: opening file "path/to/config/file.ini": No such file or directory (#433)
- Can't resolve error: the file "(Browse for a resistance file)" does not exist (#436)
Biosphere - Terrestrial Wildlife
- Julia
Published by github-actions[bot] 10 days ago
goat - v2.4.13 Bugfix Release
This release is a maintenance update addressing various issues identified since the 2.4.12 release. It does not introduce any new major features, but focuses solely on improving stability and reliability.
What's Changed
- Merging copy/export/import project by @EPajares in https://github.com/plan4better/goat/pull/3674
Full Changelog: https://github.com/plan4better/goat/compare/v2.4.12...v2.4.13
Consumption - Mobility and Transportation
- TypeScript
Published by majkshkurti 10 days ago
env_canada - v0.14.1
Changes
- ECHistorical: Add support for alphanumeric climate IDs (#132)
Sustainable Development - Data Catalogs and Interfaces
- Python
Published by michaeldavie 10 days ago
MONET - v2.3.1
What's Changed
- Add new stats including MAE; update pre-commit hooks by @L12D2 in https://github.com/noaa-oar-arl/monet/pull/176
- Address a few warnings by @zmoon in https://github.com/noaa-oar-arl/monet/pull/178
- Bump mamba-org/setup-micromamba from 2 to 3 by @dependabot[bot] in https://github.com/noaa-oar-arl/monet/pull/179
- Release 2.3.1 by @zmoon in https://github.com/noaa-oar-arl/monet/pull/180
Full Changelog: https://github.com/noaa-oar-arl/monet/compare/v2.3.0...v2.3.1
Atmosphere - Atmospheric Chemistry and Aerosol
- Python
Published by zmoon 10 days ago
MUSICA - Version 0.15.0
What's Changed
- Type erasure by @K20shores in https://github.com/NCAR/musica/pull/771
- Auto-format code changes by @github-actions[bot] in https://github.com/NCAR/musica/pull/780
- refactoring tests by @K20shores in https://github.com/NCAR/musica/pull/781
- Auto-format code changes by @github-actions[bot] in https://github.com/NCAR/musica/pull/782
- Expose solver parameters through all language bindings by @K20shores in https://github.com/NCAR/musica/pull/783
- adding julia dockerfile by @K20shores in https://github.com/NCAR/musica/pull/784
- Auto-format code changes by @github-actions[bot] in https://github.com/NCAR/musica/pull/785
- Set up for readthedocs by @boulderdaze in https://github.com/NCAR/musica/pull/790
- Auto-format code changes by @github-actions[bot] in https://github.com/NCAR/musica/pull/791
- deploying web example to github pages by @K20shores in https://github.com/NCAR/musica/pull/793
- Add Julia/C++ bindings for MUSICA (#794) by @K20shores in https://github.com/NCAR/musica/pull/801
- Revert "Add Julia/C++ bindings for MUSICA (#794)" by @K20shores in https://github.com/NCAR/musica/pull/803
- Julia binary distribution by @K20shores in https://github.com/NCAR/musica/pull/804
- Updating julia packaging by @K20shores in https://github.com/NCAR/musica/pull/806
- Add severity classification to musica Error struct (#795) by @K20shores in https://github.com/NCAR/musica/pull/798
- Auto-format code changes by @github-actions[bot] in https://github.com/NCAR/musica/pull/808
- Add Lambda Rate Constant to MUSICA javascript by @ceeedric in https://github.com/NCAR/musica/pull/807
- Auto-format code changes by @github-actions[bot] in https://github.com/NCAR/musica/pull/810
- Documentation updates by @K20shores in https://github.com/NCAR/musica/pull/812
- 814 update tutorials by @K20shores in https://github.com/NCAR/musica/pull/816
- version release issue template by @K20shores in https://github.com/NCAR/musica/pull/819
- Update the document for MUSICA by @boulderdaze in https://github.com/NCAR/musica/pull/820
- Auto-format code changes by @github-actions[bot] in https://github.com/NCAR/musica/pull/818
- Auto-format code changes by @github-actions[bot] in https://github.com/NCAR/musica/pull/822
- Javascript 0.15.0-rc.0 by @K20shores in https://github.com/NCAR/musica/pull/824
- Add Fortran Chapman column-model examples and CMake test wiring by @dwfncar in https://github.com/NCAR/musica/pull/775
- 817 read through and correct issues by @K20shores in https://github.com/NCAR/musica/pull/823
- Release 0.15.0 by @boulderdaze in https://github.com/NCAR/musica/pull/826
New Contributors
- @ceeedric made their first contribution in https://github.com/NCAR/musica/pull/807
Full Changelog: https://github.com/NCAR/musica/compare/v0.14.5...v0.15.0
Atmosphere - Atmospheric Chemistry and Aerosol
- Jupyter Notebook
Published by boulderdaze 10 days ago
CityLearn - Reliability/performance upgrade: EV/BESS/PV fixes, three-phase constraints, community settlement and internal refactor
Summary
This beta release brings a large set of reliability, physics-consistency, and maintainability improvements to CityLearn, developed and validated in a long-running fork and now prepared for upstream beta testing.
Scope includes:
- RL/runtime temporal correctness hardening.
- EV/BESS/PV physical consistency and sub-hour behavior fixes.
- Electrical-service constraints (single/three-phase) and community settlement support.
- Export/render pipeline refactor, optimization and stabilization.
- KPI expansion (absolute/delta/daily metrics, EV/BESS/PV, phase, market, equity) with stronger robustness.
- Internal architectural refactor of loading/runtime/building ops/KPI for maintainability.
- CI/performance tooling and broad regression test coverage.
Main Changes
A) RL + Temporal Semantics
- Hardened terminal step behavior and episode boundary handling.
- Fixed single-timestep learning path (
episode_time_steps=1) in agent loop. - Improved action parsing robustness for centralized and decentralized agent modes.
- Clarified lagged endogenous observation semantics while preserving public API behavior.
B) EV/BESS/PV + Physical/Unit Consistency
- Fixed EV SOC edge case when charger action is zero while connected.
- Improved BESS initialization/t=0 accumulation consistency and degradation scaling.
- Improved sub-hour consistency checks and regressions.
- Made EV unconnected drift reproducible and time-aware by physical timestep.
C) Electrical Service (Phases) + Community Settlement
- Added/validated electrical service constraints for mono/three-phase operation.
- Added robust handling for non-finite limits to avoid NaN propagation.
- Added community local-market settlement and related metrics paths.
- Hardened schema validation (including boolean parsing robustness).
D) Export/Render Pipeline
- Refactored export logic into dedicated component(s), keeping public behavior of:
render_mode='none'render_mode='during'render_mode='end'
- Added contract/regression checks so export layout remains stable for downstream UI.
- Stabilized KPI CSV schema behavior for undefined metrics.
E) KPIs
- Extended KPI set with absolute totals, deltas, and daily-normalized metrics.
- Added EV/BESS/PV KPIs.
- Added electrical-service (phase/violation) and community-market KPIs.
- Added equity KPI formulas and comparison tooling.
- Fixed baseline cost KPI behavior when tariff sums are zero.
- Preserved legacy KPI compatibility where intended.
F) Internal Refactor
- Introduced
citylearn/internal/*modules and moved major responsibilities:- loading pipeline,
- runtime orchestration,
- building observation/action ops,
- KPI evaluation.
- Kept
CityLearnEnv/Buildingpublic interfaces as facades (no intentional public API break).
G) Tests / CI / Tooling
- Added extensive regression/unit/integration coverage across:
- temporal semantics,
- EV SOC behavior,
- reproducibility,
- KPI formulas,
- export/UI contract,
- electrical service/market behavior.
- Added perf smoke tooling and baseline checks.
- Reorganized manual scripts outside default pytest discovery.
Backward Compatibility
- Public API signatures are preserved.
- Legacy behavior is retained where feasible; changes focus on correctness and robustness.
- Export modes and expected filenames remain compatible (with additional metrics where applicable).
Validation
- Full test suite executed in fork CI and local runs.
- Additional scenario smoke runs (including long rollouts and RBC policies) used to verify end-to-end execution and export behavior.
Energy Systems - Load and Demand Forecasting
- Python
Published by calofonseca 10 days ago
scout - v1.2.2 (2026-04-02)
- Modernize CI workflows (#588)
- Update commercial thermal load components from Comstock (#555)
- Add full breakouts for capital cost estimates (#587)
- Unit tests for recent minor feature additions (#601, #597)
- Bug fix for electrical panel upgrade cost assignment (#577)
Consumption - Buildings and Heating
- Python
Published by jmythms 11 days ago
earthaccess - v0.17.0
2026-04-02
Highlights
This release introduces a unified virtualization API, replaces the previous open_virtual_dataset() / open_virtual_mfdataset() / consolidate_metadata() functions with a single virtualize() method compatible with VirtualiZarr 2.x, and opens support to most parsers (dmrpp, hdf, netcdf, kerchunk). It also adds FutureWarning deprecation notices in preparation for the upcoming v1.0 release. We improved download() by using temporary files until the files are complete and added a kwarg force to download and replace existing files. A new interface was added to the granules __geo_interface__ that allows libraries that support geojson geometries to access the UMM geometry of each granule, libraries like geopandas can then use the results to create a dataframe that can be plotted using such geometries.
import earthaccess as ea
import geopandas as gpd
ea.login()
granules = ea.search_data(**params)
# virtualization with one line, using dask or lithops and vz 2.x:
vds = ea.virtualize(granules, **vz_options)
# geo dataframes!
g_df = gpd.GeoDataFrame(geometry=granules, crs="EPSG:4326")
Breaking Changes
- Virtualization API overhaul:
consolidate_metadata(),open_virtual_dataset(),
andopen_virtual_mfdataset()have been removed in favor of a single
virtualize()method that supports all VirtualiZarr 2.x parsers (dmrpp, hdf,
netcdf, kerchunk).
(#1272)
(@betolink)
Changed
- While downloading, files now use temporary names until the download completes,
preventing partial files from being mistaken for complete downloads.
(#1198)
(@WeatherGod)
Added
FutureWarningadded toDataCollectionsandDataGranulesmethods decorated
with@property, in preparation for the merge of #1187 in version 1.0.
(#1267)
(@andypbarrett)forcekwarg added todownload()to allow forced re-downloads.
(#1198)
(@WeatherGod)DataGranule.__geo_interface__property for GeoJSON-compatible geometry access.
(#1179)
(@s-kganz)
Removed
consolidate_metadata(),open_virtual_dataset(), and
open_virtual_mfdataset()— replaced byvirtualize().
(#1272)
(@betolink)
- Build docs faster.
(#1205)
(@mfisher87) - Add community calendar to "How to collaborate" page.
(#1202)
(@mfisher87) - Simplify PR template.
(#1210)
(@mfisher87) - Add logo to repository.
(#1208)
(@mfisher87) - Decision: "Repotting" earthaccess to a new organization.
(#1047)
(@mfisher87) - Mention the PR template in PR docs.
(#1218)
(@mfisher87) - Turn on mkdocs strict mode and check for broken links.
(#1209)
(@mfisher87) - Fix broken notebooks.
(#1211)
(@mfisher87) - Enable docs navigation breadcrumbs.
(#1222)
(@mfisher87) - Re-organize docs into top-level user/contributor sections.
(#1212)
(@mfisher87) - Add "Edit this page" button to every docs page.
(#1221)
(@mfisher87) - Fix broken links.
(#1224,
#1258)
(@mfisher87) - Move community calendar to docs front page.
(#1232)
(@mfisher87) - Remove redundant information from document title.
(#1233)
(@mfisher87) - ESIP Funding Friday song lyrics.
(#1056)
(@stefaniebutland) - Include ESIP funding friday lyrics as a link from the index.
(#1262)
(@itcarroll) - Soften test/CI language and encourage asking for help.
(#1273)
(@danielfromearth) - Add entries to citation file.
(#1254)
(@danielfromearth) - Add earthaccess repotting history.
(#1239)
(@JessicaS11) - Update last updated date in 929-move-repository.md.
(#1248)
(@asteiker)
New Contributors
- @WeatherGod made their first contribution in #1198
- @s-kganz made their first contribution in #1179
- @ateucher made their first contribution in #1240
- @stefaniebutland made their first contribution in #1056
- @zkoppert made their first contribution in #1278
Full Changelog: https://github.com/earthaccess-dev/earthaccess/compare/v0.16.0...v0.17.0
Sustainable Development - Data Catalogs and Interfaces
- Python
Published by betolink 11 days ago
CHAP - chap-api-0.1.8
CHAP API - REST API Deployment
Climate Change - Climate Data Processing and Analysis
- Python
Published by github-actions[bot] 11 days ago
CHAP - chap-0.3.2
CHAP (Climate Health Analysis Platform) - Umbrella Chart
Climate Change - Climate Data Processing and Analysis
- Python
Published by github-actions[bot] 11 days ago
Skyborn - v0.3.18 (Apr 2, 2026)
Plotting API Cleanup
-
Renamed the NCL-like vector plotting public API to the new names:
skyborn.plot.curly_vector(unified arrays + xarray entry point)skyborn.plot.curly_vector_keyskyborn.plot.CurlyVectorPlotSetskyborn.plot.CurlyVectorKey
-
Removed the legacy plotting API names from the public surface:
velovectvelovect_vertical_profiledataset_curly_vectorcurved_quiveradd_curved_quiverkeyCurvedQuiverplotSetCurvedQuiverLegend
-
Split the plotting implementation into clearer modules:
skyborn.plot.vector_plotfor the core curly-vector rendererskyborn.plot.ncl_vectorfor the xarray / Cartopy dataset wrapperskyborn.plot.vector_keyfor the reference-vector annotation artist
-
Replaced wildcard plotting exports with an explicit
skyborn.plotpublic API. -
Added type annotations to the renamed public plotting entry points and key artist class.
-
Updated plotting tests, examples, and documentation to the new curly-vector API only.
Climate Change - Climate Data Processing and Analysis
- Fortran
Published by QianyeSu 11 days ago
goat - v2.4.12 Bugfix Release
This release is a maintenance update addressing various issues identified since the 2.4.11 release. It does not introduce any new major features, but focuses solely on improving stability and reliability.
What's Changed
- Bug fixing and extending dashboard by @EPajares in https://github.com/plan4better/goat/pull/3672
- fix(web): use ListboxProps instead of slotProps.listbox for MUI Autoc… by @EPajares in https://github.com/plan4better/goat/pull/3673
Full Changelog: https://github.com/plan4better/goat/compare/v2.4.11...v2.4.12
Consumption - Mobility and Transportation
- TypeScript
Published by majkshkurti 11 days ago
wind-up - v0.4.8
What's Changed
- Limit the maximum pre-period end date to upgrade date by @samuelwnaylor in https://github.com/resgroup/wind-up/pull/88
- Fix legend and alpha of exclusion periods in config timeline plot by @samuelwnaylor in https://github.com/resgroup/wind-up/pull/89
- Fix legend position config timeline plot by @samuelwnaylor in https://github.com/resgroup/wind-up/pull/90
- Bump patch version by @samuelwnaylor in https://github.com/resgroup/wind-up/pull/91
Full Changelog: https://github.com/resgroup/wind-up/compare/v0.4.7...v0.4.8
Renewable Energy - Wind Energy
- Python
Published by samuelwnaylor 11 days ago
Climate and Energy Policy Ontology - v0.1.0
Most important additions and changes relate to the following topics:
Main developers: @silviaweko @amanda-wein @Ludee
A comprehensive list of additions, changes and deletions can be found at CHANGELOG.md
Sustainable Development - Taxonomy and Ontology
Published by Ludee 12 days ago
Global Biotic Interactions -
Features
n/a
Improvements
n/a
Bugs
- apply target/source schema naming convention; support resolving multi…
…layer primary-foreign-key links https://github.com/globalbioticinteractions/globalbioticinteractions/issues/1154 enables the resolving of sourceTaxonName through Catalogue of Life Data Package Relation - SpeciesInteraction -> Taxon -> Name tables.
Biosphere - Biodiversity Data Access and Management
- Java
Published by jhpoelen 12 days ago
GEEST - v2.0.2 - Stability Fixes
Version 2.0.2 - Stability Fixes
Bug Fixes
- Fixed QGIS crashes in ACLED workflow by adding context and feedback to processing.run calls
- Fixed thread-safety issues in workflow_base.py processing operations
- Fixed ID handling in aggregation workflow to handle spaces in names
Improvements
- Added logging for masked raster path checking in aggregation workflow
- Cleaned up duplicate environment variables in start script
- Added tailspin package for log viewing
Full Changelog: https://github.com/worldbank/GeoE3/compare/v2.0.1...v2.0.2
Energy Systems - Energy Data Accessibility and Integration
- Python
Published by timlinux 12 days ago
Whisp - Release v1.3.2
🚀 What's New
This release removes the catalog selector from the GeoID submission UI in favor of a configured default, restores the download-csv endpoint for backward compatibility, and adds input validation to reject empty or zero-feature submit requests.
🔧 Issues Resolved in This Release
- [Submit Endpoints] Add validation for empty/0 features submit requests (#139)
- [Export] Readd the download-csv endpoint for backward compatibility (#137)
- [Submit GeoId] Disable the catalog dropdown and have it fixed to the default value (#136)
Biosphere - Deforestation and Reforestation
- TypeScript
Published by github-actions[bot] 12 days ago
GHEDesigner - GHEDesigner v2.1.1
What's Changed
- Pin numpy to <2.4 to avoid x86-64-v2 errors on CI by @axelstudios in https://github.com/BETSRG/GHEDesigner/pull/165
Full Changelog: https://github.com/BETSRG/GHEDesigner/compare/v2.1.0...v2.1.1
Renewable Energy - Geothermal Energy
- Python
Published by axelstudios 12 days ago
ClimaSeaIce.jl - v0.4.6
ClimaSeaIce v0.4.6
This release has been identified as a backport.
Automated changelogs for backports tend to be wildly incorrect.
Therefore, the list of issues and pull requests is hidden.
Cryosphere - Sea Ice
- Julia
Published by github-actions[bot] 12 days ago
CHAP - chap-api-0.1.7
CHAP API - REST API Deployment
Climate Change - Climate Data Processing and Analysis
- Python
Published by github-actions[bot] 12 days ago
Power Grid Model - v1.13.42
What's Changed
Bug fixes
- [bug] Output irrelevant components by @figueroa1395 in https://github.com/PowerGridModel/power-grid-model/pull/1354
Full Changelog: https://github.com/PowerGridModel/power-grid-model/compare/v1.13.41...v1.13.42
Energy Systems - Grid Analysis and Planning
- C++
Published by github-actions[bot] 12 days ago
CHAP - chap-api-0.1.6
CHAP API - REST API Deployment
Climate Change - Climate Data Processing and Analysis
- Python
Published by github-actions[bot] 12 days ago
CHAP - chap-db-0.1.3
CHAP PostgreSQL database (CloudNativePG)
Climate Change - Climate Data Processing and Analysis
- Python
Published by github-actions[bot] 12 days ago
CHAP - chap-api-0.1.5
CHAP API - REST API Deployment
Climate Change - Climate Data Processing and Analysis
- Python
Published by github-actions[bot] 12 days ago
uslci-content - USLCI v1.2026-03.0
This USLCI Database release is Version 1 of the USLCI spring 2026 release (v1.2026-03.0). This USLCI database version is available on the NLR USLCI repo of the Federal LCA Commons Collaboration Server (FLCAC) as well as via the USLCI Release Downloads page of this GitHub site.
Overview of v1.2026-03.0 Changes:
- Added 122 stationary combustion processes from National Energy Technology Laboratory (NETL). These processes incorporate combustion emissions data from EPA's WebFIRE database across 4 fuels (diesel, gasoline, kerosene, and natural gas) in a variety of stationary equipment, including emissions control options.
- Added 52 nonroad/mobile combustion processes from EPA’s MOVES model. A subset of equipment types was selected based on EPA’s Regulations for Emissions from Heavy Equipment with Compression-Ignition (Diesel) Engines and Regulations for Emissions from Heavy Equipment with Spark-Ignition Engines, and several essential equipment used in agriculture, underground mining, airport/railway support operations, and lawn/garden applications. The reference flow for these processes is operation consuming 1 MJ of fuel, with additional flow properties enabling representation of 1 hour of operation. See uslci-moves for more details.
- Added updated PET and PTA data for plastics from the National Association for PET Container Resources (NAPCOR).
- Updated natural gas mixing processes using 2024 EIA data. The shares of natural gas produced by each extraction method (onshore, offshore, coalbed methane, Barnett shale, and Marcellus shale) were revised to reflect 2024 US production percentages. The allocation of natural gas processing between shale and conventional sources was also updated accordingly.
- Added mixing processes for container ships and chemical tankers which represent an estimated mixture of routes for goods in the US. Incorporated updated marine transport processes (from v1.2025-12.0) to replace deprecated ocean freighter transport processes.
- Replaced fuel transport exchanges with a fuel dispensed at pump exchange in several transport processes to align fuel distribution approaches.
As a reminder, in Q2 2024 the USLCI curation team introduced the FLCAC Electricity Baseline repository as a library to the USLCI database to enhance the quality of electricity processes for background data use. The Data Curators have also developed a standardized, repository-level version format for FLCAC repositories. Starting in June 2024, previous versions of USLCI are now stored on the FLCAC under the ‘Version’ dropdown. As of December 2024, a change log between versions is now available on the FLCAC.
The version of the Electricity Baseline that is currently a library in USLCI has been adapted from the public version of the repository. Documentation on this adaptation is provided here. The database from which the library has been generated from can be downloaded here.
Change Log, Versioning, & Data Submission
Please see the complete Change Log for details of all spring 2026 updates. Additionally, please note that current and deleted datasets are always also available in an archive managed by NLR (wherein current and previous USLCI database versions are available) at the USLCI Downloads Page. Finally, please see the FLCAC Submission Handbook and/or contact the contact the USLCI Data Curator if you have any data/metadata publishing goals for the next Summer 2026 release date. We look forward to hearing from you soon.
Industrial Ecology - Life Cycle Assessment
Published by pweiler22 12 days ago
Power Grid Model - v1.13.41
What's Changed
Features and improvements
- Code quality: sonar cloud warnings by @mgovers in https://github.com/PowerGridModel/power-grid-model/pull/1353
Full Changelog: https://github.com/PowerGridModel/power-grid-model/compare/v1.13.40...v1.13.41
Energy Systems - Grid Analysis and Planning
- C++
Published by github-actions[bot] 12 days ago
Power Grid Model - v1.13.40
What's Changed
Features and improvements
- Reduce shared ptr use: ybus input by @mgovers in https://github.com/PowerGridModel/power-grid-model/pull/1350
Full Changelog: https://github.com/PowerGridModel/power-grid-model/compare/v1.13.39...v1.13.40
Energy Systems - Grid Analysis and Planning
- C++
Published by github-actions[bot] 12 days ago
icechunk - v2.0.0-alpha.6
What's Changed
- ci: pin all GitHub Actions to commit SHAs by @samantha-earthmover in https://github.com/earth-mover/icechunk/pull/1908
- Use manifest_files_v2 field in the flatbuffers by @paraseba in https://github.com/earth-mover/icechunk/pull/1909
- Move all dependencies to workspace, use workspace=true in members by @li-em in https://github.com/earth-mover/icechunk/pull/1912
- Introduce a mechanism for unconditional repo info write by @paraseba in https://github.com/earth-mover/icechunk/pull/1915
- Bump Rust icechunk to alpha.5 by @paraseba in https://github.com/earth-mover/icechunk/pull/1916
- Bump all rust crates by @paraseba in https://github.com/earth-mover/icechunk/pull/1918
- Do eager tracking of moves by @ianhi in https://github.com/earth-mover/icechunk/pull/1910
- Stateful test for parallel sessions by @dcherian in https://github.com/earth-mover/icechunk/pull/1018
- Check for some important conflicts on session merge by @paraseba in https://github.com/earth-mover/icechunk/pull/1815
- Bump the rust-dependencies group with 4 updates by @dependabot[bot] in https://github.com/earth-mover/icechunk/pull/1923
- Hypothesis Test Improve + new inspection functions by @ianhi in https://github.com/earth-mover/icechunk/pull/1920
- Update build targets: drop python 3.11; support free-threading by @ianhi in https://github.com/earth-mover/icechunk/pull/1905
- Fix stubtest: mark dunder method params as positional-only by @dcherian in https://github.com/earth-mover/icechunk/pull/1936
- added support for str, repr and repr_html by @jayendra13 in https://github.com/earth-mover/icechunk/pull/1490
- Add node ID and type to transaction log, clarify move ordering by @li-em in https://github.com/earth-mover/icechunk/pull/1919
- Bump to 2.0.0-alpha.6 by @dcherian in https://github.com/earth-mover/icechunk/pull/1941
- Bump remaining crates to 2.0.0-alpha.6 by @dcherian in https://github.com/earth-mover/icechunk/pull/1942
- Test format readability with Python libraries by @dcherian in https://github.com/earth-mover/icechunk/pull/1939
New Contributors
- @jayendra13 made their first contribution in https://github.com/earth-mover/icechunk/pull/1490
Full Changelog: https://github.com/earth-mover/icechunk/compare/v2.0.0-alpha.4...v2.0.0-alpha.6
Climate Change - Climate Data Standards
- Rust
Published by mpiannucci 12 days ago
Power Grid Model - v1.13.39
What's Changed
Features and improvements
- Links into nodes: post processing algorithm - Reduced echelon form by @figueroa1395 in https://github.com/PowerGridModel/power-grid-model/pull/1326
Full Changelog: https://github.com/PowerGridModel/power-grid-model/compare/v1.13.38...v1.13.39
Energy Systems - Grid Analysis and Planning
- C++
Published by github-actions[bot] 12 days ago
CHAP - chap-api-0.1.4
CHAP API - REST API Deployment
Climate Change - Climate Data Processing and Analysis
- Python
Published by github-actions[bot] 12 days ago
CHAP - chap-api-0.1.2
CHAP API - REST API Deployment
Climate Change - Climate Data Processing and Analysis
- Python
Published by github-actions[bot] 13 days ago
ALUMET - v0.9.4 – with carbon footprint
Summary
This release introduces new plugins for the estimation of energy consumption and carbon footprint: energy-estimation-tdp v2 and energy-to-carbon. Another new plugin, filter, will help you to select which metrics you want to export.
Regarding the core, flush on demand has been implemented, which will be useful in multiple cases. See the doc of the control module.
As usual, we have taken your feature requests and bug reports into account.
Thanks to everyone who contributed to this version!
New Features
- feat(plugins/slurm): make JobMonitoringLevel for better code maintainability by @AngeCyp in https://github.com/alumet-dev/alumet/pull/374
- feat(plugins/amd-gpu): AMD GPU plugin integration + tests by @victoryeagle77 in https://github.com/alumet-dev/alumet/pull/314
- feat(core): Implement flush on demand by @TheElectronWill in https://github.com/alumet-dev/alumet/pull/369
- feat(core): implement reset of the state of a source by @ahuret in https://github.com/alumet-dev/alumet/pull/354
- feat(plugins/energy-to-carbon): New Transform Plugin by @ValentinCB in https://github.com/alumet-dev/alumet/pull/370
- feat(plugins/filter): new transform to filter metric sent downstream by @ahuret in https://github.com/alumet-dev/alumet/pull/358
- feat(plugins/amd-gpu): Refactoring with more abstracted types from wrapper by @victoryeagle77 in https://github.com/alumet-dev/alumet/pull/362
- feat(plugins/amd-gpu): Updates for the new wrapper by @victoryeagle77 in https://github.com/alumet-dev/alumet/pull/364
- feat(plugins/procfs): Allow to measure Pss for processes by @TheElectronWill in https://github.com/alumet-dev/alumet/pull/350
- feat: Implement reset method for plugins rapl,cgroups,grace-hopper,nvml by @ahuret in https://github.com/alumet-dev/alumet/pull/355
- feat(plugins/energy-estimation-tdp): Energy estimation TDP v2 plugin by @guigomcha in https://github.com/alumet-dev/alumet/pull/334
Bugfixes
- Fix timeout errors on shutdown when there are sources with a large interval by @TheElectronWill in https://github.com/alumet-dev/alumet/pull/349
- fix: disable temporarily amd-gpu plugin by @titouanj in https://github.com/alumet-dev/alumet/pull/359
- fix: use the event bus to notify the process is important by @AngeCyp in https://github.com/alumet-dev/alumet/pull/361
- fix(agent): propagate the thread settings properly by @TheElectronWill in https://github.com/alumet-dev/alumet/pull/363
- fix(core): switch to TaskState::Run after TaskState::RunFlush by @TheElectronWill in https://github.com/alumet-dev/alumet/pull/371
- fix(plugins/amd-gpu): specify the git tag in the wrapper dependency by @TheElectronWill in https://github.com/alumet-dev/alumet/pull/366
- fix(plugins/procfs): fix the unit of the system memory metrics by @TheElectronWill in https://github.com/alumet-dev/alumet/pull/352
Misc
- docs(procfs): add line about capabilities for memory mode by @titouanj in https://github.com/alumet-dev/alumet/pull/357
- Tests for the NVML plugin by @TheElectronWill in https://github.com/alumet-dev/alumet/pull/365
New Contributors
- @ValentinCB made their first contribution in https://github.com/alumet-dev/alumet/pull/370
Full Changelog: https://github.com/alumet-dev/alumet/compare/v0.9.3...v0.9.4
Consumption - Computation and Communication
- Rust
Published by TheElectronWill 13 days ago
CHAP - chap-db-0.1.2
CHAP PostgreSQL database (CloudNativePG)
Climate Change - Climate Data Processing and Analysis
- Python
Published by github-actions[bot] 13 days ago
Hydrocron - 1.7.0rc18
Full Changelog: https://github.com/podaac/hydrocron/compare/1.7.0rc17...1.7.0rc18
Hydrosphere - Ocean and Hydrology Data Access
- Python
Published by github-actions[bot] 13 days ago
Hydrocron - 1.7.0rc17
Full Changelog: https://github.com/podaac/hydrocron/compare/1.7.0rc16...1.7.0rc17
Hydrosphere - Ocean and Hydrology Data Access
- Python
Published by github-actions[bot] 13 days ago
openfoodnetwork - v5.4.8 Green Cury
What's Changed
User-facing changes 👀
- Create linked variants by @dacook in https://github.com/openfoodfoundation/openfoodnetwork/pull/13912
- Fix inline error style in Add Manager dialog by @mvanhorn in https://github.com/openfoodfoundation/openfoodnetwork/pull/14061
- Fix: unify font-family across all .button elements by @gbathree in https://github.com/openfoodfoundation/openfoodnetwork/pull/14075
- Credit customers via Taler by @mkllnk in https://github.com/openfoodfoundation/openfoodnetwork/pull/13962
- Fix Products search timing out when creating a new subscription by @chahmedejaz in https://github.com/openfoodfoundation/openfoodnetwork/pull/14091
- Use real currency for Taler payments unless using demo backend by @mkllnk in https://github.com/openfoodfoundation/openfoodnetwork/pull/14101
- Fix authorization for removing enterprise managers for non-admins by @chahmedejaz in https://github.com/openfoodfoundation/openfoodnetwork/pull/14084
API changes ⚠️
- Add order number to Payment webhook payload by @mvanhorn in https://github.com/openfoodfoundation/openfoodnetwork/pull/14060
Technical changes 🛠️
- [Spec] Fix flaky order cycle spec by @rioug in https://github.com/openfoodfoundation/openfoodnetwork/pull/14078
- Fix specs after taler gem update by @mkllnk in https://github.com/openfoodfoundation/openfoodnetwork/pull/14106
Dependencies 📦
- Bump taler from 0.2.0 to 0.3.0 by @dependabot[bot] in https://github.com/openfoodfoundation/openfoodnetwork/pull/14064
- Bump i18n-tasks from 1.0.15 to 1.1.2 by @dependabot[bot] in https://github.com/openfoodfoundation/openfoodnetwork/pull/14079
- Bump private_address_check from 0.5.0 to 0.6.0 by @dependabot[bot] in https://github.com/openfoodfoundation/openfoodnetwork/pull/14086
- Bump haml from 6.3.0 to 7.2.0 by @dependabot[bot] in https://github.com/openfoodfoundation/openfoodnetwork/pull/14087
- Bump @babel/runtime from 7.28.6 to 7.29.2 by @dependabot[bot] in https://github.com/openfoodfoundation/openfoodnetwork/pull/14095
- Bump puffing-billy from 4.0.2 to 4.0.4 by @dependabot[bot] in https://github.com/openfoodfoundation/openfoodnetwork/pull/14097
- Bump bugsnag from 6.28.0 to 6.29.0 by @dependabot[bot] in https://github.com/openfoodfoundation/openfoodnetwork/pull/14098
- Bump @babel/preset-env from 7.29.0 to 7.29.2 by @dependabot[bot] in https://github.com/openfoodfoundation/openfoodnetwork/pull/14096
- Bump undercover from 0.8.3 to 0.8.4 by @dependabot[bot] in https://github.com/openfoodfoundation/openfoodnetwork/pull/14102
- Bump webmock from 3.26.1 to 3.26.2 by @dependabot[bot] in https://github.com/openfoodfoundation/openfoodnetwork/pull/14103
- Bump picomatch from 2.3.1 to 2.3.2 by @dependabot[bot] in https://github.com/openfoodfoundation/openfoodnetwork/pull/14104
New Contributors
- @mvanhorn made their first contribution in https://github.com/openfoodfoundation/openfoodnetwork/pull/14061
- @gbathree made their first contribution in https://github.com/openfoodfoundation/openfoodnetwork/pull/14075
Full Changelog: https://github.com/openfoodfoundation/openfoodnetwork/compare/v5.4.7...v5.4.8
Green curry is a variety of curry originating from central Thailand. This is a curry based on coconut milk and fresh green chilies, the colour comes out creamy mild green or, as this colour is called in Thai, 'sweet green'.

Consumption - Agriculture and Nutrition
- Ruby
Published by rioug 13 days ago
Hydrocron - 1.7.0rc16
Full Changelog: https://github.com/podaac/hydrocron/compare/1.7.0rc14...1.7.0rc16
Hydrosphere - Ocean and Hydrology Data Access
- Python
Published by github-actions[bot] 13 days ago
Better Thermostat - 1.8.0 Beta 15
Breaking Changes:
- No support for BT UI Card < 3.0
- Eco Mode Services Removed, we use Presets for all kind of modes, inc. Eco mode.
Main Changes:
WIP This is not the complete list, there are more changes.
-
New Features
- Added configurable preset temperatures (eco, away, boost, comfort, home, sleep, activity).
- Introduced advanced calibration algorithms: MPC Predictive, PID Controller, TPI Controller.
- New number entities for PID parameter tuning per TRV.
- New switches for PID auto-tune and child-lock control.
- Added sensor entities for external temperature filtering, heating power, heat loss, and algorithm diagnostics.
- New services: run valve maintenance and reset PID learnings.
- TRV "ignore_trv_states" option to prevent unwanted state adoption.
-
Improvements
- Dynamic algorithm-aware sensors that auto-create and clean up related entities.
- Safer, more robust device handling, reduced redundant commands, and improved boost/safety valve behavior.
- README/docs and UI text streamlined.
- Improved robustness in None-state handling across adapters.
- Enhanced temperature filtering with exponential moving average.
- Better calibration offset handling for SELECT and NUMBER entities.
-
Bug Fixes
- Aggressive calibration now skips inappropriate tolerance adjustments; improved calibration value parsing.
- Use language-independent identifiers to find the releated entities to prevent erros in missing controls valve / offset / etc.
-
Chores
- Switched from Black/Flake8 to Ruff for code linting and formatting.
- Updated minimum Home Assistant version to 2024.12.0.
- Added comprehensive test coverage and updated translations.
What's Changed
- [EL] Create el.json added Greek Translation by @apo-mak in https://github.com/KartoffelToby/better_thermostat/pull/1618
- add "temperatur_offset" as a possible offset entity by @DavidBadura in https://github.com/KartoffelToby/better_thermostat/pull/1623
- Feature/refactor by @wtom in https://github.com/KartoffelToby/better_thermostat/pull/1662
- Add configurable preset temperatures for comprehensive scheduler-card integration by @Copilot in https://github.com/KartoffelToby/better_thermostat/pull/1639
- Fix infinite loop and prevent control operations when TRV becomes unavailable by @Copilot in https://github.com/KartoffelToby/better_thermostat/pull/1666
- Fix infinite wait loop on startup by zeroing out local_temperature_calibration when unavailable by @Copilot in https://github.com/KartoffelToby/better_thermostat/pull/1665
- Fix KeyError: 'advanced' when adding new devices in v1.7.1beta3 by @Copilot in https://github.com/KartoffelToby/better_thermostat/pull/1669
- Fix/hvac mode by @wtom in https://github.com/KartoffelToby/better_thermostat/pull/1670
- refactor by @wtom in https://github.com/KartoffelToby/better_thermostat/pull/1686
- Add Italian translations for Better Thermostat by @echopage1964 in https://github.com/KartoffelToby/better_thermostat/pull/1689
- Use new Weather API as the old one has been removed by @Skyslycer in https://github.com/KartoffelToby/better_thermostat/pull/1682
- Add retries to delegate.py by @imbaczek in https://github.com/KartoffelToby/better_thermostat/pull/1619
- Implement HVAC mode tolerance handling by @tasomaniac in https://github.com/KartoffelToby/better_thermostat/pull/1711
- [TASK] implement eco mode and fix some main code by @KartoffelToby in https://github.com/KartoffelToby/better_thermostat/pull/1721
- Fix ECO mode using separate saved temperature variable to avoid conflicts by @Copilot in https://github.com/KartoffelToby/better_thermostat/pull/1722
- Fix sets option flow config_entry explicitly, which is deprecated in 2025.12 by @KartoffelToby in https://github.com/KartoffelToby/better_thermostat/pull/1726
- MPC calibration mode by @wtom in https://github.com/KartoffelToby/better_thermostat/pull/1727
- Feature/tpi by @wtom in https://github.com/KartoffelToby/better_thermostat/pull/1751
- pi_heating_demand valve control by @wtom in https://github.com/KartoffelToby/better_thermostat/pull/1741
- Add Turkish translation support by @muminkoykiran in https://github.com/KartoffelToby/better_thermostat/pull/1743
- Fix crash when calibration offset is unknown or invalid by @carlosbaraza in https://github.com/KartoffelToby/better_thermostat/pull/1738
- Preset Modes by @KartoffelToby in https://github.com/KartoffelToby/better_thermostat/pull/1732
- bugfixes by @wtom in https://github.com/KartoffelToby/better_thermostat/pull/1757
- Feature/mpc tuning by @wtom in https://github.com/KartoffelToby/better_thermostat/pull/1759
- Feature/mpc tuning2 by @wtom in https://github.com/KartoffelToby/better_thermostat/pull/1769
- Fix AI Time Based mode broken by unbounded heating_power learning by @Copilot in https://github.com/KartoffelToby/better_thermostat/pull/1763
- feat: Add degraded mode for unavailable optional sensors by @cl445 in https://github.com/KartoffelToby/better_thermostat/pull/1764
- general bugfix by @wtom in https://github.com/KartoffelToby/better_thermostat/pull/1775
- mpc tuning by @wtom in https://github.com/KartoffelToby/better_thermostat/pull/1776
- Fix NoneType errors in calibration initialization and control_queue task cleanup by @Copilot in https://github.com/KartoffelToby/better_thermostat/pull/1778
- allow to run mpc and tpi compute while window open by @wtom in https://github.com/KartoffelToby/better_thermostat/pull/1779
- config_flow bugfixes, sensors and input numbers for PID, eco temperat… by @wtom in https://github.com/KartoffelToby/better_thermostat/pull/1780
- Fix climate.set_temperature not working when thermostat is OFF by @Copilot in https://github.com/KartoffelToby/better_thermostat/pull/1782
- Improve algorithm descriptions: user-friendly UI text and comprehensive documentation by @Copilot in https://github.com/KartoffelToby/better_thermostat/pull/1786
- Remove front matter from algorithms.md by @wtom in https://github.com/KartoffelToby/better_thermostat/pull/1787
- mpc penalties by @wtom in https://github.com/KartoffelToby/better_thermostat/pull/1788
- mpc eco penalty by @wtom in https://github.com/KartoffelToby/better_thermostat/pull/1793
- Update sk.json by @misa1515 in https://github.com/KartoffelToby/better_thermostat/pull/1783
- Fix NoneType AttributeError when entities are unavailable by @cl445 in https://github.com/KartoffelToby/better_thermostat/pull/1800
- Fix apply_pid_defaults in reset_learned_pid_state service by @cl445 in https://github.com/KartoffelToby/better_thermostat/pull/1799
- Remove unused imports and variables by @cl445 in https://github.com/KartoffelToby/better_thermostat/pull/1797
- Fix type errors and incorrect API usage by @cl445 in https://github.com/KartoffelToby/better_thermostat/pull/1796
- Fix preset modes not available when config has empty list by @cl445 in https://github.com/KartoffelToby/better_thermostat/pull/1815
- Add minimum Home Assistant version to manifest by @cl445 in https://github.com/KartoffelToby/better_thermostat/pull/1807
- Fix wrong battery entity selected for grouped window sensors by @cl445 in https://github.com/KartoffelToby/better_thermostat/pull/1816
- Fix grouped TRV calibration not updating all TRVs by @cl445 in https://github.com/KartoffelToby/better_thermostat/pull/1814
- Fix infinite loop when TRV is unavailable by @cl445 in https://github.com/KartoffelToby/better_thermostat/pull/1813
- Fix wrong model detection from Z2M by @cl445 in https://github.com/KartoffelToby/better_thermostat/pull/1806
- fix: preserve temperature precision in convert_to_float by @cl445 in https://github.com/KartoffelToby/better_thermostat/pull/1805
- Fix cooler entity min/max temp not considered in range calculation by @cl445 in https://github.com/KartoffelToby/better_thermostat/pull/1810
- Fix TRV staying at min temp after window closes by @cl445 in https://github.com/KartoffelToby/better_thermostat/pull/1808
- mpc eco penalty by @wtom in https://github.com/KartoffelToby/better_thermostat/pull/1821
- Valve Based Calibration Type and Config flow improve by @KartoffelToby in https://github.com/KartoffelToby/better_thermostat/pull/1795
- chore: migrate from black/flake8/pyupgrade to ruff by @cl445 in https://github.com/KartoffelToby/better_thermostat/pull/1801
- chore: fix all ruff linter errors by @cl445 in https://github.com/KartoffelToby/better_thermostat/pull/1804
- fix: apply system_mode logic in fallback mode by @cl445 in https://github.com/KartoffelToby/better_thermostat/pull/1809
- Quickfix: revert unsupported homeassistant key in manifest.json by @cl445 in https://github.com/KartoffelToby/better_thermostat/pull/1822
- Fix PID tests and add Hold-Time tests by @cl445 in https://github.com/KartoffelToby/better_thermostat/pull/1824
- Reduce outdoor sensor warning noise during startup by @cl445 in https://github.com/KartoffelToby/better_thermostat/pull/1826
- Add off_temperature attribute to climate entity with test coverage by @Copilot in https://github.com/KartoffelToby/better_thermostat/pull/1843
- TRVZB by @wtom in https://github.com/KartoffelToby/better_thermostat/pull/1861
- mpc loss by @wtom in https://github.com/KartoffelToby/better_thermostat/pull/1877
- small fixes by @wtom in https://github.com/KartoffelToby/better_thermostat/pull/1889
- fix: ignore TRV target temp changes during active communication by @cl445 in https://github.com/KartoffelToby/better_thermostat/pull/1882
- fix: change HEAT to HEAT_MODE if not in available modes by @alawresz in https://github.com/KartoffelToby/better_thermostat/pull/1880
- fix: don't update cooler state if no change is needed by @alawresz in https://github.com/KartoffelToby/better_thermostat/pull/1879
- fix: translate HEAT_COOL mode on TRVs when AC entity is connected by @alawresz in https://github.com/KartoffelToby/better_thermostat/pull/1878
- Fix issue with translated entities use translation_key by @KartoffelToby in https://github.com/KartoffelToby/better_thermostat/pull/1896
- feature/dynamic entity cleanup by @KartoffelToby in https://github.com/KartoffelToby/better_thermostat/pull/1897
- Fix aggressive calibration not applied in hysteresis band by @cl445 in https://github.com/KartoffelToby/better_thermostat/pull/1823
- fix: implement HA best practices for MPC sensor availability by @florianmulatz in https://github.com/KartoffelToby/better_thermostat/pull/1899
- fix: Prevent complex number crash in heating_power_valve_position by @cl445 in https://github.com/KartoffelToby/better_thermostat/pull/1870
- fix: Add boost mode support for available TRVs by @cl445 in https://github.com/KartoffelToby/better_thermostat/pull/1873
- fix: Handle TypeError in check_float for None and invalid types by @cl445 in https://github.com/KartoffelToby/better_thermostat/pull/1869
- fix: import_mpc_state_map drops string and int fields during state restore by @cl445 in https://github.com/KartoffelToby/better_thermostat/pull/1904
- fix: Detect regime change when all prediction errors are identical nonzero by @cl445 in https://github.com/KartoffelToby/better_thermostat/pull/1905
- fix: Extend lock coverage to prevent race conditions in parallel TRV control by @cl445 in https://github.com/KartoffelToby/better_thermostat/pull/1875
- test: Comprehensive MPC controller test coverage by @cl445 in https://github.com/KartoffelToby/better_thermostat/pull/1903
- test: Add comprehensive unit tests for helpers.py by @cl445 in https://github.com/KartoffelToby/better_thermostat/pull/1868
- fix: Improve type hints for mypy compliance by @cl445 in https://github.com/KartoffelToby/better_thermostat/pull/1867
- [TASK] fix timeout and tolerance bugs by @KartoffelToby in https://github.com/KartoffelToby/better_thermostat/pull/1909
- fix: Reduce false degraded-mode warnings during startup by @cl445 in https://github.com/KartoffelToby/better_thermostat/pull/1907
- test: Add unit tests for utils/controlling.py by @cl445 in https://github.com/KartoffelToby/better_thermostat/pull/1871
- fix: resolve mypy errors in test_mpc_comprehensive.py by @cl445 in https://github.com/KartoffelToby/better_thermostat/pull/1913
- refactor: Add unified StateManager for runtime state persistence by @cl445 in https://github.com/KartoffelToby/better_thermostat/pull/1914
- Fix: Enable decimal temperature input for preset number entities by @florianmulatz in https://github.com/KartoffelToby/better_thermostat/pull/1922
- fix: prevent AttributeError crash when TRV event delivers None state by @cl445 in https://github.com/KartoffelToby/better_thermostat/pull/1926
- fix: enforce debounce interval in temperature accept condition by @cl445 in https://github.com/KartoffelToby/better_thermostat/pull/1931
- fix: enforce cooltemp > target_temp invariant in TRV setpoint sync by @cl445 in https://github.com/KartoffelToby/better_thermostat/pull/1927
- fix: allow no_off_system_mode TRVs to recover from OFF state by @cl445 in https://github.com/KartoffelToby/better_thermostat/pull/1928
- fix: restore significance threshold to filter sensor noise by @cl445 in https://github.com/KartoffelToby/better_thermostat/pull/1930
- refactor: Make compute_mpc() return (output, state) tuple by @cl445 in https://github.com/KartoffelToby/better_thermostat/pull/1915
- refactor: Make compute_pid() and compute_tpi() return state in tuple by @cl445 in https://github.com/KartoffelToby/better_thermostat/pull/1916
- New website by @KartoffelToby in https://github.com/KartoffelToby/better_thermostat/pull/1932
- refactor: Wire StateManager into climate.py, replace four legacy stores by @cl445 in https://github.com/KartoffelToby/better_thermostat/pull/1917
- refactor: DRY sensor.py with base classes, strict typing & cleanup by @cl445 in https://github.com/KartoffelToby/better_thermostat/pull/1944
- test: Add comprehensive test suite for sensor platform by @cl445 in https://github.com/KartoffelToby/better_thermostat/pull/1943
- fix: Catch TypeError in HomematicIP detection loop by @cl445 in https://github.com/KartoffelToby/better_thermostat/pull/1942
- fix: resolve cooler setpoint from each state independently by @cl445 in https://github.com/KartoffelToby/better_thermostat/pull/1940
- fix: clamp heat target to min_temp in cooler setpoint sync by @cl445 in https://github.com/KartoffelToby/better_thermostat/pull/1939
- fix: guard against hass.states.get() returning None in TRV event handler by @cl445 in https://github.com/KartoffelToby/better_thermostat/pull/1937
- Proposal: Extract v0 store migration into dedicated module by @cl445 in https://github.com/KartoffelToby/better_thermostat/pull/1918
- test: Test suite for events/trv.py – 3 bugs found by @cl445 in https://github.com/KartoffelToby/better_thermostat/pull/1925
- test: Edge-case coverage for temperature event handler by @cl445 in https://github.com/KartoffelToby/better_thermostat/pull/1941
- test: Add baseline tests for climate.py by @cl445 in https://github.com/KartoffelToby/better_thermostat/pull/1946
- refactor: Extract thermal learning into utils/thermal_learning.py by @cl445 in https://github.com/KartoffelToby/better_thermostat/pull/1947
- refactor: Extract tolerance-FSM into pure utils/hvac_action.py by @cl445 in https://github.com/KartoffelToby/better_thermostat/pull/1948
- refactor: Extract valve maintenance into utils/valve_maintenance.py by @cl445 in https://github.com/KartoffelToby/better_thermostat/pull/1949
- refactor: Extract startup() into 8 named submethods by @cl445 in https://github.com/KartoffelToby/better_thermostat/pull/1951
- Fix: prevent heating state above target temperature (#1853) by @KrX3D in https://github.com/KartoffelToby/better_thermostat/pull/1955
New Contributors
- @apo-mak made their first contribution in https://github.com/KartoffelToby/better_thermostat/pull/1618
- @DavidBadura made their first contribution in https://github.com/KartoffelToby/better_thermostat/pull/1623
- @Copilot made their first contribution in https://github.com/KartoffelToby/better_thermostat/pull/1639
- @echopage1964 made their first contribution in https://github.com/KartoffelToby/better_thermostat/pull/1689
- @Skyslycer made their first contribution in https://github.com/KartoffelToby/better_thermostat/pull/1682
- @imbaczek made their first contribution in https://github.com/KartoffelToby/better_thermostat/pull/1619
- @muminkoykiran made their first contribution in https://github.com/KartoffelToby/better_thermostat/pull/1743
- @carlosbaraza made their first contribution in https://github.com/KartoffelToby/better_thermostat/pull/1738
- @cl445 made their first contribution in https://github.com/KartoffelToby/better_thermostat/pull/1764
- @alawresz made their first contribution in https://github.com/KartoffelToby/better_thermostat/pull/1880
- @florianmulatz made their first contribution in https://github.com/KartoffelToby/better_thermostat/pull/1899
- @KrX3D made their first contribution in https://github.com/KartoffelToby/better_thermostat/pull/1955
Full Changelog: https://github.com/KartoffelToby/better_thermostat/compare/1.7.0...1.8.0-Beta-15
Consumption - Buildings and Heating
- Python
Published by KartoffelToby 13 days ago
PortalData - 6.61.1
v6.61.1
Biosphere - Biodiversity Data Access and Management
- R
Published by github-actions[bot] 13 days ago
Arena - v2.3.22
What's Changed
- Schema summary: added category level by @SteRiccio in https://github.com/openforis/arena/pull/4170
- Collect data import: fixed import category items from hierarchical big categories by @SteRiccio in https://github.com/openforis/arena/pull/4171
- use latest arena-server (solved dependency evaluation in nested single entities) by @SteRiccio in https://github.com/openforis/arena/pull/4173
- ci(mergify): upgrade configuration to current format by @mergify[bot] in https://github.com/openforis/arena/pull/4172
New Contributors
- @mergify[bot] made their first contribution in https://github.com/openforis/arena/pull/4172
Full Changelog: https://github.com/openforis/arena/compare/v2.3.20...v2.3.22
Biosphere - Biodiversity Citizen Science
- JavaScript
Published by SteRiccio 13 days ago
Hydrocron - 1.7.0rc14
Full Changelog: https://github.com/podaac/hydrocron/compare/1.7.0rc13...1.7.0rc14
Hydrosphere - Ocean and Hydrology Data Access
- Python
Published by github-actions[bot] 13 days ago
Hydrocron - 1.7.0rc13
Full Changelog: https://github.com/podaac/hydrocron/compare/1.7.0rc12...1.7.0rc13
Hydrosphere - Ocean and Hydrology Data Access
- Python
Published by github-actions[bot] 13 days ago
Anker Solix Integration for Home Assistant - 3.5.4
Release 3.5.4
🔆 Support for new Solarbank PPS F3000 Systems and a couple of fixes 🔧
[!IMPORTANT]
🚨 Read the breaking changes before upgrading 🚨
This release implements basic support for new Solarbank PPS F3000 Systems (US Market) and fixes some general integration errors.
It also provides enhancements to Solarbank systems by allowing to control the output power limit through the Api, which enables this limit control also for Power Dock based Solarbank systems. The Grid Export switch behavior also got lots of investigation and debugging, and should now hopefully work for all Solarbank system types which support it. Proper functionality however requires to have a smart meter in the system and MQTT connection enabled for the hub.
Last but not least I want to mention the new library references which I added to additional ressources and and interesting community contribution from moag1000 with his Anker Solix Api exploration documentation. While this may not be perfect, it may be a good starter for inspirations with Api request discoveries.
[!TIP]
Anker released an official HACS integration for device usage via local Modbus interfaces. So far, only Smart Plugs (with required firmware for Modbus interface) are supported, but other devices may be added over time.
[!IMPORTANT]
This project will NOT integrate another 3rd interface, since merging data from 2 interfaces is complex enough and this project is and remains cloud dependent. The Api cloud is not optional, it is mandatory also for MQTT cloud usage. If you need more robust local device interfaces and do not need system related data which is only available in the Api cloud, you need to look into the Solix BLE or Anker's Modbus project.
If controls for your Solix device are missing, they are not discovered or described yet in the MQTT mappings. For MQTT discovery 🔍 and MQTT command descriptions 🧰, follow this guideline using the mqtt_monitor 👀 with the Api library.
Missing descriptions of requested device support are:
- Adding Support for Solix C2000 Gen 2 #460, A1783 Mqtt decoding - SOLIX C2000 Gen2 anker-solix-api issue #269
- Missing controls for A2345, Anker Prime Charger (250W, 6 Ports, GaNPrime) anker-solix-api issue #252
- Solix Cooler devices #364
- Solix X1 Home Energy System anker-solix-api issue #192
- Power Panel Data #447
- Extending solution to the home backup systems with E10 (AX17E1) and optional Power Dock (AX170) Discussion #459, anker-solix-api issue #274
- This is a new system type available in US and uses different Api queries and structures, which also must be discovered and explored by system owners
- Support for Anker Smart Generators anker-solix-api issue #278
- MQTT data for A1782, SOLIX F3000 anker-solix-api discussion #268
- Any control is missing, either via MQTT or unknown Api queries if managed as Solarbank PPS system (US Market)
If nobody will analyze and describe their MQTT messages and provide MQTT command examples, those devices cannot be supported. 🤷
[!TIP]
The monitor tools in the Api library allow MQTT device control for described commands per model. Try it out, and fix or update the command descriptions for your device model if missing or not working properly. In the next release of the integration, I can then implement selected and verified MQTT device control entities for your model as well.
🎉 Enjoy the new Anker Solix device capabilities of this integration🎉
💖And a big THANK YOU to the community and your sponsoring and support to keep this project active. 💖

Enhancements: 📢
-
Enhanced A2345 device support
- Added USB port switch control
- Fixed Real Time trigger button command
-
Added support for Solarbank PPS F3000 system types for US market
- Those systems contain a Smart Meter (A17X7US) and 1-2 F3000 Portable Power Stations (A1783), that can also be regulated automatically like Solarbank devices for European market
- The F3000 PPS can also be used in a mobile manner for camping etc. It provides all capabilities that Anker PPS typically offer.
- The system architecture as well as system data reported through the cloud Api are supported
- MQTT data merge for the PPS F3000 is also provided as far as MQTT messages are described. Those descriptions are still minimalistic and more decoding is required by device owners
- Daily energies for the system as well as a PPS breakdown for daily energies is provided
- The PPS daily energy breakdown data will be provided with the device itself
- Breakdown polling is skipped for single PPS systems since system daily energies reflect the same values
- The US Smart Meter is fully supported for Api and MQTT data
- NO controls are supported yet for this system or the F3000
- MQTT command and state descriptions are still missing
- No cloud Api controls are known for the new system type and it is not clear if there are any.
-
Added support for Output power limit in Multisystems (#423)
- Found new Api control to adjust the output power limit for Solarbank systems that are managed through a station
- Station settings are typically the output limit and the switch to allow grid export
- This new command ensures that now also the output limit change is properly reflected in the Api and the mobile App
- It does not even need the MQTT control, since the required MQTT commands to existing power dock or Solarbank devices under the station settings are pushed by the cloud server
- Solarbank 2 systems not managed through station settings still require MQTT commands for both, the Grid Export switch as well as the output limit change.
[!IMPORTANT]
- Those control entities will only appear if MQTT connection is enabled
- The Grid Export switch may NOT work if there is no Smart Meter installed in the system
- The Grid Export switch seems to work for Multisystems, but the settings in the App station panel do not reflect changes properly. Either there is a bug in the App, or there are unique Api controls for Multisystems, which are unknown.
- Bumped Api library to 3.5.4 to enable full Solarbank PPS support
Breaking changes: 💥
- Updated and added optional device pictures. Follow this installation guidelines if you want to use them as Entity pictures.
- For upgrades from version < 3.4.0, see breaking changes in 3.4.2 release notes
- For upgrades from version < 3.5.0, see breaking changes in 3.5.1 release notes
Fixes 🔨 and other changes: 🔧
-
Ignore invalid Api sensor data if MQTT overlay is enabled and connected to server (#424)
- Api data may be flagged invalid, e.g. if the Solarbank lost its cloud connection. This may cause sensors of other system devices like the Smart Meter and Smart Plugs being flagged invalid as well
- While Api data is being flagged invalid, sensors are typically either not updated or changed to unavailable (this depends on a general setting in the hub Api configuration options)
- Even if valid MQTT data may be available for other connected system devices and MQTT overlay was enabled, those sensors did no longer update
- Invalid Api data is now ignored for sensor updates, if MQTT overlay is enabled and the device is connected to the MQTT server
-
Fix select entity state display if selections are not changeable
- If select entities cannot be modified for any reason but they have a known state, they are initialized with the existing state value as only option, to display at least the active setting to the user
- If the state changes externally, e.g. though the mobile app, the entity value was no longer shown since it was no supported option for the select entity
- A single select option is now updated together with a state change to ensure continuous state display in HA, to properly display external state changes
-
Fix MQTT real time trigger command to be usable without parameters (#470)
- Some devices may use different format of real time trigger command without any parameters
- Code has been enhanced to support such real time trigger commands if they are described for a particular device type
-
Fix AC Input Limit control for PPS (#483)
- This control did always try to use an Api command additionally, which is only required for Solarbank device types
- That Api command failed if the control was from a PPS
-
Avoid stale MQTT data if MQTT subscription or connection drops (#481)
- Code has been added to monitor subscriptions
- Code has been added to clear the MQTT cache data if MQTT subscription or connection is lost
- This will avoid that stale MQTT data may still overlay up to date Api data, if the MQTT connection drops
- This is independent of the MQTT overlay switch state, since there is no more MQTT data that could overlay Api data
-
Fix false MQTT control errors that may appear in the log (#216)
- Example:
Mär 28 21:08:58 GGG[684460]: 2026-03-28 20:08:58.963 ERROR (MainThread) [custom_components.anker_solix] 'switch.solarbank_2_e1600_pro_allow_grid_export' could not be toggled via MQTT command 'sb_disable_grid_export_switch' - The MQTT command actually worked, but an error was always logged if the integration was not running in test mode
- Example:
-
Code refactoring on various places to match new Ruff rules
Full Change log https://github.com/thomluther/ha-anker-solix/compare/3.5.3...3.5.4 and link to previous release notes 3.5.3
General notes: 📋
- MQTT data may get stale if required status messages are not longer published by the device. Some devices publish specific status messages only while their real-time trigger is active. If you overlay MQTT data, the stale MQTT values cannot be refreshed anymore by new Api data, see example in issue #401. This is working as designed, therefore you have the choice whether MQTT data should overlay Api data.
- The device sensor for battery energy is just a theoretical value and calculated by the Api library from calculated (or customized) battery capacity and SOC. Changes of this entity should NOT be considered for the energy dashboard or helper sensors, since this battery energy sensor can never reflect the battery efficiency or capacity loss over time. Furthermore the SOC value may be inaccurate as well since that is difficult to determine for LiFePo batteries.
- I do NOT recommend to use the Anker Solix integration daily energy statistic sensors directly in your energy dashboard, even if that is possible since they are classified as total_increasing sensors. The reasons for that are described in the discussion how to integrate the Solarbank into you energy dashboard. There you can also find the recommended approach for creating the required entities for easiest and most flexible energy dashboard integration. If your device supports aggregated energy values from decoded MQTT data, they may provide a more accurate source for your helper sensors that are recommended to be used in your energy dashboard.
[!TIP]
Anker relaxed the restriction of a single active login token per account. You can now use you owner account in the App and the integration in parallel without disabling the Api switch. See Switching between different Anker Power Accounts to modify your hub configuration entry.
Contribution: 🙌
- YOUR HELP is required if you have new Anker Solix devices or if new features are introduced by Anker and you want them being integrated into HA
- I have no chance to test any Anker devices or explore the cloud Api requests and responses for new devices or features. Since the Api is not official, no documentation exists and the Api library can only be enhanced with your support and willingness to explore and test the Api queries:
- Enhancements may only be possible when exclusive owner access to the system is available.
- But since the system belongs to you and the Api usage is not officially supported, it is up to you to test and verify Api capabilities
- MQTT device data requires decoding of binary data for your owned device type and constellation before they can be consumed
- You need to compare live message decoded values with your mobile App data to properly describe the message data fields
- This must be done under various usage conditions of the device to allow description of most data fields and bytes
- To get started, follow the MQTT data decoding guidelines and MQTT command and state analysis guideline in the Api library
Appreciation: ✨
If you like this integration and you want to show your appreciation for the countless hours spent to enhance and maintain it, I would be happy for a 🍵coffee ☕

Renewable Energy - Photovoltaics and Solar Energy
- Python
Published by thomluther 13 days ago
Hydrocron - 1.7.0rc12
Full Changelog: https://github.com/podaac/hydrocron/compare/1.7.0rc11...1.7.0rc12
Hydrosphere - Ocean and Hydrology Data Access
- Python
Published by github-actions[bot] 13 days ago
Hydrocron - 1.7.0rc11
Full Changelog: https://github.com/podaac/hydrocron/compare/1.7.0rc10...1.7.0rc11
Hydrosphere - Ocean and Hydrology Data Access
- Python
Published by github-actions[bot] 13 days ago
Hydrocron - 1.7.0rc10
Full Changelog: https://github.com/podaac/hydrocron/compare/1.7.0rc8...1.7.0rc10
Hydrosphere - Ocean and Hydrology Data Access
- Python
Published by github-actions[bot] 13 days ago
Hydrocron - 1.7.0rc8
Full Changelog: https://github.com/podaac/hydrocron/compare/1.7.0rc7...1.7.0rc8
Hydrosphere - Ocean and Hydrology Data Access
- Python
Published by github-actions[bot] 13 days ago
Power Grid Model - v1.13.38
What's Changed
Documentation
- Documentation: Relocating algorithmic details from calculations by @Jerry-Jinfeng-Guo in https://github.com/PowerGridModel/power-grid-model/pull/1316
Full Changelog: https://github.com/PowerGridModel/power-grid-model/compare/v1.13.37...v1.13.38
Energy Systems - Grid Analysis and Planning
- C++
Published by github-actions[bot] 13 days ago
Hydrocron - 1.7.0rc7
Full Changelog: https://github.com/podaac/hydrocron/compare/1.7.0rc6...1.7.0rc7
Hydrosphere - Ocean and Hydrology Data Access
- Python
Published by github-actions[bot] 13 days ago
Hydrocron - 1.7.0rc6
Full Changelog: https://github.com/podaac/hydrocron/compare/1.7.0rc5...1.7.0rc6
Hydrosphere - Ocean and Hydrology Data Access
- Python
Published by github-actions[bot] 13 days ago
Power Grid Model - v1.13.37
What's Changed
Features and improvements
- Chore: fix PGM logo rendering on PyPI by @mgovers in https://github.com/PowerGridModel/power-grid-model/pull/1351
Full Changelog: https://github.com/PowerGridModel/power-grid-model/compare/v1.13.36...v1.13.37
Energy Systems - Grid Analysis and Planning
- C++
Published by github-actions[bot] 13 days ago
Power Grid Model - v1.13.36
What's Changed
Features and improvements
- OpenSSF gold badge: apply hardening fixes from #1241 without enabling hardening itself by @mgovers in https://github.com/PowerGridModel/power-grid-model/pull/1348
Full Changelog: https://github.com/PowerGridModel/power-grid-model/compare/v1.13.35...v1.13.36
Energy Systems - Grid Analysis and Planning
- C++
Published by github-actions[bot] 13 days ago
CHAP - chap-worker-0.1.1
CHAP Worker - Celery Worker Deployment
Climate Change - Climate Data Processing and Analysis
- Python
Published by github-actions[bot] 13 days ago
CHAP - chap-db-0.1.1
CHAP PostgreSQL database (CloudNativePG)
Climate Change - Climate Data Processing and Analysis
- Python
Published by github-actions[bot] 13 days ago
CHAP - chap-api-0.1.1
CHAP API - REST API Deployment
Climate Change - Climate Data Processing and Analysis
- Python
Published by github-actions[bot] 13 days ago
CHAP - chap-0.3.1
CHAP (Climate Health Analysis Platform) - Umbrella Chart
Climate Change - Climate Data Processing and Analysis
- Python
Published by github-actions[bot] 13 days ago
Power Grid Model - v1.13.35
What's Changed
Documentation
- Documentation: Improve Power Flow Method Comparisions by @Jerry-Jinfeng-Guo in https://github.com/PowerGridModel/power-grid-model/pull/1306
Full Changelog: https://github.com/PowerGridModel/power-grid-model/compare/v1.13.34...v1.13.35
Energy Systems - Grid Analysis and Planning
- C++
Published by github-actions[bot] 13 days ago
Power Grid Model - v1.13.34
What's Changed
Dependencies
- Refresh lock and linter dependencies by @power-grid-model-ci-bot[bot] in https://github.com/PowerGridModel/power-grid-model/pull/1347
Full Changelog: https://github.com/PowerGridModel/power-grid-model/compare/v1.13.33...v1.13.34
Energy Systems - Grid Analysis and Planning
- C++
Published by github-actions[bot] 14 days ago
GEEST - Release v2.0.1
What's Changed
- Generating Analysis report as background task by @osundwajeff in https://github.com/worldbank/GeoE3/pull/272
- Configure logo does not show on indicators by @osundwajeff in https://github.com/worldbank/GeoE3/pull/273
- NTL data by @osundwajeff in https://github.com/worldbank/GeoE3/pull/280
- Add project-local Neovim configuration with WhichKey menu by @timlinux in https://github.com/worldbank/GeoE3/pull/282
- Add vendored dependency support with h3 library bundling by @timlinux in https://github.com/worldbank/GeoE3/pull/283
- Update the logic for the analysis scale for regional by @osundwajeff in https://github.com/worldbank/GeoE3/pull/284
- Local and National Fixes by @osundwajeff in https://github.com/worldbank/GeoE3/pull/304
- Regional scoring tables and analysis logic by @osundwajeff in https://github.com/worldbank/GeoE3/pull/285
- Bump markdown from 3.7 to 3.8.1 by @dependabot[bot] in https://github.com/worldbank/GeoE3/pull/303
- Bump black from 25.1.0 to 26.3.1 by @dependabot[bot] in https://github.com/worldbank/GeoE3/pull/308
- Local & National Fixes - phase 2 by @osundwajeff in https://github.com/worldbank/GeoE3/pull/305
- Refactor RTYPE assignment to use GDAL_OUTPUT_DATA_TYPE constant by @osundwajeff in https://github.com/worldbank/GeoE3/pull/312
- Rename Geest to GeoE3 by @osundwajeff in https://github.com/worldbank/GeoE3/pull/314
- Docs update geoe3 by @osundwajeff in https://github.com/worldbank/GeoE3/pull/320
- Bump requests from 2.32.4 to 2.33.0 by @dependabot[bot] in https://github.com/worldbank/GeoE3/pull/318
- Revert src project from 'geoe3' to 'geest' by @osundwajeff in https://github.com/worldbank/GeoE3/pull/323
- Update QGIS start scripts to use GEOE3 profile by @timlinux in https://github.com/worldbank/GeoE3/pull/313
- Revert to symlinking geest instead of geoe3 by @timlinux in https://github.com/worldbank/GeoE3/pull/324
- GeoE3 bug fixes & updates by @osundwajeff in https://github.com/worldbank/GeoE3/pull/321
- Update version to 2.0.1 and refine changelog by @osundwajeff in https://github.com/worldbank/GeoE3/pull/328
- fix: streamline git configuration setup in release workflow by @osundwajeff in https://github.com/worldbank/GeoE3/pull/329
- fix: correct command for bundling dependencies in release workflow by @osundwajeff in https://github.com/worldbank/GeoE3/pull/330
- fix: correct safe.directory path in git configuration by @osundwajeff in https://github.com/worldbank/GeoE3/pull/331
Full Changelog: https://github.com/worldbank/GeoE3/compare/v2.0.0...v2.0.1
Energy Systems - Energy Data Accessibility and Integration
- Python
Published by github-actions[bot] 14 days ago
Global Biotic Interactions -
Features
n/a
Improvements
- towards supporting discovery of checklistbank datasets https://github.com/globalbioticinteractions/globalbioticinteractions/issues/753 - introducing (initial) support for indexing species interaction claims from various flavors of Catalogue of Life Data Package produced by TaxonWorks [1], Hobern [2] and the Belgian Biodiversity Platform [3].
Bugs
n/a
References
[1] UCD Community. (2025). Universal Chalcidoidea Database curated in TaxonWorks (Apr 2025). https://doi.org/10.48580/d758p https://www.checklistbank.org/dataset/124661 @mjy @gdower
[2] Hobern, D., & Sattler, K. (2026). Catalogue of World Gelechiidae (D. Hobern & S. Lee, Eds.; 1.1.26.046). https://doi.org/10.48580/d4th https://www.checklistbank.org/dataset/2362 fyi @dhobern
[3] De Prins, J., & De Prins, W. (2026). Afromoths, online database of Afrotropical moth species (Lepidoptera) (Version 2026-03-01). Belgian Biodiversity Platform, Belspo, Brussels, Belgium. https://www.afromoths.net/ https://www.checklistbank.org/dataset/2017 @andrejjh
Biosphere - Biodiversity Data Access and Management
- Java
Published by jhpoelen 14 days ago
ha-evcc - Bugfix release (3'rd try)
Bugfix for priority_soc, buffer_soc, buffer_start_soc selects
As reported in #258 there was a issue with the selects (where the values depend from the other selects), this will be fixed with this release. You can also change the values in evcc and the HA selects will also adjust the value-ranges.
Please consider supporting me
Thanks to those who have already supported me in the past weeks or month that is highly appreciated! To the other users: I am putting quite an amount of energy and passion into this integration. Perhaps you could give yourself a little push (if you can afford it) and become a sponsor.
If you haven't starred this integration in Github yet - please do so - TIA
Consumption - Mobility and Transportation
- Python
Published by marq24 14 days ago
ha-evcc - Bugfix release (2'nd try)
Bugfix for priority_soc, buffer_soc, buffer_start_soc selects
As reported in #258 there was a issue with the selects (where the values depend from the other selects), this will be fixed with this release.
Please consider supporting me
Thanks to those who have already supported me in the past weeks or month that is highly appreciated! To the other users: I am putting quite an amount of energy and passion into this integration. Perhaps you could give yourself a little push (if you can afford it) and become a sponsor.
If you haven't starred this integration in Github yet - please do so - TIA
Consumption - Mobility and Transportation
- Python
Published by marq24 14 days ago
PortalData - 6.61.0
v6.61.0
Biosphere - Biodiversity Data Access and Management
- R
Published by github-actions[bot] 14 days ago
ha-evcc - Bugfix release
Bugfix for priority_soc, buffer_soc, buffer_start_soc selects
As reported in #258 there was a issue with the selects (where the values depend from the other selects), this will be fixed with this release.
Please consider supporting me
Thanks to those who have already supported me in the past weeks or month that is highly appreciated! To the other users: I am putting quite an amount of energy and passion into this integration. Perhaps you could give yourself a little push (if you can afford it) and become a sponsor.
If you haven't starred this integration in Github yet - please do so - TIA
Consumption - Mobility and Transportation
- Python
Published by marq24 14 days ago
CHAP - chap-0.3.0
CHAP (Climate Health Analysis Platform) - Umbrella Chart
Climate Change - Climate Data Processing and Analysis
- Python
Published by github-actions[bot] 14 days ago
CHAP - chap-worker-0.1.0
CHAP Worker - Celery Worker Deployment
Climate Change - Climate Data Processing and Analysis
- Python
Published by github-actions[bot] 14 days ago
CHAP - chap-valkey-0.1.0
CHAP Valkey cache and message broker
Climate Change - Climate Data Processing and Analysis
- Python
Published by github-actions[bot] 14 days ago
CHAP - chap-db-0.1.0
CHAP PostgreSQL database (CloudNativePG)
Climate Change - Climate Data Processing and Analysis
- Python
Published by github-actions[bot] 14 days ago
CHAP - chap-api-0.1.0
CHAP API - REST API Deployment
Climate Change - Climate Data Processing and Analysis
- Python
Published by github-actions[bot] 14 days ago
CHAP - chap-0.2.0
CHAP (Climate Health Analysis Platform) - Umbrella Chart
Climate Change - Climate Data Processing and Analysis
- Python
Published by github-actions[bot] 14 days ago
Skyborn - v0.3.17 (Mar 30, 2026)
v0.3.17
Skyborn v0.3.17 introduces optional CDO integration, expands platform support, and includes several important fixes and performance improvements.
- Added optional CDO integration through the new skyborn.cdo namespace.
- Added official Python 3.14 support across Linux, macOS, and Windows.
- Added manylinux2014 wheel builds for better compatibility with older Linux environments.
- Removed the skyborn.conversion GRIB-to-NetCDF conversion module and its related tests and documentation.
- Fixed numerical drift in the modern spharm Fortran implementation to better match legacy SPHEREPACK behavior.
- Improved windspharm performance by speeding up the modern spharm backend while keeping results equivalent.
Climate Change - Climate Data Processing and Analysis
- Fortran
Published by QianyeSu 14 days ago
Power Grid Model - v1.13.33
What's Changed
Features and improvements
- Unit test not observable network passed through no perturbation by @Jerry-Jinfeng-Guo in https://github.com/PowerGridModel/power-grid-model/pull/1322
Full Changelog: https://github.com/PowerGridModel/power-grid-model/compare/v1.13.32...v1.13.33
Energy Systems - Grid Analysis and Planning
- C++
Published by github-actions[bot] 14 days ago
RangeShiftR - RangeShifter v3.0.0 (R-pkg)
Explicit genetics and new demographic features for modelling eco-evolutionary dynamics
Théo Pannetier, Jette Wolff, Roslyn Henry, Charlotte Bunnenberg, Nicolas Boullis, Damaris Zurell, Justin Travis, Greta Bocedi
Overview of new features
This version introduces
- an extensive rework of the genetics module, allowing for a much greater degree of flexibility in simulating evolutionary dynamics and embedded support for tracking the evolution of genetic diversity.
- spatiotemporally varying demographic rates, allowing fecundity, survival and development to vary across space and time, e.g. in response to environmental conditions or management.
- a management feature to translocate individuals within a simulation run.
- an option for the batch interface to speed up runtime by running reproduction and dispersal of individuals in parallel.
- an option to return the population-level output as R object for the R package interface.
- a function to generate a .docx document including parameter tables of all modules used for a specific parameter master.
For full details, please refer to the updated user manual accompanying this release. For instructions on how to set up simulations, including parameter documentation, please refer to the input spreadsheets for the batch version, and to the help pages for the R package.
Genetics module
The genetics module has been replaced by a new implementation where gene positions are modelled explicitly, allowing for realistic recombination, and linked to the phenotypic traits they control by a user-specified mapping. Genomes are either haploid for asexual populations, or diploid for sexual populations.
- Phenotypic traits and neutral genetics: RangeShifter supports two types of phenotypic traits that can be controlled by genes, dispersal traits and genetic load. In addition, genes can instead be made neutral to allow tracking the evolution of genetic diversity and population differentiation.
- Dispersal: genes can be linked to each parameter controlling the decision to emigrate, to settle in a new patch, and movement between patches (transfer). This allows for selection on dispersal, for example rescue through the evolution of dispersal during a range shift. Dispersal genes can be sex-specific (but not stage-specific).
- Genetic load: alleles for such genes are deleterious mutations and contribute to genetic load, which reduces fitnessthrough survival at birth. RangeShifter supports dominance for diploid organisms, whereby each allele is linked to a dominance coefficient sampled at mutation. The contribution of each deleterious locus is an average of its allelic values weighted by the dominance coefficients. This allows the accumulation of deleterious recessive mutations, enabling the emergence of phenomena such as inbreeding depression or expansion load.
- Neutral genes (alleles with up to 256 different values) are used to compute neutral statistics (see below). Here again, a wide range of distributions is available to specify how mutations are sampled.
- Each type of gene (dispersal, genetic load, neutral) can be supplied its own mutation rate and distribution in which to sample new alleles upon mutation.
- Users may decide to output allele values, although this will often result in enormous output tables. To help with this, RangeShifter supports a method to sample a subset of patches within the landscape and/or a subset of individuals within the patches before printing output. For neutral loci, RangeShifter can additionally compute a range of classic metrics to track genetic diversity and population differentiation. This includes (observed) heterozygosity, local vs global allelic diversity, and F-statistics. F-statistics can be computed globally, for each population, or for each locus.
Translocation
Translocation allows users to move individuals between sites to represent conservation actions such as reintroductions, population reinforcement, or improving connectivity between fragmented habitats.
With this feature, users define translocation events. Each event specifies:
- When the translocation happens (year),
- Where individuals are taken from (source site),
- Where they are moved to (destination site),
- How many individuals are moved, and
- Which individuals are eligible (e.g. by age, stage, or sex).
Users must define at least one translocation event, but they can add as many as needed. Multiple translocations can occur in the same year (for example, between different sites or using different selection criteria) or in different years.
During a translocation year, the model first identifies all individuals in the source site that match the selection criteria. From this group, the specified number of individuals is sampled. If a catching success rate is defined, each sampled individual is only captured with that probability, reflecting imperfect capture success in the field.
Successfully captured individuals are then moved to the destination site. After translocation, these individuals:
- Are assigned the status “translocated” (status 10),
- Do not disperse further, and
- Continue their life cycle in the destination site.
Only individuals that are not already in a transfer phase can be translocated.
Both the source and destination must be valid habitat patches or landscape cells. If either site is not valid, the translocation event is skipped for that year.
Spatiotemporally varying demographic rates
Users can now simulate spatiotemporally varying rates of survival, development, and fecundity through spatial layers of scaling factors similar to the habitat quality maps used for scaling density dependence. This allows demographic rates to vary across space and time, e.g. in response to environmental conditions or management, instead of being constant everywhere. The approach was first introduced for RangeShiftR by Malchow et al. (2024) and is now fully available in both main versions of the command-line interface and R package.
To use this feature, users can provide additional landscape layers that locally scale selected demographic rates. This requires enabling two options introduced in previous versions of RangeShifter, namely:
- using a habitat quality map, and
- having a stage-structured population model.
Each scaling layer contains values between 0 and 100 %, representing how strongly the local environment affects a demographic rate. Users can assign one layer to a specific demographic rate (survival, development, or fecundity) and can also define this stage and sex-specific. For patch-based landscapes, the scaling value of a patch is calculated as the average percentage of all cells within that patch.
If a demographic rate is spatially varying, the demographic rate defined in the transition matrix is treated as the maximum rate in an optimal environment. The local demographic rate is calculated by multiplying this maximum value given in the transition matrix by the local percentage from the assigned scaling layer.
If density dependence is included in the model (via the strength parameter 1/b), it still applies when demographic rates vary spatially. In this case, the model uses the locally scaled values of survival, development, and fecundity as the base rates on which density dependence acts.
For example, the equation for a spatially varying, density-dependent survival rate σi follows
σi = α(x,y,z) · σ(0,i) · e(-Cσ · bNt)
Where α(x,y,z) is the scaling value of the layer z for cell (x, y).
Parallelisation
The batch version of RangeShifter v3.0 now supports parallelisation using OpenMP, currently covering reproduction and dispersal. This feature is turned off by default and can be enabled by building RangeShifter with the OMP macro, e.g. with CMake, cmake -DOMP= (see also the Building RangeShifter-Batch section of the README). In the current release, this feature is not available for the R package.
Minor changes
- A new parameter, FixReplicateSeed, allows all replicates of a simulation to use the same seed (and thereby, unless parallelisation is enabled, the same sequence of random numbers).
- The R package interface now allows to return R objects – either a list of matrices of the population sizes per year/stage or a data.frame() holding the population sizes per year/stage of each patch ID. This functionality is useful to avoid unnecessary file reads during a parameter calibration process. However, with increasing grid sizes, the returned object will require a high amount of memory storage.
- The R package interface now includes a function to create a .docx file, which includes parameter tables for each module.
Biosphere - Ecological and Environmental Modeling
- C++
Published by JetteReeg 15 days ago
goat - v2.4.11 Bugfix Release
This release is a maintenance update addressing various issues identified since the 2.4.10 release. It does not introduce any new major features, but focuses solely on improving stability and reliability.
What's Changed
- feat(dashboard): filter fixes by @EPajares in https://github.com/plan4better/goat/pull/3670
Full Changelog: https://github.com/plan4better/goat/compare/v2.4.10...v2.4.11
Consumption - Mobility and Transportation
- TypeScript
Published by majkshkurti 15 days ago
goat - v2.4.10 Bugfix Release
This release is a maintenance update addressing various issues identified since the 2.4.9 release. It does not introduce any new major features, but focuses solely on improving stability and reliability.
What's Changed
- Extending dashboard functionality by @EPajares in https://github.com/plan4better/goat/pull/3669
Full Changelog: https://github.com/plan4better/goat/compare/v2.4.9...v2.4.10
Consumption - Mobility and Transportation
- TypeScript
Published by majkshkurti 15 days ago