Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
ef51538
added draft of access-issm configuration for alpha release
justinh2002 May 1, 2025
2114ed4
added index.md modification to include access-issm
justinh2002 May 6, 2025
50008ec
added run access issm markdown and indexing
justinh2002 May 6, 2025
e216f99
added navigation for issm
justinh2002 May 6, 2025
0735336
updates to run a model
justinh2002 Jul 2, 2025
8255476
removed mosrs mentions
justinh2002 Jul 2, 2025
d630b51
minor fixes
justinh2002 Jul 11, 2025
9711141
mismip driver details
justinh2002 Jul 14, 2025
ce160b2
full changes to run a modle
justinh2002 Jul 14, 2025
d2dab86
full changes to run a model vdi are
justinh2002 Jul 14, 2025
eb07a44
updates
justinh2002 Jul 21, 2025
08014cc
Update docs/models/configurations/access-issm.md
justinh2002 Aug 20, 2025
9909cb2
Update docs/models/run-a-model/run-access-issm.md
justinh2002 Aug 20, 2025
73cdc1f
Update docs/models/configurations/access-issm.md
justinh2002 Aug 20, 2025
6b1aac1
Update docs/models/configurations/access-issm.md
justinh2002 Aug 20, 2025
04bfe14
Update docs/models/run-a-model/run-access-issm.md
justinh2002 Aug 20, 2025
33bfb77
amend to use vk83 build
justinh2002 Oct 7, 2025
f0ccb48
fix name
justinh2002 Oct 7, 2025
3875259
fix name
justinh2002 Oct 8, 2025
d3e4a48
fix name
justinh2002 Oct 8, 2025
6ffbf7b
amend name
justinh2002 Oct 8, 2025
3597d39
spelling errors
justinh2002 Oct 8, 2025
660c578
Update run-access-issm.md
headmetal Oct 10, 2025
fcd2376
change to dev branch
justinh2002 Oct 10, 2025
a352d14
Fixes after rebasing to development
atteggiani Oct 10, 2025
1ec0698
Changed filename
atteggiani Oct 31, 2025
d46cfad
Remove git conflict info wrongly committed
ccarouge Nov 3, 2025
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
66 changes: 66 additions & 0 deletions docs/models/access_models/access-issm.md
Copy link
Copy Markdown
Contributor

@atteggiani atteggiani Aug 19, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In general there are some terms within this file that are very specific to the model / configuration. I think for a beginner it might not be clear what they refer to.

I would suggest either changing these terms to use more "neutral" names, if possible. Otherwise, adding a more comprehensive description of the model that mentions and quickly explains these terms used later on in the page (e.g., "driver", "SSA", "HO / FS", etc.)

Also, I see some Latex functions that are not rendered propely. For instructions on how to render these functions using the arithmatex extension (already available) please see https://squidfunk.github.io/mkdocs-material/reference/math/#usage

Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
!!! release
This is a Beta Release.
Any model configuration and related source code mentioned in this page might change before the full release.
Limited support is currently provided for this model. Its usage is only recommended for testing by experienced users and collaborators.

# ACCESS‑ISSM

![ACCESS‑ISSM model](/assets/model-config-logos/configurations-without-titles/access-issm.png){: .img-contain .white-background .round-edges .with-padding .intro-img loading="lazy"}
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The file /assets/model-config-logos/configurations-without-titles/access-issm.png needs to be added.


The ACCESS Ice-Sheet and Sea-Level System Model (ACCESS‑ISSM) is a global ice‑sheet and ice‑shelf model based on the [ISSM](/models/model_components/ice-sheet) framework. It supports standalone ice dynamics and optional coupling to ocean and atmospheric forcing.

## Configurations
ACCESS-ISSM provides the following released configurations:

