Repository navigation
Icechunk and Zarr page: a store's grid and chunks under other projections - #60
Merged
Merged
Conversation
…ions store.html opens an Icechunk repository (icechunk-js) or a Zarr store (zarrita), finds the variable's CRS (CF grid_mapping, EPSG in crs_wkt, GeoZarr attributes, or lat/lon coordinates) and where its cells are (GeoTransform, spatial:transform or 1D coordinates), and draws cells and chunks on the globe, unfolding into a gridlook projection or the store's own CRS. Colour by data (chunks read on demand), true cell area or the angular distortion of the store's CRS. The URL hash is gridlook's. src/core/storecrs.js: CF grid mappings to PROJ strings, coordinate axes, cell areas, gridlook hash. Checked in test/check-storecrs.mjs against pyproj's CRS.from_cf and Geod, and small Icechunk/Zarr stores written by xarray, zarr-python and icechunk (test/make-store-fixtures.py). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01P5mFPo1pMPQm38dMJ6T5Nu
- rectilinear (uneven 1D) axes with midpoint cell edges - curvilinear 2D lat/lon grids (e.g. tripolar ocean): bilinear on unit vectors, spherical quad areas, cell shape from the Jacobian - Local folder picker opens a Zarr store from disk (nothing uploaded) - presets from the public CMIP6 bucket used by gridlook - auto-read limit lowered to 32MB - gaussian.zarr and curvilinear.zarr fixtures and tests Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01P5mFPo1pMPQm38dMJ6T5Nu
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Requested by Michael · project thread
What
New page
store.html(nav: after Rectilinear chunks). Point it at an Icechunk repository or a Zarr store and it shows where a variable's cells and chunks sit on the earth:+esmin the pagegrid_mapping(14 appendix F mappings, plus rotated pole), the EPSG code incrs_wkt, GeoZarr attributes, or 1D lat/lon coordinates (WGS 84 assumed, and the page says so)spatial:transformor 1D coordinates (km units are scaled to m)#<store>::varname=..::projection=..) and has an "Open in gridlook" linkChecks
test/check-storecrs.mjs(added tonpm test):CRS.from_cf, all within 1 mm. The exception is ellipsoidal aeqd: proj4js 2.12.1 is about 1 m off and inverts it into the wrong hemisphere. 2.22 fixes this. The test reports it rather than failing.js/store-read.js. The first-cell lon/lat is checked against PROJ.The browser check used Playwright + swiftshader with the CDN routed to local bundles: all fixtures open and draw.
Not yet
icechunk-public-databucket sends no CORS header, so the browser cannot open it from another site+esmjsDelivr builds of icechunk-js and zarrita have not been loaded from the real CDN yetGenerated by Claude Code