Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
235 commits
Select commit Hold shift + click to select a range
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
d44cf95
CHG: finished friction emulator and uploaded checkpoint file for testing
yinmin-liu Apr 15, 2026
dadba47
CHG: cleanup stress balance code
MathieuMorlighem Apr 16, 2026
b7912ec
CHG: testing if code is dead
MathieuMorlighem Apr 16, 2026
683b8d1
CHG: code is not dead, reverting
MathieuMorlighem Apr 16, 2026
7b48f8c
CHG: fixed some problems reported by Claude
MathieuMorlighem Apr 16, 2026
d816f2e
BUG: fixing bugs found by claude
MathieuMorlighem Apr 17, 2026
473fd9b
BUG: fixing bugs found by claude
MathieuMorlighem Apr 18, 2026
b45b71f
Updated archives
TidbitSoftware Apr 18, 2026
0c88afa
BUG: fixed some bugs in sea level core
MathieuMorlighem Apr 19, 2026
2e08195
Merge branch 'main' of github.com:ISSMteam/ISSM
MathieuMorlighem Apr 20, 2026
33cf6d3
BUG: fixed a few problems reported by Claude
MathieuMorlighem Apr 20, 2026
68f0f8d
BUG: fixed some emulator compiling issues.
yinmin-liu Apr 20, 2026
4d94875
fix: check verbose flag before printing to terminal
dabele Apr 21, 2026
761b78f
Merge pull request #150 from dabele/silence_cout
MathieuMorlighem Apr 21, 2026
914579a
Update sea-level barystatic contribution handling
caronlam Apr 21, 2026
49ed30b
BUG: fixed segmentation errors when constructing and deconstructing E…
yinmin-liu Apr 22, 2026
0bc7812
BUG: the friction emulator should only be instantiated in case 20
yinmin-liu Apr 22, 2026
577fe8a
Fix for step 5
mankoff Apr 22, 2026
cf91185
Fix for step 6
mankoff Apr 22, 2026
1ba312c
Merge pull request #151 from NASA-GISS/mankoff/dev
MathieuMorlighem Apr 23, 2026
e72dc15
NEW: preparing a ML based SMB calculator
yinmin-liu Apr 23, 2026
4f91040
CHG: basalforcingsismip7.py - Add structtoobj.
inwoo-park Apr 12, 2026
dc080a3
CHG: interpISMIP7AntarcticaOcn.py - Add remote 'simba41' machine.
inwoo-park Apr 12, 2026
68a8a48
CHG: Update ISMIP7 basalforcings: Add "delta_t" for calibrating therm…
inwoo-park Apr 24, 2026
0589ebc
CHG: Synchronize Matlab > Python "displayunsed" in pairoptions.py.
inwoo-park Apr 24, 2026
eb9b5aa
Merge pull request #152 from ISSMteam/feature/ismip7
inwoo-park Apr 24, 2026
0e01b8b
Fix sea-level change barystatic finalization
caronlam Apr 25, 2026
5103d30
Fix sea-level change barystatic bugs
caronlam Apr 25, 2026
37ad459
Merge pull request #153 from caronlam/main
MathieuMorlighem Apr 25, 2026
e1a1384
CHG: some more fixes from Claude:
MathieuMorlighem Apr 25, 2026
1047f0c
CHG: adding this param back, although there is no constructor etc
MathieuMorlighem Apr 25, 2026
dcdf84d
CHG: a lot of people get confused and run ./configure, forgetting .sh…
MathieuMorlighem Apr 28, 2026
32c827e
CHG: fixed some bugs that Claude found
MathieuMorlighem Apr 28, 2026
270bbaf
Merge branch 'main' of github.com:ISSMteam/ISSM
MathieuMorlighem Apr 28, 2026
4ecfb1c
CHG: pull versions from previous BedMachine
MathieuMorlighem Apr 28, 2026
acd8790
CHG: Claude found some mistakes that are now corrected
MathieuMorlighem Apr 29, 2026
e1f29e8
Merge pull request #154 from caronlam/main
caronlam Apr 29, 2026
cec967a
CHG: basalstress.m - cleaned up some code and improved documentation.
bgetraer Apr 29, 2026
982cbf3
NEW: effectivepressure.m - calculate effective pressure according to …
bgetraer Apr 29, 2026
cde3eab
CHG: basalstress.m - cleaned up some code and improved documentation.
bgetraer Apr 29, 2026
8c65d73
NEW: effectivepressure.m - calculate effective pressure according to …
bgetraer Apr 29, 2026
469d38f
Viscoelastic NR archive update, + test2011 realigned to consistent ma…
caronlam Apr 29, 2026
7e671fe
restore basalstress from upstream
bgetraer Apr 29, 2026
256fe72
restore basalstress from upstream
bgetraer Apr 29, 2026
2c40909
CHG: improve clarity and documentation of basalstress.m
bgetraer Apr 29, 2026
5d8dc26
NEW: effectivepressure.m calculates effective pressure using the rule…
bgetraer Apr 29, 2026
0137a77
CHG: basalstress.m now uses effectivepressure.m to calculate effectiv…
bgetraer Apr 29, 2026
545cdfc
CHG: typos in effectivepressure.m header
bgetraer Apr 29, 2026
818224a
CHG: bug fix - move check for md.friction.coupling from basalstress.m…
bgetraer Apr 30, 2026
8587e0d
BUG: MATLAB's mexPrintf is not thread safe, do not pring anything wit…
MathieuMorlighem Apr 30, 2026
0c8b57c
Merge branch 'main' of github.com:ISSMteam/ISSM
MathieuMorlighem Apr 30, 2026
c6d69ad
Autom4ke collapses square brackets
TidbitSoftware Apr 30, 2026
8a4ce38
CHG:completed the 12 inputs MAR-IA SMB emulator
yinmin-liu Apr 30, 2026
b2f25df
CHG: Synchronize MATLAB and Python implementations for basalstress an…
inwoo-park May 1, 2026
938ba14
CHG: add default emissiving to GEMB and add option 3 for te change wi…
NJSchlegel May 1, 2026
9e585b8
Merge pull request #13 from NJSchlegel/GEMB_mapping
NJSchlegel May 1, 2026
a58b6ba
Merge pull request #157 from NJSchlegel/main
NJSchlegel May 1, 2026
3d68b81
NEW: viscoussampling parameter allows greensfunctions in the grd core…
caronlam May 1, 2026
07fd0d9
Merge branch 'main' of github.com:caronlam/ISSM into main
caronlam May 1, 2026
9c34609
Merge branch 'main' of github.com:caronlam/ISSM into main
caronlam May 1, 2026
43f088b
viscoussampling better default value
caronlam May 1, 2026
bc788b7
Merge pull request #158 from caronlam/main
caronlam May 1, 2026
85c1e89
CHG: add GEMB mapping with neighbors for interpolation
NJSchlegel May 1, 2026
9061173
CHG: add GEMB mapping with neighbors for interpolation
NJSchlegel May 1, 2026
9ea8a40
Merge pull request #14 from NJSchlegel/GEMB_mapping
NJSchlegel May 1, 2026
ebd9fb5
CHG: add static cast to GEMB mapping neighbor indices
NJSchlegel May 1, 2026
1cd0a6f
CHG: add static cast to GEMB double to int mapping neighbor indices
NJSchlegel May 2, 2026
077b6a0
CHG: GEMB mapping casting check
NJSchlegel May 2, 2026
09d2662
CHG: Fix indent in interpISMIP7AntarcticaOcn.m.
inwoo-park May 2, 2026
6190aa6
NEW: Initialize interpISMIP7AntarcticaSMB.m function.
inwoo-park May 2, 2026
2ed79f2
CHG: add default emissiving to GEMB and add option 3 for te change wi…
inwoo-park May 2, 2026
cd3cee1
CHG: Add a new feature to basalforcingsismip7. Introduce the islocal …
inwoo-park May 2, 2026
25d2a56
CHG: plotmodel.py - Enable to control axes pad.
inwoo-park May 2, 2026
6baf80c
CHG: make GEMB mapped neighbors ints
NJSchlegel May 2, 2026
5527666
CHG: GEMB merge and change neightbors to int
NJSchlegel May 2, 2026
34d9150
CHG: merge with main
NJSchlegel May 2, 2026
3aece6d
CHG: merge with main enum
NJSchlegel May 2, 2026
ff261f0
CHG: merge with main enum
NJSchlegel May 2, 2026
a4cd9ec
Merge branch 'GEMB_mapping'
NJSchlegel May 2, 2026
f532e5b
Use get method to avoid square brackets (treated as quotes by Autom4k…
TidbitSoftware May 2, 2026
16e342c
Correcting another Python lib/header discovery command
TidbitSoftware May 2, 2026
4e734aa
CHG: updated date in copyright
MathieuMorlighem May 3, 2026
992b6e2
CHG: style fix - removed commas at the end of if/for/while
MathieuMorlighem May 3, 2026
a78e6c5
CHG: fixed some typos
MathieuMorlighem May 3, 2026
5fb85a2
CHG: trying to fix AD
MathieuMorlighem May 4, 2026
b1a1dd1
CHG: testing adThresh in GEMB nightly 258
NJSchlegel May 4, 2026
1cb4b67
Merge branch 'ISSMteam:main' into main
NJSchlegel May 4, 2026
b0a5dfe
Merge pull request #19 from NJSchlegel/GEMB_mapping
NJSchlegel May 4, 2026
b7f5488
Merge branch 'ISSMteam:main' into GEMB_mapping
NJSchlegel May 4, 2026
1aebd6b
CHG: Test eIdx settings in GEMB test 258
NJSchlegel May 4, 2026
ee900cb
Merge pull request #20 from NJSchlegel/GEMB_mapping
NJSchlegel May 4, 2026
7332341
CHG: GEMB mapping fix AD and add mapping test if eIdx
NJSchlegel May 4, 2026
223eea7
Merge pull request #21 from NJSchlegel/GEMB_mapping
NJSchlegel May 4, 2026
c25212b
CHG: GEMB lower tol for eIdx
NJSchlegel May 4, 2026
de45454
Merge pull request #22 from NJSchlegel/GEMB_mapping
NJSchlegel May 4, 2026
b6bc7a8
CHG: clarify GEMB class mapping comments
NJSchlegel May 4, 2026
fb5b456
Merge pull request #23 from NJSchlegel/GEMB_mapping
NJSchlegel May 4, 2026
de48a68
Merge pull request #159 from NJSchlegel/main
NJSchlegel May 4, 2026
23df8ef
CHG: fetch lon and lat when using SMBemulator
yinmin-liu May 4, 2026
f1016d0
CHG: updated variable Enum names of SMB emulator
yinmin-liu May 4, 2026
8f6c3f6
CHG: changed mass balance scaling to day2second
yinmin-liu May 4, 2026
b3b2d3b
Adjusted tolerances
TidbitSoftware May 5, 2026
7a51a8f
NEW: added C++ version of M1QN3, more to come
MathieuMorlighem May 5, 2026
b4a1306
CHG: getting rid of all gotos
MathieuMorlighem May 5, 2026
3890eb2
NEW: now using C++ implementation of m1qn3 instead of external package
MathieuMorlighem May 5, 2026
a9ab498
CHG: fixed m1qn3 so that it gives the same results as fortran
MathieuMorlighem May 5, 2026
d3839ce
Merge branch 'ISSMteam:main' into main
inwoo-park May 6, 2026
dc15278
CHG: now AD results should be identical as before. One more bug to re…
MathieuMorlighem May 6, 2026
63e19ae
CHG: relaxed tolerances
MathieuMorlighem May 6, 2026
c4772b1
CHG: ignoring some more files
MathieuMorlighem May 6, 2026
00fcd58
CHG: VolumeAboveFloatation.m now calls function HeightAboveFloatation…
bgetraer May 7, 2026
b0ad817
CHG: fixed if/else wrong logic when intrusion is on
MathieuMorlighem May 7, 2026
20e1f59
BUG: fixed intrusion/stabilization bug that only showed up on mac
MathieuMorlighem May 7, 2026
c62559c
Merge branch 'main' of github.com:ISSMteam/ISSM
MathieuMorlighem May 7, 2026
9f367ea
CHG: added mac tests back now that bug is fixed
MathieuMorlighem May 7, 2026
a00ce35
Merge branch 'ISSMteam:main' into main
inwoo-park May 7, 2026
d6780de
CHG: GEMB add option to map using xy cooordinates
NJSchlegel May 7, 2026
3e35d37
Merge pull request #24 from NJSchlegel/GEMB_mapping
NJSchlegel May 8, 2026
430017c
CHG: GEMB mapping fix xy call for AD
NJSchlegel May 8, 2026
e907946
Merge pull request #25 from NJSchlegel/GEMB_mapping
NJSchlegel May 8, 2026
ddb9016
CHG: GEMB matlab fix comments
NJSchlegel May 8, 2026
18f1f7e
Merge pull request #26 from NJSchlegel/GEMB_mapping
NJSchlegel May 8, 2026
804a07d
Merge pull request #160 from NJSchlegel/main
NJSchlegel May 8, 2026
70fe878
NEW: m1qn3 now returns the BEST X/G that it found
MathieuMorlighem May 8, 2026
57349a8
NEW: added support for 3.25
MathieuMorlighem May 8, 2026
7a6dc95
Merge branch 'main' of github.com:ISSMteam/ISSM
MathieuMorlighem May 8, 2026
06666ad
BUG: Fix bugs in interpISMIP7AntarcticaSMB.m.
inwoo-park May 11, 2026
ab87129
Merge pull request #161 from inwoo-park/feature/ismip7
inwoo-park May 11, 2026
dc30766
CHG: making Bamg more robust to produce the same mesh across platform…
MathieuMorlighem May 11, 2026
2b6ff9a
CHG: updated Archives now that bamg is more portable
MathieuMorlighem May 11, 2026
8065928
CHG: adding more tests to Mac M now that bamg is more portable
MathieuMorlighem May 11, 2026
04d1547
CHG: updated archives now that bamg is more robust
MathieuMorlighem May 11, 2026
706528f
CHG: still erroring out on bamg adaptive mesh
MathieuMorlighem May 11, 2026
116a75d
CHG: excluding test703 again because it uses bamg
MathieuMorlighem May 11, 2026
d3a621d
CHG: offset message to be consistent with other notifications
MathieuMorlighem May 11, 2026
310efb3
Merge branch 'main' of github.com:ISSMteam/ISSM
MathieuMorlighem May 11, 2026
0bc15ab
NEW: now create files directly in execution/ instead of current direc…
MathieuMorlighem May 11, 2026
5f7b33e
BUG: issmscpin.py – Fix missing bracketstyle argument in the function…
inwoo-park May 12, 2026
0ff4f13
BUG: issmscpin.py – Fix missing bracketstyle argument in the function…
inwoo-park May 12, 2026
a060089
Merge remote-tracking branch 'simba/main'
inwoo-park May 12, 2026
252ec0e
BUG: handle case when executionpath is not /Users/mmorligh/Desktop/IS…
MathieuMorlighem May 12, 2026
6ba456d
CHG: better way to handle local vs remote execution
MathieuMorlighem May 12, 2026
c518c96
CHG: trying to fix windows with the new format of execution/input files
MathieuMorlighem May 12, 2026
73e8f72
CHG: fixing windows
MathieuMorlighem May 12, 2026
6cb8efa
m1qn3 is now integrated
TidbitSoftware May 12, 2026
4fac008
Removing m1qn3 fence; formatting
TidbitSoftware May 12, 2026
1456796
m1qn3 is now integrated
TidbitSoftware May 13, 2026
7bd32fa
CHG: in some cases the new m1qn3 would fail with exit code 7, this sh…
MathieuMorlighem May 13, 2026
169495f
CHG: minor update
MathieuMorlighem May 13, 2026
3ec4a61
CHG: trying to fix dakota now that files are explicitly in execution
MathieuMorlighem May 13, 2026
f7816f0
NEW:preparing a GNN based stressbalance emulator
yinmin-liu May 13, 2026
a9cf39a
frontera, andes settings
mansakrishna23 May 13, 2026
fbce9d5
CHG: use Dakota's output manager to figure out where to read and writ…
MathieuMorlighem May 14, 2026
0b1d35d
CHG: added check to warn users when execution dir needs to be cleaned up
MathieuMorlighem May 14, 2026
be70462
Merge branch 'main' of https://github.com/ISSMteam/ISSM
mansakrishna23 May 14, 2026
30173d3
BUG: adding default pertubration melt for spatial linear
mansakrishna23 May 14, 2026
85f4f78
CHG: make sure to save outlog and errlog in execution directory if la…
mansakrishna23 May 14, 2026
22ea801
Delete src/m/andes_settings.m
mansakrishna23 May 14, 2026
1ab8bde
Delete src/m/frontera_settings.m
mansakrishna23 May 14, 2026
d3bb65c
Restore MATLAB export_netCDF.m
lawrenceabird May 15, 2026
d7ca597
Merge pull request #163 from ACCESS-NRI/lb/export_netcdf
MathieuMorlighem May 15, 2026
6e47d55
CHG: eliminating m1qn3 from Github's CI
MathieuMorlighem May 15, 2026
09eda9b
Merge branch 'main' of github.com:ISSMteam/ISSM
MathieuMorlighem May 15, 2026
124f663
CHG: now call MAR-IA once per processor instead of per element
yinmin-liu May 15, 2026
8da9cb4
NEW: added clusters/unity.m new unity cluster
MathieuMorlighem May 17, 2026
99ce66d
Merge branch 'main' of github.com:ISSMteam/ISSM
MathieuMorlighem May 17, 2026
4f7a26f
NEW: consolidated read_netCDF/write_netCDF should now be more robust:
MathieuMorlighem May 17, 2026
106b961
CHG: removing extraneous printf
MathieuMorlighem May 17, 2026
36b2700
CHG: removing extraneous printf
MathieuMorlighem May 17, 2026
295dbb1
CHG: streamlining generic queueing script
MathieuMorlighem May 17, 2026
7f998c4
CHG: moving old code to OLD to avoid confusion
MathieuMorlighem May 17, 2026
b636190
BUG: divergence.m - 2-D mesh does not require z-coordinate.
inwoo-park May 18, 2026
a298e2c
CHG: model is now marshalled in execution, need to take that into acc…
mansakrishna23 May 18, 2026
29a0dc0
CHG: fixed UploadQueueScript now that all the files are prepared in e…
MathieuMorlighem May 19, 2026
2e4de17
CHG: these classes do not have a port property, replace with 0
MathieuMorlighem May 19, 2026
2b0f9e4
BUG: divergence.m - 2-D mesh does not require z-coordinate.
inwoo-park May 18, 2026
36768c3
CHG: model is now marshalled in execution, need to take that into acc…
mansakrishna23 May 18, 2026
08bc558
CHG: fixed UploadQueueScript now that all the files are prepared in e…
MathieuMorlighem May 19, 2026
3247f78
Merge remote-tracking branch 'simba'
inwoo-park May 19, 2026
49f1e13
CHG: plot_gridded.py - Clean up code and fix bug in getcolormap.
inwoo-park May 19, 2026
d4e267a
CHG: get status from copyfile so that MATLAB does not error out, and …
MathieuMorlighem May 19, 2026
5de9ba7
Merge branch 'main' of github.com:ISSMteam/ISSM
MathieuMorlighem May 20, 2026
07c18e1
CHG: Synchronize Matlab > Python. Display a warning message if we can…
inwoo-park May 20, 2026
cf81581
CHG: Fix minor.
inwoo-park May 20, 2026
50325bb
Adjusted tolerances
TidbitSoftware May 20, 2026
29ee116
Merge branch 'main' of https://github.com/ISSMteam/ISSM
TidbitSoftware May 20, 2026
5a5ecb0
CHG: Fix minor.
inwoo-park May 20, 2026
4bd76a7
CHG: a lot of code in clusters is repetitive, move Upload/Launch/Down…
MathieuMorlighem May 20, 2026
8934087
CHG: streamlining all cluster classes with new defaults
MathieuMorlighem May 21, 2026
52a10ff
NEW: adding inversionnudging for Tim's work
MathieuMorlighem May 21, 2026
946cced
CHG: no need to get min/max parameters when creating new elements
MathieuMorlighem May 21, 2026
48c3134
CHG: we do not need InputUpdateFromIoModel anymore
MathieuMorlighem May 21, 2026
438bd76
CHG: ptol is too high in GEMB
NJSchlegel May 21, 2026
01d1b06
Merge pull request #27 from NJSchlegel/GEMB_mapping
NJSchlegel May 21, 2026
8bb9df8
Merge pull request #164 from NJSchlegel/main
NJSchlegel May 22, 2026
f2c8bac
CHG: GEMB test removal of P tol in accumulation
NJSchlegel May 22, 2026
220e2cb
Merge pull request #28 from NJSchlegel/GEMB_mapping
NJSchlegel May 22, 2026
11596c9
CHG: working on nudging method
MathieuMorlighem May 22, 2026
2212246
Merge branch 'ISSMteam:main' into GEMB_mapping
NJSchlegel May 22, 2026
5bdc8d5
Merge pull request #29 from NJSchlegel/GEMB_mapping
NJSchlegel May 22, 2026
c2dc73d
Merge pull request #165 from NJSchlegel/main
NJSchlegel May 22, 2026
9cdf1b7
CHG: streamlining cluster classes
MathieuMorlighem May 22, 2026
710186e
CHG: port number should be an integer, not a string
MathieuMorlighem May 22, 2026
9ec8f4d
BUG: fixing CoDiPack by converting PDouble to Double
MathieuMorlighem May 22, 2026
1c5b5e7
CHG: removing LaunchQueueJobIceOcean, we can call the usual LaunchQue…
MathieuMorlighem May 22, 2026
51ac3dd
Merge branch 'main' of github.com:ISSMteam/ISSM
MathieuMorlighem May 22, 2026
88e0b56
Testing if use of new generic class will suffice for binaries
TidbitSoftware May 22, 2026
a5050ba
Removed static version of generic class; adjusted tolerances
TidbitSoftware May 22, 2026
3659fca
Forgot to update Python binaries after removing static generic cluste…
TidbitSoftware May 22, 2026
91a63d5
Also needed to clean up import and check on static generic class in w…
TidbitSoftware May 23, 2026
9eea90f
Adjusted tolerances
TidbitSoftware May 23, 2026
768c61f
CHG: streamlining QueueScript so that new clusters don't have a ton o…
MathieuMorlighem May 24, 2026
448f9f8
BUG: restored classes/clusters/cluster_defaults.py
MathieuMorlighem May 24, 2026
e64ce69
CHG: fixing dakota
MathieuMorlighem May 24, 2026
cfb41d9
CHG: gixing dakota version in python
MathieuMorlighem May 24, 2026
dd4de4b
CHG: fixing dakota
MathieuMorlighem May 24, 2026
a7d63e5
CHG: crop anything outside the data domain when interpolating dHdt
enigne May 25, 2026
893a942
CHG:add options to data loaders to load from specific nc files
enigne May 25, 2026
747c07b
CHG: moved SEMIC from externalpackages to C++ in src/c/shared
MathieuMorlighem May 26, 2026
55632d1
CHG: SEMIC is not a required external package anymore
MathieuMorlighem May 26, 2026
0ebd339
CHG: missing header file to get machine eps
MathieuMorlighem May 26, 2026
1aae96a
CHG: replaced double by IssmDouble for CoDiPack
MathieuMorlighem May 26, 2026
ec3f095
BUG: problem recasting IssmDouble to int
MathieuMorlighem May 26, 2026
a837b63
CHG: updating now that semic and m1qn3 are natively in ISSM
MathieuMorlighem May 26, 2026
adad284
CHG: Now, a unit for TotalHydrologyFlux at grounding line is Gt yr-1.
inwoo-park May 28, 2026
f3df645
BUG: Fix typos....
inwoo-park May 28, 2026
ff637d6
CHG: processdata.py - Fix treating element dataset.
inwoo-park May 28, 2026
8c4a983
add config
justinh2002 May 29, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 1 addition & 3 deletions .github/workflows/ubuntu-basic.yml
Original file line number Diff line number Diff line change
Expand Up @@ -55,11 +55,9 @@ jobs:
--with-scalapack-dir="${ISSM_DIR}/externalpackages/petsc/install" \
--with-mumps-dir="${ISSM_DIR}/externalpackages/petsc/install" \
--with-triangle-dir="${ISSM_DIR}/externalpackages/triangle/install" \
--with-semic-dir="${ISSM_DIR}/externalpackages/semic/install" \
--with-m1qn3-dir="${ISSM_DIR}/externalpackages/m1qn3/install"
--with-semic-dir="${ISSM_DIR}/externalpackages/semic/install"
ext_pkg_build_command: |
cd $ISSM_DIR/externalpackages/triangle && ./install-linux.sh
cd $ISSM_DIR/externalpackages/m1qn3 && ./install-linux.sh
cd $ISSM_DIR/externalpackages/petsc && ./install-3.22-linux.sh
cd $ISSM_DIR/externalpackages/semic && ./install.sh
test_cases: '["101:399", "401:899"]'
Expand Down
2 changes: 0 additions & 2 deletions .github/workflows/ubuntu-codipack.yml
Original file line number Diff line number Diff line change
Expand Up @@ -59,12 +59,10 @@ jobs:
--with-mumps-dir="${ISSM_DIR}/externalpackages/petsc/install" \
--with-triangle-dir="${ISSM_DIR}/externalpackages/triangle/install" \
--with-gsl-dir="${ISSM_DIR}/externalpackages/gsl/install" \
--with-m1qn3-dir="${ISSM_DIR}/externalpackages/m1qn3/install" \
--with-medipack-dir="${ISSM_DIR}/externalpackages/medipack/install" \
--with-codipack-dir="${ISSM_DIR}/externalpackages/codipack/install"
ext_pkg_build_command: |
cd $ISSM_DIR/externalpackages/triangle && ./install-linux.sh
cd $ISSM_DIR/externalpackages/m1qn3 && ./install-linux.sh
cd $ISSM_DIR/externalpackages/petsc && ./install-3.22-linux.sh
cd $ISSM_DIR/externalpackages/gsl && ./install.sh
cd $ISSM_DIR/externalpackages/codipack && ./install.sh
Expand Down
4 changes: 1 addition & 3 deletions .github/workflows/ubuntu-python.yml
Original file line number Diff line number Diff line change
Expand Up @@ -59,11 +59,9 @@ jobs:
--with-scalapack-dir="${ISSM_DIR}/externalpackages/petsc/install" \
--with-mumps-dir="${ISSM_DIR}/externalpackages/petsc/install" \
--with-triangle-dir="${ISSM_DIR}/externalpackages/triangle/install" \
--with-semic-dir="${ISSM_DIR}/externalpackages/semic/install" \
--with-m1qn3-dir="${ISSM_DIR}/externalpackages/m1qn3/install"
--with-semic-dir="${ISSM_DIR}/externalpackages/semic/install"
ext_pkg_build_command: |
cd $ISSM_DIR/externalpackages/triangle && ./install-linux.sh
cd $ISSM_DIR/externalpackages/m1qn3 && ./install-linux.sh
cd $ISSM_DIR/externalpackages/petsc && ./install-3.22-linux.sh
cd $ISSM_DIR/externalpackages/semic && ./install.sh
test_cases: '["101:399", "401:899"]'
Expand Down
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ config.h.in~
config.log
config.status
configure
configure~
configure.sh
libtool
stamp-h1
Expand Down Expand Up @@ -96,3 +97,5 @@ examples/Data/*.txt
examples/Data/*.zip
examples/Data/Jakobshavn_2008_2011_Composite
examples/Helheim/Models
examples/Inversion/*.mat
examples/Inversion/*.tar.gz
33 changes: 22 additions & 11 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@ External packages must be installed before configuring ISSM. The minimum require

```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
```

Expand All @@ -35,7 +34,7 @@ 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`.
Key `configure` flags: `--prefix=$ISSM_DIR`, `--with-matlab-dir`, `--with-python`, `--with-petsc-dir`, `--with-triangle-dir`, `--enable-debugging`.

## Running Tests

Expand All @@ -49,7 +48,9 @@ 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
./runme.py -b nightly # benchmark filter (-b/--benchmark: all/nightly/ismip/eismint/thermal/mesh/slc/qmu/...)
./runme.py -e Dakota # exclude tests by ID or name (-e/--exclude)
./runme.py -p update # update reference archive (-p/--procedure: check/update)
```

**MATLAB** (from within MATLAB):
Expand All @@ -61,18 +62,20 @@ 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).
To update a test's reference archive (after an intentional result change), use `procedure='update'` (MATLAB) or `-p 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.).
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` / `model.js`), 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.

3. **JavaScript interface** (`src/m/js/`, `src/m/classes/model.js`) — browser/WebAssembly interface built via Emscripten, with wrappers in `src/wrappers/javascript/`.

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
Expand All @@ -81,7 +84,7 @@ The high-level interface generates input files (`.bin`, `.queue`, and `.toolkits
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`.
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` for ice dynamics, `bin/issm_slc.exe` for sea-level change), and loads results back into `md.results`.

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

Expand All @@ -92,21 +95,29 @@ Each step corresponds to functions in `src/m/parameterization/` and `src/m/solve
- **`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.
- **`shared/`** — Shared utilities (I/O helpers, exceptions, enum definitions, math routines) used across the core.
- **`bamg/`** — BAMG anisotropic mesh generator (alternative to Triangle).
- **`main/`** — Entry-point source files for the compiled executables (`issm.cpp`, `issm_slc.cpp`, `kriging.cpp`).

### 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.
Glue code that compiles C++ modules as shared libraries loadable from MATLAB (`*_matlab.la`), Python (`*_python.la`), and JavaScript (`javascript/` via Emscripten/WebAssembly). 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)
Some optional packages that can be useful depending on the application:
- **Dakota** (UQ/sampling)
- **CoDiPack** / **ADOL-C** (automatic differentiation)
- **GDAL** / **PROJ** (geospatial data I/O and coordinate transforms)
- **NetCDF** / **HDF5** (scientific data file formats)
- **Boost** (C++ utilities)
- **GSL** (GNU Scientific Library)
- **Gmsh** (alternative mesh generation)
- **ESMF** (Earth System Modeling Framework coupling)

### Path setup for interfaces

Expand Down
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
Ice-sheet and Sea-level System Model (ISSM) is a California Institute of
Technology Copyright, distributed under BSD 3-Clause License.

Copyright (c) 2002-2024, California Institute of Technology. All rights
Copyright (c) 2002-2026, California Institute of Technology. All rights
reserved. Based on Government Sponsored Research under contracts NAS7-1407
and/or NAS7-03001.

Expand Down
5 changes: 5 additions & 0 deletions configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,11 @@ AC_MSG_NOTICE(==================================================================
AC_MSG_NOTICE(= AC_PACKAGE_NAME AC_PACKAGE_VERSION configuration =)
AC_MSG_NOTICE(============================================================================)

#Make sure options were provided
AS_IF([test "x$prefix" = "xNONE"],[AC_MSG_ERROR([--prefix is not provided.
Did you run ./configure without any option?
Maybe you meant to run ./configure.sh?])])

#Determine System type and OS
AC_CANONICAL_TARGET

Expand Down
6 changes: 4 additions & 2 deletions examples/Greenland/runme.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@
from BamgTriangulate import BamgTriangulate
from InterpFromMeshToMesh2d import InterpFromMeshToMesh2d
from scipy.interpolate import griddata
import matplotlib.pyplot as plt
import numpy as np

steps = [1]

Expand Down Expand Up @@ -152,7 +154,7 @@
'title', 'Surface (m)')

#Line Plots
figure
plt.figure

#Plot surface mass balance, velocity and volume
surfmb = []
Expand Down Expand Up @@ -190,7 +192,7 @@
t = np.arange(years_of_simulation[0], years_of_simulation[-1] + 11 / 12, 1 / 12)
#Area of grid for 5km box
area_of_grid = 5000 * 5000
totalsmb = reshape(np.nansum(smbbox / 1000, axis=(-2, -1)), (len(t), 1)) * area_of_grid
totalsmb = np.reshape(np.nansum(smbbox / 1000, axis=(-2, -1)), (len(t), 1)) * area_of_grid

#save surface mass balance mat dataset
smbmean = np.nanmean(smbbox, axis=(0, 1))
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: 0 additions & 2 deletions externalpackages/m1qn3/configs/linux/configure.make

This file was deleted.

2 changes: 0 additions & 2 deletions externalpackages/m1qn3/configs/mac/configure.make

This file was deleted.

37 changes: 0 additions & 37 deletions externalpackages/m1qn3/configs/makefile

This file was deleted.

This file was deleted.

55 changes: 0 additions & 55 deletions externalpackages/m1qn3/install-linux-static.sh

This file was deleted.

52 changes: 0 additions & 52 deletions externalpackages/m1qn3/install-linux.sh

This file was deleted.

Loading
Loading