v0.2.0
Summary
This release focuses on introducing capabilities enabling the orchestration of
one-to-many heterogeneous simulations.
Breaking Changes
- The blueprint schema introduced in :ref:
v0.0.1-alphais deprecated - Deprecate the use of the user environment file
New features
- Add
SimulationRunnerentrypoint for blueprint execution - Add public orchestration models in
cstar.orchestration.models - Add
WorkplanandBlueprintorchestration incstar.orchestration.orchestration - Add
cstarCLI for command-line execution ofWorkplan's andBlueprint's - Add optional dependencies when launching jobs with
SLURM
Security Fixes
N/A
Bug Fixes
- Fix logging failure when file directories do not exist
- Fix incorrect number of tracers in vertical mixing configuration
- Fix failure occurring in worker post-run handler
- Fix/modify how the "active allocation" is identified
- Fix env var expansion failures due to lmod and environment loading ordering
- Fix missing partitioning information in
ROMSInputDataset - Fix simulation failures due to file collisions
Improvements
- Overhaul documentation with a focus on
Blueprintorchestration - Improved error logging and message de-duplication
- Improved developer experience; additional docstrings, increased typehint coverage, expanded linting rules
- Centralized calculation of various shared strings and paths
- Parallelized
ncjoinoperations
Miscellaneous
- Mitigate various linter warnings
- Pin roms-tools to 3.4.0
What's Changed (Autogenerated)
- Add optional ability to log to file in
get_loggerby @ankona in #259 - De-duplicate error message by @ankona in #261
- Add PyCharm and C-star externals to gitignore by @ScottEilerman in #263
- fix incorrect path in coverage file by @ankona in #269
- fix incorrect method names in class level docstring by @ankona in #271
- fix unnecessary conditional by @ankona in #274
- fix missing typehint on simulation.from_blueprint by @ankona in #275
- fix typechecker issue on potentially null value by @ankona in #277
- remove unnecessary compound conditional by @ankona in #278
- fix 1 char varname reported by linter by @ankona in #279
- avoid setting non-nullable members to null by @ankona in #280
- Get rid of global var for user env file path by @ankona in #282
- fix bug when file path includes directory that does not exist by @ankona in #270
- fix param that fails typecheck by @ankona in #283
- Refactor lmod path calculation to one location by @ankona in #284
- fix unnecessary keys iteration by @ankona in #281
- Expose default_externals_root as property on ExternalCodeBase by @ankona in #287
- Improved CStarEnvironment loading behavior by @ankona in #286
- CW-799 - Add MVP worker entrypoint by @ankona in #249
- Merge main -> develop by @dafyddstephenson in #299
- Use
os.environfor reading environment variables by @ankona in #303 - CSD-128: Fix healthcheck test failure and overly verbose logging by @ankona in #304
- New linting rules (develop) by @dafyddstephenson in #306
- CW-801: Add MVP container files by @ankona in #307
- Use consistent naming for action target and logic by @ankona in #322
- Fix image building defect on ARM64 platform by @ankona in #320
- Add test typehints for TestROMSRuntimeSettingsSection by @ankona in #324
- CSD-225: Fix worker startup bug by @ankona in #323
- CSD-227: Add short-form arguments for worker script by @ankona in #327
- CSD-181: Parameterize ROMS source artifact by @ankona in #335
- CSD-226 - Enable parameterized execution of simulation stages by @ankona in #329
- CSD-39: Add initial workplan and step models by @ankona in #337
- Merge test changes from main to develop by @ScottEilerman in #339
- Modify container builds after Perlmutter MPI testing by @ScottEilerman in #338
- CSD-39: add initial models for serialization of workplans by @ankona in #340
- merge main to develop and fix conflicts by @ScottEilerman in #350
- Support new blueprints in worker and tests (feature branch) by @ScottEilerman in #355
- Workplan POC by @ScottEilerman in #358
- Dev to orchestration by @ScottEilerman in #367
- Parallelize join operation by @ScottEilerman in #359
- Set partitioning attribute if source is partitioned by @ScottEilerman in #368
- Slurm improvements by @ScottEilerman in #369
- CSD-310: add CLI by @ankona in #365
- Add function to clear the working directory before launching a job by @ScottEilerman in #371
- Remove user env file by @ScottEilerman in #370
- Env var cleanup by @ScottEilerman in #372
- Vertical mixing fix by @ScottEilerman in #377
- suggested fix for post-run failure by @ScottEilerman in #376
- CSD-349: Convert CLI to typer by @ankona in #379
- CSD 44 by @ankona in #381
- CSD-44 Minor Hotfixes by @ankona in #383
- Orchestration by @matt-long in #382
- pin roms-tools to 3.3.0 by @matt-long in #384
- Docs overhaul by @ankona in #388
- Ensure override transform is always applied by @ankona in #389
- Temporary fix for
in_active_allocation& correct lmod/load_env for Perlmutter build by @matt-long in #387 - Resolve merge conflicts by @ScottEilerman in #386
- Resolve merge conflicts -- again by @ScottEilerman in #391
- main to orchestration by @ScottEilerman in #390
- Fix behavior when pickling attributes computed in init method by @ankona in #393
- Fix failure to include run-id in output paths when transforms are disabled by @ankona in #394
- Merge develop/orchestration branches to main by @ScottEilerman in #392
- Improve detail level of default log format by @ankona in #396
- Refine docs by @ScottEilerman in #397
- Gitutils documentation and linting enhancement by @ankona in #398
- Fix Gitutils Unreachable Code by @ankona in #399
New Contributors
- @matt-long made their first contribution in #382
Full Changelog: v0.1.0...v0.2.0