- [Marine Ice-Sheet Model Intercomparison Project (MISMIP)](#mismip)

### Marine Ice-Sheet Model Intercomparison Project (MISMIP) {: #mismip }
The _MISMIP_ configuration reproduces the Marine Ice‑Sheet Model Intercomparison Project benchmark in ACCESS‑ISSM. It is intended for code regression tests, parameter experiments and numerical‑scheme development.

### 1.1 Domain & Physics
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
### 1.1 Domain & Physics
#### Domain & Physics


- **Geometry**: 800 km × 80 km Cartesian slab; flat bed at –1500 m; ocean at the downstream end.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What does "Geometry" mean here? Is 800 x 80 km the full horizontal extension of an experiment?
I would change it to "Domain"

- **Boundary conditions**: Marine ice sheet with grounding line migration; zero inflow at upstream wall; periodic lateral boundaries (y‑direction).
- **Flow law**: Glen’s \(n = 3\) unless stated otherwise.
- **Thermodynamics**: Isothermal (268 K) in the benchmark script.
- **Available solvers**:
- **SSA**: default transient spin‑up.
- **HO / FS**: optional higher‑order checks (after 3‑D extrusion).

### 1.2 Mesh Options
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
### 1.2 Mesh Options
### Mesh Options

What mesh? Is this the model grid?
If so, I would change it to something like "Model Resolutions"


| Nominal Δx (m) | Label in driver | Typical vertex count | Use‑case |
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
| Nominal Δx (m) | Label in driver | Typical vertex count | Use‑case |
| Nominal Δx (m) | Label in driver | Typical vertex count | Typical use‑case |

What driver? It's not clear if not mentioned earlier

| -------------- | -------------------------------- | -------------------- | ------------------------- |
| 2000 | `2km_viscous` or `2km_coulomb` |  ≈ 160 × 16 k | Fast test runs |
| 1000 | `1km_viscous` or `1km_coulomb` |  ≈ 320 × 32 k | Standard benchmark |
| 500 | `500m_viscous` or `500m_coulomb` |  ≈ 640 × 64 k | Convergence studies |
| 200 | `200m_viscous` or `200m_coulomb` |  ≈ 1600 × 160 k | High‑resolution reference |

**Basal friction law** options:

- **Viscous** (power‑law, \(m = 3\)): `*_viscous` labels.
- **Coulomb** (plastic till): `*_coulomb` labels, using \(\tau\_b = C_0 + C\_c |\sigma\_n|\).
Comment on lines +39 to +42
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These look like "physics" options to me, not related to the "mesh". I would probably move them within the "Domain & Physics" paragraph above.


### 1.3 Workflow Steps
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
### 1.3 Workflow Steps
### Workflow Steps


The driver script (see `mismip_driver.py`) is orchestrated by an *organizer* object. Key stages:

1. **Mesh\_generation** → BAMG generates unstructured triangular mesh at chosen resolution.
2. **Parameterization** → masks & initial geometry via `Mismip.py`.
3. **Transient\_Steadystate** → 200 kyr relaxation with SSA.
4. *(optional)* **Transient\_extrude** → extrude to 3‑D and switch to HO.
5. **GlenSSA / GlenMOLHO / GlenHO** → Glen‐law transient experiments.
6. **ESTARSSA / ESTARHO** → dual‐E (star) rheology experiments.
7. **analyse** → automatic velocity‑field comparison and summary plots.

To **run only the first comparison plot** on Gadi, adapt the example job script below (full listing in docs):

```bash
qsub run_mismip_first.sh # runs steps 1–7 and stops
Comment on lines +44 to +59
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this section belongs to the "Run a model" page, not here within the model overview section.

```
> **Warning**
> ACCESS‑ISSM is in alpha. Expect API changes and incomplete documentation. Use for testing and development only.
Comment on lines +61 to +62
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
> **Warning**
> ACCESS‑ISSM is in alpha. Expect API changes and incomplete documentation. Use for testing and development only.


More details, examples and forcing files are available on the [ACCESS‑ISSM GitHub](https://github.com/ACCESS-NRI/access-issm).
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
More details, examples and forcing files are available on the [ACCESS‑ISSM GitHub](https://github.com/ACCESS-NRI/access-issm).
More details are available on the [ACCESS‑ISSM GitHub](https://github.com/ACCESS-NRI/access-issm).


[Run ACCESS‑ISSM](/models/run-a-model/run_access-issm){: .text-card }
9 changes: 9 additions & 0 deletions docs/models/run_a_model/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,4 +49,13 @@ If you are unsure which ACCESS model is the best fit for your application, you c
Run ACCESS-rAM
</div>
</a>
<!-- Run ACCESS-ISSM -->
<a href="/models/run-a-model/run_access-issm" class="vertical-card aspect-ratio1to1">
<div class="card-image-container">
<img class="img-contain with-padding white-background" src="/assets/model-config-logos/model_visualisation/access_ram_model_visualisation.png" alt="ACCESS-ISSM">
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is a visualisation image already available?
If so, please substitute that with the image here, otherwise, please add it to the agenda of the upcoming WebOps meeting for Owen (or someone else) to provide one.

</div>
<div class="card-text-container bold">
Run ACCESS-ISSM
</div>
</a>
</div>
179 changes: 179 additions & 0 deletions docs/models/run_a_model/run_access-issm.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,179 @@
{% set model = "ACCESS-ISSM" %}
{% set pps_id = "u-ppppp" %} {# Pre‑Processing Suite ID (placeholder) #}
{% set run_id = "u-rrrrr" %} {# Main Run Suite ID (placeholder) #}
{% set branch = "access_rel_1" %}
{% set pps_config = "https://github.com/ACCESS-NRI/access-issm/tree/main/pps" %}
{% set run_config = "https://github.com/ACCESS-NRI/access-issm/tree/main/run" %}
Comment on lines +2 to +6
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
{% set pps_id = "u-ppppp" %} {# Pre‑Processing Suite ID (placeholder) #}
{% set run_id = "u-rrrrr" %} {# Main Run Suite ID (placeholder) #}
{% set branch = "access_rel_1" %}
{% set pps_config = "https://github.com/ACCESS-NRI/access-issm/tree/main/pps" %}
{% set run_config = "https://github.com/ACCESS-NRI/access-issm/tree/main/run" %}

{% set model_configurations = "/models/access-issm" %}
{% set release_notes = "https://forum.access-hive.org.au/t/access-issm-release-information/XXXX" %}
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please add the link to the actual release notes.
If the release notes page is not available yet, I suggest drafting one within the ACCESS-NRI Forum Category (private) and add the link to that.
At release time, that release notes topic can be moved to the relevant category. Its link would not change.

[Cluster job guide]: https://opus.nci.org.au/display/Help/4.+PBS+Jobs
[model components]: {{ model_configurations }}/#model-components
Comment on lines +9 to +10
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
[Cluster job guide]: https://opus.nci.org.au/display/Help/4.+PBS+Jobs
[model components]: {{ model_configurations }}/#model-components

[gadi]: https://opus.nci.org.au/display/Help/0.+Welcome+to+Gadi#id-0.WelcometoGadi-Overview
[default project]: /getting_started/set_up_nci_account#change-default-project-on-gadi
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
[default project]: /getting_started/set_up_nci_account#change-default-project-on-gadi


Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
{% set github_configs = "https://github.com/ACCESS-NRI/access-issm-configs" %}

This repo currently doesn't exist.
See comment below related to access-issm-configs for context.

!!! release
This is a Beta Release.
Any model configuration and related source code mentioned in this page might change before the full release.
Limited support is currently provided for this model. Its usage is only recommended for testing by experienced users and collaborators.

# Run {{ model }}

## 1 About
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
## 1 About
## About


{{ model }} integrates the **Ice-sheet and Sea-level System Model (ISSM)** to the ACCESS climate modelling framework, enabling fully parallel ice‑sheet simulations on the [NCI _Gadi_ supercomputer][gadi].

It is maintained and supported by **ACCESS‑NRI**.
A high‑level description of model components including the ISSM core, pre‑processing utilities and forcing data are available in the [{{ model }} overview]({{ model_configurations }}/#{{ model }}).

The example below reproduces the ISSM controbution to the third [Marine Ice Sheet Model Intercomparison Project](https://tc.copernicus.org/articles/14/2283/2020/) (MISMIP+) benchmark for ice flow models.

## 2 Prerequisites
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
## 2 Prerequisites
## Prerequisites


!!! warning
To run {{ model }}, you need to be a member of a project with allocated _Service Units (SU)_. For more information, check [how to join relevant NCI projects](/getting_started/set_up_nci_account#join-relevant-nci-projects).

- **NCI Account**<br>
Before running {{ model }}, you need to [Set Up your NCI Account](/getting_started/set_up_nci_account).

- **Join NCI projects**<br>
Join the following projects by requesting membership on their respective NCI project pages:

- [vk83](https://my.nci.org.au/mancini/project/vk83/join)
- [xp65](https://my.nci.org.au/mancini/project/xp65/join)

For more information on joining specific NCI projects, refer to [How to connect to a project](https://opus.nci.org.au/display/Help/How+to+connect+to+a+project).

- **Modules**

Load the following modules:

```bash
module load python3/3.9.2 #3.10.4
module load git
```

---

## 3  Quick‑start (Gadi login node)
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
## 3  Quick‑start (Gadi login node)
## Quick Start guide


To run he model, a NCI project code with available compute allocation is required.

```bash
# 0. Choose a working directory for this test
$ mkdir -p ~/experiments/mismip && cd ~/experiments/mismip

# 1. Clone the ACCESS-ISSM repository (alpha branch)
$ git clone --branch development \
https://github.com/ACCESS-NRI/access-issm.git

# 2. Load the ACCESS-ISSM module (vk83 deployment)
$ module use /g/data/vk83/modules
$ module load access-issm

# 3. Pre-process (mesh + inputs)
$ cp access-issm/test/run_pps.sh ./
$ qsub -P <NCI_PROJECT_CODE> run_pps.sh
# Alternatively use `bash run_pps.sh` inside a pInteractive job.
# Replace "<NCI_PROJECT_CODE>" with your active project code.

# 4. When PPS finishes, run the first experiment bundle
$ cp access-issm/examples/mismip/run_mismip_first.sh ./
$ qsub run_mismip_first.sh # generates SSA vs ESTAR comparison plot
```

Outputs:

- Mesh + forcing NetCDF/HDF5 → `scratch/$PROJECT/$USER/mismip_pps/inputs/`
- ISSM state & plots → `scratch/$PROJECT/$USER/mismip_run/Models_*/*`

---

## 4  Running from ARE Desktop

> ARE provides a GUI VDI plus a terminal already SSH‑tunnelled to *gadi-login*.

1. **Launch VDI** – open [https://are.nci.org.au](https://are.nci.org.au), choose **Gadi Desktop (x64)**, click **Launch**.
2. **Gadi Terminal** – inside the desktop, open **Gadi Remote Terminal**.
3. **Reserve nodes** (optional but recommended):
```bash
persistent-sessions start issm
echo "issm.${USER}.au88.ps.gadi.nci.org.au" > \
~/.persistent-sessions/cylc-session
```
4. **Load env + clone** – as in Quick‑start (`module …`, `git clone …`).
5. **Pre‑process & Run** – submit the same `run_pps.sh` / `run_mismip_first.sh` with `qsub`.
6. **Monitor** – `qstat -u $USER`, or `tail -f pps.o<jobid>` in a terminal; use ARE’s Paraview for quick looks.
7. **Release nodes** when finished:
```bash
persistent-sessions stop issm
```

*Tips*

- Heavy solves **must** run on the reserved nodes, not on the VDI itself.
- VDI sessions expire after 12 h; jobs keep running.

Comment on lines +90 to +115
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we really need to advertise running it from an ARE VDI Desktop? What's the advantage of it, compared to a login node?
The only thing that comes to my mind is the presence of the pre-processing step, but if that is too "resource-intensive" or needs parallelisation, to avoid running it directly on a login node we can "advertise" running it through a PBS submission (qsub run_pps.sh ) as already specified above.

Also, why is there a persistent-sessions call here? Does ACCESS-ISSM use Cylc?

---

## 5  File structure
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
## 5  File structure
## File structure

Which file structure? The output directory? The "experiment" directory? other directory?


```
experiments/mismip/
├── access-issm/ # git clone (alpha branch)
│ └── examples/mismip/
│ ├── mismip_driver.py # full driver script (all steps)
│ ├── run_pps.sh # helper: submits PPS job
│ └── run_mismip_first.sh # helper: submits early RUN job (steps 1‑7)
├── run_pps.sh # copied helper – edit walltime/resources here
└── run_mismip_first.sh # copied helper – edit nodes/time as needed
```

---

## 6  Editing job scripts

Both helper scripts are standard PBS batch files. Typical tweaks:

| Directive | Default | Change when… |
| ------------------ | ---------- | ------------------------------------------------------------------ |
| `#PBS -P` | `au88` | Running under a different project code |
| `#PBS -l ncpus` | `32` | Mesh resolution < 1 km → reduce to 8–16 ; very high‑res → increase |
| `#PBS -l walltime` | `48:00:00` | Convergence problems: extend |

For quick interactive debugging you can run the driver directly inside an *ARE* Desktop or `qsub -I` session:

```bash
$ python mismip_driver.py # uses default steps list
```
Comment on lines +133 to +147
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please follow the structure used in ACCESS-OM3 edit configuration: write a sub-paragraph for each specific modification that we expect users would want to do, for example:

# Edit {{ model }} configuration
## Change running project
....
## Change mesh resolution
...
## Change walltime
...

Also, changing the walltime is usually not something directly needed, but it's needed in case other changes are in place (or some problems occur). In this case I would still add a paragraph here, and then link it if there are mentions of cases in which a walltime change is needed.
For example I would list the "convergence problem" in troubleshooting and link the "change walltime" paragraph for instructions.


### {{ model }} configuration

Key configurable groups (edit the configuration files as needed):

| Suite | Section | Purpose |
|-------|--------------------|----------------------------------------------------------------------|
| **PPS** | Domain setup | Projection, bounds, resolution, MUA/SSA blend law, etc. |
| | Datasets | Surface mass balance, basal friction, geothermal heat, geometry DEMs |
| **RUN** | Time-stepping | `INITIAL_CYCLE_POINT`, `FINAL_CYCLE_POINT`, dt, adaptive settings |
| | Physics options | Flow law, calving, melting parameterisations |
| | Resources | MPI tasks, OpenMP threads, walltime |

After editing configurations, simply re-run the corresponding suite’s script.

## 7 Troubleshooting

* **NaNs in solver residuals** – try a smaller time‑step (`dt`) or increase the number of Picard iterations in the StressbalanceAnalysis.
* **PETSc convergence errors** – confirm that `md.stressbalance.reltol` is properly set and not `NaN`; consider using hardware‑specific builds of PETSc ≥ 3.20.
* **Job submission hangs** – check the log files for errors, verify that your module paths and environment variables (e.g., ISSM_DIR) are correctly set, and ensure proper resource allocation in your job scripts.

## Get help

Ask questions in the [ACCESS‑ISSM category](https://forum.access-hive.org.au/c/cryosphere/access-issm/) on ACCESS‑Hive, or email **support@access‑nri.org.au** with your suite ID and a log excerpt.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Ask questions in the [ACCESS‑ISSM category](https://forum.access-hive.org.au/c/cryosphere/access-issm/) on ACCESS‑Hive, or email **support@access‑nri.org.au** with your suite ID and a log excerpt.
For further {{ model }} assistance, have a look at [general guidance](/about/user_support/#still-need-help) on how to request help from ACCESS-NRI. Specifically, consider creating a topic in the [{{ model }} category of the ACCESS-Hive Forum](https://forum.access-hive.org.au/c/access-issm/). In the case of a configuration bug, please [raise a GitHub issue](https://github.com/ACCESS-NRI/access-issm/issues/new).

Just note the forum category is not correct. ACCESS-ISSM category on the forum does not exist. Please change it (with the correct link) to the appropriate category.


---

<custom-references>
- ISSM User Guide: https://issm.jpl.nasa.gov/documentation
- ACCESS‑NRI ISSM build recipe: https://github.com/ACCESS-NRI/access-issm
- NCI Cylc docs: https://opus.nci.org.au/display/DAE/Run+Cylc7+Suites
</custom-references>
2 changes: 2 additions & 0 deletions mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,7 @@ nav:
- ACCESS-ESM: models/access_models/access-esm.md
- ACCESS-OM: models/access_models/access-om.md
- ACCESS-rAM: models/access_models/access-ram.md
- ACCESS-ISSM: models/access_models/access-issm.md
- Model Components:
- models/model_components/index.md
- Atmosphere: models/model_components/atmosphere.md
Expand All @@ -128,6 +129,7 @@ nav:
- Run ACCESS-OM2: models/run_a_model/run_access-om2.md
- Run ACCESS-OM3: models/run_a_model/run_access-om3.md
- Run ACCESS-rAM: models/run_a_model/run_access-ram.md
- Run ACCESS-ISSM: models/run_a_model/run_access-issm.md
- Build a Model:
- models/build_a_model/index.md
- Modify and build an ACCESS model's source code: models/build_a_model/build_source_code.md
Expand Down
Loading