Skip to content

Fortress basin aoi#81

Open
f-PLT wants to merge 17 commits into
mainfrom
fortress-basin-aoi
Open

Fortress basin aoi#81
f-PLT wants to merge 17 commits into
mainfrom
fortress-basin-aoi

Conversation

@f-PLT

@f-PLT f-PLT commented Jul 10, 2026

Copy link
Copy Markdown
Collaborator

Experimental fusing of the newer Bow Valley inference pipeline tooling with the existing GEE data sourcing.

f-PLT added 4 commits July 8, 2026 14:23
Export FSC input cubes directly in the cell's native UTM CRS at scale=10
instead of round-tripping through EPSG:4326. The 4326 path left a grid-
convergence tilt and a 0-valued border sliver around each tile, so adjacent
cubes did not tile seamlessly.

- eo_eval.py: new export_from_csv_utm_native — builds the request rectangle
  in the row's UTM crs, grows each cell by a buffer_m halo (neighbours overlap
  2x buffer_m for a downstream mean-mosaic to reconcile), and exports at
  crs=<UTM>+scale=10 so EE resamples every band onto one shared 10m lattice.
  Verified: tiles are 108x108, origins on a common 10m grid, zero 0-border
  pixels, 80m overlap between neighbours, across all dates.
- eo_eval.py: _export_for_polygon exports at scale=10 with the caller's crs
  (dropped an earlier crs_transform approach that failed with "inconsistent
  bounding boxes" on dates whose bands had mismatched native footprints).
- build_aoi_cubes_gee_url.py: tile the AOI (Mode B), emit the GEE-UTM cube
  CSV, and drive the native export; --buffer-m controls the overlap halo.

Assisted by Claude Code
url mode does a blocking getDownloadURL + download per cube, so it is
network-bound and benefits from a small thread pool. Run the per-row exports
through a ThreadPoolExecutor (default 4 workers); cloud/drive mode stays
serial since it only fires batch submits that mutate the shared ee_task_list.

- eo_eval.py: export_from_csv_utm_native gains max_workers (default 4); the
  per-row body is a closure dispatched via ThreadPoolExecutor for url mode.
- build_aoi_cubes_gee_url.py: --max-workers flag wired through and logged.

Workers are capped low deliberately: GEE throttles getDownloadURL, so a large
pool returns 429s rather than speed.

Assisted by Claude Code
@f-PLT f-PLT self-assigned this Jul 10, 2026
@f-PLT
f-PLT marked this pull request as ready for review July 17, 2026 15:56
@f-PLT
f-PLT requested a review from marlens123 July 17, 2026 16:05
@f-PLT

f-PLT commented Jul 17, 2026

Copy link
Copy Markdown
Collaborator Author

Entrypoint into this PR is the following documentation :

As well as these 2 scripts :

I'm not strictly done with refactoring, but it's far enough along for you to try it out and see if the results line up with what you have on your end.

No need to hurry, we can take a look together when I get back.


Also, I'm pretty confident I'll be able to produce longer time series, as a single month's worth of fsc prediction for the Fortress Mountain Basin is less than 1% of my monthly quota on the non-commercial license, and takes a few hours to produce the cubes and run inference.

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