Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Releases: NOAA-GFDL/NDSL

2025.11.00: Bug fix and experimental feature

27 Nov 14:29
2368e5d

Choose a tag to compare

Highlights

  • ⚠️ API update - QuantityFactor requires a backend
  • ⚠️ ndsl.Nanelist is no more - use f90nml.Namelist to read in Fortran namelist
  • 🔧 New stencil: min/max in column, with index and value
  • 🐞 Absolute indexing in K, up-casting (mixed precision)
  • 🔧 Relax overly defensive for write after read, notably on column
  • 🔧 Dynamic/Runtime interval in debug backend
  • 🧪 Experimental merge & cache friendly optimization

All PRs

  • Check gt4py-backend options in config by @twicki in #291
  • fix: allow any Comm object in ZarrMonitor by @romanc in #292
  • Patch domain checks to only happen once by @twicki in #293
  • BREAKING CHANGE: change constructor of QuantityFactory by @romanc in #228
  • BREAKING CHANGE: remove ndsl/exceptions by @romanc in #281
  • BREAKING CHANGE: remove deprecated environment variables by @romanc in #282
  • ci: specialize concurrency group per repo by @romanc in #287
  • Remove ndsl.Namelist by @jjuyeonkim in #297
  • [feature] Common data types for orchestration via compiletime by @FlorianDeconinck in #296
  • BREAKING CHANGE: remove deprecated ndsl/units.py by @romanc in #283
  • BREAKING CHANGE: removal of extra_dim_lengths by @romanc in #295
  • BREAKING CHANGE: remove deprecated ndsl/filesystem.py by @romanc in #284
  • build: gt4py update (fix absolute indexing in debug backend) by @romanc in #302
  • docs: release checklist and documentation by @romanc in #299
  • column min/max stencil - value and index by @CharlesKrop in #301
  • build: gt4py udpdate (fix upcasting, abs k test coverage) by @romanc in #303
  • restore default PR template by @romanc in #305
  • BREAKING CHANGE: last 2025.10.00 deprecations (CopyCorners, Quantity.values(), extra_dim_lengths on SubtileGridSizer by @romanc in #300
  • refactor: make GridSizer an abstract base class by @romanc in #306
  • refactor: remove leftover debug print statements by @romanc in #308
  • refactor: directly use gt_storage in QuantityFactory by @romanc in #307
  • [Feature] Schedule Tree: refine transient by @FlorianDeconinck in #304
  • build: gt4py update (upcasting in cast operations) by @romanc in #310
  • build: gt4py update (precision of global constants) by @romanc in #313
  • refactor: Quantity constructor: gt4py_backend -> backend by @romanc in #312
  • refactor: prepare ZarrMonitor for upcomming Comm changes by @romanc in #315
  • [Orchestration/Build]: Flag to force single cache for orchestration by @FlorianDeconinck in #311
  • refactor: Quantity constructor: make backend a required keyword argument by @romanc in #314
  • Deprecate CopyCornersXY by @romanc in #317
  • refactor: remove DummyComm as alias to LocalComm by @romanc in #319
  • refactor: Deprecate NullComm in favor of MPIComm and LocalComm by @romanc in #318
  • build: gt4py update (self-assignment in serial vertical loops) by @romanc in #316
  • refactor: specify backend when allocating a Quantity by @romanc in #320
  • [Translate test] Compute the percentage of changing grid points that error by @FlorianDeconinck in #322
  • refactor: remove --no_legacy_namelist option of pytest by @jjuyeonkim in #323
  • New functions: column_min_ddim & column_max_ddim by @CharlesKrop in #324
  • [Optimization/Experimental] Better AxisMerge for column physics by @FlorianDeconinck in #325
  • [Feature/Experimental] Stree Refine Transient optimization pass: data dimensions and proper unit tests by @FlorianDeconinck in #327
  • [Update] GT4Py & DaCe updated to 2025.11.25 state of main by @FlorianDeconinck in #330
  • [Tool] Best Guess Netcdfs diff by @FlorianDeconinck in #177
  • [Update] GT4Py updated to 2025.11.25 (bis) by @FlorianDeconinck in #331
  • [Rework/Experimental] Refine Transient v2: Ranges for all! by @FlorianDeconinck in #328
  • [Fix] [Translate] Update API for parallel test when using MultiModalMetric by @FlorianDeconinck in #332
  • NDSL 2025.11.00 by @FlorianDeconinck in #333
  • NDSL 2025.11.00 (bis - bad merge) by @FlorianDeconinck in #334

Full Changelog: 2025.10.00...2025.11.00

2025.10.00

28 Oct 15:32
66ca013

Choose a tag to compare

What's Changed

  • README update by @romanc in #163
  • refactor: avoid stringified type hints by @romanc in #168
  • Improve eta tests and file handling by @romanc in #149
  • Change xarray.Dataset.{dims -> sizes} by @romanc in #169
  • Update pre-commit hooks by @romanc in #172
  • [Serialbox to NetCDF] Allow variables to not be saved in non zero ranks by @FlorianDeconinck in #174
  • tests: re-enable caching tests and more cleanups in tests/dsl by @romanc in #175
  • Store static eta files under tests/data by @fmalatino in #171
  • Fixes for external grid data read-in method by @fmalatino in #165
  • Packaging: Use of pyproject.toml and move to minimal setup.py for modernization by @fmalatino in #159
  • ci: Re-enable flake8's F401 rule: no unused imports by @romanc in #180
  • Fixes for GH200 hardware compilation (+ misc) by @FlorianDeconinck in #183
  • ci: extend black formatter to jupyter notebooks by @romanc in #181
  • Upgrade mpi4py to >4 by @FlorianDeconinck in #184
  • [Fix] Multimodal override fix for Absolute Epsilon by @FlorianDeconinck in #187
  • ci: Add cache for pre-commit environments by @romanc in #182
  • Update GT4Py/DaCe to get "Debug Backend" and "Schedule Tree Bridge" by @romanc in #170
  • Update readme with MPI / compiler recommendataions by @romanc in #191
  • ci: configure tests to run on merge-queue by @romanc in #194
  • Deprecate PACE_* environment variables in favor of NDSL_* by @romanc in #193
  • Test: Merge queue test by @fmalatino in #197
  • Test: Merge queue test - removing test file by @fmalatino in #198
  • Update gt4py: support for literal precision by @romanc in #192
  • tests: fix NaNs introduced into reference values by @romanc in #199
  • build: pytest-subtests is a required dependency by @romanc in #201
  • NDSL Documentation via MkDocs by @gmao-ckung in #205
  • 2D Stencil Indexing Method by @oelbert in #54
  • Minor QOL changes to translate test infrastructure by @CharlesKrop in #176
  • Update gt4py: np.bool_ external and gtscript round() by @romanc in #207
  • Updating NetCDF4 version to 1.7.2 for use by pyRTE-RRTMGP by @fmalatino in #210
  • tests: Move test for GridIndexing.get_2d_compute_origin_domain() by @romanc in #209
  • refactor: remove workaround in fill_corners_dgrid by @romanc in #204
  • tests: remove an unused arguments in stencil definition by @romanc in #214
  • fix: stencil wrapper field origins with data_dims by @romanc in #216
  • fix: gpu/mpi synchronization issue with in-place all reduce sum by @romanc in #215
  • ci: Effective cache sharing between PRs by @romanc in #202
  • [Orchestration] Common cast operation replacements by @FlorianDeconinck in #211
  • ci: Update actions/checkout v4 -> v5 by @romanc in #217
  • perf: Optimize cpu compiler flags for dace:cpu by @romanc in #213
  • fix: compile flags for GCC (14) on GH200 by @romanc in #219
  • Adding a test for indexing 4-dimensional fields by @oelbert in #221
  • refactor: use modern python for cached properties by @romanc in #227
  • fix: fully type allocator and fix fallout by @romanc in #226
  • fix: boilerplate allocation and layout warnings by @romanc in #225
  • Deprecation warning for QuantityFactory constructor by @romanc in #231
  • tests: stabilize `test_caches.py by @romanc in #236
  • Remove FrozenCompiledSDFG to avert the hidden behavior on orchestration call by @twicki in #220
  • docs: improved docstrings in stencil, quantity and grid generation by @romanc in #233
  • BREAKING CHANGE: orchestration boilerplate options by @romanc in #238
  • GT4Py update and cleanups from milestone2 branch by @romanc in #237
  • [Fix] DaCe build system should be tied more closely to existing configuration by @FlorianDeconinck in #241
  • State V0 by @FlorianDeconinck in #242
  • State: quick fix to v0 by @FlorianDeconinck in #245
  • API cleanup: deprecate OutOfBoundsError in favor of IndexError by @romanc in #247
  • API cleanup: deprecate ndsl/filesystem.py by @romanc in #249
  • Namelist Refactor: Utility functions for namelist to dict + conftest --no_legacy_namelist by @jjuyeonkim in #246
  • gt4py update: absolute K indexing (experimental) by @romanc in #252
  • API cleanup: deprecate ndsl/units.py by @romanc in #248
  • State features: fill and data dimensions support. by @FlorianDeconinck in #250
  • Add QuantityFactory.full by @FlorianDeconinck in #256
  • Translate tests: raise if test class can't be found by @romanc in #259
  • Deprecation of CopyCorners by @twicki in #240
  • BREAKING CHANGE: remove unused global configuration by @romanc in #260
  • deps: gt4py update (push ForScope down, error messages) by @romanc in #261
  • [Feature] Internal timer to track runtime of orchestrated call by @FlorianDeconinck in #262
  • refactor: imports cleanup by @romanc in #264
  • ci: stricter type checking with mypy by @romanc in #257
  • ci: all the types (or at least most of them) enforced with mypy by @romanc in #258
  • ci: Add build docs step to PR workflows (and fix currently broken autodoc generation) by @romanc in #268
  • refactor: modern type hints in NDSL by @romanc in #270
  • ci|docs: automatic docs deployment when merging into develop by @romanc in #269
  • Store information about the halo-size in the allocated Quantity by @twicki in #265
  • Locals by @FlorianDeconinck in #266
  • build: gt4py & dace update by @romanc in #271
  • Propagate Halo Information by @twicki in #274
  • Add domain-size checks on FrozenStencil by @twicki in #239
  • [Translate] Allow slicing of N-Dimensions fields by @FlorianDeconinck in #273
  • Add versioning by @twicki in #275
  • Deprecate usage of ndsl.Namelist by @romanc in #276
  • Refactor: QuantityFactory data dimensions operations by @FlorianDeconinck in #272
  • tools: use flake8-bugbear by @romanc in #277
  • Update gt4py to version 1.0.10 by @romanc in #278
  • Development setup and early work for a Schedule Tree Optimizer Pipeline by @romanc in #189
  • Native NDSL types for GT4Py 2D temporaries by @FlorianDeconinck in #280
  • docs: update examples by @romanc in #285
  • ci: create cache for translate test data by @romanc in #279
  • build: gt4py update (temp annotation fix) by @romanc in #286
  • [feature] Add 2D temporary support for NDSL's BoolFieldIJ by @FlorianDeconinck in #288
  • Release version 2025.10.00 by @romanc in #289

Full Changelog: 2025.05.00...2025.10.00

2025.05.00

03 Jun 13:40
808dd20

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: 2025.03.00...2025.05.00

2025.03.00

03 Apr 13:54
5873888

Choose a tag to compare

What's Changed

  • For release 2025.03.00 #127
  • Fix saving NetCDF for parallel translate test #125
  • Doc enhancment #123
  • Grid Mixed Precision and Coriolis force load (+ QOL) #121
  • Change deprecated np.product() to np.prod() #120
  • Update GT4Py and DaCe to bring in refactored GT4Py/DaCe bridge that exposes control flow #119
  • Mixed Precision fixes and QOL #118
  • Feature: NetCDF output precision configurable #117
  • Adds some quick capacities used in the post-radiation phase of the physics, including the Stefan-Boltzmann constant #116
  • Adding temperature of h2o triple point #115
  • [Feature] Porting workflow: enhancing errors readability #114
  • [CI] Streamline linting workflow #110
  • [build]: Bump DaCe to v1.0.1 #109
  • [QOL] Logging, Type Hints and Quantity helpers #108
  • [Translate test] Save better reports & netCDF for multiple ranks on failure #106
  • Automatic Int precision and stencil regeneration change #104
  • Adding in exception for compute domains with sizes less than or equal to halo size #103

Full Changelog: 2025.01.00...2025.03.00

2025.01.00

24 Jan 18:49
729a2fe

Choose a tag to compare

What's Changed

  • [Feature] Expose stencil vertical domain to Frozen Stencil #78
  • [Serialbox to Netcdf tool] Collapse all rank into 1 if rank have different sized data #82
  • [F32] Constants must default to the system-wide floating point precision #88
  • [F32] Fixes to translate test infrastructure & metric #91
  • [Feature] Allreduce and allreduce for Communication #92
  • [QOL] Fix for boilerplate to work on GPU #95

Full Changelog: 2024.09.00...2025.01.00

2024.09.00

30 Sep 18:44
bf6e3d3

Choose a tag to compare

What's Changed

Patches to come 🚧

Layout transparency issue - Vector halo update bug
Bugs with high number of ranks when using gt:cpu_ifirst backend

New Contributors

Full Changelog: 2024.04.00...2024.09.00

2024.04.00

17 Apr 19:36
bf23761

Choose a tag to compare

What's Changed

Full Changelog: 2024.03.01...2024.04.00

2024.03.01

18 Mar 18:27
7fdfa51

Choose a tag to compare

Updated README files and fixed existing circular imports across dependent repositories.

Submodules:

  • DaCe @ b1a7f8a (2024.03.01)
  • GT4py @ 66f8447 (2024.03.06)

PR List

Full Changelog: 2024.03.00...2024.03.01

2024.03.00

11 Mar 19:52
e65259c

Choose a tag to compare

First release version of NDSL
Physics parametrization feature from gt4py: GlobalTable to do read-only access to any dimensions in stencils.
Introduce python 3.11.7 as the canonical python version.

Submodules:

  • DaCe @ b1a7f8a (2024.03.01)
  • GT4py @ 66f8447 (2024.03.06)

PR list

  • Add dace submodule that points to gcc_fix: #9
  • Add 3.11.7 to python in unit tests: #11
  • [Fix] f32 scalars in DaCe: #12
  • Move DaCe to top of master as of March 1st.: #19
  • [Update/GT4Py ] Grab GlobalTable feature: #20
  • Adding and updating init files for modules: #14

New Contributors

Full Changelog: https://github.com/NOAA-GFDL/NDSL/commits/2024.03.00