crop-water-use
Per-field crop water use (actual evapotranspiration) from an OpenET ensemble raster time series for an AOI in the San Joaquin Valley. For each field in the Fields of the World boundary layer, aggregate the gridded ET signal temporally to a seasonal total and spatially to a per-field mean and sum, yielding a table that ranks fields by irrigation demand and seasonal consumption. The per-field ET table is the crop-water-use product; the raw ET raster stack and seasonal accumulation raster are the scrubable "show your work" layers. The primary compute path ingests OpenET ensemble ET (@openet) directly as a cloud-native raster time series and skips the radiometric preprocessing stack that a raw-satellite path requires. An alternate SSEBop-from-Landsat path (documented in comments below) derives ET from Landsat C2-L2 land-surface temperature via the operational SSEBop model (Senay 2013), providing a cross-check that is useful when OpenET ensemble coverage is sparse or lagged.
- recipe
- Apache-2.0
- outputs
- CC-BY-4.0
The contract
Read from this recipe's own declarations — parameters:,
outputs:, requires:, and the ops its layers name. Not from its
style blocks and not from any benchmark: a colour ramp is not a contract, and a measured
run is evidence about one AOI rather than a domain.
Parameters
The legacy dialect has no typed parameter schema. Read the folia.yaml for what this recipe takes; nothing here can type-check it.
Outputs
| output | kind | layer | what it is |
|---|---|---|---|
primary |
not declared | ['compute/field_et'] |
|
show_your_work |
not declared | ['source/et', 'compute/seasonal_et'] |
|
provenance |
not declared | ['source_scene_ids'] |
Capabilities it requires
The legacy dialect has no requires: block.
Where it runs
- Browser preview does not run here compute/field_et: carries an unsubstituted ${...} template; compute/seasonal_et: depends on layer "source/et", which cannot run here; source/et: layer type "raster_timeseries" is not one folia-view parses
- Local CLI (folia run) runs here runs locally through the legacy (no spec_version) parser
- Operated fleet (POST /plan, /run) runs here legacy dialect: a lock binds by the cut's layer names, not by digest
registry/recipes/crop-water-use/folia.yaml