Skip to content

Major cleanup - #12

Merged
jourdain merged 27 commits into
mainfrom
major-cleanup
Oct 14, 2026
Merged

jourdain merged 27 commits into
mainfrom
major-cleanup

Conversation

@jourdain

Copy link
Copy Markdown
Collaborator

No description provided.

jourdain and others added 27 commits October 14, 2026 09:43
- Add a `test` extra so `nox -s tests` installs pytest with the package
  instead of falling back to the project venv; `dev` now includes it.
- Remove the duplicated pre-commit step in CI (nox already runs lint).
- Remove the unused docs/api/pylint nox sessions, the `plugins/` ruff
  ignores and tests/requirements.txt inherited from the template.
- Fix the project description.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The highlight of a mesh fully east of the prime meridian (and west of
the antimeridian) was offset by half the map width. Extract the region
math into compute_data_regions() and cover it with tests.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Build a tiny SCRIP mesh and EAM data file on the fly (no data download)
to test the mesh/column/surface readers (row order, dimension order,
fill values, time slicing), the lat/lon/time helpers, histogram snapping
and GlobalParameters region selection and field loading.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
FindSpecialVariable read the hyb coefficients from `_hyai[1]`, raising
IndexError for files without a `lev` variable but with one hybrid pair,
so the level coordinate was dropped. Should also be reported upstream
(QuickView) since io/ is vendored.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Dock panels only exist client side and were added once per server, so a
reload or a second tab showed an empty dock. Re-add them when the dock
of a client is ready (addPanel is a no-op for existing panel ids).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Clamp time_index when time_values shrinks and don't index an empty list.
- Reset color_by to "" (a str field) instead of None when nothing is loaded.
- Log missing field metadata instead of printing it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
viz3d.py (~1400 lines) becomes analysis/viz3d/ with one mixin per concern:
- constants.py: themes, marker sizes, export scale, ...
- camera.py: north-up interactor style and camera reset/focus
- scene.py: VTK pipelines and actors (_setup_vtk split per layer),
  render-time syncs of level labels and column spheres, theme colors
- layers.py: reaction of the layers to the UI controls, find data
- histogram.py: histogram figure and snap_bound()
- probe.py: hover tooltip and click menu
- export.py: high resolution PNG with scalar bars
- view.py: Viz3D (pipeline inputs, reactivity bindings, UI)

load_all_analysis() now imports analysis packages too (pkgutil), and as
regular e3sm_siteview.analysis.* modules. Rendering on the regional
sample data is pixel identical to the previous code.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
if len(_hyai) == 1:
hyai = data[_hyai[0]][:].flatten()
hybi = data[_hyai[1]][:].flatten()
hybi = data[_hybi[0]][:].flatten()

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

FYI @berkgeveci for QuickView or the io lib we want to capture all the readers...

@jourdain
jourdain merged commit cf4409c into main Oct 14, 2026
1 check passed
@jourdain
jourdain deleted the major-cleanup branch October 14, 2026 21:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant