Skip to content

Upstream ISSM update#8

Closed
lawrenceabird wants to merge 150 commits intoaccess-developmentfrom
main
Closed

Upstream ISSM update#8
lawrenceabird wants to merge 150 commits intoaccess-developmentfrom
main

Conversation

@lawrenceabird
Copy link
Collaborator

Testing PR process to pull upstream changes from ISSMTeam/ISSM.

inwoo-simba and others added 30 commits June 3, 2025 21:25
… model. However, "depthaverage" is not supported.
…, that the string type does not work in ImageGrid.
* Adds --enable-ad plus --with-{codi,medi}pack-dir options.
* When --enable-ad is chosen:
    - Defines ISSM_USE_AD for conditional compilation.
    - Injects include paths, library paths and –lcodi/–lmedi into
      AM_CPPFLAGS, AM_LDFLAGS and LIBS so every sub-dir picks them up.
    - Automatically disables PETSc to avoid an impossible combo.
* Emits AM_CONDITIONAL(USE_AD) for any Makefile.am that still wants it.
* Leaves all Makefile.am files untouched; the Spack recipe no longer
  needs setup_build_environment() hacks.

Doing this upstream means:
  • Classic builds behave exactly as before.
  • AD builds work out-of-the-box for Spack, EasyBuild or manual
    ./configure invocations.

style changes and revert

issm options repetition removed
* Adds ISSM_ENABLE_AD to handle --enable-ad plus --with-{codi,medi}pack-dir.
* Macro embeds CoDiPack/MediPack include-dirs, lib-dirs and -lcodi/-lmedi
  into AM_CPPFLAGS, AM_LDFLAGS, LIBS so no Makefile.am edits are needed.
* Automatically drops PETSc when AD is on, defines ISSM_USE_AD, and exposes
  AM_CONDITIONAL(USE_AD).
* configure.ac now simply calls ISSM_ENABLE_AD after ISSM_OPTIONS.

Moves all AD logic out of configure.ac and keeps option handling in the
shared macro library.

added enable AD into configure.ac
CHG: Python > Matlab - Fix to plotting functions in src/m.
…ng with temperature when lapse rate is set to zero
Gemb mapping: update mapping to include precipitation downscaling option
CHG: add GEMB mapping option for precip downscaling and dlw downscaling with temperature when lapse rate is set to zero
* New encoder/decoder handles all 9 ISSM data codes
  (Boolean / Integer / Double / String / BooleanMat / IntMat /
   DoubleMat / MatArray / StringArray).
* Two patching modes
    - default in-place overwrite when new payload size is unchanged
    - `--rebuild` flag triggers safe whole-file rewrite for
      variable-length updates (e.g. longer strings, larger matrices).
* Record scanner refactored into `iterate_records()` for reuse.
* Added numpy dependency (matrix encoding) and json value parsing.
* CLI now accepts JSON literals for matrices/arrays and booleans.
* Unit tests cover scalar and matrix replacements, size-mismatch
  detection, and rebuild path.
Added link to documentation
Make documentation open in new tab
…caleruler"; however, this section should be replaced to standalone "scaleruler".
totorotoby and others added 28 commits September 4, 2025 11:21
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.