Skip to content

Enable ensemble creation and execution through a new yaml config file - #290

Merged
lrntct merged 85 commits into
ItziModel:mainfrom
lrntct:ensemble
Oct 1, 2026
Merged

lrntct merged 85 commits into
ItziModel:mainfrom
lrntct:ensemble

Conversation

@lrntct

@lrntct lrntct commented Sep 27, 2026 •

Copy link
Copy Markdown
Contributor
  • Create a new input format using yaml. multiple documents are possible in a single file.
  • If a list is used instead of a scalar for an input in the config file, then the ensemble is expanded into multiple simulation using a cartesian product
  • The user could set --dry-run, which will validate the configuration, check the inputs, and make sure no output overlwrite inputs.
  • The execution records a manifest.yaml
  • The run is no longer setting up a temporal MASK file, but rather setting up the mask manually with numpy. This ensure no inconsistent state is left behind if a simulation crashes. It is a temporary solution before GRASS 8.5 is adopted (Require GRASS 8.5 #289).
  • A new CSV writer is implemented that prevent overwrite of existing file, and automatically creates a subdir if necessary. It might be adopted upstream later.
  • The GRASS output provider now use direct creation arguments.
  • ConfigReader is simplified
  • Resolves GrassRasterInputProvider and GrassRasterOutputProvider should validate the map keys they receive #284
  • Re-organize the code base
  • An ensemble is limited to 100 members, and a batch to 200
  • Hotstart is not supported yet

WIP:

  • Full yaml documentation, including templates

@lrntct lrntct added this to the Version 26.x milestone Sep 27, 2026
@lrntct
lrntct merged commit 35da600 into ItziModel:main Oct 1, 2026
5 checks passed
@lrntct
lrntct deleted the ensemble branch October 1, 2026 01:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

GrassRasterInputProvider and GrassRasterOutputProvider should validate the map keys they receive

1 participant