Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
470 commits
Select commit Hold shift + click to select a range
9f3fd4c
More trys to deal with OOM
aaschwanden May 14, 2026
7d3e527
Work on Frank ice thickness
aaschwanden May 14, 2026
cbb1640
Prepare Frank et al ice thickness
aaschwanden May 18, 2026
1bbdc55
Clean exit for pism-glacier-run when called without args
aaschwanden May 19, 2026
a26a0a7
Clean up
aaschwanden May 20, 2026
686d994
Work on mean climate for ERA5 for initialization
aaschwanden May 20, 2026
c7f31b2
Added a new config file
aaschwanden May 20, 2026
6dfc92f
Removed RunConfig
aaschwanden May 20, 2026
d4b2b77
Fixed missing executable
aaschwanden May 20, 2026
4e645cb
Setting JINJA2 defaults
aaschwanden May 20, 2026
12c13a9
Fixed apptainer template
aaschwanden May 20, 2026
05d74e7
Fixed line break
aaschwanden May 20, 2026
c37730a
Working on pism_async_writer integration
aaschwanden May 20, 2026
c541967
Recovered accidental overwrite
aaschwanden May 20, 2026
90f135e
Work on initialization testing
aaschwanden May 22, 2026
21eb1a7
Work on ISMIP7
aaschwanden May 22, 2026
720d30c
Added async apptainer
aaschwanden May 22, 2026
187cf2c
Added 1year run
aaschwanden May 22, 2026
b219229
Fixed whitespace
aaschwanden May 22, 2026
5b17256
Fixed postprocessing.
aaschwanden May 23, 2026
bfe8409
Switched to netcdf4
aaschwanden May 23, 2026
0088e72
Debugging postprocessing
aaschwanden May 23, 2026
8463568
Switching to print
aaschwanden May 23, 2026
8fbc281
More debugging.
aaschwanden May 23, 2026
1656f02
The previous work but loaded into memory
aaschwanden May 23, 2026
c261213
New dEBM params for RMSE with block-correlation
aaschwanden May 23, 2026
3132c02
Removed spatial writes of postprocess
aaschwanden May 24, 2026
652c53f
Work on KITP`
aaschwanden May 26, 2026
d742cea
Runner/stage refactor: config_cli dict, --stress-balance, parallel st…
aaschwanden May 26, 2026
530c0c9
Add pism-validate CLI; switch staging validation to ProcessPoolExecutor
aaschwanden May 26, 2026
cb5497b
Added missing file
aaschwanden May 28, 2026
9653e96
ITS_LIVE: auto-select per-region v2.1 COG; restore grid_mapping on …
aaschwanden May 28, 2026
3899694
Added Config file
aaschwanden May 28, 2026
d343cee
Yearly writing
aaschwanden May 28, 2026
0aa3c4f
CRS/grid_mapping cleanup:
aaschwanden May 29, 2026
c0ce23c
Started on KITP writer.
aaschwanden May 29, 2026
9ed9b4b
Merge branch 'feature/s4f' of github.com:/pism/pism-terra into featur…
aaschwanden May 29, 2026
8eea990
Added new template to test writer
aaschwanden May 29, 2026
e7f6ff4
Merge branch 'feature/s4f' of github.com:pism/pism-terra into feature…
aaschwanden May 29, 2026
4c73fa5
Got a basic writer for KITP to work
aaschwanden May 29, 2026
636abeb
Added testing J2 file for chinook with kitp writer
aaschwanden May 29, 2026
98217f6
Testing new env with mpi4py
aaschwanden May 29, 2026
6c43e50
Add Sphinx docs skeleton in the style of xDEM
aaschwanden May 30, 2026
05e8b5c
Updated pre-commit
aaschwanden May 30, 2026
ad86097
Merge branch 'feature/s4f' of github.com:pism/pism-terra into feature…
aaschwanden May 30, 2026
d19512b
Merge branch 'feature/s4f' into aaschwanden/docs
aaschwanden May 30, 2026
21ed8b9
Work on docs
aaschwanden May 31, 2026
9482402
Fixed staging of climate files
aaschwanden May 31, 2026
3d3d2fa
Work on pytest doc test
aaschwanden May 31, 2026
1f005b2
Work on docs
aaschwanden Jun 1, 2026
4471273
Updated installation
aaschwanden Jun 1, 2026
fe5c11b
Work on docs
aaschwanden Jun 1, 2026
82c8ba2
added logo
aaschwanden Jun 1, 2026
a77f40c
Added a sentence
aaschwanden Jun 1, 2026
8d9f783
Updated the logo
aaschwanden Jun 1, 2026
400a3e0
Added logo
aaschwanden Jun 1, 2026
8c84f86
Add local_scale_factor for CRS-agnostic velocity transforms
aaschwanden Jun 1, 2026
bac9228
Added missing packages
aaschwanden Jun 1, 2026
a1f0686
Turned text object into path for PISM logo
aaschwanden Jun 1, 2026
48a91f1
Merge branch 'aaschwanden/summer-school' of github.com:pism/pism-terr…
aaschwanden Jun 1, 2026
1dedd5a
added start and end to CLI for all run scripts
aaschwanden Jun 2, 2026
2ff55da
Updated docs
aaschwanden Jun 2, 2026
bee3915
Updated kitp writer J1
aaschwanden Jun 2, 2026
c0d5c90
Trying to fix chinook async
aaschwanden Jun 2, 2026
bbabb11
removed I_MIP
aaschwanden Jun 2, 2026
67a75dc
Merge branch 'aaschwanden/summer-school'
aaschwanden Jun 2, 2026
efef505
Fixed merge issues
aaschwanden Jun 2, 2026
b467511
Removed file
aaschwanden Jun 2, 2026
bed75b3
Merge pull request #27 from pism/aaschwanden/summer-school
aaschwanden Jun 2, 2026
2d90963
Re-adding chinook std template
aaschwanden Jun 3, 2026
7e85706
Merge branch 'aaschwanden/summer-school' of github.com:/pism/pism-ter…
aaschwanden Jun 3, 2026
07cff86
Merge branch 'aaschwanden/summer-school' of github.com:/pism/pism-ter…
aaschwanden Jun 3, 2026
226dfe6
Chinook changed modules
aaschwanden Jun 3, 2026
d775020
Merge branch 'aaschwanden/summer-school' of github.com:/pism/pism-ter…
aaschwanden Jun 3, 2026
2646134
another try
aaschwanden Jun 3, 2026
f537e72
Merge branch 'aaschwanden/summer-school' of github.com:/pism/pism-ter…
aaschwanden Jun 3, 2026
ca32bd2
deactivate conda
aaschwanden Jun 3, 2026
92bf223
Updated analysis for KITP
aaschwanden Jun 3, 2026
4a8c401
Merge branch 'aaschwanden/summer-school' of github.com:pism/pism-terr…
aaschwanden Jun 3, 2026
c0dcab8
Monthly reporting for KITP
aaschwanden Jun 3, 2026
468d04a
Setup GlacierMIP4
aaschwanden Jun 4, 2026
e4b950f
Work on inversion
aaschwanden Jun 5, 2026
7dc7234
Moved summer school project description
aaschwanden Jun 5, 2026
9e48782
Work on inversion
aaschwanden Jun 5, 2026
0c6d822
Merge pull request #30 from pism/aaschwanden/summer-school
aaschwanden Jun 5, 2026
eb3146b
removed unused files
aaschwanden Jun 5, 2026
b324db4
PISM Cloud Job Notebook
aaschwanden Jun 5, 2026
e05999a
Updated README with docs
aaschwanden Jun 5, 2026
9086cb1
Added Docs badge
aaschwanden Jun 5, 2026
8e7d39d
Cloud example
aaschwanden Jun 5, 2026
a1de382
Cleaned cloud notebook
aaschwanden Jun 5, 2026
da43fbd
Work on tutorial
aaschwanden Jun 5, 2026
1ef1d9f
Fixed environment
aaschwanden Jun 5, 2026
14a392d
Fixed files
aaschwanden Jun 5, 2026
39e3b45
Merge branch 'aaschwanden/summer-school' of github.com:/pism/pism-ter…
aaschwanden Jun 5, 2026
eb37483
Merge pull request #31 from pism/aaschwanden/summer-school
aaschwanden Jun 5, 2026
4e05d93
Fix bathymetry
aaschwanden Jun 6, 2026
fc947d1
Work on KITP
aaschwanden Jun 7, 2026
9df1d81
Merge branch 'aaschwanden/summer-school' of github.com:pism/pism-terr…
aaschwanden Jun 7, 2026
1cce139
Updated runs
aaschwanden Jun 7, 2026
eb4327c
Work on Cloud Notebook
aaschwanden Jun 7, 2026
e1c3e57
Work on Cloud examples
aaschwanden Jun 7, 2026
b55a565
Adjusted KITP ro median run
aaschwanden Jun 7, 2026
6baa53d
Merge pull request #32 from pism/aaschwanden/summer-school
aaschwanden Jun 7, 2026
bf784fe
Update Dockerfile to summer-school tag
aaschwanden Jun 7, 2026
8e83e2c
Consolidate glacier run CLIs into forward/inverse pair
aaschwanden Jun 8, 2026
12c309f
Adding millan ice thickness back
aaschwanden Jun 8, 2026
dae0f67
Fixed y writing order to work with QGIS
aaschwanden Jun 8, 2026
0b2d13c
Merge pull request #33 from pism/aaschwanden/summer-school
aaschwanden Jun 8, 2026
c660194
Switch to inverse branch as PISM container
aaschwanden Jun 8, 2026
2eb602f
Merge branch 'main' of github.com:pism/pism-terra
aaschwanden Jun 8, 2026
9ac5dce
Updated to inverse branch
aaschwanden Jun 8, 2026
e08e463
Merge pull request #34 from pism/aaschwanden/summer-school
aaschwanden Jun 8, 2026
8b16699
Merge branch 'main' of github.com:pism/pism-terra
aaschwanden Jun 8, 2026
5504079
Setting bed smoothing to 500m for glacier stuff
aaschwanden Jun 8, 2026
9cf4902
Removed calving front BC for RGI/S4F
aaschwanden Jun 8, 2026
d1110e1
Work on description
aaschwanden Jun 9, 2026
e5a2e05
Handle optional arguments from HyP3 and specify docker image better
jhkennedy Jun 9, 2026
1d3f504
Merge pull request #35 from pism/jhk-pism-cloud-updates
aaschwanden Jun 9, 2026
672f255
Use new runtime env for Docker build
aaschwanden Jun 9, 2026
27e99cb
Use runtime env as default
aaschwanden Jun 9, 2026
bafb274
Merge pull request #37 from pism/aaschwanden/summer-school
aaschwanden Jun 9, 2026
fb1335f
Updated notes
aaschwanden Jun 9, 2026
d873fce
Merge branch 'main' into aaschwanden/summer-school
aaschwanden Jun 9, 2026
29a40d0
Updated Changelog
aaschwanden Jun 9, 2026
aabc691
Merge pull request #38 from pism/aaschwanden/summer-school
aaschwanden Jun 9, 2026
d2a54f5
make the bots happy
jhkennedy Jun 9, 2026
59e2279
update python version for tests
jhkennedy Jun 9, 2026
9917fcc
restrict to python 3.12; conda-ify dask install
jhkennedy Jun 9, 2026
5afe523
update micromamba action
jhkennedy Jun 9, 2026
abe9194
install testing packages
jhkennedy Jun 9, 2026
586467b
update actions
jhkennedy Jun 9, 2026
e94662b
Merge pull request #36 from pism/jhk-pism-cloud-updates
jhkennedy Jun 9, 2026
9b7342f
add back testing deps for actions
jhkennedy Jun 9, 2026
e6e8948
Merge pull request #39 from pism/jhk-pism-cloud-updates
jhkennedy Jun 9, 2026
25f6c3c
Work on cloud notebook
aaschwanden Jun 9, 2026
464fa5c
Updated changelog
aaschwanden Jun 9, 2026
a8333aa
Merge pull request #40 from pism/aaschwanden/summer-school
aaschwanden Jun 9, 2026
59baf58
Fixed a bug in __main__
aaschwanden Jun 9, 2026
14b4402
Merge pull request #41 from pism/aaschwanden/summer-school
aaschwanden Jun 9, 2026
1e915d7
trying to fix NoneType
aaschwanden Jun 10, 2026
36c476e
Merge pull request #42 from pism/aaschwanden/summer-school
aaschwanden Jun 10, 2026
209adab
Simplify execute
jhkennedy Jun 10, 2026
e5c882f
shhh bots
jhkennedy Jun 10, 2026
1f31228
update example job dicts
jhkennedy Jun 10, 2026
df40a66
fix typo
jhkennedy Jun 10, 2026
ca24ad3
Merge pull request #43 from pism/jhk-execute-search
aaschwanden Jun 10, 2026
cf65f5a
Updated Dockerfile
aaschwanden Jun 11, 2026
969a2ef
Updated CHANGELOG
aaschwanden Jun 11, 2026
6fbead0
Try dev build
aaschwanden Jun 12, 2026
5f383c9
Merge pull request #44 from pism/aaschwanden/summer-school
aaschwanden Jun 12, 2026
dccd5a6
Shortened forward run
aaschwanden Jun 12, 2026
0f6ae38
Added missing template
aaschwanden Jun 12, 2026
546ac2d
Work on glacier mip
aaschwanden Jun 12, 2026
477b9b2
Comment out ice thickness preparation for now
aaschwanden Jun 12, 2026
b93ba27
Work on Glaciers
aaschwanden Jun 12, 2026
53d4e41
Switch to rgi_glacier, rgi_complex notation
aaschwanden Jun 12, 2026
91b108b
Work on postprocessing
aaschwanden Jun 12, 2026
1a39bde
Work on postprocessing
aaschwanden Jun 12, 2026
eb44679
Merge pull request #45 from pism/aaschwanden/summer-school
aaschwanden Jun 12, 2026
e27ceee
Missing inverse output for inverse
aaschwanden Jun 12, 2026
d22f73f
Updated changelog
aaschwanden Jun 12, 2026
2412db4
Merge pull request #46 from pism/aaschwanden/summer-school
aaschwanden Jun 12, 2026
02eb977
Fixed inverse run
aaschwanden Jun 13, 2026
8b4ef92
Merge pull request #47 from pism/aaschwanden/summer-school
aaschwanden Jun 13, 2026
583dda5
Fixed another bug
aaschwanden Jun 13, 2026
f6a1faf
Merge pull request #48 from pism/aaschwanden/summer-school
aaschwanden Jun 13, 2026
55b8cb2
Removed globus
aaschwanden Jun 13, 2026
a5678ef
Fixed execution of inverse
aaschwanden Jun 13, 2026
afc9454
Work on PISM Cloud app
aaschwanden Jun 13, 2026
fbf359f
Updated installation
aaschwanden Jun 13, 2026
4836075
Added drop down menu to cloud app
aaschwanden Jun 13, 2026
59accae
Merge pull request #49 from pism/aaschwanden/summer-school
aaschwanden Jun 13, 2026
c0160b3
Updated Maffezzoli
aaschwanden Jun 13, 2026
eebe150
Updated numpydocs
aaschwanden Jun 13, 2026
56234f9
Added apptainer for chinook
aaschwanden Jun 13, 2026
84b381d
Implement factorial UQ
aaschwanden Jun 14, 2026
8a039ff
Merge pull request #50 from pism/aaschwanden/summer-school
aaschwanden Jun 14, 2026
e616949
Add heat flux maps for RGI
aaschwanden Jun 14, 2026
75da192
heat_flow -> heatflux renaming
aaschwanden Jun 14, 2026
59fd7c5
Clean up
aaschwanden Jun 18, 2026
8b0c468
CARRA2 albedo from radiation fluxes
aaschwanden Jun 18, 2026
bf1a2a1
Fixed grid_mapping issues for RGI
aaschwanden Jun 19, 2026
62a916e
Work on ISMIP7 observations
aaschwanden Jun 19, 2026
836b769
Work on ISMIP7
aaschwanden Jun 20, 2026
f9241dc
Updated Blatter solver parameters
aaschwanden Jun 21, 2026
c9d239d
Updated init run
aaschwanden Jun 21, 2026
f9bd320
Updated calibration
aaschwanden Jun 21, 2026
fd33edf
Updated changelog
aaschwanden Jun 21, 2026
251e7a8
Pinned pytest-codeblocks
aaschwanden Jun 21, 2026
f239508
Another try fixing pytest on Github
aaschwanden Jun 21, 2026
6be8edc
Split solver settings
aaschwanden Jun 22, 2026
aebcf6f
Fixed to_csv
aaschwanden Jun 22, 2026
194e00a
Removed UQ
aaschwanden Jun 22, 2026
5fd6a35
Merge pull request #51 from pism/aaschwanden/summer-school
aaschwanden Jun 22, 2026
2d2269b
Work on ISMIP7
aaschwanden Jun 23, 2026
d92399a
Moved grid generation higher up
aaschwanden Jun 24, 2026
3deb101
Reducing clutter
aaschwanden Jun 24, 2026
ed20d7c
Clean up
aaschwanden Jun 25, 2026
ec863c2
Uncommented line
aaschwanden Jun 25, 2026
e9a28bd
Use {var} to split into multiple file
aaschwanden Jun 25, 2026
b6d57eb
Added test inverse script for ISMIP7
aaschwanden Jun 25, 2026
f035a89
Clip salinity
aaschwanden Jun 25, 2026
f222b69
addev {u,v}vel_sigma to regrid vars
aaschwanden Jun 25, 2026
9ba64cc
Fixed solver settings
aaschwanden Jun 25, 2026
28eea0f
Updated image name
aaschwanden Jun 25, 2026
bad1eaf
Updated inverse setings
aaschwanden Jun 26, 2026
936ccbc
Use velocity mosaic
aaschwanden Jun 26, 2026
1c84659
Fix stress-balance CLI override for inverse runs
aaschwanden Jun 26, 2026
19bdbd7
Stage observations before forcings/calfin in ISMIP7 Greenland prep
aaschwanden Jun 26, 2026
19edff3
Updated CHANGELOG
aaschwanden Jun 26, 2026
86d3b2b
Merge pull request #53 from pism/aaschwanden/ismip7
aaschwanden Jun 26, 2026
0b73020
Improved inverse solver settings
aaschwanden Jun 26, 2026
32a1ce3
Switched to default Blatter
aaschwanden Jun 26, 2026
8905e86
more fixes to solver settings
aaschwanden Jun 26, 2026
12d8db6
Fixed solver heading
aaschwanden Jun 26, 2026
f606a06
Another attempt
aaschwanden Jun 26, 2026
98bac65
Better masking of observations for inversion.
aaschwanden Jun 26, 2026
9e2c972
Clean up of inverse run
aaschwanden Jun 26, 2026
35eee8a
Fixed Bedmachine grid
aaschwanden Jun 27, 2026
9e1ba2e
Merge branch 'aaschwanden/ismip7' of github.com:pism/pism-terra into …
aaschwanden Jun 27, 2026
35ed97c
Work on SNAP climate for Bruno
aaschwanden Jun 28, 2026
bb82731
Updated CHANGELOG
aaschwanden Jun 28, 2026
2992bf3
Merge pull request #54 from pism/aaschwanden/ismip7
aaschwanden Jun 28, 2026
0e64260
Refactor of prepare.py's
aaschwanden Jun 29, 2026
480440c
Added terrain rendered
aaschwanden Jun 29, 2026
96d5cd4
Add prepare_select module for the --include dataset selector
aaschwanden Jun 29, 2026
2219156
Updated dev packages
aaschwanden Jun 29, 2026
6f64213
Add ISMIP7 submission directory/file naming for forward runs
aaschwanden Jun 29, 2026
e9c4e1b
Add ismip7.naming module (untracked, broke CI import)
aaschwanden Jun 29, 2026
a6b48b6
Merge pull request #55 from pism/aaschwanden/prepare-refactor
aaschwanden Jun 29, 2026
52528bc
Updating config files for ISMIP7
aaschwanden Jun 29, 2026
bf36139
Better masking
aaschwanden Jun 30, 2026
1fca48e
CDS returns multi-variable requests as a ZIP archive with one
aaschwanden Jun 30, 2026
89f8044
Fixed toml file
aaschwanden Jun 30, 2026
3b20b54
Fixed a typo
aaschwanden Jun 30, 2026
9c9d20b
Merge branch 'aaschwanden/ismip7-gris' of github.com:pism/pism-terra …
aaschwanden Jun 30, 2026
48bf258
Updated CHANGELOG
aaschwanden Jun 30, 2026
71180d5
Fixed a typo
aaschwanden Jun 30, 2026
e8e20de
Work on ISMIP7
aaschwanden Jul 1, 2026
8ac5607
Merge pull request #56 from pism/aaschwanden/ismip7-gris
aaschwanden Jul 1, 2026
5e16840
New inverse params from L-curve analysis
aaschwanden Jul 1, 2026
53a51fe
Added notebook for L-curve analysis for inversion
aaschwanden Jul 1, 2026
87e4a71
Work on ISMIP7
aaschwanden Jul 1, 2026
03a996e
Added ISM Checker
aaschwanden Jul 1, 2026
5b113f3
Drive ISMIP7 Greenland runs from a single counter_id
aaschwanden Jul 2, 2026
ebf2b88
Added missing file
aaschwanden Jul 2, 2026
1c10366
Added a compliance checker
aaschwanden Jul 2, 2026
fa5935e
Updated changelog
aaschwanden Jul 2, 2026
94b76e6
Merge pull request #57 from pism/aaschwanden/ismip7-gris
aaschwanden Jul 2, 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: 2 additions & 2 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ on:
jobs:
call-version-info-workflow:
# Docs: https://github.com/ASFHyP3/actions
uses: ASFHyP3/actions/.github/workflows/reusable-version-info.yml@v0.21.0
uses: ASFHyP3/actions/.github/workflows/reusable-version-info.yml@v0.21.1
permissions:
contents: read
with:
Expand All @@ -23,7 +23,7 @@ jobs:
call-docker-ghcr-workflow:
needs: call-version-info-workflow
# Docs: https://github.com/ASFHyP3/actions
uses: ASFHyP3/actions/.github/workflows/reusable-docker-ghcr.yml@v0.21.0
uses: ASFHyP3/actions/.github/workflows/reusable-docker-ghcr.yml@v0.21.1
permissions:
contents: read
packages: write
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/changelog.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,6 @@ on:
jobs:
call-changelog-check-workflow:
# Docs: https://github.com/ASFHyP3/actions
uses: ASFHyP3/actions/.github/workflows/reusable-changelog-check.yml@v0.21.0
uses: ASFHyP3/actions/.github/workflows/reusable-changelog-check.yml@v0.21.1
permissions:
contents: read
2 changes: 1 addition & 1 deletion .github/workflows/labeled-pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,6 @@ on:
jobs:
call-labeled-pr-check-workflow:
# Docs: https://github.com/ASFHyP3/actions
uses: ASFHyP3/actions/.github/workflows/reusable-labeled-pr-check.yml@v0.21.0
uses: ASFHyP3/actions/.github/workflows/reusable-labeled-pr-check.yml@v0.21.1
permissions:
pull-requests: read
2 changes: 1 addition & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ on:
jobs:
call-release-workflow:
# Docs: https://github.com/ASFHyP3/actions
uses: ASFHyP3/actions/.github/workflows/reusable-release.yml@v0.21.0
uses: ASFHyP3/actions/.github/workflows/reusable-release.yml@v0.21.1
permissions: {}
with:
release_prefix: pism-terra
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/static-analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ on: push
jobs:
call-secrets-analysis-workflow:
# Docs: https://github.com/ASFHyP3/actions
uses: ASFHyP3/actions/.github/workflows/reusable-secrets-analysis.yml@v0.21.0
uses: ASFHyP3/actions/.github/workflows/reusable-secrets-analysis.yml@v0.21.1
permissions:
contents: read

Expand All @@ -23,7 +23,7 @@ jobs:
steps:
- uses: actions/checkout@v6

- uses: mamba-org/setup-micromamba@v2
- uses: mamba-org/setup-micromamba@v3
with:
environment-file: environment.yml
create-args: >-
Expand All @@ -33,4 +33,4 @@ jobs:
- name: run pylint
shell: bash -el {0}
run: |
pylint -v --extension-pkg-whitelist=scipy $(git ls-files '*.py')
pylint -v --extension-pkg-whitelist=scipy,rasterio $(git ls-files '*.py')
2 changes: 1 addition & 1 deletion .github/workflows/tag-version.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ jobs:
call-bump-version-workflow:
# For first-time setup, create a v0.0.0 tag as shown here:
# https://github.com/ASFHyP3/actions#reusable-bump-versionyml
uses: ASFHyP3/actions/.github/workflows/reusable-bump-version.yml@v0.21.0
uses: ASFHyP3/actions/.github/workflows/reusable-bump-version.yml@v0.21.1
permissions: {}
with:
user: jhkennedy
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ jobs:
steps:
- uses: actions/checkout@v6

- uses: mamba-org/setup-micromamba@v2
- uses: mamba-org/setup-micromamba@v3
with:
environment-file: environment.yml
create-args: >-
Expand Down
42 changes: 24 additions & 18 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
exclude: "docs|node_modules|migrations|.git|.tox"
exclude: "docs/_build|docs/source/auto_examples|docs/source/reference/generated|node_modules|migrations|.git|.tox"
default_stages: [pre-commit]
fail_fast: true

Expand All @@ -8,18 +8,19 @@ repos:
hooks:
- id: trailing-whitespace
- id: end-of-file-fixer
- id: check-toml
- id: check-yaml
exclude: conda/meta.yaml

# Can run individually with `pre-commit run black --all-files`
- repo: https://github.com/psf/black
rev: 26.3.1
rev: 26.5.1
hooks:
- id: black

# Can run individually with `pre-commit run isort --all-files`
- repo: https://github.com/timothycrosley/isort
rev: 8.0.1
rev: 9.0.0a3
hooks:
- id: isort
args:
Expand All @@ -32,16 +33,23 @@ repos:
rev: v1.10.0
hooks:
- id: numpydoc-validation
exclude: ^(pism_terra/kitp/writer\.py|docs/source/conf\.py)$

# Can run individually with `pre-commit run mypy --all-files`
- repo: https://github.com/pre-commit/mirrors-mypy
rev: v1.19.1
rev: v2.1.0
hooks:
- id: mypy
args: ["--config-file", "pyproject.toml", "--ignore-missing-imports"]
exclude: ^pism_terra/kitp/writer\.py$
additional_dependencies: [types-toml, types-requests]


- repo: https://github.com/srstevenson/nb-clean
rev: 4.0.1
hooks:
- id: nb-clean

- repo: local
hooks:
- id: pylint
Expand All @@ -50,25 +58,23 @@ repos:
language: system
types: [python]
require_serial: true
exclude: ^pism_terra/kitp/writer\.py$
args:
[
"-rn", # Only display messages
"-sn", # Don't display the score
"--extension-pkg-whitelist=scipy",
]

- repo: https://github.com/srstevenson/nb-clean
rev: 4.0.1
hooks:
- id: nb-clean

# - repo: local
# hooks:
# - id: pytest # pytest is a pre-commit hook
# name: pytest
# entry: pytest tests
# language: system
# types: [python]
# exclude: ^venv/ ^.git/ ^.vscode/ ^.DS_Store ^uq/ ^hindcasts/
# always_run: true
# pass_filenames: false
- repo: local
hooks:
- id: pytest
name: pytest
entry: pytest tests
language: system
types: [python]
exclude: ^venv/ ^.git/ ^.vscode/ ^.DS_Store ^uq/ ^hindcasts/
always_run: true
pass_filenames: false
stages: [pre-push]
23 changes: 23 additions & 0 deletions .readthedocs.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Read the Docs configuration for pism-terra.
# https://docs.readthedocs.io/en/stable/config-file/v2.html

version: 2

build:
os: ubuntu-22.04
tools:
python: "3.13"

sphinx:
configuration: docs/source/conf.py
fail_on_warning: false

python:
install:
- method: pip
path: .
extra_requirements:
- docs

formats:
- htmlzip
19 changes: 19 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,28 @@ and uses [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]

### Changed
- `glacier.execute` no longer accepts a `--job-id` parameter and now stages files based on the full S3 URI of `RUN_SCIPT`, if needed.

### Fixed

- missing force_to_thickness.file
- runtime environment is now default, for dev work use environment-dev.yml.
- merged missing commits from summer school
- updated Docker image to pull to fix build bug in pism/pism
- improved postprocessing of RGI
- fixed missing output filename for inverse state
- fixed missing resolve()
- fixed initialization
- fixed CLI for stress balance
- fixed SNAP climate
- fixed environment-dev.yml

### Added

- compliance checker run after simulation
- notebooks/pism_cloud_app.ipynb, a `voila` app.
- pism_terra/glacier/render_terrain_3.py

## [0.1.3]

Expand Down
73 changes: 73 additions & 0 deletions CITATION.cff
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
# -*- mode: yaml -*-
#
# Run
#
# git shortlog -sn --no-merges `branch`
#
# to list contributors to a `branch` and the number of non-merge commits they made.
#
# Output as of 2026-05-01 (branch=dev)
#
# 244 Andy Aschwanden
# 50 Joseph H Kennedy
# 1 Bruno Belotti
# 1 dependabot[bot]
#
# Total: 7
#
# Overall total: 32
#
# To validate this document, install `cffconvert`
#
# python3 -m pip install cffconvert --user
#
# and run
#
# cffconvert --validate
#
# Note: the CITATION.cff format does not allow for extra information, so
# "contribution-areas" below are commented out. These lines *are* needed to generate the
# list of authors in the manual, though. Each author should have a list of contribution
# areas *one one line*, indented so that the substitution "s/# contrib/contrib/g" will
# produce a valid YAML document.
#
# See doc/sphinx/Makefile and doc/sphinx/authorship.py for details.

cff-version: 1.2.0
title: 'PISM Terra'
type: software
doi: 10.5281/zenodo.1199019
contact:
- email: uaf-pism@alaska.edu
name: "PISM developers at UAF"
authors:
- given-names: Andy
family-names: Aschwanden
email: aaschwanden@alaska.edu
affiliation: University of Alaska Fairbanks
orcid: 'https://orcid.org/0000-0001-8149-2315'
- given-names: Joseph H
family-names: Kennedy
email: jhkennedy@alaska.edu
affiliation: University of Alaska Fairbanks
orcid: https://orcid.org/0000-0002-9348-693X'

repository-code: 'https://github.com/pism/pism-terra'
url: 'https://www.pism.io'

abstract: The Parallel Ice Sheet Model (PISM) is an open-source modelling framework for
ice sheets and glaciers. Its features include a hierarchy of available stress balances,
marine ice sheet physics with dynamic calving fronts, an enthalpy-based conservation of
energy scheme, bed deformation and subglacial hydrology components, extensible coupling
to atmospheric and ocean models, and comprehensive user documentation. PISM uses
distributed-memory (PETSc- and MPI-based) parallelism for high-resolution simulations.

PISM is jointly developed at the University of Alaska, Fairbanks (UAF) and the Potsdam
Institute for Climate Impact Research (PIK).

keywords:
- ice sheet model
- open source
- geophysics
- sea level
license: GPL-3.0-or-later
37 changes: 37 additions & 0 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,43 @@ conda activate pism-terra
python -m pip install -e .
```

