Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
46 commits
Select commit Hold shift + click to select a range
c5c1a05
latent_space evaluation scripts + propagate verbose
iluise Jan 16, 2026
a4b0f12
lint
iluise Jan 16, 2026
40eccbd
add usage
iluise Jan 16, 2026
3ed01fc
fix log
iluise Jan 21, 2026
2f9f125
Jk/develop/1639 fix shard val forward (#1642)
Jubeku Jan 16, 2026
7c4bb82
Clessig/develop/fix finetuning 1640 (#1641)
clessig Jan 16, 2026
9144c64
Sophiex/dev/synop nppatms finetuning configs (#1644)
sophie-xhonneux Jan 16, 2026
699a8aa
Enable multiple student views for one target for JEPA (#1617)
clessig Jan 16, 2026
88e809d
Fix test for empty targets in decoder creation (#1646)
clessig Jan 17, 2026
9bdd7d0
add regions to integration tests (#1648)
SavvasMel Jan 17, 2026
75df669
Memory pinning (#1615)
clessig Jan 19, 2026
15a8c29
Allows for writing normalized samples; fixed config to keep it well-s…
clessig Jan 20, 2026
9e91220
Skipping missing scores in JSONreader (#1655)
s6sebusc Jan 20, 2026
c191c4f
Remove target type config (#1651)
kacpnowak Jan 23, 2026
c054552
add default streams + fix lead time error (#1670)
iluise Jan 26, 2026
3aeb324
Update normlise output flag (#1681)
iluise Jan 26, 2026
3c183df
Make ratio plot and bar plots run with just 1 run_id (#1672)
iluise Jan 26, 2026
25948f3
slurm script inference (#1675)
mtar Jan 26, 2026
333f662
clean-up in config.py focusing on shared path (#1579)
sbAsma Jan 26, 2026
b37706c
[infra] consistent cli options (#1668)
mtar Jan 27, 2026
9710f81
Fix bug for missing run_id path in model path (#1704)
SavvasMel Jan 27, 2026
fa952ff
fix bar plot (#1698)
iluise Jan 27, 2026
34fa89a
Fix output generation during inference (#1707)
Jubeku Jan 27, 2026
d368400
backwards compatilble run_id look up (#1715)
Jubeku Jan 27, 2026
e84d8d8
remove misleading logging of `mini_epoch` (#1679)
TillHae Jan 27, 2026
cfcad2e
Fix duplicate run_id in results and runplots paths (#1716)
SavvasMel Jan 27, 2026
16f790d
latent_space evaluation scripts + propagate verbose
iluise Jan 16, 2026
d0701eb
lint
iluise Jan 16, 2026
49601ff
update latent space eval
iluise Jan 27, 2026
9824a54
rebase to develop
iluise Jan 27, 2026
9518cf5
final version
iluise Jan 27, 2026
4e06d00
add readme
iluise Jan 28, 2026
a24bbde
Merge branch 'develop' into iluise/develop/eval-latent-space
iluise Jan 29, 2026
9a713a8
Update default_config.yml
iluise Jan 29, 2026
a097b3c
Update default_forecast_config.yml
iluise Jan 29, 2026
2744792
Update default_forecast_config.yml
iluise Jan 29, 2026
74760c8
Update csv_reader.py
iluise Jan 29, 2026
668bd2c
Update wegen_reader.py
iluise Jan 29, 2026
594efb1
Update plot_utils.py
iluise Jan 29, 2026
725e145
Update utils.py
iluise Jan 29, 2026
04a4872
Update plotter.py
iluise Jan 29, 2026
a984045
lint
iluise Jan 29, 2026
139a2e2
fix verbose
iluise Jan 29, 2026
85bc1b2
rename to ssl analysis
iluise Jan 30, 2026
1c436bc
lint
iluise Jan 30, 2026
71ce8e4
Merge branch 'develop' into iluise/develop/eval-latent-space
iluise Jan 30, 2026
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
2 changes: 1 addition & 1 deletion config/default_forecast_config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -182,4 +182,4 @@ wgtags:
# Examples: "rollout_ablation_grid"
exp: None
# *** Experiment-specific tags ***
grid: None
grid: None
1 change: 1 addition & 0 deletions packages/evaluate/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ dev = [
]

[project.scripts]
ssl_analysis= "weathergen.evaluate.ssl.ssl_eval:ssl_analysis"
evaluation = "weathergen.evaluate.run_evaluation:evaluate"
export = "weathergen.evaluate.export.export_inference:export"

Expand Down
10 changes: 4 additions & 6 deletions packages/evaluate/src/weathergen/evaluate/io/csv_reader.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@
# nor does it submit to any jurisdiction.

# Standard library
import logging
import re
from pathlib import Path

Expand All @@ -20,16 +19,15 @@
# Local application / package
from weathergen.evaluate.io.io_reader import Reader

_logger = logging.getLogger(__name__)
_logger.setLevel(logging.INFO)


class CsvReader(Reader):
"""
Reader class to read evaluation data from CSV files and convert to xarray DataArray.
"""

def __init__(self, eval_cfg: dict, run_id: str, private_paths: dict | None = None):
def __init__(
self, eval_cfg: dict, run_id: str, private_paths: dict | None = None, verbose=True
):
"""
Initialize the CsvReader.

Expand All @@ -43,7 +41,7 @@ def __init__(self, eval_cfg: dict, run_id: str, private_paths: dict | None = Non
list of private paths for the supported HPC
"""

super().__init__(eval_cfg, run_id, private_paths)
super().__init__(eval_cfg, run_id, private_paths, verbose)
self.metrics_dir = Path(self.eval_cfg.get("metrics_dir"))

self.metrics_base_dir = self.metrics_dir
Expand Down
19 changes: 11 additions & 8 deletions packages/evaluate/src/weathergen/evaluate/io/io_reader.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,6 @@
# Third-party
import xarray as xr

_logger = logging.getLogger(__name__)
_logger.setLevel(logging.INFO)


@dataclass
class ReaderOutput:
Expand Down Expand Up @@ -62,7 +59,9 @@ class DataAvailability:


class Reader:
def __init__(self, eval_cfg: dict, run_id: str, private_paths: dict[str, str] | None = None):
def __init__(
self, eval_cfg: dict, run_id: str, private_paths: dict[str, str] | None = None, verbose=True
):
"""
Generic data reader class.

Expand All @@ -89,6 +88,10 @@ def __init__(self, eval_cfg: dict, run_id: str, private_paths: dict[str, str] |
"results_base_dir", None
) # base directory where results will be stored

self._logger = logging.getLogger(__name__)
logger_level = logging.INFO if verbose else logging.CRITICAL + 1
self._logger.setLevel(logger_level)

def get_stream(self, stream: str):
"""
returns the dictionary associated to a particular stream
Expand Down Expand Up @@ -217,7 +220,7 @@ def check_availability(
requested[name] = reader_data[name]
# If file with metrics exists, must exactly match
if available_data is not None and reader_data[name] != available[name]:
_logger.info(
self._logger.info(
f"Requested all {name}s for {mode}, but previous config was a "
"strict subset. Recomputation required."
)
Expand All @@ -230,7 +233,7 @@ def check_availability(
if name == "ensemble" and "mean" in missing:
missing.remove("mean")
if missing:
_logger.info(
self._logger.info(
f"Requested {name}(s) {missing} is unavailable. "
f"Removing missing {name}(s) for {mode}."
)
Expand All @@ -240,15 +243,15 @@ def check_availability(
# Must be a subset of available_data (if provided)
if available_data is not None and not requested[name] <= available[name]:
missing = requested[name] - available[name]
_logger.info(
self._logger.info(
f"{name.capitalize()}(s) {missing} missing in previous evaluation."
"Recomputation required."
)
check_score = False

if check_score and not corrected:
scope = "metric file" if available_data is not None else "Zarr file"
_logger.info(
self._logger.info(
f"All checks passed – All channels, samples, fsteps requested for {mode} are "
f"present in {scope}..."
)
Expand Down
Loading