stilt.Project.footprints#
- Project.footprints(sel=None)[source]#
Open the footprints of the selected simulations as one dataset.
Footprints are stacked by their hour from the receptor time, so receptors at any time share one
houraxis; thetimecoordinate says when each layer starts. Only the files’ metadata is read here. The values load with dask when they are used, in blocks of receptors from one date folder. The selection must hold one variant, as forjacobian().- Parameters:
sel (
Any) – The simulations, as forstatus(), all of one variant (and one realization of an ensemble). All of them by default.- Returns:
footwith dims(receptor, hour, lat, lon)(yandxon a projected grid), in selection order. A receptor with an empty footprint has no row and is listed inattrs["empty"]; one not run yet is listed inattrs["missing"].- Return type:
- Raises:
ValueError – If the selection holds more or fewer than one variant, or several realizations of an ensemble, the variant has no grid, or no selected simulation has a footprint file yet.
Notes
A footprint is about 35 MB of values on a 350,000-cell grid over 24 hours, so a computation that loads every receptor at once suits a selection of hundreds. Sums over
houror the grid run block by block.jacobian()sums any number of footprints onto a target.Examples
>>> ds = project.footprints(sims[sims.variant == "hrrr"]) >>> ds.foot.sum("hour").mean("receptor").plot()