eoforeststac.writers.efda.EFDAWriter#

class eoforeststac.writers.efda.EFDAWriter(endpoint_url: str, bucket: str, key: str | None = None, secret: str | None = None, profile: str | None = None, region: str = 'eu-central-1', anon: bool = False)[source]#

Writer for the European Forest Disturbance Atlas (EFDA).

Native input:
  • yearly disturbance mosaic GeoTIFFs

  • yearly disturbance agent GeoTIFFs

Projection:
  • EPSG:3035 (LAEA Europe)

Output:
  • single Zarr store with variables:

    disturbance_occurrence(time, y, x) disturbance_agent(time, y, x)

Strategy:
  • stream year-by-year and append along time (no concat, no huge lists)

  • consolidate metadata at end to produce .zmetadata

__init__(endpoint_url: str, bucket: str, key: str | None = None, secret: str | None = None, profile: str | None = None, region: str = 'eu-central-1', anon: bool = False)[source]#

Methods

__init__(endpoint_url, bucket[, key, ...])

add_metadata(ds, _FillValue, crs[, version])

Add variable + global metadata.

apply_fillvalue(ds[, fill_value])

build_year_dataset(mosaic_dir, agent_dir, ...)

Build a 1-year Dataset(time=1, y, x) containing both vars.

make_encoding(chunks[, _FillValue])

make_store(zarr_path)

Create an s3fs-backed Zarr store.

set_crs(ds[, crs])

set_global_metadata(ds, metadata)

write(mosaic_dir, agent_dir, years, output_zarr)

Stream yearly EFDA GeoTIFFs into a single Zarr store along time.

write_to_zarr(ds, zarr_path[, encoding, ...])