Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 18 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,23 @@
# Changelog

## [3.0.0b9] - 2026-07-16

Beta release over 3.0.0b8 for registry coverage and CI stability.

### Changed
- Station fulllists generated by scans are stored under `OPENBENCH_HOME`,
allowing shared reference roots to remain read-only.
- Expanded bundled model and reference metadata.

### Fixed
- Compute validation now accepts keyword arguments such as `isel(lake=0)`.
- Restored required station-matching metadata and removed incomplete generated
station catalog entries.
- Simulation scanning retains the TE `Albedo` compatibility key.
- NetCDF evaluation writes no longer retain lazy references to closed source
datasets.
- Ruff formatting for the FFT component metric.

## [3.0.0b8] - 2026-07-08

Patch release over 3.0.0b7 for model coverage, audit fixes, and CI stability.
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,7 @@ conda install -c conda-forge colm-openbench
mamba install -c conda-forge colm-openbench # or the faster mamba
```

> **Note:** the current release is a Beta pre-release (`3.0.0b8`) and is **not on
> **Note:** the current release is a Beta pre-release (`3.0.0b9`) and is **not on
> conda-forge yet**. Until it is, use one of the two paths below.

If your platform does not have wheels for geospatial dependencies such as
Expand Down
2 changes: 1 addition & 1 deletion conda/meta.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{% set name = "colm-openbench" %}
{% set dist_name = name|replace("-", "_") %}
{% set version = "3.0.0b8" %}
{% set version = "3.0.0b9" %}

package:
name: {{ name|lower }}
Expand Down
2 changes: 1 addition & 1 deletion src/openbench/__init__.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
"""OpenBench: Open Source Land Surface Model Benchmarking System."""

__version__ = "3.0.0b8"
__version__ = "3.0.0b9"
__author__ = "Zhongwang Wei, CoLM-SYSU"
__title__ = "OpenBench"
__description__ = "Land Surface Model Benchmarking System"
Expand Down
12 changes: 6 additions & 6 deletions src/openbench/cli/model.py
Original file line number Diff line number Diff line change
Expand Up @@ -125,6 +125,7 @@ def _validate_expression(expr: str, *, label: str, allowed_names: set[str] | Non
return
from openbench.data.compute import (
ComputeError,
_split_assignment,
)
from openbench.data.compute import (
_validate_expression as validate_one,
Expand All @@ -137,12 +138,11 @@ def _validate_expression(expr: str, *, label: str, allowed_names: set[str] | Non
# unknown/dangerous identifiers.
active_allowed_names = {"value", "np", *(allowed_names or set())}
for part in parts:
if "=" in part and not part.startswith("("):
target, rhs = part.split("=", 1)
validate_one(rhs.strip(), allowed_names=active_allowed_names)
target = target.strip()
if target.isidentifier():
active_allowed_names.add(target)
assignment = _split_assignment(part)
if assignment is not None:
target, rhs = assignment
validate_one(rhs, allowed_names=active_allowed_names)
active_allowed_names.add(target)
else:
validate_one(part, allowed_names=active_allowed_names)
except ComputeError as exc:
Expand Down
2 changes: 1 addition & 1 deletion src/openbench/core/metrics.py
Original file line number Diff line number Diff line change
Expand Up @@ -1183,7 +1183,7 @@ def FFT_component(sim, obs):
fft_sim = np.fft.rfft(sim)

# Selects the strongest observed Fourier component representing at least two cycles across the record
dominant_freq_idx = np.argmax(np.abs(fft_obs[2 : ])) + 2
dominant_freq_idx = np.argmax(np.abs(fft_obs[2:])) + 2

# Calculate phase difference
phase_obs = np.angle(fft_obs)
Expand Down
7 changes: 2 additions & 5 deletions src/openbench/data/registry/model_catalog.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2582,12 +2582,9 @@ TE:
name: TE
tim_res: Month
variables:
Surface_Albedo:
varname: alb
Albedo:
varname: ALB
varunit: percentage
fallbacks:
- varname: ALB
varunit: percentage
Canopy_Evaporation:
varname: EIFLX
varunit: kg m-2 s-1
Expand Down
Loading
Loading