Skip to content

Implement ISMIP7 conventions and match with ISMIP7 data request#2

Open
hgoelzer wants to merge 10 commits intomainfrom
hgoelzer/ismip7_dev
Open

Implement ISMIP7 conventions and match with ISMIP7 data request#2
hgoelzer wants to merge 10 commits intomainfrom
hgoelzer/ismip7_dev

Conversation

@hgoelzer
Copy link
Copy Markdown
Member

This is a major overhaul of the checker to bring it up to date with the ISMIP7 data request and conventions.
The full list of implemented checks is at the top of compliance_checker.py.
There is also a new test/generate_test_files.py which can write a full ISMIP7 submission (with synthetic data in range) as a template for modellers to look at and that passes all the tests.
The ISMIP6 logic has been removed and both scripts now rely on sheet conventions/ISMIP7_variable_request.xlsx.

hgoelzer added 10 commits March 14, 2026 20:59
Focus on getting ISMIP7 tests up and running. Adding support for three
options: "ismip7_scalars", "ismip7_vars", "ismip7", where the last is a
combination of both.
refactor checker to isolate tests as separate functions
update to latest ISMIP7 data request
@hgoelzer hgoelzer requested a review from xylar April 28, 2026 21:27
@hgoelzer hgoelzer added the enhancement New feature or request label Apr 28, 2026
Copy link
Copy Markdown
Member

@xylar xylar left a comment

Choose a reason for hiding this comment

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

@hgoelzer, this looks good at a glance but I'll take some time verifying it because obviously getting it right matters a lot.

Here's my initial thought.

Comment thread README.md
conda activate isschecker
```

Dependencies: Python 3.9, `numpy`, `pandas`, `xarray`, `cftime`, `netCDF4`, `tqdm`.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Python 3.9 is past end of life. Many of the other dependencies in https://github.com/ismip/ISM_SimulationChecker/blob/main/isschecker_env.yml are super old and need to be updated:

name: isschecker
channels: 
  - conda-forge 
  - defaults 
dependencies: 
  - python=3.14
  - pip=26.0.1

# Core scientific python 
  - numpy=2.4.3
  - pandas=3.0.2
  - tqdm=4.67.3

# Spatial packages 
  - xarray=2026.4.0
  - cftime=1.6.5
  - netcdf4=1.7.4

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I verified on my laptop that this combination is installable. This is all the latest versions of each dependency available on conda-forge right now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants