Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
127 commits
Select commit Hold shift + click to select a range
e3ce356
amend tolerances of test291.py
justinh2002 Feb 27, 2026
4e87fc6
amend tolerance
justinh2002 Feb 27, 2026
eae951c
CHG: adding wilkins.jpl.nasa.gov to list of machines
MPoinelli Mar 6, 2026
582321b
CHG: plotmodel.py – Fix a bug in ImageGrid, which automatically share…
inwoo-park Mar 8, 2026
b5e4b69
NEW: New feature `hydrologyprescribe.m` (`hydrologyprescribe.py`). Th…
inwoo-park Mar 8, 2026
8ba5901
Adjusted tolerances
TidbitSoftware Mar 8, 2026
6110c68
CHG: `hydrologyshakti` now enables the use of grounded ice melting ra…
inwoo-park Mar 9, 2026
4fe2257
CHG: hydrologyshakti.m - Update isbasalforcing option.
inwoo-park Mar 9, 2026
c2d41a8
CHG: HydrologyShaktiAnalysis.cpp - Fix bugs in unit conversion of bas…
inwoo-park Mar 9, 2026
2d06c2d
CHG: Synchronize Matlab > Python.
inwoo-park Mar 9, 2026
65dcc7b
Merge branch 'ISSMteam:main' into shakti
inwoo-park Mar 9, 2026
65b2963
CHG: `hydrologyshakti` - Use `melt_flag`, not "isbasalforcing" flag. …
inwoo-park Mar 9, 2026
6e2e9f5
Merge pull request #139 from inwoo-park/shakti
MathieuMorlighem Mar 9, 2026
bfd94f5
Merge branch 'ISSMteam:main' into hydrology-prescribe
inwoo-park Mar 9, 2026
6632746
BUG: fixed bad python indentation
MathieuMorlighem Mar 9, 2026
50f74b1
BUG: Fix typos and maintain consistency.
inwoo-park Mar 9, 2026
79a103b
Merge branch 'ISSMteam:main' into hydrology-prescribe
inwoo-park Mar 9, 2026
209abef
Adjusted tolerances
TidbitSoftware Mar 9, 2026
1663f4d
option to not output final result
dabele Mar 9, 2026
c810b08
Merge pull request #140 from dabele/optional_final_output
MathieuMorlighem Mar 9, 2026
c30cf21
BUG: HydrologyShaktiAnalysis.cpp – Fix bug in the unit conversion of …
inwoo-park Mar 10, 2026
da65945
CHG: print clear message when bin file is not consistent with issm.ex…
MathieuMorlighem Mar 12, 2026
1256088
CHG: ask user to create repo instead of erroring out
MathieuMorlighem Mar 13, 2026
e70338d
CHG: make v6 official
MathieuMorlighem Mar 13, 2026
2e0255d
CHG: minor, cosmetics
MathieuMorlighem Mar 13, 2026
76edf6d
Install scripts for Chaco stalling on download of user guide, resulti…
TidbitSoftware Mar 13, 2026
2bc9a5c
CHG: killberg.py - Dimension of levelset should be (numberofvertices,…
inwoo-park Mar 16, 2026
51e81d5
Clean up unused cluster class: hpc_simba2.m
inwoo-park Mar 16, 2026
f0f31c1
ADD: reverse color in bluewhitered, if true, then red for negative an…
enigne Mar 17, 2026
b07c9bf
BUG: plot_unit.py - tripcolor in matplotlib does not support `colorle…
inwoo-park Mar 17, 2026
95425f0
Merge branch 'main' into hydrology-prescribe
inwoo-park Mar 17, 2026
d1f0105
CHG: better handling of InterpFromGrid, now automatically added to ISSM
MathieuMorlighem Mar 18, 2026
ab809d3
CHG: documentation should say water eq, not ice eq
MathieuMorlighem Mar 18, 2026
b62db5f
CHG: added checks to avoid non physical PDD inputs
MathieuMorlighem Mar 25, 2026
28e5922
NEW: preparing code for Alicia's new PDD scheme
MathieuMorlighem Mar 25, 2026
3973a60
NEW: Implement ISMIP7 sub-ice shelf forcings and associated methods i…
inwoo-park Mar 26, 2026
fd6339e
Merge branch 'ISSMteam:main' into feature/ismip7
inwoo-park Mar 26, 2026
c667f35
Add mapped precip scaling factor input
NJSchlegel Mar 26, 2026
7e01bce
Synchronize
NJSchlegel Mar 26, 2026
6148e13
CHG: add input for scaling mapped precipitation in GEMB
NJSchlegel Mar 26, 2026
729d345
Merge pull request #141 from NJSchlegel/GEMB_mapping
NJSchlegel Mar 26, 2026
c2b15fb
Merge pull request #10 from ISSMteam/main
NJSchlegel Mar 26, 2026
26a4c50
BUG: Fix indents and bugs.
inwoo-park Mar 27, 2026
11ecc6c
CHG: Synchronize "EnumDefinitions".
inwoo-park Mar 27, 2026
9095eef
Adjusted tolerances
TidbitSoftware Mar 27, 2026
7fb9699
CHG: remove upper limit of GEMB pricip scaling factor for mapping
NJSchlegel Mar 27, 2026
9773254
Merge branch 'ISSMteam:main' into GEMB_mapping
NJSchlegel Mar 27, 2026
f97130c
Merge pull request #11 from NJSchlegel/GEMB_mapping
NJSchlegel Mar 27, 2026
03fe8c0
Merge branch 'GEMB_mapping' of https://github.com/NJSchlegel/ISSM int…
NJSchlegel Mar 27, 2026
3edfed1
Merge pull request #12 from NJSchlegel/GEMB_mapping
NJSchlegel Mar 27, 2026
dcab393
Merge pull request #142 from NJSchlegel/main
NJSchlegel Mar 27, 2026
840ff68
BUG: sealevelchange_core coupler count integer was not reset properly
caronlam Mar 27, 2026
5e42993
Merge branch 'main' into feature/ismip7. Synchronize EnumDefinitions.
inwoo-park Mar 28, 2026
a7cc205
CHG: Resolve conflicts.
inwoo-park Mar 28, 2026
ce584a4
CHG: Compute TotalHydrologyBasalFlux [m³ s⁻¹] at the grounding line (…
inwoo-park Mar 29, 2026
7a65069
CHG: Fix indents with tab.
inwoo-park Apr 1, 2026
80810ad
BUG: Fix computing ISMIP7 basal forcings.
inwoo-park Apr 1, 2026
c9cb672
NEW: Initialize interpISMIP7AntarcticaOcn.m.
inwoo-park Apr 1, 2026
487d27b
CHG: basalforcingsismip7.m - Add num_basins and basin_id as like ismi…
inwoo-park Apr 1, 2026
1e6e107
CHG: use different bracket style for andes
MathieuMorlighem Apr 1, 2026
489d5ac
CHG: adding information message to warn user
MathieuMorlighem Apr 1, 2026
d465c4a
CHG: use {} intead of \{\} for frontera
MathieuMorlighem Apr 1, 2026
7126e3c
Adjusted tolerances
TidbitSoftware Apr 1, 2026
fc7dd6f
Updated URL and version for GSHHG
TidbitSoftware Apr 1, 2026
76b055f
CHG: ISMIP7 Ocean forcings - Do not reuse definitions from ISMIP6 for…
inwoo-park Apr 2, 2026
2d273a0
Merge branch 'feature/ismip7'
inwoo-park Apr 2, 2026
b6a1e7d
BUG: Fix block scoping with {} to avoid issues with cross-initializat…
inwoo-park Apr 2, 2026
533be90
CHG: removing comma
MathieuMorlighem Apr 2, 2026
97f734c
CHG: deal with case when thickness is 0 in 3D
MathieuMorlighem Apr 2, 2026
1faf67a
Merge branch 'main' of github.com:ISSMteam/ISSM
MathieuMorlighem Apr 2, 2026
5f3d223
Merge pull request #143 from inwoo-park/shakti
MathieuMorlighem Apr 2, 2026
177dc25
CHG: trying to fix rush condition by separating make and make install:
MathieuMorlighem Apr 2, 2026
ac4929d
CHG: updates to avoid rush conditions
MathieuMorlighem Apr 2, 2026
29bc9a2
Merge branch 'main' into hydrology-prescribe
inwoo-park Apr 3, 2026
3ece8ac
Merge pull request #137 from inwoo-park/hydrology-prescribe
MathieuMorlighem Apr 3, 2026
56528d6
CHG: better warning if errlog is not empty
MathieuMorlighem Apr 3, 2026
e935fa2
CHG: if loadonly=1, do not check consistency or anything else
MathieuMorlighem Apr 3, 2026
1144fc1
CHG: need to build runtimename first
MathieuMorlighem Apr 3, 2026
d0f8b97
CHG: better formating of outlog and errlog in md
MathieuMorlighem Apr 5, 2026
81f7732
CHG: plot/plotmodel.py - Flattening axes and control space between axes.
inwoo-park Apr 6, 2026
99c2b08
tiny printing thing
Apr 6, 2026
b23c78f
Update cfsurfacelogvel.m
totorotoby Apr 6, 2026
fe701fa
Merge pull request #145 from ISSMteam/twh/cfsurfacelogvel-print-fix
MathieuMorlighem Apr 6, 2026
b528c42
CHG: silent hostname on andes
MathieuMorlighem Apr 6, 2026
a24cfe1
CHG: skip empty lines in errlog, otherwise we get a WARNING all the t…
MathieuMorlighem Apr 6, 2026
f31d448
CHG: Fix bugs and improve HydrologyPrescribeAnalysis:
inwoo-park Apr 7, 2026
d28e750
Merge remote-tracking branch 'simba/main'
inwoo-park Apr 7, 2026
ec36b71
CHG: fixing AD after Inwoo's commit
MathieuMorlighem Apr 7, 2026
156a6bb
CHG: reverting support for versions earlier than 2020b
MathieuMorlighem Apr 8, 2026
66610f2
CHG: better checks for sicopolis PDD + allow for collapse
MathieuMorlighem Apr 8, 2026
20b9139
CHG: new vik colorbar useful for color blind people
MathieuMorlighem Apr 8, 2026
eaed2ca
Merge branch 'main' of github.com:ISSMteam/ISSM
MathieuMorlighem Apr 8, 2026
fe08678
CHG: updating tag number
MathieuMorlighem Apr 8, 2026
36de214
CHG: loadresultsfromdisk.m – Revert formatting of outlog and errlog f…
inwoo-park Apr 9, 2026
40520ec
CHG: HydrologyShakti – Add initialization of EffectivePressureEnum in…
inwoo-park Apr 9, 2026
70cb62c
CHG: updating version number
MathieuMorlighem Apr 9, 2026
229d239
CHG: adding Bed as default output of solidearth model
MathieuMorlighem Apr 9, 2026
c68324a
CHG: adding ability to collapse linear basal forcings
MathieuMorlighem Apr 9, 2026
730b27d
CHG: adding Bed as default output of solidearth model
MathieuMorlighem Apr 9, 2026
070df3b
Merge branch 'main' of github.com:ISSMteam/ISSM
MathieuMorlighem Apr 9, 2026
54c59c8
CHG: always symlink when running on local machine
MathieuMorlighem Apr 10, 2026
2b20f4b
CHG: fixing double comma
MathieuMorlighem Apr 10, 2026
516d97d
CHG: better explanation of slope, which works for any field
MathieuMorlighem Apr 10, 2026
dd231b5
CHG: collapse SMBpddFast, and inherit fields
MathieuMorlighem Apr 10, 2026
c4e4859
CHG: save model using v6 for faster performance if <2Gb
MathieuMorlighem Apr 10, 2026
c8125bb
CHG: provide input filename to marshall
MathieuMorlighem Apr 10, 2026
22e0c2c
Bump mathjs
dependabot[bot] Apr 10, 2026
58f2e60
Merge pull request #147 from ISSMteam/dependabot/npm_and_yarn/jenkins…
MathieuMorlighem Apr 11, 2026
99f6217
CHG: passing filename to BuildQueueingScript, hopefully I did not bre…
MathieuMorlighem Apr 11, 2026
2ff5ad4
Reintegrating changes
MathieuMorlighem Apr 11, 2026
6e4a573
CHG: BuildQueueScript now takes filename as input argument
MathieuMorlighem Apr 11, 2026
06b59b6
CHG: fixed windows
MathieuMorlighem Apr 11, 2026
98a9e30
CHG: added CLAUDE.md to help Claude Code familiarize itself with ISSM
MathieuMorlighem Apr 11, 2026
94f4119
CHG: Synchronize Matlab > Python: class "basalforcingsismip7".
inwoo-park Apr 12, 2026
37213f8
CHG: basalforcingsismip7.m - Add TODO note for indicating that specif…
inwoo-park Apr 12, 2026
21c2ecb
CHG: interpISMIP7AntarcticaOcn.m - Fix bugs.
inwoo-park Apr 12, 2026
7ead12a
Merge branch 'main' into feature/ismip7
inwoo-park Apr 12, 2026
0575548
CHG: Fix minor - add missing module in basalforcingspico.
inwoo-park Apr 12, 2026
d5c7902
Merge branch 'feature/ismip7'
inwoo-park Apr 12, 2026
f406f4d
CHG: removing code that is never used and had a nasty leak, thanks Cl…
MathieuMorlighem Apr 13, 2026
a6d1d0d
NEW: preparing EmulatorParam param for ML
MathieuMorlighem Apr 13, 2026
f407d6a
CHG: updating packages to latest version
MathieuMorlighem Apr 13, 2026
57744e6
build: add pybind11 configure options for emulator integration
Apr 13, 2026
c5f82fb
NEW: only compile Emulator parameter if PyBind is on
MathieuMorlighem Apr 14, 2026
3a97895
CHG: fixing some glaring bugs, caught by claude
MathieuMorlighem Apr 14, 2026
534877c
CHG: preparing friction emulator for Yinmin
MathieuMorlighem Apr 14, 2026
a7e1a89
CHG: updating friction emulator and pybind11 configurations
yinmin-liu Apr 14, 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
4 changes: 3 additions & 1 deletion .github/workflows/common-workflow.yml
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,9 @@ jobs:
${{ inputs.build_command }}

- name: Compile ISSM
run: make -j4 install
run: |
make -j4
make install

- name: Compress ISSM artifact
run: |
Expand Down
114 changes: 114 additions & 0 deletions CLAUDE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,114 @@
# CLAUDE.md

This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.

## What is ISSM

ISSM (Ice-sheet and Sea-level System Model) is a large-scale thermo-mechanical 2D/3D parallelized multi-purpose finite-element software for ice sheet and sea-level modeling. It is written in C++ (computational core) with MATLAB, Python, and JavaScript interfaces.

## Environment Setup

Before building or running anything, set `ISSM_DIR` in your shell profile (`.bashrc`/`.zshrc`) pointing to the repository root, then source the environment script:

```sh
export ISSM_DIR=/path/to/ISSM
source $ISSM_DIR/etc/environment.sh
```

## Build

External packages must be installed before configuring ISSM. The minimum required set for a basic build:

```sh
cd $ISSM_DIR/externalpackages/triangle && ./install-linux.sh # or install-mac.sh
cd $ISSM_DIR/externalpackages/m1qn3 && ./install-linux.sh
cd $ISSM_DIR/externalpackages/petsc && ./install-3.22-linux.sh
```

Then configure and build:

```sh
source $ISSM_DIR/etc/environment.sh
autoreconf -ivf
./configure.sh # local config script (adjust paths as needed), or run ./configure directly
make -j$(nproc)
make install
```

Key `configure` flags: `--prefix=$ISSM_DIR`, `--with-matlab-dir`, `--with-python`, `--with-petsc-dir`, `--with-triangle-dir`, `--with-m1qn3-dir`, `--enable-debugging`.

## Running Tests

Tests live in `test/NightlyRun/`. Each test is a numbered script (`test101.m` / `test101.py`).

**Python** (from `test/NightlyRun/`):
```sh
export PYTHONPATH="$ISSM_DIR/src/m/dev:$PYTHONPATH"
export PYTHONSTARTUP="$ISSM_DIR/src/m/dev/devpath.py"
cd $ISSM_DIR/test/NightlyRun
./runme.py # run all nightly tests
./runme.py -i 101 102 # run specific tests by ID
./runme.py -i SquareShelf # run by (partial) name
./runme.py --benchmark nightly # benchmark filter
```

**MATLAB** (from within MATLAB):
```matlab
cd([getenv('ISSM_DIR') '/test/NightlyRun'])
addpath([getenv('ISSM_DIR') '/src/m/dev']); devpath;
runme % run all
runme('id', [101 102]) % run specific tests
runme('id', 102, 'procedure', 'update') % update reference archive (developers only)
```

To update a test's reference archive (after an intentional result change), use `procedure='update'` (MATLAB) or `--procedure update` (Python).

## Code Architecture

### Dual-layer design

ISSM has two layers that work together:

1. **High-level interfaces** (`src/m/`) — MATLAB (`.m`), Python (`.py`), and JavaScript (`.js`) code for building and parameterizing models, running simulations, and post-processing results. The key object is `model` (defined in `src/m/classes/model.m` / `model.py`), which holds all simulation fields as properties (mesh, geometry, materials, boundary conditions, solver settings, results, etc.).

2. **C++ computational core** (`src/c/`) — compiled finite-element parallel engine that does the actual solving.

The high-level interface generates input files (`.bin`, `.queue`, and `.toolkits`) that are read by the computational core. In turn, the results from the simulation are saved in an `.outbin` file that is read by the High-level interface and added to the model (saved in `md.results`)

### Typical model workflow

```
triangle/mesh → setmask → parameterize → setflowequation → solve → results
```

Each step corresponds to functions in `src/m/parameterization/` and `src/m/solve/`. `parameterize()` runs a user-supplied `.par` file that fills the `model` object fields. `solve()` marshals model data to binary, calls the C++ executable (`bin/issm.exe`), and loads results back into `md.results`.

### C++ core layout (`src/c/`)

- **`analyses/`** — One `*Analysis` class per physics type (e.g., `StressbalanceAnalysis`, `ThermalAnalysis`). Each implements the abstract `Analysis` interface: element matrix/vector assembly (`CreateKMatrix`, `CreatePVector`), node/constraint creation, solution update.
- **`cores/`** — Top-level solution entry points (e.g., `stressbalance_core.cpp`, `transient_core.cpp`). These orchestrate which analyses to run and in what order.
- **`solutionsequences/`** — Linear/nonlinear/adjoint solvers that call PETSc (via `toolkits/`).
- **`classes/`** — C++ representations of FEM objects: `Elements/` (Tria, Penta, etc.), `Nodes/`, `Constraints/`, `Loads/`, `Inputs/`, `Params/`, `Materials/`.
- **`modules/`** — Compiled callable modules exposed as MEX/Python wrappers (e.g., mesh generation, interpolation, partitioning).
- **`toolkits/`** — Abstraction layer over PETSc, MPI, MUMPS, METIS for linear algebra and distributed computing.
- **`datastructures/`** — `DataSet` container and `Object` base class used throughout the core.

### Wrappers (`src/wrappers/`)

Glue code that compiles C++ modules as shared libraries loadable from MATLAB (`*_matlab.la`) and Python (`*_python.la`). The `io/` subdirectory handles binary serialization of the `model` object (marshalling) for communication between the interface and the executable.

### External packages (`externalpackages/`)

Each subdirectory has its own `install-linux.sh` / `install-mac.sh` / etc. ISSM only needs a handful of external packages installed depending on the desired configuration. The key dependencies are:
- **PETSc** (includes MPI/MPICH, BLAS/LAPACK, MUMPS, METIS/ParMETIS, ScaLAPACK)
- **Triangle** (mesh generation),
- **m1qn3** (L-BFGS optimizer for inversions).

Some optional that can be useful depending on the application:
- **Dakota** (UQ/sampling),
- **CoDiPack** (automatic differentiation)

### Path setup for interfaces

- **Python**: `src/m/dev/devpath.py` walks `src/m/` and adds all directories containing `.py` files to `sys.path`, plus `$ISSM_DIR/lib` and `$ISSM_DIR/src/wrappers/python/.libs`.
- **MATLAB**: `src/m/dev/devpath.m` does the equivalent using `addpath` recursively.
4 changes: 2 additions & 2 deletions configure.ac
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@

#Initializing configure
AC_INIT([Ice-sheet and Sea-level System Model (ISSM)],[2026.1],[https://github.com/ISSMteam/ISSM/],[issm],[https://issmteam.github.io/ISSM-Documentation/])
AC_INIT([Ice-sheet and Sea-level System Model (ISSM)],[2026.2],[https://github.com/ISSMteam/ISSM/],[issm],[https://issmteam.github.io/ISSM-Documentation/])
AC_CONFIG_AUX_DIR([./aux-config]) # Put config files in aux-config
AC_CONFIG_MACRO_DIR([m4]) # m4 macros are located in m4
m4_include([m4/issm_options.m4])

#print header
AC_MSG_NOTICE(============================================================================)
AC_MSG_NOTICE(= AC_PACKAGE_NAME AC_PACKAGE_VERSION configuration =)
AC_MSG_NOTICE(= AC_PACKAGE_NAME AC_PACKAGE_VERSION configuration =)
AC_MSG_NOTICE(============================================================================)

#Determine System type and OS
Expand Down
8 changes: 4 additions & 4 deletions externalpackages/autotools/install-mac.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,10 @@ set -eu

## Constants
#
AUTOCONF_VER="2.69"
AUTOMAKE_VER="1.16.1"
LIBTOOL_VER="2.4.6"
M4_VER="1.4.19"
AUTOCONF_VER="2.73"
AUTOMAKE_VER="1.18.1"
LIBTOOL_VER="2.5.4"
M4_VER="1.4.21"

PREFIX="${ISSM_DIR}/externalpackages/autotools/install" # Set to location where external package should be installed

Expand Down
2 changes: 1 addition & 1 deletion externalpackages/chaco/install-linux.sh
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ mkdir -p ${PREFIX} src

# Download source
$ISSM_DIR/scripts/DownloadExternalPackage.sh "https://github.com/sandialabs/Chaco/raw/refs/heads/main/Chaco-${VER}.tar.gz" "Chaco-${VER}.tar.gz"
$ISSM_DIR/scripts/DownloadExternalPackage.sh "https://github.com/sandialabs/Chaco/blob/main/chaco_user_guide.pdf" "chaco_user_guide.pdf"
#$ISSM_DIR/scripts/DownloadExternalPackage.sh "https://github.com/sandialabs/Chaco/blob/main/chaco_user_guide.pdf" "chaco_user_guide.pdf"

# Unpack source
tar -xvzf Chaco-${VER}.tar.gz
Expand Down
2 changes: 1 addition & 1 deletion externalpackages/chaco/install-mac.sh
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ mkdir -p ${PREFIX} src

# Download source
$ISSM_DIR/scripts/DownloadExternalPackage.sh "https://github.com/sandialabs/Chaco/raw/refs/heads/main/Chaco-${VER}.tar.gz" "Chaco-${VER}.tar.gz"
$ISSM_DIR/scripts/DownloadExternalPackage.sh "https://github.com/sandialabs/Chaco/blob/main/chaco_user_guide.pdf" "chaco_user_guide.pdf"
#$ISSM_DIR/scripts/DownloadExternalPackage.sh "https://github.com/sandialabs/Chaco/blob/main/chaco_user_guide.pdf" "chaco_user_guide.pdf"

# Unpack source
tar -xvzf Chaco-${VER}.tar.gz
Expand Down
2 changes: 1 addition & 1 deletion externalpackages/chaco/install-win-msys2-mingw.sh
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ mkdir -p ${PREFIX} src

# Download source
$ISSM_DIR/scripts/DownloadExternalPackage.sh "https://github.com/sandialabs/Chaco/raw/refs/heads/main/Chaco-${VER}.tar.gz" "Chaco-${VER}.tar.gz"
$ISSM_DIR/scripts/DownloadExternalPackage.sh "https://github.com/sandialabs/Chaco/blob/main/chaco_user_guide.pdf" "chaco_user_guide.pdf"
#$ISSM_DIR/scripts/DownloadExternalPackage.sh "https://github.com/sandialabs/Chaco/blob/main/chaco_user_guide.pdf" "chaco_user_guide.pdf"

# Unpack source
tar -xvzf Chaco-${VER}.tar.gz
Expand Down
4 changes: 2 additions & 2 deletions externalpackages/gshhg/install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ set -eu

## Constants
#
VER="2.3.4"
VER="2.3.7"

PREFIX="${ISSM_DIR}/externalpackages/gshhg/install" # Set to location where external package should be installed

Expand All @@ -13,7 +13,7 @@ rm -rf ${PREFIX}
mkdir -p ${PREFIX}

# Download source
$ISSM_DIR/scripts/DownloadExternalPackage.sh "https://www.ngdc.noaa.gov/mgg/shorelines/data/gshhg/oldversions/version${VER}/gshhg-gmt-${VER}.tar.gz" "gshhg-gmt-${VER}.tar.gz"
$ISSM_DIR/scripts/DownloadExternalPackage.sh "http://www.soest.hawaii.edu/pwessel/gshhg/gshhg-gmt-${VER}.tar.gz" "gshhg-gmt-${VER}.tar.gz"

# Unpack source
tar -zxvf gshhg-gmt-${VER}.tar.gz
Expand Down
2 changes: 1 addition & 1 deletion jenkins/javascript/karma/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
"karma-junit-reporter": "^1.0.0",
"karma-phantomjs-launcher": "^1.0.1",
"karma-requirejs": "^1.0.0",
"mathjs": "^13.0.0",
"mathjs": "^15.2.0",
"phantomjs-prebuilt": "^2.1.7",
"requirejs": "^2.2.0"
}
Expand Down
14 changes: 14 additions & 0 deletions m4/analyses.m4
Original file line number Diff line number Diff line change
Expand Up @@ -387,6 +387,20 @@ fi
AM_CONDITIONAL([HYDROLOGYARMAPW], [test x$HAVE_HYDROLOGYARMAPW = xyes])
AC_MSG_RESULT($HAVE_HYDROLOGYARMAPW)
dnl }}}
dnl with-HydrologyPrescribe{{{
AC_ARG_WITH([HydrologyPrescribe],
AS_HELP_STRING([--with-HydrologyPrescribe = YES], [compile with HydrologyPrescribe capabilities (default is yes)]),
[HYDROLOGYPRESCRIBE=$withval],[HYDROLOGYPRESCRIBE=yes])
AC_MSG_CHECKING(for HydrologyPrescribe capability compilation)

HAVE_HYDROLOGYPRESCRIBE=no
if test "x$HYDROLOGYPRESCRIBE" = "xyes"; then
HAVE_HYDROLOGYPRESCRIBE=yes
AC_DEFINE([_HAVE_HYDROLOGYPRESCRIBE_],[1],[with HydrologyPrescribe capability])
fi
AM_CONDITIONAL([HYDROLOGYPRESCRIBE], [test x$HAVE_HYDROLOGYPRESCRIBE = xyes])
AC_MSG_RESULT($HAVE_HYDROLOGYPRESCRIBE)
dnl }}}
dnl with-L2ProjectionBase{{{
AC_ARG_WITH([L2ProjectionBase],
AS_HELP_STRING([--with-L2ProjectionBase = YES], [compile with L2ProjectionBase capabilities (default is yes)]),
Expand Down
26 changes: 26 additions & 0 deletions m4/issm_options.m4
Original file line number Diff line number Diff line change
Expand Up @@ -2341,6 +2341,32 @@ AC_DEFUN([ISSM_OPTIONS],[
AC_MSG_RESULT([${GMSH_VERSION_MAJOR}])
AC_DEFINE_UNQUOTED([_GMSH_VERSION_MAJOR_], ${GMSH_VERSION_MAJOR}, [Gmsh major version])
fi
dnl }}}
dnl PyBind11{{{
AC_MSG_CHECKING([for pybind11])
AC_ARG_WITH(
[pybind11-include],
AS_HELP_STRING([--with-pybind11-include=DIR], [PyBind11 include directory, necessary for emulator integration]),
[PyBind11INCL=${withval}],
[PyBind11INCL=""]
)
AC_ARG_WITH(
[pybind11-libflags],
AS_HELP_STRING([--with-pybind11-libflags=LIBS], [PyBind11 libraries to be used, necessary for emulator integration]),
[PyBind11LIB=${withval}],
[PyBind11LIB=""]
)
if test -z "${PyBind11INCL}"; then
HAVE_PyBind11=no
else
HAVE_PyBind11=yes

AC_DEFINE([_HAVE_PyBind11_], [1], [with PyBind11 in ISSM src])
AC_SUBST([PyBind11INCL])
AC_SUBST([PyBind11LIB])
fi
AM_CONDITIONAL([PyBind11], [test "x${HAVE_PyBind11}" == "xyes"])
AC_MSG_RESULT([${HAVE_PyBind11}])
dnl }}}
dnl Capabilities
dnl with-bamg{{{
Expand Down
20 changes: 19 additions & 1 deletion src/c/Makefile.am
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
AM_CPPFLAGS = @NEOPZINCL@ @DAKOTAINCL@ @TRIANGLEINCL@ @PETSCINCL@ @AMPIINCL@ @MEDIPACKINCL@ @MPIINCL@ @PARMETISINCL@ @METISINCL@ @CHACOINCL@ @PLAPACKINCL@ @MKLINCL@ @MUMPSINCL@ @SPAIINCL@ @HYPREINCL@ @PROMETHEUSINCL@ @SUPERLUINCL@ @SPOOLESINCL@ @PASTIXINCL@ @MLINCL@ @TAOINCL@ @ADOLCINCL@ @CODIPACKINCL@ @ADJOINTPETSCINCL@ @GSLINCL@ @BOOSTINCL@ @ESMFINCL@ @PROJINCL@ @MPLAPACKINCL@
AM_CPPFLAGS = @NEOPZINCL@ @DAKOTAINCL@ @TRIANGLEINCL@ @PETSCINCL@ @AMPIINCL@ @MEDIPACKINCL@ @MPIINCL@ @PARMETISINCL@ @METISINCL@ @CHACOINCL@ @PLAPACKINCL@ @MKLINCL@ @MUMPSINCL@ @SPAIINCL@ @HYPREINCL@ @PROMETHEUSINCL@ @SUPERLUINCL@ @SPOOLESINCL@ @PASTIXINCL@ @MLINCL@ @TAOINCL@ @ADOLCINCL@ @CODIPACKINCL@ @ADJOINTPETSCINCL@ @GSLINCL@ @BOOSTINCL@ @ESMFINCL@ @PROJINCL@ @MPLAPACKINCL@ @PyBind11INCL@
AM_FCFLAGS = @SEMICINCL@

AUTOMAKE_OPTIONS = subdir-objects
Expand Down Expand Up @@ -182,6 +182,7 @@ issm_sources += \
./shared/Elements/PrintArrays.cpp \
./shared/Elements/PddSurfaceMassBalance.cpp \
./shared/Elements/PddSurfaceMassBalanceSicopolis.cpp \
./shared/Elements/PddSurfaceMassBalanceFast.cpp \
./shared/Elements/ComputeDelta18oTemperaturePrecipitation.cpp \
./shared/Elements/ComputeMungsmTemperaturePrecipitation.cpp \
./shared/Elements/ComputeD18OTemperaturePrecipitationFromPD.cpp \
Expand Down Expand Up @@ -492,6 +493,9 @@ endif
if HYDROLOGYARMAPW
issm_sources += ./analyses/HydrologyArmapwAnalysis.cpp
endif
if HYDROLOGYPRESCRIBE
issm_sources += ./analyses/HydrologyPrescribeAnalysis.cpp
endif
if L2PROJECTIONEPL
issm_sources += ./analyses/L2ProjectionEPLAnalysis.cpp
endif
Expand Down Expand Up @@ -581,6 +585,11 @@ if OCEAN
issm_sources += ./modules/OceanExchangeDatax/OceanExchangeDatax.cpp
endif
#}}}
# PyBind11{{{
if PyBind11
issm_sources += ./classes/Params/EmulatorParam.cpp
endif
#}}}
# Sampling sources {{{
if SAMPLING
issm_sources += \
Expand Down Expand Up @@ -860,28 +869,37 @@ LDADD += $(OSLIBS)

issm_SOURCES = main/issm.cpp
issm_CXXFLAGS= $(CXXFLAGS)
issm_DEPENDENCIES = libISSMCore.la libISSMModules.la

issm_slc_SOURCES = main/issm_slc.cpp
issm_slc_CXXFLAGS= $(CXXFLAGS)
issm_slc_DEPENDENCIES = libISSMCore.la libISSMModules.la

if OCEAN
bin_PROGRAMS += issm_ocean
issm_ocean_SOURCES = main/issm_ocean.cpp
issm_ocean_CXXFLAGS= $(CXXFLAGS)
issm_ocean_DEPENDENCIES = libISSMCore.la libISSMModules.la
endif

if KRIGING
bin_PROGRAMS += kriging
kriging_SOURCES = main/kriging.cpp
kriging_CXXFLAGS= $(CXXFLAGS)
kriging_DEPENDENCIES = libISSMCore.la libISSMModules.la
endif

if ISSM_DAKOTA
bin_PROGRAMS += issm_dakota
issm_dakota_SOURCES = main/issm_dakota.cpp
issm_dakota_CXXFLAGS= $(CXXFLAGS)
issm_dakota_DEPENDENCIES = libISSMCore.la libISSMModules.la
bin_PROGRAMS += issm_post
issm_post_SOURCES = main/issm_post.cpp
issm_post_CXXFLAGS= $(CXXFLAGS)
issm_post_DEPENDENCIES = libISSMCore.la libISSMModules.la
endif
#}}}

# Ensure install does not run before build completes
install-exec-local: $(lib_LTLIBRARIES) $(bin_PROGRAMS)
1 change: 1 addition & 0 deletions src/c/analyses/EnthalpyAnalysis.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@ void EnthalpyAnalysis::CreateConstraints(Constraints* constraints,IoModel* iomod
if(smb_model==SMBpddEnum) isdynamic=true;
if(smb_model==SMBd18opddEnum) isdynamic=true;
if(smb_model==SMBpddSicopolisEnum) isdynamic=true;
if(smb_model==SMBpddFastEnum) isdynamic=true;
}

/*Convert spcs from temperatures to enthalpy*/
Expand Down
3 changes: 3 additions & 0 deletions src/c/analyses/EnumToAnalysis.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -94,6 +94,9 @@ Analysis* EnumToAnalysis(int analysis_enum){
#ifdef _HAVE_HYDROLOGYSHREVE_
case HydrologyShreveAnalysisEnum : return new HydrologyShreveAnalysis();
#endif
#ifdef _HAVE_HYDROLOGYPRESCRIBE_
case HydrologyPrescribeAnalysisEnum: return new HydrologyPrescribeAnalysis();
#endif
#ifdef _HAVE_L2PROJECTIONBASE_
case L2ProjectionBaseAnalysisEnum : return new L2ProjectionBaseAnalysis();
#endif
Expand Down
Loading
Loading