### Required environment workaround: `LD_PRELOAD` libz

On affected conda-forge envs, `liborc.so` (a transitive dep of `pyarrow`) re-exports
zlib's full deflate API as global symbols. When libgdal calls `deflateInit_` during
GeoTIFF compression — including the in-memory `MemoryFile` writes that
`dem_stitcher` uses to mosaic DEM tiles — the dynamic loader binds it to liborc's
internal copy instead of `libz.so.1`. The two implementations have incompatible
heap layouts, so any subsequent realloc/free on that buffer corrupts the heap
and the next unrelated `_int_malloc` aborts with:

```
Fatal glibc error: malloc.c:4241 (_int_malloc): assertion failed:
(unsigned long) (size) >= (unsigned long) (nb)
```

Workaround: preload conda's libz so it wins symbol resolution. The repo's
`environment.yml` does **not** wire this up automatically — you need it in your
shell, ideally as an env activation hook:

```bash
mkdir -p $CONDA_PREFIX/etc/conda/activate.d $CONDA_PREFIX/etc/conda/deactivate.d
cat > $CONDA_PREFIX/etc/conda/activate.d/zz-libz-preload.sh <<'EOF'
export _PISM_TERRA_OLD_LD_PRELOAD="$LD_PRELOAD"
export LD_PRELOAD="$CONDA_PREFIX/lib/libz.so.1${LD_PRELOAD:+:$LD_PRELOAD}"
EOF
cat > $CONDA_PREFIX/etc/conda/deactivate.d/zz-libz-preload.sh <<'EOF'
export LD_PRELOAD="$_PISM_TERRA_OLD_LD_PRELOAD"
unset _PISM_TERRA_OLD_LD_PRELOAD
EOF
```

Verify: `nm -D --defined-only $CONDA_PREFIX/lib/liborc.so | grep -c "T deflate"`.
A non-zero result means the leak is still present and `LD_PRELOAD` is required.
Once it returns `0` (after a future liborc rebuild), the preload can be removed.

Tracking: see https://github.com/conda-forge/orc-feedstock/issues for upstream.

## Commands

### Running Tests
Expand Down
3 changes: 2 additions & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
ARG PISM_TAG=2.3.0
# This is the merge of the feature/inverse branch to dev
ARG PISM_TAG=dev
FROM ghcr.io/pism/pism:${PISM_TAG} AS runtime

FROM runtime AS build
Expand Down
Loading
Loading