From 1c92cfb08dddf9f33150923aae888fb3b59c1813 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Costes?= Date: Thu, 28 Aug 2025 10:52:39 -0700 Subject: [PATCH 001/111] add fill value attribute requirement for std file --- docs/standard_format.md | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/docs/standard_format.md b/docs/standard_format.md index 23537b9..4371d19 100644 --- a/docs/standard_format.md +++ b/docs/standard_format.md @@ -200,6 +200,7 @@ The possible units fields are the following: - Location of the probes must be defined as attributes following a spatial description convention. - If geographic coordinates are used, a CRS must be included. - Users are encouraged to add an attribute `description` to groups and datasets for information/context about the data. +- If no data value or fill value is used, an attribute `_FillValue` must be defined at the dataset level. - In the following example, the array dimensions can be: - time -> ($N_t$) - data (temperature, wind_speed, *etc.*) -> ($N_t$) @@ -228,6 +229,7 @@ The possible units fields are the following: - If geographic coordinates are used, a CRS must be included. - Each dataset (wind_speed, *etc.*) must be named using the [Standard Variable Namespace](./namespace.md). If the name of the variable is not present, use a variable name as descriptive as possible and open a pull request to add the variable name to the Standard Variable Namespace. Units must be defined as an attribute `units` compatible with [Pint library](https://pint.readthedocs.io/en/stable/) terminology. - Users are encouraged to add an attribute `description` to groups and datasets for information/context about the data. +- If no data value or fill value is used, an attribute `_FillValue` must be defined at the dataset level. - The coordinate arrays may be 1D, or time-dependent 1D, depending on the grid type (regular, curvilinear, moving). - In the following example, the array dimensions can be: - time -> ($N_t$) @@ -251,6 +253,7 @@ The possible units fields are the following: - If geographic coordinates are used, a CRS must be included. - Each dataset (rate_of_spread, wind_u, *etc.*) must be named using the [Standard Variable Namespace](./namespace.md). If the name of the variable is not present, use a variable name as descriptive as possible and open a pull request to add the variable name to the Standard Variable Namespace. Units must be defined as an attribute `units` compatible with [Pint library](https://pint.readthedocs.io/en/stable/) terminology. - Users are encouraged to add an attribute `description` to groups and datasets for information/context about the data. +- If no data value or fill value is used, an attribute `_FillValue` must be defined at the dataset level. - The coordinate arrays may be 1D, 2D, or time-dependent 2D, depending on the grid type (regular, curvilinear, moving). - In the following example, the array dimensions can be: - time -> ($N_t$) @@ -285,6 +288,7 @@ The possible units fields are the following: - If geographic coordinates are used, a CRS must be included. - Each dataset (temperature, wind_u, *etc.*) must be named using the [Standard Variable Namespace](./namespace.md). If the name of the variable is not present, use a variable name as descriptive as possible and open a pull request to add the variable name to the Standard Variable Namespace. Units must be defined as an attribute `units` compatible with [Pint library](https://pint.readthedocs.io/en/stable/) terminology. - Users are encouraged to add an attribute `description` to groups and datasets for information/context about the data. +- If no data value or fill value is used, an attribute `_FillValue` must be defined at the dataset level. - The coordinate arrays may be 1D, 3D, or time-dependent 3D, depending on the grid type (regular, curvilinear, moving). - In the following example, the array dimensions can be: - time -> ($N_t$) @@ -312,6 +316,7 @@ The possible units fields are the following: - Datasets must be grouped at the lowest common level that minimizes data duplication. Variables sharing the same time coordinate and the same spatial coordinate are placed in the same data group. - All spatial coordinates must follow the Spatial Information Convention, including CRS where applicable. - Users are encouraged to add an attribute `description` to groups and datasets for information/context about the data. +- If no data value or fill value is used, an attribute `_FillValue` must be defined at the dataset level. - Each dataset (temperature, wind_u, *etc.*) must be named using the [Standard Variable Namespace](./namespace.md). If the name of the variable is not present, use a variable name as descriptive as possible and open a pull request to add the variable name to the Standard Variable Namespace. Units must be defined as an attribute `units` compatible with [Pint library](https://pint.readthedocs.io/en/stable/) terminology. - The following example proposes a structure for a particle trajectories dataset, an output of a model using an unstructured mesh, and a dataset containing building positions and information about buildings. @@ -343,6 +348,7 @@ The possible units fields are the following: - Polygons that have a specific time stamp must contain an attribute `time` following the time format convention (each polygon dataset has its own time attribute). - Per-polygon attributes (e.g., building type, perimeter source) should be stored as attributes at the lowest common level. Group attributes are considered common to all datasets contained in the group. If information is specific to a polygon, it should be stored as a dataset attribute. - Users are encouraged to add an attribute `description` to groups and datasets for information/context about the data. +- If no data value or fill value is used, an attribute `_FillValue` must be defined at the dataset level. - Each dataset (fire perimeter, buildings, *etc.*) must be named using the [Standard Variable Namespace](./namespace.md). If the name of the variable is not present, use a variable name as descriptive as possible and open a pull request to add the variable name to the Standard Variable Namespace. Units must be defined as an attribute `units` compatible with [Pint library](https://pint.readthedocs.io/en/stable/) terminology. - Polygons are stored as (Nvertices, 2) or (Nvertices, 3) arrays following a Spatial Information Convention. @@ -366,6 +372,7 @@ The possible units fields are the following: - Each fuel property (fuel load, fuel height, *etc.*) must be named using the [Standard Variable Namespace](./namespace.md). If the name of the variable is not present, use a variable name as descriptive as possible and open a pull request to add the variable name to the Standard Variable Namespace. Units must be defined as an attribute `units` compatible with [Pint library](https://pint.readthedocs.io/en/stable/) terminology. - Each fuel property dataset must contain the attributes `long_name` describing the property, `unit`, and `type` describing the variable type in the numpy array (*e.g.* float64, object, int32). String variables will be using the object type. - Users are encouraged to add an attribute `description` to groups and datasets for information/context about the data. +- If no data value or fill value is used, an attribute `_FillValue` must be defined at the dataset level. - The number of fuel categories contained in a fuel model must be specified by the attribute `nb_fuel_cat` of the fuel model group. - In the following example, the array dimensions must share one dimension size defined by the attribute `nb_fuel_cat` of `Anderson13` and `WUDAPT10` groups. The size of the first dimension of all category-dependent datasets must match `nb_fuel_cat`. For example the dataset for a fuel parameter can have the shape ($N$) or ($N$, $N_2$) if $N$ is the number of fuel categories (`nb_fuel_cat`) and $N_2$ a parameter specific dimension (*e.g.*, size classes, depth layers). @@ -390,4 +397,6 @@ The possible units fields are the following: - Spatial and temporal metadata following the relevant conventions in this standard, if applicable. - Naming of datasets should remain descriptive and avoid collisions with reserved names in the standard. - Use of `/miscellaneous` should be temporary whenever possible; data types that become common should be proposed for inclusion in future versions of the standard. -- The structure of `/miscellaneous` is unconstrained, but good practice is to group related datasets together to improve clarity. \ No newline at end of file +- The structure of `/miscellaneous` is unconstrained, but good practice is to group related datasets together to improve clarity. +- Users are encouraged to add an attribute `description` to groups and datasets for information/context about the data. +- If no data value or fill value is used, an attribute `_FillValue` must be defined at the dataset level. \ No newline at end of file From f933e80c36ff2c2dae3f3f1dbcc4726ebb704452 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Costes?= Date: Mon, 8 Sep 2025 14:40:41 +0200 Subject: [PATCH 002/111] add check-consistency-namespace in makefile - checks that the list of variables in namespace is the same between the python class and the documentation --- .../check_namespace_file_consistency.py | 63 +++++++++++++++++++ Makefile | 6 +- pyproject.toml | 4 +- 3 files changed, 71 insertions(+), 2 deletions(-) create mode 100644 .github/actions/check_namespace_file_consistency.py diff --git a/.github/actions/check_namespace_file_consistency.py b/.github/actions/check_namespace_file_consistency.py new file mode 100644 index 0000000..6aad306 --- /dev/null +++ b/.github/actions/check_namespace_file_consistency.py @@ -0,0 +1,63 @@ +""" +Dev-only namespace consistency checker. + +- Reads a fixed Markdown file to get the list of standard variable names. +- Imports `svn` from `firebench` to get the authoritative list from code. +- Compares both lists and prints differences. +- No argparse, no unit/type checks, no JSON. + +Usage: + in root directory: make check-consistency-namespace +""" + +import re +from pathlib import Path + +# Docs path +NAMESPACE_DOCS = Path("docs/namespace.md") +_MD_NAME_RE = re.compile(r"-\s*`([^`]+)`") + +def get_md_variables(md_path: Path) -> list[str]: + """Return the list of variable names listed in the Markdown spec.""" + text = md_path.read_text(encoding="utf-8") + return _MD_NAME_RE.findall(text) + +def get_svn_variables() -> list[str]: + """Return the list of variable names from `firebench.svn`. + + Supports several shapes: + - Enum class (uses __members__) + - dict of names + - list/tuple/set of names + - module / object with UPPERCASE attributes + """ + from firebench import svn + + # Enum class (most common) + members = getattr(svn, "__members__", None) + if isinstance(members, dict): + return sorted(members.keys()) + + # collect UPPERCASE attribute names on the object/module + names = [n for n in dir(svn) if n.isupper() and not n.startswith("_")] + return sorted(set(names)) + +def check_consistency() -> None: + md_vars = set(get_md_variables(NAMESPACE_DOCS)) + svn_vars = set(get_svn_variables()) + + only_in_docs = sorted(md_vars - svn_vars) + only_in_svn = sorted(svn_vars - md_vars) + common = sorted(md_vars & svn_vars) + + print("== Namespace Consistency Check ==") + print(f"Common: {len(common)}") + print(f"Only in docs (missing from svn): {len(only_in_docs)}") + for name in only_in_docs: + print(f" - {name}") + print(f"Only in svn (missing from docs): {len(only_in_svn)}") + for name in only_in_svn: + print(f" - {name}") + +if __name__ == "__main__": + check_consistency() diff --git a/Makefile b/Makefile index 3310882..9241bde 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ # Declare these targets as phony to avoid conflicts with files of the same name -.PHONY: test test-cov lint update-lint-score code-formatting bandit update-docs-changelog generate-api-doc docs clean +.PHONY: test test-cov lint update-lint-score code-formatting bandit update-docs-changelog check-consistency-namespace generate-api-doc docs clean # Run all tests without coverage report test: @@ -32,6 +32,10 @@ bandit: update-docs-changelog: python .github/actions/update_changelog_in_docs.py +# Check consistency between namespace in package and in docs +check-consistency-namespace: + python .github/actions/check_namespace_file_consistency.py + # Update API documentation generate-api-doc: python .github/actions/generate_api_docs.py diff --git a/pyproject.toml b/pyproject.toml index 9509484..3375076 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "hatchling.build" [project] name = "firebench" -version = "0.7.0" +version = "0.8.0a" authors = [ {name = "Aurélien Costes", email = "aurelien.costes31@gmail.com"}, ] @@ -20,6 +20,8 @@ dependencies = [ "h5py < 4.0", "geopandas < 2.0", "matplotlib > 3.8", + "rasterio < 2.0", + "pyproj < 4.0", ] readme = "README.md" license = {file = "LICENSE"} From 007f6fbb0351eede0a961bef10d8611dbe4bea39 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Costes?= Date: Tue, 9 Sep 2025 09:44:10 +0200 Subject: [PATCH 003/111] add missing variables in namespace docs --- .../check_namespace_file_consistency.py | 8 ++++++-- docs/dependencies.md | 6 ++++-- docs/namespace.md | 20 +++++++++++++++++++ 3 files changed, 30 insertions(+), 4 deletions(-) diff --git a/.github/actions/check_namespace_file_consistency.py b/.github/actions/check_namespace_file_consistency.py index 6aad306..938b8b5 100644 --- a/.github/actions/check_namespace_file_consistency.py +++ b/.github/actions/check_namespace_file_consistency.py @@ -17,11 +17,13 @@ NAMESPACE_DOCS = Path("docs/namespace.md") _MD_NAME_RE = re.compile(r"-\s*`([^`]+)`") + def get_md_variables(md_path: Path) -> list[str]: """Return the list of variable names listed in the Markdown spec.""" text = md_path.read_text(encoding="utf-8") return _MD_NAME_RE.findall(text) + def get_svn_variables() -> list[str]: """Return the list of variable names from `firebench.svn`. @@ -42,13 +44,14 @@ def get_svn_variables() -> list[str]: names = [n for n in dir(svn) if n.isupper() and not n.startswith("_")] return sorted(set(names)) + def check_consistency() -> None: md_vars = set(get_md_variables(NAMESPACE_DOCS)) svn_vars = set(get_svn_variables()) only_in_docs = sorted(md_vars - svn_vars) - only_in_svn = sorted(svn_vars - md_vars) - common = sorted(md_vars & svn_vars) + only_in_svn = sorted(svn_vars - md_vars) + common = sorted(md_vars & svn_vars) print("== Namespace Consistency Check ==") print(f"Common: {len(common)}") @@ -59,5 +62,6 @@ def check_consistency() -> None: for name in only_in_svn: print(f" - {name}") + if __name__ == "__main__": check_consistency() diff --git a/docs/dependencies.md b/docs/dependencies.md index eaaebf4..4f4bcbd 100644 --- a/docs/dependencies.md +++ b/docs/dependencies.md @@ -2,13 +2,15 @@ ## Required +- geopandas < 2.0 - h5py < 4.0 +- matplotlib > 3.8 - numpy < 3.0 - pint < 1.0 +- pyproj < 4.0 +- rasterio < 2.0 - SALib < 2.0 - scipy < 2.0 -- geopandas < 2.0 -- matplotlib > 3.8 ## Optional These dependencies are required for advanced use (testing, offline generation of documentation, etc.) diff --git a/docs/namespace.md b/docs/namespace.md index 8d46257..4ab2599 100644 --- a/docs/namespace.md +++ b/docs/namespace.md @@ -14,9 +14,17 @@ The Standard Variable Namespace `svn` is accessed in workflows using `from fireb - `AIR_TEMPERATURE`: Air temperature [K] - `ALPHA`: Alpha - `BETA`: Beta +- `BUILDING_RATIO_FIRE_RESISTANT`: Ratio of fire resistant building [-] +- `BUILDING_RATIO_STRUCTURE_WOOD_BARE`: Ratio of buildings made with bare wood materials [-] +- `BUILDING_RATIO_STRUCTURE_WOOD_MORTAR`: Ratio of buildings made with mortar [-] +- `BUILDING_LENGTH_SEPARATION`: Buildings seperation length [m] +- `BUILDING_LENGTH_SIDE`: Buildings side length [m] - `CANOPY_DENSITY_BULK`: Canopy bulk density [kg m-3] - `CANOPY_HEIGHT_BOTTOM`: Canopy height bottom [m] - `CANOPY_HEIGHT_TOP`: Canopy height top [m] +- `DIRECTION`: Direction [-] +- `FIRE_ARRIVAL_TIME`: Fire arrival time [s] +- `FIRE_BURN_SEVERITY`: Fire burn severity [-] - `FUEL_CLASS`: Fuel class (int) - `FUEL_CHAPARRAL_FLAG`: Fuel chaparral flag (int) - `FUEL_COVER`: Fuel cover [%] @@ -65,10 +73,22 @@ The Standard Variable Namespace `svn` is accessed in workflows using `from fireb - `FUEL_WIND_HEIGHT`: Fuel wind height [m] - `FUEL_WIND_REDUCTION_FACTOR`: Fuel wind reduction factor [-] - `IGNITION_LENGTH`: Ignition length [m] +- `LATITUDE`: Latitude [deg] - `LENGTH`: Length [m] +- `LONGITUDE`: Longitude [deg] +- `MAGNITUDE`: Magnitude +- `NORMAL_SPREAD_DIR_X`: Fire front normal vector component in x direction [-] +- `NORMAL_SPREAD_DIR_Y`: Fire front normal vector component in y direction [-] - `RATE_OF_SPREAD`: Rate of spread [m s-1] - `RELATIVE_HUMIDITY`: Relative Humidity [m s-1] - `SLOPE_ANGLE`: Slope angle [deg] - `TEMPERATURE`: Temperature [K] - `TIME`: Time [s] +- `WIND_DIRECTION`: Wind direction [deg] - `WIND_SPEED`: Wind [m s-1] +- `WIND_SPEED_U`: Wind speed in x direction [m s-1] +- `WIND_SPEED_V`: Wind speed in y direction [m s-1] +- `WIND_SPEED_W`: Wind speed in z direction [m s-1] +- `X`: x coordinate [m] +- `Y`: y coordinate [m] +- `Z`: z coordinate [m] From ef676825fe723f94f84b7c39f4d1b96c3afcb91e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Costes?= Date: Tue, 9 Sep 2025 09:44:45 +0200 Subject: [PATCH 004/111] add standardization of mtbs data --- src/firebench/__init__.py | 2 +- src/firebench/standardize/__init__.py | 2 + src/firebench/standardize/mtbs.py | 130 ++++++++++++++++++++++++++ src/firebench/standardize/tools.py | 58 ++++++++++++ src/firebench/tools/namespace.py | 1 + 5 files changed, 192 insertions(+), 1 deletion(-) create mode 100644 src/firebench/standardize/__init__.py create mode 100644 src/firebench/standardize/mtbs.py create mode 100644 src/firebench/standardize/tools.py diff --git a/src/firebench/__init__.py b/src/firebench/__init__.py index 5eab604..be86d31 100644 --- a/src/firebench/__init__.py +++ b/src/firebench/__init__.py @@ -1,4 +1,4 @@ -from . import ros_models, tools, wind_interpolation, stats, metrics, sensors +from . import ros_models, tools, wind_interpolation, stats, metrics, sensors, standardize from .tools.logging_config import logger from .tools.namespace import StandardVariableNames as svn from .tools.units import ureg diff --git a/src/firebench/standardize/__init__.py b/src/firebench/standardize/__init__.py new file mode 100644 index 0000000..2a6ff62 --- /dev/null +++ b/src/firebench/standardize/__init__.py @@ -0,0 +1,2 @@ +from .mtbs import convert_mtbs_geotiff +from .tools import VERSION_STD diff --git a/src/firebench/standardize/mtbs.py b/src/firebench/standardize/mtbs.py new file mode 100644 index 0000000..1ae29c7 --- /dev/null +++ b/src/firebench/standardize/mtbs.py @@ -0,0 +1,130 @@ +from datetime import datetime +from pathlib import Path + +import h5py +import numpy as np +import rasterio +from pyproj import CRS, Transformer + +from ..tools import StandardVariableNames as svn +from ..tools import current_datetime_iso8601, datetime_to_iso8601 +from .tools import VERSION_STD, check_std_version +from ..tools.logging_config import logger + + +def convert_mtbs_geotiff( + path: str, + dst: str, + group_name: str | None = None, + authors: str = "", + std_file_description: str = "auto", + overwrite: bool = False, +): + """ + Convert a MTBS GeoTIFF to Firebench HDF5 standard file. + + Parameters + ---------- + path : str + Path to the MTBS GeoTIFF (ending with *_dnbr6.tif). + dst : str + Path to target HDF5 file (created or appended). + group_name : str | None + HDF5 group path. If None, auto-derive from filename, e.g. '2D_raster/'. + authors: str + Add the names of the authors in the standard file in the file attribute `created_by`. + std_file_description: str + Add custom description of the mtbs group. If description is "auto" the description will be "\n- Burn severity from MTBS". + overwrite: bool + Overwrite the group in the HDF5 file. Default: False + + Returns + ------- + str + The actual HDF5 group written (with suffix if collision). + """ # pylint: disable=line-too-long + with rasterio.open(path) as src: + data = src.read(1) + severity_raw = {"data": data, "transform": src.transform, "crs": src.crs, "nodata": src.nodata} + logger.info(f"Loaded {path}: shape={data.shape}, CRS={src.crs}") + + rows, cols = data.shape + + # Build pixel center coordinates (projected) + # col indices (x-direction), row indices (y-direction) + jj = np.arange(cols) + ii = np.arange(rows) + # vectorized center coordinates from affine: + # x = a*col + b*row + c ; y = d*col + e*row + f + # Use broadcasting to form 2-D arrays without Python loops. + x = ( + severity_raw["transform"].a * jj[None, :] + + severity_raw["transform"].b * ii[:, None] + + severity_raw["transform"].c + ) + y = ( + severity_raw["transform"].d * jj[None, :] + + severity_raw["transform"].e * ii[:, None] + + severity_raw["transform"].f + ) + + # Reproject to geographic lat/lon + # Choose your target CRS: + # - WGS84 geographic: + epsg_code = 4269 + tgt_crs = CRS.from_epsg(epsg_code) # lon/lat + # - OR NAD83 geographic: + # tgt_crs = CRS.from_epsg(4269) # lon/lat + + # always_xy=True -> transformer expects/returns (x, y) = (lon, lat) ordering for geographic CRS + transformer = Transformer.from_crs(severity_raw["crs"], tgt_crs, always_xy=True) + lon, lat = transformer.transform(x, y) # lon, lat are 2-D arrays aligned with `data` + + with h5py.File(dst, "a") as h5: + + if check_std_version(h5): + h5.attrs["FireBench_io_version"] = VERSION_STD + + h5.attrs["created_on"] = current_datetime_iso8601(include_seconds=False) + + if "created_by" in h5.attrs.keys(): + if authors is not None: + h5.attrs["created_by"] = h5.attrs["created_by"] + f", {authors}" + else: + h5.attrs["created_by"] = authors + + if std_file_description == "auto": + std_file_description = "\n- Burn severity from MTBS" + if "description" in h5.attrs.keys(): + h5.attrs["description"] = h5.attrs["description"] + "\n- Burn severity from MTBS" + else: + h5.attrs["description"] = "This file contains:\n- Burn severity from MTBS" + + group_name = f"/2D_raster/{group_name}" + if group_name in h5.keys(): + if overwrite: + del h5[group_name] + else: + logger.warning( + "group name %s already exists in file %s. Group not updated. Set `overwrite` to True to update the dataset.", + group_name, + path, + ) + return + + g = h5.create_group(group_name) + g.attrs["data_source"] = f"MTBS {path}" + + # TODO: add some useful metadata from _metadata.xml (fire_ignition_time, pre_fire_image_date, post_fire_image_date) + + # Lat/Lon as 2-D arrays + dlat = g.create_dataset("latitude", data=lat, dtype=np.float64) + dlat.attrs["units"] = "degrees" + + dlat = g.create_dataset("longitude", data=lon, dtype=np.float64) + dlat.attrs["units"] = "degrees" + + ddata = g.create_dataset(svn.FIRE_BURN_SEVERITY.value, data=severity_raw["data"], dtype=np.uint8) + ddata.attrs["crs"] = f"EPSG:{epsg_code}" + ddata.attrs["units"] = "dimensionless" + ddata.attrs["_FillValue"] = 0 diff --git a/src/firebench/standardize/tools.py b/src/firebench/standardize/tools.py new file mode 100644 index 0000000..4dfb26d --- /dev/null +++ b/src/firebench/standardize/tools.py @@ -0,0 +1,58 @@ +import h5py +from ..tools.logging_config import logger + +VERSION_STD = "0.1" + +VERSION_STD_COMPATIBILITY = { + "0.1": [], +} + + +def check_std_version(file: h5py.File): + """ + Determine whether the standard version of a file should be updated to the latest. + + This function inspects the `FireBench_io_version` attribute stored in the given HDF5 file. + It compares the file's version with the current standard version defined in `VERSION_STD`. + The return value indicates whether the caller should update the file's standard version. + + The logic is as follows: + - If the attribute is missing, the file is treated as new and should be updated. + - If the attribute matches the current standard version, the file is already up to date and may be updated. + - If the attribute is in the compatibility list for the current version, the file is considered valid + but should not be updated; a warning is logged instead. + - If the attribute is not compatible with the current version, a `ValueError` is raised. + + Parameters + ---------- + file : h5py.File + An open HDF5 file object to be checked. The file is expected to potentially have a + `FireBench_io_version` attribute at the root. + + Returns + ------- + bool + True if the file should be updated to the latest standard version. + False if the file has a compatible version and should not be updated. + + Raises + ------ + ValueError + If the file contains a `FireBench_io_version` attribute that is incompatible with the + current standard version. + """ # pylint: disable=line-too-long + if "FireBench_io_version" not in file.attrs: + return True + + file_version = file.attrs["FireBench_io_version"] + + if file_version == VERSION_STD: + return True + + if file_version in VERSION_STD_COMPATIBILITY[VERSION_STD]: + logger.warning( + "FireBench_io_version differs but is compatible: file=%s, current=%s", file_version, VERSION_STD + ) + return False + + raise ValueError(f"Standard version {file_version} not compatible with {VERSION_STD}") diff --git a/src/firebench/tools/namespace.py b/src/firebench/tools/namespace.py index 32803f6..ee2343e 100644 --- a/src/firebench/tools/namespace.py +++ b/src/firebench/tools/namespace.py @@ -24,6 +24,7 @@ class StandardVariableNames(Enum): # pragma: no cover CANOPY_HEIGHT_TOP = "canopy_height_top" DIRECTION = "direction" FIRE_ARRIVAL_TIME = "fire_arrival_time" + FIRE_BURN_SEVERITY = "fire_burn_severity" FUEL_CLASS = "fuel_class" FUEL_CHAPARRAL_FLAG = "fuel_chaparral_flag" FUEL_COVER = "fuel_cover" From 116001eb222a4e0ceb9723beed4963c71406a390 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Costes?= Date: Fri, 19 Sep 2025 18:17:20 +0200 Subject: [PATCH 005/111] add mtbs global analysis --- src/firebench/metrics/__init__.py | 3 +- src/firebench/metrics/mtbs/__init__.py | 1 + src/firebench/metrics/mtbs/mtbs_analysis.py | 203 ++++++++++++++++++++ src/firebench/standardize/mtbs.py | 3 +- src/firebench/tools/utils.py | 2 + 5 files changed, 208 insertions(+), 4 deletions(-) create mode 100644 src/firebench/metrics/mtbs/__init__.py create mode 100644 src/firebench/metrics/mtbs/mtbs_analysis.py diff --git a/src/firebench/metrics/__init__.py b/src/firebench/metrics/__init__.py index ef78b26..3fbec48 100644 --- a/src/firebench/metrics/__init__.py +++ b/src/firebench/metrics/__init__.py @@ -1,2 +1 @@ -from . import perimeter -from . import stats +from . import perimeter, stats, mtbs diff --git a/src/firebench/metrics/mtbs/__init__.py b/src/firebench/metrics/mtbs/__init__.py new file mode 100644 index 0000000..1cc055c --- /dev/null +++ b/src/firebench/metrics/mtbs/__init__.py @@ -0,0 +1 @@ +from .mtbs_analysis import global_accuracy diff --git a/src/firebench/metrics/mtbs/mtbs_analysis.py b/src/firebench/metrics/mtbs/mtbs_analysis.py new file mode 100644 index 0000000..7736461 --- /dev/null +++ b/src/firebench/metrics/mtbs/mtbs_analysis.py @@ -0,0 +1,203 @@ +import h5py +import matplotlib.pyplot as plt +import numpy as np +from matplotlib.colors import BoundaryNorm, ListedColormap, Normalize +from scipy.sparse import coo_matrix +from ...tools.namespace import StandardVariableNames as svn +from ...tools.utils import FIGSIZE_DEFAULT +from sklearn.metrics import confusion_matrix + +COLORS_MTBS = [ + (1, 1, 1, 0), # 0: no data + (0, 0.391, 0, 1), # 1: unburnt to low + (0.498, 1, 0.831, 1), # 2: low + (1, 1, 0, 1), # 3: moderate + (1, 0, 0, 1), # 4: high + (0.498, 1, 0.0039, 1), # 5: increased greenness +] + +LABELS_MTBS = [ + "0: no data", + "1: unburnt to low", + "2: low", + "3: moderate", + "4: high", + "5: increased greenness", +] + + +def global_accuracy( + filepath_eval: str, + mtbs_group_path_eval: str, + filepath_ref: str, + mtbs_group_path_ref: str, + figure_name: str = "mtbs_global_accuracy.png", + fig_dpi: int = 150, + ignore_greenness: bool = True, +): + """ + Run the MTBS global accuracy analysis between two datasets. + + The evaluated dataset and the reference dataset are located (respectively) in + filepath_1/mtbs_group_path_1 (filepath_2/mtbs_group_path_2). + + The mtbs group must contain the following datasets: + - fire_burn_severity + - latitude + - longitude + and the following attributes: + - crs + """ + # Import evaluated dataset + with h5py.File(filepath_eval, "r") as h5: + grp_1 = h5[mtbs_group_path_eval] + lat_1 = grp_1[svn.LATITUDE.value][:, :] + lon_1 = grp_1[svn.LONGITUDE.value][:, :] + mtbs_1 = grp_1[svn.FIRE_BURN_SEVERITY.value][:, :] + crs_1 = grp_1.attrs["crs"] + + # Import reference dataset + with h5py.File(filepath_ref, "r") as h5: + grp_2 = h5[mtbs_group_path_ref] + lat_2 = grp_2[svn.LATITUDE.value][:, :] + lon_2 = grp_2[svn.LONGITUDE.value][:, :] + mtbs_2 = grp_2[svn.FIRE_BURN_SEVERITY.value][:, :] + crs_2 = grp_2.attrs["crs"] + + # TODO: Projection eval -> ref + # TODO: interpolation nearest + + # process greenness + + # compute confusion matrix + # Flatten in case your labels are 2D rasters + y_true = np.asarray(mtbs_2).ravel() + y_pred = np.asarray(mtbs_1).ravel() + + # If you know your class list; otherwise infer: + classes = np.unique(np.concatenate([y_true, y_pred])) + K = classes.size + + # Map labels to 0..K-1 (robust if classes aren’t consecutive) + to_idx = {c: i for i, c in enumerate(classes)} + ti = np.vectorize(to_idx.get)(y_true) + pi = np.vectorize(to_idx.get)(y_pred) + + # bincount trick + cm = np.bincount(ti * K + pi, minlength=K * K).reshape(K, K) + + # calculate score + M = 100 * cm / cm.sum(axis=1, keepdims=True).clip(min=1) + accuracy_per_class_bps = np.zeros(5) + accuracy_per_class_total = np.zeros(5) + + for k in range(K - 1): + accuracy_per_class_bps[k] = cm[k + 1, k + 1] / np.sum(cm[k+1, 1:]) if np.sum(cm[k+1, 1:]) > 0 else 0.0 + accuracy_per_class_total[k] = cm[k + 1, k + 1] / (np.sum(cm[k+1, :]) + cm[0, k+1]) + + print(accuracy_per_class_bps) + print(accuracy_per_class_total) + + # or using add.at + cm = np.zeros((K, K), dtype=int) + np.add.at(cm, (ti, pi), 1) + + fig, axes = plt.subplots(2, 2, figsize=(5, 6), constrained_layout=True) + ax1 = axes[0, 0] + ax2 = axes[0, 1] + ax3 = axes[1, 0] + ax4 = axes[1, 1] + + # Build discrete colormap + cmap = ListedColormap(COLORS_MTBS) + bounds = np.arange(-0.5, 6.5, 1) + norm = BoundaryNorm(bounds, cmap.N) + + # panel 2: Evaluated + im1 = ax1.pcolormesh(lon_1, lat_1, mtbs_1, cmap=cmap, norm=norm, edgecolors="none") + + # panel 2: Reference + im2 = ax2.pcolormesh(lon_2, lat_2, mtbs_2, cmap=cmap, norm=norm, edgecolors="none") + + # panel 3: Difference + im3 = ax3.pcolormesh( + lon_2, lat_2, mtbs_1 - mtbs_2, cmap="RdYlGn_r", norm=Normalize(vmin=-5, vmax=5), edgecolors="none" + ) + + # panel 4: confusion matrix + im4 = ax4.imshow(M, cmap="Blues", origin="upper", interpolation="nearest") + ax4.set_xlabel("Evaluated") + ax4.set_ylabel("Reference") + ax4.set_xticks(np.arange(K), labels=classes) + ax4.set_yticks(np.arange(K), labels=classes) + + # Shared colorbar on top of the first row + cbar = fig.colorbar( + im1, + ax=axes[0, :], # span first row only + orientation="horizontal", + location="top", + fraction=0.08, + pad=0.05, # control size/spacing + ticks=range(6), + ) + cbar.ax.set_xticklabels(LABELS_MTBS) + cbar.ax.tick_params(axis="x", rotation=30) + plt.setp(cbar.ax.get_xticklabels(), ha="left") + cbar.set_label("MTBS classes", fontsize=10) + + cbar = fig.colorbar( + im3, + ax=ax3, + orientation="horizontal", + location="bottom", + ticks=[-5, -2, 0, 2, 5], + label="Difference [-]", + ) + + for i in range(K): + for j in range(K): + val = M[i, j] + ax4.text(j, i, f"{val:3.0f}", ha="center", va="center", color="black", fontsize=7) + + ax1.text(0.02, 0.9, "Evaluated", fontsize=8, transform=ax1.transAxes) + ax2.text(0.02, 0.9, "Reference", fontsize=8, transform=ax2.transAxes) + ax4.text(1.03, 1.02, "BPS", fontsize=8, transform=ax4.transAxes) + ax4.text(1.20, 1.02, "total", fontsize=8, transform=ax4.transAxes) + for k in range(K - 1): + ax4.text( + 1.03, 0.73 - 0.165 * k, f"{accuracy_per_class_bps[k]:.2f}", fontsize=7, transform=ax4.transAxes + ) + ax4.text( + 1.20, + 0.73 - 0.165 * k, + f"{accuracy_per_class_total[k]:.2f}", + fontsize=7, + transform=ax4.transAxes, + ) + ax4.text(1.03, 0.01, "__________", fontsize=7, transform=ax4.transAxes) + ax4.text(1.03, -0.1, f"{np.mean(accuracy_per_class_bps):.2f}", fontsize=7, transform=ax4.transAxes) + ax4.text(1.20, -0.1, f"{np.mean(accuracy_per_class_total):.2f}", fontsize=7, transform=ax4.transAxes) + + cbar = fig.colorbar( + im4, + ax=ax4, + orientation="horizontal", + location="bottom", + ) + cbar.set_label("Fraction") # or "Proportion" if normalized + + fig.set_constrained_layout_pads(w_pad=0.02, h_pad=0.02, hspace=0.0, wspace=0.0) + for ax in axes.ravel(): + ax.tick_params(direction="in", top=True, right=True, which="both") + + for ax in [ax1, ax2, ax3]: + ax.set_xlabel("longitude [deg]") + ax.set_ylabel("latitude [deg]") + + if not figure_name.endswith(".png"): + figure_name += ".png" + + fig.savefig(figure_name, dpi=fig_dpi) + + return fig diff --git a/src/firebench/standardize/mtbs.py b/src/firebench/standardize/mtbs.py index 1ae29c7..ac9b726 100644 --- a/src/firebench/standardize/mtbs.py +++ b/src/firebench/standardize/mtbs.py @@ -114,7 +114,7 @@ def convert_mtbs_geotiff( g = h5.create_group(group_name) g.attrs["data_source"] = f"MTBS {path}" - + g.attrs["crs"] = f"EPSG:{epsg_code}" # TODO: add some useful metadata from _metadata.xml (fire_ignition_time, pre_fire_image_date, post_fire_image_date) # Lat/Lon as 2-D arrays @@ -125,6 +125,5 @@ def convert_mtbs_geotiff( dlat.attrs["units"] = "degrees" ddata = g.create_dataset(svn.FIRE_BURN_SEVERITY.value, data=severity_raw["data"], dtype=np.uint8) - ddata.attrs["crs"] = f"EPSG:{epsg_code}" ddata.attrs["units"] = "dimensionless" ddata.attrs["_FillValue"] = 0 diff --git a/src/firebench/tools/utils.py b/src/firebench/tools/utils.py index 2e13823..86f33ee 100644 --- a/src/firebench/tools/utils.py +++ b/src/firebench/tools/utils.py @@ -4,6 +4,8 @@ from pint import Quantity from .logging_config import logger +FIGSIZE_DEFAULT = (6, 6) + def is_scalar_quantity(x: any): """ From 525548b75cf2a25907f20f497fd537adb28cf043 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Costes?= Date: Wed, 12 Nov 2025 20:16:41 -0800 Subject: [PATCH 006/111] add caldor benchamrk building damaged --- .../FB001/Caldor_bd_distribution.png | Bin 0 -> 49193 bytes .../benchmarks/FB001/Caldor_bd_map.png | Bin 0 -> 65310 bytes docs/benchmarks/California/01_Caldor.md | 74 ++++++++++++++++++ src/firebench/metrics/mtbs/mtbs_analysis.py | 2 - 4 files changed, 74 insertions(+), 2 deletions(-) create mode 100644 docs/_static/benchmarks/FB001/Caldor_bd_distribution.png create mode 100644 docs/_static/benchmarks/FB001/Caldor_bd_map.png create mode 100644 docs/benchmarks/California/01_Caldor.md diff --git a/docs/_static/benchmarks/FB001/Caldor_bd_distribution.png b/docs/_static/benchmarks/FB001/Caldor_bd_distribution.png new file mode 100644 index 0000000000000000000000000000000000000000..67a840092b3681701d7a412b1a9ba611191ff56e GIT binary patch literal 49193 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 literal 0 HcmV?d00001 diff --git a/docs/_static/benchmarks/FB001/Caldor_bd_map.png b/docs/_static/benchmarks/FB001/Caldor_bd_map.png new file mode 100644 index 0000000000000000000000000000000000000000..357cfbb3aefadbfd84c4e30ace64bdd07b219b5e GIT binary patch literal 65310 zcmd43c{G;q+c$bqRECN~l1Q@(nP)P+z_sG%crNqGl`Hv@S6)w4I+vWR`X%y+v|@H&`P~!gnFf}O*6-3Y??s+EF=m^- z+uUMNXjV*YABSkS`!Q`5mB`uI6-_UNM1;=M{#le=6WSy-6z@HlJX`KExR-&2Wi1PS z9V@mx(Z>Q%KZCz zy2{Ep@+}W&P5QLRx9HIb{lC48UiL0F2K*-}EzKt-_0iIj%F$T`$JQa_!x>@AH>0mjuo{H>tkL zOxNZ;^TVKY;`N>fXG+BHs&7Ai`t-Yp$M^Wme6$L*H}4rT>q(fO9p{o2*td`Q*s)_j zr>6r83dFiUecFG%L+JE#*Lv&Nk`SU`~{dGzey%TlGkGT}j){S-*?l-StQaN-e%0}kAon7;zlY*4ui4*L1!oz>P zRruQ%>rh@L(d%5YLv~ zyH|zp&}=z8-dmyIHrBl=O(z)N_@c3qIpb(T4PGSIrgg_nE{WA5mT!dghXgAYE*X`1 zZNW9s(9l?ae6roXr!*Khm&@3HQLM*nBulAKWY%TBpo@!3Sw5~m#dm(Dm_E;jlBZ?+rMWRTD4gt(~F8Z8!J$@m|-_&hR_gx zy0!HKBO?!wA}kZbvF_rO@az+hUcGpsMAhNeP2G~gPmmAw;o)%$T${9~fq}sj|G!I0 zg->_2FO|*qtfN}6W)2@d+?;+iLH-P-7AtP&`Z~v`>=ad(k>K~x&Nf3U?j>GOz_|Re zt{W~nS$o&n*|AS^&pv;7b;Hcka)A4O>@7BstfNq_Dvu-zbHsbL@y9P~hG1W%lG-MTzH-?GxwydZt}@ zlTwnBiGGWJ9G#qY=SkoAK0jV@$jeKbo_S+xRH5^L`pu1E3^Ow`(!-ygU#QMCt){3w zCmz3(84Ho-<6X~FAuzNo38e`@u%rZHARQ+^D4DJVF&O82N7 z9Tyjuq@*OTq~wM@C$snd5|4?E{n{W{aYZSq5|!i1 z-rnBJ>FLdI!|R%w+8#Mf^w(?eV$&~j+_HL;WWZ2@|K?k_ZavURWB4;QeE9~4AT6b% ztGnOy#c~f%&#KPOjYs9C*>LSCCykGFCT9A7c^TaKXQVCbMs)OsvuDp%HZ(9Y1it8V zstx6-4cnsJ_xUpocHX%U54Z5~DGjL}Q8}wo;kTHmy^Cpeu)%ZJ-9LW(Sj*0C`LiRr zdwhcHt5Jtl@LkTDv9f%AOs1o&E5)$To-Xojmebc7 zDxe`sa3s~Z$dLxiODRtJ!n*?7cBKyncd+Awy9ynuySlhEV?>)9+L?-jLqa~JZ{NP1 zhPr?Me!fjih3y2@_sPBYpqrbx{Nj{ucxOwFu>!8a&psB_}64F8;ajK#zYp9i3@!x$if;SLW39`QN`2ZCcaUvYh|){CI49 zeEcn}w$J{5=XtujyVtU^UP1->@~t_=W3-?>ziivpAD>D%4jed8EZcbRF)59E!sL@_XX;tM zOQa!JF*V#;YaQ$VXLzTmP0R8d?E5a=xWTBTtbDA*&F-;L*~W_(FLpe$Gi1pYV39j4 zD=WKp)25ruT;hFWpGrEXS~HHCV+(%kDU(6@KKrxdOSj7;f78?ch?7QDzkhxG{Qdj& zcki_0^15m^$+$6DHQhhZ5V_CP&d$zR=Hh+ZWt6?Wz4Wl*v-1aVPvboYInP>JnoWQI zfW6728nQ9ab8>Kad1YWkOw9FA`9CYMZ-i??xURjr!7;K>?kwZ;TZrQ2<*hU+-?3PC zduwMtE}MqZikHpQyb&7OUOzwiR^iuZVK1Mw^v3M$>>ULqc3sb?02G24z4C7U1}EvM zZ>g!Nb$55`p8fsvv#`Z$wm2utfmNGtU0`D=_L_dE_fYRJTFbzn>5)$1nwp}}jbiGQ zT8Z1JYYpvY1;5j$&zzwPcv({u^ZwSQnxdhZmLr0zD9@od_k0^pPR=LxpQJs1_FdHa zIMSYTbi?v3WnEgmJI`v(4vA85)$$qdX2DOA2t4+>2jb8 zSiWM#$orFb#b3UBxsqDN#B?_`bz9uX=g*&$?2LPCEo^P~xVgDapel{@FHSTFn%UUw z-n@D9o%neBAFQm$Y&^pFoL#Ti#ebIam*4ewc5!ZUh>szQ@i+ykywVN(r;rG{2Y0q^# zwb&?h{2Vnr&w^R|#-kDZ$Ing&31bzFEGUw#x#$IqL>!csr1g#<-npJK&X*iUc zqGEtnj8alq_L-8`*nItXa9@UpcZ;2SAC{jlTHn+Z$-eKDT8e7OHW87h+N17HPAq9U zyKQW20=>TutXwv`Q&C<0x~P4({*Z#f*P4(9i=XlH^a6asehVHnykBcW+tWE2y2pFU z_K1s%ldgcm(*DRD6^K@m?11pjW6_mzv&=1Q=+z}um_(0<^3F5siWKI5JoT!5Y+PYP z1>L)M?`3W6NWX=p<@FmkZs?yn^<6HXq3h~Kv2!b_kLA84J^N!;oa?FdeG|Q(R?+fp zyxq^!ITcIKsW4nn%zJS@ewsBpD&peo23P<3iHi$FRe6ui`|0T1*%hHa{5~^WyaLEU zr_Ad@{hK$U8;gc&I~JR?`;6XO1@CbD`{U_b4g08?M>*vWXH8$R;c3$JJ*?b_y3<+vgO+6R5NWy@8G8 z_IUZc7FGAmuFLgSvHQ5u#nCkk46Ky%&%UY`rK8S)4F}|D2H)IES$wYk_2=j6Xc4Q` zJ2axTRkMT}yBsP)uyaiT13X5u3bnINiCrEb%>vI?)V7UjdZfL*fk)Dj*T{eI!jJCa zb+|Mkkv+x7%qAT7xhtDj{QWZ`xPToX={~jzb!G+20d;i-s_%WKF8#;|?w?W2;K&I< zLBX=L$8Q=NKMxNF)5==+!Me-g06m%Za|JrlNDH{Apqg)~GI z@ATP)=9|NB-@JL*ZtS1M{ry{i|CQ}WB6;QIHv6}v9UPsVOnn!p+ewjsX8(x+E&R&0Yg>hc*4Ee8d!W<^nN(8ba&Qxa zZr*%((%3hUG_uy#b-Ec^V$%6f(GsZuE(v?Kk`Rl)i}UOHdj0?I)ARDwDL8k$bf(ib zTKWP%=>$GYb3^nEHaiA4blt6PZf04%dUcWSy!f3vclv((IBjO9p`o$-XD>5N-MzyK zXY1Bp7FiS%T@zjk9Fi23elOTzm!P|!mzUS=F2{k_>nW+P8q9fxg%U;k+de+EnzW0( zIw;N3yfw_Mf60Dt*(OdQ6RIuy%#DaWC%?S8C(@a}z%~>gYv`1)J!XGLpws+}9reyo ztR_0`NYs}&_nwPcS^LE8yR98Jl?~oAv9ii2Oj<`VaZ9t|F1Fu`okq(CuvjNO@Vz}J z6bOjDBYoAn9VV~u?(TSE!3fMn?b)*@&aJz|{cWF9W@aWe)mx&Jr0C%xiM4T|W$V_h zw<9Cd~#hh+?tng^UZwKv4Xb2qk}smZr)PVN}u<6HNUtGI&eh~S~;Zler` z4jtNSRJtKb&{*{{J@ZX1`}ZDtvogGYtqz;+jG~ol(4kHD&DDPNVS}{mE-6#)%(zged@1&%d zUmV(#v!O_VM)lUFV3ej2rYIW}|G8SkN^0BcoFAGr{&;Swr zTF|)L_wO@tam6b6avOwU&3=BDq%0&NqU`9HEA9()OF6f-P0!A@OQ}9(P_)@|o=a4s zlaWJU!(+ki+h3Uo9&C&eyB!u5Fx;9E^-Y3PMUP2->&2%H7p^r(iZ>k=90DN)hYdmV zTSlSaOw)$$&h)l7kUb*$D7pLjg+0B_z=sFXFt+gNm-`e~nMQ1kN#h8~+MFVFa_qu~ z!t)<>qAf>&eQUrasQw?1A0`=OPxMt?rVnjRmB8w+bRj$dsHJtuyU1l|b@u7v2x$xlf-~-{O`L0^R_T+oYSWQH8&{E>%amqk&z+ zPnOROa)B8i7OVg~%+1TIy0~lw(=GG&J`<}M82Iykjeu9j!~yW+{4Q&85pX_YnmUxFfHnD^%{i@vPWxganmf!_H9dcu54NTt!SBt z7ek+%?9kg=GR`e~0`N93K7QmB5D@s*Tj76k;K=uQL-x0U`(jZd2Teci1 z$eX|*GmL&%c7)_qCB0YI~&C!W2|5RPR( za+aES%pV?W*>x86@A46kGSn?vMQOJm51yVj^YJMyDlT3{eatnze0X%1_3?Yv*VY_C zo1+WR%P~3wnIbj37nMA2U#ytl@6RjtOGro*H9oaGevgikeS_W69&^#oe4DLQKeq9! zbC)fp>QK4Wot>YEFaG%WwDb77i5_v%BLOJB^z|hcZo3y$2YNSfjmIyHEX4CNEOH+w zO2&sQ&L6)AT5@yW3WK|#B}@8jhe9_ux_@{IxMUsWdtb~pvVPics`(H;y6ZRILWkbA zba1+H0^Aq^m1f31**g0Y3TY^&s&W>{>dV-e0Cl$JCa2e2jMc2jTiFyBIj9lw<1U(C z(d7t)z_JfDGQtXYRb8!Ia(<}l@`{5=+I5KsE>FG2OIH9q6xyG8XSlC@Ly>OronGbz zP)(g;XA8TZ(X*D`LrvT^o%xy6+LI?w4u2{sg#K{+aaI;xKvnZ@cD}}H zw?N|;Mypx1YSnG&3*W7~-j#Z~NL~1Tx91o3&j42d8YcS=%TaPO2qf)^cJBN<- zB%s8oj2Cr#2k1RIq50y)i*37hsd>lA|M`}pRN#WEpj8C3P4k`|YsomuW7kEgsi<5z zYhf|W9Tge5W8bO#cW$oJ!>xzrpW_AZgoTBTdjdiVK700zUdF$CVd4l4uaS{a3s8fT zqvKkrJC|*TZD(Zb=RapBoAzl9s2`B{`QX8>l#3;5O&d#je12a1JvSGulgS1m?FmWD z0$NnyxobPLn-dJgId}K;^bphurYC&1E{wJ!SkCQ7G$8fH1rxqIlSxD2N99@8 ztXY$npMUo%GuOuMmFg;~SVv?}0CtIuGDqn$+-8lj)Km#AK(R}NK=Z97jnNOv*c1EJ zEXVTR#K~~rT3_Nm{Ax3Fh_ErtHY&T0?)|lRC|()D;k{=APOiVc93&MHFR2gQV<3^C zFDVrf!;pK|owid3bwAIUS);E^cm?+Xx8t642>P zTchU>qHU5MRtL~5`w24kZQrYdDtfm|f4*Ss$hTP+BjIoh z*OdYgWASMlU-*A3(vmg*TPiaVqW>qcdY}zZ8Y&I`Tg%NI=kW2$mF2GEJ=|E{xKEcM zFrlVW6xvqM_3M{_3m-pzjPDh~l4$W?X7Tc$43zw?cKgnq)o4Iv-m`6o-@bnR0?YLm z$_XDNE9}7S&dlSVO0KO@SXjHXw1mER5ehX~a--voVMJ8}|GKJ^sRC#}v9Bxb2nW{0 zirMjAiD(74ANm~~9eoRPldrsZRPw&%P~s*Dtm{u{e@aYgFpN0<;%cQX+#5 z@_A(B#^LZCoW82SkUZ9%`MZHWzQ51BEaft|A!{CWDiF{QIGgA499G0SHU>I8%riw2 z=Y!Tp=z{aIQva$`NMyt7*LNU$o}viBw&<(8DD3gmgvhQzK^jCJ4Js)q0S{;(l^N1) zXuq6BjObyi?h+m2=K47m6CZ>{nI4$GIb8>@kf9|oC0hl%>$G_!~M;~Km%RC`-jJmpoYHe=`liaA?k6?4{R;y z08_0;Rl6MLCM-~3B7qy&=X}>5`!!IW!L(UcpMLeGT}eqvIu(AtczasK?`>IoP;q_x z?F@5GE>dB*Npce|QEAEYCAT(7@j)M*AX`_xWa;m2*><2>+a9`Q&KdIAI#5|pEDFZ+wGdfUM0f(=@Pdrz0R~%-Hh`K zs|ZP-_%o7Y+Y0SI75ALpzk+lE>WTNPJqt^*=VW@(^XJzqDk_XVK`>{*r5F3oyOrDN z=a~gkVOXea4@W(n9xz25fnKu*x;P6P+m+i}57APQdkxHTe?WYrp-`H3>&Vlf9Llw{ zw(hrn$6F?AXlO|I34{=7bS64m+Yz(45x|k(fFU##mYNcHae?Ps*-0is{AE3UQX*DO z@6%yMd4{%Y8U;qYqxRBdk$n`9G%R&6nKr zd2}=c?cnn(4&#@o7((Yea-Z0d}cTB~{g{T2g^Z7sc&5DGG{K zD)&$ubW|oz;pH&sP|}+tKPCgkN&fMXF?)21(?C*xHxX;J;6`}IPH2N;s5IK z9#2A3$t@^22v4V(P|0W^nv>b5X~IO>7A~)mrwA3+8(Q$JwM2R3!0V}kj+k0l1jdNj zeo2cm5|&<)hEWB%XY;xCY-U?qTWkY!$dJ+!Y`Ve!ccDB`zC8C9kHRf1oCBG9$+){- zbEBOF%P69Z#kzr)pS7~8uCG6w@i;tu9aeLG&fEJ^mos%UzBEeoUI`67deIJRPzeAp z*LAo>*fVkMZ5uc`tFb!JYgfv+{dm_<;rN*r)PxT70G?0^1PTb!9R;>gRewNLaN9j- zAVq5PM>x8;D4Uq@?$Ej)goj8=bw0DZk)(W$mXiP7w=B-P$nr;_<(p~P29DF;kC#rh z9C={ybO(@#t27TlR0wP~y{uE~)zesk*fvNxZzJAOYc?p=fh27r<%@ak1D0Km$ArhL zymJxIm`EypLqjY6W0fQViGWh8j&$alE+e8kK5G^F6M)Fe`tY40k#FB(cZQ<2OpSK6 zn=HwUmoCGODqWapQ1ur~Glf7&1%!pIh42?w3Ot#F#;>NX-ZJMNarf@opPu1yaUsAA z%P3(Hk^Np%*2Eq_v8Q`h4GTxG^d~K<<0U*#_C@CPk1FCHux;D9^F~2Ifxdx3J(k8n zmHvBH@hsF6(`x#-Cn#%?UK+_Rnd)@^(Xl_%;A#3yG<3Hks7#LwywQMDn~LSyQsVAl7Ym}x50cp`-iA{bK`NxHPFil*u}o{U{ymEVrTUk=LCu zKptRAd3ialA}sCnNm)2HSFr}1TwKC$-efAXb^J4BgU0yf>(`X<%{)9g+}B122DY1; zni6=Osh4?&3WId1k&|8QGQ>dPJ6Shv+6yU|DCN-QK*R!+)FY;}+rc=bRU|2bljVu~9p*yj#&GkfFnIUh zG_;7xGP7d}ZO^(@1pNw+2yVeG?mf^Lq^B3*-%N~G{5@yPA*$tw)rb!vK#T%~zYDE> z7a)=aYW)F9;-^wkJMTnCKhRVFBP}W^iCtLx{#|z|KJA(C*Bla#3Z4_GGp0`CJ#u9W zfO*H}H#;A_JK9rLLN*e?by89WD6?`jybv|;9ASVMP<6nW+7D)kqfM#l>FM3>S#zv7 z;trp%#r3+MFjdm;zMU`6oPA8bjZ%ZFS73t$5(&t918ZRKndf>L3qUBZP%YtFx(>F$ z&w&B+)H0+;YG$-+r~6oUbGd-^&62^nWs1+;#|2<=NY4$uP2fQBfk+Vrq1?9h>60gC ze{|&0Dx#LByAU(fRr;cHYxiur#=T_ChBt2rZDOGANnd!VMR}tyXPzl}1`B_r`{>(v zxjkSAgi4{8KN4TWu4<|9_aF5Z7IQp$_%I9DtCPF?+rrb9mgx)Ve#Fomy#@fX1-&u~ zoxb5yiTk9S{Ookod@K5n6mDbBei)=Ilytj7A*c%j<@q&4BHxApp_yVw^aq1N`#5Yb zHM}{>6D%eoHk3)7pqqml@z2xZ_+HdaghHJb-PB**HJ9q&Es4f=6?M~(!>Mm(tOVwG z1#tj)nmm>apJU5r0kKz6Ha(@qRY$+a#P@cu6F-@C3Z@0B(@=QPemc6bnD~H>4*kn> zK%KOTt2fI&&}^N0;LuZQkW;#2rJzRN5^5F0KlkhKzzwb0M^M6k|NdR)@>VWGw;h@f6_l;v+6a=;?)D7NSvj`cu1nlb(9a%JL?=a+xvV|`aC9BjnJ6sS$ZuG@)AC#= zUWvDCA~-m>GqLl1r7y%wT1B98D;-ak+dw#k1*D!SaqIkW84C{-Ys*9}kH4Cm+q0hi zVDxtjd%TX!{P?(4!lCDGtb~L5>C^Y~A#={#Dfjd~3JndV!T{_(naB*jO%SArGuoLC z>t^)Ymd4POloU8cH`JOW3c#G4N80v{?#Bo9deqt6M`4TI8yK^>F5M~Mt zRT4|P*9YPca~Ovm#V$KRSCJzT1z=+blBJ~xmH`vIf*=zVhIdes z;_`kLAJ5dGqa4xnTYS1yLfh_3RhoX9mtW1(bT}tbWjW;Equ$0M%n;V0VQ2XgOz$bBy@>{QOt=NW_ZDA4Uxn zfwXxAASbRq;b1X+%;Z58m2VN`jv^{^vsAbG`oty(NF-K~>p5w8U&ehkkM9)Axwgl_ zc!gvvkO#UMtI1w*(Lg##=)!kBG(g(p5A_bf&3%VXg!Q-#H@1d2IA7kflpKw?< z-47%4Varv9dn%=oNp5MZ*VEPq6-kgI2;2Ns|ax5jlKZ#HpZ2be&!=YH~`f6g*50 zvf9l>C5|~bjGHAW!0dA$?|B7il+UF+u;>Y&G2ep5dZ)0bm)FL}tw1y-->+wiuCoIz zyzyJhb^DGTX4nT_3dK8@h?qnC2-G%`K$Db_NdfF62@?5*pUR_+3ggO^u+Jdf(GVS; zd^_$3$Rr0b>r7$#lJEqyYGMx}9AySn9=+e3-fwBns`U4l8}wa|3|8?$&P znR9!-ByWmA(S_%|PY3-{N$3hXI?mE-;toBhhxDo6@Y9=ts?ccpVCrF0tz>3?RoLri z*njvtkdkn8cCnSWrzhu|_Ecjy0y`H6qKs9smEGtBsAvU$dCCMERN6wUJ<FfM=pCA9u&R@3ICeo)H_FKH~j6s}iV@4~|7oP!4R2?MK zTc)1K!g1fu8pJWZfVcmKC01^+xVU&EiyHuk3b=dsE^FpEP$>P$ew(gmSu^erv43sb z_A+saGr?`Gg)`WPcnQLDFW$aggY|nUBqZeU5s&g;HC&Fat}1$ZYytPz_=6@@L3+yH zvl>g_3&>I>xXRRt*k)NrhWU%v9-Mw;`_GZ2m2~~Kma2UF_GoN+ap=tV4~)>8R710j zE6Qiak*fF&ERu&^1Y(I0$NIdyyr7VfSJ0R8z^k!@I3C&^JhP*{L!cez+zas8UyHN7 zTZM&Lfe&AyA25OByZ-1nmhpISBZv_lxUh(q00&1DUqLh5E6-c^C7o!GMDDF>Njp+- z@p(ms0#usEW!GYrTpZdT|42Xf=)}H%TBWF~QH-mu*>yY$o0EY+hLWBW+sw?(_j^v9 zB`cN6?+p?(F5iSodB=$RmG7XCqd)D<^YW|>e~q$5PNzE+)NJ_ZbC&a&dM`v9$A#Zc zRAt5Ar5pYsQ%u1tai=23oek0nj|#Y-Bn&%BVt4~!Hl+w5B(I6Nzgqh9(iYWAc+pKoew}{lBfSY1X>Lbtgtgs*Vj7l7}Sr$-PsYpp3IX1}LEv9VkoU`+&-sg}_tM(da z%i!aGy+6h94d|&e{(X1#a$D3gNTC|{C6CE0uVG_nXa9zLfSXz!J`m&pq4PbZoUqrL z4aQ3(5jbUmf$uWZ#Q7tjc`9;<+wyB)UqDdMN}s=rvqUgODGWjelMqR-w+xL>e}Fpk z=dM#rL0#%}8(88^HT}V9u3?(6wLQnU7SJZ|Y(4A3+)x7LeDxbK0l~o9W}b6g9W;uc zU3MCMAkS~ntISklW6Tuz?tr1cnHeA7)~&z3+z>q171cXA2)yBS0TD71r+RR@SQu?a z!_&}9Qg3jTiIv4Q?rJxa*Dkt3vL=%0vJ!MMS4RWlBF-2{XkN2i`3CvcRrU8Ivu0Ba z{+4dL+FyZ>p+jds{i}Rz?CVuX z@aL|bTEJfFoLU(Boc`{npfPkOqaNJ3e3xgU1J2$95hp2%WN1lz4>;DgJ>qTFu69M2 za`+M>1F(sX$k_Mj5&btew{BMIPGsa&$P@?Cbdqq7Npfs8kNi!f&PY6+S=vQ6_ZUeh&TQQfu5Ss@a?gt zT{M$(xGtL&@nAXPKv=fu;2U~u|2G%bAz$;Z!4g??H3UV2e5w)Qj!#vaOVymAy`dM zg7Nn}Dh$!tbM3_(EQi(9-WkQdSZJ5`ntFg>#O+tnU$XhP-g)Zh*HhpP;*`IKJNk)m zl~sc8j={k}1f^NxTpNXBps%srzJL6@XxFKsrBBw@ZF>f#$5bq~R(PLKQo4lb-yw=P zay@@%kt}n%aAEzCBS+@I1Ex=`Y^bXX!&5kJwfiO5WgT)FQ%z#%3N*y3dY5h!FIeU^ zE!HVDV}y{$Ia z3BCr>%b8soY>eHBT@P$G6?uZ4Wz=iIyyj+ey2aVEYN4CuCeDbdnS+>-s4#e_^f27k z9Jk%tjr@`^5x2_!E_s)EiN4*L{Z(syyd|@}v2ibL1L+^qe`#*4D>8;sQd08>ke8$$ zz!G<2@wM7p-kw)@uGS>|7?u|J{mC2wIj^ZOY~Th&Y|{#7#?YBwc6OcuPQ_OO!YD(Y zzg}?+puTkqqxyWXZ~8@)Y<#|Lva+X7xh0ushXLFvv)-eh>n7fRe)> zpJov8r9|Z{8l^7U9s3klF*1h3k++UoHTCP)ZBQXDSwArHFJHd!Q7>UVlUEpS&-oW&1h}6b zYd{+(`8)F58!*bktNfRp%(rP(1)Sg)EdQO1B$%!WgWpn65M*Ti zlFzMA-^%X+4*oE<;*R^W^iqPwMyKn!e-B-l=s!$YE+rM)B{$pcLTD?=)jeATZ!d1z z4{(x3trZawA;1CNRZvt^6mrkj?am;A@@SMaiG}gysz|Gs;$eI7lrtbMrAwX{x+-yn zS1~hxD0jdMjFxZqjFa`$xgQrtx2D}2jW7y=;mWY5_jLUlBrUD1j$oN?M+CL6r8y>~ z3OjiRVD)_-ij3~@}4|l#k)YF3?Uw)GobL*iW>6y14y>Ejnse4 zw+V-A7#tTDH$#8F(0vh>A<_MQO-->O^n{=wo4>z5r}+73K$o)V^SZja14vZe{xA0! zDeZc+3L?1Bl^ZL=Cf`cK3!z&)I>*3Jp(5dhr2kSWRBIIjPEn;eD#)?P4SRAoC zXQB3YX)z5irP^*P4_}uc9Ppu+Focbu*vDxe7Zn}Zj+Opgdvs^=o$y&BGgH$oSOm8- z;=R-XarUAB?{ieRip*i%l~wBqp(ic}@HQ*dVY27|yVcdRr$;yhjrPK84o5EzE-NcT zu=@rQv*ZENd*1+k7UY(3W5XRBU9n12(N?`r;LcNXS2eXDV6z)ANr;hU!35@vE6}&+5llJ?bCkQLg=-J5sD@<79Y3C=sRr(cva-`>nDl8T0ACRfs zOs1-moz21b^z*G*AV^yIjsNnWg_-KMVo&L zZjdqni#KcE5U_B#JFGyAYY`ai%4PT(&zv6X<#dJLnVpN37nl8pr`imKnn=su+!|zl z1fv%(nwnMydCB@rR)Gn!dWez5^t~s7nk!ur?A-Wm5o4-_t@kMd)FA zGt<)2Y9r@?lDBQ!wm!rdg(M`}cXL71dH-HdBUZez&vQKk9bz-@aKHDSE?SF%Dl#XB zNxcZEE&PB*P;f=hcW5IGzisPQ}XHKgAnTS*415DDc+42q9$0&yD#iiB=lUvHLj zRsqyMi{R^A+daT6NXSuedp0c09#jcs51<`4)svO5?+ybrKZ1mtmKWw=mIuJsujzk| z?Z!);g{ZT=OHFvywb$Ck?;#cwfde9em*;<6O?pJlO@8VFD8A1z<{?(jsAc4J#NZUO zPNV?c(0f0If@g=Zysg`|EeAx}@j(g_C{+pdcMaSLJ1@Kr39CRL;Ur+U-fokuhfw*_ zA6quE4`XP!n%hX-Z1YRi6Lvp{&Q(EXS; z+n&GaJ?7*I?fno0cCvC17DGrWZC)VVL%T_{#n$ z8`zr)fK4W@Iq9ysnHqg}A7V&#OUsi=ulebb6-4Fn%j-O(lD2i$7s!bjX~HWR89Pa| z1anlVnHc4~)rBY}_)j2ySJl_A0&c{Wmp9KB)DR0BmEr{=HgG~=?yO{Bcmd!Q29HNq z9J6kKFx9|Xi~xP)s-fkO2r&ZtCb?rMzm?V1%kYB`ER-=7hG@dM+(;e!~{b!AOR^$5TE{`_Z8Q#=ItLV-Uo>g;Nf7JdIZsKP{Y4M z?@(>v;^Ra7fDY4$Ile~X*zG7^HPH4Lj&pDxtC3rp3Oai>6`WodBEe_pv2M2dIM=J1MdP)Y}mx_GWdp*hL^YshueM1B!G$t$sxc3 zKn{W2RTSZ0_(a16!wB57Qv{uGOS^{s{OL$+P-?BQu`%(ev^*Of!{9uVxW(`J`6Gx7 zf(ti5AZ9G3hlH_?avpBk9-eJ*K-q!}Tl`BS(od2x6zV0`N$TYKei&JJ19&k+>#uJ; z9Si;CHFU#%2zrsIjB{Yc%xwi|8E~O28(Y$$zZugil4w2)3kJzp+}+(_gC0ui9RB=y z3kjCs<(0~nldo@)lRM+~qhkw~`1vp_Q#EA1VZ!ll*ubAs99nqpgE~>*GIi3f6D~j; zKIpi#ip1|Kdrs&F{>r*x!!A&cyLkAA;Uv-p;3`LCkBXAsRThdzqKKe8p)+6b-jwTA z7WAN#mo8tX3qV6rM>pC2UsNVCGEx{cG46SLmSINLJla$wS`@)hDoNUEc<^W8W=IcI zAV@jtA|xrP|7T`&4?#TgF3#SQjS_SLWJsnXF9nABNfgta=qMk&1vYY}Kj7q_?6l1Z z2DRzyGr=hJT1aX%ykfR(cTs-6Z8AUqK;y)TNb+-35YR9oZE)4H%Wh$Yt+Y21W7kIm zZr)`3SeTQy@M}fB0?_!s(VR+OSmm^eB&5+8dg~TD^#t&nZ^alz9Pc|35owL{P%P*I zNJ45T8X!IxwFtsiol2V6pBN^l}lF*H56^W8OC2>SgD=j0V0k3O;w%nNj1uU|mPp+c!jEf+YhG*gq zfa)+%v)l8w@=ai^jf8wHM?UxFhW!}QUBTm%814>UMdG5EFEW58r)31rdA>9MaK^GP zFo)SFVnRdtYTxaTxJBI1OVII`ZEYvuG4&$_(Y|{gK5h_p23=G}-(6u0#bxxtL5>i1Ia3wHsc$4{F#{@W= zR2T-4&`D3`gQpC4j?5r`&bWRJrokXR>bhQXYkXVm63EEU6WD#x`~P{+YOiyj5hBB7 z*G?iuASopkj1Q{S1G!;&Kq*8YFS|0g(HPV}GW|uceQb8|0n$lil3MftoYzw=7OHAZVu|WL)*aIU!bIhjf!nG0rfc#TSgYlEI!9W?BsFwWjDI%~y>rfi= zhy3BGPu;>GYbJ1D9PeKY0k3Ddjfzh08|M7JZE_)QUe2QTc-hW>(eGCtwJHOxWIljg zCH{Q<+{SByvAglj8zPx{)nclYCUM=H!6B?dQok@`B0UT=kDG=;)U--zxJ28q6oEnp zkY}fhSMN?jU-GJ%5Q=JtUixI>kC-w*=-p??^ ziNS@i0}eSzDr7P-#nxm;0h6|YbVCjefIQ?{V*#YYt=M$-V=1J8W}rf}P;*okuQ~pR zhwp6H*|wd3E0ciUf@{AHV^8%ClLdcpDmjd(K zRT$%A01Lk_eL+3r$KRz{1*#I8CvJ#L3dxeS8bZaprr)>~+xW}ua1I;0ut*|-I?;Nh&{zi7Q*aIdeO z%0hVeCE6n4q$IvaC<5f^f5X23E*@B|(@h4*6Hs;TFE$=Km^No}?wptB@#uN6u&0;W zupPjyO?4J=h6VL6y=`qkb!vuSm)>?Le)&>mw725V_dO&ZO+typp-BNy!6Xzj#sV** zPYt`C!UVudtkY;=3kD=CXo2;CmFV#=9*9b5o=dr!w}vmq>i(dC_07SuCA85>4%N^Z$f>E}&icRN=H?}?7-~H)Or0F9K61KuI9cI72ydt9XMp5ek{4)Ds zV|l{aSaiVs@{?!J1YCV%(w^(+=v?nkFBRqC#W1I}kb;=ldLRfW)GhK%WHNH^seHAZ z$4QkWtp>Ma9Y}ZvbNLOWry6NVoAXOsT3X0vz_3Lk1~Vu!7gY@giTi&QgGE5Qjz9Yj zU>5Cz2?DEO{olUnr_QiOSRqYT3)epcsN1F$uHIEBt5K$p7;=PWM*s{=&K9hIm7`K(2AV=Ooo0yw`OJE95)Igt6ssUIJ)+aK>PlZd)DScc0aL+^8u7u?+Z z*fhP)?}wwMuiue$IGnr4$8&W{%Ti#7=9!|BP;?BKBUy_0WB`wC0$oRX2Nca4Lf_=F^Ahh1Z{W8TIY-c`dI5{gqy7vS*E&)XXboJJ= zYjWdrWc2IbJx0mfAbx%WI$|guO%k$%)`+z92vybABOXUlaOZCu<=%&(fjjk``|Ib= z7cmdFWy=;C>@U~yX>Sh?ieLqebEFLX*U%dWzkb29XElt1rHP*!|KPBIZ(uki{Rn@T zee0p6_TdxQFjFJ#M@wFgq7V`Vhgc)z!8Bu0hBtZQbeA|Q#W7djA%ke1Mv1K;jc?uS z5A)04a`IOqclt!uss|^>x!yk%OHx`sx)A{T3hE8GG1DzELCu)`K_qY8P=aF#5O+nK z@|ek*%b5#{iwLw`gqg&exu%ZO5W`;HR3)jpQ8~jAm?PS)SB7Se+;25%-MeBJtH=6z z$#pJkR8;2Q?fb?R0WeQA&}bo3T4d-`!lT?J!z@>ZC9PS9ft(cqv^;Gp>oNbb9tr?C zDzSRYz5OlJRGVv!{Tbld)Y81- zF=8c=0~V3*1S|7Lja-!(Uw|}bYWn}|qfrgr9D@7|0pDHgbWfvo5-|*8f;!(q z1SckIxE%h8UdnO72e9C3P~Dk9#YmE1M|%{UcibH_a5U>r&&4n@YiOd4gbA|`3;?g{ z03xYDt6UF+5*QmB+Z=p)BkJt|eDwXuy2QCc`XwhXAT>@KCepnNGwCE#AZcX+S0wkz zlNPR{M^)B`TfX>CGXEkqBmm_xKU#>~5}Fvox#obz7?_FBiVx}|81GgJSV%2UlOqy4 zBrn{Q(7j%3MWCJ=c;LH2CAp=J2pk4Ge95?yL0E#W;w47 z_xE~(aP2jC^0Ht2w&^B*<-4JHw& zZClvO2vrXnsTmw4jIlJ=dn3S->oez^Z`;0_6h^d4%%0F8wQ)2j9vk5_=1g$QogTr;L2;4gdz&nEy-;B*lM$_BzgtElDh8$QJ^ zY?macEF^A#JPqVc0X*|%C~kXl*KI3A#;6Zf>JUy)A;+p<4Ut)KM=U@bWM!knjgpI& zzcUvuJdp??k{v)+o#geAQTvLeY>mc0!$rfN{N(hFJG%t?Pt}(39z0VkH=fS2F=qNa zlItl^87Cg4Azp~dPF~b!9Y~4ygiJ5th91dzoHy;Pc>#-*gfU^lY<%;!?DpL}9`hk1 zOtFaCb?OnX0sU}WgE^fj= zKxdC0m%>p~f;~MwE%?b43vdlyXeurC=aWC45ff}wH3DZcPwJIniP+n?$R}Yw>%?q6 z`w>h+4d^x%50iKWNUMdRIp`rj{;IXL^;1e!)_s#2YlOKGc%D`QLll!roJy>lUu;V23X$;S-{M}K@hbh93csVGOq%+ z@i4@fN$finldXtIXO$hr2(%iBGga^t7OLGoezvAh@?dMdw%0N~p$A#eyL^M}3P~f~ubu^515` z*bZzXzU2Sov)cYwkKq64$hZITWpa0o(934R;0eR2IY74&7j*v}DR*DWe@T{XS#Wo| zjo#f2YKUflc)fnkxgKc%THp$N87gNq)KY7E`j1Bl5A%P0`MOoCsjg1(+_{HZUp>m9EzFrXUEv-olZU5ce_n$9wWY3su8akVY{%;&?$G~#?iT%s) z2eOT)$h}UUc%}Wg?w^_S|CigYc#nPzQC>wDntfltE`!?$u?m?Mvv-LHena49-s}Q@ zog{(a8wO$!5k&IcgJWBX35R2s0`05O=bB+KBccw0mldUhbae>t6if3Sa;gSYffNNa z`#r8)|DIaE%E5zMczLO+sw$jZsE8E0fkdW?{@sCkQXNv$)02_QBLj?7AD)T+le4Q% zWSXw1xTQ|NFJ;Z1~s@yW_=!h9xq z8=zOPWajfAvJrx1qN2^S@4Yu{wJ; z=+Pt02f$1k?#C-=Jk-nNqsY-h(w=Yw*eMckVEYpHeR6Vgoq|Gz*@pvUOGqJBMSN)5 z%D&LpSi{@j5eAF^Y*&ZFw5m|j|Ek$5VQ&6)Y;4P6@|I2E-Cy9SFNhu0_@?|}K*MDe z9Ge&2-KS&6kP3qXO4V`xF}sc)(}%tXs=pb3WQ4aT9$3b-K`2ps`rr2bh;ddW4GkuA z2h037NGRc7k3I1Ea83+)IU$@T0v-lugrhL?m5%++j8msh(NYL`<=d#IJ*oT(%RuvC z@7?DNx;*67hL*EWS4;5cT&yU6#FO*3~uIY}r6iiQ&Nn;-$ z*+@a->~MEP07-Ng<}=RmDyjO4n{op(vpKrJZ%Fx$P#ToV4w2%=zgaWX1GAb*q3c;N zh(tQ9S1mptiP#{9n5y*$H{iyHo-h2Z^_d$Jd}lbJe_e;+wn@Qn6B-7Yl0ETQKS^ZU zAf~>_nHEA;O`8@Vu9775SZ_rr*4GQ183!_U5R=dv(iz3YQqX0WN2mv4=a>WZ{QUK+ z3j8Dw*(vBfrZ{>HN9|m%`U)j9Yw{076moLXb>vBC+1UraJYglbwGE2Z=HWS}eHs(H zB5tg7A(>Z>9wgv!T%9WZa^W@HJ~EGuW7!0W2Z@;XiP&~9zOo5AOtX>G`I<5CPmm7a z&GIl2S;8KWp1$>O8sY%Kn_xHaZP$^wCnk|Ep^x&wez*vJBL8>6CA=viEQ|sgzwC({ zvG2V%j<@6U(!uUNkaeQEy?yp}ygPEd+l?~v^o2n901KpT2FxD3A$u=qB?j$sF&2P_ zn+W>y`&&w=>uYW)=jDKqB||A|Mey{7drwkS76xVtsnn?>WJXU@^je9VPC9 zgfD>Hk}PzzystDImr#;}183m8Oil-tmzM_~B`|8gbH5rX002e5F&U4c%0Sj)0kYRp zkBG2L1HE}Q$Zs^q3WZ#ZGPsNFI$xZGu&|ERy@@A@Yxn0iXmcV&rign(6bEv29W;hR zs;cxLhJ?E!L$sBbS8*sB`7$Cee8Wi=hbvx!@m8U&K<*(z9~qpP5EHpJ^yc1Wl#vgq zZU`N5K^!1BoJ^1VG@O$^lV?Q++Us0#*C2}J*ALjyoWFHb#Ux&=8#@tW3=WRn&oP4z zw&sWvF9;@u_T%4wpd?8@?=(|HeFKUy#;YV9`zT~-n}Mi-CsrUvk5TnPqj#(Omp6jk zvZ2iR&OTJP3Zw-D(aw;l;;oeIryZ6$hW`0nN zuRN2c6XChW%QWIflJHd!6N&<7q@jvDe(_NoKCM3<9uE^(XL0)(<1r{f&vx*@Y*SH5 zcX4*+*Yh-{#Mkdtlt}NU9|Ov#qec^b8u#`f_=?l(zD2a3zuP}BV4<@Z^Ji&c^62Hc zz$`&IIc}U+u$;QwyOJDDd+gVGHwzAwhcZ*)^*Hxr3^?s2l)r>!EyNB zkGRvJ5@C(8KRCtZBF5pqY3i3j7r<&KoP#)@Xh?zOo5|Jb<-W-N!MfjEb$3C3^PZ>m znE1$*twGho7!%?RC2*?_|h>m zKbo7*+ocAgir_-7GhSeQh`b*`PT6BJo^<|cVr?T%hbIdyiOv6;m&3&sH2+A9 z%IqD)O^xH?uCZI;u3k1YQ0s;|4{e=z*-=aWJsBQI@BSvP#-D&N9ieTg!HWth^5q!&+Z zP%G{#+rh=W@Pj^UHXbj+TIRq)5M%rfYRYK_>6}%iaF4;CSQQ``C<~MCLEa3#AMs@& zQSfmeOdCpS=VoU~Nk+B~O4AAToAK}ZI=0+hzGD5bwps{I02)Qk!M@Y^oi8`q&SzydBKXW`czY# zT$)3KbZu!i>%!xR)k{~}^e4TQ&V*=oaK7y=eDKPd5sSN$P+9t z9Q)=PuWV?gMBU7|!ZlDPdlS=x+@drk8QEN2b8(UyY`Z; zUu!7M5PG%J^Hlou+@ph;;{#kuHh9RQskY?9`ugEhKS9OvCF`-fcLg@-IWFs@LmyV?#;v4KOw2m+Jg8KV`d7GT(l1AGlU+YR3T)(Y7|1LPA`d8|3NkY5*V)+wYo3V0?=X`L&|3cYA zqa4M>pRE;7qowQewTy`+W@5~QnH^z}NSgHvB3!P{Tx%*}Nk%i!)p4H}P(=Jij|Hs>U zUt3;;YMr9VfC$|6fd7Hd!i%WA1J%CAxPbs)K93$j{r_11sN4C6{+cvBMHB*Cnguj> zQD*U!tq~GqDEVRp{7v|RF58$LW z!1h~dQVV-mMg~W)`?|IQXd3KGEA$wD&C-eQ{(If5B>P7wFP+2B?gkZsuRU3_yAL5y za~+8bmsVSZ{oebJK^p1*O)%efn`TQ#0AiF$}iSAGu z?X;^!{~}9c%zXfgF>C+tl3~x^=WjRM8o&FNR=#jvri!~Q_Ct} zUz-8Fo<<)17md%hQbMBS4WX#$K6%;OedF>~amG49%akAgPK!=Hkol?bwPe#*xr+;- z_lw+}$k1*3^}|P_L#f;=3YU$S3TId;Zk(BV|C`=A_UkLAZ`5)w#{L79UG);(+XZWH z3G`&obCoYElK2z1s*z#&xg_BaSL*6x8;({Vcj&tfP-pY)PcHWlv&^4}skIg#OBy2b z4xeyHJ?d@q<>|9Oa};%P+o7>5K;y3;39DZ?Iq|vILjKQK`=!3K^y_OWX8QZvDceh` z@MiAap)}Gfp%CrG@^U+xVA}va9eeOCYT=BWjO$#Hy~*)Gr+_ZfjEkM_Q;91R}>02ZR8A&Q1rG> ztaXl-`0r+QO-!1!bwvx##JO`dDLwx zQjUp_=SgjNHzy&p5Z}^m4w`W0$?Uu2VtBJgo46TiIXMk||Ki=+v9c;?*--lNxs1EH z0SStC+Er*k8d=WjLvM~y7+O&$zX8dVx7DY$xHFaI)?$=1UV5WHs#{{fdZM_86LEb5%tLmOMP^!cF2 zR|QTerVpIVfGmOiJp@@*hlWIjyn$hFG3r+X0`ilRi#+B8#d1! zqYRH7n=vEfJ4U)MQw}WEhvPbpx&o}&0F&K;D-P^eooA{ zWNIbGH)n5ZoYAW=7@#dIY|&6;FKEF0@Hk!i_;)s?f(K{4tHEzrPfw5T3dfhZffqT~ zvkv~vc(lc_{~eFwgKN@OCT~3&F;4|J#tL3uV!sb?CiyoCeu^Rzs!F>*zke5?$EVZU zq_fc8Fw($Iz@1^RLPjyiQLub%ZEcCA(zB1{N5?FbC|9gA({+=N+IhQB0lP(5)yiRJ-%Q>U0I9_kzA#30L}>9u8x-@a;ve{5b} z_sZRNh#M&Q%-x`i6H%6Y4(q$V9D~H3q$H<`qBnN~o!{#_dhM|JGED}lAg{P;6s9Ls zJ3n}b>j_%5PHyiasIwD40@;=E#P>55)V;{6#>%r&=l?5LT;qT2Gn@Z6#<9HUiQb;k zY*U}DbC1dn{+b~L*_GFGqr<~FF`qwu+N*u{e*ujZxbG7%@eO2z1O+2$3P--&UdnvS zs^abKzL%}7J@47~r1Lgyv0b`9d%Qc&JK{r~r8g7R)6bxm(ft{a(SbpatsE9YI$Z%| zBv2i-okJ)hBs~1LOWN(X79&S?uF~l0=Q{A_=+VAZ<}0UZnTfeK4_0!Y?00X9n{h2` zh4*z!h3t>*+jiXMX+~CxoKnT)ZODV?3+GE+0J2KI39iLEnnLB_JI<$-ZF152tPvRc zivo_U3}8D?`?>g!ylV-qn7O)USo!!pFU=;4*+mI-clVi>+6yh&mA+R!>i-;?YT)@s zIUOFqb7Vs3e4C@NOkNA0Ag04S=Bd7~t|=QZDjm2&hjz!Q$I+nYJ!NC3-ZS(l@KIM_ z#Pw4(ZNBuYSbGk#u`#G0>Fd-LS}50W+K_I)sKV>&)S)uS);mvLvRdk3rV+2q@pbIv zGt>MNtp$;|sh+fWg%oYWv1ODCZ8^1)@vYYqmV?W>Oey~es(`=xMbaU8MQN!ku74|r zT&_w;85*u7X_z%uFgQ1+HZ6Gy*VOY%H;)`_r?#Qfhwd?P9Vz~+ima%sG--=a0)X+e zwB<*bzWK&Y@dRw3b*V3^C|*C<96_T#(fWCxgBtps^VeT&5OnhIykC}mvVP;qn{ayo zV~hqs4Prb^1VDhvME4H{6?}CGv_y!Z`yR-EU4$O-1$1iaOx7W8I`eHmQ(9s}@Sa^@`R83|u#24o8KtFSN? z)IO(7j~_nst2ap5|J7uDb5i`o9jgeCqfI_m32deAt5Sc~A`F&~)9n3&-Dm^dEYHSh6i{vnoR(hguN4B|RWw#2WY0@Gyw$=s6&Yc+}s70+QHz zQLyRUh5HsE8b<^~n(*1PXQQzP$7ecnEmwnMN~a0z?KT!TA7mTwoRz}gv|H1x1A1UGMZk1Cn?i?ueKIganvG2!; z&m*hS$6xHpwaD0R4_1?nv-92S8o=RC`}+2Q3%?l(%S~tAKYiBz$$WtGKVP0MEqnsE3L^|-aQ1;W6FD0o7hH*t zD`hPu>CjZ0qemd0G$SKp{QmAr&@MIx?4%5+@W}~!>Vkt<9&f=4V#~c6 z_qlAdc67%|y0TXXzf6?7b;ehV7RSM1+~dke<2RFV718+nNGo=+1XUOq7#tS%6y2q< z&r>5~vSzw@rRyJb4d2XZ|0?dokrtY}KTo0E;$vImBc)P_}cdipqoX+LqLg%zQ6#pG-RostUEVa&lc24qghLx zgaAJV6V?E2e8+p6Azq>nTRdjbnoR&%Dl2~j!jt{D>sgpezs6Y&H}HTF)dzj;za?ag zOw!>@j!m2#l8szX>_J4mb=enJG8g3J2! z1^Bxb=t=i#ll)7y9l_dI`X)z*z8OYt!=hX_^{ib<-2Nf@0)UOLJv8xK;$NS}i1q=evB>s=6D~i&OVA zj6!)KY9`2Y%i29~hHh7{OyD#8dM zRDqquB7F3;A^Zc4aONkEgJ#c2nPi*1usL&|ZOhukhf?-nH2`T``dL8Tr|q^1NkdQL zJ;b`4MJ*G!ONKWM4e>86BImsk#x{2ri?_+i1=F|C0wk1q0PL9MwMllTY-euVuf|at ztB`wSb--9uuf~pYQTp`RL&Y^f?Ish=DZrrdw39~1y$+w{)A?wGlL<4R|8cA|1nBp;F`-mv#%nrD> zGBRyr>^aq+;PB8fw&}AzFYxWcFx%eOt<16N5-V3hOWSGRu-M5iX#a4tv9dXL!+Xwt z)Q7DgZXrAuxpZqdC%_O4*z^lR4~mS}ID;uSIK1NABhf}AawuX~h3?4YxT!?!ynn32 z>#AR$me7Q8-AWcmAu^<{;0WYAeO8897hy)@R>05qw4LxH&>QTxtNki7m^pLoRjO9@ z_wRjnlj`r@zCC%Y&Mmh~n)z5b%#!gGL_~wnl;*wy^Xw$-?T872>Y|Mgpmv~_J;UD# z<~^ceAVdz;n5MSj5e^@ppNQ>CsFN^QJMZDxs;;hX;7Cs@0`=`n4Es$Tx9f)g^c>_} zw%-J8jt0ZzZ3@(5s&S$p(ez}nKBKWrO(`D=Lplm55mUgwbGG0}oF7mef(T2j{ovJE zC~a9OLZiC^KEt%o0R`gKi^Nh$g{rP&_>7fbdrJ6jFY(pxW zK6mJXp27dS<)_vl2!9M4w2TN}1Oy2*hnGuwE!bdr7 zci|d?uw?B(bWs@s3=7AbCoo<&7k9x~LZGarZ>HyotQZ0mfHURzYeFLc!-~iWJ0Bv; z&HN2l1i@wTroId*dnZ0W%-?sfZYX4f7%;y&H6aQ;Racnvi!zTS{Onm`^*LHk_Z{nl zm6jmd&3ju6!R3vRm?3gl1D3%`im=}R-n1$oK`)Z%UMRweW9Q};L#DtE$9tMElrTOV z28x5kO~IOv&{9VjmZAqw1|1N~1Sox|DxOPi0ba}p zoy=w3?>A$NaS!#@cv@94dj*12G(xq%80t&+E=q$HlswdTw!5`n`rh4KSmMqT%Ecur zdihr|9o2)3lg!E}L_0D`;|wp_nPAAZvKD}YR=U3C;aGgxKv;#)5PVSHR) zzZjFfz9=nWx(ggZQ3E|^m~J+eEM{eWh7Gu@DCBAwTIh}c>l~&QrI_Uy z+_=om$2Vt@TM<32zH;Dkb_})4b!Iw8yjH6*E;Ct>z~><{K#z zOA*zecip*bmx5KzlTSYuN1{*eCbNDCG2hd&jDj=VSq5nl3I2JEXYv^eJ&A(wZ7Dsn%O$SQgQ~AM2rJs> z*c-Sv3?mk*Wq-b!03S!V-Na39y(ke`d;BvwE@SyJoPHU183ZmK26;s#- zRS{z)#kiFm9P}j*Pj+0X=bkU$Bru+7L?Nzy(>* z)xfDR)WrxwjN-?1C;K+8ExS_p|X)wnoD*zdO=cATxk1>^$f2p_>ojJ@LZSpWhS2#Sp zZT-Qk0w!7CPW}&5@Y!!^WhIJ`(=87XIt$h-rj!{7X3Ia^vBWPvNBogYfd9l*lql8k zY)(_)dEHX#83C%14dR(t@;}$di?X@Sr&vVce4poWPQ0Rh)GCT=@nKFEcL`qI(B{8Dx&b;JG9Io?{~}z{5HyD2PuQ#)@*F z0QNy{!uSRjQNPad>6$E?FB?+XW0k6zD5MSW9N|?z0^%Fvn?x`D-#F(c?oQy}%Ig2_ z&vf{L3q{v#U?TY6PjLwd-0k4gfYjc(XJm9V&r2UK$sl`Q`rck>Jv-u0zJsc)kNFo} zX1qVJ?fCuNQ4$REOWfqs#>!rA^Khdq6QZ8Sftz9?fqzyA3R>rW(1Y*85x>)h&J>NY zx2#%x`;#ZNNIk2P_u`Mx%gzyE+5mFW5>-`IqDW1Ql&L<* z_h7Zg-=Zd06qc7CW@+tsk|J+^fv^EGOUF;haPsiX9K53EgWV9fWedais+`2X(B1rc zbHSrOL~!l0ShQq(!k< zN-dFj$voedDc}U#!NkCvwEo&xh4j>|_{DFR2-7q-Qtn^&T)HbNFEAfLOf~0HQ^%Y= z;h@M*aZ%=!z^V(p1D{f#81H^AT6Tp0gm355L;iY(Eq^aGFTE9do;0$I7}LyhV)^`)OEBZ<*kJxDQeqfSU;xJE?xIKZ zn;C?eG&uu~imqN!7m}rQS#kaq+UG*#M{rxXPz8a~L&j+0^)sFK!fA(!;p^=)_J?S) z4&pxF=A){_c5FQ812@JYz3~59F*Q9+G)|NCGY=e1C7f5Mj$fR=;A6%)fv$aSe;Wx? zMw<<^tN5w!C`tfgg7oFo$J?*9dtni!>)vJBwk;rD;nd$ojta?Gy~^#xat>=QIiTz9 z?6>a~6NVw1t_Rm|n7`m1;3&v}0QFl*y}mrp=SGK1#g9u(!zho@ZU6E!HHS5q`!#-e z^s3$@L+?DpM2xiUaDP~t@ceNhoHh^>D17BnQ8epuyXWU4{p^NYqb(wL9voQRtTLS7 z=2JV6qI(lQnOY18pf)XrlNXGFgRgq5zM%!(4;6rLf6aAQ@E0SnxCmnsVxHOQ@67=@ zNhI*g+AswG!UXqiiOMnPKp!Kdg$wo#4o-KgTi5jN`cuQAVTUn zlI$OhEn!)-Xe+3UOPRtM4SjCgW?7YFTX({B*TZ@+d2=>4btG;XmYMn06VC>cal)8r zk=3tf30cg<%WiN4!CYOAzB7VhHJl{ykmHn3iQz9-Ra}oogX`c1XM8o(p{Y2Qdx0tV z*n=o=Z@VKQd*Tho#q;e{u8cpZ?4sfHWS_EnrNY#PQ7!Ks`OF^~&^4;6@(Ga9oi`1p>W4S@Xy2B=VMT*SgGZj-Vm| z7WUPT5~4eX)+&jC!h!Ra(2^V+*5T^lhjHTGZxG7#zIB=0JEQ~098joOJ3}%X3u`OG z(GAJ;8=snbGrTk(r~)|mdLv0SK7nO#d|ya9T`ms_Vn*BPV5qdHsC>BksFv0YF>Hbn zl(o;+oF|;u(YkkXlA@!h$7JR(U{S}e^WBb4FM9*a9>!}PuC9k#47COpgQU;m+Z9rO zqfkKZl*0W)F?GT5(Hq&1T~vcJa|_Xs`I2((+!Qit;Z2*aZJo0-EH=4=vF;ED5O@fM zq`ZT8s#}QqsQm?8gM9-U6JH`>h5^V3)Y~mjxRKoa2_l!r)(&{D`*-itpe?D__8j_; ztd0m_|A7;kWhA1AdK4yuId0sbrk2Dvbai{ek1s&031u2o2e2tHP6=W9FxJT{j`iP9 z+{V))>Nvb9<-E$IdcNBLAK9@6!D>SQkV!KG452cAc%&BHvgDRs=q%f?mD6xh#AyYI z^+6epMl37hm%4#?o|9z-47*Gh)8F50RxSxYiL@wo4O*!f(nNr@OtZVZm)L}?bJ`Z&kU7&&@<@Jp$_Gs)r?;>k ze=ExT9nfsk^v|@^8BMx={Z&(AW7UwVuwHY1llv~siFd`T)wQ5?+_3l>#;w6kFy?Nc(vHGrxo8oJg*iUX!6radB~?`QBA-)s$5EDdq#aZ!q9I@VjOm z9vmD1aM`*gFABphKn6!hL%5cf93Um!$BK4 zEFo7i$i~=_5wSCIb#ql%7G<++E7V_+AB#boIyjsmVdIOLVwUZC_4K5atlOD3gRE8B z>bbY?gNRAbmG+;q*Yk-VyY>w_NGVbkZ0rxhT|5~OZeY27eobn$8BEq8bGO`3xjCmn zlLYneEi~D^Iv>+l!<0f;w64Bh-pU!Q5PDb9RKHcBT<`h}wI<_s8XCUwc0P2-sN$AD z-J&;J{&hKkC#-*XDI1#(;0F?DfiB}DhOT12%LfnOr6l61Y%M^BrzqS-8jWcSL>2?S1+;Tz4Mnz8Pi5Msg*j#wPELRttmiA;{(06Y0)D*OEn5{r*HDmr1@xwg)Ak5idfN^>P*&F7OWy_PCe zN;S{=D>l2c%u!6=wM<0k=aFSHqz_omseV6>$Ue{7Gdbrp&RSSEmw;pB|E}jEH`4_Q za3FY(W8x~!9f?4$njZXybTG`r0Li57lJLlys=A#{&aDh{qN|nlF9qxA$49#ULywBU zA%GRg{GIt+!S+S;S_^PSA;is5Q0~X+N8FS^!|xdwV8r^vJX$*-AHk84HRuQwK+uT9 zjq~&gxMV;r`_{(V%#0iMXp1T6eo7w8gA0u=QJ%FA5ZfhcO4tw|>C)0@Oy9Ijp5UJ0 zz@d)lxfq(233`pA2IF*&7c`RJ2b-t3-`1oT8629XA5;%?WQcKu zg5%!*SMTAzGZlb6=8QraoG>EIrfiTnJU?+g<3XkWzrXO#eV%uj{GQCx`jLJU_=Hgb z5NU5R$THzRom5%2>OuOIe-+sU0eZ>e^bJ#E2+_s zLxR8j;6N?|N+}{Ak-~kE+at5dX7>LYO*hZI?{Mh_XWRQKbP|#~P;Y;ES1b+>Hx^aZ za$5ogN>q{jPpvB$RK4xgtp|H~Ru~;xr=?Z@a0PK_2EcePAJ8N*Jb>zUIJVMbm>bYd z7#Ra8UJ1~f$UOEy>nZx64`tuj*ce3-g$E+8k3H5tr4Lgqpd6A~f= z20p}fS_b()+Tp;a-`o6!s3+{V2Hwm!M)>m5ds5_}1&(fUNg6Hqy6*07n}=eCjRG9k zpiv<67KBARh2Nq>0uAe99icO~jYnam=g?Iu2X!cMwgw@h7e^6E4>68$B^Hf{hDKH0 z2+<1TowXF&>6|C5h*h!_k%r&ADMV5X(C7i=v0A!)E1%=%fg~( zXY&e` zh^%n5C@?4;vlvd@z$)s6TkKZQB+;aCDv(BoQVXHS9vqtYT)ICxB)TB{0FWifZ~=^k zGrBRW0cN#gm}a{KQ4e&Sv^^c?$X#U$6Pq|%sOlEels%j(Co!vs6Xw5*;YtZDHD^;( z6S1rzCL~~*Rs&i9=Gi9G?BMJi0jUZvfA}l#m8dL7nsR1Rgsw?hY;|g>_th z;1^@ug?Y;5<8X)}W~#*bUni2E6p7$c|Ly*mT)V?^#Gm@dsw#29=2pf!mTN~Ab31-k z$&yyMm40qlnR`~=hs6(-@*gA=_LzUT$5{#Ghs0f}^d0$)F`wm+mEJDBlE51`cWy~m z2ur=&S^sc_@kUlzsp7|je|&yC8B}}U8!(ov&^_qe0)=@vOf#XPRwJXdRFC4p6734m ztMl*?%C#yXkTITeHM)c7EHU`||Finp2h9E#=4Vo?^wiD7Q8N2uUl&422EouFunxv1 zC$$hs(G!B!}O~dm4n0!mPi5jSX+M#_~7{4Vp()BujDn& zHKN&Dju)ny!((CC;}x1uy`$yd^Ewpqs$E+gOW@tWNWIQZVf`2q%zJ5_S?m(&-+&5ONP+S$EZ9IYxydM79euCp&qWM4s9!8?!_>UiC$>K>d zfva^r62EK?_*To1yZ+i++PYaLqOc;nZ_vN9h~JBi?Xnf)C*XJ0@Rt}{fEHS01e|i? zkmqUjpT+-0+De;UWgLYx?KwKYQStHc4`hSPow+7kL45ZOEkna)7nY-}Tqh$_gEtg@ z?i`)_@SCOBD>~?M^8a32wg7u*nZ)u68A9YJgWVB^HcKxMKr&tiO3X<7W;}lZVva%f zBdmkj$Uq20ZK9ULb0U7Xk$)V?Rtip7ZrStqvj1;-GKl~#zF546Tu-9SJO&9QnN<3# zcFW&DsDb)0@qP1W@ zkY4lL)K&6bnTui=NBv=$hvA%;d3Qf_8wmZj`OVN;vP_CLSoR2fxnr2H96g zE@?OrGw%QX?S}-9{PA3~qzgJFOL*N1AUM_#F&0Ypl-su%)~;Pkyd(b3H2V`-BI&si zzd}mW)m4tzy`m?fGO%PmzBw*FyhK+0XPYtU07Eq$K&(%Q)!Fk!+gNZKiO9*VpvX)M z{TphKvQNd?`RJ2xZ)14zwUo~p>aKtI7NQO79~`8oNDl^W%}>N%7;Td8W09LS<&u}K zrDa;kE$L&adJxip*tBmSscefe$Wsrg$!EbP141L-Nzk^Xqbv0GSNoEeH!8pX-QC4&Ek zdr&njXj{M;LKIR>f4cC%qPE4g`~D_I$8YT}_u@20a#?i#;_}jw`|m+u)I%20oFd@t zx#FK%eXi0PP=tQnOFDmk5?`OVLD&jovGW zY?0vHAG~U(3vzq0^T>EBipX>!9%7`DFxLgvR`Fo35>$}-B?NtvN3E+GQNg*jAQ!NS4 z65*jQ*4*0FLVP}nPf)S!se+vh#{Ti6#xT7>$OS-Y?BJX1`JJEqwiP^ebkjIt-%eH^ zv$W({ym;}qH|yu0Ml`lN3Wz}K{93%o9JOAciY>!GF?Bnva!z~xxhTCr$M2>e`;Hwu zR>>b`(U|+DfPp=6QwOlU34M)>Qzq#t#+tgHKDuy85*L?mTcso+At8ILbq!!%DB>sz zH_BXnMVp@5#uCn_v~0dGVP0u{SMqqn+xZ1cdtB3dc zr$;AxDhpbEoFTVjYz-S$H&3D9{o0r_;j}NmL*b;$x;N*%(p#11Kd^njQOFlD-Dn&Z z>yI1D7dTn0U$3bjF7n_&*5R|HgCUJ>(?eYsvp;Kq92SpE-P$W>1CCZUy-c;1yK%s~ z^U=uCJooM5A>=(&Sg`+M}T1Kx)Y5BHQcfy&xj-$5Otcr_b zbDqyn64L+I)Z9$W0JYPilI?b#Ro$h7r4W@Si{JNH&HqEfWsO-DmE@++nn~%a@w)4x zR+SpZ*xYz@;w75(DSNY=mQ}qx$XejO25aNnDAbU#H0&R z-y+^pq0J{LnCl_L3xmoPiC#j&lrxe%(rw51LxDHCsk5C>gP%WWoW6JKo!27k*M}S< zN{qu^+*$JI%{_&q(;hQ3CJM1>-MV#G1Y(ksSaFM_7auva)=2#TY;$VtK<1O`yk{l7 zM)w>b+)&qnWES;fIUQ2CnISV!QJB_<$qzJ~m5Mj6kTHSp!`iIWGORJDEdxw*iNMc$)z%6R2)Q#l)CYl9!P){=#zZt*SPeyv83k;ps)KezDh{ z9KvW|Lx7jt8G}11IQCks+%r5g#ope&{p)F<9!W|3@8&;VjFOkJ zh?Y9(g1nzZS3oJBFw&<6btFZhKv4%RBMjp99*~2dp(WyCETa}x9<^o>){c{!ua;&R~_1fDoYWg1l2O}!)tWe+Z;=dCFZ2CW6GmKo{nvvo7qJLz)Gc^UoZTg zJ8pxM&x*GOv@vk;{MKq2gj(l6c>8(7GHiWw)0cVhR-po3pPNShX>||2FJzRH-{uk~ zK}Df$Z5xq#hdEKZS@NWi1I)2tI5KJUo) zXLQ+bb#%KnyNhv2&#Sb5yttR_pu!c5;}XuIp4anQ&-(}b!s%?I?-F8L-`zO z<%Kdlx=?1p)0!}O-GPL2-?#j`u-P+5s;7l| zFDXIK0Dw4E`NO103;%P{xN+jukh|&GN66}VziFUAE;?RYTdVZ8Bw6nc2VLpUl-J7T zItXdvAWmg(YWnf>r-xN{Mk2PXso$%X-VU_yH{@2SI;yV?8VQbZ>DNIwV(qkPT{`pO%{=vhUy!7~o> zTgm-pZqL7-Jz67$cIi`8yC>lmZ@dq#SmWd4aq`Bo^+tY}A7fA)ibp28X3g!7`D?)3 zkqQk9lkOygDQTL(?ZQBkH=cuyI|GH0#;itWW=9+!`OOsJxO+qi-?MVAoFhXLXqxU{ z+n`c2shh&x8B)vPNiMo!LvvddijiKJt$|r0jilS8PknQrwHF566raBM5#fo+KlX%1 zasF{Bh1W<@MI9&IRgy75T>j4psGm`P3?_d3a1HT_hI#YdDvs)Sui?T}sgu*w(<|9D ze%VB<^a1*N@zEpyr&CS(n0G`8gY{?UxP+CJlgiB)!dbJQTF$0Exu^2GI`9#iCf;L% zZTEII^)*y5IzIcp`NH*I$RP zhn+vYFcnYB*7J9+YcuzUP{Q?p}n9$i@G_+*%hu1tZ0I8Zr zVU1^O!sIR9W?WTn#~BcZNODhALm(pa-hBUlC!Z^}V3czY^1gRhIZ!#P*{4H-^ zPBu?TNLjOFVT4p;o~oBl_qq9KC@ZdI62!Oq`{Md>HWJ=RSFiT(m5j+Yk#N|^n=^7) z7X{0|-xH+FB!eukUghln{29@M)S);Xci{cwiZ2xv$*W(H_NYDC8Vc#)0z3i%SkI@as%X$_>^IN zUclrL@Z8#RHXMFom6Zwf>GdLYl3N;J67kQSf>`)_?uX!$_;Zq3L_lDP_TgAJ zic3dVKj(qL!R`4S7}~|bA*NsOme|o#1y-)LnYhqWY(9g)ITSkv&wsvjJtQ_LCFmVE@hb*R6>ub8$mEtphgj75b724Q9s{>ryf951O@>ZI@lVo%I5Vf?)qxRphv zk0QDq!H{>WOxvM~S+`+BEm#8Zt=-$bA?(|&)YNVFotuAyk16Wq@#)zjXcNe~Axv>p zU#}kd`$O`!J*Qoz+}Fh1&|CjL6Q;N<2fu*}w(|f55{vu$LsS(!^al$?QDX?^md9~~JildOnlY8D?oIm5N4>(3NvB)R%?&M17tZog zG>diR`uOo9t{`an6O$Bs*whf124iO&eOT@l&11x*oN;f)F(-;D9tc{do7_2^X7rgp zGd);==&JIdcW~%zxq!v4gX7cFUfW1z&=vI2uUDNywFWG2QDw^P6~<8@6`TAm8Wd0L zM7c@@ApfRHxuncXB(e+tz+KbhVK=tnvg#|62ThlO6#t=jcsL9n>H!GHJ%>lWlp^QN za2s=Wf?1BDy4{|4$kmcsFjz!%8t3ud`~QCC`+J<+omq7_&=)EOVmBOi83vsKC=8ch zVoW4|fe`&7Phjpxtq`sH>Q$FUZ*FHCr?zG5us3w~-ndZu@0rMG`sO>$PJG8pB{>&c z`VIt{zc6^4aMak^S_Y7eIEfi(tl;R}Q915OP8tl~kVZ0OKSJI$?v@iKUL+p?rm&4g zM9bB+kU${}6v0%2v5jBPCl8=6vs2H|2NNy-2=}5Lcv{a9ORen>p2Y-A97NyVzDnKl znS3P`jK*!$_3K9+;W?iJ*B~w&PTWY4vVRO8jVvF@wlamsOC8scn+IKf?;D-l$8${_ ztHw{malW`*t3A^^k}y^TPxsJvMqeOB4Em9tmDaLgUa%k@EC=c0N6&dSTS(tlDLQh3 zAM*oLaU!}wuCVFlx4D^_Ud&%3;1=2USig3tRmew2OZ%1)1Qe9vIK|`FzG;x!#O>56 zX|wmajTYr+U`jVOmU(t3`R;i?cVGa-SdomtMf*<{qvgU8!r_(9f?LY#czY$Oq)TnW zk{%1fJY|dRlvhs9&qwx=NB)kMlz0`tC~2SVg|eVL6+KKc{PU|vADKKxW-a6Sk>(Q_ zhYZ``C1{$45m#w&5}pETw;v>52~%TY`U^l0u-ruq1{a2zBI$w4le_B-WcXoJcgvV$tF@ZBOiaJ)FZ8bOl(O9XI9gZcYOryvI z9KgvYuMS6Ekb7iZCLm%2ohwd>xSY)OQH-Pcl~V~Z54W1APprHuMf4(K~tyVn6qJ4LQC3fxHS@5f@v7zDAte!jhrbuAWI1C+MKhYyqWWk}Q1o29PyE4$I zTmJq%RdfAw`wz)2!5R_ODYOW9ajj_7W8EJ^ljG5AL{JJ*%LSIkU9a}I_*@Ft6U?9f z#-ocyDE=kZDOWS^OEhO95QXzGSIlJecH7lBl*SPnxZ-;2&n55u(M*yUE`y)9h>{Xf z-RYohF7RrL;}b|ku^uSu{e9ZMUqOdHW2(baL7#Qc%aT{)I^1M0LWfY2)gp2s01Z@_ zDgCIXXM0Du31wUSqIr+L|5_}U4W6qr4*VEOp{sv<&9$rrZ*eET$xpI zSaY|H^{m>Q`!%wDpRZTLcvBSKD|mR&v3W1vgWrRII`X!p=5C>RY?g%Afjh5h0qtiL zLz3CUV#Cbel)I3XlGo&D8c#A+l*&vL+8K}63#8SEtE+!-EC(uz&?(({{@l4146)!` zxzapdBWCla!mV>V@uU5Q6#zeNJ2QW~q|TyEajSg_yBQJtN$MHYs+i@aL2c)Ki7_GY zc~OMjD`^xVbjqB15A-8bH)f!QupT#T$ghck0Qv&jS>+y~T?b8%nc%<##8lwG#=;`| zhcG6gmc(H}?kFlTvEddmT1Zf{?9l*IxdI8N;*E{4*91+y@kFxdw9>KG+Y-~DVp!he z;^yuwRwXxjqWRM?6OjugeU4{X6`g^>v^Z=;11Q~~ws@1T;yo*2mCmtv@@u8?6W9vf zQ6Sxez$|5MTLdh67K6&^m@CX7B-CsYm+erZ>6qQyt*oqREm+_be`6@(kYz+=8XM%aO)7rk~Qe+Wbws--#odC-rzs|ZZ`R66}M zDcY)s0b63L`^@-mGNS@;jOI*jjmaPk8-#y3JmI5LS-K~uV~yA9+6s^Ej6NK9%v?hG z{roptgmKviswzjSGLJ^Dc_FyD-C^T83_4m4h)AnVGxvEY_keJSV`|5+{d-ubL%~8g z%!mKVrYEAEAWJ+5v3ga@CCR&@vez-gWcvv47j{CSL}JqZaAfhtC!zsq87boucRshi ze*MAi&4HZuZP9Cxf;)AUu0ZFHZXSCeQ>1QPTfy``-67D^hWj)%K8 znWd&=+>y(5vr^XCqN>W5rF1-fu)n{$Vb@Ou+H80 zU>VTZb(AoI8fq89&>()Mt&?tA+3wkk=y>DQnoZPEG^(;QS$SS$YL1I5XGX3*s ztaJCNX7$K#=pU|#GA+t_j@Xih44x#*boBIOxH<(5Edzp&EE=L}zsH`EeE7`thajLV zcia<_8Y(JQQ#o8mB<|cSZ57@1dA&8V$D);~uzwXLwF9>AC(NHalt4UH$`}A*02;AH z%|XnMDKZh1jNBwv$D}$kL`5B#pP#>;EzYqyIj8>Zww(5a*4@0$eOpK393HGecZmcK@&oNCv#~SgXs^KS6 zbKVWtcr#}4GsuXD<_nviMnO+{VL2VKd_@i#iqZ^{yp_;#p#;4ONOM#KL4r4e34C0c zSQ2>qS+NXi0CixlrIUoBzRA8K{%O)zL4x+H``_OnxNlL_AjTCsy_2_`(ZN6fC-ADE z9*X?#y1Ms-@@Q;>xZAY^1S(ImIFWO_zW?aa79>uep9x0g6mv_~(|J*3syw)<`fO=X z5`FsM)%~1MPxn7`UxcnOVG99y?yt^M(ir6|-RB$knzLfpe;8W;=r45=ec|P=P#{{A zglF3u_ZUX@8V35Jd3Gf^*|{?^B7)RbOSk%_2MDSNoF{}s31Fac>6cy{0Z^rJNRK+v zzMlXOc+{@Id(|dew#TV?7fCrNMXyZm zj)InFzp0T?FZm!U_m|G}dRv`X(*78q_HI}wqlSVpi|MNZM zC;-QF@R zegCIUzw_t!T3SoD;^SyJV2`7F_8y`Ko(hgKVWv@oE^uoOzsHKpVBRCS>+thcbH)2=_WakTiZ(Y`z#>@xi`;vD4~xi! zV%1limiubnyn+p-{iDpMPo7vL-VDwR(c8HbY09NziI0zbfcU-Jc5g08F5wm&cevKyFTVe`rps|u+(@9L&f zRSZ7vieMArxp?v7e-0n6b$?!VYj@?n63!^tV@4N+bt4e}FM=_EurWY-H~hMyO!9c4 zsF0zvZSJ3K@PqKM0G)DHuiaRXwmc?5LNd@HVvR2N#hN zQYDe-HI@t`)UA#AM{JMAe!s&YOxsyC^DcFb=!ustchb`fwRjNhDv&q;H8M`$q+=Lq z)K^noxv0>rQxff#Uhi-TN`=y;7$CB{mv}QhfC}q-Id}H~dlz;@8HUkve*0LNxK&kg zokmjUg(P*~H>o3$s-p#SXCl~AnHU&u!PldHwa%?`A_2QMshS_+I<-*0PyzJ`gcT3IL2Tig{)dFZN7r zXNSW^PquS8R^GdXxS5{SY)gN=&~1C+_|j%V^M+(8NoS3p;~iT6vTEz@ymO8&??`Z+;KY!^N#AlX~MS z9t4k~FRva19h4Nd43frR?s}Mn4o=KY_%@?-^n{$ zUUY`9-&#^u!|bT2awol)ejlBGY$)3tp1mTi(e;i>R#N_rYuA{P4b4Zsm6_#ST%!xp z6LEb_dpNY`v+{3kn1_@+G(7905}x8C4;Lc$_vgo-X$dPBR~g{pM$plFWyiP|bB4p8 z2-a=R+vxTx$Ws&q!W8cyeb#3?TX&b*$V+Y!n>3`dHGH|*DRpY#rE?;W@zGx=p%*qv zduqZ{v_bcryMn``_O^S1aZZnp8Q&G;{@^{t-bS@jnJy>Z>qoC52dv^=jQcfYf4Nt- z@j=AQcb(SPhXge?)iCd+HOR?Et4AMCFN#z?}hnShz=@ekknlM zGYtnx8wI^sqUIo2mYnaD6SyI7vV<_ruDbj0l#=`Rj{;z7IlR9wjo|j9b=L+<{&KK~ z;k+)f1yZ7~ZOmS`=izX_FrLYJQwjo>3VYKdIts?K#kaDWS5WM?K?-3Uu?eki$S(*(FfT_(95GrrcoECnC zs-mMKY-N03yJTW(c=^ot%4{R0N6ewX6<3ylOKyU`&NRIcqcui4bVocex`-XefM+3f z45Ez3NlBGoywT7SV3vV~*<8dBh7j)Hj;=*rB!&!*lW9Jv0(l(BfQ~9gx9m_5EDyFX z7ygT@mp>A!{e+vcUJV*UW2-Z#QWRHFGH0N6!O_XL6=6TmDlyPr9rsSswo(ul*J+Es zW9`1*I~Ds(WHrc1UkvVJya);3hsPK2W-uruj9gIF7!G;@2%%_CJ{3VX^Q8?lu1XBS zspnQ@91%mRWI-)oZUGh{^lBLmtCuaa8qN4|7yCU93dlr6#KdAt`G*XyyX(9guxAJ? z{hMaQbMEukN|$Y^Vsm9H&3R`nrK3s@J8mbtsNlV1iH?B*b_$6MvKfS%KRT$X zUG?GZdu3dmlO<2?gAg-P7jk!0BqTdRGus=Y0?Wb&(nrz-A zuE<6^AiqTBzKVri()df|tvsnr4eaf%R7|MtK;Y|Kv(pOZF`FxY?$qMjF?t08xR5>0 zKi|e{Bk{Zh+z34bgUcwbj{(ymy(CZ?(jC<}VSZnNHJXM8og{q%uh$|^#i>R{$i_+R zY}l5Qw{$1Sn*D`wNIU91Eq8ZCtRL~_p`oGRVAWY(j5uy)2&~?haUAT(awIAsgf4L6 zbS39A{h7}ETlDf)KH7fj6K!0X7OM7SMWDT(%SQL1BW4*s!Siko61lq zP`c-sqK#925t@QmcrM@>E{MASDq$3#?}>7gv8h;20L>RaWyyfYJ~baP2MSnLkFv9Q z2|h|x0sx>%W7?dld-sxgC`fA&1>)VjAGhr=T=4n0km~v61Jw)_!n8S#Gv5TC=RfC? zG3vS=z>F}D;St8V6qdRq26c6|mt&zRiTd%5t!1zD17BHE=7Apl*B|@fd&tKU@>y<$Sj(W z#BHl1U!&cGInbcMDw8151I+JK^t&6UPfx^nvKp!hL?uMs^I)kk>V#>km=2lhJuiY+j zCuQdD#|_%9T{k4LWfeW{0Ih~$m$*z~tU)uM({UXfgefR43FB(&OeJjL^M~7l@U5BHE#a z{L1q8?-S3NYR9No@L5ba33stcT{>x{v(vthEzCG3WbOOk_tE>+ePsbcBwF9~!Z%M= zt0e5s>ZMB=DKb_5R#o(5bH|%KrT0g|NwO^_g;%-W*eM01Rq?hrf5#w-g-RS+c%TNA z*sa^QMRaay9p0OfF>p}7vx_g;Fi!0-+ipb#kAeJTIf27KJ;lVzjKp| zb7xOmWSVh!RZGNaT=o!ur)kEN1rVh20F~kC>gswij_2ABl#9inu74XE+5}!JPWH#y z*@s%rH9IiUNkO8iqjSAC5+i1R;QSaGf>9cB^fboW#C7XCcFU|EZ=sD4q5Sao=zOZf z@SB}AF&YF#0GZ0~s@*|BF2Qe+`a6wmzeUvixC*qA($ud_n=`+hM=Q%v^!rgw?`52S z*s9f^d^#kkdg7xnc}su=tY6W&babwMkpH@OA?=4m>xVy&7&JduT@aP3{O+L?wGSlk zMN!fdgot|$6m2ExGv?_hLMUO-(uyJSCS?d#FZTlawSrH=fKMbu-| zE}|PZ?gMQ^A7ku=l&F%@VN_X%^NA^W(zsQ{9dSlF(dL~8!?pw?g3ADeC}EJ%q=Q(6 zy)IlRL13Mhy81=(_gYxLdoRqw-^bzaU%u>ZjyM-zP)evJE38=A`PV9+J02{gPG#*# zSd!qXByu>5hmq^L5u@8>b>XGo;a(Wy?()m)%=3oNsSg}BEhIbhN$kw~5+&rwRy95H zo*YnQ_Jm`b@T3Ul2qH6?p*=yk$O{*eEDG*9IY=<|cmqp$5+Q<-G%^N-;8ul$Fx5~M z^QX&%=8j2QF$|p^9oRt9AW4h};npaaCDwk&AJiQkHzGEcU4)qs(FlJL9Vi)o^~rDi zq7bR!s*;cJ1iWyF1F0)}zLQQW{cP3&rc>z&wcJTQezbrOtyL%r! zVWg$wJKI>ZWMeDO3A4qgMi#tErObnwb{t;3ovq!8dS~bwmKcMUBxgCaC+~Me?(R%k ztD}w^PP~y!JUwztyc8&nMKx-d7LXtzInUoWSqG?_;dU1+*U7m%`2O&xO{ll;U+LTC zK)=~qw3U*ej1!dauOKNSN22#g7io4521q`wyL)oRx6>L`)qAF-nD=YN81LV|De6n_ zqwRmWj#cRh%c~{yU}_h|VN}mxbcawN+(FPucvfMvIx+D|^a(So*6;+z6EXVdR@daO zVQ^jeJZ)XOiHK@R9%GmoU6tX_3fg+AaTUE&@9Kwz99!?)vL+~Hh$#Y53^)%b^ZZZ2 z%R(9RnB}xnr;=)?&shmaC)e^HZ(7$|_kDLr$O|i<2eM47<7$6I-o48C#ZF^5Iyz`& zK7Hp4dNJ)`V58D8hZH7RN}DO0iME82wWZgU&qZHwEM!w$Ah=kHZY%z=`xxJ`XdSJs^sr~i+nM*Er`YH# zH>l}qEiJ7bZ*cf&@gdU?1D{c~TGiH;yA}(}V+v<$Wv0yZES>h*e7eTLP&jk7_(juL z&Val|?fpmV>6$ND3}?PZ8|V4saSPFKDvgQ@`Zq({+YG|mmX|3ty&&?DssCNN0i#T` zID^cN>hQbwSdW?sovKhMJiF+qePhqZ_jI=vQ%zBuazj(dOlspb*OsWut}Ozr9Zd0t zEI(=^7wRNy@1QefuPA1sEu~MgH@@4=!KlDyF!M%Od{Nlx)I74$CgX`E_nkF#x1m*$ znPT>b>gucWeeteOy;Q!CzW0vL64G_nyOVxRu-@=bEO@T&`)Vs=$V!Kyp*@u70o``T zu5X7i+EBa27ULGWyI^$JMt@)BkX42$eP)WuVjxyPqwp|ibYI-kWsf4Z^Zotw#+Ds6+6{M?aEYdmG2&{B6aFz6{mz$`lJUM?yGAV?Bv%{f77>Ykmrv} zN=RVyJ0x=8+p2b$wRSG+=fU>(^7~LQmKP{Z+h#oGM zxa3BCWKziaVV+TN?aOzz*{v1N7uFcsvocc)3o_yvU>Q0Z(JVn-r`||Bcnem(-HkiD z!|E3$I;yFN+QQSsnssMTd3PEjs%yv0@8Gn~4XDp;_P!v#^uT`R&kJ~WoK7Flr7g0! z{Oa9m+E)5$s{duveF-DSb)t5a1`_zVCbu*63pA?{rBTlD=8g4e13WY1dcUSoXQ^4w z(U*&h6e&qB2Gg%$wQkABlzC~GD#Zjb9mqKma*dU1*`=^{i-3WT3}whg=fA?JB_u?< z#*xM217zl+0p?`AXTib)>y?Ru`-ljPAWzD5Za&2ES?3VPi(jS~j}u)G`d*OyIMZaF z#vWP{Xh?bYacsY1Zz{eE2zSWf9$KiI%bLZs{k#{)EBvM0-5FwHTqpGSY6Drtgi8#RGZKYP}JUXpmc02=i%sZ|4!DeZU_f6cfgbxdNwXBF*) zfQ7MS`!;joZ7a{0mD(qcu)WSLkbJoPu=oj9w$~m(p|>mBSmH7w3|CUL-Fq(W*vhke z_7qp6VO0H%haT?08Ks*rN19X-eg><5v0H1u!Pr#Y+q)o1MNaOv9J{NEpcY z{?W1cS)cuf>DOW%b@fq7d>6+fyp>riFIr|EWxUDep5nQc{*{_u&SJ5FeonqcVMDox z=TXU0UfU)YwwgbRtEj!qGDX9RGiASXkJh&Z%a< zzrrfz@cp3_?D_WnSQH}2^TJXJ<-RY+}f1E8>a$A`wB%|fj|uy?h~`F_%FmqF85gjzKIbmF!hiZyetyb|rIi=2w5dsVP4(UP zwc1w8qR2*%dvt$puYA#muo8bCBSoh$%)H)Z%JZ{-9T2`(WWbl8576MuSi&Rq^B^Ol zPrZa@<;nBsAAf^We6Kb_&Nis`Xn^kIB=2@xju!?Jm>0imTTsZT(Kxn~syX#asOWhe zwXvh_ZLGY4fM5XPA~de>=C?h6sBdXG)0S&2!T!>3+m*`m3v-{AWw;-oo1C0EXoVz=>No|aHi;Q zpg?Z=6O+M|JL}baG&ya;mL}|4IqNM~79|+Zp*YCGvUH<)-4j>)br&!GanaGt!X%Xs zXnP{dAl+t+(Z1{Xsn@J=j=x4n-=bo-aRALs4Fgf}hjZ_i{V?~opF6j|U0v}^9IH(C z@{e5=Rjc%?sVy%}hyq|Wp%eSY$GSK#ei^vTTSch`#Aif_1ybc8JLvNqRyDW4V$ zB?W01cw(5;oqhZI?wB`_GUyf>1fE_IzDdkr*$$fP9%PtGH-QehHsT7W#J!=R1CC*? z6XGe$)0wVn{t3Lg`=S`Zh z(^%V``DEtyvacK;&R!AOca~-+ao_;8H=OzD(=F}BG)?w*+if~i^3DeCC_5T&P!WCa zdnbopt1JQ4@jpD>?n9Nfsg35dpE-x}?@8O+vumXB+MlHisv?-Qv1Ew%$4e@fv5E{*x=K8zaE>7CiXm$47 zMB#X^6nA4_#+{JZ5oLoIefj&Tq2d1{P>@?-XnSlG!% z>91$hUrWDnBVp4aMcu1@Eelo}h(7*Hug-@ z-Q#=mh1`+zamU1%3~N80{!v241La-MgOnAk4(?Z3*X%t%s##VB#bBhCX_qFiq0qyr zrMv#V8#Xa)XyXdoW`Ep0t>F;7U^>IsF50zktCyH)9*Vwmpx}TEW8+YFv9a_g=IcBT zZO5Avwp+}GM{vgSkD4V{Wv>_8dVbE&@2Bo9w!)X6KeIi+)UA;v5fcmKVwk3@VA8qo z$8{G%Y=1luEu=zsY-JNDwK$Txjd`GyZ_MUB+XLg&1@Pr@``UF%nL9^pR4eqi$83S< z3nt7jj4@d1bR*CC`vA3*%i6zLPL|e<@krA{CA$LaX3OOtIf;sHi#6as-Yj`~ncgLw z59e&mvJ~LZC0WH(r(KcV?w67N@FL^;CeZ91_rz@8u5fy`T7+AE19|oCJxAAX9T9}a z1dJsvK0f3f1V{u&000wVz2npA7ngP*{!d;&c{OkL?W58rFNzzFp5gr`aH42PrwuL3 zaA@WcmzB*D+M&D0>iSMptqI)Z!vlZyH|c@bEvAx6@jJ(D`rhcn;Gu4HCw@dU0ogw< z1nhnL5zUFHyrvD8+(ubq0DWxK7_l0KHNT1 zJZnsWg1SNxk{r;8uA`B9jQyIYY>Rzef8C`cIy!rAllnOV%D6nVT)x^*WSJ9=g9UpH zsv)$OxkfLCP|icSf>S$w{8jixhk2e>2nH#zzZ&WYm>d9$huH6m?ThqdU|IlIuDb6H z=&pHFp6D}-_Q;(e9n}0U*bRjQbj22~U-3S`)3S2;86c~$!);KI{6duOzxx}P5e^N; z0ej2tvo=F=!=v`f{r>Jzhc%-mPm-j?SSZNWz4te>K%ATIIhPcu)%CaEa1|2;7`YU(*VC(5g#~B{jZQ&=r*ZY2_v1LI z&fcb$+3nU0z0(^EEYcuTAgUIU*j(E|Os}adGwUzB>5}}hK6Rx4qo0>rQSE>vz^cL! zLHo=ZnT=&-Yu1S`3jcHdAK-o!+6iv%T0T$^%C{Fb-Jh&OxdFWi&j55l=p!-<;}#|~ z&sZHhX5EaJ+}aTe>Jkb1L=_nJ>J*=h&klV|r@=-bdMaWtrD5J0`^bhFwO<~eN#W_hGad<^;lN0zGo6oo{we88y zJIrMlz0=X!>!G}y+`+op`n%G0op10k9PBQ!x)8khghMrYy=%H%8y2^Kn^esZy7kG11`l)&SGu zqccAYZak(7g)&AXOw;LG-u8HOcar6<T|{Z{LNs!(>UYaK((`Hw z;%@0mJ4{tKz(xdT;M#wkS4x||Ol?Kg;;ok$o-$?|>4HmKJ`P#b&z# z-h&9J??`wbXYjGK%&MlUs3shBL<=N*`#kA&F*-|sA7>c+yV|$w__d7ug_=9~db7Q2 z?_~(La@*|2(G&rgw_XOH7#z+ zIGpU+b86f3N7p$OG(ZhC8 z%NP#D%XTfI@pWs<)s@z|-oC~5pjCVuR%0ALwtk6Gx&mPKpL;XrRh=4eJP-7jx&NWq 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%0A+FC-(LL z63=?EUN8T4$nYwR#~Sn8HVpy-f%q??iE!mmA;J@h4JYEcV?#&Eh}|O@ZGci2yTW$W z0QSn^k&#>Z&484A!Tzy85$G2Xpb5rke-D3W_p!#Dwsf+gH_{chY)M}`0hv_a_SSx``G0IVAZ z3T^V`4}{rwRT}na>avpKo&P?HR7;c#4Jew)xd>Yu&<9A;1o1tm`FZe044$*9KqzH$&;7Ii@fR>w~JZ*R&{n>1gfK KOi{PE_`d;>vxtrW literal 0 HcmV?d00001 diff --git a/docs/benchmarks/California/01_Caldor.md b/docs/benchmarks/California/01_Caldor.md new file mode 100644 index 0000000..48e0bfc --- /dev/null +++ b/docs/benchmarks/California/01_Caldor.md @@ -0,0 +1,74 @@ +# 2021 Caldor Fire + +**Version**: 1.0a +**Status**: In Progress + +### Contributors +- Aurélien Costes, [Wildfire Interdisciplinary Research Center](https://www.wildfirecenter.org/), San Jose State University, [aurelien.costes@sjsu.edu](mailto:aurelien.costes@sjsu.edu), [ORCID](https://orcid.org/0000-0003-4543-5107) + + +## Description + +This collection of benchmarks uses the public ressources about the 2021 Caldor Fire. +It contains observation datasets for: +- Nearby weather stations (nb of associated benchmarks) +- Infrared fire perimeters +- Burn severity +- Building damaged +- (Plume top height) + +## Buildings damage benchmarks + +### Dataset + +The data has been collected using **CAL FIRE Damage Inspection (DINS) Data** (version of 2025/11/05). +The original csv file containing multiple fires has been processed to extract the building damaged from the Caldor Fire only. The dataset contains the position (lat, lon) of buildings in the area of influence from the fire. The state of buildings is one of the following: +- 'No Damage', +- 'Affected (1-9%)', +- 'Minor (10-25%)', +- 'Major (26-50%)', +- 'Destroyed (>50%)', +- 'Inaccessible'. + +The column names from the original csv file have been corrected from "* Damage" to "Damage" and "* Incident Name" to "Incident Name". +The hash of the original source file is: *0190a5a51aafafa20270fe046a7ae17a53697b1fb218ff8096a3d8ebbc9ef983*. + +If the evaluated model does not explicitly represent individual buildings, the model should consider every building within a cell to share the cell value for building damage (deterministic models) or share the median of bulding damage distribution (probabilistic models). + +Figure 1 shows the spatial distribution of building damage for the Caldor Fire. +![blockdiagram](../../_static/benchmarks/FB001/Caldor_bd_map.png) +

+ + Fig. 1 + + : + + Buildings damage map + +

+ +Figure 2 shows the distribution of building damage for the Caldor Fire. The following table shows the number of strucure in each damage category. +Damage category | Counts [-] +---------------------- | ----------------- +No Damage | 3356 +Affected (1-9%) | 56 +Minor (10-25%) | 18 +Major (26-50%) | 7 +Destroyed (>50%) | 1005 +Inaccessible | 2 +Total | 4444 + +![blockdiagram](../../_static/benchmarks/FB001/Caldor_bd_distribution.png) +

+ + Fig. 2 + + : + + Distribution of buildings damage + +

+ +### Confusion matrix + +**Benchmark ID**: FB001-BD01 \ No newline at end of file diff --git a/src/firebench/metrics/mtbs/mtbs_analysis.py b/src/firebench/metrics/mtbs/mtbs_analysis.py index 7736461..a3f2358 100644 --- a/src/firebench/metrics/mtbs/mtbs_analysis.py +++ b/src/firebench/metrics/mtbs/mtbs_analysis.py @@ -2,10 +2,8 @@ import matplotlib.pyplot as plt import numpy as np from matplotlib.colors import BoundaryNorm, ListedColormap, Normalize -from scipy.sparse import coo_matrix from ...tools.namespace import StandardVariableNames as svn from ...tools.utils import FIGSIZE_DEFAULT -from sklearn.metrics import confusion_matrix COLORS_MTBS = [ (1, 1, 1, 0), # 0: no data From 34013123242e4eed2d25d1cfaec53f806dd84cc9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Costes?= Date: Thu, 13 Nov 2025 10:26:57 -0800 Subject: [PATCH 007/111] improve MTBS workflow --- src/firebench/metrics/mtbs/mtbs_analysis.py | 36 ++++++++++----------- src/firebench/standardize/mtbs.py | 14 ++++---- 2 files changed, 24 insertions(+), 26 deletions(-) diff --git a/src/firebench/metrics/mtbs/mtbs_analysis.py b/src/firebench/metrics/mtbs/mtbs_analysis.py index 7736461..1fa915a 100644 --- a/src/firebench/metrics/mtbs/mtbs_analysis.py +++ b/src/firebench/metrics/mtbs/mtbs_analysis.py @@ -1,11 +1,10 @@ import h5py import matplotlib.pyplot as plt import numpy as np +from pyproj import CRS, Transformer from matplotlib.colors import BoundaryNorm, ListedColormap, Normalize -from scipy.sparse import coo_matrix from ...tools.namespace import StandardVariableNames as svn from ...tools.utils import FIGSIZE_DEFAULT -from sklearn.metrics import confusion_matrix COLORS_MTBS = [ (1, 1, 1, 0), # 0: no data @@ -50,29 +49,30 @@ def global_accuracy( """ # Import evaluated dataset with h5py.File(filepath_eval, "r") as h5: - grp_1 = h5[mtbs_group_path_eval] - lat_1 = grp_1[svn.LATITUDE.value][:, :] - lon_1 = grp_1[svn.LONGITUDE.value][:, :] - mtbs_1 = grp_1[svn.FIRE_BURN_SEVERITY.value][:, :] - crs_1 = grp_1.attrs["crs"] + grp = h5[mtbs_group_path_eval] + lat_eval = grp[svn.LATITUDE.value][:, :] + lon_eval = grp[svn.LONGITUDE.value][:, :] + mtbs_eval = grp[svn.FIRE_BURN_SEVERITY.value][:, :] + crs_eval = CRS(grp.attrs["crs"]) # Import reference dataset with h5py.File(filepath_ref, "r") as h5: - grp_2 = h5[mtbs_group_path_ref] - lat_2 = grp_2[svn.LATITUDE.value][:, :] - lon_2 = grp_2[svn.LONGITUDE.value][:, :] - mtbs_2 = grp_2[svn.FIRE_BURN_SEVERITY.value][:, :] - crs_2 = grp_2.attrs["crs"] + grp = h5[mtbs_group_path_ref] + lat_ref = grp[svn.LATITUDE.value][:, :] + lon_ref = grp[svn.LONGITUDE.value][:, :] + mtbs_ref = grp[svn.FIRE_BURN_SEVERITY.value][:, :] + crs_ref = CRS(grp.attrs["crs"]) + + transform_crs_eval_to_ref = Transformer.from_crs(crs_eval, crs_ref, always_xy=True) - # TODO: Projection eval -> ref # TODO: interpolation nearest # process greenness # compute confusion matrix # Flatten in case your labels are 2D rasters - y_true = np.asarray(mtbs_2).ravel() - y_pred = np.asarray(mtbs_1).ravel() + y_true = np.asarray(mtbs_ref).ravel() + y_pred = np.asarray(mtbs_eval).ravel() # If you know your class list; otherwise infer: classes = np.unique(np.concatenate([y_true, y_pred])) @@ -114,14 +114,14 @@ def global_accuracy( norm = BoundaryNorm(bounds, cmap.N) # panel 2: Evaluated - im1 = ax1.pcolormesh(lon_1, lat_1, mtbs_1, cmap=cmap, norm=norm, edgecolors="none") + im1 = ax1.pcolormesh(lon_eval, lat_eval, mtbs_eval, cmap=cmap, norm=norm, edgecolors="none") # panel 2: Reference - im2 = ax2.pcolormesh(lon_2, lat_2, mtbs_2, cmap=cmap, norm=norm, edgecolors="none") + im2 = ax2.pcolormesh(lon_ref, lat_ref, mtbs_ref, cmap=cmap, norm=norm, edgecolors="none") # panel 3: Difference im3 = ax3.pcolormesh( - lon_2, lat_2, mtbs_1 - mtbs_2, cmap="RdYlGn_r", norm=Normalize(vmin=-5, vmax=5), edgecolors="none" + lon_ref, lat_ref, mtbs_eval - mtbs_ref, cmap="RdYlGn_r", norm=Normalize(vmin=-5, vmax=5), edgecolors="none" ) # panel 4: confusion matrix diff --git a/src/firebench/standardize/mtbs.py b/src/firebench/standardize/mtbs.py index ac9b726..fa4fb2b 100644 --- a/src/firebench/standardize/mtbs.py +++ b/src/firebench/standardize/mtbs.py @@ -23,6 +23,8 @@ def convert_mtbs_geotiff( """ Convert a MTBS GeoTIFF to Firebench HDF5 standard file. + MTBS data uses NAD83 projection. + Parameters ---------- path : str @@ -56,7 +58,6 @@ def convert_mtbs_geotiff( ii = np.arange(rows) # vectorized center coordinates from affine: # x = a*col + b*row + c ; y = d*col + e*row + f - # Use broadcasting to form 2-D arrays without Python loops. x = ( severity_raw["transform"].a * jj[None, :] + severity_raw["transform"].b * ii[:, None] @@ -69,12 +70,9 @@ def convert_mtbs_geotiff( ) # Reproject to geographic lat/lon - # Choose your target CRS: - # - WGS84 geographic: - epsg_code = 4269 - tgt_crs = CRS.from_epsg(epsg_code) # lon/lat - # - OR NAD83 geographic: - # tgt_crs = CRS.from_epsg(4269) # lon/lat + # NAD83 geographic + CRS_NAME = "EPSG:4269" + tgt_crs = CRS(CRS_NAME) # always_xy=True -> transformer expects/returns (x, y) = (lon, lat) ordering for geographic CRS transformer = Transformer.from_crs(severity_raw["crs"], tgt_crs, always_xy=True) @@ -114,7 +112,7 @@ def convert_mtbs_geotiff( g = h5.create_group(group_name) g.attrs["data_source"] = f"MTBS {path}" - g.attrs["crs"] = f"EPSG:{epsg_code}" + g.attrs["crs"] = CRS_NAME # TODO: add some useful metadata from _metadata.xml (fire_ignition_time, pre_fire_image_date, post_fire_image_date) # Lat/Lon as 2-D arrays From 616e4ec225603181b2a9af1acdba6bec1e8c9549 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Costes?= Date: Wed, 19 Nov 2025 09:20:43 -0800 Subject: [PATCH 008/111] add caldor fire content --- docs/benchmarks/California/01_Caldor.md | 29 +++++++++++++++++++++---- docs/benchmarks/index.md | 18 ++++++++------- 2 files changed, 35 insertions(+), 12 deletions(-) diff --git a/docs/benchmarks/California/01_Caldor.md b/docs/benchmarks/California/01_Caldor.md index 48e0bfc..1f4347e 100644 --- a/docs/benchmarks/California/01_Caldor.md +++ b/docs/benchmarks/California/01_Caldor.md @@ -1,9 +1,9 @@ # 2021 Caldor Fire **Version**: 1.0a -**Status**: In Progress +**Case ID**: FB001 -### Contributors +## Contributors - Aurélien Costes, [Wildfire Interdisciplinary Research Center](https://www.wildfirecenter.org/), San Jose State University, [aurelien.costes@sjsu.edu](mailto:aurelien.costes@sjsu.edu), [ORCID](https://orcid.org/0000-0003-4543-5107) @@ -16,6 +16,7 @@ It contains observation datasets for: - Burn severity - Building damaged - (Plume top height) +- (Smoke concentration ground) ## Buildings damage benchmarks @@ -69,6 +70,26 @@ Total | 4444

-### Confusion matrix +### Benchmark FB001-BD01 -**Benchmark ID**: FB001-BD01 \ No newline at end of file +**KPI**: Binary structure loss accuracy + +### Benchmark FB001-BD02 + +**KPI**: Binary structure loss precision + +### Benchmark FB001-BD03 + +**KPI**: Binary structure loss recall + +### Benchmark FB001-BD04 + +**KPI**: Binary structure loss false negative rate + +### Benchmark FB001-BD05 + +**KPI**: Binary structure loss false positive rate + +### Benchmark FB001-BD06 + +**KPI**: Binary structure loss F1 score \ No newline at end of file diff --git a/docs/benchmarks/index.md b/docs/benchmarks/index.md index d289158..98597af 100644 --- a/docs/benchmarks/index.md +++ b/docs/benchmarks/index.md @@ -1,21 +1,23 @@ # 6. Benchmarks list This section groups the workflows, tests, and benchmarks proposed by FireBench. -## Fire submodels +## Events ```{toctree} :maxdepth: 1 -fire_submodels/rate_of_spread/Anderson_2015_Validation/index.md -fire_submodels/rate_of_spread/Computational_cost/index.md -fire_submodels/rate_of_spread/Global_sensitivity_env/index.md +California/01_Caldor.md ``` -## 2D Fire Spread models -## 3D Coupled dynamics +## Fire submodels -## Fuel Moisture +```{toctree} +:maxdepth: 1 + +fire_submodels/rate_of_spread/Anderson_2015_Validation/index.md +fire_submodels/rate_of_spread/Computational_cost/index.md +fire_submodels/rate_of_spread/Global_sensitivity_env/index.md -## Risk/Danger \ No newline at end of file +``` \ No newline at end of file From 6c313aef8dfba9107128761883756eefa3a7aa63 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Costes?= Date: Wed, 19 Nov 2025 19:18:36 -0800 Subject: [PATCH 009/111] add is_iso8601 and validate_h5_std functions --- src/firebench/standardize/__init__.py | 2 +- src/firebench/standardize/tools.py | 37 ++++++++++++++++++++++++++- src/firebench/tools/__init__.py | 1 + 3 files changed, 38 insertions(+), 2 deletions(-) diff --git a/src/firebench/standardize/__init__.py b/src/firebench/standardize/__init__.py index 2a6ff62..c85d74b 100644 --- a/src/firebench/standardize/__init__.py +++ b/src/firebench/standardize/__init__.py @@ -1,2 +1,2 @@ from .mtbs import convert_mtbs_geotiff -from .tools import VERSION_STD +from .tools import VERSION_STD, validate_h5_std, is_iso8601 diff --git a/src/firebench/standardize/tools.py b/src/firebench/standardize/tools.py index 4dfb26d..00d534e 100644 --- a/src/firebench/standardize/tools.py +++ b/src/firebench/standardize/tools.py @@ -1,12 +1,23 @@ import h5py from ..tools.logging_config import logger +import re -VERSION_STD = "0.1" +VERSION_STD = "0.2" VERSION_STD_COMPATIBILITY = { "0.1": [], + "0.2": [], } +VALIDATION_SCHEME_1 = ["0.1", "0.2"] + + +ISO8601_REGEX = re.compile( + r"^\d{4}-\d{2}-\d{2}T" # Date + 'T' + r"\d{2}:\d{2}" # HH:MM (always present) + r"(?:\:\d{2}(?:\.\d+)?)?" # optional :SS[.ffffff] + r"(?:Z|[+-]\d{2}:\d{2})?$" # optional timezone +) def check_std_version(file: h5py.File): """ @@ -56,3 +67,27 @@ def check_std_version(file: h5py.File): return False raise ValueError(f"Standard version {file_version} not compatible with {VERSION_STD}") + +def is_iso8601(s: str) -> bool: + return bool(ISO8601_REGEX.match(s)) + +def validate_h5_std(file: h5py.File): + """ + Validate that the mandatory structure in the h5 file is compliant with the standard + """ + if "FireBench_io_version" not in file.attrs: + raise ValueError(f"Attribute `FireBench_io_version` not found.") + + if file.attrs["FireBench_io_version"] in VALIDATION_SCHEME_1: + # check creation date + if "created_on" not in file.attrs: + raise ValueError(f"Attribute `created_on` not found.") + + if not is_iso8601(file.attrs["created_on"]): + raise ValueError(f"Attribute `created_on` not compliant with ISO8601.") + + # check authors + if "created_by" not in file.attrs: + raise ValueError(f"Attribute `created_by` not found.") + + \ No newline at end of file diff --git a/src/firebench/tools/__init__.py b/src/firebench/tools/__init__.py index 6dd3096..6b2bdd2 100644 --- a/src/firebench/tools/__init__.py +++ b/src/firebench/tools/__init__.py @@ -29,6 +29,7 @@ logger, logging, set_logging_level, + create_file_handler, ) from .input_info import ParameterType from .fuel_models_utils import ( From 5f5bde997b634b326be29416fa29ea0abbcf2f24 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Costes?= Date: Wed, 19 Nov 2025 19:52:48 -0800 Subject: [PATCH 010/111] fix logging default level to allow for debug and above --- src/firebench/tools/logging_config.py | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/src/firebench/tools/logging_config.py b/src/firebench/tools/logging_config.py index f716966..39d01f9 100644 --- a/src/firebench/tools/logging_config.py +++ b/src/firebench/tools/logging_config.py @@ -3,11 +3,10 @@ # Create a custom logger logger = logging.getLogger("firebench") +logger.setLevel(logging.DEBUG) # Create a stream handler by default c_handler = logging.StreamHandler() - -# Set logging level for the stream handler c_handler.setLevel(logging.WARNING) # Create formatter and add it to the stream handler @@ -17,9 +16,6 @@ # Add the stream handler to the logger logger.addHandler(c_handler) -# Set default logging level for the logger -logger.setLevel(logging.WARNING) - # Prevent propagation to the root logger logger.propagate = True From 3819086b26dcbfa9ece613b758eed80e8341cd14 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Costes?= Date: Wed, 19 Nov 2025 19:53:39 -0800 Subject: [PATCH 011/111] fix regex for ISO8601 check and add validate_h5_requirement - regex now handles HH:MM:SS or HH:MM in ISO8601 --- src/firebench/standardize/tools.py | 37 ++++++++++++++++++++++-------- 1 file changed, 28 insertions(+), 9 deletions(-) diff --git a/src/firebench/standardize/tools.py b/src/firebench/standardize/tools.py index 00d534e..99ee6c1 100644 --- a/src/firebench/standardize/tools.py +++ b/src/firebench/standardize/tools.py @@ -1,6 +1,6 @@ import h5py from ..tools.logging_config import logger -import re +import re VERSION_STD = "0.2" @@ -13,12 +13,13 @@ ISO8601_REGEX = re.compile( - r"^\d{4}-\d{2}-\d{2}T" # Date + 'T' - r"\d{2}:\d{2}" # HH:MM (always present) - r"(?:\:\d{2}(?:\.\d+)?)?" # optional :SS[.ffffff] - r"(?:Z|[+-]\d{2}:\d{2})?$" # optional timezone + r"^\d{4}-\d{2}-\d{2}T" # Date + 'T' + r"\d{2}:\d{2}" # HH:MM (always present) + r"(?:\:\d{2}(?:\.\d+)?)?" # optional :SS[.ffffff] + r"(?:Z|[+-]\d{2}:\d{2})?$" # optional timezone ) + def check_std_version(file: h5py.File): """ Determine whether the standard version of a file should be updated to the latest. @@ -68,26 +69,44 @@ def check_std_version(file: h5py.File): raise ValueError(f"Standard version {file_version} not compatible with {VERSION_STD}") + def is_iso8601(s: str) -> bool: return bool(ISO8601_REGEX.match(s)) + def validate_h5_std(file: h5py.File): """ Validate that the mandatory structure in the h5 file is compliant with the standard """ if "FireBench_io_version" not in file.attrs: raise ValueError(f"Attribute `FireBench_io_version` not found.") - + if file.attrs["FireBench_io_version"] in VALIDATION_SCHEME_1: # check creation date if "created_on" not in file.attrs: raise ValueError(f"Attribute `created_on` not found.") - + if not is_iso8601(file.attrs["created_on"]): raise ValueError(f"Attribute `created_on` not compliant with ISO8601.") # check authors if "created_by" not in file.attrs: raise ValueError(f"Attribute `created_by` not found.") - - \ No newline at end of file + + +def validate_h5_requirement(file: h5py.File, required: dict[str, list[str]]): + """ + Check if all datasets and associated attributs are present in the file. + Return False and the name of the first missing item if either the dataset or an attribute is missing + """ + for dset_path, attrs in required.items(): + if dset_path not in file: + return False, dset_path + + dset = file[dset_path] + + for attr_name in attrs: + if attr_name not in dset.attrs: + return False, f"{dset}: {attr_name}" + + return True, None From 0a5bd9bb200c72403bfc130a2be6a3604946f653 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Costes?= Date: Wed, 19 Nov 2025 19:54:02 -0800 Subject: [PATCH 012/111] add validate_h5_requirement to tools --- src/firebench/standardize/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/firebench/standardize/__init__.py b/src/firebench/standardize/__init__.py index c85d74b..643fe1d 100644 --- a/src/firebench/standardize/__init__.py +++ b/src/firebench/standardize/__init__.py @@ -1,2 +1,2 @@ from .mtbs import convert_mtbs_geotiff -from .tools import VERSION_STD, validate_h5_std, is_iso8601 +from .tools import VERSION_STD, validate_h5_std, is_iso8601, validate_h5_requirement From 737c1b3815ac9c9e5c2b1cbd75e92009ffdd3429 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Costes?= Date: Wed, 19 Nov 2025 20:06:34 -0800 Subject: [PATCH 013/111] improve return string of missing items for validate_h5_requirement --- src/firebench/standardize/tools.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/firebench/standardize/tools.py b/src/firebench/standardize/tools.py index 99ee6c1..f17b526 100644 --- a/src/firebench/standardize/tools.py +++ b/src/firebench/standardize/tools.py @@ -101,12 +101,12 @@ def validate_h5_requirement(file: h5py.File, required: dict[str, list[str]]): """ for dset_path, attrs in required.items(): if dset_path not in file: - return False, dset_path + return False, f"dataset `{dset_path}`" dset = file[dset_path] for attr_name in attrs: if attr_name not in dset.attrs: - return False, f"{dset}: {attr_name}" + return False, f"attr `{attr_name}` of dataset `{dset_path}`" return True, None From dd7427b5b320d552074c3b081b7862a627c64ed8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Costes?= Date: Wed, 19 Nov 2025 21:37:02 -0800 Subject: [PATCH 014/111] add binary_confusion_matrix construction --- src/firebench/metrics/__init__.py | 2 +- .../metrics/confusion_matrix/__init__.py | 1 + .../metrics/confusion_matrix/utils.py | 51 +++++++++++++++++++ 3 files changed, 53 insertions(+), 1 deletion(-) create mode 100644 src/firebench/metrics/confusion_matrix/__init__.py create mode 100644 src/firebench/metrics/confusion_matrix/utils.py diff --git a/src/firebench/metrics/__init__.py b/src/firebench/metrics/__init__.py index 3fbec48..355f04e 100644 --- a/src/firebench/metrics/__init__.py +++ b/src/firebench/metrics/__init__.py @@ -1 +1 @@ -from . import perimeter, stats, mtbs +from . import perimeter, stats, mtbs, confusion_matrix diff --git a/src/firebench/metrics/confusion_matrix/__init__.py b/src/firebench/metrics/confusion_matrix/__init__.py new file mode 100644 index 0000000..0c54616 --- /dev/null +++ b/src/firebench/metrics/confusion_matrix/__init__.py @@ -0,0 +1 @@ +from .utils import binary_confusion_matrix diff --git a/src/firebench/metrics/confusion_matrix/utils.py b/src/firebench/metrics/confusion_matrix/utils.py new file mode 100644 index 0000000..ddf0394 --- /dev/null +++ b/src/firebench/metrics/confusion_matrix/utils.py @@ -0,0 +1,51 @@ +import numpy as np + + +def binary_confusion_matrix(y_true, y_pred): + """ + Compute the binary confusion matrix for two boolean-compatible arrays. + + This function compares predicted binary values against ground-truth binary values + and computes the 2x2 confusion matrix in the conventional layout: + + [[TN, FP], + [FN, TP]] + + Both inputs must be broadcastable to the same shape and must contain values that + can be interpreted as booleans (e.g., {0,1}, {False,True}, or arrays castable to bool). + + The logic is as follows: + - True Negative (TN): elements where both `y_true` and `y_pred` are False. + - False Positive (FP): elements where `y_true` is False but `y_pred` is True. + - False Negative (FN): elements where `y_true` is True but `y_pred` is False. + - True Positive (TP): elements where both `y_true` and `y_pred` are True. + + Parameters + ---------- + y_true : array_like + Ground-truth binary values. Must be castable to a boolean NumPy array. + y_pred : array_like + Predicted binary values. Must be castable to a boolean NumPy array. + + Returns + ------- + numpy.ndarray + A 2x2 NumPy array of integers arranged as: + [[TN, FP], + [FN, TP]] + + Examples + -------- + >>> binary_confusion_matrix_matrix([0, 1, 1, 0], [0, 1, 0, 0]) + array([[2, 0], + [1, 1]]) + """ + y_true = np.asarray(y_true).astype(bool) + y_pred = np.asarray(y_pred).astype(bool) + + tp = np.sum(y_true & y_pred) + tn = np.sum(~y_true & ~y_pred) + fp = np.sum(~y_true & y_pred) + fn = np.sum(y_true & ~y_pred) + + return np.array([[tn, fp], [fn, tp]]) From 33d5cde9b492e91fcb8cefbb40d74b401d6f29af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Costes?= Date: Wed, 19 Nov 2025 21:48:21 -0800 Subject: [PATCH 015/111] add binary_accuracy for binary confusion matrix --- .../metrics/confusion_matrix/__init__.py | 3 +- .../confusion_matrix/binary_performance.py | 35 +++++++++++++++++++ .../metrics/confusion_matrix/utils.py | 4 +-- 3 files changed, 39 insertions(+), 3 deletions(-) create mode 100644 src/firebench/metrics/confusion_matrix/binary_performance.py diff --git a/src/firebench/metrics/confusion_matrix/__init__.py b/src/firebench/metrics/confusion_matrix/__init__.py index 0c54616..9b732b5 100644 --- a/src/firebench/metrics/confusion_matrix/__init__.py +++ b/src/firebench/metrics/confusion_matrix/__init__.py @@ -1 +1,2 @@ -from .utils import binary_confusion_matrix +from .utils import binary_cm +from .binary_performance import binary_accuracy \ No newline at end of file diff --git a/src/firebench/metrics/confusion_matrix/binary_performance.py b/src/firebench/metrics/confusion_matrix/binary_performance.py new file mode 100644 index 0000000..e40179c --- /dev/null +++ b/src/firebench/metrics/confusion_matrix/binary_performance.py @@ -0,0 +1,35 @@ +import numpy as np + +def binary_accuracy(bcm: np.ndarray): + """ + Compute the binary classification accuracy from a 2x2 confusion matrix. + + This function expects a confusion matrix of the form: + + [[TN, FP], + [FN, TP]] + + where: + - TN: True Negatives + - FP: False Positives + - FN: False Negatives + - TP: True Positives + + Accuracy is defined as the proportion of correct predictions out of all + predictions: + + accuracy = (TP + TN) / (TP + TN + FP + FN) + + Parameters + ---------- + bcm : numpy.ndarray + A 2x2 array representing the binary confusion matrix in the order + [[TN, FP], [FN, TP]]. The array must be broadcastable to this shape. + + Returns + ------- + float + The accuracy value, ranging from 0.0 to 1.0. + """ # pylint: disable=line-too-long + tn, fp, fn, tp = bcm.ravel() + return (tp + tn) / (tp + tn + fp + fn) \ No newline at end of file diff --git a/src/firebench/metrics/confusion_matrix/utils.py b/src/firebench/metrics/confusion_matrix/utils.py index ddf0394..bcbd0fa 100644 --- a/src/firebench/metrics/confusion_matrix/utils.py +++ b/src/firebench/metrics/confusion_matrix/utils.py @@ -1,7 +1,7 @@ import numpy as np -def binary_confusion_matrix(y_true, y_pred): +def binary_cm(y_true, y_pred): """ Compute the binary confusion matrix for two boolean-compatible arrays. @@ -39,7 +39,7 @@ def binary_confusion_matrix(y_true, y_pred): >>> binary_confusion_matrix_matrix([0, 1, 1, 0], [0, 1, 0, 0]) array([[2, 0], [1, 1]]) - """ + """ # pylint: disable=line-too-long y_true = np.asarray(y_true).astype(bool) y_pred = np.asarray(y_pred).astype(bool) From e0ef78645e5855c69bfb425cbf4302bd63e9a088 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Costes?= Date: Wed, 19 Nov 2025 22:00:14 -0800 Subject: [PATCH 016/111] add performance mertrics for binary confusion matrix - binary_f_score, binary_false_positive_rate, binary_negative_predicted_value, binary_precision, binary_recall_rate, binary_specific_rate --- .../metrics/confusion_matrix/__init__.py | 2 +- .../confusion_matrix/binary_performance.py | 174 +++++++++++++++++- 2 files changed, 172 insertions(+), 4 deletions(-) diff --git a/src/firebench/metrics/confusion_matrix/__init__.py b/src/firebench/metrics/confusion_matrix/__init__.py index 9b732b5..cd14bc4 100644 --- a/src/firebench/metrics/confusion_matrix/__init__.py +++ b/src/firebench/metrics/confusion_matrix/__init__.py @@ -1,2 +1,2 @@ from .utils import binary_cm -from .binary_performance import binary_accuracy \ No newline at end of file +from .binary_performance import binary_accuracy, binary_f_score, binary_false_positive_rate, binary_negative_predicted_value, binary_precision, binary_recall_rate, binary_specific_rate \ No newline at end of file diff --git a/src/firebench/metrics/confusion_matrix/binary_performance.py b/src/firebench/metrics/confusion_matrix/binary_performance.py index e40179c..7416023 100644 --- a/src/firebench/metrics/confusion_matrix/binary_performance.py +++ b/src/firebench/metrics/confusion_matrix/binary_performance.py @@ -23,8 +23,6 @@ def binary_accuracy(bcm: np.ndarray): Parameters ---------- bcm : numpy.ndarray - A 2x2 array representing the binary confusion matrix in the order - [[TN, FP], [FN, TP]]. The array must be broadcastable to this shape. Returns ------- @@ -32,4 +30,174 @@ def binary_accuracy(bcm: np.ndarray): The accuracy value, ranging from 0.0 to 1.0. """ # pylint: disable=line-too-long tn, fp, fn, tp = bcm.ravel() - return (tp + tn) / (tp + tn + fp + fn) \ No newline at end of file + return (tp + tn) / (tp + tn + fp + fn) + +def binary_precision(bcm: np.ndarray): + """ + Compute the precision from a 2x2 binary confusion matrix. + + This function expects a confusion matrix of the form: + + [[TN, FP], + [FN, TP]] + + where: + - TN: True Negatives + - FP: False Positives + - FN: False Negatives + - TP: True Positives + + Precision (also called Positive Predictive Value, PPV) measures the proportion + of positive predictions that are correct: + + precision = TP / (TP + FP) + + Parameters + ---------- + bcm : numpy.ndarray + A 2x2 array representing the binary confusion matrix. + + Returns + ------- + float + The precision value, ranging from 0.0 to 1.0. + """ # pylint: disable=line-too-long + tn, fp, fn, tp = bcm.ravel() + return tp / (tp + fp) + +def binary_false_positive_rate(bcm: np.ndarray): + """ + Compute the false positive rate (FPR) from a 2x2 binary confusion matrix. + + This function expects a confusion matrix of the form: + + [[TN, FP], + [FN, TP]] + + False Positive Rate measures how often negative samples are incorrectly + classified as positive: + + FPR = FP / (FP + TN) + + Parameters + ---------- + bcm : numpy.ndarray + A 2x2 array representing the binary confusion matrix. + + Returns + ------- + float + The false positive rate, ranging from 0.0 to 1.0. + """ # pylint: disable=line-too-long + tn, fp, fn, tp = bcm.ravel() + return fp / (fp + tn) + +def binary_negative_predicted_value(bcm: np.ndarray): + """ + Compute the negative predictive value (NPV) from a 2x2 binary confusion matrix. + + This function expects a confusion matrix of the form: + + [[TN, FP], + [FN, TP]] + + Negative Predictive Value measures the proportion of predicted negatives + that are actually negative: + + NPV = TN / (TN + FN) + + Parameters + ---------- + bcm : numpy.ndarray + A 2x2 array representing the binary confusion matrix. + + Returns + ------- + float + The negative predictive value, ranging from 0.0 to 1.0. + """ # pylint: disable=line-too-long + tn, fp, fn, tp = bcm.ravel() + return tn / (fn + tn) + +def binary_recall_rate(bcm: np.ndarray): + """ + Compute the recall rate (true positive rate, TPR) from a 2x2 binary confusion matrix. + + This function expects a confusion matrix of the form: + + [[TN, FP], + [FN, TP]] + + Recall, also called sensitivity, measures how many actual positives are + correctly identified: + + recall = TP / (TP + FN) + + Parameters + ---------- + bcm : numpy.ndarray + A 2x2 array representing the binary confusion matrix. + + Returns + ------- + float + The recall value, ranging from 0.0 to 1.0. + """ # pylint: disable=line-too-long + tn, fp, fn, tp = bcm.ravel() + return tp / (tp + fn) + +def binary_specific_rate(bcm: np.ndarray): + """ + Compute the specificity (true negative rate, TNR) from a 2x2 binary confusion matrix. + + This function expects a confusion matrix of the form: + + [[TN, FP], + [FN, TP]] + + Specificity measures the proportion of actual negatives that are correctly + identified: + + specificity = TN / (TN + FP) + + Parameters + ---------- + bcm : numpy.ndarray + A 2x2 array representing the binary confusion matrix. + + Returns + ------- + float + The specificity value, ranging from 0.0 to 1.0. + """ # pylint: disable=line-too-long + tn, fp, fn, tp = bcm.ravel() + return tn / (tn + fp) + +def binary_f_score(bcm: np.ndarray): + """ + Compute the F1-score from a 2x2 binary confusion matrix. + + This function expects a confusion matrix of the form: + + [[TN, FP], + [FN, TP]] + + The F1-score is the harmonic mean of precision and recall: + + F1 = 2 * (precision * recall) / (precision + recall) + + It provides a single metric that balances false positives and false negatives. + + Parameters + ---------- + bcm : numpy.ndarray + A 2x2 array representing the binary confusion matrix. + + Returns + ------- + float + The F1-score, ranging from 0.0 to 1.0. + """ # pylint: disable=line-too-long + pr = binary_precision(bcm) + rc = binary_recall_rate(bcm) + return 2.0 * (pr * rc) / (pr + rc) \ No newline at end of file From fd5b06e62d1065ea86dd452b1a17bab096642bf2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Costes?= Date: Wed, 19 Nov 2025 22:13:02 -0800 Subject: [PATCH 017/111] update caldor case docs --- docs/benchmarks/California/01_Caldor.md | 67 +++++++++++++++++++------ docs/metrics/index.md | 63 +++++------------------ docs/standard_format.md | 7 +-- 3 files changed, 68 insertions(+), 69 deletions(-) diff --git a/docs/benchmarks/California/01_Caldor.md b/docs/benchmarks/California/01_Caldor.md index 1f4347e..5a3f3b1 100644 --- a/docs/benchmarks/California/01_Caldor.md +++ b/docs/benchmarks/California/01_Caldor.md @@ -1,12 +1,13 @@ # 2021 Caldor Fire -**Version**: 1.0a -**Case ID**: FB001 +**Version**: 1.0a
+**Case ID**: FB001
+**FireBench IO std version**: >= 0.2
+**Date of last update**: 11/19/2025 ## Contributors - Aurélien Costes, [Wildfire Interdisciplinary Research Center](https://www.wildfirecenter.org/), San Jose State University, [aurelien.costes@sjsu.edu](mailto:aurelien.costes@sjsu.edu), [ORCID](https://orcid.org/0000-0003-4543-5107) - ## Description This collection of benchmarks uses the public ressources about the 2021 Caldor Fire. @@ -70,26 +71,62 @@ Total | 4444

-### Benchmark FB001-BD01 +### Processing of dataset + +#### Binary classes of building damaged +In order to performe some calculations, the building damaged classes can be aggrageted to form binary classes. The `Inaccessible` is ignored. The following aggragtion method is used: +- `unburnt` binary class contains `No Damage`, `Affected (1-9%)`, and `Minor (10-25%)`, +- `burnt` binary class contains `Major (26-50%)`, and `Destroyed (>50%)`. + +### Benchmarks + +See Key Performance Indicator (KPI) defintion [here](../../metrics/index.md). + +#### FB001-BD01 + +**KPI**: Binary Structure Loss Accuracy
+This benchmark is performed on the binary classes for damaged buildings. + +#### FB001-BD02 -**KPI**: Binary structure loss accuracy +**KPI**: Binary Structure Loss Precision
+This benchmark is performed on the binary classes for damaged buildings. -### Benchmark FB001-BD02 +#### FB001-BD03 -**KPI**: Binary structure loss precision +**KPI**: Binary Structure Loss Recall
+This benchmark is performed on the binary classes for damaged buildings. -### Benchmark FB001-BD03 +#### FB001-BD04 -**KPI**: Binary structure loss recall +**KPI**: Binary Structure Loss False Negative Rate
+This benchmark is performed on the binary classes for damaged buildings. -### Benchmark FB001-BD04 +#### FB001-BD05 -**KPI**: Binary structure loss false negative rate +**KPI**: Binary Structure Loss False Positive Rate
+This benchmark is performed on the binary classes for damaged buildings. -### Benchmark FB001-BD05 +#### FB001-BD06 -**KPI**: Binary structure loss false positive rate +**KPI**: Binary Structure Loss F1 Score
+This benchmark is performed on the binary classes for damaged buildings. + + +## Requirements + +The following sections list the datasets requirements to run the different benchmarks. When the benchmark script is run, each requirement is validated. If a requirement is met, each corresponding benchmark is run. +Each requirement lists the datasets (as path) required to run the benchmark as well as mandatory attributs for each dataset. The shape of the dataset is given between parenthesis. + +*Example* +``` +- /path/of/dataset (shape): attribut1, attribut2 +``` + +Requirement | Benchmarks +---------------------- | ----------------- +R01 | FB001-BD01, FB001-BD02, FB001-BD03, FB001-BD04, FB001-BD05, FB001-BD06 -### Benchmark FB001-BD06 +### R01 -**KPI**: Binary structure loss F1 score \ No newline at end of file +- `/points/building_damaged/building_damage`: units \ No newline at end of file diff --git a/docs/metrics/index.md b/docs/metrics/index.md index bca86eb..27ef2bb 100644 --- a/docs/metrics/index.md +++ b/docs/metrics/index.md @@ -1,64 +1,25 @@ # 5. Metrics information -This section describes the high-level metrics available in `FireBench`, organized by the type and structure of the observational data they support. These metrics are designed to evaluate model performance in realistic settings and are grouped into categories that reflect typical data sources (e.g., weather stations, satellite imagery, fire perimeters). -Some metrics support observation uncertainty, and others are specifically designed for deterministic or ensemble simulations. +This section describes the high-level metrics available in `FireBench`, listed as `Key Performance Indicator` (KPI). Each KPI represents a quantitative evaluation of performance. For implementation details, refer to the [API references](../api/index.rst). A full list of metrics is also available on the [Content page](../content.md). -## Single Point (0D, Time Series) +## Key Performance Indicator -These metrics apply to **0D signals**, *i.e.*, time series at a single spatial location. This is typical for **weather station data** or **virtual probes** in simulations. -**Use these metrics when**: -- You have observations at fixed points in space (e.g., 10-meter wind at a weather station) -- You want to compute per-station RMSE, bias, correlation, etc. +### Binary Structure Loss Accuracy -**List of metrics** -- Bias -- RMSE -- NMSE with range normalization -- NMSE with power normalization +*Category*: Structure Damage
+*Name used in result files*: Binary Structure Loss Accuracy -## Network of Probes +Measure how accurately the model predicts which structures are destroyed or not destroyed by the fire, based on binary (burned / not burned) observations. -Metrics in this category are designed to evaluate a **network of time series** across multiple locations, such as a set of weather stations. +The measure of [accuracy](https://en.wikipedia.org/wiki/Accuracy_and_precision#In_classification) is based on the [Binary confusion matrix](https://en.wikipedia.org/wiki/Confusion_matrix#Table_of_confusion) generated from an observational dataset and a model output dataset. -**Use these metrics when**: -- You want to evaluate performance across a full observation network -- You need to analyze spatial structure, coherence, or regional error statistics +$$ +Accuracy = \frac{TP + TN}{TP + TN + FP + FN}, +$$ +where $TP$ = True positive (buildings destroyed in both datasets); $FP$ = False positive (buildings destroyed only in model dataset); $TN$ = True negative (buildings not damaged in both datasets); $FN$ = False negative (buildings destroyed only in observational datasets) -## Line or Polygon Observations (1D in Space, Sparse in Time) - -These metrics apply to **1D spatial data** that are available at discrete times, for example GIS polygons representing fire perimeters, or airborne measurements along a path - -**Use these metrics when**: -- You want to compare the shape, location, or evolution of 1D features -- You need to evaluate model accuracy along a known line or within a boundary - -**List of metrics** -- Jaccard index (Intersection over Union) -- Sorensen-Dice index - -## 2D Raster Data (Sparse in Time) - -Metrics in this group apply to **2D spatial data**, such as satellite imagery, available at discrete times. - -**Use these metrics when**: -- You are comparing model outputs to gridded observations -- You want to use spatial scores (e.g., FSS, SAL) or object-based comparison methods - -**List of metrics** -- Jaccard index (Intersection over Union) -- Sorensen-Dice index - -## 3D Sparse or Semi-Sparse Observations - -This category includes **3D datasets** that may be dense in two dimensions and sparse in the third (typically time). Examples include: - -* **Lidar scans** (e.g., vertical cross-sections of wind or aerosol) -* **Radar volumes** or **profiling instruments** - -**Use these metrics when**: -- Your data span two spatial dimensions (e.g., x-z or y-z) over time -- You want to assess how well the model reproduces layered structures or vertical evolution \ No newline at end of file +The implementation of this KPI is done using the `firebench.metrics.confusion_matrix.binary_cm` function and `binary_accurary` functions (see API documentation for implementation). If some data processing (e.g., for category aggregation) is required, this process is described at the case level. \ No newline at end of file diff --git a/docs/standard_format.md b/docs/standard_format.md index 4371d19..9d95b62 100644 --- a/docs/standard_format.md +++ b/docs/standard_format.md @@ -1,8 +1,8 @@ # 4. Standard FireBench file format -- **Version**: 0.1 +- **Version**: 0.2 - **Status**: Draft -- **Last update**: 2025-08-08 +- **Last update**: 2025-11-19 This document defines the I/O format standard for benchmark datasets used in the `FireBench` benchmarking framework. The standard is based on the [HDF5 file format](https://www.hdfgroup.org/solutions/hdf5/) (`.h5`) and describes the structure, expected groups, metadata, and conventions. @@ -12,7 +12,8 @@ Each .h5 file must adhere to the following structure: ``` / (root) -├── probes/ (point-based time series) +├── points/ (geopolygones) +├── time_series/ (point-based time series) ├── 1D_raster/ (1D gridded spatial data + time) ├── 2D_raster/ (2D gridded spatial data + time) ├── 3D_raster/ (3D gridded spatial data + time) From c39f8e077c7767338d2fe40bd78f88727d78a268 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Costes?= Date: Wed, 19 Nov 2025 22:13:08 -0800 Subject: [PATCH 018/111] minor code formatting --- src/firebench/metrics/mtbs/mtbs_analysis.py | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/firebench/metrics/mtbs/mtbs_analysis.py b/src/firebench/metrics/mtbs/mtbs_analysis.py index 1fa915a..300feb9 100644 --- a/src/firebench/metrics/mtbs/mtbs_analysis.py +++ b/src/firebench/metrics/mtbs/mtbs_analysis.py @@ -92,8 +92,10 @@ def global_accuracy( accuracy_per_class_total = np.zeros(5) for k in range(K - 1): - accuracy_per_class_bps[k] = cm[k + 1, k + 1] / np.sum(cm[k+1, 1:]) if np.sum(cm[k+1, 1:]) > 0 else 0.0 - accuracy_per_class_total[k] = cm[k + 1, k + 1] / (np.sum(cm[k+1, :]) + cm[0, k+1]) + accuracy_per_class_bps[k] = ( + cm[k + 1, k + 1] / np.sum(cm[k + 1, 1:]) if np.sum(cm[k + 1, 1:]) > 0 else 0.0 + ) + accuracy_per_class_total[k] = cm[k + 1, k + 1] / (np.sum(cm[k + 1, :]) + cm[0, k + 1]) print(accuracy_per_class_bps) print(accuracy_per_class_total) @@ -121,7 +123,12 @@ def global_accuracy( # panel 3: Difference im3 = ax3.pcolormesh( - lon_ref, lat_ref, mtbs_eval - mtbs_ref, cmap="RdYlGn_r", norm=Normalize(vmin=-5, vmax=5), edgecolors="none" + lon_ref, + lat_ref, + mtbs_eval - mtbs_ref, + cmap="RdYlGn_r", + norm=Normalize(vmin=-5, vmax=5), + edgecolors="none", ) # panel 4: confusion matrix From ad88121d4172e1ac33643bc6e671465705de413f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Costes?= Date: Fri, 21 Nov 2025 09:08:47 -0800 Subject: [PATCH 019/111] caldor docs update --- docs/api/metrics.rst | 14 ++++++++++ docs/benchmarks/California/01_Caldor.md | 4 +-- docs/metrics/index.md | 35 ++++++++++++++++++++++++- 3 files changed, 50 insertions(+), 3 deletions(-) diff --git a/docs/api/metrics.rst b/docs/api/metrics.rst index 306ed93..9c6f884 100644 --- a/docs/api/metrics.rst +++ b/docs/api/metrics.rst @@ -9,3 +9,17 @@ Perimeters :undoc-members: :show-inheritance: +Confusion Matrix +---------------- + +.. automodule:: firebench.metrics.confusion_matrix.binary_performance + :members: + :undoc-members: + :show-inheritance: + +.. automodule:: firebench.metrics.confusion_matrix.utils + :members: + :undoc-members: + :show-inheritance: + + diff --git a/docs/benchmarks/California/01_Caldor.md b/docs/benchmarks/California/01_Caldor.md index 5a3f3b1..6b413bd 100644 --- a/docs/benchmarks/California/01_Caldor.md +++ b/docs/benchmarks/California/01_Caldor.md @@ -116,11 +116,11 @@ This benchmark is performed on the binary classes for damaged buildings. ## Requirements The following sections list the datasets requirements to run the different benchmarks. When the benchmark script is run, each requirement is validated. If a requirement is met, each corresponding benchmark is run. -Each requirement lists the datasets (as path) required to run the benchmark as well as mandatory attributs for each dataset. The shape of the dataset is given between parenthesis. +Each requirement lists the required datasets (as path) as well as mandatory attributs for each dataset. *Example* ``` -- /path/of/dataset (shape): attribut1, attribut2 +- /path/of/dataset: attribut1, attribut2 ``` Requirement | Benchmarks diff --git a/docs/metrics/index.md b/docs/metrics/index.md index 27ef2bb..72f710f 100644 --- a/docs/metrics/index.md +++ b/docs/metrics/index.md @@ -22,4 +22,37 @@ Accuracy = \frac{TP + TN}{TP + TN + FP + FN}, $$ where $TP$ = True positive (buildings destroyed in both datasets); $FP$ = False positive (buildings destroyed only in model dataset); $TN$ = True negative (buildings not damaged in both datasets); $FN$ = False negative (buildings destroyed only in observational datasets) -The implementation of this KPI is done using the `firebench.metrics.confusion_matrix.binary_cm` function and `binary_accurary` functions (see API documentation for implementation). If some data processing (e.g., for category aggregation) is required, this process is described at the case level. \ No newline at end of file +The implementation of this KPI is done using the `firebench.metrics.confusion_matrix.binary_cm` function and `binary_accurary` functions (see API documentation for implementation). If some data processing (e.g., for category aggregation) is required, this process is described at the case level. + +### Binary Structure Loss Precision + +*Category*: Structure Damage
+*Name used in result files*: Binary Structure Loss Precision + +Measures how accurately the model predicts which structures are destroyed, by evaluating the proportion of predicted-destroyed buildings that were actually destroyed. + +The measure of [precision](https://en.wikipedia.org/wiki/Positive_and_negative_predictive_values#Definition) is based on the [Binary confusion matrix](https://en.wikipedia.org/wiki/Confusion_matrix#Table_of_confusion) generated from an observational dataset and a model output dataset. + +$$ +Precision = \frac{TP}{TP + FP}, +$$ +where $TP$ = True positive (buildings destroyed in both datasets); $FP$ = False positive (buildings destroyed only in model dataset). + +The implementation of this KPI is done using the `firebench.metrics.confusion_matrix.binary_cm` function and `binary_precision` functions (see API documentation for implementation). If some data processing (e.g., for category aggregation) is required, this process is described at the case level. + + +### Binary Structure Loss Recall + +*Category*: Structure Damage
+*Name used in result files*: Binary Structure Loss Recall + +Measures how completely the model captures the buildings that were actually destroyed, indicating the fraction of truly destroyed structures that the model successfully identifies. + +The measure of [recall](https://en.wikipedia.org/wiki/Precision_and_recall) is based on the [Binary confusion matrix](https://en.wikipedia.org/wiki/Confusion_matrix#Table_of_confusion) generated from an observational dataset and a model output dataset. + +$$ +Recall = \frac{TP}{TP + FN}, +$$ +where $TP$ = True positive (buildings destroyed in both datasets); $FN$ = False negative (buildings destroyed only in observational datasets) + +The implementation of this KPI is done using the `firebench.metrics.confusion_matrix.binary_cm` function and `binary_recall_rate` functions (see API documentation for implementation). If some data processing (e.g., for category aggregation) is required, this process is described at the case level. \ No newline at end of file From 1a30c3b70dd6d1045b7b91ed17d560cae807f449 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Costes?= Date: Fri, 21 Nov 2025 10:55:50 -0800 Subject: [PATCH 020/111] add KPI - KPIs add best/lowest score - add KPIs: Binary Structure Loss Specificity, Binary Structure Loss Negative Predictive Value, Binary Structure Loss F1 Score - chaneg name of binary_specific_rate function to binary_specificity - Updaet Caldor benchmarks with new KPIs --- docs/benchmarks/California/01_Caldor.md | 4 +- docs/metrics/index.md | 71 +++++++++++++++++-- .../metrics/confusion_matrix/__init__.py | 2 +- .../confusion_matrix/binary_performance.py | 2 +- 4 files changed, 69 insertions(+), 10 deletions(-) diff --git a/docs/benchmarks/California/01_Caldor.md b/docs/benchmarks/California/01_Caldor.md index 6b413bd..1957cd3 100644 --- a/docs/benchmarks/California/01_Caldor.md +++ b/docs/benchmarks/California/01_Caldor.md @@ -99,12 +99,12 @@ This benchmark is performed on the binary classes for damaged buildings. #### FB001-BD04 -**KPI**: Binary Structure Loss False Negative Rate
+**KPI**: Binary Structure Loss Specificity
This benchmark is performed on the binary classes for damaged buildings. #### FB001-BD05 -**KPI**: Binary Structure Loss False Positive Rate
+**KPI**: Binary Structure Loss Negative Predictive Value
This benchmark is performed on the binary classes for damaged buildings. #### FB001-BD06 diff --git a/docs/metrics/index.md b/docs/metrics/index.md index 72f710f..5ac64a1 100644 --- a/docs/metrics/index.md +++ b/docs/metrics/index.md @@ -11,7 +11,9 @@ A full list of metrics is also available on the [Content page](../content.md). ### Binary Structure Loss Accuracy *Category*: Structure Damage
-*Name used in result files*: Binary Structure Loss Accuracy +*Name used in result files*: Binary Structure Loss Accuracy
+*Best Score*: 1
+*Lowest Score*: 0 Measure how accurately the model predicts which structures are destroyed or not destroyed by the fire, based on binary (burned / not burned) observations. @@ -22,12 +24,14 @@ Accuracy = \frac{TP + TN}{TP + TN + FP + FN}, $$ where $TP$ = True positive (buildings destroyed in both datasets); $FP$ = False positive (buildings destroyed only in model dataset); $TN$ = True negative (buildings not damaged in both datasets); $FN$ = False negative (buildings destroyed only in observational datasets) -The implementation of this KPI is done using the `firebench.metrics.confusion_matrix.binary_cm` function and `binary_accurary` functions (see API documentation for implementation). If some data processing (e.g., for category aggregation) is required, this process is described at the case level. +The implementation of this KPI is done using the `firebench.metrics.confusion_matrix.binary_cm` function and `firebench.metrics.confusion_matrix.binary_accurary` functions (see API documentation for implementation). If some data processing (e.g., for category aggregation) is required, this process is described at the case level. ### Binary Structure Loss Precision *Category*: Structure Damage
-*Name used in result files*: Binary Structure Loss Precision +*Name used in result files*: Binary Structure Loss Precision
+*Best Score*: 1
+*Lowest Score*: 0 Measures how accurately the model predicts which structures are destroyed, by evaluating the proportion of predicted-destroyed buildings that were actually destroyed. @@ -38,13 +42,15 @@ Precision = \frac{TP}{TP + FP}, $$ where $TP$ = True positive (buildings destroyed in both datasets); $FP$ = False positive (buildings destroyed only in model dataset). -The implementation of this KPI is done using the `firebench.metrics.confusion_matrix.binary_cm` function and `binary_precision` functions (see API documentation for implementation). If some data processing (e.g., for category aggregation) is required, this process is described at the case level. +The implementation of this KPI is done using the `firebench.metrics.confusion_matrix.binary_cm` function and `firebench.metrics.confusion_matrix.binary_precision` functions (see API documentation for implementation). If some data processing (e.g., for category aggregation) is required, this process is described at the case level. ### Binary Structure Loss Recall *Category*: Structure Damage
-*Name used in result files*: Binary Structure Loss Recall +*Name used in result files*: Binary Structure Loss Recall
+*Best Score*: 1
+*Lowest Score*: 0 Measures how completely the model captures the buildings that were actually destroyed, indicating the fraction of truly destroyed structures that the model successfully identifies. @@ -55,4 +61,57 @@ Recall = \frac{TP}{TP + FN}, $$ where $TP$ = True positive (buildings destroyed in both datasets); $FN$ = False negative (buildings destroyed only in observational datasets) -The implementation of this KPI is done using the `firebench.metrics.confusion_matrix.binary_cm` function and `binary_recall_rate` functions (see API documentation for implementation). If some data processing (e.g., for category aggregation) is required, this process is described at the case level. \ No newline at end of file +The implementation of this KPI is done using the `firebench.metrics.confusion_matrix.binary_cm` function and `firebench.metrics.confusion_matrix.binary_recall_rate` functions (see API documentation for implementation). If some data processing (e.g., for category aggregation) is required, this process is described at the case level. + +### Binary Structure Loss Specificity + +*Category*: Structure Damage
+*Name used in result files*: Binary Structure Loss Specificity
+*Best Score*: 1
+*Lowest Score*: 0 + +Measures how accurately the model identifies buildings that survived, by quantifying the fraction of intact structures correctly predicted as not destroyed. + +The measure of [specificity](https://en.wikipedia.org/wiki/Sensitivity_and_specificity) is based on the [Binary confusion matrix](https://en.wikipedia.org/wiki/Confusion_matrix#Table_of_confusion) generated from an observational dataset and a model output dataset. + +$$ +Specificity = \frac{TN}{TN + FP} +$$ +where $FP$ = False positive (buildings destroyed only in model dataset); $TN$ = True negative (buildings not damaged in both datasets). + +The implementation of this KPI is done using the `firebench.metrics.confusion_matrix.binary_cm` function and `firebench.metrics.confusion_matrix.binary_specificity` functions (see API documentation for implementation). If some data processing (e.g., for category aggregation) is required, this process is described at the case level. + +### Binary Structure Loss Negative Predictive Value + +*Category*: Structure Damage
+*Name used in result files*: Binary Structure Loss Negative Predictive Value
+*Best Score*: 1
+*Lowest Score*: 0 + +Measures the reliability of the model’s predictions for surviving structures, indicating the proportion of predicted-intact buildings that were indeed not destroyed. + +The measure of [Negative Predictive Value](https://en.wikipedia.org/wiki/Positive_and_negative_predictive_values) is based on the [Binary confusion matrix](https://en.wikipedia.org/wiki/Confusion_matrix#Table_of_confusion) generated from an observational dataset and a model output dataset. + +$$ +Negative Predictive Value = \frac{TN}{TN + FN} +$$ +where $TN$ = True negative (buildings not damaged in both datasets); $FN$ = False negative (buildings destroyed only in observational datasets). + +The implementation of this KPI is done using the `firebench.metrics.confusion_matrix.binary_cm` function and `firebench.metrics.confusion_matrix.binary_negative_predicted_value` functions (see API documentation for implementation). If some data processing (e.g., for category aggregation) is required, this process is described at the case level. + +### Binary Structure Loss F1 Score + +*Category*: Structure Damage
+*Name used in result files*: Binary Structure Loss F1 Score
+*Best Score*: 1
+*Lowest Score*: 0 + +Provides a balanced measure of model performance by combining precision and recall, capturing how well the model identifies destroyed buildings while limiting false alarms. + +The measure of [F1 Score](https://en.wikipedia.org/wiki/F-score) is based on the [Binary confusion matrix](https://en.wikipedia.org/wiki/Confusion_matrix#Table_of_confusion) generated from an observational dataset and a model output dataset. + +$$ +F1 Score = \frac{2 \times Precision \times Recall}{Precision + Recall} +$$ + +The implementation of this KPI is done using the `firebench.metrics.confusion_matrix.binary_cm` function and `firebench.metrics.confusion_matrix.binary_f_score` functions (see API documentation for implementation). If some data processing (e.g., for category aggregation) is required, this process is described at the case level. \ No newline at end of file diff --git a/src/firebench/metrics/confusion_matrix/__init__.py b/src/firebench/metrics/confusion_matrix/__init__.py index cd14bc4..cecf479 100644 --- a/src/firebench/metrics/confusion_matrix/__init__.py +++ b/src/firebench/metrics/confusion_matrix/__init__.py @@ -1,2 +1,2 @@ from .utils import binary_cm -from .binary_performance import binary_accuracy, binary_f_score, binary_false_positive_rate, binary_negative_predicted_value, binary_precision, binary_recall_rate, binary_specific_rate \ No newline at end of file +from .binary_performance import binary_accuracy, binary_f_score, binary_false_positive_rate, binary_negative_predicted_value, binary_precision, binary_recall_rate, binary_specificity \ No newline at end of file diff --git a/src/firebench/metrics/confusion_matrix/binary_performance.py b/src/firebench/metrics/confusion_matrix/binary_performance.py index 7416023..c83c53c 100644 --- a/src/firebench/metrics/confusion_matrix/binary_performance.py +++ b/src/firebench/metrics/confusion_matrix/binary_performance.py @@ -146,7 +146,7 @@ def binary_recall_rate(bcm: np.ndarray): tn, fp, fn, tp = bcm.ravel() return tp / (tp + fn) -def binary_specific_rate(bcm: np.ndarray): +def binary_specificity(bcm: np.ndarray): """ Compute the specificity (true negative rate, TNR) from a 2x2 binary confusion matrix. From d4ebf9d7cdcd7ba970a314cd9fc224ca0d518c48 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Costes?= Date: Sun, 23 Nov 2025 11:24:16 -0800 Subject: [PATCH 021/111] add signing method for dict --- src/firebench/__init__.py | 3 +- .../metrics/confusion_matrix/__init__.py | 10 +++- .../confusion_matrix/binary_performance.py | 23 +++++--- .../metrics/confusion_matrix/utils.py | 2 +- src/firebench/signing/__init__.py | 1 + src/firebench/signing/signing.py | 58 +++++++++++++++++++ 6 files changed, 86 insertions(+), 11 deletions(-) create mode 100644 src/firebench/signing/__init__.py create mode 100644 src/firebench/signing/signing.py diff --git a/src/firebench/__init__.py b/src/firebench/__init__.py index be86d31..12b1d54 100644 --- a/src/firebench/__init__.py +++ b/src/firebench/__init__.py @@ -1,6 +1,7 @@ -from . import ros_models, tools, wind_interpolation, stats, metrics, sensors, standardize +from . import ros_models, tools, wind_interpolation, stats, metrics, sensors, standardize, signing from .tools.logging_config import logger from .tools.namespace import StandardVariableNames as svn from .tools.units import ureg +from .signing.signing import sign_output_dict, verify_output_dict Quantity = ureg.Quantity diff --git a/src/firebench/metrics/confusion_matrix/__init__.py b/src/firebench/metrics/confusion_matrix/__init__.py index cecf479..e0f9c6a 100644 --- a/src/firebench/metrics/confusion_matrix/__init__.py +++ b/src/firebench/metrics/confusion_matrix/__init__.py @@ -1,2 +1,10 @@ from .utils import binary_cm -from .binary_performance import binary_accuracy, binary_f_score, binary_false_positive_rate, binary_negative_predicted_value, binary_precision, binary_recall_rate, binary_specificity \ No newline at end of file +from .binary_performance import ( + binary_accuracy, + binary_f_score, + binary_false_positive_rate, + binary_negative_predicted_value, + binary_precision, + binary_recall_rate, + binary_specificity, +) diff --git a/src/firebench/metrics/confusion_matrix/binary_performance.py b/src/firebench/metrics/confusion_matrix/binary_performance.py index c83c53c..7fce635 100644 --- a/src/firebench/metrics/confusion_matrix/binary_performance.py +++ b/src/firebench/metrics/confusion_matrix/binary_performance.py @@ -1,5 +1,6 @@ import numpy as np + def binary_accuracy(bcm: np.ndarray): """ Compute the binary classification accuracy from a 2x2 confusion matrix. @@ -28,10 +29,11 @@ def binary_accuracy(bcm: np.ndarray): ------- float The accuracy value, ranging from 0.0 to 1.0. - """ # pylint: disable=line-too-long + """ # pylint: disable=line-too-long tn, fp, fn, tp = bcm.ravel() return (tp + tn) / (tp + tn + fp + fn) + def binary_precision(bcm: np.ndarray): """ Compute the precision from a 2x2 binary confusion matrix. @@ -61,10 +63,11 @@ def binary_precision(bcm: np.ndarray): ------- float The precision value, ranging from 0.0 to 1.0. - """ # pylint: disable=line-too-long + """ # pylint: disable=line-too-long tn, fp, fn, tp = bcm.ravel() return tp / (tp + fp) + def binary_false_positive_rate(bcm: np.ndarray): """ Compute the false positive rate (FPR) from a 2x2 binary confusion matrix. @@ -88,10 +91,11 @@ def binary_false_positive_rate(bcm: np.ndarray): ------- float The false positive rate, ranging from 0.0 to 1.0. - """ # pylint: disable=line-too-long + """ # pylint: disable=line-too-long tn, fp, fn, tp = bcm.ravel() return fp / (fp + tn) + def binary_negative_predicted_value(bcm: np.ndarray): """ Compute the negative predictive value (NPV) from a 2x2 binary confusion matrix. @@ -115,10 +119,11 @@ def binary_negative_predicted_value(bcm: np.ndarray): ------- float The negative predictive value, ranging from 0.0 to 1.0. - """ # pylint: disable=line-too-long + """ # pylint: disable=line-too-long tn, fp, fn, tp = bcm.ravel() return tn / (fn + tn) + def binary_recall_rate(bcm: np.ndarray): """ Compute the recall rate (true positive rate, TPR) from a 2x2 binary confusion matrix. @@ -142,10 +147,11 @@ def binary_recall_rate(bcm: np.ndarray): ------- float The recall value, ranging from 0.0 to 1.0. - """ # pylint: disable=line-too-long + """ # pylint: disable=line-too-long tn, fp, fn, tp = bcm.ravel() return tp / (tp + fn) + def binary_specificity(bcm: np.ndarray): """ Compute the specificity (true negative rate, TNR) from a 2x2 binary confusion matrix. @@ -169,10 +175,11 @@ def binary_specificity(bcm: np.ndarray): ------- float The specificity value, ranging from 0.0 to 1.0. - """ # pylint: disable=line-too-long + """ # pylint: disable=line-too-long tn, fp, fn, tp = bcm.ravel() return tn / (tn + fp) + def binary_f_score(bcm: np.ndarray): """ Compute the F1-score from a 2x2 binary confusion matrix. @@ -197,7 +204,7 @@ def binary_f_score(bcm: np.ndarray): ------- float The F1-score, ranging from 0.0 to 1.0. - """ # pylint: disable=line-too-long + """ # pylint: disable=line-too-long pr = binary_precision(bcm) rc = binary_recall_rate(bcm) - return 2.0 * (pr * rc) / (pr + rc) \ No newline at end of file + return 2.0 * (pr * rc) / (pr + rc) diff --git a/src/firebench/metrics/confusion_matrix/utils.py b/src/firebench/metrics/confusion_matrix/utils.py index bcbd0fa..b37acca 100644 --- a/src/firebench/metrics/confusion_matrix/utils.py +++ b/src/firebench/metrics/confusion_matrix/utils.py @@ -39,7 +39,7 @@ def binary_cm(y_true, y_pred): >>> binary_confusion_matrix_matrix([0, 1, 1, 0], [0, 1, 0, 0]) array([[2, 0], [1, 1]]) - """ # pylint: disable=line-too-long + """ # pylint: disable=line-too-long y_true = np.asarray(y_true).astype(bool) y_pred = np.asarray(y_pred).astype(bool) diff --git a/src/firebench/signing/__init__.py b/src/firebench/signing/__init__.py new file mode 100644 index 0000000..f63ee22 --- /dev/null +++ b/src/firebench/signing/__init__.py @@ -0,0 +1 @@ +from .signing import sign_output_dict, verify_output_dict diff --git a/src/firebench/signing/signing.py b/src/firebench/signing/signing.py new file mode 100644 index 0000000..b41d388 --- /dev/null +++ b/src/firebench/signing/signing.py @@ -0,0 +1,58 @@ +import hmac +import hashlib +import json + +from . import _secret_key + + +def canonical_json_dumps(data: dict) -> bytes: + return json.dumps(data, sort_keys=True, separators=(",", ":")).encode("utf-8") + + +def compute_hmac(json_bytes: bytes) -> str: + """ + Compute the HMAC-SHA256 of the given JSON bytes using the secret key + stored in the compiled extension. + """ + key = _secret_key.get_secret_key() + mac = hmac.new(key, json_bytes, hashlib.sha256).digest() + return mac.hex() + + +def sign_output_dict(data: dict) -> dict: + """ + Return a copy of the dictionary with an added "mac" field. + + The MAC is computed on the canonical JSON representation of the input + dictionary *without* the "mac" field. Any change to the content will + invalidate the MAC. + """ + json_bytes = canonical_json_dumps(data) + mac = compute_hmac(json_bytes) + + out = dict(data) + out["mac"] = mac + return out + + +def verify_output_dict(signed_data: dict) -> bool: + """ + Verify that the 'mac' field in the given dictionary matches the HMAC + computed from the remaining content. + + Returns + ------- + bool + True if the MAC is valid, False otherwise. + """ + mac = signed_data.get("mac") + if mac is None: + return False + + data_without_mac = dict(signed_data) + data_without_mac.pop("mac", None) + + json_bytes = canonical_json_dumps(data_without_mac) + expected_mac = compute_hmac(json_bytes) + + return hmac.compare_digest(mac, expected_mac) From a6d68643e4c208b7c04389f1cbf5ba100eaaee36 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Costes?= Date: Mon, 24 Nov 2025 12:51:49 -0800 Subject: [PATCH 022/111] add MTBS map to Caldor benchmarks --- docs/_static/benchmarks/FB001/mtbs_map.jpg | Bin 0 -> 896054 bytes docs/benchmarks/California/01_Caldor.md | 31 ++++++++++++++++++++- 2 files changed, 30 insertions(+), 1 deletion(-) create mode 100644 docs/_static/benchmarks/FB001/mtbs_map.jpg diff --git a/docs/_static/benchmarks/FB001/mtbs_map.jpg b/docs/_static/benchmarks/FB001/mtbs_map.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3ab3d5eacc3b88082900a2b6af0534b4b105c7b4 GIT binary patch literal 896054 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⁡e=of9N#^j@v|!YA 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

+ + Fig. 3 + + : + + Map of burn severity from MTBS + +

+ +### Benchmarks + ## Requirements The following sections list the datasets requirements to run the different benchmarks. When the benchmark script is run, each requirement is validated. If a requirement is met, each corresponding benchmark is run. @@ -129,4 +154,8 @@ R01 | FB001-BD01, FB001-BD02, FB001-BD03, FB001-BD04, FB001-B ### R01 -- `/points/building_damaged/building_damage`: units \ No newline at end of file +- `/points/building_damaged/building_damage`: units + +## Notes + +- Each file hash has been performed using `firebench.standardize.calculate_sha256`. \ No newline at end of file From 812ffa83bcf7635b36cf22061fd0157cb26cbb09 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Costes?= Date: Mon, 24 Nov 2025 12:54:20 -0800 Subject: [PATCH 023/111] refactoring: move time utils for std in standardize package - move functions _resolve_tz, datetime_to_iso8601, current_datetime_iso8601 to firebench.standardize.time - move read_quantity_from_fb_dataset to firebench.standardize.tools --- src/firebench/standardize/__init__.py | 13 +++- .../time.py} | 53 +------------ src/firebench/standardize/tools.py | 77 +++++++++++++++++++ src/firebench/tools/__init__.py | 5 -- 4 files changed, 90 insertions(+), 58 deletions(-) rename src/firebench/{tools/standard_file_utils.py => standardize/time.py} (67%) diff --git a/src/firebench/standardize/__init__.py b/src/firebench/standardize/__init__.py index 643fe1d..51af369 100644 --- a/src/firebench/standardize/__init__.py +++ b/src/firebench/standardize/__init__.py @@ -1,2 +1,13 @@ from .mtbs import convert_mtbs_geotiff -from .tools import VERSION_STD, validate_h5_std, is_iso8601, validate_h5_requirement +from .tools import ( + VERSION_STD, + validate_h5_std, + is_iso8601, + validate_h5_requirement, + read_quantity_from_fb_dataset, + new_std_file, +) +from .time import ( + current_datetime_iso8601, + datetime_to_iso8601, +) diff --git a/src/firebench/tools/standard_file_utils.py b/src/firebench/standardize/time.py similarity index 67% rename from src/firebench/tools/standard_file_utils.py rename to src/firebench/standardize/time.py index 2317020..97b0d55 100644 --- a/src/firebench/tools/standard_file_utils.py +++ b/src/firebench/standardize/time.py @@ -3,9 +3,7 @@ from datetime import datetime, tzinfo from zoneinfo import ZoneInfo from typing import Optional, Union -import h5py -from .logging_config import logger -from .units import ureg +from ..tools.logging_config import logger _TZLike = Union[str, tzinfo] @@ -114,52 +112,3 @@ def current_datetime_iso8601( # Start from local now, then convert to requested tz for consistency now_local = datetime.now().astimezone() return datetime_to_iso8601(now_local, include_seconds, tz) - - -def read_quantity_from_fb_dataset(dataset_path: str, file_object: h5py.File | h5py.Group | h5py.Dataset): - """ - Read a dataset from an HDF5 file, group, or dataset node and return it as a Pint Quantity - according to the FireBench I/O standard. - - This function expects the dataset to comply with the FireBench standard I/O format - (version >= 0.1), meaning it must define a string `units` attribute specifying the - physical units of the stored values. The full dataset is loaded into memory and - wrapped into a `pint.Quantity` using the global `ureg` registry. - - Parameters - ---------- - dataset_path : str - Path to the target dataset relative to `file_object`. For an `h5py.File`, - this is the absolute or group-relative path (e.g., "/2D_raster/0001/temperature"). - file_object : h5py.File | h5py.Group | h5py.Dataset - HDF5 file, group, or dataset object from which the dataset will be read. - Must support item access via `__getitem__` and store datasets with `.attrs`. - - Returns - ------- - pint.Quantity - The dataset values loaded into memory, associated with the units taken from - the dataset's `units` attribute. - - Raises - ------ - KeyError - If `dataset_path` does not exist in `file_object`. - ValueError - If the dataset has no `units` attribute or it is not a non-empty string. - - Notes - ----- - - The function reads the **entire dataset** into memory; for very large datasets, - consider reading subsets instead. - - Compliant with FireBench I/O standard >= 0.1. - """ # pylint: disable=line-too-long - ds = file_object[dataset_path] - - units = ds.attrs.get("units", None) - if not isinstance(units, str) or not units.strip(): - raise ValueError( - f"Dataset '{dataset_path}' is missing a valid `units` attribute required by FireBench I/O standard." - ) - - return ureg.Quantity(ds[()], ds.attrs["units"]) diff --git a/src/firebench/standardize/tools.py b/src/firebench/standardize/tools.py index f17b526..5844719 100644 --- a/src/firebench/standardize/tools.py +++ b/src/firebench/standardize/tools.py @@ -1,6 +1,9 @@ import h5py from ..tools.logging_config import logger +from ..tools.units import ureg +from .time import current_datetime_iso8601 import re +from pathlib import Path VERSION_STD = "0.2" @@ -110,3 +113,77 @@ def validate_h5_requirement(file: h5py.File, required: dict[str, list[str]]): return False, f"attr `{attr_name}` of dataset `{dset_path}`" return True, None + + +def read_quantity_from_fb_dataset(dataset_path: str, file_object: h5py.File | h5py.Group | h5py.Dataset): + """ + Read a dataset from an HDF5 file, group, or dataset node and return it as a Pint Quantity + according to the FireBench I/O standard. + + This function expects the dataset to comply with the FireBench standard I/O format + (version >= 0.1), meaning it must define a string `units` attribute specifying the + physical units of the stored values. The full dataset is loaded into memory and + wrapped into a `pint.Quantity` using the global `ureg` registry. + + Parameters + ---------- + dataset_path : str + Path to the target dataset relative to `file_object`. For an `h5py.File`, + this is the absolute or group-relative path (e.g., "/2D_raster/0001/temperature"). + file_object : h5py.File | h5py.Group | h5py.Dataset + HDF5 file, group, or dataset object from which the dataset will be read. + Must support item access via `__getitem__` and store datasets with `.attrs`. + + Returns + ------- + pint.Quantity + The dataset values loaded into memory, associated with the units taken from + the dataset's `units` attribute. + + Raises + ------ + KeyError + If `dataset_path` does not exist in `file_object`. + ValueError + If the dataset has no `units` attribute or it is not a non-empty string. + + Notes + ----- + - The function reads the **entire dataset** into memory; for very large datasets, + consider reading subsets instead. + - Compliant with FireBench I/O standard >= 0.1. + """ # pylint: disable=line-too-long + ds = file_object[dataset_path] + + units = ds.attrs.get("units", None) + if not isinstance(units, str) or not units.strip(): + raise ValueError( + f"Dataset '{dataset_path}' is missing a valid `units` attribute required by FireBench I/O standard." + ) + + return ureg.Quantity(ds[()], ds.attrs["units"]) + + +def new_std_file(filepath: str, authors: str, overwrite: bool = False) -> h5py.File: + """ + Create a new file using FireBench standard. + Return the file object. + Notes + ----- + Do not forget to close the file once edited. This function opens the h5 file but do not close it. + """ + if Path(filepath).exists(): + if overwrite: + logger.info("file %s already exists and is being replaced.", filepath) + else: + logger.error( + "file %s already exists. Use `overwrite=True` to overwrite the existing file.", filepath + ) + raise FileExistsError() + + h5 = h5py.File(filepath, mode="w") + h5.attrs["FireBench_io_version"] = VERSION_STD + h5.attrs["created_on"] = current_datetime_iso8601(include_seconds=False) + h5.attrs["created_by"] = authors + + return h5 diff --git a/src/firebench/tools/__init__.py b/src/firebench/tools/__init__.py index 6b2bdd2..6dc2e5c 100644 --- a/src/firebench/tools/__init__.py +++ b/src/firebench/tools/__init__.py @@ -48,8 +48,3 @@ calculate_sha256, ) from .raster_to_perimeters import array_to_geopolygons -from .standard_file_utils import ( - current_datetime_iso8601, - datetime_to_iso8601, - read_quantity_from_fb_dataset, -) From 1db8f90bb221cbe6d384c38c4b66e49b756aff1d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Costes?= Date: Mon, 24 Nov 2025 16:53:05 -0800 Subject: [PATCH 024/111] refactoring standardize_mtbs_from_geotiff --- src/firebench/standardize/__init__.py | 2 +- src/firebench/standardize/mtbs.py | 119 +++++++++++--------------- 2 files changed, 53 insertions(+), 68 deletions(-) diff --git a/src/firebench/standardize/__init__.py b/src/firebench/standardize/__init__.py index 51af369..5ed9bfa 100644 --- a/src/firebench/standardize/__init__.py +++ b/src/firebench/standardize/__init__.py @@ -1,4 +1,4 @@ -from .mtbs import convert_mtbs_geotiff +from .mtbs import standardize_mtbs_from_geotiff from .tools import ( VERSION_STD, validate_h5_std, diff --git a/src/firebench/standardize/mtbs.py b/src/firebench/standardize/mtbs.py index fa4fb2b..88592eb 100644 --- a/src/firebench/standardize/mtbs.py +++ b/src/firebench/standardize/mtbs.py @@ -1,4 +1,3 @@ -from datetime import datetime from pathlib import Path import h5py @@ -7,48 +6,47 @@ from pyproj import CRS, Transformer from ..tools import StandardVariableNames as svn -from ..tools import current_datetime_iso8601, datetime_to_iso8601 -from .tools import VERSION_STD, check_std_version +from .tools import check_std_version from ..tools.logging_config import logger -def convert_mtbs_geotiff( - path: str, - dst: str, +def standardize_mtbs_from_geotiff( + geotiff_path: str, + h5file: h5py.File, group_name: str | None = None, - authors: str = "", - std_file_description: str = "auto", + projection: str = None, overwrite: bool = False, + invert_y: bool = False, ): """ Convert a MTBS GeoTIFF to Firebench HDF5 standard file. - MTBS data uses NAD83 projection. + Use source data projection as default. Can be reprojected by specifying the CRS in projection. Parameters ---------- - path : str + geotiff_path : str Path to the MTBS GeoTIFF (ending with *_dnbr6.tif). - dst : str - Path to target HDF5 file (created or appended). + h5file : h5py.File + target HDF5 file group_name : str | None - HDF5 group path. If None, auto-derive from filename, e.g. '2D_raster/'. - authors: str - Add the names of the authors in the standard file in the file attribute `created_by`. - std_file_description: str - Add custom description of the mtbs group. If description is "auto" the description will be "\n- Burn severity from MTBS". + HDF5 group path. If None, auto-derive from filename, e.g. '2D_raster/'. overwrite: bool Overwrite the group in the HDF5 file. Default: False + invert_y: bool + Invert y axis in data Returns ------- - str + h5py.File The actual HDF5 group written (with suffix if collision). """ # pylint: disable=line-too-long - with rasterio.open(path) as src: + logger.debug("Standardize MTBS dataset from file %s ", geotiff_path) + check_std_version(h5file) + with rasterio.open(geotiff_path) as src: data = src.read(1) severity_raw = {"data": data, "transform": src.transform, "crs": src.crs, "nodata": src.nodata} - logger.info(f"Loaded {path}: shape={data.shape}, CRS={src.crs}") + logger.info(f"Loaded {geotiff_path}: shape={data.shape}, CRS={src.crs}") rows, cols = data.shape @@ -70,58 +68,45 @@ def convert_mtbs_geotiff( ) # Reproject to geographic lat/lon - # NAD83 geographic - CRS_NAME = "EPSG:4269" - tgt_crs = CRS(CRS_NAME) + if projection is None: + projection = severity_raw["crs"] + tgt_crs = CRS(projection) # always_xy=True -> transformer expects/returns (x, y) = (lon, lat) ordering for geographic CRS transformer = Transformer.from_crs(severity_raw["crs"], tgt_crs, always_xy=True) lon, lat = transformer.transform(x, y) # lon, lat are 2-D arrays aligned with `data` - with h5py.File(dst, "a") as h5: + if invert_y: + lat = lat[::-1, :] + lon = lon[::-1, :] + severity_raw["data"] = severity_raw["data"][::-1, :] - if check_std_version(h5): - h5.attrs["FireBench_io_version"] = VERSION_STD + if group_name is None: + group_name = Path(geotiff_path).stem - h5.attrs["created_on"] = current_datetime_iso8601(include_seconds=False) - - if "created_by" in h5.attrs.keys(): - if authors is not None: - h5.attrs["created_by"] = h5.attrs["created_by"] + f", {authors}" - else: - h5.attrs["created_by"] = authors - - if std_file_description == "auto": - std_file_description = "\n- Burn severity from MTBS" - if "description" in h5.attrs.keys(): - h5.attrs["description"] = h5.attrs["description"] + "\n- Burn severity from MTBS" + group_name = f"/2D_raster/{group_name}" + if group_name in h5file.keys(): + if overwrite: + del h5file[group_name] else: - h5.attrs["description"] = "This file contains:\n- Burn severity from MTBS" - - group_name = f"/2D_raster/{group_name}" - if group_name in h5.keys(): - if overwrite: - del h5[group_name] - else: - logger.warning( - "group name %s already exists in file %s. Group not updated. Set `overwrite` to True to update the dataset.", - group_name, - path, - ) - return - - g = h5.create_group(group_name) - g.attrs["data_source"] = f"MTBS {path}" - g.attrs["crs"] = CRS_NAME - # TODO: add some useful metadata from _metadata.xml (fire_ignition_time, pre_fire_image_date, post_fire_image_date) - - # Lat/Lon as 2-D arrays - dlat = g.create_dataset("latitude", data=lat, dtype=np.float64) - dlat.attrs["units"] = "degrees" - - dlat = g.create_dataset("longitude", data=lon, dtype=np.float64) - dlat.attrs["units"] = "degrees" - - ddata = g.create_dataset(svn.FIRE_BURN_SEVERITY.value, data=severity_raw["data"], dtype=np.uint8) - ddata.attrs["units"] = "dimensionless" - ddata.attrs["_FillValue"] = 0 + logger.warning( + "group name %s already exists in file %s. Group not updated. Set `overwrite` to True to update the dataset.", + group_name, + geotiff_path, + ) + return + + g = h5file.create_group(group_name) + g.attrs["data_source"] = f"MTBS {geotiff_path}" + g.attrs["crs"] = str(tgt_crs) + + # Lat/Lon as 2-D arrays + dlat = g.create_dataset("position_lat", data=lat, dtype=np.float64) + dlat.attrs["units"] = "degrees" + + dlat = g.create_dataset("position_lon", data=lon, dtype=np.float64) + dlat.attrs["units"] = "degrees" + + ddata = g.create_dataset(svn.FIRE_BURN_SEVERITY.value, data=severity_raw["data"], dtype=np.uint8) + ddata.attrs["units"] = "dimensionless" + ddata.attrs["_FillValue"] = 0 From 9c4ba1e33707f5a2b80b37baa9e42cd76cdd1009 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Costes?= Date: Mon, 24 Nov 2025 16:53:22 -0800 Subject: [PATCH 025/111] update std file format for polygons --- docs/standard_format.md | 27 ++++++++++++--------------- 1 file changed, 12 insertions(+), 15 deletions(-) diff --git a/docs/standard_format.md b/docs/standard_format.md index 9d95b62..63a626c 100644 --- a/docs/standard_format.md +++ b/docs/standard_format.md @@ -343,26 +343,23 @@ The possible units fields are the following: ### polygons -- Contains data stored as polygons with an explicit coordinate reference system (CRS), such as those derived from .kml or shapefiles. -- All spatial coordinates must follow the Spatial Information Convention, including a required `crs` attribute at the group level. Optional attributes or datasets for holes/multipolygons can be added. -- Each polygon is stored as a separate dataset within a group. This dataset contains the polygon geometry (list of vertices) and has its own attributes for time, CRS, and other metadata. Multipolygons (island, holes) can be stored in the same dataset as long as they share the same attributes. -- Polygons that have a specific time stamp must contain an attribute `time` following the time format convention (each polygon dataset has its own time attribute). -- Per-polygon attributes (e.g., building type, perimeter source) should be stored as attributes at the lowest common level. Group attributes are considered common to all datasets contained in the group. If information is specific to a polygon, it should be stored as a dataset attribute. +- As HDF5 is not a file format that is practical to use for vectorized dataset, the polygons are stored using the `KML` file format. +- The HDF5 file contains the necessary metadata to point to the KML file containing the polygons dataset in a group registered in the `/polygons` main group. +- Each group contains a referen to one and only one KML file. +- The mandatory attributs are the following + - `rel_path` (str): relative path to the kml file + - `file_size_bytes` (int): KML file size in bytes + - `sha256` (str): hash of the KML file using `firebench.tools.calculate_sha256` - Users are encouraged to add an attribute `description` to groups and datasets for information/context about the data. -- If no data value or fill value is used, an attribute `_FillValue` must be defined at the dataset level. -- Each dataset (fire perimeter, buildings, *etc.*) must be named using the [Standard Variable Namespace](./namespace.md). If the name of the variable is not present, use a variable name as descriptive as possible and open a pull request to add the variable name to the Standard Variable Namespace. Units must be defined as an attribute `units` compatible with [Pint library](https://pint.readthedocs.io/en/stable/) terminology. -- Polygons are stored as (Nvertices, 2) or (Nvertices, 3) arrays following a Spatial Information Convention. +In the following exmaple, we have a standard file `dataset.h5`, containing one polygons dataset. The group `/polygons/fire_perimeters` has the attribut `rel_path="polygons.kml"`. ``` +dataset.h5 / (root) ├── polygons/ (geopolygones) -│ ├── fire_perimeters (group containing fire perimeter polygons and related metadata) -│ │ ├── perimeter_1 (polygons describing the perimeter at time 1) -│ │ ├── perimeter_2 (polygons describing the perimeter at time 2) -│ │ ├── perimeter_3 (polygons describing the perimeter at time 3) -│ ├── buildings_info_1 (group data from a building dataset) -│ │ ├── position_structure -│ │ ├── roof_type +│ ├── fire_perimeters (group containing kml metadata) + +polygons.kml ``` **Note**: This part of the standard is in an early stage and intentionally allows significant flexibility to accommodate diverse geopolygons data types. The structure and required fields may evolve in future versions based on user feedback and practical experience. From e85fdb2837bb255521652b097d86908b21744a64 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Costes?= Date: Mon, 24 Nov 2025 18:19:07 -0800 Subject: [PATCH 026/111] add mandatory separator for authors lists add merge authors list function --- docs/standard_format.md | 2 +- src/firebench/standardize/__init__.py | 5 +- src/firebench/standardize/files.py | 58 ++++++++++++ src/firebench/standardize/tools.py | 49 +++++----- tests/unit/test_std_tools.py | 123 ++++++++++++++++++++++++++ 5 files changed, 210 insertions(+), 27 deletions(-) create mode 100644 src/firebench/standardize/files.py create mode 100644 tests/unit/test_std_tools.py diff --git a/docs/standard_format.md b/docs/standard_format.md index 63a626c..8836132 100644 --- a/docs/standard_format.md +++ b/docs/standard_format.md @@ -34,7 +34,7 @@ Attributs | Type | Description :--------- | :----: | :----------- `FireBench_io_version` | str | Version of the I/O standard used `created_on` | str | ISO 8601 date-time of file creation -`created_by` | str | Creator identifier (name, email, etc) +`created_by` | str | Creator identifier (name, email, etc). Each contributor must be separated by `;` (parsing authors). Suggested additional attributes: diff --git a/src/firebench/standardize/__init__.py b/src/firebench/standardize/__init__.py index 5ed9bfa..e560405 100644 --- a/src/firebench/standardize/__init__.py +++ b/src/firebench/standardize/__init__.py @@ -5,9 +5,12 @@ is_iso8601, validate_h5_requirement, read_quantity_from_fb_dataset, - new_std_file, + merge_authors, ) from .time import ( current_datetime_iso8601, datetime_to_iso8601, ) +from .files import ( + new_std_file, +) diff --git a/src/firebench/standardize/files.py b/src/firebench/standardize/files.py new file mode 100644 index 0000000..a2bfc5b --- /dev/null +++ b/src/firebench/standardize/files.py @@ -0,0 +1,58 @@ +import h5py +from ..tools.logging_config import logger +from .time import current_datetime_iso8601 +from pathlib import Path +from .tools import VERSION_STD, validate_h5_std, merge_authors + +def new_std_file(filepath: str, authors: str, overwrite: bool = False) -> h5py.File: + """ + Create a new file using FireBench standard. + Return the file object. + Notes + ----- + Do not forget to close the file once edited. This function opens the h5 file but do not close it. + """ + if Path(filepath).exists(): + if overwrite: + logger.info("file %s already exists and is being replaced.", filepath) + else: + logger.error( + "file %s already exists. Use `overwrite=True` to overwrite the existing file.", filepath + ) + raise FileExistsError() + + h5 = h5py.File(filepath, mode="w") + h5.attrs["FireBench_io_version"] = VERSION_STD + h5.attrs["created_on"] = current_datetime_iso8601(include_seconds=False) + h5.attrs["created_by"] = authors + + return h5 + +def merge_two_std_files(filepath_1:str, filepath_2:str, filepath_target:str, conflict_solver = dict, overwrite:bool = False): + """ + Try to merge two std FireBench files + + Check if both files are std, then check for any group/dataset/attribut conflict + + Then merge the list of authors without duplicates. Keep order as much as possible (first authors from file1 then first author from file2 then second from file 1...) + """ + file1 = h5py.File(filepath_1, "r") + validate_h5_std(file1) + file2 = h5py.File(filepath_2, "r") + validate_h5_std(file2) + + # Check for any conflicts + conflicts = [] + + # Find both list of authors + merged_authors = merge_authors(file1.attrs["created_by"], file2.attrs["created_by"]) + + # Create the new file + merged_file = new_std_file(filepath_target, authors=merged_authors, overwrite=overwrite) + + # fill the content of merged_file witht the content of both files + + file1.close() + file2.close() + merged_file.close() + diff --git a/src/firebench/standardize/tools.py b/src/firebench/standardize/tools.py index 5844719..678fcae 100644 --- a/src/firebench/standardize/tools.py +++ b/src/firebench/standardize/tools.py @@ -1,9 +1,7 @@ import h5py from ..tools.logging_config import logger from ..tools.units import ureg -from .time import current_datetime_iso8601 import re -from pathlib import Path VERSION_STD = "0.2" @@ -164,26 +162,27 @@ def read_quantity_from_fb_dataset(dataset_path: str, file_object: h5py.File | h5 return ureg.Quantity(ds[()], ds.attrs["units"]) -def new_std_file(filepath: str, authors: str, overwrite: bool = False) -> h5py.File: - """ - Create a new file using FireBench standard. - Return the file object. - Notes - ----- - Do not forget to close the file once edited. This function opens the h5 file but do not close it. - """ - if Path(filepath).exists(): - if overwrite: - logger.info("file %s already exists and is being replaced.", filepath) - else: - logger.error( - "file %s already exists. Use `overwrite=True` to overwrite the existing file.", filepath - ) - raise FileExistsError() - - h5 = h5py.File(filepath, mode="w") - h5.attrs["FireBench_io_version"] = VERSION_STD - h5.attrs["created_on"] = current_datetime_iso8601(include_seconds=False) - h5.attrs["created_by"] = authors - - return h5 +def merge_authors(authors_1:str, authors_2:str): + list_authors_1 = [a.strip() for a in authors_1.split(";") if a.strip()] + list_authors_2 = [a.strip() for a in authors_2.split(";") if a.strip()] + n1, n2 = len(list_authors_1), len(list_authors_2) + merged_authors: list[str] = [] + seen = set() + + max_len = max(n1, n2) + for i in range(max_len): + if i < n1: + a1 = list_authors_1[i] + if a1 and a1 not in seen: + merged_authors.append(a1) + seen.add(a1) + if i < n2: + a2 = list_authors_2[i] + if a2 and a2 not in seen: + merged_authors.append(a2) + seen.add(a2) + + if not merged_authors: + return "" + + return ";".join(merged_authors) + ";" \ No newline at end of file diff --git a/tests/unit/test_std_tools.py b/tests/unit/test_std_tools.py new file mode 100644 index 0000000..b60aacf --- /dev/null +++ b/tests/unit/test_std_tools.py @@ -0,0 +1,123 @@ +import pytest +from firebench.standardize import merge_authors + +@pytest.mark.parametrize( + "created_by_1, created_by_2, expected", + [ + # 1. Simple case: same length, no overlaps + # file1: alice, bob + # file2: carol, dan + # order: a1, a2, b1, b2 + ( + "alice;bob;", + "carol;dan;", + "alice;carol;bob;dan;", + ), + + # 2. Different length, no overlaps (file1 longer) + # file1: alice, bob, charlie + # file2: dan, erin + # positions: + # i=0: alice, dan + # i=1: bob, erin + # i=2: charlie (only file1) + ( + "alice;bob;charlie;", + "dan;erin;", + "alice;dan;bob;erin;charlie;", + ), + + # 3. Different length, no overlaps (file2 longer) + # file1: alice, bob + # file2: carol, dan, erin + # positions: + # i=0: alice, carol + # i=1: bob, dan + # i=2: erin (only file2) + ( + "alice;bob;", + "carol;dan;erin;", + "alice;carol;bob;dan;erin;", + ), + + # 4. Overlap across lists + # file1: alice, bob + # file2: bob, carol + # positions: + # i=0: alice, bob -> alice, bob + # i=1: bob (already seen), carol -> carol + # merged: alice, bob, carol + ( + "alice;bob;", + "bob;carol;", + "alice;bob;carol;", + ), + + # 5. Duplicate within the same list + overlap + # file1: alice, alice, bob + # file2: carol, alice + # positions: + # i=0: alice, carol -> alice, carol + # i=1: alice (seen), alice (seen) -> no new author + # i=2: bob -> bob + # merged: alice, carol, bob + ( + "alice;alice;bob;", + "carol;alice;", + "alice;carol;bob;", + ), + + # 6. One side empty (no authors in file1) + # file1: "" + # file2: alice, bob + ( + "", + "alice;bob;", + "alice;bob;", + ), + + # 7. One side empty (no authors in file2) + # file1: alice, bob + # file2: "" + ( + "alice;bob;", + "", + "alice;bob;", + ), + + # 8. Both empty + ( + "", + "", + "", + ), + + # 9. Trailing semicolons with possible stray spaces + # Expect that your function strips whitespace around names. + # file1: " alice ", "bob" + # file2: "bob ", " carol" + # merged: alice, bob, carol (no duplicates, trimmed) + ( + " alice ;bob ;", + "bob ; carol ;", + "alice;bob;carol;", + ), + + # 10. Multiple overlaps and reordering + # file1: alice, bob, charlie, dave + # file2: bob, erin, charlie, frank + # positions: + # i=0: alice, bob -> alice, bob + # i=1: bob(seen), erin -> erin + # i=2: charlie, charlie -> charlie + # i=3: dave, frank -> dave, frank + # merged: alice, bob, erin, charlie, dave, frank + ( + "alice;bob;charlie;dave;", + "bob;erin;charlie;frank;", + "alice;bob;erin;charlie;dave;frank;", + ), + ], +) +def test_merge_authors(created_by_1, created_by_2, expected): + assert merge_authors(created_by_1, created_by_2) == expected \ No newline at end of file From 14438c638fd00cabfad1a4ddd308e17714497d70 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Costes?= Date: Mon, 24 Nov 2025 18:46:52 -0800 Subject: [PATCH 027/111] add collect conflicts function for merging two std files --- src/firebench/standardize/__init__.py | 1 + src/firebench/standardize/files.py | 13 ++- src/firebench/standardize/tools.py | 132 +++++++++++++++++++++++++- tests/unit/test_std_tools.py | 12 +-- 4 files changed, 142 insertions(+), 16 deletions(-) diff --git a/src/firebench/standardize/__init__.py b/src/firebench/standardize/__init__.py index e560405..baf4ab5 100644 --- a/src/firebench/standardize/__init__.py +++ b/src/firebench/standardize/__init__.py @@ -13,4 +13,5 @@ ) from .files import ( new_std_file, + merge_two_std_files, ) diff --git a/src/firebench/standardize/files.py b/src/firebench/standardize/files.py index a2bfc5b..5a0da60 100644 --- a/src/firebench/standardize/files.py +++ b/src/firebench/standardize/files.py @@ -2,7 +2,8 @@ from ..tools.logging_config import logger from .time import current_datetime_iso8601 from pathlib import Path -from .tools import VERSION_STD, validate_h5_std, merge_authors +from .tools import VERSION_STD, validate_h5_std, merge_authors, collect_conflicts + def new_std_file(filepath: str, authors: str, overwrite: bool = False) -> h5py.File: """ @@ -28,7 +29,8 @@ def new_std_file(filepath: str, authors: str, overwrite: bool = False) -> h5py.F return h5 -def merge_two_std_files(filepath_1:str, filepath_2:str, filepath_target:str, conflict_solver = dict, overwrite:bool = False): + +def merge_two_std_files(filepath_1: str, filepath_2: str, filepath_target: str, overwrite: bool = False): """ Try to merge two std FireBench files @@ -42,7 +44,11 @@ def merge_two_std_files(filepath_1:str, filepath_2:str, filepath_target:str, co validate_h5_std(file2) # Check for any conflicts - conflicts = [] + conflicts = collect_conflicts(file1, file2) + if not conflicts: + logger.error("Try to merge files but conflicts have been found.") + print(conflicts) + raise ValueError() # Find both list of authors merged_authors = merge_authors(file1.attrs["created_by"], file2.attrs["created_by"]) @@ -55,4 +61,3 @@ def merge_two_std_files(filepath_1:str, filepath_2:str, filepath_target:str, co file1.close() file2.close() merged_file.close() - diff --git a/src/firebench/standardize/tools.py b/src/firebench/standardize/tools.py index 678fcae..f88c534 100644 --- a/src/firebench/standardize/tools.py +++ b/src/firebench/standardize/tools.py @@ -2,6 +2,7 @@ from ..tools.logging_config import logger from ..tools.units import ureg import re +import numpy as np VERSION_STD = "0.2" @@ -20,6 +21,10 @@ r"(?:Z|[+-]\d{2}:\d{2})?$" # optional timezone ) +IGNORE_ATTRIBUTES = { + "/": {"created_on", "created_by", "FireBench_io_version"}, +} + def check_std_version(file: h5py.File): """ @@ -162,7 +167,7 @@ def read_quantity_from_fb_dataset(dataset_path: str, file_object: h5py.File | h5 return ureg.Quantity(ds[()], ds.attrs["units"]) -def merge_authors(authors_1:str, authors_2:str): +def merge_authors(authors_1: str, authors_2: str): list_authors_1 = [a.strip() for a in authors_1.split(";") if a.strip()] list_authors_2 = [a.strip() for a in authors_2.split(";") if a.strip()] n1, n2 = len(list_authors_1), len(list_authors_2) @@ -185,4 +190,127 @@ def merge_authors(authors_1:str, authors_2:str): if not merged_authors: return "" - return ";".join(merged_authors) + ";" \ No newline at end of file + return ";".join(merged_authors) + ";" + + +def collect_conflicts(file1, file2, path: str = "/", conflicts: list | None = None): + """ + Recursively collect conflicts between two HDF5 trees. + + A *conflict* is defined as one of: + - Same path exists in both files but with different node types + (group vs dataset). + - Same dataset path exists in both files but has different + shape or dtype. + - Same attribute key exists in both objects but has different value. + + Parameters + ---------- + file1, file2 : + Open h5py.File or h5py.Group objects that share the same logical layout. + path : str, optional + Current absolute HDF5 path to compare (default is root "/"). + conflicts : list, optional + List that will be extended with conflict dicts. If None, a new + list is created and returned. + + Returns + ------- + list + The list of collected conflict dicts. Each conflict has keys: + - "path" : str, the HDF5 path where the conflict occurs + - "kind" : str, one of {"node_type", "dataset_mismatch", "attr_mismatch"} + - "detail" : str, human-readable description + """ + if conflicts is None: + conflicts = [] + + obj1 = file1[path] + obj2 = file2[path] + + # Helper: compare attributes of two objects at same path + def _compare_attrs(o1, o2, obj_path: str): + ignore_set = IGNORE_ATTRIBUTES.get(obj_path, set()) + + keys1 = set(o1.attrs.keys()) - ignore_set + keys2 = set(o2.attrs.keys()) - ignore_set + common = keys1 & keys2 + + for key in common: + v1 = o1.attrs[key] + v2 = o2.attrs[key] + + # Use np.array_equal to handle scalars, strings, arrays, etc. + if not np.array_equal(v1, v2): + conflicts.append( + { + "path": obj_path, + "kind": "attr_mismatch", + "detail": f"Attribute '{key}' differs: {v1!r} vs {v2!r}", + } + ) + + is_group1 = isinstance(obj1, h5py.Group) + is_group2 = isinstance(obj2, h5py.Group) + is_dset1 = isinstance(obj1, h5py.Dataset) + is_dset2 = isinstance(obj2, h5py.Dataset) + + # 1) Different node types at the same path: group vs dataset + if (is_group1 and is_dset2) or (is_dset1 and is_group2): + conflicts.append( + { + "path": path, + "kind": "node_type", + "detail": f"Different node types at {path}: " + f"{type(obj1).__name__} vs {type(obj2).__name__}", + } + ) + return conflicts + + # 2) Both datasets: check shape/dtype + attributes + if is_dset1 and is_dset2: + if obj1.shape != obj2.shape or obj1.dtype != obj2.dtype: + conflicts.append( + { + "path": path, + "kind": "dataset_mismatch", + "detail": ( + f"Dataset mismatch at {path}: " + f"shape/dtype {obj1.shape}, {obj1.dtype} vs " + f"{obj2.shape}, {obj2.dtype}" + ), + } + ) + + _compare_attrs(obj1, obj2, path) + return conflicts + + # 3) Both groups: compare attributes + recurse on common children + if is_group1 and is_group2: + _compare_attrs(obj1, obj2, path) + + keys1 = set(obj1.keys()) + keys2 = set(obj2.keys()) + common_keys = keys1 & keys2 + + # Only common children can conflict. Extra children are fine. + for name in common_keys: + if path == "/": + child_path = f"/{name}" + else: + child_path = f"{path.rstrip('/')}/{name}" + + collect_conflicts(file1, file2, path=child_path, conflicts=conflicts) + + return conflicts + + # Should not really reach here, but in case of exotic types: + conflicts.append( + { + "path": path, + "kind": "node_type", + "detail": f"Unsupported node type combination at {path}: " + f"{type(obj1).__name__} vs {type(obj2).__name__}", + } + ) + return conflicts diff --git a/tests/unit/test_std_tools.py b/tests/unit/test_std_tools.py index b60aacf..eb659c8 100644 --- a/tests/unit/test_std_tools.py +++ b/tests/unit/test_std_tools.py @@ -1,6 +1,7 @@ import pytest from firebench.standardize import merge_authors + @pytest.mark.parametrize( "created_by_1, created_by_2, expected", [ @@ -13,7 +14,6 @@ "carol;dan;", "alice;carol;bob;dan;", ), - # 2. Different length, no overlaps (file1 longer) # file1: alice, bob, charlie # file2: dan, erin @@ -26,7 +26,6 @@ "dan;erin;", "alice;dan;bob;erin;charlie;", ), - # 3. Different length, no overlaps (file2 longer) # file1: alice, bob # file2: carol, dan, erin @@ -39,7 +38,6 @@ "carol;dan;erin;", "alice;carol;bob;dan;erin;", ), - # 4. Overlap across lists # file1: alice, bob # file2: bob, carol @@ -52,7 +50,6 @@ "bob;carol;", "alice;bob;carol;", ), - # 5. Duplicate within the same list + overlap # file1: alice, alice, bob # file2: carol, alice @@ -66,7 +63,6 @@ "carol;alice;", "alice;carol;bob;", ), - # 6. One side empty (no authors in file1) # file1: "" # file2: alice, bob @@ -75,7 +71,6 @@ "alice;bob;", "alice;bob;", ), - # 7. One side empty (no authors in file2) # file1: alice, bob # file2: "" @@ -84,14 +79,12 @@ "", "alice;bob;", ), - # 8. Both empty ( "", "", "", ), - # 9. Trailing semicolons with possible stray spaces # Expect that your function strips whitespace around names. # file1: " alice ", "bob" @@ -102,7 +95,6 @@ "bob ; carol ;", "alice;bob;carol;", ), - # 10. Multiple overlaps and reordering # file1: alice, bob, charlie, dave # file2: bob, erin, charlie, frank @@ -120,4 +112,4 @@ ], ) def test_merge_authors(created_by_1, created_by_2, expected): - assert merge_authors(created_by_1, created_by_2) == expected \ No newline at end of file + assert merge_authors(created_by_1, created_by_2) == expected From b4d2dc036dcd9ca7508680a897f7f40edfc2f533 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Costes?= Date: Mon, 24 Nov 2025 19:01:03 -0800 Subject: [PATCH 028/111] add merge_trees function and add it to merge_two_std_files --- src/firebench/standardize/files.py | 18 +++- src/firebench/standardize/tools.py | 151 +++++++++++++++++++++++++++++ 2 files changed, 166 insertions(+), 3 deletions(-) diff --git a/src/firebench/standardize/files.py b/src/firebench/standardize/files.py index 5a0da60..f06a716 100644 --- a/src/firebench/standardize/files.py +++ b/src/firebench/standardize/files.py @@ -2,7 +2,7 @@ from ..tools.logging_config import logger from .time import current_datetime_iso8601 from pathlib import Path -from .tools import VERSION_STD, validate_h5_std, merge_authors, collect_conflicts +from .tools import VERSION_STD, validate_h5_std, merge_authors, collect_conflicts, merge_trees def new_std_file(filepath: str, authors: str, overwrite: bool = False) -> h5py.File: @@ -30,7 +30,13 @@ def new_std_file(filepath: str, authors: str, overwrite: bool = False) -> h5py.F return h5 -def merge_two_std_files(filepath_1: str, filepath_2: str, filepath_target: str, overwrite: bool = False): +def merge_two_std_files( + filepath_1: str, + filepath_2: str, + filepath_target: str, + merged_description: str = "", + overwrite: bool = False, +): """ Try to merge two std FireBench files @@ -38,6 +44,7 @@ def merge_two_std_files(filepath_1: str, filepath_2: str, filepath_target: str, Then merge the list of authors without duplicates. Keep order as much as possible (first authors from file1 then first author from file2 then second from file 1...) """ + logger.debug("Merge two std files") file1 = h5py.File(filepath_1, "r") validate_h5_std(file1) file2 = h5py.File(filepath_2, "r") @@ -45,7 +52,7 @@ def merge_two_std_files(filepath_1: str, filepath_2: str, filepath_target: str, # Check for any conflicts conflicts = collect_conflicts(file1, file2) - if not conflicts: + if conflicts: logger.error("Try to merge files but conflicts have been found.") print(conflicts) raise ValueError() @@ -56,8 +63,13 @@ def merge_two_std_files(filepath_1: str, filepath_2: str, filepath_target: str, # Create the new file merged_file = new_std_file(filepath_target, authors=merged_authors, overwrite=overwrite) + merge_trees(file1, file2, merged_file) + + merged_file.attrs["description"] = merged_description + # fill the content of merged_file witht the content of both files file1.close() file2.close() merged_file.close() + logger.info("Standard files merge successfull") diff --git a/src/firebench/standardize/tools.py b/src/firebench/standardize/tools.py index f88c534..98f997a 100644 --- a/src/firebench/standardize/tools.py +++ b/src/firebench/standardize/tools.py @@ -314,3 +314,154 @@ def _compare_attrs(o1, o2, obj_path: str): } ) return conflicts + + +def merge_trees( + file1: h5py.File, + file2: h5py.File, + merged_file: h5py.File, + conflict_solver: dict | None = None, +) -> None: + """ + Recursively fill `merged_file` with content from `file1` and `file2`. + + Order: + ------ + 1. Copy the full tree from file1 into merged_file. + 2. Merge the full tree from file2 into merged_file: + - If a path does not exist in merged_file, copy it. + - If a dataset already exists: + * If a conflict solver is provided for this path, use it to + combine existing and incoming data. + * Otherwise, keep the existing data (we assume they are compatible + because conflicts were checked earlier). + - Group attributes: + * Add attributes that don't exist yet in merged_file. + * Attributes listed in IGNORE_ATTRIBUTES are skipped. + """ + + # 1) copy everything from file1 (no conflicts, merged_file is new/empty) + _merge_from_source( + src=file1, + dst=merged_file, + path="/", + conflict_solver={}, # nothing to resolve, just copy + overwrite_existing=False, + ) + + # 2) merge from file2, now conflict_solver may apply + _merge_from_source( + src=file2, + dst=merged_file, + path="/", + conflict_solver={}, + overwrite_existing=True, + ) + + +def _merge_from_source( + src: h5py.Group, + dst: h5py.Group, + path: str, + conflict_solver: dict, + overwrite_existing: bool, +) -> None: + """ + Recursive helper. + + Parameters + ---------- + src : h5py.Group or h5py.File + Source root/node. + dst : h5py.Group or h5py.File + Destination root/node. + path : str + Absolute HDF5 path in src (and corresponding path in dst). + conflict_solver : dict + Mapping path -> solver(existing_data, incoming_data) -> resolved_data. + overwrite_existing : bool + If False, never touch existing objects (used for file1). + If True, apply conflict_solver or keep existing by default (used for file2). + """ + src_obj = src[path] + dst_obj = dst[path] # must exist; for root "/" this is the file itself + + # Copy/merge attributes for this object (group or dataset) + _copy_attributes(src_obj, dst_obj, path) + + if isinstance(src_obj, h5py.Dataset): + # Nothing more to recurse into + return + + if not isinstance(src_obj, h5py.Group): + # ignore exotic node types for now (SoftLink, ExternalLink, etc.) + return + + # src_obj is a Group: iterate over its children + for name, child in src_obj.items(): + if path == "/": + child_path = f"/{name}" + else: + child_path = f"{path.rstrip('/')}/{name}" + + if name not in dst_obj: + # Child does not exist yet in dst: copy entire subtree + _copy_entire_object(src_obj, dst_obj, name) + else: + # TODO: allow for conflict solver + raise ValueError("Conflict detected. Merge stopped") + + +def _copy_entire_object(src_parent: h5py.Group, dst_parent: h5py.Group, name: str) -> None: + """ + Copy a group or dataset `name` from src_parent to dst_parent, including + all attributes and children (for groups). + """ + obj = src_parent[name] + + if isinstance(obj, h5py.Dataset): + # Create dataset with same data and attrs + dset = dst_parent.create_dataset(name, data=obj[...], dtype=obj.dtype) + _copy_attributes(obj, dset, _build_child_path(dst_parent.name, name)) + + elif isinstance(obj, h5py.Group): + # Create group and copy attributes + grp = dst_parent.create_group(name) + _copy_attributes(obj, grp, _build_child_path(dst_parent.name, name)) + + # Recurse to copy all children + for child_name in obj.keys(): + _copy_entire_object(obj, grp, child_name) + + else: + # Exotic object types (SoftLink, ExternalLink, etc.): skip or handle if needed + # For now, we skip them to keep the implementation simple. + pass + + +def _copy_attributes( + src_obj: h5py.Dataset | h5py.Group, dst_obj: h5py.Dataset | h5py.Group, path: str +) -> None: + """ + Copy attributes from src_obj to dst_obj, skipping attributes that: + - are in IGNORE_ATTRIBUTES for this path, or + - already exist in dst_obj. + """ + ignore_set = IGNORE_ATTRIBUTES.get(path, set()) + + for key, value in src_obj.attrs.items(): + if key in ignore_set: + continue + if key in dst_obj.attrs: + # Keep existing attr value + continue + dst_obj.attrs[key] = value + + +def _build_child_path(parent_path: str, name: str) -> str: + """ + Utility to build a proper HDF5 path for a child object. + """ + if parent_path == "/": + return f"/{name}" + return f"{parent_path.rstrip('/')}/{name}" From 1a82eb42a24713e7b7a3dc6a1e26a2c2ef72ca48 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Costes?= Date: Mon, 24 Nov 2025 22:12:00 -0800 Subject: [PATCH 029/111] add burn severity benchmarks for Caldor --- docs/benchmarks/California/01_Caldor.md | 94 +++++++++++++++++--- docs/metrics/index.md | 110 +++++++++++++++++++++++- 2 files changed, 191 insertions(+), 13 deletions(-) diff --git a/docs/benchmarks/California/01_Caldor.md b/docs/benchmarks/California/01_Caldor.md index b3192b4..9863ad8 100644 --- a/docs/benchmarks/California/01_Caldor.md +++ b/docs/benchmarks/California/01_Caldor.md @@ -32,8 +32,8 @@ The original csv file containing multiple fires has been processed to extract th - 'Destroyed (>50%)', - 'Inaccessible'. -The column names from the original csv file have been corrected from "* Damage" to "Damage" and "* Incident Name" to "Incident Name". -The hash of the original source file is: *0190a5a51aafafa20270fe046a7ae17a53697b1fb218ff8096a3d8ebbc9ef983*. + +The sha256 of the original source file is: *0190a5a51aafafa20270fe046a7ae17a53697b1fb218ff8096a3d8ebbc9ef983*. If the evaluated model does not explicitly represent individual buildings, the model should consider every building within a cell to share the cell value for building damage (deterministic models) or share the median of bulding damage distribution (probabilistic models). @@ -73,7 +73,15 @@ Total | 4444 ### Processing of dataset +*Performed at obs dataset level* + +The data from the original CSV was standardized without any modification. +The column names from the original csv file were corrected from "* Damage" to "Damage" and "* Incident Name" to "Incident Name" to simplify processing. + #### Binary classes of building damaged + +*Performed at benchmark run level* + In order to performe some calculations, the building damaged classes can be aggrageted to form binary classes. The `Inaccessible` is ignored. The following aggragtion method is used: - `unburnt` binary class contains `No Damage`, `Affected (1-9%)`, and `Minor (10-25%)`, - `burnt` binary class contains `Major (26-50%)`, and `Destroyed (>50%)`. @@ -119,11 +127,22 @@ This benchmark is performed on the binary classes for damaged buildings. The data has been collected using [Monitoring Trends in Burning Severity](https://mtbs.gov/) (MTBS). The original zip file contains burn severity, pre/post burn images, and final fire perimeter. -The source of the burn severity used in FireBench is the file `ca3858612053820210815_20210805_20220723_dnbr6.tif`. +The source of the burn severity used in FireBench is the file `ca3858612053820210815_20210805_20220723_dnbr6.tif`. The source of the final fire perimeter is the kmz file `ca3858612053820210815_20210805_20220723.kmz`. + +The burn severity categories, described with the corresponding index used in the dataset, are the following: +- 'no data': 0 +- 'unburnt to low': 1 +- 'low': 2 +- 'moderate': 3 +- 'high': 4 +- 'increased greeness': 5 The hash of the original source files are: - zip file: 171b9604c0654d8612eaabcfcad93d2374762661ab34b4d62718630a13469841 - tif dnbr6: 33db74d3c5798c41ff3a4fc5ee57da9105fdc7a75d7f8af0d053d2f82cfdc0b6 +- final perimeter kmz: 4ed7a0ee585f8118b65a29375a3d5ee8a69e85a95ee155205ba5d781289c6e2b + +Figure 3 shows the MTBS map from the original source. ![blockdiagram](../../_static/benchmarks/FB001/mtbs_map.jpg)

@@ -132,29 +151,80 @@ The hash of the original source files are: : - Map of burn severity from MTBS + Map of burn severity from MTBS. Source: MTBS (`ca3858612053820210815_map.pdf`)

+### Processing of dataset + +*Performed at obs dataset level* + +The burn severity array is extracted from the original file without any modification. The latitude and longitude array are reconstructed using proejction parameters (see `firebench.standardize.mtbs.standardize_mtbs_from_geotiff`). The final perimeter has been procress using QGIS. The original data (kmz file) has been imported and cleaned. Extra perimeters have been removed to only conserve the final fire perimeter. No modification to the polygons have been performed. Then, the multipolygons was exported to kml format and integrated in the dataset HDF5 file. + +#### Binary classes for high severity + +*Performed at benchmark run level* + +To perform the high severity benchmarks using binary confusion matrix, we construct a binary field based of the high severity index. All the points will a buen severity equal to 4 ('high') will be assigned the value 1. The other points are assigned a value 0. This processing is done when the benchmark is performed. + ### Benchmarks +See Key Performance Indicator (KPI) defintion [here](../../metrics/index.md). + +#### FB001-SV01 + +**KPI**: Binary High Severity Accuracy
+This benchmark is performed on the binary classes for high severity points (Binary High severity processed variable) + +#### FB001-SV02 + +**KPI**: Binary High Severity Precision
+This benchmark is performed on the binary classes for high severity points (Binary High severity processed variable) + +#### FB001-SV03 + +**KPI**: Binary High Severity Recall
+This benchmark is performed on the binary classes for high severity points (Binary High severity processed variable) + +#### FB001-SV04 + +**KPI**: Binary High Severity Specificity
+This benchmark is performed on the binary classes for high severity points (Binary High severity processed variable) + +#### FB001-SV05 + +**KPI**: Binary High Severity Negative Predictive Value
+This benchmark is performed on the binary classes for high severity points (Binary High severity processed variable) + +#### FB001-SV06 + +**KPI**: Binary High Severity F1 Score
+This benchmark is performed on the binary classes for high severity points (Binary High severity processed variable) + ## Requirements -The following sections list the datasets requirements to run the different benchmarks. When the benchmark script is run, each requirement is validated. If a requirement is met, each corresponding benchmark is run. -Each requirement lists the required datasets (as path) as well as mandatory attributs for each dataset. +The following sections list the datasets requirements to run the different benchmarks. When the benchmark script is run, each requirement is validated on the HDF5 file passed as input (from the model ouput/data the user wants to evaluate). If a requirement is met, each corresponding benchmark is run. +Each requirement lists the required datasets/groups (as path) as well as mandatory attributs for each dataset/group. +The current version of FireBench does not integrate more complex checks (e.g., array size, dtype). -*Example* -``` -- /path/of/dataset: attribut1, attribut2 -``` Requirement | Benchmarks ---------------------- | ----------------- R01 | FB001-BD01, FB001-BD02, FB001-BD03, FB001-BD04, FB001-BD05, FB001-BD06 +R02 | FB001-SV01, FB001-SV02, FB001-SV03, FB001-SV04, FB001-SV05, FB001-SV06 ### R01 - -- `/points/building_damaged/building_damage`: units +Mandatory group/dataset| Mandatory attirbutes +---------------------- | -------------------- +`/points/building_damaged/building_damage` | units + +### R02 +Mandatory group/dataset| Mandatory attirbutes +---------------------- | -------------------- +`/2D_raster/Caldor_MTBS`| crs +`/2D_raster/Caldor_MTBS/fire_burn_severity`| units, _FillValue +`/2D_raster/Caldor_MTBS/position_lat`| units +`/2D_raster/Caldor_MTBS/position_lon`| units ## Notes diff --git a/docs/metrics/index.md b/docs/metrics/index.md index 5ac64a1..d2c8b28 100644 --- a/docs/metrics/index.md +++ b/docs/metrics/index.md @@ -5,8 +5,116 @@ For implementation details, refer to the [API references](../api/index.rst). A full list of metrics is also available on the [Content page](../content.md). -## Key Performance Indicator +## Burn Severity KPIs +### Binary High Severity Accuracy + +*Category*: Burn Severity
+*Name used in result files*: Binary High Severity Accuracy
+*Best Score*: 1
+*Lowest Score*: 0 + +Measure how accurately the model predicts which point are identified as high severity, based on binary (high severity / not high severity) observations. + +The measure of [accuracy](https://en.wikipedia.org/wiki/Accuracy_and_precision#In_classification) is based on the [Binary confusion matrix](https://en.wikipedia.org/wiki/Confusion_matrix#Table_of_confusion) generated from an observational dataset and a model output dataset. + +$$ +Accuracy = \frac{TP + TN}{TP + TN + FP + FN}, +$$ +where $TP$ = True positive (high severity in both datasets); $FP$ = False positive (high severity only in model dataset); $TN$ = True negative (not high severity in both datasets); $FN$ = False negative (high severity only in observational datasets) + +The implementation of this KPI is done using the `firebench.metrics.confusion_matrix.binary_cm` function and `firebench.metrics.confusion_matrix.binary_accurary` functions (see API documentation for implementation). If some data processing (e.g., for category aggregation) is required, this process is described at the case level. + +### Binary High Severity Precision + +*Category*: Burn Severity
+*Name used in result files*: Binary High Severity Precision
+*Best Score*: 1
+*Lowest Score*: 0 + +Measures how accurately the model predicts which cells are high severity, by evaluating the proportion of predicted high severity points that were actually high severity. + +The measure of [precision](https://en.wikipedia.org/wiki/Positive_and_negative_predictive_values#Definition) is based on the [Binary confusion matrix](https://en.wikipedia.org/wiki/Confusion_matrix#Table_of_confusion) generated from an observational dataset and a model output dataset. + +$$ +Precision = \frac{TP}{TP + FP}, +$$ +where $TP$ = True positive (high severity in both datasets); $FP$ = False positive (high severity only in model dataset) + +The implementation of this KPI is done using the `firebench.metrics.confusion_matrix.binary_cm` function and `firebench.metrics.confusion_matrix.binary_precision` functions (see API documentation for implementation). If some data processing (e.g., for category aggregation) is required, this process is described at the case level. + +### Binary High Severity Recall + +*Category*: Burn Severity
+*Name used in result files*: Binary High Severity Recall
+*Best Score*: 1
+*Lowest Score*: 0 + +Measures how completely the model captures the cells with a high severity index, indicating the fraction of truly high severity cells that the model successfully identifies. + +The measure of [recall](https://en.wikipedia.org/wiki/Precision_and_recall) is based on the [Binary confusion matrix](https://en.wikipedia.org/wiki/Confusion_matrix#Table_of_confusion) generated from an observational dataset and a model output dataset. + +$$ +Recall = \frac{TP}{TP + FN}, +$$ +where $TP$ = True positive (high severity in both datasets); $FN$ = False negative (high severity only in observational datasets) + +The implementation of this KPI is done using the `firebench.metrics.confusion_matrix.binary_cm` function and `firebench.metrics.confusion_matrix.binary_recall_rate` functions (see API documentation for implementation). If some data processing (e.g., for category aggregation) is required, this process is described at the case level. + +### Binary High Severity Specificity + +*Category*: Burn Severity
+*Name used in result files*: Binary High Severity Specificity
+*Best Score*: 1
+*Lowest Score*: 0 + +Measures how accurately the model identifies cells with another severity index than high, by quantifying the fraction of other indices correctly predicted as other (not high). + +The measure of [specificity](https://en.wikipedia.org/wiki/Sensitivity_and_specificity) is based on the [Binary confusion matrix](https://en.wikipedia.org/wiki/Confusion_matrix#Table_of_confusion) generated from an observational dataset and a model output dataset. + +$$ +Specificity = \frac{TN}{TN + FP} +$$ +where $FP$ = False positive (high severity only in model dataset); $TN$ = True negative (not high severity in both datasets) + +The implementation of this KPI is done using the `firebench.metrics.confusion_matrix.binary_cm` function and `firebench.metrics.confusion_matrix.binary_specificity` functions (see API documentation for implementation). If some data processing (e.g., for category aggregation) is required, this process is described at the case level. + +### Binary High Severity Negative Predictive Value + +*Category*: Burn Severity
+*Name used in result files*: Binary High Severity Negative Predictive Value
+*Best Score*: 1
+*Lowest Score*: 0 + +Measures the reliability of the model’s predictions for cells identified with another severuty index than high, indicating the proportion of points predicted index as other (not high) that were indeed observed as other. + +The measure of [Negative Predictive Value](https://en.wikipedia.org/wiki/Positive_and_negative_predictive_values) is based on the [Binary confusion matrix](https://en.wikipedia.org/wiki/Confusion_matrix#Table_of_confusion) generated from an observational dataset and a model output dataset. + +$$ +Negative Predictive Value = \frac{TN}{TN + FN} +$$ +where $TN$ = True negative (not high severity in both datasets); $FN$ = False negative (high severity only in observational datasets) + +The implementation of this KPI is done using the `firebench.metrics.confusion_matrix.binary_cm` function and `firebench.metrics.confusion_matrix.binary_negative_predicted_value` functions (see API documentation for implementation). If some data processing (e.g., for category aggregation) is required, this process is described at the case level. + +### Binary High Severity F1 Score + +*Category*: Burn Severity
+*Name used in result files*: Binary High Severity F1 Score
+*Best Score*: 1
+*Lowest Score*: 0 + +Provides a balanced measure of model performance by combining precision and recall, capturing how well the model identifies high severity cells while limiting false alarms. + +The measure of [F1 Score](https://en.wikipedia.org/wiki/F-score) is based on the [Binary confusion matrix](https://en.wikipedia.org/wiki/Confusion_matrix#Table_of_confusion) generated from an observational dataset and a model output dataset. + +$$ +F1 Score = \frac{2 \times Precision \times Recall}{Precision + Recall} +$$ + +The implementation of this KPI is done using the `firebench.metrics.confusion_matrix.binary_cm` function and `firebench.metrics.confusion_matrix.binary_f_score` functions (see API documentation for implementation). If some data processing (e.g., for category aggregation) is required, this process is described at the case level. + +## Structure Loss KPIs ### Binary Structure Loss Accuracy From 4ced0dc7653787fb53799286e029741de59ff4dc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Costes?= Date: Wed, 26 Nov 2025 14:37:09 -0800 Subject: [PATCH 030/111] improve signing process --- src/firebench/__init__.py | 2 +- src/firebench/signing/__init__.py | 2 +- src/firebench/signing/signing.py | 35 ++++++++++----------------- src/firebench/standardize/__init__.py | 2 +- 4 files changed, 16 insertions(+), 25 deletions(-) diff --git a/src/firebench/__init__.py b/src/firebench/__init__.py index 12b1d54..f26b7c6 100644 --- a/src/firebench/__init__.py +++ b/src/firebench/__init__.py @@ -2,6 +2,6 @@ from .tools.logging_config import logger from .tools.namespace import StandardVariableNames as svn from .tools.units import ureg -from .signing.signing import sign_output_dict, verify_output_dict +from .signing.signing import verify_output_dict, write_case_results Quantity = ureg.Quantity diff --git a/src/firebench/signing/__init__.py b/src/firebench/signing/__init__.py index f63ee22..2765e21 100644 --- a/src/firebench/signing/__init__.py +++ b/src/firebench/signing/__init__.py @@ -1 +1 @@ -from .signing import sign_output_dict, verify_output_dict +from .signing import verify_output_dict, write_case_results diff --git a/src/firebench/signing/signing.py b/src/firebench/signing/signing.py index b41d388..68a1714 100644 --- a/src/firebench/signing/signing.py +++ b/src/firebench/signing/signing.py @@ -5,30 +5,17 @@ from . import _secret_key -def canonical_json_dumps(data: dict) -> bytes: +def _canonical_json_dumps(data: dict) -> bytes: return json.dumps(data, sort_keys=True, separators=(",", ":")).encode("utf-8") -def compute_hmac(json_bytes: bytes) -> str: - """ - Compute the HMAC-SHA256 of the given JSON bytes using the secret key - stored in the compiled extension. - """ - key = _secret_key.get_secret_key() - mac = hmac.new(key, json_bytes, hashlib.sha256).digest() - return mac.hex() - +def _compute_hmac(json_bytes: bytes) -> str: + return _secret_key.compute_hmac(json_bytes) -def sign_output_dict(data: dict) -> dict: - """ - Return a copy of the dictionary with an added "mac" field. - The MAC is computed on the canonical JSON representation of the input - dictionary *without* the "mac" field. Any change to the content will - invalidate the MAC. - """ - json_bytes = canonical_json_dumps(data) - mac = compute_hmac(json_bytes) +def _finalize_payload(data: dict) -> dict: + json_bytes = _canonical_json_dumps(data) + mac = _compute_hmac(json_bytes) out = dict(data) out["mac"] = mac @@ -38,7 +25,7 @@ def sign_output_dict(data: dict) -> dict: def verify_output_dict(signed_data: dict) -> bool: """ Verify that the 'mac' field in the given dictionary matches the HMAC - computed from the remaining content. + computed from the remaining content. Returns ------- @@ -52,7 +39,11 @@ def verify_output_dict(signed_data: dict) -> bool: data_without_mac = dict(signed_data) data_without_mac.pop("mac", None) - json_bytes = canonical_json_dumps(data_without_mac) - expected_mac = compute_hmac(json_bytes) + json_bytes = _canonical_json_dumps(data_without_mac) + expected_mac = _compute_hmac(json_bytes) return hmac.compare_digest(mac, expected_mac) + +def write_case_results(path: str, output_dict: dict): + with open(path, "w") as f: + json.dump(_finalize_payload(output_dict), f, indent=4, sort_keys=True) \ No newline at end of file diff --git a/src/firebench/standardize/__init__.py b/src/firebench/standardize/__init__.py index baf4ab5..9b3a494 100644 --- a/src/firebench/standardize/__init__.py +++ b/src/firebench/standardize/__init__.py @@ -14,4 +14,4 @@ from .files import ( new_std_file, merge_two_std_files, -) +) \ No newline at end of file From 853044bd7ef6f5050873e596e78f96dd817f04aa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Costes?= Date: Wed, 26 Nov 2025 18:53:28 -0800 Subject: [PATCH 031/111] add scores and normalization docs --- docs/_static/images/Score_card_example.png | Bin 0 -> 68771 bytes docs/_static/images/Scoring_diagram.png | Bin 0 -> 115863 bytes .../images/Scoring_diagram_example.png | Bin 0 -> 115139 bytes docs/metrics/index.md | 149 ++++++++++++++++-- 4 files changed, 133 insertions(+), 16 deletions(-) create mode 100644 docs/_static/images/Score_card_example.png create mode 100644 docs/_static/images/Scoring_diagram.png create mode 100644 docs/_static/images/Scoring_diagram_example.png diff --git a/docs/_static/images/Score_card_example.png b/docs/_static/images/Score_card_example.png new file mode 100644 index 0000000000000000000000000000000000000000..033b1869cec14f4c1ce95f2a914c9f64d8235e4e GIT binary patch literal 68771 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 H|I_~g&qgFf literal 0 HcmV?d00001 diff --git a/docs/_static/images/Scoring_diagram_example.png b/docs/_static/images/Scoring_diagram_example.png new file mode 100644 index 0000000000000000000000000000000000000000..b684d805e414845544bc9fd29f36ab7ed18dbf4f GIT binary patch literal 115139 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

  • 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 CV+oD` literal 0 HcmV?d00001 diff --git a/docs/metrics/index.md b/docs/metrics/index.md index d2c8b28..be2471b 100644 --- a/docs/metrics/index.md +++ b/docs/metrics/index.md @@ -1,13 +1,130 @@ -# 5. Metrics information -This section describes the high-level metrics available in `FireBench`, listed as `Key Performance Indicator` (KPI). Each KPI represents a quantitative evaluation of performance. +# 5. Metrics and Scores information +This section describes the high-level metrics available in `FireBench`, listed as `Key Performance Indicator` (KPI). Each KPI represents one, and only one, quantitative evaluation of performance. +The KPI value can be normalized and multiple KPIs can be aggregated to construct a score. For implementation details, refer to the [API references](../api/index.rst). A full list of metrics is also available on the [Content page](../content.md). -## Burn Severity KPIs +## Scores -### Binary High Severity Accuracy +This section details the processes used to construct a unique score for each benchmark case from the set of KPIs contained in the benchmark case. +A `Score` is defined as a real number, with 4 significant digit, between 0.000 (worst) and 100.0 (best). +Scores are derived from KPI values and allow the comparison of models and benchmark results. +As a KPI value is not necessarily a number that is compliant with the score definition, a `normalization` process is required to convert a KPI value to a score, called `Unit Score`. + +$$ +KPI \overset{Normalization}{\longmapsto} Unit Score +$$ + +The different normalization functions available are described in Section `KPI Normalization`. + +Each KPI is transformed into a `Unit Score`, corresponding to one, and only one, KPI. +To further simplify the interpretation the result of multiple benchmarks, these Unit Scores can be aggregated to form `Group Scores`. They represent the overall performance accross multiple indicators, generally evaluating the model for similar physical processes or on the same data. +The `Total Score` is the aggregation of all group scores into one, and only one, score, representing the overall performance of the model for the studied case. + +Figure 1 shows an example of normalization of each KPI for the case *FB001*. Each KPI is normalized into a Unit Score. Then Unit Scores are aggregated into two Group Scores representing the overall performance for *Building Damaged* benchmarks and *Burn Severity* benchmarks. Finally, both Group Scores are aggregated to form the Total Score. +![blockdiagram](../_static/images/Scoring_diagram.png) +

    + + Fig. 1 + + : + + Diagram of Scores construction from KPIs using two categories of KPI (BD: Building Damaged, SV: Burn Severity). + +

    + +The aggregation can be performed using multiple aggregation schemes. The simplest scheme is to aggregate score using a mean function. This gives the same weight to each KPI in the Total Score. We can also develop more complex aggregation schemes to give more weight to certain benchmarks/KPIs. Therefore, for each benchmarking case (collection of dataset and KPIs), we can define multiple aggregation schemes to evaluate different classes of models. Each aggregation scheme will be noted using a letter. For example `FB001-A`, `FB001-B`. + + +Figure 2 shows exmaple of KPI values and their correspond range between brackets. The KPI FB001-BD01 has a value of 0.34763 and a range of [0, 1] (FB001-BD01 can represent a binary confusion matrix index), whereas the KPI FB001-SV03 has a value of 3.489 and a range of [0, $+\infty$[ (FB001-SV03 can represent an absolute bias). All KPI with a limited range of values are normaized using the linear normalization function (see next Section). The KPI FB001-SV03 is normalized using the linear semi bounded normization function with a parameter $M=5$, which means that if the KPI value is above 5, the score will be 0. +Then, Unit Scores are aggregated using uniform weights (represented by the green numbers above aggregation lines) to form Group Scores. +Finally, a weighted aggregation is performed to calculate the Total Score of the case, giving an double importance to benchmarks related to **Building Damaged*. +The list of aggregation scheme and their weights are explicitely defined in the case documentation. + +![blockdiagram](../_static/images/Scoring_diagram_example.png) +

    + + Fig. 2 + + : + + Example of Scores construction from KPIs using two categories of KPI. + +

    + +Figure 3 displays an `Score Card` that is a table representing the data showed in Figure 2. This type of score card can become the standard of presentation for case results. The first row shows the total score and contains the case that has been run (FB001), the aggregation scheme used (B, defined in the case documentation), the model name, and the total score calculated in Figure 2. +The rest of the table is organized as: +- one group row that describes the name of the group and the associated score. A keyword **Group** is added to emphasis the row. +- All the benchmark scores related to the group are displayed after. The name of the benchmark is added as a reference. Here the case id (FB001) is omitted for clarity as it is already displayed in the first row. + + +![blockdiagram](../_static/images/Score_card_example.png) +

    + + Fig. 3 + + : + + Example of Score card layout + +

    + +```{note} +Note: The example here above are not related to the real case FB001 (Caldor Fire) and all KPI names and +values are given as examples. +``` + +## KPI Normalization + +This section describes several normalization schemes used to convert KPI values into a score in the range ([0, 100]). +Throughout, $x$ denotes the KPI value. + +### Linear Bounded Normalization + +For KPIs with a **bounded acceptable range** $[a, b]$, with $(a < b)$, the normalization function is defined as: +$$ +\mathcal N(x, a, b) = 100 \, \left( \frac{x - a}{b - a} \right) +$$ +Here, +- $a$ corresponds to the **worst** score (0), +- $b$ corresponds to the **best** score (100). + +### Linear Half-Open Normalization + +For KPIs that have a **minimum acceptable value** ($a$) but no finite upper limit, i.e. values in $[a, +\infty)$, we define: +$$ +\mathcal N(x, a, m) = 100 \, \max \left(0, 1 - \frac{x-a}{m-a} \right) +$$ +where $m > a$ is a parameter specifying the value of $x$ at which the score reaches **0**. + +Here, +- $a$ corresponds to the **best** score (100), +- $m$ corresponds to the **worst** score (0). + +### Exponential Half-Open Normalization + +For KPIs with a minimum acceptable value $a$ and domain $[a, +\infty[$, we define an exponentially decaying score: +$$ +\mathcal N(x, a, m) =100 , \exp \left( - \frac{\ln 2(x-a)}{m-a} \right). +$$ +This formulation ensures: +$$ +\mathcal N(a,a,m) = 100, \qquad +\mathcal N(m,a,m) = 50. +$$ +Thus, $m$ is the KPI value at which the score is exactly **50**. +Here, +- $a$ corresponds to the **best** possible score (100), +- $m$ corresponds to the value at which the score has decreased to **50**, +- scores decay smoothly toward 0 as $x \to +\infty$. + +## Key Performan Indicator Defintions + +### Burn Severity KPIs + +#### Binary High Severity Accuracy *Category*: Burn Severity
    *Name used in result files*: Binary High Severity Accuracy
    @@ -25,7 +142,7 @@ where $TP$ = True positive (high severity in both datasets); $FP$ = False positi The implementation of this KPI is done using the `firebench.metrics.confusion_matrix.binary_cm` function and `firebench.metrics.confusion_matrix.binary_accurary` functions (see API documentation for implementation). If some data processing (e.g., for category aggregation) is required, this process is described at the case level. -### Binary High Severity Precision +#### Binary High Severity Precision *Category*: Burn Severity
    *Name used in result files*: Binary High Severity Precision
    @@ -43,7 +160,7 @@ where $TP$ = True positive (high severity in both datasets); $FP$ = False positi The implementation of this KPI is done using the `firebench.metrics.confusion_matrix.binary_cm` function and `firebench.metrics.confusion_matrix.binary_precision` functions (see API documentation for implementation). If some data processing (e.g., for category aggregation) is required, this process is described at the case level. -### Binary High Severity Recall +#### Binary High Severity Recall *Category*: Burn Severity
    *Name used in result files*: Binary High Severity Recall
    @@ -61,7 +178,7 @@ where $TP$ = True positive (high severity in both datasets); $FN$ = False negati The implementation of this KPI is done using the `firebench.metrics.confusion_matrix.binary_cm` function and `firebench.metrics.confusion_matrix.binary_recall_rate` functions (see API documentation for implementation). If some data processing (e.g., for category aggregation) is required, this process is described at the case level. -### Binary High Severity Specificity +#### Binary High Severity Specificity *Category*: Burn Severity
    *Name used in result files*: Binary High Severity Specificity
    @@ -79,7 +196,7 @@ where $FP$ = False positive (high severity only in model dataset); $TN$ = True n The implementation of this KPI is done using the `firebench.metrics.confusion_matrix.binary_cm` function and `firebench.metrics.confusion_matrix.binary_specificity` functions (see API documentation for implementation). If some data processing (e.g., for category aggregation) is required, this process is described at the case level. -### Binary High Severity Negative Predictive Value +#### Binary High Severity Negative Predictive Value *Category*: Burn Severity
    *Name used in result files*: Binary High Severity Negative Predictive Value
    @@ -97,7 +214,7 @@ where $TN$ = True negative (not high severity in both datasets); $FN$ = False ne The implementation of this KPI is done using the `firebench.metrics.confusion_matrix.binary_cm` function and `firebench.metrics.confusion_matrix.binary_negative_predicted_value` functions (see API documentation for implementation). If some data processing (e.g., for category aggregation) is required, this process is described at the case level. -### Binary High Severity F1 Score +#### Binary High Severity F1 Score *Category*: Burn Severity
    *Name used in result files*: Binary High Severity F1 Score
    @@ -114,9 +231,9 @@ $$ The implementation of this KPI is done using the `firebench.metrics.confusion_matrix.binary_cm` function and `firebench.metrics.confusion_matrix.binary_f_score` functions (see API documentation for implementation). If some data processing (e.g., for category aggregation) is required, this process is described at the case level. -## Structure Loss KPIs +### Structure Loss KPIs -### Binary Structure Loss Accuracy +#### Binary Structure Loss Accuracy *Category*: Structure Damage
    *Name used in result files*: Binary Structure Loss Accuracy
    @@ -134,7 +251,7 @@ where $TP$ = True positive (buildings destroyed in both datasets); $FP$ = False The implementation of this KPI is done using the `firebench.metrics.confusion_matrix.binary_cm` function and `firebench.metrics.confusion_matrix.binary_accurary` functions (see API documentation for implementation). If some data processing (e.g., for category aggregation) is required, this process is described at the case level. -### Binary Structure Loss Precision +#### Binary Structure Loss Precision *Category*: Structure Damage
    *Name used in result files*: Binary Structure Loss Precision
    @@ -153,7 +270,7 @@ where $TP$ = True positive (buildings destroyed in both datasets); $FP$ = False The implementation of this KPI is done using the `firebench.metrics.confusion_matrix.binary_cm` function and `firebench.metrics.confusion_matrix.binary_precision` functions (see API documentation for implementation). If some data processing (e.g., for category aggregation) is required, this process is described at the case level. -### Binary Structure Loss Recall +#### Binary Structure Loss Recall *Category*: Structure Damage
    *Name used in result files*: Binary Structure Loss Recall
    @@ -171,7 +288,7 @@ where $TP$ = True positive (buildings destroyed in both datasets); $FN$ = False The implementation of this KPI is done using the `firebench.metrics.confusion_matrix.binary_cm` function and `firebench.metrics.confusion_matrix.binary_recall_rate` functions (see API documentation for implementation). If some data processing (e.g., for category aggregation) is required, this process is described at the case level. -### Binary Structure Loss Specificity +#### Binary Structure Loss Specificity *Category*: Structure Damage
    *Name used in result files*: Binary Structure Loss Specificity
    @@ -189,7 +306,7 @@ where $FP$ = False positive (buildings destroyed only in model dataset); $TN$ = The implementation of this KPI is done using the `firebench.metrics.confusion_matrix.binary_cm` function and `firebench.metrics.confusion_matrix.binary_specificity` functions (see API documentation for implementation). If some data processing (e.g., for category aggregation) is required, this process is described at the case level. -### Binary Structure Loss Negative Predictive Value +#### Binary Structure Loss Negative Predictive Value *Category*: Structure Damage
    *Name used in result files*: Binary Structure Loss Negative Predictive Value
    @@ -207,7 +324,7 @@ where $TN$ = True negative (buildings not damaged in both datasets); $FN$ = Fals The implementation of this KPI is done using the `firebench.metrics.confusion_matrix.binary_cm` function and `firebench.metrics.confusion_matrix.binary_negative_predicted_value` functions (see API documentation for implementation). If some data processing (e.g., for category aggregation) is required, this process is described at the case level. -### Binary Structure Loss F1 Score +#### Binary Structure Loss F1 Score *Category*: Structure Damage
    *Name used in result files*: Binary Structure Loss F1 Score
    From ce0b3b06acc271a0b8701c1d7bc15c23cfe70f54 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Costes?= Date: Wed, 26 Nov 2025 18:56:14 -0800 Subject: [PATCH 032/111] fix typo --- docs/metrics/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/metrics/index.md b/docs/metrics/index.md index be2471b..45c1e25 100644 --- a/docs/metrics/index.md +++ b/docs/metrics/index.md @@ -120,7 +120,7 @@ Here, - $m$ corresponds to the value at which the score has decreased to **50**, - scores decay smoothly toward 0 as $x \to +\infty$. -## Key Performan Indicator Defintions +## Key Performance Indicator Defintions ### Burn Severity KPIs From 7935ff2a443f6bb5c17b8aadd807865c2792ea60 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Costes?= Date: Wed, 26 Nov 2025 18:56:58 -0800 Subject: [PATCH 033/111] fix equation spacing --- docs/metrics/index.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/docs/metrics/index.md b/docs/metrics/index.md index 45c1e25..df11ba1 100644 --- a/docs/metrics/index.md +++ b/docs/metrics/index.md @@ -84,9 +84,11 @@ Throughout, $x$ denotes the KPI value. ### Linear Bounded Normalization For KPIs with a **bounded acceptable range** $[a, b]$, with $(a < b)$, the normalization function is defined as: + $$ \mathcal N(x, a, b) = 100 \, \left( \frac{x - a}{b - a} \right) $$ + Here, - $a$ corresponds to the **worst** score (0), - $b$ corresponds to the **best** score (100). @@ -94,9 +96,11 @@ Here, ### Linear Half-Open Normalization For KPIs that have a **minimum acceptable value** ($a$) but no finite upper limit, i.e. values in $[a, +\infty)$, we define: + $$ \mathcal N(x, a, m) = 100 \, \max \left(0, 1 - \frac{x-a}{m-a} \right) $$ + where $m > a$ is a parameter specifying the value of $x$ at which the score reaches **0**. Here, @@ -106,14 +110,18 @@ Here, ### Exponential Half-Open Normalization For KPIs with a minimum acceptable value $a$ and domain $[a, +\infty[$, we define an exponentially decaying score: + $$ \mathcal N(x, a, m) =100 , \exp \left( - \frac{\ln 2(x-a)}{m-a} \right). $$ + This formulation ensures: + $$ \mathcal N(a,a,m) = 100, \qquad \mathcal N(m,a,m) = 50. $$ + Thus, $m$ is the KPI value at which the score is exactly **50**. Here, - $a$ corresponds to the **best** possible score (100), From 9f6bf5b05a3379f87722cdea05469740e7ad7cc5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Costes?= Date: Thu, 27 Nov 2025 09:31:22 -0800 Subject: [PATCH 034/111] add kpi normalization functions - kpi_norm_bounded_linear - kpi_norm_half_open_linear - kpi_norm_half_open_exponential --- docs/metrics/index.md | 6 +- src/firebench/metrics/__init__.py | 5 + src/firebench/metrics/kpi_normalization.py | 120 +++++++++++++++++++++ src/firebench/signing/signing.py | 5 +- src/firebench/standardize/__init__.py | 2 +- 5 files changed, 132 insertions(+), 6 deletions(-) create mode 100644 src/firebench/metrics/kpi_normalization.py diff --git a/docs/metrics/index.md b/docs/metrics/index.md index df11ba1..a007683 100644 --- a/docs/metrics/index.md +++ b/docs/metrics/index.md @@ -83,7 +83,7 @@ Throughout, $x$ denotes the KPI value. ### Linear Bounded Normalization -For KPIs with a **bounded acceptable range** $[a, b]$, with $(a < b)$, the normalization function is defined as: +For KPIs with a **bounded acceptable range** $[a, b]$, with $a < b$, the normalization function is defined as: $$ \mathcal N(x, a, b) = 100 \, \left( \frac{x - a}{b - a} \right) @@ -95,7 +95,7 @@ Here, ### Linear Half-Open Normalization -For KPIs that have a **minimum acceptable value** ($a$) but no finite upper limit, i.e. values in $[a, +\infty)$, we define: +For KPIs that have a **minimum acceptable value** $a$ but no finite upper limit, i.e. values in $[a, +\infty[$, we define: $$ \mathcal N(x, a, m) = 100 \, \max \left(0, 1 - \frac{x-a}{m-a} \right) @@ -112,7 +112,7 @@ Here, For KPIs with a minimum acceptable value $a$ and domain $[a, +\infty[$, we define an exponentially decaying score: $$ -\mathcal N(x, a, m) =100 , \exp \left( - \frac{\ln 2(x-a)}{m-a} \right). +\mathcal N(x, a, m) =100 \, \exp \left( - \frac{\ln 2(x-a)}{m-a} \right). $$ This formulation ensures: diff --git a/src/firebench/metrics/__init__.py b/src/firebench/metrics/__init__.py index 355f04e..adc219e 100644 --- a/src/firebench/metrics/__init__.py +++ b/src/firebench/metrics/__init__.py @@ -1 +1,6 @@ from . import perimeter, stats, mtbs, confusion_matrix +from .kpi_normalization import ( + kpi_norm_bounded_linear, + kpi_norm_half_open_linear, + kpi_norm_half_open_exponential, +) diff --git a/src/firebench/metrics/kpi_normalization.py b/src/firebench/metrics/kpi_normalization.py new file mode 100644 index 0000000..ec934cc --- /dev/null +++ b/src/firebench/metrics/kpi_normalization.py @@ -0,0 +1,120 @@ +from math import exp, log + + +def kpi_norm_bounded_linear(x, a, b): + """ + Linearly normalize a KPI that has a fully bounded acceptable range [a, b]. + + This function maps: + - x = a -> score = 0 + - x = b -> score = 100 + with a strictly linear transformation. + + Use this normalization when the KPI is known to lie within a finite closed interval. + + Parameters + ---------- + x : float + KPI value to normalize. + a : float + Lower bound of the acceptable range (score = 0). + b : float + Upper bound of the acceptable range (score = 100). Must satisfy a < b. + + Returns + ------- + float + Normalized score in the range with 0 at `a` and 100 at `b`. + + Raises + ------ + ValueError + If `x < a` or if `x > b`. + """ + if x < a: + raise ValueError(f"KPI value {x} smaller than lower limit {a}") + if x > b: + raise ValueError(f"KPI value {x} greater than upper limit {b}") + return 100.0 * (x - a) / (b - a) + + +def kpi_norm_half_open_linear(x, a, m): + """ + Linearly normalize a KPI defined on the half-open interval [a, ∞). + + This function applies a linear decay starting from: + - x = a -> score = 100 + - x = m -> score = 0 + Values above `m` yield a score of 0 through clipping. + + Use this normalization when the KPI has a minimum acceptable value `a` + but no finite upper bound, and when the degradation beyond `a` can be + meaningfully represented by a linear decline over the scale [a, m]. + + Parameters + ---------- + x : float + KPI value to normalize. Must satisfy x >= a. + a : float + Minimum acceptable (or optimal) value at which the score is 100. + m : float + Threshold at which the score reaches 0. Must satisfy m > a. + + Returns + ------- + float + Normalized score in the range [0, 100], with linear decay from + 100 at `a` to 0 at `m`. + + Raises + ------ + ValueError + If `x < a` or if `m <= a`. + """ + if x < a: + raise ValueError(f"KPI value {x} smaller than lower limit {a}") + if m <= a: + raise ValueError(f"Parameter m ({m}) smaller than lower limit a ({a})") + return 100.0 * max(0, 1 - (x - a) / (m - a)) + + +def kpi_norm_half_open_exponential(x, a, m): + """ + Exponentially normalize a KPI defined on the half-open interval [a, ∞). + + This function applies a smooth exponential decay such that: + - x = a -> score = 100 + - x = m -> score = 50 + - x -> ∞ -> score -> 0 + ensuring a monotonic and asymptotic decline. + + Use this normalization when the KPI has a minimum acceptable value `a` + but no finite upper bound, and when deviations beyond `a` should be + penalized progressively rather than linearly. The parameter `m` defines + the characteristic decay scale at which performance is reduced by half. + + Parameters + ---------- + x : float + KPI value to normalize. Must satisfy x >= a. + a : float + Minimum acceptable (or optimal) value at which the score is 100. + m : float + Value at which the score reaches 50. Must satisfy m > a. + + Returns + ------- + float + Normalized score in the range (0, 100], decaying exponentially + from 100 at `a` toward 0 as `x` increases. + + Raises + ------ + ValueError + If `x < a` or if `m <= a`. + """ + if x < a: + raise ValueError(f"KPI value {x} smaller than lower limit {a}") + if m <= a: + raise ValueError(f"Parameter m ({m}) smaller than lower limit a ({a})") + return 100.0 * exp(-log(2) * (x - a) / (m - a)) diff --git a/src/firebench/signing/signing.py b/src/firebench/signing/signing.py index 68a1714..71e43aa 100644 --- a/src/firebench/signing/signing.py +++ b/src/firebench/signing/signing.py @@ -25,7 +25,7 @@ def _finalize_payload(data: dict) -> dict: def verify_output_dict(signed_data: dict) -> bool: """ Verify that the 'mac' field in the given dictionary matches the HMAC - computed from the remaining content. + computed from the remaining content. Returns ------- @@ -44,6 +44,7 @@ def verify_output_dict(signed_data: dict) -> bool: return hmac.compare_digest(mac, expected_mac) + def write_case_results(path: str, output_dict: dict): with open(path, "w") as f: - json.dump(_finalize_payload(output_dict), f, indent=4, sort_keys=True) \ No newline at end of file + json.dump(_finalize_payload(output_dict), f, indent=4, sort_keys=True) diff --git a/src/firebench/standardize/__init__.py b/src/firebench/standardize/__init__.py index 9b3a494..baf4ab5 100644 --- a/src/firebench/standardize/__init__.py +++ b/src/firebench/standardize/__init__.py @@ -14,4 +14,4 @@ from .files import ( new_std_file, merge_two_std_files, -) \ No newline at end of file +) From 187be30d4f9cbc3dbb0a70cbb011dc56c9e2e5e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Costes?= Date: Thu, 27 Nov 2025 11:54:49 -0800 Subject: [PATCH 035/111] add normalization and aggregation in Caldor - add version tracking --- docs/benchmarks/California/01_Caldor.md | 29 +++++++++++++++++++++++-- docs/metrics/index.md | 2 +- src/firebench/__init__.py | 8 +++++++ 3 files changed, 36 insertions(+), 3 deletions(-) diff --git a/docs/benchmarks/California/01_Caldor.md b/docs/benchmarks/California/01_Caldor.md index 9863ad8..c4060c7 100644 --- a/docs/benchmarks/California/01_Caldor.md +++ b/docs/benchmarks/California/01_Caldor.md @@ -88,36 +88,42 @@ In order to performe some calculations, the building damaged classes can be aggr ### Benchmarks -See Key Performance Indicator (KPI) defintion [here](../../metrics/index.md). +See Key Performance Indicator (KPI) and normalization defintions [here](../../metrics/index.md). #### FB001-BD01 **KPI**: Binary Structure Loss Accuracy
    +**Normalization**: Linear Bounded Normalization with $a=0$, $b=1$
    This benchmark is performed on the binary classes for damaged buildings. #### FB001-BD02 **KPI**: Binary Structure Loss Precision
    +**Normalization**: Linear Bounded Normalization with $a=0$, $b=1$
    This benchmark is performed on the binary classes for damaged buildings. #### FB001-BD03 **KPI**: Binary Structure Loss Recall
    +**Normalization**: Linear Bounded Normalization with $a=0$, $b=1$
    This benchmark is performed on the binary classes for damaged buildings. #### FB001-BD04 **KPI**: Binary Structure Loss Specificity
    +**Normalization**: Linear Bounded Normalization with $a=0$, $b=1$
    This benchmark is performed on the binary classes for damaged buildings. #### FB001-BD05 **KPI**: Binary Structure Loss Negative Predictive Value
    +**Normalization**: Linear Bounded Normalization with $a=0$, $b=1$
    This benchmark is performed on the binary classes for damaged buildings. #### FB001-BD06 **KPI**: Binary Structure Loss F1 Score
    +**Normalization**: Linear Bounded Normalization with $a=0$, $b=1$
    This benchmark is performed on the binary classes for damaged buildings. @@ -169,36 +175,42 @@ To perform the high severity benchmarks using binary confusion matrix, we constr ### Benchmarks -See Key Performance Indicator (KPI) defintion [here](../../metrics/index.md). +See Key Performance Indicator (KPI) and normalization defintions [here](../../metrics/index.md). #### FB001-SV01 **KPI**: Binary High Severity Accuracy
    +**Normalization**: Linear Bounded Normalization with $a=0$, $b=1$
    This benchmark is performed on the binary classes for high severity points (Binary High severity processed variable) #### FB001-SV02 **KPI**: Binary High Severity Precision
    +**Normalization**: Linear Bounded Normalization with $a=0$, $b=1$
    This benchmark is performed on the binary classes for high severity points (Binary High severity processed variable) #### FB001-SV03 **KPI**: Binary High Severity Recall
    +**Normalization**: Linear Bounded Normalization with $a=0$, $b=1$
    This benchmark is performed on the binary classes for high severity points (Binary High severity processed variable) #### FB001-SV04 **KPI**: Binary High Severity Specificity
    +**Normalization**: Linear Bounded Normalization with $a=0$, $b=1$
    This benchmark is performed on the binary classes for high severity points (Binary High severity processed variable) #### FB001-SV05 **KPI**: Binary High Severity Negative Predictive Value
    +**Normalization**: Linear Bounded Normalization with $a=0$, $b=1$
    This benchmark is performed on the binary classes for high severity points (Binary High severity processed variable) #### FB001-SV06 **KPI**: Binary High Severity F1 Score
    +**Normalization**: Linear Bounded Normalization with $a=0$, $b=1$
    This benchmark is performed on the binary classes for high severity points (Binary High severity processed variable) ## Requirements @@ -226,6 +238,19 @@ Mandatory group/dataset| Mandatory attirbutes `/2D_raster/Caldor_MTBS/position_lat`| units `/2D_raster/Caldor_MTBS/position_lon`| units +## Aggregation Schemes + +This section provides the weights used to aggregate KPI Unit Scores. More information about aggregation methods [here](../../metrics/index.md). If aggregation scheme `0` is specified, then no aggregation is performed. Therefore, group scores and total score are not computed. + +### Scheme A + +Group | Group Weight | Benchmark ID | Benchmark weight +---------------------- | ------------ | ------------ | ---------------- +Building Damage | 1 | | +| | | BD01 to BD06 | 1 +Burn Severity | 1 | | +| | | SV01 to SV06 | 1 + ## Notes - Each file hash has been performed using `firebench.standardize.calculate_sha256`. \ No newline at end of file diff --git a/docs/metrics/index.md b/docs/metrics/index.md index a007683..d703e80 100644 --- a/docs/metrics/index.md +++ b/docs/metrics/index.md @@ -128,7 +128,7 @@ Here, - $m$ corresponds to the value at which the score has decreased to **50**, - scores decay smoothly toward 0 as $x \to +\infty$. -## Key Performance Indicator Defintions +## Key Performance Indicator Definitions ### Burn Severity KPIs diff --git a/src/firebench/__init__.py b/src/firebench/__init__.py index f26b7c6..d2f26c5 100644 --- a/src/firebench/__init__.py +++ b/src/firebench/__init__.py @@ -1,3 +1,4 @@ +from importlib.metadata import version, PackageNotFoundError from . import ros_models, tools, wind_interpolation, stats, metrics, sensors, standardize, signing from .tools.logging_config import logger from .tools.namespace import StandardVariableNames as svn @@ -5,3 +6,10 @@ from .signing.signing import verify_output_dict, write_case_results Quantity = ureg.Quantity + +try: + __version__ = version("firebench") +except PackageNotFoundError: + __version__ = "unknown" + +__all__ = ["__version__"] From 9804e2687ebcf8aac1244dc76e27c2f6b042544b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Costes?= Date: Fri, 28 Nov 2025 21:30:12 -0800 Subject: [PATCH 036/111] add score card pdf export --- docs/_static/images/Metrics_diagram.png | Bin 0 -> 48572 bytes docs/metrics/index.md | 282 +++++++++++++++++++++--- pyproject.toml | 1 + src/firebench/metrics/__init__.py | 1 + src/firebench/metrics/table.py | 177 +++++++++++++++ 5 files changed, 436 insertions(+), 25 deletions(-) create mode 100644 docs/_static/images/Metrics_diagram.png create mode 100644 src/firebench/metrics/table.py diff --git a/docs/_static/images/Metrics_diagram.png b/docs/_static/images/Metrics_diagram.png new file mode 100644 index 0000000000000000000000000000000000000000..87643db892d1e844ea8135ef16fc75d124653952 GIT binary patch literal 48572 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 + + Fig. 1 + + : + + Relationship between Metrics, KPI, Normalization and Score + +

    + For implementation details, refer to the [API references](../api/index.rst). A full list of metrics is also available on the [Content page](../content.md). @@ -76,6 +90,144 @@ Note: The example here above are not related to the real case FB001 (Caldor Fire values are given as examples. ``` +## Metrics + +### 1D metrics + +**Input:** Two 1D vectors of size $N$: + +- $x_i$: evaluated dataset +- $y_i$: reference dataset + +#### Mean + +**Description:** Average value of a 1D vector $x$.
    +**Range:** Same as range of $x$.
    +**Units:** Same as input units.
    +**Formula:** +$$ +\bar x = \frac{1}{N} \sum_{i=1}^N x_i +$$ + +#### Bias + +**Description:** Difference between the mean of $x$ and the mean of $y$.
    +**Range:** Same as range of input values.
    +**Units:** Same as input units.
    +**Formula:** +$$ +B = \bar x - \bar y +$$ + +#### Root Mean Square Error + +**Description:** Square root of the mean squared difference between (x) and (y), noted RMSE.
    +**Range:** $[0, +\infty[$.
    +**Units:** Same as input units.
    +**Formula:** +$$ +RMSE(x, y) = \sqrt{\frac{1}{N} \sum_{i=1}^N (x_i - y_i)^2} +$$ + +#### Normalized MSE - power normalization + +**Description:** RMSE normalized by the range of the reference dataset.
    +**Range:** $[0, +\infty)$.
    +**Units:** Dimensionless.
    +**Formula:** +$$ +NMSE_p = \frac{RMSE(x, y)}{\max(y) - \min(y)} +$$ + +#### Normalized MSE – range normalization +**Description:** Squared RMSE normalized by the product of mean values of the datasets.
    +**Range:** $[0, +\infty)$ (undefined if $\bar x = 0$ or $\bar y = 0$).
    +**Units:** Dimensionless.
    +**Formula:** +$$ +NMSE_r = \frac{RMSE(x, y)^2}{\bar x \, \bar y} +$$ + + +### Binary Confusion Matrix + +**Input:** Two 1D binary vectors (0 or 1) of size $N$: + +- $x_i$: evaluated dataset +- $y_i$: reference dataset + +The following metrics are derived from the [Binary confusion matrix](https://en.wikipedia.org/wiki/Confusion_matrix#Table_of_confusion) generated from both dataset. The Binary confusion matrix is a 2x2 matrix containing: + +| | Reference = 1 | Reference = 0 | +| ------------ | ------------- | ------------- | +| **Eval = 1** | TP | FP | +| **Eval = 0** | FN | TN | + +Where: +- TP: True Positive +- FP: False Positive +- FN: False Negative +- TN: True Negative + +#### Accuracy + +**Description:** Fraction of correct predictions among all samples (see [accuracy](https://en.wikipedia.org/wiki/Accuracy_and_precision#In_classification)).
    +**Range:** $[0, 1]$
    +**Units:** Dimensionless.
    +**Formula:** +$$ +Accuracy = \frac{TP + TN}{TP + TN + FP + FN} +$$ + +#### Precision +**Description:** Fraction of predicted positives that are true positives (see [precision](https://en.wikipedia.org/wiki/Positive_and_negative_predictive_values#Definition)).
    +**Range:** $[0, 1]$
    +**Units:** Dimensionless.
    +**Formula:** +$$ +Precision = \frac{TP}{TP + FP}, +$$ + +#### Recall +**Description:** Fraction of actual positives correctly identified (see [recall](https://en.wikipedia.org/wiki/Precision_and_recall)). Recall can also be named Sensitivity or True Positive Rate.
    +**Range:** $[0, 1]$
    +**Units:** Dimensionless.
    +**Formula:** +$$ +Recall = \frac{TP}{TP + FN}, +$$ + +#### Specificity +**Description:** Fraction of actual negatives correctly identified (see [specificity](https://en.wikipedia.org/wiki/Sensitivity_and_specificity)). Recall can also be named True Negative Rate.
    +**Range:** $[0, 1]$
    +**Units:** Dimensionless.
    +**Formula:** +$$ +Specificity = \frac{TN}{TN + FP} +$$ + +#### Negative Predictive Value +**Description:** Fraction of predicted negatives that are true negatives (see [Negative Predictive Value](https://en.wikipedia.org/wiki/Positive_and_negative_predictive_values)).
    +**Range:** $[0, 1]$
    +**Units:** Dimensionless.
    +**Formula:** +$$ +Negative Predictive Value = \frac{TN}{TN + FN} +$$ + +#### F1 Score +**Description:** Harmonic mean of Precision and Recall (see [F1 Score](https://en.wikipedia.org/wiki/F-score)).
    +**Range:** $[0, 1]$
    +**Units:** Dimensionless.
    +**Formula:** +$$ +F1 Score = \frac{2 \times Precision \times Recall}{Precision + Recall} +$$ + +### Time related + +#### Time above threshold + ## KPI Normalization This section describes several normalization schemes used to convert KPI values into a score in the range ([0, 100]). @@ -136,8 +288,8 @@ Here, *Category*: Burn Severity
    *Name used in result files*: Binary High Severity Accuracy
    -*Best Score*: 1
    -*Lowest Score*: 0 +*Best*: 1
    +*Worst*: 0 Measure how accurately the model predicts which point are identified as high severity, based on binary (high severity / not high severity) observations. @@ -154,8 +306,8 @@ The implementation of this KPI is done using the `firebench.metrics.confusion_ma *Category*: Burn Severity
    *Name used in result files*: Binary High Severity Precision
    -*Best Score*: 1
    -*Lowest Score*: 0 +*Best*: 1
    +*Worst*: 0 Measures how accurately the model predicts which cells are high severity, by evaluating the proportion of predicted high severity points that were actually high severity. @@ -172,8 +324,8 @@ The implementation of this KPI is done using the `firebench.metrics.confusion_ma *Category*: Burn Severity
    *Name used in result files*: Binary High Severity Recall
    -*Best Score*: 1
    -*Lowest Score*: 0 +*Best*: 1
    +*Worst*: 0 Measures how completely the model captures the cells with a high severity index, indicating the fraction of truly high severity cells that the model successfully identifies. @@ -190,8 +342,8 @@ The implementation of this KPI is done using the `firebench.metrics.confusion_ma *Category*: Burn Severity
    *Name used in result files*: Binary High Severity Specificity
    -*Best Score*: 1
    -*Lowest Score*: 0 +*Best*: 1
    +*Worst*: 0 Measures how accurately the model identifies cells with another severity index than high, by quantifying the fraction of other indices correctly predicted as other (not high). @@ -208,8 +360,8 @@ The implementation of this KPI is done using the `firebench.metrics.confusion_ma *Category*: Burn Severity
    *Name used in result files*: Binary High Severity Negative Predictive Value
    -*Best Score*: 1
    -*Lowest Score*: 0 +*Best*: 1
    +*Worst*: 0 Measures the reliability of the model’s predictions for cells identified with another severuty index than high, indicating the proportion of points predicted index as other (not high) that were indeed observed as other. @@ -226,8 +378,8 @@ The implementation of this KPI is done using the `firebench.metrics.confusion_ma *Category*: Burn Severity
    *Name used in result files*: Binary High Severity F1 Score
    -*Best Score*: 1
    -*Lowest Score*: 0 +*Best*: 1
    +*Worst*: 0 Provides a balanced measure of model performance by combining precision and recall, capturing how well the model identifies high severity cells while limiting false alarms. @@ -245,8 +397,8 @@ The implementation of this KPI is done using the `firebench.metrics.confusion_ma *Category*: Structure Damage
    *Name used in result files*: Binary Structure Loss Accuracy
    -*Best Score*: 1
    -*Lowest Score*: 0 +*Best*: 1
    +*Worst*: 0 Measure how accurately the model predicts which structures are destroyed or not destroyed by the fire, based on binary (burned / not burned) observations. @@ -263,8 +415,8 @@ The implementation of this KPI is done using the `firebench.metrics.confusion_ma *Category*: Structure Damage
    *Name used in result files*: Binary Structure Loss Precision
    -*Best Score*: 1
    -*Lowest Score*: 0 +*Best*: 1
    +*Worst*: 0 Measures how accurately the model predicts which structures are destroyed, by evaluating the proportion of predicted-destroyed buildings that were actually destroyed. @@ -282,8 +434,8 @@ The implementation of this KPI is done using the `firebench.metrics.confusion_ma *Category*: Structure Damage
    *Name used in result files*: Binary Structure Loss Recall
    -*Best Score*: 1
    -*Lowest Score*: 0 +*Best*: 1
    +*Worst*: 0 Measures how completely the model captures the buildings that were actually destroyed, indicating the fraction of truly destroyed structures that the model successfully identifies. @@ -300,8 +452,8 @@ The implementation of this KPI is done using the `firebench.metrics.confusion_ma *Category*: Structure Damage
    *Name used in result files*: Binary Structure Loss Specificity
    -*Best Score*: 1
    -*Lowest Score*: 0 +*Best*: 1
    +*Worst*: 0 Measures how accurately the model identifies buildings that survived, by quantifying the fraction of intact structures correctly predicted as not destroyed. @@ -318,8 +470,8 @@ The implementation of this KPI is done using the `firebench.metrics.confusion_ma *Category*: Structure Damage
    *Name used in result files*: Binary Structure Loss Negative Predictive Value
    -*Best Score*: 1
    -*Lowest Score*: 0 +*Best*: 1
    +*Worst*: 0 Measures the reliability of the model’s predictions for surviving structures, indicating the proportion of predicted-intact buildings that were indeed not destroyed. @@ -336,8 +488,8 @@ The implementation of this KPI is done using the `firebench.metrics.confusion_ma *Category*: Structure Damage
    *Name used in result files*: Binary Structure Loss F1 Score
    -*Best Score*: 1
    -*Lowest Score*: 0 +*Best*: 1
    +*Worst*: 0 Provides a balanced measure of model performance by combining precision and recall, capturing how well the model identifies destroyed buildings while limiting false alarms. @@ -347,4 +499,84 @@ $$ F1 Score = \frac{2 \times Precision \times Recall}{Precision + Recall} $$ -The implementation of this KPI is done using the `firebench.metrics.confusion_matrix.binary_cm` function and `firebench.metrics.confusion_matrix.binary_f_score` functions (see API documentation for implementation). If some data processing (e.g., for category aggregation) is required, this process is described at the case level. \ No newline at end of file +The implementation of this KPI is done using the `firebench.metrics.confusion_matrix.binary_cm` function and `firebench.metrics.confusion_matrix.binary_f_score` functions (see API documentation for implementation). If some data processing (e.g., for category aggregation) is required, this process is described at the case level. + +### Weather stations KPIs + +#### 24h forecast Wind Speed Bias Average + +*Category*: Weather Stations
    +*Name used in result files*: 24h forecast Wind Speed Bias Average
    +*Best*: 0
    +*Worst*: increasing $|bias|$
    +*Parameters*: +- $t_s$: 24h period starting time + +Provides the average bias over multiple weather stations over a period 24h for wind speed. + +The average bias is calculated as: + +$$ +\overline{Bias} = \frac{1}{N_s} \sum_{k=1}^{N_s} \frac{1}{N_t} \sum_{i=1}^{N_t} (m_{ki} - o_{ki}) +$$ +where $N_s$ is the number of weather stations, $N_t$ is the number of time step over the 24h period, $m_{ki}$ is the model data for station $k$ at time step $i$, and $o_{ki}$ is the observation data for station $k$ at time step $i$. + +The implementation of this KPI is done using `firebench.metrics.stats.bias`. + +#### 24h forecast Wind Speed RMSE Average + +*Category*: Weather Stations
    +*Name used in result files*: 24h forecast Wind Speed RMSE Average
    +*Best*: 0
    +*Worst*: increasing $|bias|$
    +*Parameters*: +- $t_s$: 24h period starting time + +Provides the average RMSE over multiple weather stations over a period 24h for wind speed. + +The average RMSE is calculated as: + +$$ +\overline{RMSE} = \frac{1}{N_s} \sum_{k=1}^{N_s} \sqrt{\frac{1}{N_t} \sum_{i=1}^{N_t} (m_{ki} - o_{ki})^2} +$$ +where $N_s$ is the number of weather stations, $N_t$ is the number of time step over the 24h period, $m_{ki}$ is the model data for station $k$ at time step $i$, and $o_{ki}$ is the observation data for station $k$ at time step $i$. + +The implementation of this KPI is done using `firebench.metrics.stats.rmse`. + +#### 24h forecast Wind Direction RMSE Average + +*Category*: Weather Stations
    +*Name used in result files*: 24h forecast Wind Direction RMSE Average
    +*Best*: 0
    +*Worst*: increasing $|bias|$
    +*Parameters*: +- $t_s$: 24h period starting time + + +Wind direction difference is calculated as +$$ +d_{wd} = ((x - y + 180) \mod 360 ) - 180 +$$ + +#### 24h forecast Wind Gust RMSE Average + +*Category*: Weather Stations
    +*Name used in result files*: 24h forecast Wind Gust RMSE Average
    +*Best*: 0
    +*Worst*: increasing $|bias|$
    +*Parameters*: +- $t_s$: 24h period starting time + +#### 24h forecast Sustained Wind Speed Average + +*Category*: Weather Stations
    +*Name used in result files*: 24h forecast Wind Gust RMSE Average
    +*Best*: 0
    +*Worst*: increasing $|bias|$
    +*Parameters*: +- $t_s$: 24h period starting time +- $U_0$: Value of thresehold + +Calculate the amount of time when the wind speed is above a defined threshold. Compare this time to observation and average it over multiple weather stations. + + diff --git a/pyproject.toml b/pyproject.toml index 3375076..21a7fac 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -22,6 +22,7 @@ dependencies = [ "matplotlib > 3.8", "rasterio < 2.0", "pyproj < 4.0", + "reportlab < 5.0", ] readme = "README.md" license = {file = "LICENSE"} diff --git a/src/firebench/metrics/__init__.py b/src/firebench/metrics/__init__.py index adc219e..acea084 100644 --- a/src/firebench/metrics/__init__.py +++ b/src/firebench/metrics/__init__.py @@ -4,3 +4,4 @@ kpi_norm_half_open_linear, kpi_norm_half_open_exponential, ) +from .table import save_as_table diff --git a/src/firebench/metrics/table.py b/src/firebench/metrics/table.py new file mode 100644 index 0000000..30abcf8 --- /dev/null +++ b/src/firebench/metrics/table.py @@ -0,0 +1,177 @@ +from reportlab.lib import colors +from reportlab.lib.pagesizes import A4 +from reportlab.lib.units import mm +from reportlab.platypus import SimpleDocTemplate, Table, TableStyle +from pathlib import Path +from ..tools import logger + + +def _score_to_color(score): + """ + Map a score from 0 to 100 to a color from red -> yellow -> green. + Output: hex string "#RRGGBB". + """ + + # Clamp score + s = max(0, min(100, score)) / 100.0 + + # Red → Yellow for s ∈ [0,0.5] + # Yellow → Green for s ∈ [0.5,1] + if s < 0.5: + # red (255,0,0) to yellow (255,255,0) + r = 255 + g = int(255 * (s / 0.5)) + b = 0 + else: + # yellow (255,255,0) to green (0,255,0) + r = int(255 * ((1 - s) / 0.5)) + g = 255 + b = 0 + + return "#{:02x}{:02x}{:02x}".format(r, g, b) + + +def save_as_table(filename: Path, data: dict): + logger.info("Save data dict as score card report pdf") + if filename.suffix.lower() != ".pdf": + filename = filename.with_suffix(".pdf") + + COLOR_ROWS = [ + "#f7d5cd", + "#fbebe8", + ] + + # Get the number of row + nb_rows = 3 # header and footer + nb_bench = len(data["benchmarks"].keys()) + score_card = data.get("score_card") + if score_card is None: + # No aggregation, no total score + nb_rows += nb_bench + else: + # get number of rows from schemes + for group_name, group_content in data["score_card"]["Scheme"].items(): + nb_rows += len(group_content["benchmarks"]) + 1 + + # ------------------------------------------------------------------ + # 1) Create PDF + # ------------------------------------------------------------------ + doc = SimpleDocTemplate( + str(filename.resolve()), + pagesize=(165 * mm, nb_rows * 8 * mm), + leftMargin=0 * mm, + rightMargin=0 * mm, + topMargin=0 * mm, + bottomMargin=0 * mm, + ) + + # ------------------------------------------------------------------ + # 2) Table data (3×3) + # ------------------------------------------------------------------ + text_table = [] + + # header + scheme_name = "0" + valid_scheme = False + if "score_card" in data: + scheme_name = data["score_card"]["aggregation_scheme_name"] + valid_scheme = True + text_table.append( + [ + f"Total Score {data['case_id']} agg. {scheme_name}: {data['evaluated_model_name']}", + "", + f"{data['score_card']['Score Total']:.2f}", + ] + ) + text_table.append(["Benchmark ID/Group Name", "Weight", "Score"]) + + # rows + group_rows = [] + if valid_scheme: + for group_name, group_content in data["score_card"]["Scheme"].items(): + # add group row + group_score = data["score_card"][f"Score {group_name}"] + group_rows.append(len(text_table)) + text_table.append([f"Group: {group_name}", f"{group_content["weight"]}", f"{group_score:.2f}"]) + # add benchamrk rows + for bench_id, bench_weight in group_content["benchmarks"].items(): + bench_score = data["benchmarks"][bench_id]["Score"] + kpi_name = [i for i in data["benchmarks"][bench_id].keys() if i != "Score"][0] + text_table.append([f"{kpi_name}", f"{bench_weight}", f"{bench_score:.2f}"]) + else: + # Only print benchmarks + for bench_id in data["benchmarks"].keys(): + text_table.append([f"{bench_id}", "None", f"{data['benchmarks'][bench_id]['Score']:.2f}"]) + + # footer + text_table.append( + [f"FireBench version: {data['firebench_version']} case version: {data['case_version']}", "", ""] + ) + + col_widths = [100 * mm, 30 * mm, 30 * mm] + + # ------------------------------------------------------------------ + # 3) Table style with both merges + # ------------------------------------------------------------------ + table_style = [ + # === MERGE FIRST 2 COLUMNS OF FIRST ROW === + ("SPAN", (0, 0), (1, 0)), + # === MERGE ALL 3 COLUMNS OF LAST ROW === + ("SPAN", (0, nb_rows - 1), (2, nb_rows - 1)), + # Borders + ("BOX", (0, 0), (-1, -1), 0.75, colors.black), + ("INNERGRID", (0, 0), (-1, -1), 0.25, colors.grey), + # Background colors for clarity + ("BACKGROUND", (0, 0), (-1, -1), colors.HexColor("#c04f15")), # merged header row + ("BACKGROUND", (0, 1), (-1, 1), colors.HexColor("#e97132")), # merged header row + ( + "BACKGROUND", + (0, -1), + (-1, -1), + colors.HexColor("#d9d9d9"), + ), # merged footer row + # Alignment + ("ALIGN", (0, 0), (-1, -1), "CENTER"), + ("ALIGN", (0, 0), (0, 0), "LEFT"), + ("ALIGN", (0, -1), (0, -1), "LEFT"), + ("VALIGN", (0, 0), (-1, -1), "MIDDLE"), + # Fonts + ("FONTNAME", (0, 0), (-1, -1), "Helvetica"), + ("FONTSIZE", (0, 0), (-1, -1), 9), + ] + + for i in range(nb_rows - 2): + table_style.append( + ( + "BACKGROUND", + (0, i + 2), + (-1, i + 2), + colors.HexColor(COLOR_ROWS[i % len(COLOR_ROWS)]), + ), # merged header row + ) + table_style.append(("ALIGN", (0, i + 1), (0, i + 1), "LEFT")) + + if valid_scheme: + table_style.append( + ( + "BACKGROUND", + (2, 0), + (2, 0), + colors.HexColor(_score_to_color(data["score_card"]["Score Total"])), + ), # merged header row + ) + for i_row in group_rows: + table_style.append( + ("BACKGROUND", (0, i_row), (-1, i_row), colors.HexColor("#f2aa84")), + ) + else: + text_table[0][2] = "INVALID" + table_style.append( + ("BACKGROUND", (2, 0), (2, 0), colors.HexColor("#ff0000")), # merged header row + ) + + table = Table(text_table, colWidths=col_widths) + style = TableStyle(table_style) + table.setStyle(style) + + doc.build([table]) From 55c84a3401a8c870b77f9ded1f70b6ea77fbeefe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Costes?= Date: Sat, 29 Nov 2025 15:53:20 -0800 Subject: [PATCH 037/111] update scorr card pdf with KPI values - update colors for total score - bold for total score - change color for last row --- src/firebench/metrics/table.py | 76 +++++++++++++++++----------------- 1 file changed, 37 insertions(+), 39 deletions(-) diff --git a/src/firebench/metrics/table.py b/src/firebench/metrics/table.py index 30abcf8..5fb9931 100644 --- a/src/firebench/metrics/table.py +++ b/src/firebench/metrics/table.py @@ -11,24 +11,13 @@ def _score_to_color(score): Map a score from 0 to 100 to a color from red -> yellow -> green. Output: hex string "#RRGGBB". """ - - # Clamp score - s = max(0, min(100, score)) / 100.0 - - # Red → Yellow for s ∈ [0,0.5] - # Yellow → Green for s ∈ [0.5,1] - if s < 0.5: - # red (255,0,0) to yellow (255,255,0) - r = 255 - g = int(255 * (s / 0.5)) - b = 0 - else: - # yellow (255,255,0) to green (0,255,0) - r = int(255 * ((1 - s) / 0.5)) - g = 255 - b = 0 - - return "#{:02x}{:02x}{:02x}".format(r, g, b) + if score < 33.33: + return "#D6452A" + + if score < 66.66: + return "#E8C441" + + return "#6BAF5F" def save_as_table(filename: Path, data: dict): @@ -65,9 +54,6 @@ def save_as_table(filename: Path, data: dict): bottomMargin=0 * mm, ) - # ------------------------------------------------------------------ - # 2) Table data (3×3) - # ------------------------------------------------------------------ text_table = [] # header @@ -80,10 +66,11 @@ def save_as_table(filename: Path, data: dict): [ f"Total Score {data['case_id']} agg. {scheme_name}: {data['evaluated_model_name']}", "", + "", f"{data['score_card']['Score Total']:.2f}", ] ) - text_table.append(["Benchmark ID/Group Name", "Weight", "Score"]) + text_table.append(["Benchmark ID/Group Name", "KPI value", "Weight", "Score"]) # rows group_rows = [] @@ -92,32 +79,42 @@ def save_as_table(filename: Path, data: dict): # add group row group_score = data["score_card"][f"Score {group_name}"] group_rows.append(len(text_table)) - text_table.append([f"Group: {group_name}", f"{group_content["weight"]}", f"{group_score:.2f}"]) + text_table.append([f"Group: {group_name}", "", f"{group_content["weight"]}", f"{group_score:.2f}"]) # add benchamrk rows for bench_id, bench_weight in group_content["benchmarks"].items(): - bench_score = data["benchmarks"][bench_id]["Score"] - kpi_name = [i for i in data["benchmarks"][bench_id].keys() if i != "Score"][0] - text_table.append([f"{kpi_name}", f"{bench_weight}", f"{bench_score:.2f}"]) + for key, item in data["benchmarks"][bench_id].items(): + if key == "Score": + bench_score = item + kpi_name = [i for i in data["benchmarks"][bench_id].keys() if i != "Score"][0] + else: + # KPI + kpi_score = item + text_table.append([f"{kpi_name}", f"{kpi_score:.2e}", f"{bench_weight}", f"{bench_score:.2f}"]) else: # Only print benchmarks for bench_id in data["benchmarks"].keys(): - text_table.append([f"{bench_id}", "None", f"{data['benchmarks'][bench_id]['Score']:.2f}"]) + for key, item in data["benchmarks"][bench_id].items(): + if key == "Score": + bench_score = item + else: + kpi_score = item + text_table.append([f"{bench_id}", f"{kpi_score:.2e}", "None", f"{bench_score:.2f}"]) # footer text_table.append( - [f"FireBench version: {data['firebench_version']} case version: {data['case_version']}", "", ""] + [f"FireBench version: {data['firebench_version']} case version: {data['case_version']}", "", "", ""] ) - col_widths = [100 * mm, 30 * mm, 30 * mm] + col_widths = [100 * mm, 20 * mm, 20 * mm, 20 * mm] # ------------------------------------------------------------------ # 3) Table style with both merges # ------------------------------------------------------------------ table_style = [ - # === MERGE FIRST 2 COLUMNS OF FIRST ROW === - ("SPAN", (0, 0), (1, 0)), - # === MERGE ALL 3 COLUMNS OF LAST ROW === - ("SPAN", (0, nb_rows - 1), (2, nb_rows - 1)), + # === MERGE FIRST 3 COLUMNS OF FIRST ROW === + ("SPAN", (0, 0), (2, 0)), + # === MERGE ALL 4 COLUMNS OF LAST ROW === + ("SPAN", (0, nb_rows - 1), (3, nb_rows - 1)), # Borders ("BOX", (0, 0), (-1, -1), 0.75, colors.black), ("INNERGRID", (0, 0), (-1, -1), 0.25, colors.grey), @@ -128,19 +125,20 @@ def save_as_table(filename: Path, data: dict): "BACKGROUND", (0, -1), (-1, -1), - colors.HexColor("#d9d9d9"), + colors.HexColor("#A79F9A"), ), # merged footer row # Alignment ("ALIGN", (0, 0), (-1, -1), "CENTER"), - ("ALIGN", (0, 0), (0, 0), "LEFT"), + ("ALIGN", (0, 0), (0, -1), "LEFT"), ("ALIGN", (0, -1), (0, -1), "LEFT"), ("VALIGN", (0, 0), (-1, -1), "MIDDLE"), # Fonts ("FONTNAME", (0, 0), (-1, -1), "Helvetica"), ("FONTSIZE", (0, 0), (-1, -1), 9), + ('FONT', (3,0), (3,0), 'Helvetica-Bold', 9), ] - for i in range(nb_rows - 2): + for i in range(nb_rows - 3): table_style.append( ( "BACKGROUND", @@ -155,8 +153,8 @@ def save_as_table(filename: Path, data: dict): table_style.append( ( "BACKGROUND", - (2, 0), - (2, 0), + (3, 0), + (3, 0), colors.HexColor(_score_to_color(data["score_card"]["Score Total"])), ), # merged header row ) @@ -167,7 +165,7 @@ def save_as_table(filename: Path, data: dict): else: text_table[0][2] = "INVALID" table_style.append( - ("BACKGROUND", (2, 0), (2, 0), colors.HexColor("#ff0000")), # merged header row + ("BACKGROUND", (3, 0), (3, 0), colors.HexColor("#ff0000")), # merged header row ) table = Table(text_table, colWidths=col_widths) From f050537db321d08f198b51be745a229746463ec1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Costes?= Date: Tue, 2 Dec 2025 09:53:00 -0800 Subject: [PATCH 038/111] handle import exception for signing functions --- src/firebench/signing/signing.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/firebench/signing/signing.py b/src/firebench/signing/signing.py index 71e43aa..308cdad 100644 --- a/src/firebench/signing/signing.py +++ b/src/firebench/signing/signing.py @@ -2,8 +2,10 @@ import hashlib import json -from . import _secret_key - +try: + from . import _secret_key +except ImportError: + _secret_key = None def _canonical_json_dumps(data: dict) -> bytes: return json.dumps(data, sort_keys=True, separators=(",", ":")).encode("utf-8") From f6eb3997e3ae2e600ac506b7d75bb354d57579ed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Costes?= Date: Tue, 2 Dec 2025 09:53:20 -0800 Subject: [PATCH 039/111] organize dependencies in docs and pyproject --- docs/dependencies.md | 1 + pyproject.toml | 18 +++++++++--------- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/docs/dependencies.md b/docs/dependencies.md index 4f4bcbd..dc5cc74 100644 --- a/docs/dependencies.md +++ b/docs/dependencies.md @@ -9,6 +9,7 @@ - pint < 1.0 - pyproj < 4.0 - rasterio < 2.0 +- reportlab < 5.0 - SALib < 2.0 - scipy < 2.0 diff --git a/pyproject.toml b/pyproject.toml index 21a7fac..5ac7e93 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -13,16 +13,16 @@ maintainers = [ ] description = "FireBench is a Python library designed for the systematic benchmarking and inter-comparison of fire models." dependencies = [ - "numpy < 3.0", - "pint < 1.0", - "scipy < 2.0", - "SALib < 2.0", - "h5py < 4.0", "geopandas < 2.0", + "h5py < 4.0", "matplotlib > 3.8", - "rasterio < 2.0", + "numpy < 3.0", + "pint < 1.0", "pyproj < 4.0", + "rasterio < 2.0", "reportlab < 5.0", + "SALib < 2.0", + "scipy < 2.0", ] readme = "README.md" license = {file = "LICENSE"} @@ -44,12 +44,12 @@ classifiers = [ ] [project.optional-dependencies] dev = [ + "bandit", + "black", + "pylint", "pytest", "pytest-cov", "pytest-mock", - "bandit", - "pylint", - "black", "shapely", ] [tool.hatch.envs.default] From 2faab14163fbf173c9d00f558a1797c910e29306 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Costes?= Date: Wed, 3 Dec 2025 08:57:34 -0800 Subject: [PATCH 040/111] fix spaces before formulas --- docs/metrics/index.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/docs/metrics/index.md b/docs/metrics/index.md index e3b4dac..b768f0b 100644 --- a/docs/metrics/index.md +++ b/docs/metrics/index.md @@ -105,6 +105,7 @@ values are given as examples. **Range:** Same as range of $x$.
    **Units:** Same as input units.
    **Formula:** + $$ \bar x = \frac{1}{N} \sum_{i=1}^N x_i $$ @@ -115,6 +116,7 @@ $$ **Range:** Same as range of input values.
    **Units:** Same as input units.
    **Formula:** + $$ B = \bar x - \bar y $$ @@ -125,6 +127,7 @@ $$ **Range:** $[0, +\infty[$.
    **Units:** Same as input units.
    **Formula:** + $$ RMSE(x, y) = \sqrt{\frac{1}{N} \sum_{i=1}^N (x_i - y_i)^2} $$ @@ -135,6 +138,7 @@ $$ **Range:** $[0, +\infty)$.
    **Units:** Dimensionless.
    **Formula:** + $$ NMSE_p = \frac{RMSE(x, y)}{\max(y) - \min(y)} $$ @@ -144,6 +148,7 @@ $$ **Range:** $[0, +\infty)$ (undefined if $\bar x = 0$ or $\bar y = 0$).
    **Units:** Dimensionless.
    **Formula:** + $$ NMSE_r = \frac{RMSE(x, y)^2}{\bar x \, \bar y} $$ @@ -175,6 +180,7 @@ Where: **Range:** $[0, 1]$
    **Units:** Dimensionless.
    **Formula:** + $$ Accuracy = \frac{TP + TN}{TP + TN + FP + FN} $$ @@ -184,6 +190,7 @@ $$ **Range:** $[0, 1]$
    **Units:** Dimensionless.
    **Formula:** + $$ Precision = \frac{TP}{TP + FP}, $$ @@ -193,6 +200,7 @@ $$ **Range:** $[0, 1]$
    **Units:** Dimensionless.
    **Formula:** + $$ Recall = \frac{TP}{TP + FN}, $$ @@ -202,6 +210,7 @@ $$ **Range:** $[0, 1]$
    **Units:** Dimensionless.
    **Formula:** + $$ Specificity = \frac{TN}{TN + FP} $$ @@ -211,6 +220,7 @@ $$ **Range:** $[0, 1]$
    **Units:** Dimensionless.
    **Formula:** + $$ Negative Predictive Value = \frac{TN}{TN + FN} $$ @@ -220,6 +230,7 @@ $$ **Range:** $[0, 1]$
    **Units:** Dimensionless.
    **Formula:** + $$ F1 Score = \frac{2 \times Precision \times Recall}{Precision + Recall} $$ From d005b382cf04714af07d9a43f9b719f800a4fa6f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Costes?= Date: Wed, 3 Dec 2025 08:57:49 -0800 Subject: [PATCH 041/111] fix title numbering --- .github/actions/update_changelog_in_docs.py | 2 +- docs/dependencies.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/actions/update_changelog_in_docs.py b/.github/actions/update_changelog_in_docs.py index fb6450d..ece8c42 100644 --- a/.github/actions/update_changelog_in_docs.py +++ b/.github/actions/update_changelog_in_docs.py @@ -17,7 +17,7 @@ def update_changelog_in_docs(): changelog_content = root_file.read() # Front matter for the docs/changelog.md file - front_matter = """# 11. """ + front_matter = """# 12. """ # Combine front matter and changelog content full_changelog_content = front_matter + changelog_content[2:] diff --git a/docs/dependencies.md b/docs/dependencies.md index 4f4bcbd..c4e2f79 100644 --- a/docs/dependencies.md +++ b/docs/dependencies.md @@ -1,4 +1,4 @@ -# 12. Dependencies +# 13. Dependencies ## Required From 1a7e8b9389d50c3dbfcd5fc534efafe8e97a2735 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Costes?= Date: Wed, 3 Dec 2025 16:20:54 -0800 Subject: [PATCH 042/111] code formatting --- src/firebench/metrics/table.py | 21 +++++++++++++++------ src/firebench/signing/signing.py | 1 + 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/src/firebench/metrics/table.py b/src/firebench/metrics/table.py index 5fb9931..dffbfaa 100644 --- a/src/firebench/metrics/table.py +++ b/src/firebench/metrics/table.py @@ -13,10 +13,10 @@ def _score_to_color(score): """ if score < 33.33: return "#D6452A" - + if score < 66.66: return "#E8C441" - + return "#6BAF5F" @@ -79,7 +79,9 @@ def save_as_table(filename: Path, data: dict): # add group row group_score = data["score_card"][f"Score {group_name}"] group_rows.append(len(text_table)) - text_table.append([f"Group: {group_name}", "", f"{group_content["weight"]}", f"{group_score:.2f}"]) + text_table.append( + [f"Group: {group_name}", "", f"{group_content['weight']}", f"{group_score:.2f}"] + ) # add benchamrk rows for bench_id, bench_weight in group_content["benchmarks"].items(): for key, item in data["benchmarks"][bench_id].items(): @@ -89,7 +91,9 @@ def save_as_table(filename: Path, data: dict): else: # KPI kpi_score = item - text_table.append([f"{kpi_name}", f"{kpi_score:.2e}", f"{bench_weight}", f"{bench_score:.2f}"]) + text_table.append( + [f"{kpi_name}", f"{kpi_score:.2e}", f"{bench_weight}", f"{bench_score:.2f}"] + ) else: # Only print benchmarks for bench_id in data["benchmarks"].keys(): @@ -102,7 +106,12 @@ def save_as_table(filename: Path, data: dict): # footer text_table.append( - [f"FireBench version: {data['firebench_version']} case version: {data['case_version']}", "", "", ""] + [ + f"FireBench version: {data['firebench_version']} case version: {data['case_version']}", + "", + "", + "", + ] ) col_widths = [100 * mm, 20 * mm, 20 * mm, 20 * mm] @@ -135,7 +144,7 @@ def save_as_table(filename: Path, data: dict): # Fonts ("FONTNAME", (0, 0), (-1, -1), "Helvetica"), ("FONTSIZE", (0, 0), (-1, -1), 9), - ('FONT', (3,0), (3,0), 'Helvetica-Bold', 9), + ("FONT", (3, 0), (3, 0), "Helvetica-Bold", 9), ] for i in range(nb_rows - 3): diff --git a/src/firebench/signing/signing.py b/src/firebench/signing/signing.py index 308cdad..ec16535 100644 --- a/src/firebench/signing/signing.py +++ b/src/firebench/signing/signing.py @@ -7,6 +7,7 @@ except ImportError: _secret_key = None + def _canonical_json_dumps(data: dict) -> bytes: return json.dumps(data, sort_keys=True, separators=(",", ":")).encode("utf-8") From 11a9dbf2a688fccc3a2d87b5a1718d3c818ff305 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Costes?= Date: Thu, 4 Dec 2025 08:27:30 -0800 Subject: [PATCH 043/111] add scheme B and S for Caldor --- docs/benchmarks/California/01_Caldor.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/docs/benchmarks/California/01_Caldor.md b/docs/benchmarks/California/01_Caldor.md index c4060c7..faf7143 100644 --- a/docs/benchmarks/California/01_Caldor.md +++ b/docs/benchmarks/California/01_Caldor.md @@ -251,6 +251,20 @@ Building Damage | 1 | | Burn Severity | 1 | | | | | SV01 to SV06 | 1 +### Scheme B + +Group | Group Weight | Benchmark ID | Benchmark weight +---------------------- | ------------ | ------------ | ---------------- +Building Damage | 1 | | +| | | BD01 to BD06 | 1 + +### Scheme S + +Group | Group Weight | Benchmark ID | Benchmark weight +---------------------- | ------------ | ------------ | ---------------- +Burn Severity | 1 | | +| | | SV01 to SV06 | 1 + ## Notes - Each file hash has been performed using `firebench.standardize.calculate_sha256`. \ No newline at end of file From 05ec1c36668ccadee7039691a7831ff32f78ff73 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Costes?= Date: Mon, 8 Dec 2025 11:31:23 -0800 Subject: [PATCH 044/111] add benchmark in KPI links diagram --- docs/_static/images/Metrics_diagram.png | Bin 48572 -> 58088 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/docs/_static/images/Metrics_diagram.png b/docs/_static/images/Metrics_diagram.png index 87643db892d1e844ea8135ef16fc75d124653952..9cd07979be46edda128960a4a260cbada91daf38 100644 GIT binary patch literal 58088 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
    v~}Cw?7&KUPDG-JLj{j+?_SG=& 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 C=T~q5 literal 48572 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 Date: Mon, 8 Dec 2025 11:31:45 -0800 Subject: [PATCH 045/111] add merge_std_files --- src/firebench/standardize/__init__.py | 1 + src/firebench/standardize/files.py | 62 +++++++++++++++++++++++++-- src/firebench/standardize/tools.py | 2 +- 3 files changed, 61 insertions(+), 4 deletions(-) diff --git a/src/firebench/standardize/__init__.py b/src/firebench/standardize/__init__.py index baf4ab5..22a104f 100644 --- a/src/firebench/standardize/__init__.py +++ b/src/firebench/standardize/__init__.py @@ -14,4 +14,5 @@ from .files import ( new_std_file, merge_two_std_files, + merge_std_files, ) diff --git a/src/firebench/standardize/files.py b/src/firebench/standardize/files.py index f06a716..77e91d2 100644 --- a/src/firebench/standardize/files.py +++ b/src/firebench/standardize/files.py @@ -3,6 +3,8 @@ from .time import current_datetime_iso8601 from pathlib import Path from .tools import VERSION_STD, validate_h5_std, merge_authors, collect_conflicts, merge_trees +from pathlib import Path +import shutil def new_std_file(filepath: str, authors: str, overwrite: bool = False) -> h5py.File: @@ -13,7 +15,9 @@ def new_std_file(filepath: str, authors: str, overwrite: bool = False) -> h5py.F ----- Do not forget to close the file once edited. This function opens the h5 file but do not close it. """ - if Path(filepath).exists(): + new_file_path = Path(filepath) + new_file_path.parent.mkdir(parents=True, exist_ok=True) + if new_file_path.exists(): if overwrite: logger.info("file %s already exists and is being replaced.", filepath) else: @@ -53,9 +57,9 @@ def merge_two_std_files( # Check for any conflicts conflicts = collect_conflicts(file1, file2) if conflicts: - logger.error("Try to merge files but conflicts have been found.") + logger.critical("Try to merge files but conflicts have been found.") print(conflicts) - raise ValueError() + raise ValueError("Try to merge files but conflicts have been found.") # Find both list of authors merged_authors = merge_authors(file1.attrs["created_by"], file2.attrs["created_by"]) @@ -73,3 +77,55 @@ def merge_two_std_files( file2.close() merged_file.close() logger.info("Standard files merge successfull") + + +def merge_std_files( + filespath: list[str], filepath_target: str, merged_description: str = "", overwrite: bool = False +): + if not filespath: + raise ValueError("filespath must contain at least one file") + + input_paths = [Path(p) for p in filespath] + target_path = Path(filepath_target) + + for p in input_paths: + if not p.is_file(): + raise FileNotFoundError(f"Input file not found: {p}") + + # Single file: just copy it to target (no merge needed) + if len(input_paths) == 1: + if target_path.exists() and not overwrite: + raise FileExistsError(f"Target file already exists: {target_path}") + # Ensure parent directory exists + target_path.parent.mkdir(parents=True, exist_ok=True) + shutil.copy2(input_paths[0], target_path) + return + + tmp_path = target_path.with_suffix(target_path.suffix + ".tmp") + current_path = input_paths[0] + + try: + for i, next_path in enumerate(input_paths[1:], start=1): + is_last = i == len(input_paths) - 1 + + out_path = target_path if is_last else tmp_path + + # Always allow overwrite on intermediate/target files inside this routine + merge_two_std_files( + filepath_1=str(current_path), + filepath_2=str(next_path), + filepath_target=str(out_path), + merged_description=merged_description, + overwrite=True, + ) + + current_path = out_path + + finally: + # Clean up temporary file if it exists + if tmp_path.exists(): + try: + tmp_path.unlink() + except OSError: + # If removal fails, we silently ignore; nothing critical. + pass diff --git a/src/firebench/standardize/tools.py b/src/firebench/standardize/tools.py index 98f997a..cb2041e 100644 --- a/src/firebench/standardize/tools.py +++ b/src/firebench/standardize/tools.py @@ -22,7 +22,7 @@ ) IGNORE_ATTRIBUTES = { - "/": {"created_on", "created_by", "FireBench_io_version"}, + "/": {"created_on", "created_by", "FireBench_io_version", "description"}, } From 8bfbfa7dc468a8701a2bda15061010f7befdd249 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Costes?= Date: Mon, 8 Dec 2025 16:34:34 -0800 Subject: [PATCH 046/111] refactor score and metric docs into mutliple pages --- docs/benchmarks/California/01_Caldor.md | 12 + docs/metrics/index.md | 592 +----------------------- docs/metrics/kpis.md | 295 ++++++++++++ docs/metrics/metrics.md | 146 ++++++ docs/metrics/normalization.md | 51 ++ docs/metrics/score.md | 70 +++ 6 files changed, 593 insertions(+), 573 deletions(-) create mode 100644 docs/metrics/kpis.md create mode 100644 docs/metrics/metrics.md create mode 100644 docs/metrics/normalization.md create mode 100644 docs/metrics/score.md diff --git a/docs/benchmarks/California/01_Caldor.md b/docs/benchmarks/California/01_Caldor.md index faf7143..f97f698 100644 --- a/docs/benchmarks/California/01_Caldor.md +++ b/docs/benchmarks/California/01_Caldor.md @@ -94,36 +94,42 @@ See Key Performance Indicator (KPI) and normalization defintions [here](../../me **KPI**: Binary Structure Loss Accuracy
    **Normalization**: Linear Bounded Normalization with $a=0$, $b=1$
    +**Name in Score Card**: Binary Structure Loss Accuracy
    This benchmark is performed on the binary classes for damaged buildings. #### FB001-BD02 **KPI**: Binary Structure Loss Precision
    **Normalization**: Linear Bounded Normalization with $a=0$, $b=1$
    +**Name in Score Card**: Binary Structure Loss Precision
    This benchmark is performed on the binary classes for damaged buildings. #### FB001-BD03 **KPI**: Binary Structure Loss Recall
    **Normalization**: Linear Bounded Normalization with $a=0$, $b=1$
    +**Name in Score Card**: Binary Structure Loss Recall
    This benchmark is performed on the binary classes for damaged buildings. #### FB001-BD04 **KPI**: Binary Structure Loss Specificity
    **Normalization**: Linear Bounded Normalization with $a=0$, $b=1$
    +**Name in Score Card**: Binary Structure Loss Specificity
    This benchmark is performed on the binary classes for damaged buildings. #### FB001-BD05 **KPI**: Binary Structure Loss Negative Predictive Value
    **Normalization**: Linear Bounded Normalization with $a=0$, $b=1$
    +**Name in Score Card**: Binary Structure Loss Negative Predictive Value
    This benchmark is performed on the binary classes for damaged buildings. #### FB001-BD06 **KPI**: Binary Structure Loss F1 Score
    **Normalization**: Linear Bounded Normalization with $a=0$, $b=1$
    +**Name in Score Card**: Binary Structure Loss F1 Score
    This benchmark is performed on the binary classes for damaged buildings. @@ -181,36 +187,42 @@ See Key Performance Indicator (KPI) and normalization defintions [here](../../me **KPI**: Binary High Severity Accuracy
    **Normalization**: Linear Bounded Normalization with $a=0$, $b=1$
    +**Name in Score Card**: Binary High Severity Accuracy
    This benchmark is performed on the binary classes for high severity points (Binary High severity processed variable) #### FB001-SV02 **KPI**: Binary High Severity Precision
    **Normalization**: Linear Bounded Normalization with $a=0$, $b=1$
    +**Name in Score Card**: Binary High Severity Precision
    This benchmark is performed on the binary classes for high severity points (Binary High severity processed variable) #### FB001-SV03 **KPI**: Binary High Severity Recall
    **Normalization**: Linear Bounded Normalization with $a=0$, $b=1$
    +**Name in Score Card**: Binary High Severity Recall
    This benchmark is performed on the binary classes for high severity points (Binary High severity processed variable) #### FB001-SV04 **KPI**: Binary High Severity Specificity
    **Normalization**: Linear Bounded Normalization with $a=0$, $b=1$
    +**Name in Score Card**: Binary High Severity Specificity
    This benchmark is performed on the binary classes for high severity points (Binary High severity processed variable) #### FB001-SV05 **KPI**: Binary High Severity Negative Predictive Value
    **Normalization**: Linear Bounded Normalization with $a=0$, $b=1$
    +**Name in Score Card**: Binary High Severity Negative Predictive Value
    This benchmark is performed on the binary classes for high severity points (Binary High severity processed variable) #### FB001-SV06 **KPI**: Binary High Severity F1 Score
    **Normalization**: Linear Bounded Normalization with $a=0$, $b=1$
    +**Name in Score Card**: Binary High Severity F1 Score
    This benchmark is performed on the binary classes for high severity points (Binary High severity processed variable) ## Requirements diff --git a/docs/metrics/index.md b/docs/metrics/index.md index b768f0b..e0a2c67 100644 --- a/docs/metrics/index.md +++ b/docs/metrics/index.md @@ -3,6 +3,25 @@ This section describes the high-level metrics available in `FireBench`, listed a KPIs are based on metrics that correspond to the generalization of quantitative comparison of multiple datasets. The KPI value can be normalized and multiple KPIs can be aggregated to construct a score. +We introduce the following definition: +- Metric is a quantifiable measure used to evaluate the performance. +- Key Performance Indicator (KPI) is derived from one or several metrics and describes one quantitative evaluation associated to specific variables (1 number out). +- Score is a number between 0 and 100, with 100 being best performance, allowing for comparison and aggregation. +- Normalization is the process to convert a KPI value (not necessarily bounded) to a Score (bounded between 0 and 100). +- Aggregation is the weighted combination of multiple Scores to form one Score reflecting global performance. Aggregation is done at group of KPIs level (Group Score) and global level (Total Score) +- Benchmark is the group KPI + Normalization. + +**More information about the components in the following pages** +```{toctree} +:maxdepth: 1 + +score.md +metrics.md +kpis.md +normalization.md +``` + + Figure 1 shows the relationship between the different quantitative components. Each KPI is form by using one or several metrics. The output from the KPI can be normalized using a normalization function to form a score. ![blockdiagram](../_static/images/Metrics_diagram.png) @@ -17,577 +36,4 @@ Figure 1 shows the relationship between the different quantitative components. E

    For implementation details, refer to the [API references](../api/index.rst). - A full list of metrics is also available on the [Content page](../content.md). - -## Scores - -This section details the processes used to construct a unique score for each benchmark case from the set of KPIs contained in the benchmark case. -A `Score` is defined as a real number, with 4 significant digit, between 0.000 (worst) and 100.0 (best). -Scores are derived from KPI values and allow the comparison of models and benchmark results. -As a KPI value is not necessarily a number that is compliant with the score definition, a `normalization` process is required to convert a KPI value to a score, called `Unit Score`. - -$$ -KPI \overset{Normalization}{\longmapsto} Unit Score -$$ - -The different normalization functions available are described in Section `KPI Normalization`. - -Each KPI is transformed into a `Unit Score`, corresponding to one, and only one, KPI. -To further simplify the interpretation the result of multiple benchmarks, these Unit Scores can be aggregated to form `Group Scores`. They represent the overall performance accross multiple indicators, generally evaluating the model for similar physical processes or on the same data. -The `Total Score` is the aggregation of all group scores into one, and only one, score, representing the overall performance of the model for the studied case. - -Figure 1 shows an example of normalization of each KPI for the case *FB001*. Each KPI is normalized into a Unit Score. Then Unit Scores are aggregated into two Group Scores representing the overall performance for *Building Damaged* benchmarks and *Burn Severity* benchmarks. Finally, both Group Scores are aggregated to form the Total Score. -![blockdiagram](../_static/images/Scoring_diagram.png) -

    - - Fig. 1 - - : - - Diagram of Scores construction from KPIs using two categories of KPI (BD: Building Damaged, SV: Burn Severity). - -

    - -The aggregation can be performed using multiple aggregation schemes. The simplest scheme is to aggregate score using a mean function. This gives the same weight to each KPI in the Total Score. We can also develop more complex aggregation schemes to give more weight to certain benchmarks/KPIs. Therefore, for each benchmarking case (collection of dataset and KPIs), we can define multiple aggregation schemes to evaluate different classes of models. Each aggregation scheme will be noted using a letter. For example `FB001-A`, `FB001-B`. - - -Figure 2 shows exmaple of KPI values and their correspond range between brackets. The KPI FB001-BD01 has a value of 0.34763 and a range of [0, 1] (FB001-BD01 can represent a binary confusion matrix index), whereas the KPI FB001-SV03 has a value of 3.489 and a range of [0, $+\infty$[ (FB001-SV03 can represent an absolute bias). All KPI with a limited range of values are normaized using the linear normalization function (see next Section). The KPI FB001-SV03 is normalized using the linear semi bounded normization function with a parameter $M=5$, which means that if the KPI value is above 5, the score will be 0. -Then, Unit Scores are aggregated using uniform weights (represented by the green numbers above aggregation lines) to form Group Scores. -Finally, a weighted aggregation is performed to calculate the Total Score of the case, giving an double importance to benchmarks related to **Building Damaged*. -The list of aggregation scheme and their weights are explicitely defined in the case documentation. - -![blockdiagram](../_static/images/Scoring_diagram_example.png) -

    - - Fig. 2 - - : - - Example of Scores construction from KPIs using two categories of KPI. - -

    - -Figure 3 displays an `Score Card` that is a table representing the data showed in Figure 2. This type of score card can become the standard of presentation for case results. The first row shows the total score and contains the case that has been run (FB001), the aggregation scheme used (B, defined in the case documentation), the model name, and the total score calculated in Figure 2. -The rest of the table is organized as: -- one group row that describes the name of the group and the associated score. A keyword **Group** is added to emphasis the row. -- All the benchmark scores related to the group are displayed after. The name of the benchmark is added as a reference. Here the case id (FB001) is omitted for clarity as it is already displayed in the first row. - - -![blockdiagram](../_static/images/Score_card_example.png) -

    - - Fig. 3 - - : - - Example of Score card layout - -

    - -```{note} -Note: The example here above are not related to the real case FB001 (Caldor Fire) and all KPI names and -values are given as examples. -``` - -## Metrics - -### 1D metrics - -**Input:** Two 1D vectors of size $N$: - -- $x_i$: evaluated dataset -- $y_i$: reference dataset - -#### Mean - -**Description:** Average value of a 1D vector $x$.
    -**Range:** Same as range of $x$.
    -**Units:** Same as input units.
    -**Formula:** - -$$ -\bar x = \frac{1}{N} \sum_{i=1}^N x_i -$$ - -#### Bias - -**Description:** Difference between the mean of $x$ and the mean of $y$.
    -**Range:** Same as range of input values.
    -**Units:** Same as input units.
    -**Formula:** - -$$ -B = \bar x - \bar y -$$ - -#### Root Mean Square Error - -**Description:** Square root of the mean squared difference between (x) and (y), noted RMSE.
    -**Range:** $[0, +\infty[$.
    -**Units:** Same as input units.
    -**Formula:** - -$$ -RMSE(x, y) = \sqrt{\frac{1}{N} \sum_{i=1}^N (x_i - y_i)^2} -$$ - -#### Normalized MSE - power normalization - -**Description:** RMSE normalized by the range of the reference dataset.
    -**Range:** $[0, +\infty)$.
    -**Units:** Dimensionless.
    -**Formula:** - -$$ -NMSE_p = \frac{RMSE(x, y)}{\max(y) - \min(y)} -$$ - -#### Normalized MSE – range normalization -**Description:** Squared RMSE normalized by the product of mean values of the datasets.
    -**Range:** $[0, +\infty)$ (undefined if $\bar x = 0$ or $\bar y = 0$).
    -**Units:** Dimensionless.
    -**Formula:** - -$$ -NMSE_r = \frac{RMSE(x, y)^2}{\bar x \, \bar y} -$$ - - -### Binary Confusion Matrix - -**Input:** Two 1D binary vectors (0 or 1) of size $N$: - -- $x_i$: evaluated dataset -- $y_i$: reference dataset - -The following metrics are derived from the [Binary confusion matrix](https://en.wikipedia.org/wiki/Confusion_matrix#Table_of_confusion) generated from both dataset. The Binary confusion matrix is a 2x2 matrix containing: - -| | Reference = 1 | Reference = 0 | -| ------------ | ------------- | ------------- | -| **Eval = 1** | TP | FP | -| **Eval = 0** | FN | TN | - -Where: -- TP: True Positive -- FP: False Positive -- FN: False Negative -- TN: True Negative - -#### Accuracy - -**Description:** Fraction of correct predictions among all samples (see [accuracy](https://en.wikipedia.org/wiki/Accuracy_and_precision#In_classification)).
    -**Range:** $[0, 1]$
    -**Units:** Dimensionless.
    -**Formula:** - -$$ -Accuracy = \frac{TP + TN}{TP + TN + FP + FN} -$$ - -#### Precision -**Description:** Fraction of predicted positives that are true positives (see [precision](https://en.wikipedia.org/wiki/Positive_and_negative_predictive_values#Definition)).
    -**Range:** $[0, 1]$
    -**Units:** Dimensionless.
    -**Formula:** - -$$ -Precision = \frac{TP}{TP + FP}, -$$ - -#### Recall -**Description:** Fraction of actual positives correctly identified (see [recall](https://en.wikipedia.org/wiki/Precision_and_recall)). Recall can also be named Sensitivity or True Positive Rate.
    -**Range:** $[0, 1]$
    -**Units:** Dimensionless.
    -**Formula:** - -$$ -Recall = \frac{TP}{TP + FN}, -$$ - -#### Specificity -**Description:** Fraction of actual negatives correctly identified (see [specificity](https://en.wikipedia.org/wiki/Sensitivity_and_specificity)). Recall can also be named True Negative Rate.
    -**Range:** $[0, 1]$
    -**Units:** Dimensionless.
    -**Formula:** - -$$ -Specificity = \frac{TN}{TN + FP} -$$ - -#### Negative Predictive Value -**Description:** Fraction of predicted negatives that are true negatives (see [Negative Predictive Value](https://en.wikipedia.org/wiki/Positive_and_negative_predictive_values)).
    -**Range:** $[0, 1]$
    -**Units:** Dimensionless.
    -**Formula:** - -$$ -Negative Predictive Value = \frac{TN}{TN + FN} -$$ - -#### F1 Score -**Description:** Harmonic mean of Precision and Recall (see [F1 Score](https://en.wikipedia.org/wiki/F-score)).
    -**Range:** $[0, 1]$
    -**Units:** Dimensionless.
    -**Formula:** - -$$ -F1 Score = \frac{2 \times Precision \times Recall}{Precision + Recall} -$$ - -### Time related - -#### Time above threshold - -## KPI Normalization - -This section describes several normalization schemes used to convert KPI values into a score in the range ([0, 100]). -Throughout, $x$ denotes the KPI value. - -### Linear Bounded Normalization - -For KPIs with a **bounded acceptable range** $[a, b]$, with $a < b$, the normalization function is defined as: - -$$ -\mathcal N(x, a, b) = 100 \, \left( \frac{x - a}{b - a} \right) -$$ - -Here, -- $a$ corresponds to the **worst** score (0), -- $b$ corresponds to the **best** score (100). - -### Linear Half-Open Normalization - -For KPIs that have a **minimum acceptable value** $a$ but no finite upper limit, i.e. values in $[a, +\infty[$, we define: - -$$ -\mathcal N(x, a, m) = 100 \, \max \left(0, 1 - \frac{x-a}{m-a} \right) -$$ - -where $m > a$ is a parameter specifying the value of $x$ at which the score reaches **0**. - -Here, -- $a$ corresponds to the **best** score (100), -- $m$ corresponds to the **worst** score (0). - -### Exponential Half-Open Normalization - -For KPIs with a minimum acceptable value $a$ and domain $[a, +\infty[$, we define an exponentially decaying score: - -$$ -\mathcal N(x, a, m) =100 \, \exp \left( - \frac{\ln 2(x-a)}{m-a} \right). -$$ - -This formulation ensures: - -$$ -\mathcal N(a,a,m) = 100, \qquad -\mathcal N(m,a,m) = 50. -$$ - -Thus, $m$ is the KPI value at which the score is exactly **50**. -Here, -- $a$ corresponds to the **best** possible score (100), -- $m$ corresponds to the value at which the score has decreased to **50**, -- scores decay smoothly toward 0 as $x \to +\infty$. - -## Key Performance Indicator Definitions - -### Burn Severity KPIs - -#### Binary High Severity Accuracy - -*Category*: Burn Severity
    -*Name used in result files*: Binary High Severity Accuracy
    -*Best*: 1
    -*Worst*: 0 - -Measure how accurately the model predicts which point are identified as high severity, based on binary (high severity / not high severity) observations. - -The measure of [accuracy](https://en.wikipedia.org/wiki/Accuracy_and_precision#In_classification) is based on the [Binary confusion matrix](https://en.wikipedia.org/wiki/Confusion_matrix#Table_of_confusion) generated from an observational dataset and a model output dataset. - -$$ -Accuracy = \frac{TP + TN}{TP + TN + FP + FN}, -$$ -where $TP$ = True positive (high severity in both datasets); $FP$ = False positive (high severity only in model dataset); $TN$ = True negative (not high severity in both datasets); $FN$ = False negative (high severity only in observational datasets) - -The implementation of this KPI is done using the `firebench.metrics.confusion_matrix.binary_cm` function and `firebench.metrics.confusion_matrix.binary_accurary` functions (see API documentation for implementation). If some data processing (e.g., for category aggregation) is required, this process is described at the case level. - -#### Binary High Severity Precision - -*Category*: Burn Severity
    -*Name used in result files*: Binary High Severity Precision
    -*Best*: 1
    -*Worst*: 0 - -Measures how accurately the model predicts which cells are high severity, by evaluating the proportion of predicted high severity points that were actually high severity. - -The measure of [precision](https://en.wikipedia.org/wiki/Positive_and_negative_predictive_values#Definition) is based on the [Binary confusion matrix](https://en.wikipedia.org/wiki/Confusion_matrix#Table_of_confusion) generated from an observational dataset and a model output dataset. - -$$ -Precision = \frac{TP}{TP + FP}, -$$ -where $TP$ = True positive (high severity in both datasets); $FP$ = False positive (high severity only in model dataset) - -The implementation of this KPI is done using the `firebench.metrics.confusion_matrix.binary_cm` function and `firebench.metrics.confusion_matrix.binary_precision` functions (see API documentation for implementation). If some data processing (e.g., for category aggregation) is required, this process is described at the case level. - -#### Binary High Severity Recall - -*Category*: Burn Severity
    -*Name used in result files*: Binary High Severity Recall
    -*Best*: 1
    -*Worst*: 0 - -Measures how completely the model captures the cells with a high severity index, indicating the fraction of truly high severity cells that the model successfully identifies. - -The measure of [recall](https://en.wikipedia.org/wiki/Precision_and_recall) is based on the [Binary confusion matrix](https://en.wikipedia.org/wiki/Confusion_matrix#Table_of_confusion) generated from an observational dataset and a model output dataset. - -$$ -Recall = \frac{TP}{TP + FN}, -$$ -where $TP$ = True positive (high severity in both datasets); $FN$ = False negative (high severity only in observational datasets) - -The implementation of this KPI is done using the `firebench.metrics.confusion_matrix.binary_cm` function and `firebench.metrics.confusion_matrix.binary_recall_rate` functions (see API documentation for implementation). If some data processing (e.g., for category aggregation) is required, this process is described at the case level. - -#### Binary High Severity Specificity - -*Category*: Burn Severity
    -*Name used in result files*: Binary High Severity Specificity
    -*Best*: 1
    -*Worst*: 0 - -Measures how accurately the model identifies cells with another severity index than high, by quantifying the fraction of other indices correctly predicted as other (not high). - -The measure of [specificity](https://en.wikipedia.org/wiki/Sensitivity_and_specificity) is based on the [Binary confusion matrix](https://en.wikipedia.org/wiki/Confusion_matrix#Table_of_confusion) generated from an observational dataset and a model output dataset. - -$$ -Specificity = \frac{TN}{TN + FP} -$$ -where $FP$ = False positive (high severity only in model dataset); $TN$ = True negative (not high severity in both datasets) - -The implementation of this KPI is done using the `firebench.metrics.confusion_matrix.binary_cm` function and `firebench.metrics.confusion_matrix.binary_specificity` functions (see API documentation for implementation). If some data processing (e.g., for category aggregation) is required, this process is described at the case level. - -#### Binary High Severity Negative Predictive Value - -*Category*: Burn Severity
    -*Name used in result files*: Binary High Severity Negative Predictive Value
    -*Best*: 1
    -*Worst*: 0 - -Measures the reliability of the model’s predictions for cells identified with another severuty index than high, indicating the proportion of points predicted index as other (not high) that were indeed observed as other. - -The measure of [Negative Predictive Value](https://en.wikipedia.org/wiki/Positive_and_negative_predictive_values) is based on the [Binary confusion matrix](https://en.wikipedia.org/wiki/Confusion_matrix#Table_of_confusion) generated from an observational dataset and a model output dataset. - -$$ -Negative Predictive Value = \frac{TN}{TN + FN} -$$ -where $TN$ = True negative (not high severity in both datasets); $FN$ = False negative (high severity only in observational datasets) - -The implementation of this KPI is done using the `firebench.metrics.confusion_matrix.binary_cm` function and `firebench.metrics.confusion_matrix.binary_negative_predicted_value` functions (see API documentation for implementation). If some data processing (e.g., for category aggregation) is required, this process is described at the case level. - -#### Binary High Severity F1 Score - -*Category*: Burn Severity
    -*Name used in result files*: Binary High Severity F1 Score
    -*Best*: 1
    -*Worst*: 0 - -Provides a balanced measure of model performance by combining precision and recall, capturing how well the model identifies high severity cells while limiting false alarms. - -The measure of [F1 Score](https://en.wikipedia.org/wiki/F-score) is based on the [Binary confusion matrix](https://en.wikipedia.org/wiki/Confusion_matrix#Table_of_confusion) generated from an observational dataset and a model output dataset. - -$$ -F1 Score = \frac{2 \times Precision \times Recall}{Precision + Recall} -$$ - -The implementation of this KPI is done using the `firebench.metrics.confusion_matrix.binary_cm` function and `firebench.metrics.confusion_matrix.binary_f_score` functions (see API documentation for implementation). If some data processing (e.g., for category aggregation) is required, this process is described at the case level. - -### Structure Loss KPIs - -#### Binary Structure Loss Accuracy - -*Category*: Structure Damage
    -*Name used in result files*: Binary Structure Loss Accuracy
    -*Best*: 1
    -*Worst*: 0 - -Measure how accurately the model predicts which structures are destroyed or not destroyed by the fire, based on binary (burned / not burned) observations. - -The measure of [accuracy](https://en.wikipedia.org/wiki/Accuracy_and_precision#In_classification) is based on the [Binary confusion matrix](https://en.wikipedia.org/wiki/Confusion_matrix#Table_of_confusion) generated from an observational dataset and a model output dataset. - -$$ -Accuracy = \frac{TP + TN}{TP + TN + FP + FN}, -$$ -where $TP$ = True positive (buildings destroyed in both datasets); $FP$ = False positive (buildings destroyed only in model dataset); $TN$ = True negative (buildings not damaged in both datasets); $FN$ = False negative (buildings destroyed only in observational datasets) - -The implementation of this KPI is done using the `firebench.metrics.confusion_matrix.binary_cm` function and `firebench.metrics.confusion_matrix.binary_accurary` functions (see API documentation for implementation). If some data processing (e.g., for category aggregation) is required, this process is described at the case level. - -#### Binary Structure Loss Precision - -*Category*: Structure Damage
    -*Name used in result files*: Binary Structure Loss Precision
    -*Best*: 1
    -*Worst*: 0 - -Measures how accurately the model predicts which structures are destroyed, by evaluating the proportion of predicted-destroyed buildings that were actually destroyed. - -The measure of [precision](https://en.wikipedia.org/wiki/Positive_and_negative_predictive_values#Definition) is based on the [Binary confusion matrix](https://en.wikipedia.org/wiki/Confusion_matrix#Table_of_confusion) generated from an observational dataset and a model output dataset. - -$$ -Precision = \frac{TP}{TP + FP}, -$$ -where $TP$ = True positive (buildings destroyed in both datasets); $FP$ = False positive (buildings destroyed only in model dataset). - -The implementation of this KPI is done using the `firebench.metrics.confusion_matrix.binary_cm` function and `firebench.metrics.confusion_matrix.binary_precision` functions (see API documentation for implementation). If some data processing (e.g., for category aggregation) is required, this process is described at the case level. - - -#### Binary Structure Loss Recall - -*Category*: Structure Damage
    -*Name used in result files*: Binary Structure Loss Recall
    -*Best*: 1
    -*Worst*: 0 - -Measures how completely the model captures the buildings that were actually destroyed, indicating the fraction of truly destroyed structures that the model successfully identifies. - -The measure of [recall](https://en.wikipedia.org/wiki/Precision_and_recall) is based on the [Binary confusion matrix](https://en.wikipedia.org/wiki/Confusion_matrix#Table_of_confusion) generated from an observational dataset and a model output dataset. - -$$ -Recall = \frac{TP}{TP + FN}, -$$ -where $TP$ = True positive (buildings destroyed in both datasets); $FN$ = False negative (buildings destroyed only in observational datasets) - -The implementation of this KPI is done using the `firebench.metrics.confusion_matrix.binary_cm` function and `firebench.metrics.confusion_matrix.binary_recall_rate` functions (see API documentation for implementation). If some data processing (e.g., for category aggregation) is required, this process is described at the case level. - -#### Binary Structure Loss Specificity - -*Category*: Structure Damage
    -*Name used in result files*: Binary Structure Loss Specificity
    -*Best*: 1
    -*Worst*: 0 - -Measures how accurately the model identifies buildings that survived, by quantifying the fraction of intact structures correctly predicted as not destroyed. - -The measure of [specificity](https://en.wikipedia.org/wiki/Sensitivity_and_specificity) is based on the [Binary confusion matrix](https://en.wikipedia.org/wiki/Confusion_matrix#Table_of_confusion) generated from an observational dataset and a model output dataset. - -$$ -Specificity = \frac{TN}{TN + FP} -$$ -where $FP$ = False positive (buildings destroyed only in model dataset); $TN$ = True negative (buildings not damaged in both datasets). - -The implementation of this KPI is done using the `firebench.metrics.confusion_matrix.binary_cm` function and `firebench.metrics.confusion_matrix.binary_specificity` functions (see API documentation for implementation). If some data processing (e.g., for category aggregation) is required, this process is described at the case level. - -#### Binary Structure Loss Negative Predictive Value - -*Category*: Structure Damage
    -*Name used in result files*: Binary Structure Loss Negative Predictive Value
    -*Best*: 1
    -*Worst*: 0 - -Measures the reliability of the model’s predictions for surviving structures, indicating the proportion of predicted-intact buildings that were indeed not destroyed. - -The measure of [Negative Predictive Value](https://en.wikipedia.org/wiki/Positive_and_negative_predictive_values) is based on the [Binary confusion matrix](https://en.wikipedia.org/wiki/Confusion_matrix#Table_of_confusion) generated from an observational dataset and a model output dataset. - -$$ -Negative Predictive Value = \frac{TN}{TN + FN} -$$ -where $TN$ = True negative (buildings not damaged in both datasets); $FN$ = False negative (buildings destroyed only in observational datasets). - -The implementation of this KPI is done using the `firebench.metrics.confusion_matrix.binary_cm` function and `firebench.metrics.confusion_matrix.binary_negative_predicted_value` functions (see API documentation for implementation). If some data processing (e.g., for category aggregation) is required, this process is described at the case level. - -#### Binary Structure Loss F1 Score - -*Category*: Structure Damage
    -*Name used in result files*: Binary Structure Loss F1 Score
    -*Best*: 1
    -*Worst*: 0 - -Provides a balanced measure of model performance by combining precision and recall, capturing how well the model identifies destroyed buildings while limiting false alarms. - -The measure of [F1 Score](https://en.wikipedia.org/wiki/F-score) is based on the [Binary confusion matrix](https://en.wikipedia.org/wiki/Confusion_matrix#Table_of_confusion) generated from an observational dataset and a model output dataset. - -$$ -F1 Score = \frac{2 \times Precision \times Recall}{Precision + Recall} -$$ - -The implementation of this KPI is done using the `firebench.metrics.confusion_matrix.binary_cm` function and `firebench.metrics.confusion_matrix.binary_f_score` functions (see API documentation for implementation). If some data processing (e.g., for category aggregation) is required, this process is described at the case level. - -### Weather stations KPIs - -#### 24h forecast Wind Speed Bias Average - -*Category*: Weather Stations
    -*Name used in result files*: 24h forecast Wind Speed Bias Average
    -*Best*: 0
    -*Worst*: increasing $|bias|$
    -*Parameters*: -- $t_s$: 24h period starting time - -Provides the average bias over multiple weather stations over a period 24h for wind speed. - -The average bias is calculated as: - -$$ -\overline{Bias} = \frac{1}{N_s} \sum_{k=1}^{N_s} \frac{1}{N_t} \sum_{i=1}^{N_t} (m_{ki} - o_{ki}) -$$ -where $N_s$ is the number of weather stations, $N_t$ is the number of time step over the 24h period, $m_{ki}$ is the model data for station $k$ at time step $i$, and $o_{ki}$ is the observation data for station $k$ at time step $i$. - -The implementation of this KPI is done using `firebench.metrics.stats.bias`. - -#### 24h forecast Wind Speed RMSE Average - -*Category*: Weather Stations
    -*Name used in result files*: 24h forecast Wind Speed RMSE Average
    -*Best*: 0
    -*Worst*: increasing $|bias|$
    -*Parameters*: -- $t_s$: 24h period starting time - -Provides the average RMSE over multiple weather stations over a period 24h for wind speed. - -The average RMSE is calculated as: - -$$ -\overline{RMSE} = \frac{1}{N_s} \sum_{k=1}^{N_s} \sqrt{\frac{1}{N_t} \sum_{i=1}^{N_t} (m_{ki} - o_{ki})^2} -$$ -where $N_s$ is the number of weather stations, $N_t$ is the number of time step over the 24h period, $m_{ki}$ is the model data for station $k$ at time step $i$, and $o_{ki}$ is the observation data for station $k$ at time step $i$. - -The implementation of this KPI is done using `firebench.metrics.stats.rmse`. - -#### 24h forecast Wind Direction RMSE Average - -*Category*: Weather Stations
    -*Name used in result files*: 24h forecast Wind Direction RMSE Average
    -*Best*: 0
    -*Worst*: increasing $|bias|$
    -*Parameters*: -- $t_s$: 24h period starting time - - -Wind direction difference is calculated as -$$ -d_{wd} = ((x - y + 180) \mod 360 ) - 180 -$$ - -#### 24h forecast Wind Gust RMSE Average - -*Category*: Weather Stations
    -*Name used in result files*: 24h forecast Wind Gust RMSE Average
    -*Best*: 0
    -*Worst*: increasing $|bias|$
    -*Parameters*: -- $t_s$: 24h period starting time - -#### 24h forecast Sustained Wind Speed Average - -*Category*: Weather Stations
    -*Name used in result files*: 24h forecast Wind Gust RMSE Average
    -*Best*: 0
    -*Worst*: increasing $|bias|$
    -*Parameters*: -- $t_s$: 24h period starting time -- $U_0$: Value of thresehold - -Calculate the amount of time when the wind speed is above a defined threshold. Compare this time to observation and average it over multiple weather stations. - - diff --git a/docs/metrics/kpis.md b/docs/metrics/kpis.md new file mode 100644 index 0000000..4918374 --- /dev/null +++ b/docs/metrics/kpis.md @@ -0,0 +1,295 @@ +# Key Performance Indicator Definitions + +This section describes the Key Performance Indicators (KPI) used within FireBench benchmarks. +KPIs are grouped by context. Output bounds are given as `worst` and `best` values. + +KPIs can be described as: +- Template: generic definition of a KPI. It can be related to generic input variable(s) and have parameters. +- Intance: the final form of a KPI that can be used in a benchmark. It has explicitly defined input variable(s) and no parameters. + +## Burn Severity + +### Binary High Severity Accuracy + +*Type*: Instance
    +*Best*: 1
    +*Worst*: 0 + +Measure how accurately the model predicts which point are identified as high severity, based on binary (high severity / not high severity) observations. + +The measure of [accuracy](https://en.wikipedia.org/wiki/Accuracy_and_precision#In_classification) is based on the [Binary confusion matrix](https://en.wikipedia.org/wiki/Confusion_matrix#Table_of_confusion) generated from an observational dataset and a model output dataset. + +$$ +Accuracy = \frac{TP + TN}{TP + TN + FP + FN}, +$$ +where $TP$ = True positive (high severity in both datasets); $FP$ = False positive (high severity only in model dataset); $TN$ = True negative (not high severity in both datasets); $FN$ = False negative (high severity only in observational datasets) + +The implementation of this KPI is done using the `firebench.metrics.confusion_matrix.binary_cm` function and `firebench.metrics.confusion_matrix.binary_accurary` functions (see API documentation for implementation). If some data processing (e.g., for category aggregation) is required, this process is described at the case level. + +### Binary High Severity Precision + +*Type*: Instance
    +*Best*: 1
    +*Worst*: 0 + +Measures how accurately the model predicts which cells are high severity, by evaluating the proportion of predicted high severity points that were actually high severity. + +The measure of [precision](https://en.wikipedia.org/wiki/Positive_and_negative_predictive_values#Definition) is based on the [Binary confusion matrix](https://en.wikipedia.org/wiki/Confusion_matrix#Table_of_confusion) generated from an observational dataset and a model output dataset. + +$$ +Precision = \frac{TP}{TP + FP}, +$$ +where $TP$ = True positive (high severity in both datasets); $FP$ = False positive (high severity only in model dataset) + +The implementation of this KPI is done using the `firebench.metrics.confusion_matrix.binary_cm` function and `firebench.metrics.confusion_matrix.binary_precision` functions (see API documentation for implementation). If some data processing (e.g., for category aggregation) is required, this process is described at the case level. + +### Binary High Severity Recall + +*Type*: Instance
    +*Best*: 1
    +*Worst*: 0 + +Measures how completely the model captures the cells with a high severity index, indicating the fraction of truly high severity cells that the model successfully identifies. + +The measure of [recall](https://en.wikipedia.org/wiki/Precision_and_recall) is based on the [Binary confusion matrix](https://en.wikipedia.org/wiki/Confusion_matrix#Table_of_confusion) generated from an observational dataset and a model output dataset. + +$$ +Recall = \frac{TP}{TP + FN}, +$$ +where $TP$ = True positive (high severity in both datasets); $FN$ = False negative (high severity only in observational datasets) + +The implementation of this KPI is done using the `firebench.metrics.confusion_matrix.binary_cm` function and `firebench.metrics.confusion_matrix.binary_recall_rate` functions (see API documentation for implementation). If some data processing (e.g., for category aggregation) is required, this process is described at the case level. + +### Binary High Severity Specificity + +*Type*: Instance
    +*Best*: 1
    +*Worst*: 0 + +Measures how accurately the model identifies cells with another severity index than high, by quantifying the fraction of other indices correctly predicted as other (not high). + +The measure of [specificity](https://en.wikipedia.org/wiki/Sensitivity_and_specificity) is based on the [Binary confusion matrix](https://en.wikipedia.org/wiki/Confusion_matrix#Table_of_confusion) generated from an observational dataset and a model output dataset. + +$$ +Specificity = \frac{TN}{TN + FP} +$$ +where $FP$ = False positive (high severity only in model dataset); $TN$ = True negative (not high severity in both datasets) + +The implementation of this KPI is done using the `firebench.metrics.confusion_matrix.binary_cm` function and `firebench.metrics.confusion_matrix.binary_specificity` functions (see API documentation for implementation). If some data processing (e.g., for category aggregation) is required, this process is described at the case level. + +### Binary High Severity Negative Predictive Value + +*Type*: Instance
    +*Best*: 1
    +*Worst*: 0 + +Measures the reliability of the model’s predictions for cells identified with another severuty index than high, indicating the proportion of points predicted index as other (not high) that were indeed observed as other. + +The measure of [Negative Predictive Value](https://en.wikipedia.org/wiki/Positive_and_negative_predictive_values) is based on the [Binary confusion matrix](https://en.wikipedia.org/wiki/Confusion_matrix#Table_of_confusion) generated from an observational dataset and a model output dataset. + +$$ +Negative Predictive Value = \frac{TN}{TN + FN} +$$ +where $TN$ = True negative (not high severity in both datasets); $FN$ = False negative (high severity only in observational datasets) + +The implementation of this KPI is done using the `firebench.metrics.confusion_matrix.binary_cm` function and `firebench.metrics.confusion_matrix.binary_negative_predicted_value` functions (see API documentation for implementation). If some data processing (e.g., for category aggregation) is required, this process is described at the case level. + +### Binary High Severity F1 Score + +*Type*: Instance
    +*Best*: 1
    +*Worst*: 0 + +Provides a balanced measure of model performance by combining precision and recall, capturing how well the model identifies high severity cells while limiting false alarms. + +The measure of [F1 Score](https://en.wikipedia.org/wiki/F-score) is based on the [Binary confusion matrix](https://en.wikipedia.org/wiki/Confusion_matrix#Table_of_confusion) generated from an observational dataset and a model output dataset. + +$$ +F1 Score = \frac{2 \times Precision \times Recall}{Precision + Recall} +$$ + +The implementation of this KPI is done using the `firebench.metrics.confusion_matrix.binary_cm` function and `firebench.metrics.confusion_matrix.binary_f_score` functions (see API documentation for implementation). If some data processing (e.g., for category aggregation) is required, this process is described at the case level. + +## Structure Loss + +### Binary Structure Loss Accuracy + +*Type*: Instance
    +*Best*: 1
    +*Worst*: 0 + +Measure how accurately the model predicts which structures are destroyed or not destroyed by the fire, based on binary (burned / not burned) observations. + +The measure of [accuracy](https://en.wikipedia.org/wiki/Accuracy_and_precision#In_classification) is based on the [Binary confusion matrix](https://en.wikipedia.org/wiki/Confusion_matrix#Table_of_confusion) generated from an observational dataset and a model output dataset. + +$$ +Accuracy = \frac{TP + TN}{TP + TN + FP + FN}, +$$ +where $TP$ = True positive (buildings destroyed in both datasets); $FP$ = False positive (buildings destroyed only in model dataset); $TN$ = True negative (buildings not damaged in both datasets); $FN$ = False negative (buildings destroyed only in observational datasets) + +The implementation of this KPI is done using the `firebench.metrics.confusion_matrix.binary_cm` function and `firebench.metrics.confusion_matrix.binary_accurary` functions (see API documentation for implementation). If some data processing (e.g., for category aggregation) is required, this process is described at the case level. + +### Binary Structure Loss Precision + +*Type*: Instance
    +*Best*: 1
    +*Worst*: 0 + +Measures how accurately the model predicts which structures are destroyed, by evaluating the proportion of predicted-destroyed buildings that were actually destroyed. + +The measure of [precision](https://en.wikipedia.org/wiki/Positive_and_negative_predictive_values#Definition) is based on the [Binary confusion matrix](https://en.wikipedia.org/wiki/Confusion_matrix#Table_of_confusion) generated from an observational dataset and a model output dataset. + +$$ +Precision = \frac{TP}{TP + FP}, +$$ +where $TP$ = True positive (buildings destroyed in both datasets); $FP$ = False positive (buildings destroyed only in model dataset). + +The implementation of this KPI is done using the `firebench.metrics.confusion_matrix.binary_cm` function and `firebench.metrics.confusion_matrix.binary_precision` functions (see API documentation for implementation). If some data processing (e.g., for category aggregation) is required, this process is described at the case level. + + +### Binary Structure Loss Recall + +*Type*: Instance
    +*Best*: 1
    +*Worst*: 0 + +Measures how completely the model captures the buildings that were actually destroyed, indicating the fraction of truly destroyed structures that the model successfully identifies. + +The measure of [recall](https://en.wikipedia.org/wiki/Precision_and_recall) is based on the [Binary confusion matrix](https://en.wikipedia.org/wiki/Confusion_matrix#Table_of_confusion) generated from an observational dataset and a model output dataset. + +$$ +Recall = \frac{TP}{TP + FN}, +$$ +where $TP$ = True positive (buildings destroyed in both datasets); $FN$ = False negative (buildings destroyed only in observational datasets) + +The implementation of this KPI is done using the `firebench.metrics.confusion_matrix.binary_cm` function and `firebench.metrics.confusion_matrix.binary_recall_rate` functions (see API documentation for implementation). If some data processing (e.g., for category aggregation) is required, this process is described at the case level. + +### Binary Structure Loss Specificity + +*Type*: Instance
    +*Best*: 1
    +*Worst*: 0 + +Measures how accurately the model identifies buildings that survived, by quantifying the fraction of intact structures correctly predicted as not destroyed. + +The measure of [specificity](https://en.wikipedia.org/wiki/Sensitivity_and_specificity) is based on the [Binary confusion matrix](https://en.wikipedia.org/wiki/Confusion_matrix#Table_of_confusion) generated from an observational dataset and a model output dataset. + +$$ +Specificity = \frac{TN}{TN + FP} +$$ +where $FP$ = False positive (buildings destroyed only in model dataset); $TN$ = True negative (buildings not damaged in both datasets). + +The implementation of this KPI is done using the `firebench.metrics.confusion_matrix.binary_cm` function and `firebench.metrics.confusion_matrix.binary_specificity` functions (see API documentation for implementation). If some data processing (e.g., for category aggregation) is required, this process is described at the case level. + +### Binary Structure Loss Negative Predictive Value + +*Type*: Instance
    +*Best*: 1
    +*Worst*: 0 + +Measures the reliability of the model’s predictions for surviving structures, indicating the proportion of predicted-intact buildings that were indeed not destroyed. + +The measure of [Negative Predictive Value](https://en.wikipedia.org/wiki/Positive_and_negative_predictive_values) is based on the [Binary confusion matrix](https://en.wikipedia.org/wiki/Confusion_matrix#Table_of_confusion) generated from an observational dataset and a model output dataset. + +$$ +Negative Predictive Value = \frac{TN}{TN + FN} +$$ +where $TN$ = True negative (buildings not damaged in both datasets); $FN$ = False negative (buildings destroyed only in observational datasets). + +The implementation of this KPI is done using the `firebench.metrics.confusion_matrix.binary_cm` function and `firebench.metrics.confusion_matrix.binary_negative_predicted_value` functions (see API documentation for implementation). If some data processing (e.g., for category aggregation) is required, this process is described at the case level. + +### Binary Structure Loss F1 Score + +*Type*: Instance
    +*Best*: 1
    +*Worst*: 0 + +Provides a balanced measure of model performance by combining precision and recall, capturing how well the model identifies destroyed buildings while limiting false alarms. + +The measure of [F1 Score](https://en.wikipedia.org/wiki/F-score) is based on the [Binary confusion matrix](https://en.wikipedia.org/wiki/Confusion_matrix#Table_of_confusion) generated from an observational dataset and a model output dataset. + +$$ +F1 Score = \frac{2 \times Precision \times Recall}{Precision + Recall} +$$ + +The implementation of this KPI is done using the `firebench.metrics.confusion_matrix.binary_cm` function and `firebench.metrics.confusion_matrix.binary_f_score` functions (see API documentation for implementation). If some data processing (e.g., for category aggregation) is required, this process is described at the case level. + +## Weather stations + +### Wind Speed Bias Average + +*Type*: Template
    +*Best*: 0
    +*Worst*: increasing $|bias|$
    +*Parameters*: +- $t_1$: period starting time +- $t_2$: period ending time + +Provides the average bias over multiple weather stations over a period 24h for wind speed. + +The average bias is calculated as: + +$$ +\overline{Bias} = \frac{1}{N_s} \sum_{k=1}^{N_s} \frac{1}{N_t} \sum_{i=1}^{N_t} (m_{ki} - o_{ki}) +$$ +where $N_s$ is the number of weather stations, $N_t$ is the number of time step between $t_1$ and $t_2$, $m_{ki}$ is the model data for station $k$ at time step $i$, and $o_{ki}$ is the observation data for station $k$ at time step $i$. + +The implementation of this KPI is done using `firebench.metrics.stats.bias`. + +#### 24h forecast Wind Speed RMSE Average + +*Category*: Weather Stations
    +*Name used in result files*: 24h forecast Wind Speed RMSE Average
    +*Best*: 0
    +*Worst*: increasing $|bias|$
    +*Parameters*: +- $t_s$: 24h period starting time + +Provides the average RMSE over multiple weather stations over a period 24h for wind speed. + +The average RMSE is calculated as: + +$$ +\overline{RMSE} = \frac{1}{N_s} \sum_{k=1}^{N_s} \sqrt{\frac{1}{N_t} \sum_{i=1}^{N_t} (m_{ki} - o_{ki})^2} +$$ +where $N_s$ is the number of weather stations, $N_t$ is the number of time step over the 24h period, $m_{ki}$ is the model data for station $k$ at time step $i$, and $o_{ki}$ is the observation data for station $k$ at time step $i$. + +The implementation of this KPI is done using `firebench.metrics.stats.rmse`. + +#### 24h forecast Wind Direction RMSE Average + +*Category*: Weather Stations
    +*Name used in result files*: 24h forecast Wind Direction RMSE Average
    +*Best*: 0
    +*Worst*: increasing $|bias|$
    +*Parameters*: +- $t_s$: 24h period starting time + + +Wind direction difference is calculated as +$$ +d_{wd} = ((x - y + 180) \mod 360 ) - 180 +$$ + +#### 24h forecast Wind Gust RMSE Average + +*Category*: Weather Stations
    +*Name used in result files*: 24h forecast Wind Gust RMSE Average
    +*Best*: 0
    +*Worst*: increasing $|bias|$
    +*Parameters*: +- $t_s$: 24h period starting time + +#### 24h forecast Sustained Wind Speed Average + +*Category*: Weather Stations
    +*Name used in result files*: 24h forecast Wind Gust RMSE Average
    +*Best*: 0
    +*Worst*: increasing $|bias|$
    +*Parameters*: +- $t_s$: 24h period starting time +- $U_0$: Value of thresehold + +Calculate the amount of time when the wind speed is above a defined threshold. Compare this time to observation and average it over multiple weather stations. + + diff --git a/docs/metrics/metrics.md b/docs/metrics/metrics.md new file mode 100644 index 0000000..b1a9c7c --- /dev/null +++ b/docs/metrics/metrics.md @@ -0,0 +1,146 @@ +# Metrics +This section describes all the metrics used within FireBench benchmarks. + +## 1D metrics + +**Input:** Two 1D vectors of size $N$: + +- $x_i$: evaluated dataset +- $y_i$: reference dataset + +### Mean + +**Description:** Average value of a 1D vector $x$.
    +**Range:** Same as range of $x$.
    +**Units:** Same as input units.
    +**Formula:** + +$$ +\bar x = \frac{1}{N} \sum_{i=1}^N x_i +$$ + +### Bias + +**Description:** Difference between the mean of $x$ and the mean of $y$.
    +**Range:** Same as range of input values.
    +**Units:** Same as input units.
    +**Formula:** + +$$ +B = \bar x - \bar y +$$ + +### Root Mean Square Error + +**Description:** Square root of the mean squared difference between (x) and (y), noted RMSE.
    +**Range:** $[0, +\infty[$.
    +**Units:** Same as input units.
    +**Formula:** + +$$ +RMSE(x, y) = \sqrt{\frac{1}{N} \sum_{i=1}^N (x_i - y_i)^2} +$$ + +### Normalized MSE - power normalization + +**Description:** RMSE normalized by the range of the reference dataset.
    +**Range:** $[0, +\infty)$.
    +**Units:** Dimensionless.
    +**Formula:** + +$$ +NMSE_p = \frac{RMSE(x, y)}{\max(y) - \min(y)} +$$ + +### Normalized MSE – range normalization +**Description:** Squared RMSE normalized by the product of mean values of the datasets.
    +**Range:** $[0, +\infty)$ (undefined if $\bar x = 0$ or $\bar y = 0$).
    +**Units:** Dimensionless.
    +**Formula:** + +$$ +NMSE_r = \frac{RMSE(x, y)^2}{\bar x \, \bar y} +$$ + + +## Binary Confusion Matrix + +**Input:** Two 1D binary vectors (0 or 1) of size $N$: + +- $x_i$: evaluated dataset +- $y_i$: reference dataset + +The following metrics are derived from the [Binary confusion matrix](https://en.wikipedia.org/wiki/Confusion_matrix#Table_of_confusion) generated from both dataset. The Binary confusion matrix is a 2x2 matrix containing: + +| | Reference = 1 | Reference = 0 | +| ------------ | ------------- | ------------- | +| **Eval = 1** | TP | FP | +| **Eval = 0** | FN | TN | + +Where: +- TP: True Positive +- FP: False Positive +- FN: False Negative +- TN: True Negative + +### Accuracy + +**Description:** Fraction of correct predictions among all samples (see [accuracy](https://en.wikipedia.org/wiki/Accuracy_and_precision#In_classification)).
    +**Range:** $[0, 1]$
    +**Units:** Dimensionless.
    +**Formula:** + +$$ +Accuracy = \frac{TP + TN}{TP + TN + FP + FN} +$$ + +### Precision +**Description:** Fraction of predicted positives that are true positives (see [precision](https://en.wikipedia.org/wiki/Positive_and_negative_predictive_values#Definition)).
    +**Range:** $[0, 1]$
    +**Units:** Dimensionless.
    +**Formula:** + +$$ +Precision = \frac{TP}{TP + FP}, +$$ + +### Recall +**Description:** Fraction of actual positives correctly identified (see [recall](https://en.wikipedia.org/wiki/Precision_and_recall)). Recall can also be named Sensitivity or True Positive Rate.
    +**Range:** $[0, 1]$
    +**Units:** Dimensionless.
    +**Formula:** + +$$ +Recall = \frac{TP}{TP + FN}, +$$ + +### Specificity +**Description:** Fraction of actual negatives correctly identified (see [specificity](https://en.wikipedia.org/wiki/Sensitivity_and_specificity)). Recall can also be named True Negative Rate.
    +**Range:** $[0, 1]$
    +**Units:** Dimensionless.
    +**Formula:** + +$$ +Specificity = \frac{TN}{TN + FP} +$$ + +### Negative Predictive Value +**Description:** Fraction of predicted negatives that are true negatives (see [Negative Predictive Value](https://en.wikipedia.org/wiki/Positive_and_negative_predictive_values)).
    +**Range:** $[0, 1]$
    +**Units:** Dimensionless.
    +**Formula:** + +$$ +Negative Predictive Value = \frac{TN}{TN + FN} +$$ + +### F1 Score +**Description:** Harmonic mean of Precision and Recall (see [F1 Score](https://en.wikipedia.org/wiki/F-score)).
    +**Range:** $[0, 1]$
    +**Units:** Dimensionless.
    +**Formula:** + +$$ +F1 Score = \frac{2 \times Precision \times Recall}{Precision + Recall} +$$ + diff --git a/docs/metrics/normalization.md b/docs/metrics/normalization.md new file mode 100644 index 0000000..e456b9b --- /dev/null +++ b/docs/metrics/normalization.md @@ -0,0 +1,51 @@ +# KPI Normalization + +This section describes several normalization schemes used to convert KPI values into a score in the range $[0, 100]$. +Throughout, $x$ denotes the KPI value. + +## Linear Bounded Normalization + +For KPIs with a **bounded acceptable range** $[a, b]$, with $a < b$, the normalization function is defined as: + +$$ +\mathcal N(x, a, b) = 100 \, \left( \frac{x - a}{b - a} \right) +$$ + +Here, +- $a$ corresponds to the **worst** score (0), +- $b$ corresponds to the **best** score (100). + +## Linear Half-Open Normalization + +For KPIs that have a **minimum acceptable value** $a$ but no finite upper limit, i.e. values in $[a, +\infty[$, we define: + +$$ +\mathcal N(x, a, m) = 100 \, \max \left(0, 1 - \frac{x-a}{m-a} \right) +$$ + +where $m > a$ is a parameter specifying the value of $x$ at which the score reaches **0**. + +Here, +- $a$ corresponds to the **best** score (100), +- $m$ corresponds to the **worst** score (0). + +## Exponential Half-Open Normalization + +For KPIs with a minimum acceptable value $a$ and domain $[a, +\infty[$, we define an exponentially decaying score: + +$$ +\mathcal N(x, a, m) =100 \, \exp \left( - \frac{\ln 2(x-a)}{m-a} \right). +$$ + +This formulation ensures: + +$$ +\mathcal N(a,a,m) = 100, \qquad +\mathcal N(m,a,m) = 50. +$$ + +Thus, $m$ is the KPI value at which the score is exactly **50**. +Here, +- $a$ corresponds to the **best** possible score (100), +- $m$ corresponds to the value at which the score has decreased to **50**, +- scores decay smoothly toward 0 as $x \to +\infty$. \ No newline at end of file diff --git a/docs/metrics/score.md b/docs/metrics/score.md new file mode 100644 index 0000000..517a779 --- /dev/null +++ b/docs/metrics/score.md @@ -0,0 +1,70 @@ +# Scores + +This section details the processes used to construct a unique score for each benchmark case from the set of KPIs contained in the benchmark case. +A `Score` is defined as a real number, with 4 significant digit, between 0.000 (worst) and 100.0 (best). +Scores are derived from KPI values and allow the comparison of models and benchmark results. +As a KPI value is not necessarily a number that is compliant with the score definition, a `normalization` process is required to convert a KPI value to a score, called `Unit Score`. + +$$ +KPI \overset{Normalization}{\longmapsto} Unit Score +$$ + +The different normalization functions available are described in Section `KPI Normalization`. + +Each KPI is transformed into a `Unit Score`, corresponding to one, and only one, KPI. +To further simplify the interpretation the result of multiple benchmarks, these Unit Scores can be aggregated to form `Group Scores`. They represent the overall performance accross multiple indicators, generally evaluating the model for similar physical processes or on the same data. +The `Total Score` is the aggregation of all group scores into one, and only one, score, representing the overall performance of the model for the studied case. + +Figure 1 shows an example of normalization of each KPI for the case *FB001*. Each KPI is normalized into a Unit Score. Then Unit Scores are aggregated into two Group Scores representing the overall performance for *Building Damaged* benchmarks and *Burn Severity* benchmarks. Finally, both Group Scores are aggregated to form the Total Score. +![blockdiagram](../_static/images/Scoring_diagram.png) +

    + + Fig. 1 + + : + + Diagram of Scores construction from KPIs using two categories of KPI (BD: Building Damaged, SV: Burn Severity). + +

    + +The aggregation can be performed using multiple aggregation schemes. The simplest scheme is to aggregate score using a mean function. This gives the same weight to each KPI in the Total Score. We can also develop more complex aggregation schemes to give more weight to certain benchmarks/KPIs. Therefore, for each benchmarking case (collection of dataset and KPIs), we can define multiple aggregation schemes to evaluate different classes of models. Each aggregation scheme will be noted using a letter. For example `FB001-A`, `FB001-B`. + + +Figure 2 shows exmaple of KPI values and their correspond range between brackets. The KPI FB001-BD01 has a value of 0.34763 and a range of [0, 1] (FB001-BD01 can represent a binary confusion matrix index), whereas the KPI FB001-SV03 has a value of 3.489 and a range of [0, $+\infty$[ (FB001-SV03 can represent an absolute bias). All KPI with a limited range of values are normaized using the linear normalization function (see next Section). The KPI FB001-SV03 is normalized using the linear semi bounded normization function with a parameter $M=5$, which means that if the KPI value is above 5, the score will be 0. +Then, Unit Scores are aggregated using uniform weights (represented by the green numbers above aggregation lines) to form Group Scores. +Finally, a weighted aggregation is performed to calculate the Total Score of the case, giving an double importance to benchmarks related to **Building Damaged*. +The list of aggregation scheme and their weights are explicitely defined in the case documentation. + +![blockdiagram](../_static/images/Scoring_diagram_example.png) +

    + + Fig. 2 + + : + + Example of Scores construction from KPIs using two categories of KPI. + +

    + +Figure 3 displays an `Score Card` that is a table representing the data showed in Figure 2. This type of score card can become the standard of presentation for case results. The first row shows the total score and contains the case that has been run (FB001), the aggregation scheme used (B, defined in the case documentation), the model name, and the total score calculated in Figure 2. +The rest of the table is organized as: +- one group row that describes the name of the group and the associated score. A keyword **Group** is added to emphasis the row. +- All the benchmark scores related to the group are displayed after. The name of the benchmark is added as a reference. Here the case id (FB001) is omitted for clarity as it is already displayed in the first row. + + +![blockdiagram](../_static/images/Score_card_example.png) +

    + + Fig. 3 + + : + + Example of Score card layout + +

    + +```{note} +Note: The example here above are not related to the real case FB001 (Caldor Fire) and all KPI names and +values are given as examples. +``` + From 8872f237f04182d594101854dcd7a416d7558859 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Costes?= Date: Tue, 9 Dec 2025 17:26:25 -0800 Subject: [PATCH 047/111] add sanitize_iso8601 to make iso date compliant with XML std --- src/firebench/standardize/__init__.py | 1 + src/firebench/standardize/time.py | 11 +++++++++++ 2 files changed, 12 insertions(+) diff --git a/src/firebench/standardize/__init__.py b/src/firebench/standardize/__init__.py index 22a104f..94dd8b5 100644 --- a/src/firebench/standardize/__init__.py +++ b/src/firebench/standardize/__init__.py @@ -10,6 +10,7 @@ from .time import ( current_datetime_iso8601, datetime_to_iso8601, + sanitize_iso8601, ) from .files import ( new_std_file, diff --git a/src/firebench/standardize/time.py b/src/firebench/standardize/time.py index 97b0d55..9c2b39f 100644 --- a/src/firebench/standardize/time.py +++ b/src/firebench/standardize/time.py @@ -112,3 +112,14 @@ def current_datetime_iso8601( # Start from local now, then convert to requested tz for consistency now_local = datetime.now().astimezone() return datetime_to_iso8601(now_local, include_seconds, tz) + +def sanitize_iso8601(dt_str: str) -> str: + """ + Sanitize an ISO8601 datetime string so it becomes XML/KML-safe. + + Rules: + - Replace "-" and ":" with "_" + - Leave all digits and letters unchanged + - Keeps "T" and timezone offset structure preserved + """ + return dt_str.replace("-", "_").replace(":", "_") From 60094eef5fe930d6f6ae3f94f7c09e99042ea2c7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Costes?= Date: Tue, 9 Dec 2025 18:35:52 -0800 Subject: [PATCH 048/111] change _merge_from_source to allow for merge of group at root level --- src/firebench/standardize/files.py | 53 ++++++++++++++++++++---------- src/firebench/standardize/time.py | 3 +- src/firebench/standardize/tools.py | 20 +++++++++-- 3 files changed, 55 insertions(+), 21 deletions(-) diff --git a/src/firebench/standardize/files.py b/src/firebench/standardize/files.py index 77e91d2..8d9e9f8 100644 --- a/src/firebench/standardize/files.py +++ b/src/firebench/standardize/files.py @@ -2,7 +2,7 @@ from ..tools.logging_config import logger from .time import current_datetime_iso8601 from pathlib import Path -from .tools import VERSION_STD, validate_h5_std, merge_authors, collect_conflicts, merge_trees +from .tools import VERSION_STD, validate_h5_std, merge_authors, collect_conflicts, merge_trees, logger from pathlib import Path import shutil @@ -48,7 +48,7 @@ def merge_two_std_files( Then merge the list of authors without duplicates. Keep order as much as possible (first authors from file1 then first author from file2 then second from file 1...) """ - logger.debug("Merge two std files") + logger.debug("merge_two_std_files: merge %s with %s into %s", filepath_1, filepath_2, filepath_target) file1 = h5py.File(filepath_1, "r") validate_h5_std(file1) file2 = h5py.File(filepath_2, "r") @@ -80,7 +80,10 @@ def merge_two_std_files( def merge_std_files( - filespath: list[str], filepath_target: str, merged_description: str = "", overwrite: bool = False + filespath: list[str], + filepath_target: str, + merged_description: str = "", + overwrite: bool = False, ): if not filespath: raise ValueError("filespath must contain at least one file") @@ -94,38 +97,52 @@ def merge_std_files( # Single file: just copy it to target (no merge needed) if len(input_paths) == 1: - if target_path.exists() and not overwrite: - raise FileExistsError(f"Target file already exists: {target_path}") - # Ensure parent directory exists target_path.parent.mkdir(parents=True, exist_ok=True) shutil.copy2(input_paths[0], target_path) return - tmp_path = target_path.with_suffix(target_path.suffix + ".tmp") - current_path = input_paths[0] + # Prepare two alternating temporary files + suffix = target_path.suffix + tmp1 = target_path.with_suffix(suffix + ".tmp1") + tmp2 = target_path.with_suffix(suffix + ".tmp2") + + # Ensure parent directory exists for target and temp files + target_path.parent.mkdir(parents=True, exist_ok=True) + + current_path: Path = input_paths[0] try: for i, next_path in enumerate(input_paths[1:], start=1): is_last = i == len(input_paths) - 1 - out_path = target_path if is_last else tmp_path + if is_last: + out_path = target_path + else: + # Alternate between tmp1 and tmp2, ensuring out_path != current_path + if current_path == tmp1: + out_path = tmp2 + elif current_path == tmp2: + out_path = tmp1 + else: + # First time we merge, we can pick any temp file + out_path = tmp1 - # Always allow overwrite on intermediate/target files inside this routine merge_two_std_files( filepath_1=str(current_path), filepath_2=str(next_path), filepath_target=str(out_path), merged_description=merged_description, - overwrite=True, + overwrite=True, # safe: we control these temp/target files here ) current_path = out_path finally: - # Clean up temporary file if it exists - if tmp_path.exists(): - try: - tmp_path.unlink() - except OSError: - # If removal fails, we silently ignore; nothing critical. - pass + # Clean up temporary files if they exist + for tmp in (tmp1, tmp2): + if tmp.exists() and tmp != target_path: + try: + tmp.unlink() + except OSError: + # If removal fails, we silently ignore; nothing critical. + pass diff --git a/src/firebench/standardize/time.py b/src/firebench/standardize/time.py index 9c2b39f..ddd92f2 100644 --- a/src/firebench/standardize/time.py +++ b/src/firebench/standardize/time.py @@ -113,10 +113,11 @@ def current_datetime_iso8601( now_local = datetime.now().astimezone() return datetime_to_iso8601(now_local, include_seconds, tz) + def sanitize_iso8601(dt_str: str) -> str: """ Sanitize an ISO8601 datetime string so it becomes XML/KML-safe. - + Rules: - Replace "-" and ":" with "_" - Leave all digits and letters unchanged diff --git a/src/firebench/standardize/tools.py b/src/firebench/standardize/tools.py index cb2041e..d58c818 100644 --- a/src/firebench/standardize/tools.py +++ b/src/firebench/standardize/tools.py @@ -408,8 +408,24 @@ def _merge_from_source( # Child does not exist yet in dst: copy entire subtree _copy_entire_object(src_obj, dst_obj, name) else: - # TODO: allow for conflict solver - raise ValueError("Conflict detected. Merge stopped") + # Child already exists in dst: possible conflict + src_child = src_obj[name] + dst_child = dst_obj[name] + + if path == "/" and isinstance(src_child, h5py.Group) and isinstance(dst_child, h5py.Group): + # Recurse into / and merge there + _merge_from_source( + src=src, + dst=dst, + path=child_path, + conflict_solver=conflict_solver, + overwrite_existing=overwrite_existing, + ) + else: + # Deeper levels (path != "/") or non-group conflicts: + # keep strict behavior and raise. + logger.error("_merge_from_source: conflict at path %s for %s", path, name) + raise ValueError("Conflict detected. Merge stopped") def _copy_entire_object(src_parent: h5py.Group, dst_parent: h5py.Group, name: str) -> None: From 0d4183b9980a6966e5297578b3a5e8b56aed50e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Costes?= Date: Tue, 9 Dec 2025 20:12:27 -0800 Subject: [PATCH 049/111] add processing of landfire tif --- src/firebench/standardize/__init__.py | 1 + src/firebench/standardize/landfire.py | 118 ++++++++++++++++++++++++++ src/firebench/tools/namespace.py | 1 + 3 files changed, 120 insertions(+) create mode 100644 src/firebench/standardize/landfire.py diff --git a/src/firebench/standardize/__init__.py b/src/firebench/standardize/__init__.py index 94dd8b5..aa30c82 100644 --- a/src/firebench/standardize/__init__.py +++ b/src/firebench/standardize/__init__.py @@ -17,3 +17,4 @@ merge_two_std_files, merge_std_files, ) +from .landfire import standardize_landfire_from_geotiff diff --git a/src/firebench/standardize/landfire.py b/src/firebench/standardize/landfire.py new file mode 100644 index 0000000..680ae6b --- /dev/null +++ b/src/firebench/standardize/landfire.py @@ -0,0 +1,118 @@ +from pathlib import Path + +import h5py +import numpy as np +import rasterio +from pyproj import CRS, Transformer + +from ..tools import StandardVariableNames as svn +from .tools import check_std_version +from ..tools.logging_config import logger + + +def standardize_landfire_from_geotiff( + geotiff_path: str, + h5file: h5py.File, + variable_name: str, + variable_units: str, + group_name: str | None = None, + projection: str = None, + overwrite: bool = False, + invert_y: bool = False, + fill_value: float = None, +): + """ + Convert a MTBS GeoTIFF to Firebench HDF5 standard file. + + Use source data projection as default. Can be reprojected by specifying the CRS in projection. + + Parameters + ---------- + geotiff_path : str + Path to the MTBS GeoTIFF (ending with *_dnbr6.tif). + h5file : h5py.File + target HDF5 file + group_name : str | None + HDF5 group path. If None, auto-derive from filename, e.g. '2D_raster/'. + overwrite: bool + Overwrite the group in the HDF5 file. Default: False + invert_y: bool + Invert y axis in data + + Returns + ------- + h5py.File + The actual HDF5 group written (with suffix if collision). + """ # pylint: disable=line-too-long + logger.debug("Standardize LANDFIRE dataset from file %s ", geotiff_path) + check_std_version(h5file) + with rasterio.open(geotiff_path) as src: + data = src.read(1) + landfire_data = {"data": data, "transform": src.transform, "crs": src.crs, "nodata": src.nodata} + logger.info(f"Loaded {geotiff_path}: shape={data.shape}, CRS={src.crs}") + + rows, cols = data.shape + + # Build pixel center coordinates (projected) + # col indices (x-direction), row indices (y-direction) + jj = np.arange(cols) + ii = np.arange(rows) + # vectorized center coordinates from affine: + # x = a*col + b*row + c ; y = d*col + e*row + f + x = ( + landfire_data["transform"].a * jj[None, :] + + landfire_data["transform"].b * ii[:, None] + + landfire_data["transform"].c + ) + y = ( + landfire_data["transform"].d * jj[None, :] + + landfire_data["transform"].e * ii[:, None] + + landfire_data["transform"].f + ) + + # Reproject to geographic lat/lon + if projection is None: + projection = landfire_data["crs"] + tgt_crs = CRS(projection) + + # always_xy=True -> transformer expects/returns (x, y) = (lon, lat) ordering for geographic CRS + transformer = Transformer.from_crs(landfire_data["crs"], tgt_crs, always_xy=True) + lon, lat = transformer.transform(x, y) # lon, lat are 2-D arrays aligned with `data` + + if invert_y: + lat = lat[::-1, :] + lon = lon[::-1, :] + landfire_data["data"] = landfire_data["data"][::-1, :] + + if group_name is None: + group_name = Path(geotiff_path).stem + + group_name = f"/2D_raster/{group_name}" + if group_name in h5file.keys(): + if overwrite: + del h5file[group_name] + else: + logger.warning( + "group name %s already exists in file %s. Group not updated. Set `overwrite` to True to update the dataset.", + group_name, + geotiff_path, + ) + return + + g = h5file.create_group(group_name) + g.attrs["data_source"] = f"LANDFIRE {geotiff_path}" + g.attrs["crs"] = str(tgt_crs) + + # Lat/Lon as 2-D arrays + dlat = g.create_dataset("position_lat", data=lat, dtype=np.float64) + dlat.attrs["units"] = "degrees" + + dlat = g.create_dataset("position_lon", data=lon, dtype=np.float64) + dlat.attrs["units"] = "degrees" + + ddata = g.create_dataset(variable_name, data=landfire_data["data"], dtype=np.uint8) + ddata.attrs["units"] = variable_units + if fill_value is None: + ddata.attrs["_FillValue"] = landfire_data["nodata"] + else: + ddata.attrs["_FillValue"] = fill_value diff --git a/src/firebench/tools/namespace.py b/src/firebench/tools/namespace.py index ee2343e..9a6e8c0 100644 --- a/src/firebench/tools/namespace.py +++ b/src/firebench/tools/namespace.py @@ -20,6 +20,7 @@ class StandardVariableNames(Enum): # pragma: no cover BUILDING_LENGTH_SEPARATION = "building_length_separation" BUILDING_LENGTH_SIDE = "building_length_side" CANOPY_DENSITY_BULK = "canopy_density_bulk" + CANOPY_HEIGHT = "canopy_height" CANOPY_HEIGHT_BOTTOM = "canopy_height_bottom" CANOPY_HEIGHT_TOP = "canopy_height_top" DIRECTION = "direction" From 645804a1fd3a888999403a7f72daa95cbb74564f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Costes?= Date: Wed, 10 Dec 2025 14:19:28 -0800 Subject: [PATCH 050/111] add import_tif_with_rect_box function --- src/firebench/standardize/__init__.py | 1 + src/firebench/standardize/tools.py | 121 ++++++++++++++++++++++++++ src/firebench/tools/namespace.py | 3 + 3 files changed, 125 insertions(+) diff --git a/src/firebench/standardize/__init__.py b/src/firebench/standardize/__init__.py index aa30c82..a55c34a 100644 --- a/src/firebench/standardize/__init__.py +++ b/src/firebench/standardize/__init__.py @@ -6,6 +6,7 @@ validate_h5_requirement, read_quantity_from_fb_dataset, merge_authors, + import_tif_with_rect_box, ) from .time import ( current_datetime_iso8601, diff --git a/src/firebench/standardize/tools.py b/src/firebench/standardize/tools.py index d58c818..00dffc2 100644 --- a/src/firebench/standardize/tools.py +++ b/src/firebench/standardize/tools.py @@ -3,6 +3,11 @@ from ..tools.units import ureg import re import numpy as np +from pathlib import Path +import rasterio +from pyproj import CRS, Transformer +from rasterio.windows import from_bounds +from rasterio.warp import transform_bounds VERSION_STD = "0.2" @@ -359,6 +364,122 @@ def merge_trees( ) +def import_tif_with_rect_box( + geotiff_path: Path, + lower_left_corner: tuple[float, float], + upper_right_corner: tuple[float, float], + projection: str = None, + invert_y: bool = False, +): + """ + Import a subset of a GeoTIFF using a geographic rectangular bounding box. + + The function loads only the portion of the input GeoTIFF that intersects a + user-defined rectangle in geographic coordinates (lat/lon). The bounding box + is reprojected into the source CRS, a raster window is extracted, and pixel-center + coordinates are computed. The result is returned in the target CRS (default: CRS of + the source dataset unless a different projection is specified). + + Parameters + ---------- + geotiff_path : Path + Path to the GeoTIFF file. + lower_left_corner : tuple[float, float] + Geographic coordinates of the lower-left corner of the selection box, + formatted as (latitude, longitude). + upper_right_corner : tuple[float, float] + Geographic coordinates of the upper-right corner of the selection box, + formatted as (latitude, longitude). + projection : str, optional + Target CRS for returned latitude/longitude arrays. If None, use the CRS + of the source GeoTIFF. Can be any pyproj-compatible CRS string (e.g. "EPSG:4326"). + invert_y : bool, optional + If True, flip the data and latitude/longitude arrays along the vertical + axis (useful for image-style orientation). + + Returns + ------- + lat : np.ndarray + 2-D array of latitude coordinates for each pixel center in the selected region, + expressed in the target CRS. + lon : np.ndarray + 2-D array of longitude coordinates for each pixel center in the selected region, + expressed in the target CRS. + data_arr : np.ndarray + 2-D array containing the raster data extracted within the bounding box. + + Notes + ----- + - Only the requested rectangular region is read from disk, preventing the allocation + of extremely large full-domain coordinate grids. + - The function logs a summary of the loaded subset including its shape, CRS, and window. + - The selection box is provided in geographic coordinates and internally reprojected + to the raster's native projection. + """ # pylint: disable=line-too-long + with rasterio.open(geotiff_path.resolve()) as src: + if projection is None: + projection = src.crs + tgt_crs = CRS(projection) + + lat_min, lon_min = lower_left_corner + lat_max, lon_max = upper_right_corner + + lon_min, lon_max = sorted((lon_min, lon_max)) + lat_min, lat_max = sorted((lat_min, lat_max)) + + bbox_src = transform_bounds( + tgt_crs, + src.crs, + lon_min, + lat_min, + lon_max, + lat_max, + densify_pts=21, + ) + x_min_src, y_min_src, x_max_src, y_max_src = bbox_src + + window = from_bounds(x_min_src, y_min_src, x_max_src, y_max_src, src.transform) + + data = src.read(1, window=window) + transform_window = src.window_transform(window) + + data_dict = { + "data": data, + "transform": transform_window, + "crs": src.crs, + "nodata": src.nodata, + } + + logger.info( + "Loaded subset from %s: shape=%s, CRS=%s, window=%s", + geotiff_path, + data.shape, + src.crs, + window, + ) + + rows, cols = data_dict["data"].shape + + jj = np.arange(cols) + ii = np.arange(rows) + + # center coordinates in source CRS (projected) + T = data_dict["transform"] + x = T.a * jj[None, :] + T.b * ii[:, None] + T.c + y = T.d * jj[None, :] + T.e * ii[:, None] + T.f + + tgt_crs = CRS(projection) + transformer = Transformer.from_crs(data_dict["crs"], tgt_crs, always_xy=True) + lon, lat = transformer.transform(x, y) + + if invert_y: + lat = lat[::-1, :] + lon = lon[::-1, :] + data_dict["data"] = data_dict["data"][::-1, :] + + return np.array(lat), np.array(lon), np.array(data_dict["data"]) + + def _merge_from_source( src: h5py.Group, dst: h5py.Group, diff --git a/src/firebench/tools/namespace.py b/src/firebench/tools/namespace.py index 9a6e8c0..29986a4 100644 --- a/src/firebench/tools/namespace.py +++ b/src/firebench/tools/namespace.py @@ -81,6 +81,9 @@ class StandardVariableNames(Enum): # pragma: no cover NORMAL_SPREAD_DIR_X = "normal_spread_dir_x" NORMAL_SPREAD_DIR_Y = "normal_spread_dir_y" RATE_OF_SPREAD = "rate_of_spread" + RAVG_CANOPY_COVER_LOSS = "ravg_canopy_cover_loss" + RAVG_COMPOSITE_BURN_INDEX_SEVERITY = "ravg_composite_burn_index_severity" + RAVG_LIVE_BASAL_AREA_LOSS = "ravg_live_basal_area_loss" RELATIVE_HUMIDITY = "relative_humidity" SLOPE_ANGLE = "slope_angle" TEMPERATURE = "temperature" From b66e2d9dbd77aa9f8180eb8f37800147a6fbe271 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Costes?= Date: Wed, 10 Dec 2025 19:53:46 -0800 Subject: [PATCH 051/111] add ravg std function - update mtbs std function to be compliant with new standard - import_tif_with_rect_box returns crs - add std_file_info data to centralize naming of high level structure --- src/firebench/standardize/__init__.py | 15 ++ src/firebench/standardize/files.py | 1 + src/firebench/standardize/mtbs.py | 5 +- src/firebench/standardize/ravg.py | 220 +++++++++++++++++++++ src/firebench/standardize/std_file_info.py | 10 + src/firebench/standardize/tools.py | 2 +- 6 files changed, 250 insertions(+), 3 deletions(-) create mode 100644 src/firebench/standardize/ravg.py create mode 100644 src/firebench/standardize/std_file_info.py diff --git a/src/firebench/standardize/__init__.py b/src/firebench/standardize/__init__.py index a55c34a..af194b3 100644 --- a/src/firebench/standardize/__init__.py +++ b/src/firebench/standardize/__init__.py @@ -19,3 +19,18 @@ merge_std_files, ) from .landfire import standardize_landfire_from_geotiff +from .ravg import ( + standardize_ravg_cc_from_geotiff, + standardize_ravg_ba_from_geotiff, + standardize_ravg_cbi_from_geotiff, +) +from .std_file_info import ( + POINTS, + TIME_SERIES, + SPATIAL_1D, + SPATIAL_2D, + SPATIAL_3D, + GEOPOLYGONS, + FUEL_MODELS, + MISCELLANEOUS, +) diff --git a/src/firebench/standardize/files.py b/src/firebench/standardize/files.py index 8d9e9f8..809b077 100644 --- a/src/firebench/standardize/files.py +++ b/src/firebench/standardize/files.py @@ -11,6 +11,7 @@ def new_std_file(filepath: str, authors: str, overwrite: bool = False) -> h5py.F """ Create a new file using FireBench standard. Return the file object. + Notes ----- Do not forget to close the file once edited. This function opens the h5 file but do not close it. diff --git a/src/firebench/standardize/mtbs.py b/src/firebench/standardize/mtbs.py index 88592eb..c150400 100644 --- a/src/firebench/standardize/mtbs.py +++ b/src/firebench/standardize/mtbs.py @@ -8,6 +8,7 @@ from ..tools import StandardVariableNames as svn from .tools import check_std_version from ..tools.logging_config import logger +from .std_file_info import SPATIAL_2D def standardize_mtbs_from_geotiff( @@ -30,7 +31,7 @@ def standardize_mtbs_from_geotiff( h5file : h5py.File target HDF5 file group_name : str | None - HDF5 group path. If None, auto-derive from filename, e.g. '2D_raster/'. + HDF5 group path. If None, auto-derive from filename, e.g. 'SPATIAL_2D/'. overwrite: bool Overwrite the group in the HDF5 file. Default: False invert_y: bool @@ -84,7 +85,7 @@ def standardize_mtbs_from_geotiff( if group_name is None: group_name = Path(geotiff_path).stem - group_name = f"/2D_raster/{group_name}" + group_name = f"/{SPATIAL_2D}/{group_name}" if group_name in h5file.keys(): if overwrite: del h5file[group_name] diff --git a/src/firebench/standardize/ravg.py b/src/firebench/standardize/ravg.py new file mode 100644 index 0000000..6191661 --- /dev/null +++ b/src/firebench/standardize/ravg.py @@ -0,0 +1,220 @@ +import h5py +import numpy as np +from .tools import check_std_version, import_tif_with_rect_box +from ..tools.logging_config import logger +from ..tools import StandardVariableNames as svn +from pathlib import Path +from .std_file_info import SPATIAL_2D + + +def standardize_ravg_cc_from_geotiff( + geotiff_path: Path, + h5file: h5py.File, + lower_left_corner: tuple[float, float], + upper_right_corner: tuple[float, float], + group_name: str | None = None, + projection: str = None, + overwrite: bool = False, + invert_y: bool = False, +): + """ + Convert a RAVG GeoTIFF to FireBench HDF5 Standard for Canopy Cover Loss + Use CONUS tif file and define bounding box for data import. + + Use source data projection as default. Can be reprojected by specifying the CRS in projection. + + Parameters + ---------- + geotiff_path : Path + Path to the RAVG Canopy Cover Loss GeoTIFF (ending with *_cc5.tif). + h5file : h5py.File + target HDF5 file + group_name : str | None + HDF5 group path. If None, auto-derive from filename, e.g. 'spatial_2d/'. + overwrite: bool + Overwrite the group in the HDF5 file. Default: False + invert_y: bool + Invert y axis in data + + Returns + ------- + h5py.File + The actual HDF5 group written (with suffix if collision). + """ + _standardize_ravg_from_geotiff( + geotiff_path, + h5file, + lower_left_corner, + upper_right_corner, + svn.RAVG_CANOPY_COVER_LOSS.value, + group_name, + projection, + overwrite, + invert_y, + ) + + +def standardize_ravg_cbi_from_geotiff( + geotiff_path: Path, + h5file: h5py.File, + lower_left_corner: tuple[float, float], + upper_right_corner: tuple[float, float], + group_name: str | None = None, + projection: str = None, + overwrite: bool = False, + invert_y: bool = False, +): + """ + Convert a RAVG GeoTIFF to FireBench HDF5 Standard for Composite Burn Index Severity + Use CONUS tif file and define bounding box for data import. + + Use source data projection as default. Can be reprojected by specifying the CRS in projection. + + Parameters + ---------- + geotiff_path : Path + Path to the RAVG Composite Burn Index Severity GeoTIFF (ending with *_cbi4.tif). + h5file : h5py.File + target HDF5 file + group_name : str | None + HDF5 group path. If None, auto-derive from filename, e.g. 'spatial_2d/'. + overwrite: bool + Overwrite the group in the HDF5 file. Default: False + invert_y: bool + Invert y axis in data + + Returns + ------- + h5py.File + The actual HDF5 group written (with suffix if collision). + """ + _standardize_ravg_from_geotiff( + geotiff_path, + h5file, + lower_left_corner, + upper_right_corner, + svn.RAVG_COMPOSITE_BURN_INDEX_SEVERITY.value, + group_name, + projection, + overwrite, + invert_y, + ) + + +def standardize_ravg_ba_from_geotiff( + geotiff_path: Path, + h5file: h5py.File, + lower_left_corner: tuple[float, float], + upper_right_corner: tuple[float, float], + group_name: str | None = None, + projection: str = None, + overwrite: bool = False, + invert_y: bool = False, +): + """ + Convert a RAVG GeoTIFF to FireBench HDF5 Standard for Live Basal Area loss + Use CONUS tif file and define bounding box for data import. + + Use source data projection as default. Can be reprojected by specifying the CRS in projection. + + Parameters + ---------- + geotiff_path : Path + Path to the RAVG Live Basal Area loss GeoTIFF (ending with *_ba7.tif). + h5file : h5py.File + target HDF5 file + group_name : str | None + HDF5 group path. If None, auto-derive from filename, e.g. 'spatial_2d/'. + overwrite: bool + Overwrite the group in the HDF5 file. Default: False + invert_y: bool + Invert y axis in data + + Returns + ------- + h5py.File + The actual HDF5 group written (with suffix if collision). + """ + _standardize_ravg_from_geotiff( + geotiff_path, + h5file, + lower_left_corner, + upper_right_corner, + svn.RAVG_LIVE_BASAL_AREA_LOSS.value, + group_name, + projection, + overwrite, + invert_y, + ) + + +def _standardize_ravg_from_geotiff( + geotiff_path: Path, + h5file: h5py.File, + lower_left_corner: tuple[float, float], + upper_right_corner: tuple[float, float], + ravg_variable: str, + group_name: str | None = None, + projection: str = None, + overwrite: bool = False, + invert_y: bool = False, +): + """ + Convert a RAVG GeoTIFF to FireBench HDF5 Standard. + Use CONUS tif file and define bounding box for data import. + + Use source data projection as default. Can be reprojected by specifying the CRS in projection. + + Parameters + ---------- + geotiff_path : Path + Path to the RAVG Composite Burn Index Severity GeoTIFF (ending with *_cc5.tif). + h5file : h5py.File + target HDF5 file + group_name : str | None + HDF5 group path. If None, auto-derive from filename, e.g. 'spatial_2d/'. + overwrite: bool + Overwrite the group in the HDF5 file. Default: False + invert_y: bool + Invert y axis in data + + Returns + ------- + h5py.File + The actual HDF5 group written (with suffix if collision). + """ + logger.debug("Standardize RAVG %s dataset from file %s ", ravg_variable, geotiff_path) + check_std_version(h5file) + + lat, lon, ravg_data, crs = import_tif_with_rect_box( + geotiff_path, lower_left_corner, upper_right_corner, projection, invert_y + ) + + if group_name is None: + group_name = Path(geotiff_path).stem + + group_name = f"/{SPATIAL_2D}/{group_name}" + if group_name in h5file.keys(): + if overwrite: + del h5file[group_name] + else: + logger.warning( + "group name %s already exists in file %s. Group not updated. Set `overwrite` to True to update the dataset.", + group_name, + geotiff_path, + ) + return + + g = h5file.create_group(group_name) + g.attrs["data_source"] = f"RAVG {geotiff_path}" + g.attrs["crs"] = str(crs) + + dlat = g.create_dataset("position_lat", data=lat, dtype=np.float64) + dlat.attrs["units"] = "degrees" + + dlat = g.create_dataset("position_lon", data=lon, dtype=np.float64) + dlat.attrs["units"] = "degrees" + + ddata = g.create_dataset(ravg_variable, data=ravg_data, dtype=np.uint8) + ddata.attrs["units"] = "dimensionless" + ddata.attrs["_FillValue"] = 0 diff --git a/src/firebench/standardize/std_file_info.py b/src/firebench/standardize/std_file_info.py new file mode 100644 index 0000000..9b0b479 --- /dev/null +++ b/src/firebench/standardize/std_file_info.py @@ -0,0 +1,10 @@ +# centralize high level structure for HDF5 standard file +POINTS = "points" +TIME_SERIES = "time_series" +SPATIAL_1D = "spatial_1d" +SPATIAL_2D = "spatial_2d" +SPATIAL_3D = "spatial_3d" +UNSTRUCTURED = "unstructured" +GEOPOLYGONS = "polygons" +FUEL_MODELS = "fuel_models" +MISCELLANEOUS = "miscellaneous" diff --git a/src/firebench/standardize/tools.py b/src/firebench/standardize/tools.py index 00dffc2..420a0b4 100644 --- a/src/firebench/standardize/tools.py +++ b/src/firebench/standardize/tools.py @@ -477,7 +477,7 @@ def import_tif_with_rect_box( lon = lon[::-1, :] data_dict["data"] = data_dict["data"][::-1, :] - return np.array(lat), np.array(lon), np.array(data_dict["data"]) + return np.array(lat), np.array(lon), np.array(data_dict["data"]), tgt_crs def _merge_from_source( From 5383718d764c3f34f7780524103d59a6929ddfd6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Costes?= Date: Thu, 11 Dec 2025 19:50:11 -0800 Subject: [PATCH 052/111] refactoring of tif import data - add compression using zstd to standardization functions - add hdf5plugin dependency --- pyproject.toml | 1 + src/firebench/standardize/landfire.py | 56 ++++------------- src/firebench/standardize/mtbs.py | 8 ++- src/firebench/standardize/ravg.py | 12 ++-- src/firebench/standardize/tools.py | 89 +++++++++++++++++---------- 5 files changed, 82 insertions(+), 84 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 5ac7e93..a6f431e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -15,6 +15,7 @@ description = "FireBench is a Python library designed for the systematic benchma dependencies = [ "geopandas < 2.0", "h5py < 4.0", + "hdf5plugin >= 6.0", "matplotlib > 3.8", "numpy < 3.0", "pint < 1.0", diff --git a/src/firebench/standardize/landfire.py b/src/firebench/standardize/landfire.py index 680ae6b..be51e78 100644 --- a/src/firebench/standardize/landfire.py +++ b/src/firebench/standardize/landfire.py @@ -1,14 +1,15 @@ from pathlib import Path import h5py +import hdf5plugin import numpy as np import rasterio from pyproj import CRS, Transformer from ..tools import StandardVariableNames as svn -from .tools import check_std_version +from .tools import check_std_version, import_tif from ..tools.logging_config import logger - +from .std_file_info import SPATIAL_2D def standardize_landfire_from_geotiff( geotiff_path: str, @@ -20,6 +21,7 @@ def standardize_landfire_from_geotiff( overwrite: bool = False, invert_y: bool = False, fill_value: float = None, + compression_lvl:int=3, ): """ Convert a MTBS GeoTIFF to Firebench HDF5 standard file. @@ -46,48 +48,12 @@ def standardize_landfire_from_geotiff( """ # pylint: disable=line-too-long logger.debug("Standardize LANDFIRE dataset from file %s ", geotiff_path) check_std_version(h5file) - with rasterio.open(geotiff_path) as src: - data = src.read(1) - landfire_data = {"data": data, "transform": src.transform, "crs": src.crs, "nodata": src.nodata} - logger.info(f"Loaded {geotiff_path}: shape={data.shape}, CRS={src.crs}") - - rows, cols = data.shape - - # Build pixel center coordinates (projected) - # col indices (x-direction), row indices (y-direction) - jj = np.arange(cols) - ii = np.arange(rows) - # vectorized center coordinates from affine: - # x = a*col + b*row + c ; y = d*col + e*row + f - x = ( - landfire_data["transform"].a * jj[None, :] - + landfire_data["transform"].b * ii[:, None] - + landfire_data["transform"].c - ) - y = ( - landfire_data["transform"].d * jj[None, :] - + landfire_data["transform"].e * ii[:, None] - + landfire_data["transform"].f - ) - - # Reproject to geographic lat/lon - if projection is None: - projection = landfire_data["crs"] - tgt_crs = CRS(projection) - - # always_xy=True -> transformer expects/returns (x, y) = (lon, lat) ordering for geographic CRS - transformer = Transformer.from_crs(landfire_data["crs"], tgt_crs, always_xy=True) - lon, lat = transformer.transform(x, y) # lon, lat are 2-D arrays aligned with `data` - - if invert_y: - lat = lat[::-1, :] - lon = lon[::-1, :] - landfire_data["data"] = landfire_data["data"][::-1, :] + lat, lon, landfire_data, crs, nodata = import_tif(geotiff_path, projection, invert_y) if group_name is None: group_name = Path(geotiff_path).stem - group_name = f"/2D_raster/{group_name}" + group_name = f"/{SPATIAL_2D}/{group_name}" if group_name in h5file.keys(): if overwrite: del h5file[group_name] @@ -101,18 +67,18 @@ def standardize_landfire_from_geotiff( g = h5file.create_group(group_name) g.attrs["data_source"] = f"LANDFIRE {geotiff_path}" - g.attrs["crs"] = str(tgt_crs) + g.attrs["crs"] = str(crs) # Lat/Lon as 2-D arrays - dlat = g.create_dataset("position_lat", data=lat, dtype=np.float64) + dlat = g.create_dataset("position_lat", data=lat, dtype=np.float64, **hdf5plugin.Zstd(clevel=compression_lvl)) dlat.attrs["units"] = "degrees" - dlat = g.create_dataset("position_lon", data=lon, dtype=np.float64) + dlat = g.create_dataset("position_lon", data=lon, dtype=np.float64, **hdf5plugin.Zstd(clevel=compression_lvl)) dlat.attrs["units"] = "degrees" - ddata = g.create_dataset(variable_name, data=landfire_data["data"], dtype=np.uint8) + ddata = g.create_dataset(variable_name, data=landfire_data, dtype=np.uint16, **hdf5plugin.Zstd(clevel=compression_lvl)) ddata.attrs["units"] = variable_units if fill_value is None: - ddata.attrs["_FillValue"] = landfire_data["nodata"] + ddata.attrs["_FillValue"] = nodata else: ddata.attrs["_FillValue"] = fill_value diff --git a/src/firebench/standardize/mtbs.py b/src/firebench/standardize/mtbs.py index c150400..8bf45ee 100644 --- a/src/firebench/standardize/mtbs.py +++ b/src/firebench/standardize/mtbs.py @@ -1,6 +1,7 @@ from pathlib import Path import h5py +import hdf5plugin import numpy as np import rasterio from pyproj import CRS, Transformer @@ -18,6 +19,7 @@ def standardize_mtbs_from_geotiff( projection: str = None, overwrite: bool = False, invert_y: bool = False, + compression_lvl:int=3, ): """ Convert a MTBS GeoTIFF to Firebench HDF5 standard file. @@ -102,12 +104,12 @@ def standardize_mtbs_from_geotiff( g.attrs["crs"] = str(tgt_crs) # Lat/Lon as 2-D arrays - dlat = g.create_dataset("position_lat", data=lat, dtype=np.float64) + dlat = g.create_dataset("position_lat", data=lat, dtype=np.float64, **hdf5plugin.Zstd(clevel=compression_lvl)) dlat.attrs["units"] = "degrees" - dlat = g.create_dataset("position_lon", data=lon, dtype=np.float64) + dlat = g.create_dataset("position_lon", data=lon, dtype=np.float64, **hdf5plugin.Zstd(clevel=compression_lvl)) dlat.attrs["units"] = "degrees" - ddata = g.create_dataset(svn.FIRE_BURN_SEVERITY.value, data=severity_raw["data"], dtype=np.uint8) + ddata = g.create_dataset(svn.FIRE_BURN_SEVERITY.value, data=severity_raw["data"], dtype=np.uint8, **hdf5plugin.Zstd(clevel=compression_lvl)) ddata.attrs["units"] = "dimensionless" ddata.attrs["_FillValue"] = 0 diff --git a/src/firebench/standardize/ravg.py b/src/firebench/standardize/ravg.py index 6191661..de3ba22 100644 --- a/src/firebench/standardize/ravg.py +++ b/src/firebench/standardize/ravg.py @@ -1,4 +1,5 @@ import h5py +import hdf5plugin import numpy as np from .tools import check_std_version, import_tif_with_rect_box from ..tools.logging_config import logger @@ -158,6 +159,7 @@ def _standardize_ravg_from_geotiff( projection: str = None, overwrite: bool = False, invert_y: bool = False, + compression_lvl:int=3, ): """ Convert a RAVG GeoTIFF to FireBench HDF5 Standard. @@ -186,7 +188,7 @@ def _standardize_ravg_from_geotiff( logger.debug("Standardize RAVG %s dataset from file %s ", ravg_variable, geotiff_path) check_std_version(h5file) - lat, lon, ravg_data, crs = import_tif_with_rect_box( + lat, lon, ravg_data, crs, nodata = import_tif_with_rect_box( geotiff_path, lower_left_corner, upper_right_corner, projection, invert_y ) @@ -209,12 +211,12 @@ def _standardize_ravg_from_geotiff( g.attrs["data_source"] = f"RAVG {geotiff_path}" g.attrs["crs"] = str(crs) - dlat = g.create_dataset("position_lat", data=lat, dtype=np.float64) + dlat = g.create_dataset("position_lat", data=lat, dtype=np.float64, **hdf5plugin.Zstd(clevel=compression_lvl)) dlat.attrs["units"] = "degrees" - dlat = g.create_dataset("position_lon", data=lon, dtype=np.float64) + dlat = g.create_dataset("position_lon", data=lon, dtype=np.float64, **hdf5plugin.Zstd(clevel=compression_lvl)) dlat.attrs["units"] = "degrees" - ddata = g.create_dataset(ravg_variable, data=ravg_data, dtype=np.uint8) + ddata = g.create_dataset(ravg_variable, data=ravg_data, dtype=np.uint8, **hdf5plugin.Zstd(clevel=compression_lvl)) ddata.attrs["units"] = "dimensionless" - ddata.attrs["_FillValue"] = 0 + ddata.attrs["_FillValue"] = nodata diff --git a/src/firebench/standardize/tools.py b/src/firebench/standardize/tools.py index 420a0b4..6be3e6b 100644 --- a/src/firebench/standardize/tools.py +++ b/src/firebench/standardize/tools.py @@ -477,7 +477,62 @@ def import_tif_with_rect_box( lon = lon[::-1, :] data_dict["data"] = data_dict["data"][::-1, :] - return np.array(lat), np.array(lon), np.array(data_dict["data"]), tgt_crs + return np.array(lat), np.array(lon), np.array(data_dict["data"]), tgt_crs, data_dict["nodata"] + +def import_tif( + geotiff_path: str, + projection: str = None, + invert_y: bool = False, +): + """ + Convert a MTBS GeoTIFF to Firebench HDF5 standard file. + + Use source data projection as default. Can be reprojected by specifying the CRS in projection. + + Parameters + ---------- + geotiff_path : str + Path to the MTBS GeoTIFF (ending with *_dnbr6.tif). + h5file : h5py.File + target HDF5 file + group_name : str | None + HDF5 group path. If None, auto-derive from filename, e.g. '2D_raster/'. + overwrite: bool + Overwrite the group in the HDF5 file. Default: False + invert_y: bool + Invert y axis in data + + Returns + ------- + h5py.File + The actual HDF5 group written (with suffix if collision). + """ # pylint: disable=line-too-long + with rasterio.open(geotiff_path) as src: + data = src.read(1) + data_dict = {"data": data, "transform": src.transform, "crs": src.crs, "nodata": src.nodata} + logger.info(f"Loaded {geotiff_path}: shape={data.shape}, CRS={src.crs}") + + rows, cols = data.shape + jj = np.arange(cols) + ii = np.arange(rows) + T = data_dict["transform"] + x = T.a * jj[None, :] + T.b * ii[:, None] + T.c + y = T.d * jj[None, :] + T.e * ii[:, None] + T.f + + if projection is None: + projection = data_dict["crs"] + tgt_crs = CRS(projection) + + # always_xy=True -> transformer expects/returns (x, y) = (lon, lat) ordering for geographic CRS + transformer = Transformer.from_crs(data_dict["crs"], tgt_crs, always_xy=True) + lon, lat = transformer.transform(x, y) + + if invert_y: + lat = lat[::-1, :] + lon = lon[::-1, :] + data_dict["data"] = data_dict["data"][::-1, :] + + return np.array(lat), np.array(lon), np.array(data_dict["data"]), tgt_crs, data_dict["nodata"] def _merge_from_source( @@ -554,26 +609,7 @@ def _copy_entire_object(src_parent: h5py.Group, dst_parent: h5py.Group, name: st Copy a group or dataset `name` from src_parent to dst_parent, including all attributes and children (for groups). """ - obj = src_parent[name] - - if isinstance(obj, h5py.Dataset): - # Create dataset with same data and attrs - dset = dst_parent.create_dataset(name, data=obj[...], dtype=obj.dtype) - _copy_attributes(obj, dset, _build_child_path(dst_parent.name, name)) - - elif isinstance(obj, h5py.Group): - # Create group and copy attributes - grp = dst_parent.create_group(name) - _copy_attributes(obj, grp, _build_child_path(dst_parent.name, name)) - - # Recurse to copy all children - for child_name in obj.keys(): - _copy_entire_object(obj, grp, child_name) - - else: - # Exotic object types (SoftLink, ExternalLink, etc.): skip or handle if needed - # For now, we skip them to keep the implementation simple. - pass + src_parent.copy(name, dst_parent, name=name) def _copy_attributes( @@ -592,13 +628,4 @@ def _copy_attributes( if key in dst_obj.attrs: # Keep existing attr value continue - dst_obj.attrs[key] = value - - -def _build_child_path(parent_path: str, name: str) -> str: - """ - Utility to build a proper HDF5 path for a child object. - """ - if parent_path == "/": - return f"/{name}" - return f"{parent_path.rstrip('/')}/{name}" + dst_obj.attrs[key] = value \ No newline at end of file From 26fd4b0f67b1ffa751162ceb9a3f72d91d171d33 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Costes?= Date: Thu, 11 Dec 2025 19:50:24 -0800 Subject: [PATCH 053/111] change standard file format --- docs/standard_format.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/standard_format.md b/docs/standard_format.md index 8836132..687c926 100644 --- a/docs/standard_format.md +++ b/docs/standard_format.md @@ -12,11 +12,11 @@ Each .h5 file must adhere to the following structure: ``` / (root) -├── points/ (geopolygones) +├── points/ (0D datasets) ├── time_series/ (point-based time series) -├── 1D_raster/ (1D gridded spatial data + time) -├── 2D_raster/ (2D gridded spatial data + time) -├── 3D_raster/ (3D gridded spatial data + time) +├── spatial_1d/ (1D gridded spatial data + time) +├── spatial_2d/ (2D gridded spatial data + time) +├── spatial_3d/ (3D gridded spatial data + time) ├── unstructured/ (unstructured spatial data + time) ├── polygons/ (geopolygones) ├── fuel_models/ (fuel model classification or parameters) From db48917c38aa8b30722c0040f5c44a82c1f1b602 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Costes?= Date: Thu, 11 Dec 2025 20:49:36 -0800 Subject: [PATCH 054/111] add synoptic data standardization - add SOLAR_RADIATION and WIND_GUST to namespace - code formatting --- src/firebench/standardize/__init__.py | 1 + src/firebench/standardize/landfire.py | 15 ++- src/firebench/standardize/mtbs.py | 17 +++- src/firebench/standardize/ravg.py | 14 ++- src/firebench/standardize/synoptic.py | 131 ++++++++++++++++++++++++++ src/firebench/standardize/tools.py | 3 +- src/firebench/tools/namespace.py | 2 + 7 files changed, 170 insertions(+), 13 deletions(-) create mode 100644 src/firebench/standardize/synoptic.py diff --git a/src/firebench/standardize/__init__.py b/src/firebench/standardize/__init__.py index af194b3..aa4985c 100644 --- a/src/firebench/standardize/__init__.py +++ b/src/firebench/standardize/__init__.py @@ -34,3 +34,4 @@ FUEL_MODELS, MISCELLANEOUS, ) +from .synoptic import standardize_synoptic_raws_from_json diff --git a/src/firebench/standardize/landfire.py b/src/firebench/standardize/landfire.py index be51e78..675c321 100644 --- a/src/firebench/standardize/landfire.py +++ b/src/firebench/standardize/landfire.py @@ -11,6 +11,7 @@ from ..tools.logging_config import logger from .std_file_info import SPATIAL_2D + def standardize_landfire_from_geotiff( geotiff_path: str, h5file: h5py.File, @@ -21,7 +22,7 @@ def standardize_landfire_from_geotiff( overwrite: bool = False, invert_y: bool = False, fill_value: float = None, - compression_lvl:int=3, + compression_lvl: int = 3, ): """ Convert a MTBS GeoTIFF to Firebench HDF5 standard file. @@ -70,13 +71,19 @@ def standardize_landfire_from_geotiff( g.attrs["crs"] = str(crs) # Lat/Lon as 2-D arrays - dlat = g.create_dataset("position_lat", data=lat, dtype=np.float64, **hdf5plugin.Zstd(clevel=compression_lvl)) + dlat = g.create_dataset( + "position_lat", data=lat, dtype=np.float64, **hdf5plugin.Zstd(clevel=compression_lvl) + ) dlat.attrs["units"] = "degrees" - dlat = g.create_dataset("position_lon", data=lon, dtype=np.float64, **hdf5plugin.Zstd(clevel=compression_lvl)) + dlat = g.create_dataset( + "position_lon", data=lon, dtype=np.float64, **hdf5plugin.Zstd(clevel=compression_lvl) + ) dlat.attrs["units"] = "degrees" - ddata = g.create_dataset(variable_name, data=landfire_data, dtype=np.uint16, **hdf5plugin.Zstd(clevel=compression_lvl)) + ddata = g.create_dataset( + variable_name, data=landfire_data, dtype=np.uint16, **hdf5plugin.Zstd(clevel=compression_lvl) + ) ddata.attrs["units"] = variable_units if fill_value is None: ddata.attrs["_FillValue"] = nodata diff --git a/src/firebench/standardize/mtbs.py b/src/firebench/standardize/mtbs.py index 8bf45ee..eb6b15c 100644 --- a/src/firebench/standardize/mtbs.py +++ b/src/firebench/standardize/mtbs.py @@ -19,7 +19,7 @@ def standardize_mtbs_from_geotiff( projection: str = None, overwrite: bool = False, invert_y: bool = False, - compression_lvl:int=3, + compression_lvl: int = 3, ): """ Convert a MTBS GeoTIFF to Firebench HDF5 standard file. @@ -104,12 +104,21 @@ def standardize_mtbs_from_geotiff( g.attrs["crs"] = str(tgt_crs) # Lat/Lon as 2-D arrays - dlat = g.create_dataset("position_lat", data=lat, dtype=np.float64, **hdf5plugin.Zstd(clevel=compression_lvl)) + dlat = g.create_dataset( + "position_lat", data=lat, dtype=np.float64, **hdf5plugin.Zstd(clevel=compression_lvl) + ) dlat.attrs["units"] = "degrees" - dlat = g.create_dataset("position_lon", data=lon, dtype=np.float64, **hdf5plugin.Zstd(clevel=compression_lvl)) + dlat = g.create_dataset( + "position_lon", data=lon, dtype=np.float64, **hdf5plugin.Zstd(clevel=compression_lvl) + ) dlat.attrs["units"] = "degrees" - ddata = g.create_dataset(svn.FIRE_BURN_SEVERITY.value, data=severity_raw["data"], dtype=np.uint8, **hdf5plugin.Zstd(clevel=compression_lvl)) + ddata = g.create_dataset( + svn.FIRE_BURN_SEVERITY.value, + data=severity_raw["data"], + dtype=np.uint8, + **hdf5plugin.Zstd(clevel=compression_lvl), + ) ddata.attrs["units"] = "dimensionless" ddata.attrs["_FillValue"] = 0 diff --git a/src/firebench/standardize/ravg.py b/src/firebench/standardize/ravg.py index de3ba22..cffc5a3 100644 --- a/src/firebench/standardize/ravg.py +++ b/src/firebench/standardize/ravg.py @@ -159,7 +159,7 @@ def _standardize_ravg_from_geotiff( projection: str = None, overwrite: bool = False, invert_y: bool = False, - compression_lvl:int=3, + compression_lvl: int = 3, ): """ Convert a RAVG GeoTIFF to FireBench HDF5 Standard. @@ -211,12 +211,18 @@ def _standardize_ravg_from_geotiff( g.attrs["data_source"] = f"RAVG {geotiff_path}" g.attrs["crs"] = str(crs) - dlat = g.create_dataset("position_lat", data=lat, dtype=np.float64, **hdf5plugin.Zstd(clevel=compression_lvl)) + dlat = g.create_dataset( + "position_lat", data=lat, dtype=np.float64, **hdf5plugin.Zstd(clevel=compression_lvl) + ) dlat.attrs["units"] = "degrees" - dlat = g.create_dataset("position_lon", data=lon, dtype=np.float64, **hdf5plugin.Zstd(clevel=compression_lvl)) + dlat = g.create_dataset( + "position_lon", data=lon, dtype=np.float64, **hdf5plugin.Zstd(clevel=compression_lvl) + ) dlat.attrs["units"] = "degrees" - ddata = g.create_dataset(ravg_variable, data=ravg_data, dtype=np.uint8, **hdf5plugin.Zstd(clevel=compression_lvl)) + ddata = g.create_dataset( + ravg_variable, data=ravg_data, dtype=np.uint8, **hdf5plugin.Zstd(clevel=compression_lvl) + ) ddata.attrs["units"] = "dimensionless" ddata.attrs["_FillValue"] = nodata diff --git a/src/firebench/standardize/synoptic.py b/src/firebench/standardize/synoptic.py new file mode 100644 index 0000000..34f8f35 --- /dev/null +++ b/src/firebench/standardize/synoptic.py @@ -0,0 +1,131 @@ +from pathlib import Path +import numpy as np +import hdf5plugin +import h5py +import json +from datetime import datetime +from ..tools import StandardVariableNames as svn +from ..tools import logger, calculate_sha256 +from .std_file_info import TIME_SERIES +from .time import datetime_to_iso8601 + +VARIABLE_CONVERSION = { + "air_temp_set_1": { + "std_name": svn.AIR_TEMPERATURE.value, + "units": "degC", + "dtype": np.float64, + }, + "relative_humidity_set_1": { + "std_name": svn.RELATIVE_HUMIDITY.value, + "units": "percent", + "dtype": np.float64, + }, + "wind_direction_set_1": { + "std_name": svn.WIND_DIRECTION.value, + "units": "degree", + "dtype": np.float64, + }, + "wind_speed_set_1": { + "std_name": svn.WIND_SPEED.value, + "units": "m/s", + "dtype": np.float64, + }, + "wind_gust_set_1": { + "std_name": svn.WIND_GUST.value, + "units": "m/s", + "dtype": np.float64, + }, + "solar_radiation_set_1": { + "std_name": svn.SOLAR_RADIATION.value, + "units": "W/m^2", + "dtype": np.float64, + }, + "fuel_moisture_set_1": { + "std_name": svn.FUEL_MOISTURE_CONTENT_10H.value, + "units": "percent", + "dtype": np.float64, + }, +} + + +def standardize_synoptic_raws_from_json( + json_path: Path, + h5file: h5py.File, + overwrite: bool = False, + variable_conversion: dict = VARIABLE_CONVERSION, + compression_lvl: int = 3, +): + sha_source_file = calculate_sha256(json_path.resolve()) + with open(json_path.resolve(), "r") as f: + data = json.load(f) + + if TIME_SERIES in h5file["/"]: + probes = h5file[f"/{TIME_SERIES}"] + else: + probes = h5file.create_group(TIME_SERIES) + + for station_dict in data["STATION"]: + logger.info("Processing station %s", station_dict["STID"]) + + group_name = f"station_{station_dict["STID"]}" + if group_name in h5file.keys(): + if overwrite: + del h5file[group_name] + else: + logger.warning( + "station group name %s already exists in file %s. Group not updated. Set `overwrite` to True to update the dataset.", + group_name, + json_path, + ) + return + + new_station = probes.create_group(group_name) + new_station.attrs["name"] = station_dict["NAME"] + new_station.attrs["ID"] = station_dict["ID"] + new_station.attrs["mnet_id"] = station_dict["MNET_ID"] + new_station.attrs["state"] = station_dict["STATE"] + new_station.attrs["timezone"] = station_dict["TIMEZONE"] + new_station.attrs["position_lat"] = station_dict["LATITUDE"] + new_station.attrs["position_lon"] = station_dict["LONGITUDE"] + new_station.attrs["position_alt"] = station_dict["ELEVATION"] + new_station.attrs["position_lat_units"] = "degree" + new_station.attrs["position_lon_units"] = "degree" + new_station.attrs["position_alt_units"] = station_dict["UNITS"]["elevation"] + new_station.attrs["license"] = "/DATA_LICENSES/Synoptic.txt" + new_station.attrs["data_use_restrictions"] = "No commercial use allowed" + new_station.attrs["public_access_level"] = "Restricted" + new_station.attrs["redistribution_allowed"] = False + new_station.attrs["source_file_sha256"] = sha_source_file + if "ELEV_DEM" in station_dict: + if station_dict["ELEV_DEM"] is not None: + new_station.attrs["elevation_dem"] = station_dict["ELEV_DEM"] + new_station.attrs["elevation_dem_units"] = station_dict["UNITS"]["elevation"] + + for var in station_dict["OBSERVATIONS"]: + if var == "date_time": + time_iso = [] + for t in station_dict["OBSERVATIONS"]["date_time"]: + dt = datetime.strptime(t, "%Y%m%d%H%M%S") + time_iso.append(datetime_to_iso8601(dt, True, tz=station_dict["TIMEZONE"])) + + new_var = new_station.create_dataset( + svn.TIME.value, data=time_iso, **hdf5plugin.Zstd(clevel=compression_lvl) + ) + else: + if var in variable_conversion: + logger.info("> processing %s", var) + var_data = np.array( + station_dict["OBSERVATIONS"][var], dtype=variable_conversion[var]["dtype"] + ) + new_var = new_station.create_dataset( + variable_conversion[var]["std_name"], + data=var_data, + **hdf5plugin.Zstd(clevel=compression_lvl), + ) + new_var.attrs["units"] = variable_conversion[var]["units"] + else: + logger.warning( + "standardize_synoptic_raws_from_json: variable %s from station %s not processed. Add the variable to `variable_conversion` to process it.", + var, + station_dict["STID"], + ) diff --git a/src/firebench/standardize/tools.py b/src/firebench/standardize/tools.py index 6be3e6b..54918ef 100644 --- a/src/firebench/standardize/tools.py +++ b/src/firebench/standardize/tools.py @@ -479,6 +479,7 @@ def import_tif_with_rect_box( return np.array(lat), np.array(lon), np.array(data_dict["data"]), tgt_crs, data_dict["nodata"] + def import_tif( geotiff_path: str, projection: str = None, @@ -628,4 +629,4 @@ def _copy_attributes( if key in dst_obj.attrs: # Keep existing attr value continue - dst_obj.attrs[key] = value \ No newline at end of file + dst_obj.attrs[key] = value diff --git a/src/firebench/tools/namespace.py b/src/firebench/tools/namespace.py index 29986a4..924dc86 100644 --- a/src/firebench/tools/namespace.py +++ b/src/firebench/tools/namespace.py @@ -85,10 +85,12 @@ class StandardVariableNames(Enum): # pragma: no cover RAVG_COMPOSITE_BURN_INDEX_SEVERITY = "ravg_composite_burn_index_severity" RAVG_LIVE_BASAL_AREA_LOSS = "ravg_live_basal_area_loss" RELATIVE_HUMIDITY = "relative_humidity" + SOLAR_RADIATION = "solar_radiation" SLOPE_ANGLE = "slope_angle" TEMPERATURE = "temperature" TIME = "time" WIND_DIRECTION = "wind_direction" + WIND_GUST = "wind_gust" WIND_SPEED = "wind_speed" WIND_SPEED_U = "wind_speed_u" WIND_SPEED_V = "wind_speed_v" From 6b186c60fa58ef9979fef8880e95f76ded44f7b7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Costes?= Date: Fri, 12 Dec 2025 16:46:39 -0800 Subject: [PATCH 055/111] add compression for ravg --- src/firebench/standardize/ravg.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/firebench/standardize/ravg.py b/src/firebench/standardize/ravg.py index cffc5a3..8389799 100644 --- a/src/firebench/standardize/ravg.py +++ b/src/firebench/standardize/ravg.py @@ -17,6 +17,7 @@ def standardize_ravg_cc_from_geotiff( projection: str = None, overwrite: bool = False, invert_y: bool = False, + compression_lvl: int = 3, ): """ Convert a RAVG GeoTIFF to FireBench HDF5 Standard for Canopy Cover Loss @@ -52,6 +53,7 @@ def standardize_ravg_cc_from_geotiff( projection, overwrite, invert_y, + compression_lvl, ) @@ -64,6 +66,7 @@ def standardize_ravg_cbi_from_geotiff( projection: str = None, overwrite: bool = False, invert_y: bool = False, + compression_lvl: int = 3, ): """ Convert a RAVG GeoTIFF to FireBench HDF5 Standard for Composite Burn Index Severity @@ -99,6 +102,7 @@ def standardize_ravg_cbi_from_geotiff( projection, overwrite, invert_y, + compression_lvl, ) @@ -111,6 +115,7 @@ def standardize_ravg_ba_from_geotiff( projection: str = None, overwrite: bool = False, invert_y: bool = False, + compression_lvl: int = 3, ): """ Convert a RAVG GeoTIFF to FireBench HDF5 Standard for Live Basal Area loss @@ -146,6 +151,7 @@ def standardize_ravg_ba_from_geotiff( projection, overwrite, invert_y, + compression_lvl, ) @@ -225,4 +231,5 @@ def _standardize_ravg_from_geotiff( ravg_variable, data=ravg_data, dtype=np.uint8, **hdf5plugin.Zstd(clevel=compression_lvl) ) ddata.attrs["units"] = "dimensionless" - ddata.attrs["_FillValue"] = nodata + if nodata is not None: + ddata.attrs["_FillValue"] = nodata From 048c3bbe91dc9e75724bb8745d79a11383247b5a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Costes?= Date: Fri, 12 Dec 2025 16:46:58 -0800 Subject: [PATCH 056/111] refactor std file merge to enable compression --- src/firebench/standardize/files.py | 19 +++- src/firebench/standardize/tools.py | 138 +++++++++++++++++++---------- 2 files changed, 106 insertions(+), 51 deletions(-) diff --git a/src/firebench/standardize/files.py b/src/firebench/standardize/files.py index 809b077..920f776 100644 --- a/src/firebench/standardize/files.py +++ b/src/firebench/standardize/files.py @@ -41,6 +41,7 @@ def merge_two_std_files( filepath_target: str, merged_description: str = "", overwrite: bool = False, + compression_lvl: int = 3, ): """ Try to merge two std FireBench files @@ -49,7 +50,13 @@ def merge_two_std_files( Then merge the list of authors without duplicates. Keep order as much as possible (first authors from file1 then first author from file2 then second from file 1...) """ - logger.debug("merge_two_std_files: merge %s with %s into %s", filepath_1, filepath_2, filepath_target) + logger.info( + "merge_two_std_files: merge %s with %s into %s with compression level %s", + filepath_1, + filepath_2, + filepath_target, + compression_lvl, + ) file1 = h5py.File(filepath_1, "r") validate_h5_std(file1) file2 = h5py.File(filepath_2, "r") @@ -68,7 +75,7 @@ def merge_two_std_files( # Create the new file merged_file = new_std_file(filepath_target, authors=merged_authors, overwrite=overwrite) - merge_trees(file1, file2, merged_file) + merge_trees(file1, file2, merged_file, compression_lvl=compression_lvl) merged_file.attrs["description"] = merged_description @@ -85,6 +92,7 @@ def merge_std_files( filepath_target: str, merged_description: str = "", overwrite: bool = False, + compression_lvl: int = 3, ): if not filespath: raise ValueError("filespath must contain at least one file") @@ -118,6 +126,8 @@ def merge_std_files( if is_last: out_path = target_path + compression_lvl_used = compression_lvl + overwrite_used = overwrite else: # Alternate between tmp1 and tmp2, ensuring out_path != current_path if current_path == tmp1: @@ -127,13 +137,16 @@ def merge_std_files( else: # First time we merge, we can pick any temp file out_path = tmp1 + compression_lvl_used = 1 # minimal compression for tmp files + overwrite_used = True merge_two_std_files( filepath_1=str(current_path), filepath_2=str(next_path), filepath_target=str(out_path), merged_description=merged_description, - overwrite=True, # safe: we control these temp/target files here + overwrite=overwrite_used, + compression_lvl=compression_lvl_used, ) current_path = out_path diff --git a/src/firebench/standardize/tools.py b/src/firebench/standardize/tools.py index 54918ef..95c3aaa 100644 --- a/src/firebench/standardize/tools.py +++ b/src/firebench/standardize/tools.py @@ -1,6 +1,5 @@ import h5py -from ..tools.logging_config import logger -from ..tools.units import ureg +import hdf5plugin import re import numpy as np from pathlib import Path @@ -8,6 +7,8 @@ from pyproj import CRS, Transformer from rasterio.windows import from_bounds from rasterio.warp import transform_bounds +from ..tools.logging_config import logger +from ..tools.units import ureg VERSION_STD = "0.2" @@ -325,7 +326,7 @@ def merge_trees( file1: h5py.File, file2: h5py.File, merged_file: h5py.File, - conflict_solver: dict | None = None, + compression_lvl: int = 3, ) -> None: """ Recursively fill `merged_file` with content from `file1` and `file2`. @@ -350,8 +351,7 @@ def merge_trees( src=file1, dst=merged_file, path="/", - conflict_solver={}, # nothing to resolve, just copy - overwrite_existing=False, + compression_lvl=compression_lvl, ) # 2) merge from file2, now conflict_solver may apply @@ -359,8 +359,7 @@ def merge_trees( src=file2, dst=merged_file, path="/", - conflict_solver={}, - overwrite_existing=True, + compression_lvl=compression_lvl, ) @@ -536,83 +535,126 @@ def import_tif( return np.array(lat), np.array(lon), np.array(data_dict["data"]), tgt_crs, data_dict["nodata"] +def copy_entire_object_zstd( + src_parent: h5py.Group, + dst_parent: h5py.Group, + name: str, + compression_lvl: int, +) -> None: + """ + Recursively copy `name` from src_parent to dst_parent. + + Policy: + - Groups: + * If missing in dst -> create + * If already exists -> copy only new attrs via _copy_attributes + * Recurse into children + - Datasets: + * If missing -> create with Zstd(clevel=compression_lvl), load ONE dataset at a time + * If exists -> raise + - Links/other: skipped + """ + src_obj = src_parent.get(name, getlink=False) + if src_obj is None: + return + + if isinstance(src_obj, h5py.Dataset): + if name in dst_parent: + # Keep strict behavior by default + raise ValueError( + f"Conflict detected: dataset already exists at {dst_parent.name.rstrip('/')}/{name}" + ) + + dset = dst_parent.create_dataset( + name, + data=src_obj[...], + dtype=src_obj.dtype, + **hdf5plugin.Zstd(clevel=compression_lvl), + ) + _copy_attributes(src_obj, dset, f"{dst_parent.name.rstrip('/')}/{name}") + return + + if isinstance(src_obj, h5py.Group): + if name in dst_parent: + dst_obj = dst_parent[name] + if not isinstance(dst_obj, h5py.Group): + raise ValueError( + f"Conflict detected: expected group at {dst_parent.name.rstrip('/')}/{name}" + ) + grp = dst_obj + else: + grp = dst_parent.create_group(name) + + _copy_attributes(src_obj, grp, f"{dst_parent.name.rstrip('/')}/{name}") + + # recurse + for child_name in src_obj.keys(): + copy_entire_object_zstd( + src_parent=src_obj, + dst_parent=grp, + name=child_name, + compression_lvl=compression_lvl, + ) + return + + # SoftLink/ExternalLink/etc: skip + return + + def _merge_from_source( src: h5py.Group, dst: h5py.Group, path: str, - conflict_solver: dict, - overwrite_existing: bool, + compression_lvl: int, ) -> None: """ Recursive helper. - Parameters - ---------- - src : h5py.Group or h5py.File - Source root/node. - dst : h5py.Group or h5py.File - Destination root/node. - path : str - Absolute HDF5 path in src (and corresponding path in dst). - conflict_solver : dict - Mapping path -> solver(existing_data, incoming_data) -> resolved_data. - overwrite_existing : bool - If False, never touch existing objects (used for file1). - If True, apply conflict_solver or keep existing by default (used for file2). + - Merges attributes at `path` via _copy_attributes (only new attrs). + - For children: + * if missing in dst: copy entire subtree with Zstd + * if exists: + - if both are groups: recurse (at any depth) + - otherwise: strict conflict (raise) """ src_obj = src[path] - dst_obj = dst[path] # must exist; for root "/" this is the file itself + dst_obj = dst[path] # must exist for current node # Copy/merge attributes for this object (group or dataset) _copy_attributes(src_obj, dst_obj, path) if isinstance(src_obj, h5py.Dataset): - # Nothing more to recurse into return if not isinstance(src_obj, h5py.Group): - # ignore exotic node types for now (SoftLink, ExternalLink, etc.) return - # src_obj is a Group: iterate over its children - for name, child in src_obj.items(): - if path == "/": - child_path = f"/{name}" - else: - child_path = f"{path.rstrip('/')}/{name}" + for name in src_obj.keys(): + child_path = f"/{name}" if path == "/" else f"{path.rstrip('/')}/{name}" if name not in dst_obj: - # Child does not exist yet in dst: copy entire subtree - _copy_entire_object(src_obj, dst_obj, name) + copy_entire_object_zstd( + src_parent=src_obj, + dst_parent=dst_obj, + name=name, + compression_lvl=compression_lvl, + ) else: - # Child already exists in dst: possible conflict src_child = src_obj[name] dst_child = dst_obj[name] - if path == "/" and isinstance(src_child, h5py.Group) and isinstance(dst_child, h5py.Group): - # Recurse into / and merge there + if isinstance(src_child, h5py.Group) and isinstance(dst_child, h5py.Group): _merge_from_source( src=src, dst=dst, path=child_path, - conflict_solver=conflict_solver, - overwrite_existing=overwrite_existing, + compression_lvl=compression_lvl, ) else: - # Deeper levels (path != "/") or non-group conflicts: - # keep strict behavior and raise. logger.error("_merge_from_source: conflict at path %s for %s", path, name) raise ValueError("Conflict detected. Merge stopped") -def _copy_entire_object(src_parent: h5py.Group, dst_parent: h5py.Group, name: str) -> None: - """ - Copy a group or dataset `name` from src_parent to dst_parent, including - all attributes and children (for groups). - """ - src_parent.copy(name, dst_parent, name=name) - - def _copy_attributes( src_obj: h5py.Dataset | h5py.Group, dst_obj: h5py.Dataset | h5py.Group, path: str ) -> None: From 911f7ba457ae5fbc43708febe25051d014ddb7f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Costes?= Date: Fri, 12 Dec 2025 17:20:34 -0800 Subject: [PATCH 057/111] change logging lvl for synoptic variable processing --- src/firebench/standardize/synoptic.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/firebench/standardize/synoptic.py b/src/firebench/standardize/synoptic.py index 34f8f35..3181aa4 100644 --- a/src/firebench/standardize/synoptic.py +++ b/src/firebench/standardize/synoptic.py @@ -113,7 +113,7 @@ def standardize_synoptic_raws_from_json( ) else: if var in variable_conversion: - logger.info("> processing %s", var) + logger.debug("> processing %s", var) var_data = np.array( station_dict["OBSERVATIONS"][var], dtype=variable_conversion[var]["dtype"] ) From 21a47759c2cf3a8a9379f27bf04b48fd642644f2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Costes?= Date: Sat, 13 Dec 2025 20:19:10 -0800 Subject: [PATCH 058/111] add Acknowledgment section to Caldor benchmark - add all the data section in table of content --- docs/benchmarks/California/01_Caldor.md | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/docs/benchmarks/California/01_Caldor.md b/docs/benchmarks/California/01_Caldor.md index f97f698..1f43f72 100644 --- a/docs/benchmarks/California/01_Caldor.md +++ b/docs/benchmarks/California/01_Caldor.md @@ -1,9 +1,9 @@ # 2021 Caldor Fire -**Version**: 1.0a
    +**Version**: 2026.0a
    **Case ID**: FB001
    **FireBench IO std version**: >= 0.2
    -**Date of last update**: 11/19/2025 +**Date of last update**: 12/19/2025 ## Contributors - Aurélien Costes, [Wildfire Interdisciplinary Research Center](https://www.wildfirecenter.org/), San Jose State University, [aurelien.costes@sjsu.edu](mailto:aurelien.costes@sjsu.edu), [ORCID](https://orcid.org/0000-0003-4543-5107) @@ -12,12 +12,13 @@ This collection of benchmarks uses the public ressources about the 2021 Caldor Fire. It contains observation datasets for: -- Nearby weather stations (nb of associated benchmarks) -- Infrared fire perimeters -- Burn severity -- Building damaged -- (Plume top height) -- (Smoke concentration ground) +- Building damaged (CALFIRE) +- Burn severity (MTBS) +- Burn severity (RAVG) +- Canopy cover loss (RAVG) +- Infrared fire perimeters (NIROPS) +- Live basal area change (RAVG) +- Weather stations (Synoptic) ## Buildings damage benchmarks @@ -279,4 +280,8 @@ Burn Severity | 1 | | ## Notes -- Each file hash has been performed using `firebench.standardize.calculate_sha256`. \ No newline at end of file +- Each file hash has been performed using `firebench.standardize.calculate_sha256`. + +## Acknowledgment + +We gratefully acknowledge Synoptic for granting permission to redistribute selected weather-station data as part of the FireBench benchmarking framework. \ No newline at end of file From 69d86867828fe7f68e791708503e8d973c639255 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Costes?= Date: Sat, 13 Dec 2025 21:41:17 -0800 Subject: [PATCH 059/111] add fire perimeter dataset info --- .../benchmarks/FB001/Caldor_burnt_area.png | Bin 0 -> 63269 bytes .../benchmarks/FB001/Caldor_perimeters.png | Bin 0 -> 111058 bytes docs/benchmarks/California/01_Caldor.md | 54 +++++++++++++++++- 3 files changed, 52 insertions(+), 2 deletions(-) create mode 100644 docs/_static/benchmarks/FB001/Caldor_burnt_area.png create mode 100644 docs/_static/benchmarks/FB001/Caldor_perimeters.png diff --git a/docs/_static/benchmarks/FB001/Caldor_burnt_area.png b/docs/_static/benchmarks/FB001/Caldor_burnt_area.png new file mode 100644 index 0000000000000000000000000000000000000000..09e5acf736b4d81320dd524dc91991d9270f9bb6 GIT binary patch literal 63269 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 literal 0 HcmV?d00001 diff --git a/docs/_static/benchmarks/FB001/Caldor_perimeters.png b/docs/_static/benchmarks/FB001/Caldor_perimeters.png new file mode 100644 index 0000000000000000000000000000000000000000..1ab92f92b0e0e57704dc238ffe70805b7e23e17c GIT binary patch literal 111058 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

    SJM98 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 PfA;S?Xpp0S^!&d8U&jH? literal 0 HcmV?d00001 diff --git a/docs/benchmarks/California/01_Caldor.md b/docs/benchmarks/California/01_Caldor.md index 1f43f72..26faa25 100644 --- a/docs/benchmarks/California/01_Caldor.md +++ b/docs/benchmarks/California/01_Caldor.md @@ -20,7 +20,7 @@ It contains observation datasets for: - Live basal area change (RAVG) - Weather stations (Synoptic) -## Buildings damage benchmarks +## Buildings damage ### Dataset @@ -134,7 +134,7 @@ This benchmark is performed on the binary classes for damaged buildings. This benchmark is performed on the binary classes for damaged buildings. -## Burn severity benchmarks +## Burn severity from MTBS ### Dataset @@ -226,6 +226,55 @@ This benchmark is performed on the binary classes for high severity points (Bina **Name in Score Card**: Binary High Severity F1 Score
    This benchmark is performed on the binary classes for high severity points (Binary High severity processed variable) +## Burn Severity from RAVG +### Dataset + +## Canopy cover loss +### Dataset + +## Infrared fire perimeters +### Dataset + +The infrared fire perimeters have been gathered from [NIROPS](https://ftp.wildfire.gov/public/incident_specific_data/calif_n/2021_FEDERAL_Incidents/CA-ENF-024030_Caldor/IR/NIROPS/) dataset. +Every orginal file has been manually processed to extract only the perimeter. The time stamp of the perimeter has been defined from the imaging report (e.g. [Report for 2021/08/17](https://ftp.wildfire.gov/public/incident_specific_data/calif_n/2021_FEDERAL_Incidents/CA-ENF-024030_Caldor/IR/NIROPS/20210818/20210818_Caldor_IR_Topo_11x17.pdf)) using the `Imagery Date` and `Imagery Time`. The burn area obtained using the KML file and python tools has been verified against the `Interpreted Acreage` when specified in the reports. Each fire perimeter (see Fig. 6) is stored as a group within the HDF5 data file with an attributes containing the path of the KML file that contains the fire perimeter dataset. +The perimeters have been processed from August 17th (first IR perimeter available) to September 10th, when the burn area is 99% if the final burn area, as shown in Figure 7 (source: [CALFIRE](https://www.fire.ca.gov/incidents/2021/8/14/caldor-fire/)). +The final dataset contains 21 perimeters. + +The following study periods (see Fig. 7) are defined: +- `W1`: from August 17th 20h20 PDT to September 10th 23h34 PDT, for a total duration of 24 days, 3h, and 14 min. +- `W2`: from August 19th 20h45 PDT to August 21st 21h15 PDT, for a total duration of 2 days, 0h and 30 min. +- `W3`: from August 26th 02h30 PDT to August 28th 20h30 PDT, for a total duration of 2 days, 18h and 0 min. +- `W4`: from August 28th 20h30 PDT to September 3rd 00h40 PDT, for a total duration of 5 days, 4h and 10 min. + +Figure 6 shows teach processed fire perimeter as a colored solid contour. The color of the contour displays the time stamp of the perimeter. + +![blockdiagram](../../_static/benchmarks/FB001/Caldor_perimeters.png) +

    + + Fig. 6 + + : + + Infrared fire perimeters from August 17th to September 10th. + +

    + +Figure 6 shows teach processed fire perimeter as a colored solid contour. The color of the contour displays the time stamp of the perimeter. The study periods are shown as colored rectangle at the bottom of the plot. + +![blockdiagram](../../_static/benchmarks/FB001/Caldor_burnt_area.png) +

    + + Fig. 7 + + : + + Burn area derived from IR perimeters from August 17th to September 10th. Red dashed line shows the final burn area from CALFIRE. The orange dashed line shows the final burn area from MTBS final perimeter. + +

    + +### Benchmarks + + ## Requirements The following sections list the datasets requirements to run the different benchmarks. When the benchmark script is run, each requirement is validated on the HDF5 file passed as input (from the model ouput/data the user wants to evaluate). If a requirement is met, each corresponding benchmark is run. @@ -281,6 +330,7 @@ Burn Severity | 1 | | ## Notes - Each file hash has been performed using `firebench.standardize.calculate_sha256`. +- Collection of forecasts or reanalysis are authorized for benchmarks period (e.g. for fire perimeters) but have to be detailed in the model report attached to the report sent back to FireBench team for collection and validation of results. ## Acknowledgment From 137ea92c4a88c6fc813cba221de27ca1184fa74a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Costes?= Date: Sat, 13 Dec 2025 21:42:11 -0800 Subject: [PATCH 060/111] update changlog --- docs/changelog.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/changelog.md b/docs/changelog.md index 2cae06e..d40f323 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -1,4 +1,4 @@ -# 11. Changelog +# 12. Changelog All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), From 1634652ad81a639e62df4df2f660c5b02045a51b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Costes?= Date: Sat, 13 Dec 2025 22:06:06 -0800 Subject: [PATCH 061/111] add kpi normalizations - kpi_norm_symmetric_open_linear - kpi_norm_symmetric_open_exponential --- docs/metrics/normalization.md | 39 ++++++++++- src/firebench/metrics/kpi_normalization.py | 76 +++++++++++++++++++++- 2 files changed, 110 insertions(+), 5 deletions(-) diff --git a/docs/metrics/normalization.md b/docs/metrics/normalization.md index e456b9b..356b309 100644 --- a/docs/metrics/normalization.md +++ b/docs/metrics/normalization.md @@ -34,7 +34,7 @@ Here, For KPIs with a minimum acceptable value $a$ and domain $[a, +\infty[$, we define an exponentially decaying score: $$ -\mathcal N(x, a, m) =100 \, \exp \left( - \frac{\ln 2(x-a)}{m-a} \right). +\mathcal N(x, a, m) =100 \, \exp \left( - \frac{\ln 2 \, (x-a)}{m-a} \right). $$ This formulation ensures: @@ -48,4 +48,39 @@ Thus, $m$ is the KPI value at which the score is exactly **50**. Here, - $a$ corresponds to the **best** possible score (100), - $m$ corresponds to the value at which the score has decreased to **50**, -- scores decay smoothly toward 0 as $x \to +\infty$. \ No newline at end of file +- scores decay smoothly toward 0 as $x \to +\infty$. + +## Symmetric Linear Open Normalization + +For KPIs that have a symmetry around 0 but no finite limit, i.e. values in $[-\infty, +\infty[$, we define: + +$$ +\mathcal N(x, m) = 100 \, \max \left(0, 1 - \frac{|x|}{m} \right) +$$ + +where $m > a$ is a parameter specifying the value of $x$ at which the score reaches **0**. + +Here, +- $a$ corresponds to the **best** score (100), +- $m$ corresponds to the **worst** score (0). + +## Symmetric Exponential Open Normalization + +For KPIs that have a symmetry around 0 but no finite limit, i.e. values in $[-\infty, +\infty[$, we define: + +$$ +\mathcal N(x, m) =100 \, \exp \left( - \frac{\ln 2 \, |x|}{m} \right). +$$ + +This formulation ensures: + +$$ +\mathcal N(0,m) = 100, \qquad +\mathcal N(\pm m,m) = 50. +$$ + +Thus, $m$ is the KPI value at which the score is exactly **50**. +Here, +- $0$ corresponds to the **best** possible score (100), +- $m$ corresponds to the value at which the score has decreased to **50**, +- scores decay smoothly toward 0 as $x \to \pm\infty$. \ No newline at end of file diff --git a/src/firebench/metrics/kpi_normalization.py b/src/firebench/metrics/kpi_normalization.py index ec934cc..dd49647 100644 --- a/src/firebench/metrics/kpi_normalization.py +++ b/src/firebench/metrics/kpi_normalization.py @@ -40,7 +40,7 @@ def kpi_norm_bounded_linear(x, a, b): def kpi_norm_half_open_linear(x, a, m): """ - Linearly normalize a KPI defined on the half-open interval [a, ∞). + Linearly normalize a KPI defined on the half-open interval [a, \infty). This function applies a linear decay starting from: - x = a -> score = 100 @@ -80,12 +80,12 @@ def kpi_norm_half_open_linear(x, a, m): def kpi_norm_half_open_exponential(x, a, m): """ - Exponentially normalize a KPI defined on the half-open interval [a, ∞). + Exponentially normalize a KPI defined on the half-open interval [a, \infty). This function applies a smooth exponential decay such that: - x = a -> score = 100 - x = m -> score = 50 - - x -> ∞ -> score -> 0 + - x -> \infty -> score -> 0 ensuring a monotonic and asymptotic decline. Use this normalization when the KPI has a minimum acceptable value `a` @@ -118,3 +118,73 @@ def kpi_norm_half_open_exponential(x, a, m): if m <= a: raise ValueError(f"Parameter m ({m}) smaller than lower limit a ({a})") return 100.0 * exp(-log(2) * (x - a) / (m - a)) + + +def kpi_norm_symmetric_open_linear(x, m): + """ + Linearly normalize a KPI defined on the open interval (-\infty, \infty). + + This function applies a smooth exponential decay such that: + - x = 0 -> score = 100 + - |x| >= m -> score = 0 + + Use this normalization when deviations should be penalized linearly. + + Parameters + ---------- + x : float + KPI value to normalize. + m : float + Value at which the score reaches 0. Must satisfy m > 0. + + Returns + ------- + float + Normalized score in the range (0, 100], dlinear decay from + 100 at `a` to 0 at `m`. + + Raises + ------ + ValueError + If `m <= 0`. + """ + if m <= 0: + raise ValueError(f"Parameter m ({m}) smaller than lower limit 0") + return 100.0 * max(0, 1 - abs(x) / m) + + +def kpi_norm_symmetric_open_exponential(x, m): + """ + Exponentially normalize a KPI defined on the open interval (-\infty, \infty). + + This function applies a smooth exponential decay such that: + - x = 0 -> score = 100 + - x = +/- m -> score = 50 + - x -> \infty -> score -> 0 + ensuring a monotonic and asymptotic decline. + + Use this normalization when deviations should be + penalized progressively rather than linearly. The parameter `m` defines + the characteristic decay scale at which performance is reduced by half. + + Parameters + ---------- + x : float + KPI value to normalize. + m : float + Value at which the score reaches 50. Must satisfy m > 0. + + Returns + ------- + float + Normalized score in the range (0, 100], decaying exponentially + from 100 at `0` toward 0 as `x` increases. + + Raises + ------ + ValueError + If `m <= 0`. + """ + if m <= 0: + raise ValueError(f"Parameter m ({m}) smaller than lower limit 0") + return 100.0 * exp(-log(2) * abs(x) / m) From 85bec9fa3b271accdeacbae02f0929ef67402b5b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Costes?= Date: Sun, 14 Dec 2025 10:11:02 -0800 Subject: [PATCH 062/111] add benchmarks for fire perimeter to Caldor doc --- docs/benchmarks/California/01_Caldor.md | 193 +++++++++++++++++++++--- 1 file changed, 175 insertions(+), 18 deletions(-) diff --git a/docs/benchmarks/California/01_Caldor.md b/docs/benchmarks/California/01_Caldor.md index 26faa25..5b08d02 100644 --- a/docs/benchmarks/California/01_Caldor.md +++ b/docs/benchmarks/California/01_Caldor.md @@ -15,7 +15,10 @@ It contains observation datasets for: - Building damaged (CALFIRE) - Burn severity (MTBS) - Burn severity (RAVG) +- Canopy bottom height (LANDFIRE) +- Canopy bulk density (LANDFIRE) - Canopy cover loss (RAVG) +- Canopy height (LANDFIRE) - Infrared fire perimeters (NIROPS) - Live basal area change (RAVG) - Weather stations (Synoptic) @@ -50,7 +53,7 @@ Figure 1 shows the spatial distribution of building damage for the Caldor Fire.

    -Figure 2 shows the distribution of building damage for the Caldor Fire. The following table shows the number of strucure in each damage category. +Figure 2 shows the distribution of building damage for the Caldor Fire. The following Table shows the number of strucure in each damage category. Damage category | Counts [-] ---------------------- | ----------------- No Damage | 3356 @@ -91,43 +94,49 @@ In order to performe some calculations, the building damaged classes can be aggr See Key Performance Indicator (KPI) and normalization defintions [here](../../metrics/index.md). -#### FB001-BD01 +#### Binary Structure Loss Accuracy +**IDs**: FB001-BD01
    **KPI**: Binary Structure Loss Accuracy
    **Normalization**: Linear Bounded Normalization with $a=0$, $b=1$
    **Name in Score Card**: Binary Structure Loss Accuracy
    This benchmark is performed on the binary classes for damaged buildings. -#### FB001-BD02 +#### Binary Structure Loss Precision +**IDs**: FB001-BD02
    **KPI**: Binary Structure Loss Precision
    **Normalization**: Linear Bounded Normalization with $a=0$, $b=1$
    **Name in Score Card**: Binary Structure Loss Precision
    This benchmark is performed on the binary classes for damaged buildings. -#### FB001-BD03 +#### Binary Structure Loss Recall +**IDs**: FB001-BD03
    **KPI**: Binary Structure Loss Recall
    **Normalization**: Linear Bounded Normalization with $a=0$, $b=1$
    **Name in Score Card**: Binary Structure Loss Recall
    This benchmark is performed on the binary classes for damaged buildings. -#### FB001-BD04 +#### Binary Structure Loss Specificity +**IDs**: FB001-BD04
    **KPI**: Binary Structure Loss Specificity
    **Normalization**: Linear Bounded Normalization with $a=0$, $b=1$
    **Name in Score Card**: Binary Structure Loss Specificity
    This benchmark is performed on the binary classes for damaged buildings. -#### FB001-BD05 +#### Binary Structure Loss Negative Predictive Value +**IDs**: FB001-BD05
    **KPI**: Binary Structure Loss Negative Predictive Value
    **Normalization**: Linear Bounded Normalization with $a=0$, $b=1$
    **Name in Score Card**: Binary Structure Loss Negative Predictive Value
    This benchmark is performed on the binary classes for damaged buildings. -#### FB001-BD06 +#### Binary Structure Loss F1 Score +**IDs**: FB001-BD06
    **KPI**: Binary Structure Loss F1 Score
    **Normalization**: Linear Bounded Normalization with $a=0$, $b=1$
    **Name in Score Card**: Binary Structure Loss F1 Score
    @@ -184,43 +193,49 @@ To perform the high severity benchmarks using binary confusion matrix, we constr See Key Performance Indicator (KPI) and normalization defintions [here](../../metrics/index.md). -#### FB001-SV01 +#### Binary High Severity Accuracy +**IDs**: FB001-SV01
    **KPI**: Binary High Severity Accuracy
    **Normalization**: Linear Bounded Normalization with $a=0$, $b=1$
    **Name in Score Card**: Binary High Severity Accuracy
    This benchmark is performed on the binary classes for high severity points (Binary High severity processed variable) -#### FB001-SV02 +#### Binary High Severity Precision +**IDs**: FB001-SV02
    **KPI**: Binary High Severity Precision
    **Normalization**: Linear Bounded Normalization with $a=0$, $b=1$
    **Name in Score Card**: Binary High Severity Precision
    This benchmark is performed on the binary classes for high severity points (Binary High severity processed variable) -#### FB001-SV03 +#### Binary High Severity Recall +**IDs**: FB001-SV03
    **KPI**: Binary High Severity Recall
    **Normalization**: Linear Bounded Normalization with $a=0$, $b=1$
    **Name in Score Card**: Binary High Severity Recall
    This benchmark is performed on the binary classes for high severity points (Binary High severity processed variable) -#### FB001-SV04 +#### Binary High Severity Specificity +**IDs**: FB001-SV04
    **KPI**: Binary High Severity Specificity
    **Normalization**: Linear Bounded Normalization with $a=0$, $b=1$
    **Name in Score Card**: Binary High Severity Specificity
    This benchmark is performed on the binary classes for high severity points (Binary High severity processed variable) -#### FB001-SV05 +#### Binary High Severity Negative Predictive Value +**IDs**: FB001-SV05
    **KPI**: Binary High Severity Negative Predictive Value
    **Normalization**: Linear Bounded Normalization with $a=0$, $b=1$
    **Name in Score Card**: Binary High Severity Negative Predictive Value
    This benchmark is performed on the binary classes for high severity points (Binary High severity processed variable) -#### FB001-SV06 +#### Binary High Severity F1 Score +**IDs**: FB001-SV06
    **KPI**: Binary High Severity F1 Score
    **Normalization**: Linear Bounded Normalization with $a=0$, $b=1$
    **Name in Score Card**: Binary High Severity F1 Score
    @@ -240,11 +255,14 @@ Every orginal file has been manually processed to extract only the perimeter. Th The perimeters have been processed from August 17th (first IR perimeter available) to September 10th, when the burn area is 99% if the final burn area, as shown in Figure 7 (source: [CALFIRE](https://www.fire.ca.gov/incidents/2021/8/14/caldor-fire/)). The final dataset contains 21 perimeters. -The following study periods (see Fig. 7) are defined: -- `W1`: from August 17th 20h20 PDT to September 10th 23h34 PDT, for a total duration of 24 days, 3h, and 14 min. -- `W2`: from August 19th 20h45 PDT to August 21st 21h15 PDT, for a total duration of 2 days, 0h and 30 min. -- `W3`: from August 26th 02h30 PDT to August 28th 20h30 PDT, for a total duration of 2 days, 18h and 0 min. -- `W4`: from August 28th 20h30 PDT to September 3rd 00h40 PDT, for a total duration of 5 days, 4h and 10 min. +The following study periods (see Fig. 7) are defined in the following Table: + +Name | Start time | End time | Duration | Burn area [acre] +-----|-------------------|--------------------|---------------|----------------- +W1 | Aug 17 20h20 PDT | Sep 10 23h34 PDT | 24d 3h 14min | 166,256 +W2 | Aug 19 20h45 PDT | Aug 21 21h15 PDT | 2d 0h 30min | 24,941 +W3 | Aug 26 02h30 PDT | Aug 28 20h30 PDT | 2d 18h 0min | 19,992 +W4 | Aug 28 20h30 PDT | Sep 3 00h40 PDT | 5d 4h 10min | 56,272 Figure 6 shows teach processed fire perimeter as a colored solid contour. The color of the contour displays the time stamp of the perimeter. @@ -274,6 +292,145 @@ Figure 6 shows teach processed fire perimeter as a colored solid contour. The co ### Benchmarks +See Key Performance Indicator (KPI) and normalization defintions [here](../../metrics/index.md). + +#### Average Jaccard Index over study period + +**IDs**: See Table
    +**KPI**: Average Jaccard Index
    +**Normalization**: Linear Bounded Normalization with $a=0$, $b=1$
    +**Name in Score Card**: See Table
    +The first perimeter, at the start of the period, can be used as initial condition for the fire perimeter. The first perimeter is not used to compute any metric. + +The following Table gives the correspondance between the bencmark id and the study period: + +ID | Study period | Name in Score Card +-----|--------------|------------------- +FP01 | W1 | Average Jaccard Index W1 +FP02 | W2 | Average Jaccard Index W2 +FP03 | W3 | Average Jaccard Index W3 +FP04 | W4 | Average Jaccard Index W4 + +#### Minimum Jaccard Index over study period + +**IDs**: See Table
    +**KPI**: Minimum Jaccard Index
    +**Normalization**: Linear Bounded Normalization with $a=0$, $b=1$
    +**Name in Score Card**: See Table
    +The first perimeter, at the start of the period, can be used as initial condition for the fire perimeter. The first perimeter is not used to compute any metric. + +The following Table gives the correspondance between the bencmark id and the study period: + +ID | Study period | Name in Score Card +-----|--------------|------------------- +FP05 | W1 | Minimum Jaccard Index W1 +FP06 | W2 | Minimum Jaccard Index W2 +FP07 | W3 | Minimum Jaccard Index W3 +FP08 | W4 | Minimum Jaccard Index W4 + +#### Maximum Jaccard Index over study period + +**IDs**: See Table
    +**KPI**: Maximum Jaccard Index
    +**Normalization**: Linear Bounded Normalization with $a=0$, $b=1$
    +**Name in Score Card**: See Table
    +The first perimeter, at the start of the period, can be used as initial condition for the fire perimeter. The first perimeter is not used to compute any metric. + +The following Table gives the correspondance between the bencmark id and the study period: + +ID | Study period | Name in Score Card +-----|--------------|------------------- +FP09 | W1 | Minimum Jaccard Index W1 +FP10 | W2 | Minimum Jaccard Index W2 +FP11 | W3 | Minimum Jaccard Index W3 +FP12 | W4 | Minimum Jaccard Index W4 + +#### Average Dice-Sorensen Index over study period + +**IDs**: See Table
    +**KPI**: Average Dice-Sorensen Index
    +**Normalization**: Linear Bounded Normalization with $a=0$, $b=1$
    +**Name in Score Card**: See Table
    +The first perimeter, at the start of the period, can be used as initial condition for the fire perimeter. The first perimeter is not used to compute any metric. + +The following Table gives the correspondance between the bencmark id and the study period: + +ID | Study period | Name in Score Card +-----|--------------|------------------- +FP13 | W1 | Average Dice-Sorensen Index W1 +FP14 | W2 | Average Dice-Sorensen Index W2 +FP15 | W3 | Average Dice-Sorensen Index W3 +FP16 | W4 | Average Dice-Sorensen Index W4 + +#### Minimum Dice-Sorensen Index over study period + +**IDs**: See Table
    +**KPI**: Minimum Dice-Sorensen Index
    +**Normalization**: Linear Bounded Normalization with $a=0$, $b=1$
    +**Name in Score Card**: See Table
    +The first perimeter, at the start of the period, can be used as initial condition for the fire perimeter. The first perimeter is not used to compute any metric. + +The following Table gives the correspondance between the bencmark id and the study period: + +ID | Study period | Name in Score Card +-----|--------------|------------------- +FP17 | W1 | Minimum Dice-Sorensen Index W1 +FP18 | W2 | Minimum Dice-Sorensen Index W2 +FP19 | W3 | Minimum Dice-Sorensen Index W3 +FP20 | W4 | Minimum Dice-Sorensen Index W4 + +#### Maximum Dice-Sorensen Index over study period + +**IDs**: See Table
    +**KPI**: Maximum Dice-Sorensen Index
    +**Normalization**: Linear Bounded Normalization with $a=0$, $b=1$
    +**Name in Score Card**: See Table
    +The first perimeter, at the start of the period, can be used as initial condition for the fire perimeter. The first perimeter is not used to compute any metric. + +The following Table gives the correspondance between the bencmark id and the study period: + +ID | Study period | Name in Score Card +-----|--------------|------------------- +FP21 | W1 | Minimum Dice-Sorensen Index W1 +FP22 | W2 | Minimum Dice-Sorensen Index W2 +FP23 | W3 | Minimum Dice-Sorensen Index W3 +FP24 | W4 | Minimum Dice-Sorensen Index W4 + +#### Burn Area Bias + +**IDs**: See Table
    +**KPI**: Burn Area Bias
    +**Normalization**: Symmetric Exponential Open Normalization ($m$ value in Table)
    +**Name in Score Card**: See Table
    +The first perimeter, at the start of the period, can be used as initial condition for the fire perimeter. +A bias of $m$ acre, representing $B_{50}$% of burn area during the study period, will lead to a score of 50.00. The value of $m$ represents the benchmark difficulty (smaller $m$ means higher difficulty) and must be chosen by the community. + +The following Table gives the correspondance between the bencmark id and the study period: + +ID | Study period | Name in Score Card | $m$ | $B_{50}$ +-----|--------------|--------------------|--------|--------- +FP25 | W1 | Burn Area Bias W1 | 80,000 | 48% +FP26 | W2 | Burn Area Bias W2 | 5,000 | 20% +FP27 | W3 | Burn Area Bias W3 | 5,000 | 25% +FP28 | W4 | Burn Area Bias W4 | 17,000 | 30% + +#### Burn Area RMSE + +**IDs**: See Table
    +**KPI**: Burn Area RMSE
    +**Normalization**: Symmetric Exponential Open Normalization ($m$ value in Table)
    +**Name in Score Card**: See Table
    +The first perimeter, at the start of the period, can be used as initial condition for the fire perimeter. +A bias of $m$ acre, representing $B_{50}$% of burn area during the study period, will lead to a score of 50.00. The value of $m$ represents the benchmark difficulty (smaller $m$ means higher difficulty) and must be chosen by the community. + +The following Table gives the correspondance between the bencmark id and the study period: + +ID | Study period | Name in Score Card | $m$ | $B_{50}$ +-----|--------------|--------------------|--------|--------- +FP29 | W1 | Burn Area RMSE W1 | 80,000 | 48% +FP30 | W2 | Burn Area RMSE W2 | 5,000 | 20% +FP31 | W3 | Burn Area RMSE W3 | 5,000 | 25% +FP32 | W4 | Burn Area RMSE W4 | 17,000 | 30% ## Requirements From 87f8c333841e7e9410946cdc8f6b6df92f281e37 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Costes?= Date: Sun, 14 Dec 2025 10:39:35 -0800 Subject: [PATCH 063/111] add FP requirements for Caldor doc --- docs/benchmarks/California/01_Caldor.md | 103 +++++++++++++++++++----- 1 file changed, 81 insertions(+), 22 deletions(-) diff --git a/docs/benchmarks/California/01_Caldor.md b/docs/benchmarks/California/01_Caldor.md index 5b08d02..3238b32 100644 --- a/docs/benchmarks/California/01_Caldor.md +++ b/docs/benchmarks/California/01_Caldor.md @@ -96,7 +96,7 @@ See Key Performance Indicator (KPI) and normalization defintions [here](../../me #### Binary Structure Loss Accuracy -**IDs**: FB001-BD01
    +**Short IDs**: BD01
    **KPI**: Binary Structure Loss Accuracy
    **Normalization**: Linear Bounded Normalization with $a=0$, $b=1$
    **Name in Score Card**: Binary Structure Loss Accuracy
    @@ -104,7 +104,7 @@ This benchmark is performed on the binary classes for damaged buildings. #### Binary Structure Loss Precision -**IDs**: FB001-BD02
    +**Short IDs**: BD02
    **KPI**: Binary Structure Loss Precision
    **Normalization**: Linear Bounded Normalization with $a=0$, $b=1$
    **Name in Score Card**: Binary Structure Loss Precision
    @@ -112,7 +112,7 @@ This benchmark is performed on the binary classes for damaged buildings. #### Binary Structure Loss Recall -**IDs**: FB001-BD03
    +**Short IDs**: BD03
    **KPI**: Binary Structure Loss Recall
    **Normalization**: Linear Bounded Normalization with $a=0$, $b=1$
    **Name in Score Card**: Binary Structure Loss Recall
    @@ -120,7 +120,7 @@ This benchmark is performed on the binary classes for damaged buildings. #### Binary Structure Loss Specificity -**IDs**: FB001-BD04
    +**Short IDs**: BD04
    **KPI**: Binary Structure Loss Specificity
    **Normalization**: Linear Bounded Normalization with $a=0$, $b=1$
    **Name in Score Card**: Binary Structure Loss Specificity
    @@ -128,7 +128,7 @@ This benchmark is performed on the binary classes for damaged buildings. #### Binary Structure Loss Negative Predictive Value -**IDs**: FB001-BD05
    +**Short IDs**: BD05
    **KPI**: Binary Structure Loss Negative Predictive Value
    **Normalization**: Linear Bounded Normalization with $a=0$, $b=1$
    **Name in Score Card**: Binary Structure Loss Negative Predictive Value
    @@ -136,7 +136,7 @@ This benchmark is performed on the binary classes for damaged buildings. #### Binary Structure Loss F1 Score -**IDs**: FB001-BD06
    +**Short IDs**: BD06
    **KPI**: Binary Structure Loss F1 Score
    **Normalization**: Linear Bounded Normalization with $a=0$, $b=1$
    **Name in Score Card**: Binary Structure Loss F1 Score
    @@ -195,7 +195,7 @@ See Key Performance Indicator (KPI) and normalization defintions [here](../../me #### Binary High Severity Accuracy -**IDs**: FB001-SV01
    +**Short IDs**: SV01
    **KPI**: Binary High Severity Accuracy
    **Normalization**: Linear Bounded Normalization with $a=0$, $b=1$
    **Name in Score Card**: Binary High Severity Accuracy
    @@ -203,7 +203,7 @@ This benchmark is performed on the binary classes for high severity points (Bina #### Binary High Severity Precision -**IDs**: FB001-SV02
    +**Short IDs**: SV02
    **KPI**: Binary High Severity Precision
    **Normalization**: Linear Bounded Normalization with $a=0$, $b=1$
    **Name in Score Card**: Binary High Severity Precision
    @@ -211,7 +211,7 @@ This benchmark is performed on the binary classes for high severity points (Bina #### Binary High Severity Recall -**IDs**: FB001-SV03
    +**Short IDs**: SV03
    **KPI**: Binary High Severity Recall
    **Normalization**: Linear Bounded Normalization with $a=0$, $b=1$
    **Name in Score Card**: Binary High Severity Recall
    @@ -219,7 +219,7 @@ This benchmark is performed on the binary classes for high severity points (Bina #### Binary High Severity Specificity -**IDs**: FB001-SV04
    +**Short IDs**: SV04
    **KPI**: Binary High Severity Specificity
    **Normalization**: Linear Bounded Normalization with $a=0$, $b=1$
    **Name in Score Card**: Binary High Severity Specificity
    @@ -227,7 +227,7 @@ This benchmark is performed on the binary classes for high severity points (Bina #### Binary High Severity Negative Predictive Value -**IDs**: FB001-SV05
    +**Short IDs**: SV05
    **KPI**: Binary High Severity Negative Predictive Value
    **Normalization**: Linear Bounded Normalization with $a=0$, $b=1$
    **Name in Score Card**: Binary High Severity Negative Predictive Value
    @@ -235,7 +235,7 @@ This benchmark is performed on the binary classes for high severity points (Bina #### Binary High Severity F1 Score -**IDs**: FB001-SV06
    +**Short IDs**: SV06
    **KPI**: Binary High Severity F1 Score
    **Normalization**: Linear Bounded Normalization with $a=0$, $b=1$
    **Name in Score Card**: Binary High Severity F1 Score
    @@ -296,7 +296,7 @@ See Key Performance Indicator (KPI) and normalization defintions [here](../../me #### Average Jaccard Index over study period -**IDs**: See Table
    +**Short IDs**: See Table
    **KPI**: Average Jaccard Index
    **Normalization**: Linear Bounded Normalization with $a=0$, $b=1$
    **Name in Score Card**: See Table
    @@ -313,7 +313,7 @@ FP04 | W4 | Average Jaccard Index W4 #### Minimum Jaccard Index over study period -**IDs**: See Table
    +**Short IDs**: See Table
    **KPI**: Minimum Jaccard Index
    **Normalization**: Linear Bounded Normalization with $a=0$, $b=1$
    **Name in Score Card**: See Table
    @@ -330,7 +330,7 @@ FP08 | W4 | Minimum Jaccard Index W4 #### Maximum Jaccard Index over study period -**IDs**: See Table
    +**Short IDs**: See Table
    **KPI**: Maximum Jaccard Index
    **Normalization**: Linear Bounded Normalization with $a=0$, $b=1$
    **Name in Score Card**: See Table
    @@ -347,7 +347,7 @@ FP12 | W4 | Minimum Jaccard Index W4 #### Average Dice-Sorensen Index over study period -**IDs**: See Table
    +**Short IDs**: See Table
    **KPI**: Average Dice-Sorensen Index
    **Normalization**: Linear Bounded Normalization with $a=0$, $b=1$
    **Name in Score Card**: See Table
    @@ -364,7 +364,7 @@ FP16 | W4 | Average Dice-Sorensen Index W4 #### Minimum Dice-Sorensen Index over study period -**IDs**: See Table
    +**Short IDs**: See Table
    **KPI**: Minimum Dice-Sorensen Index
    **Normalization**: Linear Bounded Normalization with $a=0$, $b=1$
    **Name in Score Card**: See Table
    @@ -381,7 +381,7 @@ FP20 | W4 | Minimum Dice-Sorensen Index W4 #### Maximum Dice-Sorensen Index over study period -**IDs**: See Table
    +**Short IDs**: See Table
    **KPI**: Maximum Dice-Sorensen Index
    **Normalization**: Linear Bounded Normalization with $a=0$, $b=1$
    **Name in Score Card**: See Table
    @@ -398,7 +398,7 @@ FP24 | W4 | Minimum Dice-Sorensen Index W4 #### Burn Area Bias -**IDs**: See Table
    +**Short IDs**: See Table
    **KPI**: Burn Area Bias
    **Normalization**: Symmetric Exponential Open Normalization ($m$ value in Table)
    **Name in Score Card**: See Table
    @@ -416,7 +416,7 @@ FP28 | W4 | Burn Area Bias W4 | 17,000 | 30% #### Burn Area RMSE -**IDs**: See Table
    +**Short IDs**: See Table
    **KPI**: Burn Area RMSE
    **Normalization**: Symmetric Exponential Open Normalization ($m$ value in Table)
    **Name in Score Card**: See Table
    @@ -441,8 +441,12 @@ The current version of FireBench does not integrate more complex checks (e.g., a Requirement | Benchmarks ---------------------- | ----------------- -R01 | FB001-BD01, FB001-BD02, FB001-BD03, FB001-BD04, FB001-BD05, FB001-BD06 -R02 | FB001-SV01, FB001-SV02, FB001-SV03, FB001-SV04, FB001-SV05, FB001-SV06 +R01 | BD01, BD02, BD03, BD04, BD05, BD06 +R02 | SV01, SV02, SV03, SV04, SV05, SV06 +R03 | FP01, FP05, FP09, FP13, FP17, FP21, FP25, FP29 +R04 | FP02, FP06, FP10, FP14, FP18, FP22, FP26, FP30 +R05 | FP03, FP07, FP11, FP15, FP19, FP23, FP27, FP31 +R06 | FP04, FP08, FP12, FP16, FP20, FP24, FP28, FP32 ### R01 Mandatory group/dataset| Mandatory attirbutes @@ -457,6 +461,60 @@ Mandatory group/dataset| Mandatory attirbutes `/2D_raster/Caldor_MTBS/position_lat`| units `/2D_raster/Caldor_MTBS/position_lon`| units +### R03 +Mandatory group/dataset| Mandatory attirbutes +---------------------- | -------------------- +`/polygons/Caldor_2021-08-18T20:30-07:00`| rel_path, time +`/polygons/Caldor_2021-08-19T20:45-07:00`| rel_path, time +`/polygons/Caldor_2021-08-20T20:20-07:00`| rel_path, time +`/polygons/Caldor_2021-08-21T21:15-07:00`| rel_path, time +`/polygons/Caldor_2021-08-24T22:07-07:00`| rel_path, time +`/polygons/Caldor_2021-08-26T03:30-06:00`| rel_path, time +`/polygons/Caldor_2021-08-26T22:15-06:00`| rel_path, time +`/polygons/Caldor_2021-08-27T00:22-06:00`| rel_path, time +`/polygons/Caldor_2021-08-28T21:30-06:00`| rel_path, time +`/polygons/Caldor_2021-08-29T22:32-07:00`| rel_path, time +`/polygons/Caldor_2021-08-30T21:09-07:00`| rel_path, time +`/polygons/Caldor_2021-08-31T21:08-07:00`| rel_path, time +`/polygons/Caldor_2021-09-01T21:12-07:00`| rel_path, time +`/polygons/Caldor_2021-09-03T00:40-07:00`| rel_path, time +`/polygons/Caldor_2021-09-04T23:29-07:00`| rel_path, time +`/polygons/Caldor_2021-09-05T23:41-07:00`| rel_path, time +`/polygons/Caldor_2021-09-06T23:09-07:00`| rel_path, time +`/polygons/Caldor_2021-09-07T22:40-07:00`| rel_path, time +`/polygons/Caldor_2021-09-08T22:33-07:00`| rel_path, time +`/polygons/Caldor_2021-09-10T23:34-07:00`| rel_path, time + +Files (KML) at path defined in `rel_path` attributes must exist. + +### R04 +Mandatory group/dataset| Mandatory attirbutes +---------------------- | -------------------- +`/polygons/Caldor_2021-08-20T20:20-07:00`| rel_path, time +`/polygons/Caldor_2021-08-21T21:15-07:00`| rel_path, time + +Files (KML) at path defined in `rel_path` attributes must exist. + +### R05 +Mandatory group/dataset| Mandatory attirbutes +---------------------- | -------------------- +`/polygons/Caldor_2021-08-26T22:15-06:00`| rel_path, time +`/polygons/Caldor_2021-08-27T00:22-06:00`| rel_path, time +`/polygons/Caldor_2021-08-28T21:30-06:00`| rel_path, time + +Files (KML) at path defined in `rel_path` attributes must exist. + +### R06 +Mandatory group/dataset| Mandatory attirbutes +---------------------- | -------------------- +`/polygons/Caldor_2021-08-29T22:32-07:00`| rel_path, time +`/polygons/Caldor_2021-08-30T21:09-07:00`| rel_path, time +`/polygons/Caldor_2021-08-31T21:08-07:00`| rel_path, time +`/polygons/Caldor_2021-09-01T21:12-07:00`| rel_path, time +`/polygons/Caldor_2021-09-03T00:40-07:00`| rel_path, time + +Files (KML) at path defined in `rel_path` attributes must exist. + ## Aggregation Schemes This section provides the weights used to aggregate KPI Unit Scores. More information about aggregation methods [here](../../metrics/index.md). If aggregation scheme `0` is specified, then no aggregation is performed. Therefore, group scores and total score are not computed. @@ -486,6 +544,7 @@ Burn Severity | 1 | | ## Notes +- **Benchmark identifiers** consist of a *case ID* and a *short ID*, for example `FB001-BD01`. Throughout the documentation, the *short ID* alone (e.g. `BD01`) is used when the benchmark case is unambiguous, in order to improve readability. The *full identifier* (`FB001-BD01`) is used whenever the case context must be explicit, such as when comparing benchmarks across different cases. - Each file hash has been performed using `firebench.standardize.calculate_sha256`. - Collection of forecasts or reanalysis are authorized for benchmarks period (e.g. for fire perimeters) but have to be detailed in the model report attached to the report sent back to FireBench team for collection and validation of results. From 929429c6d6d54dd4ebd23946917edd09f954b2dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Costes?= Date: Sun, 14 Dec 2025 15:45:36 -0800 Subject: [PATCH 064/111] refactor scheme description section - add schemes for fire perimeters --- docs/benchmarks/California/01_Caldor.md | 104 ++++++++++++++++++++---- 1 file changed, 87 insertions(+), 17 deletions(-) diff --git a/docs/benchmarks/California/01_Caldor.md b/docs/benchmarks/California/01_Caldor.md index 3238b32..701165b 100644 --- a/docs/benchmarks/California/01_Caldor.md +++ b/docs/benchmarks/California/01_Caldor.md @@ -517,30 +517,100 @@ Files (KML) at path defined in `rel_path` attributes must exist. ## Aggregation Schemes -This section provides the weights used to aggregate KPI Unit Scores. More information about aggregation methods [here](../../metrics/index.md). If aggregation scheme `0` is specified, then no aggregation is performed. Therefore, group scores and total score are not computed. +This section describes the weights used to aggregate KPI unit scores. More information about aggregation methods [here](../../metrics/score.md). If aggregation scheme `0` is specified, then no aggregation is performed. Therefore, group scores and total score are not computed. + +### Group definition + +All benchmarks have a default weight of 1 in each group. If custom weights are applied, refer to custom weight Table. + +Weight precedence: +- Default benchmark weight: 1 +- Group benchmark overrides: apply to all schemes unless overridden +- Scheme benchmark overrides: apply only within that scheme and override everything else + +Group | Benchmark ID +---------------------- | ------------ +Building Damage | BD01 to BD06 +Burn Severity | SV01 to SV06 +Fire Perimeter W1 | FP01, FP05, FP09, FP13, FP17, FP21, FP25, FP29 +Fire Perimeter W2 | FP02, FP06, FP10, FP14, FP18, FP22, FP26, FP30 +Fire Perimeter W3 | FP03, FP07, FP11, FP15, FP19, FP23, FP27, FP31 +Fire Perimeter W4 | FP04, FP08, FP12, FP16, FP20, FP24, FP28, FP32 + +#### Group benchmark override +The custom weight defined in the following Table overrides the default weight from the Group Definition Table. + +Group | Benchmark ID | Weight +---------------------- | ------------ | ------ +Fire Perimeter W1 | FP25, FP29 | 2 +Fire Perimeter W2 | FP26, FP30 | 2 +Fire Perimeter W3 | FP27, FP31 | 2 +Fire Perimeter W4 | FP28, FP32 | 2 ### Scheme A -Group | Group Weight | Benchmark ID | Benchmark weight ----------------------- | ------------ | ------------ | ---------------- -Building Damage | 1 | | -| | | BD01 to BD06 | 1 -Burn Severity | 1 | | -| | | SV01 to SV06 | 1 +Scheme A contains all the groups with default weights. It can be used to evaluate complete model performance with balanced weighting. + +Group | Group Weight +---------------------- | ------------ +Building Damage | 1 +Burn Severity | 1 +Fire Perimeter W1 | 1 +Fire Perimeter W2 | 1 +Fire Perimeter W3 | 1 +Fire Perimeter W4 | 1 + +## Scheme B + +Scheme B contains only the building damage group. It is used to evaluate the model only on building damage benchmarks. -### Scheme B +Group | Group Weight +---------------------- | ------------ +Building Damage | 1 -Group | Group Weight | Benchmark ID | Benchmark weight ----------------------- | ------------ | ------------ | ---------------- -Building Damage | 1 | | -| | | BD01 to BD06 | 1 +### Scheme FP + +Scheme FP contains only the fire perimeter groups. It is used to evaluate the model only on fire perimeter benchmarks for all of the study periods. + +Group | Group Weight +---------------------- | ------------ +Fire Perimeter W1 | 1 +Fire Perimeter W2 | 1 +Fire Perimeter W3 | 1 +Fire Perimeter W4 | 1 + +### Scheme FPW1-W1 + +Scheme FPW1-CW1 applies an alternative benchmark weighting for fire perimeter groups. It uses the number of days for each study period as the weight. + +Group | Group Weight +---------------------- | ------------ +Fire Perimeter W1 | 24.1 +Fire Perimeter W2 | 2.0 +Fire Perimeter W3 | 2.75 +Fire Perimeter W4 | 5.2 + +#### Scheme benchmark override +This scheme also modifies the weights applied to the benchmarks. It gives more weight to the average Jaccard and Dice-Sorensen index compared the min/max indices. It also adds more weight to the burn area benchmarks. + +Group | Benchmark ID | Weight +---------------------- | ------------ | ------ +Fire Perimeter W1 | FP01, FP13 | 2 +| | FP25, FP29 | 4 +Fire Perimeter W2 | FP02, FP14 | 2 +| | FP26, FP30 | 4 +Fire Perimeter W3 | FP03, FP15 | 2 +| | FP27, FP31 | 4 +Fire Perimeter W4 | FP04, FP16 | 2 +| | FP28, FP32 | 4 ### Scheme S -Group | Group Weight | Benchmark ID | Benchmark weight ----------------------- | ------------ | ------------ | ---------------- -Burn Severity | 1 | | -| | | SV01 to SV06 | 1 +Scheme S contains only the burn severity group. It is used to evaluate the model only on building severity from MTBS benchmarks. + +Group | Group Weight +---------------------- | ------------ +Burn Severity | 1 ## Notes @@ -550,4 +620,4 @@ Burn Severity | 1 | | ## Acknowledgment -We gratefully acknowledge Synoptic for granting permission to redistribute selected weather-station data as part of the FireBench benchmarking framework. \ No newline at end of file +We gratefully acknowledge [Synoptic](https://synopticdata.com) for granting permission to redistribute selected weather-station data as part of the FireBench benchmarking framework. \ No newline at end of file From 96a395d5f6b09d5eb133409e56973ef593e52602 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Costes?= Date: Sun, 14 Dec 2025 16:12:20 -0800 Subject: [PATCH 065/111] add KML file check for req validation --- src/firebench/standardize/tools.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/firebench/standardize/tools.py b/src/firebench/standardize/tools.py index 95c3aaa..6bb3822 100644 --- a/src/firebench/standardize/tools.py +++ b/src/firebench/standardize/tools.py @@ -120,6 +120,11 @@ def validate_h5_requirement(file: h5py.File, required: dict[str, list[str]]): for attr_name in attrs: if attr_name not in dset.attrs: return False, f"attr `{attr_name}` of dataset `{dset_path}`" + + # check that KML files exist + if "rel_path" in attrs: + if not Path(dset.attrs["rel_path"]).exists(): + return False, f"file `{dset.attrs["rel_path"]}` not found from `{dset_path}`" return True, None From 200eebe5b091fbd8c1fe070c07afc424b5975772 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Costes?= Date: Sun, 14 Dec 2025 16:19:59 -0800 Subject: [PATCH 066/111] fix score card pdf with 0 agg --- src/firebench/metrics/table.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/firebench/metrics/table.py b/src/firebench/metrics/table.py index dffbfaa..a231460 100644 --- a/src/firebench/metrics/table.py +++ b/src/firebench/metrics/table.py @@ -70,6 +70,17 @@ def save_as_table(filename: Path, data: dict): f"{data['score_card']['Score Total']:.2f}", ] ) + else: + # Aggregation scheme is 0 or invalid + scheme_name = "No agg" + text_table.append( + [ + f"Total Score {data['case_id']} agg. {scheme_name}: {data['evaluated_model_name']}", + "", + "", + f"Invalid", + ] + ) text_table.append(["Benchmark ID/Group Name", "KPI value", "Weight", "Score"]) # rows From d1e4a61a6fda896acab95f088b7d9c974a698b85 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Costes?= Date: Sun, 14 Dec 2025 18:22:52 -0800 Subject: [PATCH 067/111] add safeguard kpi normalization --- src/firebench/metrics/__init__.py | 2 ++ src/firebench/metrics/kpi_normalization.py | 16 ++++++++-------- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/src/firebench/metrics/__init__.py b/src/firebench/metrics/__init__.py index acea084..89fbab0 100644 --- a/src/firebench/metrics/__init__.py +++ b/src/firebench/metrics/__init__.py @@ -3,5 +3,7 @@ kpi_norm_bounded_linear, kpi_norm_half_open_linear, kpi_norm_half_open_exponential, + kpi_norm_symmetric_open_linear, + kpi_norm_symmetric_open_exponential, ) from .table import save_as_table diff --git a/src/firebench/metrics/kpi_normalization.py b/src/firebench/metrics/kpi_normalization.py index dd49647..e68ada3 100644 --- a/src/firebench/metrics/kpi_normalization.py +++ b/src/firebench/metrics/kpi_normalization.py @@ -1,7 +1,7 @@ -from math import exp, log +from math import exp, log, isclose -def kpi_norm_bounded_linear(x, a, b): +def kpi_norm_bounded_linear(x, a, b, rtol=1e-12, atol=1e-15): """ Linearly normalize a KPI that has a fully bounded acceptable range [a, b]. @@ -31,14 +31,14 @@ def kpi_norm_bounded_linear(x, a, b): ValueError If `x < a` or if `x > b`. """ - if x < a: + if x < a and not isclose(x, a, rel_tol=rtol, abs_tol=atol): raise ValueError(f"KPI value {x} smaller than lower limit {a}") - if x > b: + if x > b and not isclose(x, b, rel_tol=rtol, abs_tol=atol): raise ValueError(f"KPI value {x} greater than upper limit {b}") return 100.0 * (x - a) / (b - a) -def kpi_norm_half_open_linear(x, a, m): +def kpi_norm_half_open_linear(x, a, m, rtol=1e-12, atol=1e-15): """ Linearly normalize a KPI defined on the half-open interval [a, \infty). @@ -71,14 +71,14 @@ def kpi_norm_half_open_linear(x, a, m): ValueError If `x < a` or if `m <= a`. """ - if x < a: + if x < a and not isclose(x, a, rel_tol=rtol, abs_tol=atol): raise ValueError(f"KPI value {x} smaller than lower limit {a}") if m <= a: raise ValueError(f"Parameter m ({m}) smaller than lower limit a ({a})") return 100.0 * max(0, 1 - (x - a) / (m - a)) -def kpi_norm_half_open_exponential(x, a, m): +def kpi_norm_half_open_exponential(x, a, m, rtol=1e-12, atol=1e-15): """ Exponentially normalize a KPI defined on the half-open interval [a, \infty). @@ -113,7 +113,7 @@ def kpi_norm_half_open_exponential(x, a, m): ValueError If `x < a` or if `m <= a`. """ - if x < a: + if x < a and not isclose(x, a, rel_tol=rtol, abs_tol=atol): raise ValueError(f"KPI value {x} smaller than lower limit {a}") if m <= a: raise ValueError(f"Parameter m ({m}) smaller than lower limit a ({a})") From 53de760eaa604ffdeadd4afea9ce27917e6d57cc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Costes?= Date: Sun, 14 Dec 2025 18:23:04 -0800 Subject: [PATCH 068/111] add safe guard area indices --- src/firebench/metrics/perimeter/shape_index.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/firebench/metrics/perimeter/shape_index.py b/src/firebench/metrics/perimeter/shape_index.py index 4a03a3d..33ec6fe 100644 --- a/src/firebench/metrics/perimeter/shape_index.py +++ b/src/firebench/metrics/perimeter/shape_index.py @@ -66,7 +66,7 @@ def jaccard_polygon(polygon1: GeoDataFrame, polygon2: GeoDataFrame, projection: union = gpd.overlay(polygon1, polygon2, how="union", keep_geom_type=False) # Compute and return IoU - return intersection.area.sum() / union.area.sum() + return max(0, min(1, intersection.area.sum() / union.area.sum())) def jaccard_binary(mask1: np.ndarray, mask2: np.ndarray) -> float: @@ -106,7 +106,7 @@ def jaccard_binary(mask1: np.ndarray, mask2: np.ndarray) -> float: if union == 0: return 1.0 if intersection == 0 else 0.0 # Edge case: both masks empty - return intersection / union + return max(0, min(1, intersection / union)) def sorensen_dice_polygon( @@ -165,7 +165,7 @@ def sorensen_dice_polygon( intersection = gpd.overlay(polygon1, polygon2, how="intersection", keep_geom_type=False) # Compute and return sorensen - return 2 * intersection.area.sum() / (polygon1.area.sum() + polygon2.area.sum()) + return max(0, min( 1, 2 * intersection.area.sum() / (polygon1.area.sum() + polygon2.area.sum()))) def sorensen_dice_binary(mask1: np.ndarray, mask2: np.ndarray) -> float: @@ -207,4 +207,4 @@ def sorensen_dice_binary(mask1: np.ndarray, mask2: np.ndarray) -> float: if denom == 0: return 1.0 if intersection == 0 else 0.0 # Both masks empty or inconsistent - return 2 * intersection / denom + return max(0, min (1, 2 * intersection / denom)) From ee6e18860495fe7d91abbff037b828ff4552b6f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Costes?= Date: Sun, 14 Dec 2025 21:11:24 -0800 Subject: [PATCH 069/111] convert to float for json dump compliance --- src/firebench/metrics/stats/dataset_1D.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/firebench/metrics/stats/dataset_1D.py b/src/firebench/metrics/stats/dataset_1D.py index 1d9e3b3..f19e096 100644 --- a/src/firebench/metrics/stats/dataset_1D.py +++ b/src/firebench/metrics/stats/dataset_1D.py @@ -31,7 +31,7 @@ def rmse(x1: np.ndarray, x2: np.ndarray) -> float: if x1.shape != x2.shape: raise ValueError(f"Input shapes must match, got {x1.shape} and {x2.shape}.") - return np.sqrt(np.nanmean((x1 - x2) ** 2)) + return float(np.sqrt(np.nanmean((x1 - x2) ** 2))) def nmse_range(x1: np.ndarray, x2: np.ndarray) -> float: @@ -72,7 +72,7 @@ def nmse_range(x1: np.ndarray, x2: np.ndarray) -> float: "Cannot normalize RMSE: denominator is zero (no range in reference). Use nmse_power instead." ) - return rmse(x1, x2) / denom + return float(rmse(x1, x2) / denom) def nmse_power(x1: np.ndarray, x2: np.ndarray) -> float: @@ -113,7 +113,7 @@ def nmse_power(x1: np.ndarray, x2: np.ndarray) -> float: if denom == 0: raise ValueError("Cannot normalize MSE: denominator is zero. Use nmse_range instead.") - return np.nanmean((x1 - x2) ** 2) / denom + return float(np.nanmean((x1 - x2) ** 2) / denom) def bias(x1: np.ndarray, x2: np.ndarray) -> float: @@ -144,4 +144,4 @@ def bias(x1: np.ndarray, x2: np.ndarray) -> float: if x1.shape != x2.shape: raise ValueError(f"Input shapes must match, got {x1.shape} and {x2.shape}.") - return np.nanmean(x1) - np.nanmean(x2) + return float(np.nanmean(x1) - np.nanmean(x2)) From 05534251c439f5fc02d8ca780ae57ecd17a5442a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Costes?= Date: Sun, 14 Dec 2025 21:12:01 -0800 Subject: [PATCH 070/111] add projection info for Caldor - change bias to final perimeter bias --- docs/benchmarks/California/01_Caldor.md | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/docs/benchmarks/California/01_Caldor.md b/docs/benchmarks/California/01_Caldor.md index 701165b..e55066d 100644 --- a/docs/benchmarks/California/01_Caldor.md +++ b/docs/benchmarks/California/01_Caldor.md @@ -301,6 +301,7 @@ See Key Performance Indicator (KPI) and normalization defintions [here](../../me **Normalization**: Linear Bounded Normalization with $a=0$, $b=1$
    **Name in Score Card**: See Table
    The first perimeter, at the start of the period, can be used as initial condition for the fire perimeter. The first perimeter is not used to compute any metric. +The area preserving project used is EPSG:5070. The following Table gives the correspondance between the bencmark id and the study period: @@ -318,6 +319,7 @@ FP04 | W4 | Average Jaccard Index W4 **Normalization**: Linear Bounded Normalization with $a=0$, $b=1$
    **Name in Score Card**: See Table
    The first perimeter, at the start of the period, can be used as initial condition for the fire perimeter. The first perimeter is not used to compute any metric. +The area preserving project used is EPSG:5070. The following Table gives the correspondance between the bencmark id and the study period: @@ -335,6 +337,7 @@ FP08 | W4 | Minimum Jaccard Index W4 **Normalization**: Linear Bounded Normalization with $a=0$, $b=1$
    **Name in Score Card**: See Table
    The first perimeter, at the start of the period, can be used as initial condition for the fire perimeter. The first perimeter is not used to compute any metric. +The area preserving project used is EPSG:5070. The following Table gives the correspondance between the bencmark id and the study period: @@ -352,6 +355,7 @@ FP12 | W4 | Minimum Jaccard Index W4 **Normalization**: Linear Bounded Normalization with $a=0$, $b=1$
    **Name in Score Card**: See Table
    The first perimeter, at the start of the period, can be used as initial condition for the fire perimeter. The first perimeter is not used to compute any metric. +The area preserving project used is EPSG:5070. The following Table gives the correspondance between the bencmark id and the study period: @@ -369,6 +373,7 @@ FP16 | W4 | Average Dice-Sorensen Index W4 **Normalization**: Linear Bounded Normalization with $a=0$, $b=1$
    **Name in Score Card**: See Table
    The first perimeter, at the start of the period, can be used as initial condition for the fire perimeter. The first perimeter is not used to compute any metric. +The area preserving project used is EPSG:5070. The following Table gives the correspondance between the bencmark id and the study period: @@ -386,6 +391,7 @@ FP20 | W4 | Minimum Dice-Sorensen Index W4 **Normalization**: Linear Bounded Normalization with $a=0$, $b=1$
    **Name in Score Card**: See Table
    The first perimeter, at the start of the period, can be used as initial condition for the fire perimeter. The first perimeter is not used to compute any metric. +The area preserving project used is EPSG:5070. The following Table gives the correspondance between the bencmark id and the study period: @@ -396,13 +402,14 @@ FP22 | W2 | Minimum Dice-Sorensen Index W2 FP23 | W3 | Minimum Dice-Sorensen Index W3 FP24 | W4 | Minimum Dice-Sorensen Index W4 -#### Burn Area Bias +#### Final Burn Area Bias **Short IDs**: See Table
    **KPI**: Burn Area Bias
    **Normalization**: Symmetric Exponential Open Normalization ($m$ value in Table)
    **Name in Score Card**: See Table
    The first perimeter, at the start of the period, can be used as initial condition for the fire perimeter. +The bias is calculated on the last perimeter of the stgudy period as the difference between the model and the observed burn area. A bias of $m$ acre, representing $B_{50}$% of burn area during the study period, will lead to a score of 50.00. The value of $m$ represents the benchmark difficulty (smaller $m$ means higher difficulty) and must be chosen by the community. The following Table gives the correspondance between the bencmark id and the study period: @@ -579,9 +586,9 @@ Fire Perimeter W2 | 1 Fire Perimeter W3 | 1 Fire Perimeter W4 | 1 -### Scheme FPW1-W1 +### Scheme FP-CW1 -Scheme FPW1-CW1 applies an alternative benchmark weighting for fire perimeter groups. It uses the number of days for each study period as the weight. +Scheme FP-CW1 applies an alternative benchmark weighting for fire perimeter groups. It uses the number of days for each study period as the weight. Group | Group Weight ---------------------- | ------------ From 301f3f86b45685633202a0a97ff32b3ef7068354 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Costes?= Date: Sun, 14 Dec 2025 21:16:17 -0800 Subject: [PATCH 071/111] fix headers caldor docs --- docs/benchmarks/California/01_Caldor.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/docs/benchmarks/California/01_Caldor.md b/docs/benchmarks/California/01_Caldor.md index e55066d..9e2dc7a 100644 --- a/docs/benchmarks/California/01_Caldor.md +++ b/docs/benchmarks/California/01_Caldor.md @@ -544,7 +544,8 @@ Fire Perimeter W2 | FP02, FP06, FP10, FP14, FP18, FP22, FP26, FP30 Fire Perimeter W3 | FP03, FP07, FP11, FP15, FP19, FP23, FP27, FP31 Fire Perimeter W4 | FP04, FP08, FP12, FP16, FP20, FP24, FP28, FP32 -#### Group benchmark override +**Group benchmark override** + The custom weight defined in the following Table overrides the default weight from the Group Definition Table. Group | Benchmark ID | Weight @@ -567,7 +568,7 @@ Fire Perimeter W2 | 1 Fire Perimeter W3 | 1 Fire Perimeter W4 | 1 -## Scheme B +### Scheme B Scheme B contains only the building damage group. It is used to evaluate the model only on building damage benchmarks. @@ -597,7 +598,8 @@ Fire Perimeter W2 | 2.0 Fire Perimeter W3 | 2.75 Fire Perimeter W4 | 5.2 -#### Scheme benchmark override +**Scheme benchmark override** + This scheme also modifies the weights applied to the benchmarks. It gives more weight to the average Jaccard and Dice-Sorensen index compared the min/max indices. It also adds more weight to the burn area benchmarks. Group | Benchmark ID | Weight From 4c14f3e037c2b7ba026a52736cc95c67ed4a591e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Costes?= Date: Thu, 18 Dec 2025 23:16:41 -0800 Subject: [PATCH 072/111] add fill value for ravg processing --- src/firebench/standardize/ravg.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/firebench/standardize/ravg.py b/src/firebench/standardize/ravg.py index 8389799..7bc9cb8 100644 --- a/src/firebench/standardize/ravg.py +++ b/src/firebench/standardize/ravg.py @@ -54,6 +54,7 @@ def standardize_ravg_cc_from_geotiff( overwrite, invert_y, compression_lvl, + fill_value=0, ) @@ -103,6 +104,7 @@ def standardize_ravg_cbi_from_geotiff( overwrite, invert_y, compression_lvl, + fill_value=0, ) @@ -152,6 +154,7 @@ def standardize_ravg_ba_from_geotiff( overwrite, invert_y, compression_lvl, + fill_value=0, ) @@ -166,6 +169,7 @@ def _standardize_ravg_from_geotiff( overwrite: bool = False, invert_y: bool = False, compression_lvl: int = 3, + fill_value = None, ): """ Convert a RAVG GeoTIFF to FireBench HDF5 Standard. @@ -233,3 +237,5 @@ def _standardize_ravg_from_geotiff( ddata.attrs["units"] = "dimensionless" if nodata is not None: ddata.attrs["_FillValue"] = nodata + if fill_value is not None: + ddata.attrs["_FillValue"] = fill_value From 32cd1029d562b6082fa0c09c44678ce6eac0582b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Costes?= Date: Sun, 21 Dec 2025 14:01:20 -0800 Subject: [PATCH 073/111] add context dict tools for benchmarks --- src/firebench/metrics/__init__.py | 4 ++++ src/firebench/metrics/tools.py | 39 +++++++++++++++++++++++++++++++ 2 files changed, 43 insertions(+) create mode 100644 src/firebench/metrics/tools.py diff --git a/src/firebench/metrics/__init__.py b/src/firebench/metrics/__init__.py index 89fbab0..6750da6 100644 --- a/src/firebench/metrics/__init__.py +++ b/src/firebench/metrics/__init__.py @@ -7,3 +7,7 @@ kpi_norm_symmetric_open_exponential, ) from .table import save_as_table +from .tools import ( + CTXKey, + ctx_get_or_compute +) \ No newline at end of file diff --git a/src/firebench/metrics/tools.py b/src/firebench/metrics/tools.py new file mode 100644 index 0000000..96b5d24 --- /dev/null +++ b/src/firebench/metrics/tools.py @@ -0,0 +1,39 @@ +from typing import Tuple, Any, Callable +import numpy as np +from ..tools.logging_config import logger + +CTXKey = Tuple[str, str, str] +ComputeFn = Callable[..., Any] + + +class CtxKeyError(KeyError): + """Raised when a context key is not declared in CTX_SPEC.""" + + +class CtxValueError(RuntimeError): + """Raised when a cached value is missing/invalid in a way that suggests misuse.""" + + +def ctx_get_or_compute( + ctx_spec: dict[CTXKey, str], + ctx: dict[CTXKey, Any], + key: CTXKey, + compute: ComputeFn, + *args: Any, + **kwargs: Any, +) -> Any: + if key not in ctx_spec.keys(): + raise CtxKeyError( + f"Context key {key!r} is not declared in CTX_SPEC. " + "Declare it in CTX_SPEC to make cache usage explicit." + ) + + if key in ctx: + logger.debug("CTXKey %s found in CTX dict", key) + return ctx[key] + + logger.debug("Add field %s to CTX dict", key) + value = compute(*args, **kwargs) + ctx[key] = value + + return value \ No newline at end of file From b7cdf7cb3506c768e3f6e9178179e760240d31a4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Costes?= Date: Sun, 21 Dec 2025 22:10:21 -0800 Subject: [PATCH 074/111] add sensor height to synoptic processing - add default height for synoptic variables - add __get_sensor_height and __add_variable_to_group --- src/firebench/standardize/synoptic.py | 115 ++++++++++++++++++++++---- 1 file changed, 99 insertions(+), 16 deletions(-) diff --git a/src/firebench/standardize/synoptic.py b/src/firebench/standardize/synoptic.py index 3181aa4..5a0adb2 100644 --- a/src/firebench/standardize/synoptic.py +++ b/src/firebench/standardize/synoptic.py @@ -14,36 +14,43 @@ "std_name": svn.AIR_TEMPERATURE.value, "units": "degC", "dtype": np.float64, + "default_sensor_height": 2, }, "relative_humidity_set_1": { "std_name": svn.RELATIVE_HUMIDITY.value, "units": "percent", "dtype": np.float64, + "default_sensor_height": 2, }, "wind_direction_set_1": { "std_name": svn.WIND_DIRECTION.value, "units": "degree", "dtype": np.float64, + "default_sensor_height": None, }, "wind_speed_set_1": { "std_name": svn.WIND_SPEED.value, "units": "m/s", "dtype": np.float64, + "default_sensor_height": None, }, "wind_gust_set_1": { "std_name": svn.WIND_GUST.value, "units": "m/s", "dtype": np.float64, + "default_sensor_height": None, }, "solar_radiation_set_1": { "std_name": svn.SOLAR_RADIATION.value, "units": "W/m^2", "dtype": np.float64, + "default_sensor_height": None, }, "fuel_moisture_set_1": { "std_name": svn.FUEL_MOISTURE_CONTENT_10H.value, "units": "percent", "dtype": np.float64, + "default_sensor_height": 0.3, }, } @@ -51,6 +58,7 @@ def standardize_synoptic_raws_from_json( json_path: Path, h5file: h5py.File, + skip_stations: list[str] = [], overwrite: bool = False, variable_conversion: dict = VARIABLE_CONVERSION, compression_lvl: int = 3, @@ -64,7 +72,16 @@ def standardize_synoptic_raws_from_json( else: probes = h5file.create_group(TIME_SERIES) + nb_fully_processed = 0 + nb_partially_processed = 0 + nb_skipped = 0 + for station_dict in data["STATION"]: + if station_dict["STID"] in skip_stations: + nb_skipped += 1 + logger.info("Skipping station %s", station_dict["STID"]) + continue + logger.info("Processing station %s", station_dict["STID"]) group_name = f"station_{station_dict["STID"]}" @@ -81,13 +98,13 @@ def standardize_synoptic_raws_from_json( new_station = probes.create_group(group_name) new_station.attrs["name"] = station_dict["NAME"] - new_station.attrs["ID"] = station_dict["ID"] - new_station.attrs["mnet_id"] = station_dict["MNET_ID"] + new_station.attrs["ID"] = int(station_dict["ID"]) + new_station.attrs["mnet_id"] = int(station_dict["MNET_ID"]) new_station.attrs["state"] = station_dict["STATE"] new_station.attrs["timezone"] = station_dict["TIMEZONE"] - new_station.attrs["position_lat"] = station_dict["LATITUDE"] - new_station.attrs["position_lon"] = station_dict["LONGITUDE"] - new_station.attrs["position_alt"] = station_dict["ELEVATION"] + new_station.attrs["position_lat"] = float(station_dict["LATITUDE"]) + new_station.attrs["position_lon"] = float(station_dict["LONGITUDE"]) + new_station.attrs["position_alt"] = float(station_dict["ELEVATION"]) new_station.attrs["position_lat_units"] = "degree" new_station.attrs["position_lon_units"] = "degree" new_station.attrs["position_alt_units"] = station_dict["UNITS"]["elevation"] @@ -98,9 +115,13 @@ def standardize_synoptic_raws_from_json( new_station.attrs["source_file_sha256"] = sha_source_file if "ELEV_DEM" in station_dict: if station_dict["ELEV_DEM"] is not None: - new_station.attrs["elevation_dem"] = station_dict["ELEV_DEM"] + new_station.attrs["elevation_dem"] = float(station_dict["ELEV_DEM"]) new_station.attrs["elevation_dem_units"] = station_dict["UNITS"]["elevation"] + if "PROVIDERS" in station_dict: + if "name" in station_dict["PROVIDERS"]: + new_station.attrs["providers"] = station_dict["PROVIDERS"]["name"] + fully_processed = True for var in station_dict["OBSERVATIONS"]: if var == "date_time": time_iso = [] @@ -108,24 +129,86 @@ def standardize_synoptic_raws_from_json( dt = datetime.strptime(t, "%Y%m%d%H%M%S") time_iso.append(datetime_to_iso8601(dt, True, tz=station_dict["TIMEZONE"])) - new_var = new_station.create_dataset( + new_station.create_dataset( svn.TIME.value, data=time_iso, **hdf5plugin.Zstd(clevel=compression_lvl) ) else: if var in variable_conversion: logger.debug("> processing %s", var) - var_data = np.array( - station_dict["OBSERVATIONS"][var], dtype=variable_conversion[var]["dtype"] - ) - new_var = new_station.create_dataset( - variable_conversion[var]["std_name"], - data=var_data, - **hdf5plugin.Zstd(clevel=compression_lvl), - ) - new_var.attrs["units"] = variable_conversion[var]["units"] + + sensor_height = __get_sensor_height(station_dict["SENSOR_VARIABLES"], var) + + if sensor_height is not None: + # Sensor heigth from metadata + __add_variable_to_group( + new_station, + station_dict["OBSERVATIONS"][var], + variable_conversion[var], + sensor_height, + compression_lvl, + ) + else: + # Sensor height from default, skip if None + fully_processed = False + if variable_conversion[var]["default_sensor_height"] is None: + logger.warning( + "standardize_synoptic_raws_from_json: variable %s from station %s not processed due to lack of sensor height information. Default value is `None` for this variable.", + var, + station_dict["STID"], + ) + else: + logger.info( + "standardize_synoptic_raws_from_json: variable %s from station %s uses firebench default height of %f m", + var, + station_dict["STID"], + variable_conversion[var]["default_sensor_height"], + ) + __add_variable_to_group( + new_station, + station_dict["OBSERVATIONS"][var], + variable_conversion[var], + variable_conversion[var]["default_sensor_height"], + compression_lvl, + ) + else: logger.warning( "standardize_synoptic_raws_from_json: variable %s from station %s not processed. Add the variable to `variable_conversion` to process it.", var, station_dict["STID"], ) + + if fully_processed: + new_station.attrs["sensor_height_source"] = "from_data" + nb_fully_processed += 1 + else: + new_station.attrs["sensor_height_source"] = "firebench_default" + nb_partially_processed += 1 + + logger.info( + "Stats stations: %d fully processed, %d partially processed, %d skipped", + nb_fully_processed, + nb_partially_processed, + nb_skipped, + ) + + +def __get_sensor_height(sensor_variables: dict, variable: str): + for sensor_var in sensor_variables.values(): + if variable in sensor_var: + return sensor_var[variable].get("position") + return None + + +def __add_variable_to_group( + group: h5py.Group, variable, info_dict: dict, sensor_height: float, compression_lvl: int +): + var_data = np.array(variable, dtype=info_dict["dtype"]) + new_var = group.create_dataset( + info_dict["std_name"], + data=var_data, + **hdf5plugin.Zstd(clevel=compression_lvl), + ) + new_var.attrs["units"] = info_dict["units"] + new_var.attrs["sensor_height"] = sensor_height + new_var.attrs["sensor_height_units"] = "m" From a0b417ad68fe01f9134bc47a4c41778081835abc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Costes?= Date: Sun, 21 Dec 2025 22:10:54 -0800 Subject: [PATCH 075/111] add RAVG CC docs --- .../benchmarks/FB001/RAVG_BA_final.png | Bin 0 -> 137175 bytes .../benchmarks/FB001/RAVG_CBI_final.png | Bin 0 -> 96643 bytes .../benchmarks/FB001/RAVG_CC_final.png | Bin 0 -> 110611 bytes .../benchmarks/FB001/RAVG_CC_masked.png | Bin 0 -> 72954 bytes docs/benchmarks/California/01_Caldor.md | 139 +++++++++++++++++- 5 files changed, 132 insertions(+), 7 deletions(-) create mode 100644 docs/_static/benchmarks/FB001/RAVG_BA_final.png create mode 100644 docs/_static/benchmarks/FB001/RAVG_CBI_final.png create mode 100644 docs/_static/benchmarks/FB001/RAVG_CC_final.png create mode 100644 docs/_static/benchmarks/FB001/RAVG_CC_masked.png diff --git a/docs/_static/benchmarks/FB001/RAVG_BA_final.png b/docs/_static/benchmarks/FB001/RAVG_BA_final.png new file mode 100644 index 0000000000000000000000000000000000000000..47a7b5a06915e45fb24e5cd190e0be7b4234637b GIT binary patch literal 137175 zcmeFZbyU~i7A^Xrl}40q6$~0hT98sf1Ow?VrBgr}DNzwoLTNDYvoO3t|Up}9`*IsL`Ip^9Tsw#?P#0Cu>9(zz(?dfCQ|yMJlbw~Vlhu7AHWyO|$NRQ6Lc9X}yh7Y; z7EVrfj$(X#*8lT6cx@fb`OHq|KY>p9X%86dT!wY+bsE{dW4y2T8?mZGKcK7DrwCjr}L4|DJ|0Th-FN3tWqn# z^RYD<3hc|79(ebUGB#VN1gahOuW2FHy22SVvkd=uX&Yw9Bp6mA{>~i zh@Y$A4X7Ej^9la@C!KaHb{2<{>hMozjK41-$KOA*7fCPt`)jpq(Ny2SsphDY=gtvN z)IXDzmd5U!JAsRb7yjafkM%%-o8)wrFP`h}N`rvQyhi$+bFmMH-J+#D#gsX_?88zL z6R~@`&L;@T7#6zoT=RRoPz`VLu{%CW2doEki+L}k<8ACuub_K)b{jHNy`&-6a+uP&o zz50r-uC8JA%N?>5?3XUl;t`R{xw?vY?JQg>+gU8N6JgRQv|)a)64(DWOj+*mkCTEp zyj_^o_7Q3>m0BMhyupIXt?^LTQC}i{hsmq+eR)LJQ;%VG({T^SpIsWRvMwA7TwQh8 z+S$Rw^gP$^D!&ybs|h5Ng-2==osP8`I*5BXETf@87f8YSy!GuRv+Cit^G zAq^rso{o`e>YWZ?suQji;9X0%m;oH50g6Bb;PP>I#a0V=w|G9Z(JI}$6Ock zdrO@6YJw;x$~TAcFy#cPA>+y)8?fw~c9VbCOwK%8ir(VPxpRJXM%6|36DIF{Tg~t= zQf9I4IZ^mYBFtl@j&`UdsLn{n(NU;Pa#KggsZ*Y1hf6sc!?sqN`5sAl{e7h5yw|ID zC@?JEYx_Rha^bgRW_k4DF7s6cv^qX7Ump8C*GqxfEf!DXVlGR=3+oIcUOPOP`MoEy zLF9%Vi867+T@UhceR|pOFxV60#ux1A+1U-%{zRp^o4$X8e8#GW3ztkGg=(o{Cu>)V zpP$mQ=VNtk2=!D!Mpg;&x!1&(_kL3kd+k^cy3b`gB-D&a%gFfd?vGac>k=}MGmGJ4 zuyJ$Cbl%?HyRZ)b^JF;RPB?O*Y^_Zk^FeDpP+;v}ZQ!GlR`V@YDaW817n6pgvRHZG zC9yf^7=6)_M*X9P?_1jndK9#Rf`SIZZ>QEhJiJCuu%{?I`%>Y#W1<_f0lU9e`aB3d zdmDMF%ff0&d1@-bbo?V;FF0Z&Zm zzkd1st7~Pg{W3bRvVo*BSFavHp*s2VXNhjwd5(#s46;@}6}v8*AU5|B|rT7jStguc2={&qai3^`Rz5@`!dqqlHC#Z!fKoSxc39 zf@ff_zBh9O=M7v8j{U2ssEHbi%e4cxmCrnPHpa$7`4p6uNski~U5Bv=&9y+IePVm;s!$p^^%P6yNKq zXi=BCMz8!ir$GOPwYEWl6Dszp2Bva<4$q+CMUqW^!sODLwrN zB%a!*^g@$T8Q-5Ic<=WuY@q{Hv9nmy!0P?9FVB49zlZ6mMNyocPoRN*PmMU(*Si9QoN2;U^V8*-t2lFp*DAPe07~ zbn0K)7LCi5_E$-hb$1v0FC$}RDoWqzV1I9Br1G+#pC7;Hw$tu{t#{3j9OI$37!iAp z_cs%s^Jo`TnFz|H-WvO+#3yfL#Bq$8+Ek`7-gW=abkg?+EA8I<)Qp#G+>_e-^6BK;AKGdBPyI_NT@-j^{}NTV zC7lJ^zrWV2k;eP?@aqhO41aS&aC$F)hxEViE)V?Q*FVF=f0-oMo$UX9G?iNR|6LFc zj{gNA{oe)o|HXp*pMh==t5=mjg;a2kal@6=Th;CD6j8b^^fWwLkNt@#He5*oya<`M z)&7}Ipm=>fATg0mVr$g@N2T{ch!o5Js5y#b07TPff1Xr$>H|g4G)gy+gs+Se`()fe z?yG^=;xya<^|&U%7I{uIY4?0sPz+U>5sMd0NA@pRGkR$)P1>ZCfi7Q$Ipb3RJnc z?{!@+?c3Q_3k3aC_4UItwF`~*w%0W(y(GD5NKi%m{Q0xN;$ZQofrZtr?(RGD1BDa_ zr&j#=$ym1f^}Op^>m{{&_kt|5iU|>BjpWlG&U|#~;zf2|Uh*3^ZZtMF`t(`VpU*Dy zd-H}tV&jMLk34e;{N90nWs+Ig&4$ypn;h0&nMCMSRvpoofpK~NQ3pg{t%#| zmadjE_%AJX#Lku@9w<{R!No8CjAC52J5Kw_Ab7Wddt~u7;0##^Ip5u4k>0g z@$6Cw0ex+GcIl!R*7lL)U%j7=|6gz~zs;aXv803q6SllrdBCg~#`1cAk%8ewLNBNu$6jX22fy^fc^?g9bNEUyf0Gyd=T^ zD?Qq_V?ynAz}zF4<5pW_ii`fRRG- zH|5XPw?W>!6Rcaa8QG}4#F*1k&VxA`z(}`i$85u5*C06fUs=1!b8i;bL6DOR%^!|^YP&+nPx<--J^D!&|V`gTi&49L+){Cg9 zpyXr@QYH~fK>8S_94|o+9WaZPFe8h{vdo1`mzo{Dw#JAgc9&}~pI=>RrMkAz1s^$j zROZSRzXrMj+mYuGr>)il@sf}1dUYR;K{MsL(Pu7TH(I6VruPq$V zcC02S$8F7wNy3$qnp3%o`liH~OG02EAw*XU)!1x|d3<#s86!VLQ>^#?pDjqvDbcchCpMDT7DE=h=o`` zgJ%fc`qoMVE40M=qbXrhUmzXW&t(>lCk3$>S^pzkk|#R22DIaCen=hW!|h{-S@~81 z58<_cyPU@Q|H7=XxeSL8*ZgEaHCv^NiAn62aG-1AnEv*rd*nKJqz|4EVw4){gc)^T zd;s{ysr`k*+sx?~88mokFrV*6zM0NES7hU=i2|xIMTJ0Zeq4ik^sVt4DG2e-JWRYz z)Rg_5f$UBbkIjz!3mFq}{zf=-Y3Khwix-hR<1@?$Z|{JI8L6-vFy##tIX2MtXJYIKUK*JZB8I5 z{kOSI_T-7bK)v(Ydwx1feJ#>Cg_GkozlVqgi@sZGd_IDW+KH(A^BdwYcJVk6rX$1J{Mme=7YS4Ap0Miz@b{NQmfR3EO98sGIFWhV-H@@)om zqNLMbYD35vR(O%E${LB6sT8Y^6+8LmL$ft=p(=|Sg>reiMGDpTB*N%cdJDY~R#=}S zSzrAi5buofV53&fM-wF!I)CNo-u{Mzo=qHOlJ)9PKYrGfHO8b_c!`yPq*Q|$cyVE zY2vZy{!{qf;L}O5zP=l{e~7Um5`Y`LC;o5}!P;T2G(pf$&RYIG3F)+bTD{5e?k#%3 zVty78LPSYA1AhcV7VS*_E}&=2VV^lmKtdtAc1|kQA1)Sys~^w$em9aB zn}ZX&#}eI%s#dqs6JZ85#&|+cpM-&p#@Y$*!jt`m$KdSo{(DgNfa(tQura!P1-yI( z|JpY%3ra{Ea7l-Fc4wZQD<)7Uu@s`D>iqSWvQ1{OBja}^5ec66hnd}fUV-q3)M&j5qavEVp6JDaF_hTrt-s|aCUO!dt1BgDjFA2t&!o?Sd_p-aww`bY|IT$oA< zA)`3wpL9D4vvUc-`g7^}XNBZAS?)JKurm{;V|?S|!PY+syOiDgGzgw@*V7EwQDsqx zDz0_db5mDNQ8A^Wf(4yJvP*;5<;$0&Tg^Ud<`F`AmT_NpL} z_~nB??bj0KspGEy3yBwfvA!Lucn~?JJu>*?ViFZ8snk%L}HUW-7gu{9(nxuF&i7(=;819%Q6hH z5ev?C%QRAi1gJ3MV}ksunp*SrD)*e}&aE!M4o_~@2Xb1_a?8!fYC13;zM8geIYD0E zQxe`H?ANbf%q+AF3{QwyTru(>yyhsrhXb_7kK+e?d9>3H_??wF05{LPJ#qjTI${zM z91M^o^>N~W-P`x>5mnJ+nx!s0S(W?lPnkrIq34DA^;FxYn1HWr*>6BnETeOI=-~*v zloSi%CUKS+{fSOWI6;9fe{Nf~~7sQ9ZsodW_PfSb#l z#YiJly|%7yY|ybCg|Ge8>wAd%U+P?&A1b946%_@XS+x9xq!YkBf%HmJP zH;>t|@$pdrZWe_nPW=90O2DO*nXml!G0vOuPk}Zz2GS3xFN8-83m*~Y-Qc9Yb?X*- zwZeq&K-Yz_dTk{swmaqi&DPyFAnGAWLn?m3dW;0?;MF(+NBU#y=zngW2jtnQa0ov) zbryJxYtZ<^Cgv-2?f7$X{A#^4f{#JSKQa;ge97^>BmM2WcTZ?(YlrQ`=b5!49F1Y_ z?!uhlTFcvoD6qlew5nJq3b$SEjX`EX~vcsjlYD(Ev%8$Kwu&)JFa zTlZg(*!$g8H2G4=ZfBuz0@inHXXN0y_+k+rG&l>L>teTcbe;~_l#&5gk3JEA_9V^c z^o)#}ch@480q9KJ^xme(Nb#lgI$q!idT}_8ac6Vu% zag?a;w@J(UZ%$D|VVADhoFmUFXnKAutC@?#Xk0ZeqE9J>i^H~JYn%kDdVNo?Zz>1K z(zDx}OJRU5Jz#MJH9Bq+5D-L5J`#3W=nsG;{*ppB3HuOORwfba*d_`>5+6S#*Wz}Y z!iS}J^@s5TK-_zOEg{EY>iU`2ZD&X3vMZm1#xpP{3N&+LTU$Nr!Iq-ck54$z3=)iz z(s1jQ(GmLNG&MDy;o(`>SkuZ>|6EXD1dYAJt#aEDsX>pmR@cp;hv9(PgIL_t2YTmP zD)-m(fXcY{6s{ZCSrqKqH|Y82VA?=KzfXKSOwbBHg~@t|66 zyu$@>c4p12d0`v748RmBg;-{1N1qgx$#T7wRDsSHZITZAHhF=ngR1(&(p|Ok2C=%w`cwRT4j4119TFu{7^)A z{UHlOFJrX*`orbJqqG|(i?t*n`wm^8BCjqaAoo7JO2!=jrZ z1P#)oAkf$7B;79v3JDE~1tD^WPR!{{fmNR$BzmVgDTt5{z23%fbfH)Kk#9*0ozUX? zAdn_uj?jCU@6PETd_jqHch{rPopCzWkz74n?-_Ir6RA;p4&qDi-`Y3;5b*(22?~+j zSO6`Y^knUJM?ryqYlg6vCaGUe(osP8;UQniwQt8?4R8FpzDHGgD=hh0{X_*JRh%C1 zKoUrG+upS5mKv2rO*34I#n4F9|P-xo#wAZ<)WGLRFkO!-M z@rd~0u-Hg;HB}t~(r{V?!L~2@h@{#`RCDpEHX;-`RzB63_1a>ccvlLWD?s^15o8?r3NP!|R)v zo1YXHXY}>;g%X1#SfC<$rv4aNdl?uc_U=Ke%`zaz{`L8-eckm_DTWZ6BCy3}izK9^ za-N=&&@u<<9lenLeO6^tANEGCFm&bOrArUzq+ms4O-$bHwv>swE*lg!oXJ|t_TD2o z*zTX@1ml0Hx?NLnvE$>wyIn)y#VcX%s zF%d7mzX;Gdv0p3b2-aF$!Jhc-TJ!5yq|Q0HW;K%kD1TJgyEj}ATDS)U?{fdSHP`RGy%WHH=;bkd zR6maay~q1vK&5B8Py4}x2dcMk`@<)EOEJS8{TSAHdpr-I&K%_O-b}}H=g*^EK!oX4 z6_v%;_OYaY8_dao??y5%*Tv2$g(h9MS^2S~Rm$GqEpGe#j+)}2mM*TeMSAsIubk7a zP3eL#;L6dRrOJleHzmK1+0%p)pd1ePe!1~vSkVG?#5NqL{)w_@jF;TYll~)djGZ~TmNzyaEliAS9T9#;-60-lFXj* zTSUO2@RsayoDgrkCiZMCASxDS4i4(LYe`VA0b0BC%Os1#>!L7+HjKu~qHR6k`xjEe zF9gdr?p=+YoU7_6qJ&aLj^XG z^noJS7BxM+#q~1iBaQ)M7AnyDPN8ww z^xCc@P`xx#Qc|vP%sv6{RlEnwTC@9S%^qMUi~br!c5TAJu6g(O@9e_DJ(e#9VXlDp4D7 zbS0Jgdym+uWPGaNh(7Aq+eUYAKLyoZiMho1;8~yyQL^5J``=EXvyBL=PvBWVR)wOC zeoG+gq`SMjM}f4)uv4c`j{%FeB68qM#8UO-#Q9G)Lt;7(O{a_IbDPn7SdCOL13+;F z5?Z3I81S1RKi%>V<1j<;3*{D>xVQ*|-0V|ZD<`pBg;xZU0n#I?&GHNZzx^n*WkuSw zoV>jA9~}h6v&uKLK5FF?qg~*K=L3?FVhjFb4|@4T0IlA#2p0$oU=oowGvfqG{79yH zC^QsRV|E6;S-QwyB4E+MwmZe={cB@7Lp{SDTt$YvTPs^#3H$i^`ub&?!;iKAOxkzd zxHM+#y)$ssJH9dvp-#u2E!7A+>3IE_Lef841rJEtBJRJ>n6<}y>L}fGaCAgk$2~na z0@USv*5c`Ya1nUXitX9+fW$5pfm(wSBG$He0-OvDX$f9WKrI>vh#OIT2AmziFTC9sWez8>SUXOCAXJh{GE3zFvtE%U zYmB=@OC`{Du^)Qw=+=1=neG9b;;BRWnVz1$2oUEARMQCn_3}_~#wR9n?sstl<9x8J zrEE9Z7>;;KJ5ZJkpmw_g3rR^y=>tdK<%f;^cx?y@FME)U5}`!}>rnmd_YC{xQ5gVK zgdmJ?zgLdI1xLgBT<;-_0CIZ;da$ID5-l41d1X60{sNn!Cq+df$R*>t{{3Dj;4uI? zD1kA@7h3fR-nnh{RmG#d)r049L+hQ2v+e z8Ev5}#z<(mtKcXcP5rhPx4GgGUs(vy;V610gf*Zh(n4Rxj#k10l6Zse8Amu!=>1fo za3h}>2y=-3M!NxhH?2}6w+!H6i3-RXD7033EB8;JCKoxapn-n(?v&MFQBIfp$x5z( zi91m#5_m{Sz*N%f$f5g>a|e(C@T>1E^w`wa4s1E^@r&1fUOD0Xu1h^~==Gb3vvV>a zUJ-TWreZ#muQNVg;QXdrVH*s6iQ z+|h%S9t*J{TPq7cmukem8rkJ%b{Us`t0=|CUVY@P{q(C7i)H2niq7<5C@?XW5QUxh zegB#tFke&C4!})6F}shY_;%d<5Pvdh{D7+l(hHz3uy(Sq2OX{` zaV6g%$G>OFE~N~ZS0T&**PjF`u$b{7DmwBaj#DQ}N$zcIYjHON*(@iGoHE=-Gm>J`q>t9T|{Cu0#h)I5)3D(VAd6)YgehDVjWW$Y2n^4}y46f5`gu$-h1&D*5o zTCk?8QqP}~nju1yJ`9CnvM@6NCHcqmn?Gn+-}q0TTr3gzanwg9KbK}5oi6qm7s;cMs|Vr*C!@}9NXU%83OHADvcqNV7ZDVkd~04+ zY?6Gzj`S(n4gR-6h>Qmw=X3@M6%{oR=5UR`pWHJ@s)_3;-{ILE_b zok9b-ls48Ae_S*N1q9X3T1q?)WEp99w#&ca5^3NA%1N8>Ax@h#g0l{Z-3EsU6ylhp zE%shR6`vBm8;zOdQiS8+oq_f8S*0WJ;Vks@6Y{SvzTxx|y`T7L=8)NACTX?nGsEE_ z*Y8XYQ0crT$f$Gu(tbs5IKQAEIV(%W>#|8BC9q?Yubu@34+8BOs9LWMyA8cuM#^JMvip$ zEnd;rmvG##D|abx*zgJhKtlkcX5;`eI3QW2Uov>6*6tTb2H_+E#h;;I4Zt~IgELtD zy&%sW_k-%0L{+EkIAdF4?(?!9(G>#$BB8?Z8k{mWz3O2xu{MKOaN^-$7)`f0oZr7H zS8lttJhrtlU^|rnKyBs@MM$vDAv7SUGcw3T`V-^!aoHhoX(M2C)o}&agRved4(ZFXq zaQqUZU$8QAKNoj(BjAfcRp+(=Qziwdy}QFPWB^g2wW@)%3a4uBw?;sDyyC?-P{4>R*oU4XO(VVmviU;SM;?CDV|56T1Kesg(9G^(FF8*!5$ zj~uET$$46kn&2E~%OD-ZBZ4I+{V_Z(9A&Jns-`Jkb$h4fu~y12wNKK9{6+cG^S`t= zAlbtQP4*6zm=D}~5^=&wM2nTXa`Bh>a9KsAwjD|ia5Dd_JqLc=D?DfXKTk5k-l=0g z)2qkPatEUXmYjFz%g;>sLDD?Ylp5i{tcaE;9^zl~i6Lc;SCu$G&E)v>asJ)=rcmLx z>Y=F(oAx{!XPJ66qPTx`j%CRN4Ih!fk9;iyFd7ILUQ2E)Ug>;oyQ+ymuri^2rb66h zh`;3A&va|+mSu#D{nWi5xp`a$+8_r~g;OJP->C;MAC&Lc5!VF_=Pj7MkVZ$#@IV?? z*JcN=`K!uTk+8IAlrLe~i%k;KdhJY1em@{-A3h=iHCzrF{F?WQ58XaC)?Z1Io4{n~`g>wKW#YpX9Ef{Y=Y85(h_yFqmH)@Dthj7*D zsIjWK)uW>tC6c2b``DhyfaHLwd@Pk!)QP(MdouP!JwD{?uN;BH&wo7`@TBFL?W7Z9 z8nDM_x{lXSi{`Kp_56&^Dm~ zl29~e;oQ~49t-#t;Yt!Zg`t*CC(0nda-Fstci&rt{d@{&1`ddtrq)x72t4Q_A#U@V z&Fws0!mBY6e?s&(AJ57_{S)+|WSC{TEvKv#q{*|8`qSiV_RfPxw_$y5A2y?66CW-z z6wc$VcdXPQtkYS1ekX_6>os7_LFJAi00ErGQp$y*$jF@~To26lu>{gL9Zh|qUwFVgx_+A67kq#=RKS!C@0C0W(Zw~!6FhffCG9C4~rZWDmNrcVV~#&lT~;^;4XNni%x5=wK01Kb@S-SXsG zLA0EC+Pg=RdQkf=V({+VT&W9O6$`H+OrVB0=rVnRN{6wzv~jzYTSUkXcdeHY`^$Lo zaSms-(*Ssd#W!;d^l+rWO3hnloJb|LevWGK=hFI7lLyI4DOtNRfc&d!orwSg2lZXvi+oDb>|n@ z&N@Fia>a`tjO&&DG=5YmTUBJAw%Zq+ZamaX0eY+0GpFD02jlOs4cv99)qcS)s21|I zAiJ*iR^|ssZ6gCqT@nyDjboZEzhZ}(Y>&XQA~hpPn+J|uJ#+M`LH3xrf2fW>6sYy(>P5sqEEYK>)Bb+leF0LdCggNjQm_I{np6TX zdnR^Z(`#gR!rGzHu`c&$cs+%P5F<1-h>bM55fW>~qH&KL31>5rD;-jg57F+mh^&my4e3QYz`x_Cjp8eEFosy&5C;B5_1@bN=XxXo(li@SR8+;{XAf z9!JXFwa8Ak$a_W4l{^CDJiX-7Zt4Hod!@t`+@^vWkYpi073Nc1U!WBLDAA2&FaCN{o+xSwz(|zz4vu>wjeXr

    RN$-z)Eh|8JN(64d8oF;coy|fGZbb4>GBP5@rBS^K*j(NCM-mg@^e0MANwJ52G=kQ<==V3J z6_A=z^7FsXtsLxcR#GuA5Q8Na8CH?RvfPiCPPOrOu#7s~JW*Lf`Z5B>e)H7eB|vb{`Lvj^i9G}9_7UQ})Id9h>90}HQ+;4M z1$@6g=d+4%A8pL9h)jbqP0_^Ul(2RGV`TXS_oWcBm!a9Wt?A1LeG>v@u&iiKL{&@c zNxv4~y0w@cEPa`q5OO;LZNe@hLI=tz7>+Nqcx@Th*4DamNA1j{gi(Tn0ik)|E)d@a zyToGE|G8^DO!={&~L9#Pxm%Ld0%}RCRb+S7_L< z3m%mtkBNIobS85%1TOUK+1R9{ar=*~(>e|jcSrxq%ASDCnyx{1H zJ-hgSb|Fu=Jg+mV26dAV;*&yZ3$ra>r$GZ#(aM~ptWr!Amv{NW>im}F*#sI~dGO#| zPo{QINr{+6NqD%k#DvBD`_(NmLiStBhTQrUOxlGu@|v3TXhNqcf-9x0j42>sQK=1h z>7-j9mSL#H0GyJ@p$emoV6y$?5({!Q@|3SkG)w@$I@7t<6%&fOV6g>JK|z#m>Tu;> zAllnGcjiX1I(s{j1Re!*ejfB+@)qeh5WcwtMt|u+7Tcb>V<8*P1Xz)&LU0brxELe_ zRC(C^wNk>XNvYmJ@tA!32Qny150Hhvmi4W&jJuBy0?rGY_X&;``IDBR!Ys)i&jT zRK86n4&qrbbPCdLHSmi!&%CyJa8(53#Clp#fa=keWJ+M#m=5~t#2^4?7T10Y?f!CdenfC zuy0<616c&;UpWCRe{*S;fuO3;iz)B~dI#R8#hjUNP6i z$=Z?o>3@U`N!=eQ*u7Y?HfeO`?lCRpGH{6Pd4g>M^8q4~N=j<+HU|*aNQuRKK=8U@ zL%U7^vs8=rk~s^&U|&8v;S3QtGan1yW;R#=5J(?pkb&Y726J^K%;KOFcK7x+FM%z6 zxt97S8}R0rhFvFCBq`&<4?Cf*c#x7(+Vov0XULNCjl8aYYU77pW;( z$AKw8%iB{DsdO^94aOuLi*GElvjIo}Hy)WX!$PhTjZHZ-Qe!0}7uUX^dgC|xEZQJ6IcVJRLEE}KvTKR@ z%?aYGQ72z|AOy4>GL&X!$v-T)@|jCepyYveUwnE4n;$1I3oJ3D03QF5jzCwP>9=^5 z&yH=5Qc}gyqtRNdYH_HveDMG{l%b8#raiD1k1Z`Nt;dG)mZW!CZUjy+2Z`LApKB9^ z3V9<7dD^-(GMxcmPCWaiE20$Eu!cPTI4 za=|I&;e#esFak`etvrs^+U!@LPC&CVWxp`T1pW=May&XN!3~e8Nstv`L)D@BvsD4I z6M&T5t(5fpqwbKSoo1|#N<$Ajr4^u9&;WF3A&l{ObI=inLGgHQ-=G6fF1{njyeOr>BFS2ZvOOOq+-d+dDbO7dpnfjvqyKi6Rhs zktTu^35XPAoq&4)q_)`hmxC_DXryL**SBwek&%%TZWqLA{`Rp1RMOZW-Z8*#9&>T5 z$IjznJVYy=y8`m1`$XECM!CR3H^ecd0ri}Z2w*Wk@wm$NR z)^mB)0YuR@IWtxBWnj16S|KI7#f|>Q?Y8toG!FoYn~oA!t!r6+%DnQuhW{=yT$qim zJn~Ro{7ZPaFBDt&8H8yO=c*Js6d50!;P$y`OpWpuxBdMQ&BwuQ+~A~&<~PKJndZmH z!G#ssr4Vnvv#3^3!LX*ARW`B&Dd{H- zHv2`Zi!W4*c3yZZ)KS#JD&G}{gHdTfkpGUxr?rOM+s0k{lX(EhU&Z1A%9T`iRIH?w zm#CDnSljN%2p zS18Ig*EU5B{oV0DbcWDJ-gO}H8=F^Q*K&4=lB&8{KuZSr-P-w$_Ry0o&IRc7PxZV) zHUVI(i*@8ZTo5-bZXP+{==>gf8aS8yZ>de#lHfsKy?b{Og0c3^#dNZ;g=GXQm z{=Fp(a^07Za0WW1$l}@wVuGG*{V;G&FoW6dY*xkggJN6I<21@#1!#D6&RB{dCxlNP zkC~#}P!M>>fHEEdLu!V4=Bmgd8exEye{MP0AVhAj=jrJgH0>r%geg3w^Zk5bQ+flO ziz}ct8-u9{shp2{delKr9Ye7X8Xi*n(Z3?;4UCY9s=xK7ImA2uUVl<)J{8fxpa+KcMJT%hGlOGjdOp~etOA(vNHx~P@pk2?7 zOt7fO$)~Tcr1OY*y^OrSxw`MU*#Nc7(KeXbPv*p?Q5^!TI7PFV`Bs zc$8&r5CMDg!kb~K?B`%$eSC3A|L=|+z5oBI5?`167%Rx^y_WFkDK`QC99u{{v{ z{aF~@7wl* z1v*T;1Hd)qG`Kg6VL}N>-6hT{ill^iUVH2J5Yoez!DIy^%}IbZ^2|h|5=5EEVUlGW zY_WAbg@fN}(%x01Cne#CKU}Ppr`3IooH1^@eQ!aik~7E8sN>MqcDW#ch)TxIM!D48 zlaX9NKz`Laf(@1^%yi2@^8lK#^MLKmb1$m#tMdoIMjoEYSBGDg;(UWLMt9r%% z@mLsamMACgy(H|c$bm|XH9Qe5QRxP%A3=_M1|3TpXvU#HJ)FzxjAQdpXB^86eQeR( zr$%*kB_9$HDfk|_0|7|?X^|x3Jz_-vG+lrSxJWtW*j+b(-Y0=Chg8&e8d8YL-!UZA z1b#BABL-)H;g3&-FeycSICqcvKzGx4Z67+m%VBdKU`s^32nfXj&`M%eu+G3_N$lej z5HN4LhM6;AcAz-_y@?{b_ryRs0lUuk?rt`?y8|h{V3gx7#Hj*b>7+ffwqm0o<<9mv zs*NB#dFabKC|F%x<$ut9M#ppgJMyJ013rA{#&cNDpLS?U`a)|>h=bI+*Mojw4+p>k z+yOf@#z6T(>oPg1ZXyd=J>=Goam#W!tTe35(7{henCLT0-aD@+GMr!|2Kdd9=Nca5WDUVwrPt2~y|z_RvZ zx`bPnyH4b-rB3W~^-Qe*xWMEo<0TavaGf!N=)%q<>3$q6GGv4lEKkvR8kz(ZE2r^Z z1!hYNpzOm8@hdJ*@(N@?g!wC-Mp%<&(vX0N1LGIj9$g6e4$i&S(5_}nnD_;-)a z+np&0u`J}ny$@3(M^1h2y<6aG=_?C_4scSCe?wn>4}iAhWYM|i;#X{HA<%YYub(gB zh|F-R`)qaA$2j3GKvC{*XBH_EYfc}7yj^I+=p!U9Yez=>itxG2{ZTr^mI?(1GEA?Vum`U$q1$CppN*`;;3>-Kvi#d% z^8{3nZfsP7ej8u*P4kr!1ZeG>W0OH5B)IiKzv9-9Um?pKcswVFyV6tYS=tO`G^Vvf z?NbuC+<@msHJ-B|x!zynmLVjF_D)T1~+L=m-(RcOW*{QoN`qd*=R% z;@xg4STtZxB(%J78*+(j^NL(1z>)wTNCbo)fKa99E}*x2Jw z|JA@&r@3=g<$RSn#7ZS$;0?%vQ^=r?jQEk-Hq}4?tswI^G`O$U3GtsP_=DGi0cPxq z;C2p}nDG5@J8c}SISl~F{opnsW4Pf%lA&fg!TUMP4J+(Z#W5^a?AR1%ddf6S&SN4yLD)Fox%qSkZ}avkOJ3~UFV+|F$(w z?{E8UU94hPcMRtqhdAhIWYCnr2pN!}%NC|*#rUzdYjz-T0KRbWdvNodU9%OOX8`Aq z1#JsRuedhrQRdTwBjW1>pi@&$|MYdXNPFysHLWUNK`9wI55T&0{{HyPiVorg?#;489DPTSb8+in*QNKb&2!bC+h)Wbkofi zT)2TJOQe*JsG>V}?ij$g9C~5EnSVG}iJa;0-o0Z9O9Jm3&>FA3X94K9tuQSa<&?Pl!nwg-Kz~L{U>yGi`_+C=YZEO{u9YvUq~e<=p!lZv$b1 z;m)w^@$PqBiZEs~nCpS8VG9F=6M>92cG`rFh(UxA*f>2UC>3J+)`2DR@9^WUhJqh( zwm4NMl=&GlPCbC{< z)FP>h;o##O%c5R}eqplhZ75_5(Us$I$6ztw(3?a8g^dq!(HD-)641ZfG*ilrN-JmS z-qoHP91eUmSIgGsOeP2+UUcHhZyISzdZeR5wl4kn0ccfGxM!!WN#&X%C;`C1GMgzm zr8PgE6Jlh11MUe`sf4)-pg^)Wshl}bGy{1mbiF$@6_jEI%m>8znigXF8#(y(jJ?}r zFm7Rk6ZFKRbl_GP#BhriTnZ*O&uAN_1Uv$(aU##xIHBR<4Y)k`uY2d zm(v`|m;L`$&fkKj94H%;^HB7)BGyi7Xtu6=h0f?;PA2UYXS;GZD?yApJm)}vw1(~I)V1|OF_gue4Epn%r zCpPA@DD03^fviI|s$pRGE3&GjR_-m>7R~;b z@yU5k9a%ChtgPhJ)oFOkman+AJX$Ibf(w?MHN6j~|HQ0AMt!4q+j_Ho!SB^4d8N#> z_fV$TJkxkYgljkXYI0vJjkEA%bu;;QY$_Vdp-1 zko(|0lYyWeHU=9(b8_Smdx_|0uHo^}r{tqQ2E1*nQTh4XY}Nn;1Sizd>a zxt>TDnCENwoK_mGoU{boIXJ5d#387*qrkDj_T;9UJWzSxJAK@kwzfUXljgCjnOet7 zAYZJemzKhAycHe;u3Q!fRFEf7Vk$I-yD);loto7(o`fClJp=WJ%`2cxfw@Zi50`PC3Ua}^Bx*%DLc>oqOK3!o zYZ50%zq7Q5idD*8a>kDrBvufHCk1hPeURi2;Z-OQGU5K8PKFPtT!_vQ4gj|gzz|7X zDIXz9SZyB=((uS30SH#H&BqJiL6&r;WBMU!ObFB#kZKbfn#EGaJGif*Md}s+BPL)i zL(q$c#Nu_i+-3AX%qqz_2~#n1ff|WuS4eh!nlNwt>|-8Va2B4?Y7Ep-!g~Xg0!HJA zf05?^5yoMh_tt!!*QiEP!-hPYd}hFg?XGE5fG|WpXxYE=i%fRb%6M$S9HRivfLzJc zqR8k^QI;nhN-r(Uoi8G^1{K5fMRLY?#1MPDZg;VUp)$N+o$=XF$q&*t)Cuh?CJf*P zQh?bCWP5=1N6roqoyc(dQDWS@7iYw&gHP~l!L!u4edbO#~$^g2;efGbSv<>9xXEuu21N|sk8 z-|6XF%(X7ATbaG|nWlAaN4C@;i4^F7dEmn2!9>dCbQ#B~z)prRsE-|QGnATWHg(JcnB(2O8 z*cuZ6a$~OXxN4_xAbhZN1k8RztL`eVfR7b-CyI4D#sr@C^wBRQks$;D3VuBxIf!C7 z@Tyv7cwN4DYd?+TyQ#1?ABYp|t9(NnPrrqn8c_`0&_yfv3s&RiuP2yF(G?7tZET^9 zMiwK*Xt3Vuv*(VB4qQ_Qm#I|_s^7VTA8^GNO;{YEplCqjPSBblcl^<#N163P>5-YJ z|3hP;c;0bn@^xNMt@P-=9^~L!0bxhbQJRSsQrE6lw+N+9?*in;<|#bp6Efh`2#=#g z@RS?h{$|co93KyVzLGOe^d?trd|^-;ak!ZiY`BE5=!kj-e@o#!iESN2b3Sq3IJKQh zeb9}t$adcNF72FaiRMF`Vk8=*Z&}EIRRdC@VfG%kCN8(8A2<)VKe}-!F)-27!$}K4 zEN0wGawtVmGguN%lgPltJI>{U-8}8{N*KbU{>X(7EG6axcZH6D`MVa7W!JBKmHUZ? ze^#f0pFH^j7fu2}i-A^GRV97u)F}h#V)fepz)a&Zc-xKs-ZY4A+C&#C$%oRQt4AbR zYS7R(8b1Pd8wZp(0dP+a!hm37dpl9{JxZ!|$?=6X$o}9SEWPoxZc+rKF^I0ITmEpn zML0Y(lo93WY)BEGo7e|fdIHm$kfi3@7t0=X9*)P5m{71K6gsfUIBEy7;gWLrS2@%B zZ%K)tF4tDV>woy2^8exNz2mw5+rIISO-5vdkdaZL%#0MGDWxQ{Y_bz7N=C^jA+u~H zm7QH?gp|;*DugH$6_L^XeDyu=`|2B@N-ctV<|8B~(Iq-AEb$6|P6(oF0VtZdiX7{+ui{<735HkQ66h}E6jqQh z;*lgo{ynysf1*Ml=BTMRIT7)pfx{k1V{G>=q-;RC0?Z6}?VqrMI66o%$|CA*)( z?hz8kDQOM2yIVgzmb%0Olc;`H7AcrCce_+y{C@(q;Jm!lvMGU;m9=8_ommlLg$T?D zufmrfA7N7`u3X}lD0S`@mHpPUv`_25l*Xx7T^KWn-h(f~fMm4G3 zj@5DVHOC^AeyN5^m-OE8&5w6i#3(U)CM)qle zQ-yigE$dE|SL*`=Ay)!ANQ91acNB#M4u7W7WJ+f+8j)z>U-QWyeUK)D2?IJ|{3X>1 zxsmgiZl|Th$R_xP4rg2sem+8ZpvFdvTTZj?x@Xu`{^=Ip7K{+?+b$TgE%MYU)y0TQ zIi20mR0)>=v)N2sYF1(&M(wg$C8FbURb5;#O2Qh0OSYZfF(j_~7eRR@F! z4@2DWcpUBSb*tUwV@1wT%AP2yf03&Mc_*>1#FkUJ40@eH*}gDx(=AUCp-NFPG1PUH zT$$=H;7wyf-Idi@LB~fCR#Y^!SMd6cV5MJ+>?zC;QJWyR28si;hFYMoi28WH+i7Nb zJd6Z|0h|a3EC>+le`u|I-cB$9c$D#gx|P!Dd=vx_D=nzWy0-3;BibS9isA0HoL zv{ntT$ex&0`&89*(kR07F*!+IjY0C~$j;VRv}Krnm=fKh1YuZuc59)u=>d-SQ6Tb5Rb& zlq8Sx?8q&9*BVx0d`mbokM*q26{w+L8ECo7DjGoKf%v3EzAkU@r8Gd4qN=(L$u*(_ zkwlk@Rt*EkKZcyr`BqEXom^4O0m&T^!c2qJ9|N7O_IHm>m%YJ@s`Ji)kjqX*bv+#$ z3PhZQF=oMHGNOXw12p>SJKtQTw`4vGyo@;nPwK)?gm_FXi^U?CyZOHuQ`=w?`8Aj(22QV@+LeWfEEe-Rd z4R9)isY=Pp`t&;}-<|>HWdkEHK@|`EI*kHPTUoZAiwd^nUG@y2eM~s)$nDN*A8`G0 z8NClC8O*IPB3wmtyYN{9j3UDr15#@oK# z*4IT9w8tHLpRO7%nlr%J2K>6kmj*8|-oGs9spxn0b!)LtiS<7O?uu{vuE=Amv2*1S zet0l=h1o5%rz3eEGs*&8Vui}HQ07l?w?j--(fjC7efQuC7v9U?(f{>Ic>Q{aFt)%0 zU$XQQWOCZq<_&5#K$@+(?(8FG=k0T+N=@H;cUurO(Y@}&Dt|PcuMj8@JQ(5*gAoJ> zo3%$h-CAPkMtE&(^D?+8(%gW9X6NF%jMMTHu|<+lGAbJSK|+4LNc!--av3QGL!>N` z%M zcJj_tD)Dkq*L?RGY5ciaolz%dFe6Q z5Vr7^*D-t-JYmFvg|;7vNU;%-$6_iby|N&q)-_mQq(gnz2wp!4og$#u0;&Y4ZcLKp zcjyhwj@jnXQF?fmwR}FY+r*?@JrKWZ{k-?(@oQbj{dWpNt;9@NoYFpZ6oC-=fMMQyaw;ra&wQKzHmGrL5DEs4FmdnMj%<@-VZoa zxf>o@fG&?K8sre77xOpx(8OBPlBxZq1fR|y>~lgTc`(O0RxJz6pK7NwTfg9#>hcWe@x~scd||= zf%#UBb=GK>uF}zgr`2HWJByC7bh{p7f+^9pJMir3|BZj)Irj1j&<+P-n^NkIP3i5O z=cGCAOUvw-OB#L5Akf%-Ush?$e=0sEoTq~R?c!f8@gnTvUc)>h*#9k$o+g+@r@0_& zVCPvxcR4#EF}dOO7Qr#pWtdmAcxp|JiifQn)h?8AZUqbF-H8rlXs?G zZzbdPN%%LE*(7qDVf}@G)5FiS?!C6^Ew*!Oz6fHA=#{LBjHmmY3o?)-0F_@os?81D zNM_V3L1_&s(PKz@Bq`+J1>}f(5|K0j)Y$n}XQtns7Xb8ACDTo+G)5$$Ql7>!=1!KCqmkdlFq$RcQ|tA37e#jPB7%!nv2@?&#+B3?yg}Qo?!Q zp>H7FcuUJ(ax#$1a(cW&gyiN`jK-T)B}@JeyURIMikMM?LE~5{0`8@EOOXk|)Vz2b zNW2Pxni22kq3(b|;2iP_PQTLlot~SU+vZ22B#77c{8-9WB#eSdZ*e6#{9({K(Li=4 zx`G@9AK$#1m|MGbyt3gJy4l9oc>6rwN|IOx-9EF7&$cu5>xw2dOG2f;r;pm64Qnke z%GhVW-^=J{#&TumU}pJU&di!1;}as0u74-tKSR;3Om3V_dLlUB&w^0_>J(`7BLCAS zpHCj+w^c37H(xQ=*~T_#oX6}=#aCyyZ%=<$*pB&!jGd}qIKp|a1iAv-Xb zMRcO5fxL;|bF-+WjbY!`fE4Mi)bcW7{~(BS*fWgSJ1kDT?)Rj1H&<6r&KYivB;j1L zd~lJTmi2C#oi+YEl*gLQ&hIqc^I2vqd8jd95V#O?E@b(6V0?$ovA8LH3qfz&yoG?zDEf=A5W_uOk@kdo6o?E=~gLnt6eFXvIFI={u|x)F)3fSuno zOU3P1RPtVad<+S~vCrEV_y7M02QB}^xpQfnhG4gpI&32NkY5h@CP_CFsb4<$*5d33 zy1GimPbBW9zZ@eDfwxZ->_IZ%EAL9$L34TGBfr;queddb%d%+Pe>o_lB3$;eyI|%P z6%IRw0EHfr8XpUxp|3gsv!d?gG7`Bs!5?1`eBih_uwt=?Y^$7g-< zxd}i)R98e|R=%jHs90xRROeJ$<(h{7DC9RON2w#hP$YMUq%e?(xM325i)`qNzdu|> ztyzjnhB(eDhbz09-fD+eRINAFP~S#tQWj~sfMyJ z72OdB$L1}l_NlDkksTMtF|X$kimfKH$=HoY3w>wFE&=0j>X6p_`1w-~5Bw4|h{$&F z$2eveNS~sA_17;igpHAqGN~09VKnNXzHD=J_ zS)qY$dGVqVnAgdID}w4jkV`{is7Q;5s}xEC!+@R!Vf(=8({f0n>g~UA5SGG!;UT{O z-%}6j4a0JI{^HS-2+UJ%oeBf0mns&&A4C{oAxIif{;_i@iO11rL#2cU4g}HY?Mrp4 zVLTSxxIA`#d(#)S7>;>Hm^*d&H^{D%hN-er!~Jak>A7DDYr2n$m#6CpP8JoYb|Z}e zO+Ddp>YV8jP} zz^Hz0N3l*b){izm+La|&p&#C)V{wly2p=i$a{$Sa#H7}5YvGj*eIl>`GkYrn<2V&* z0+8vYh*FSCD4n2tjuYskvdB(2QR<5JRbljn!tugK^wxl^1$}%xs$b1;-Qk*&tLD&E z$vVi!$Ll%zN8n@4XHQtCGHcwC>`R^!$eLF}^GrgKEhU2$`hRUru@=@^)P2RYV?|1WpuykD;G#mJJ3bY0C^b? zg9HpfB3U;qu8gjKS2dIsmgk9CCV5OX&5))2AcA&ygZ@Y z&BEH=9uo+2C>?F#LEH;8}_Z$LFpSqW)vL{)$Q3a9ec%eP;T!`-_aCgm06j0McvrtrsnDzz9f$C= z*Xlzszz%#IJ7FC%x`X2&q~T)dSU$)tzm+*HURa*+cz9RkW+Y0V7Fk#-ffw9qV=6$I%(goay?#x<)#+U`JSX*X zNk#?U{`fFr*ukyC-}ULaPP{-7(!PE+-_q2g}9G z&C3spQg0>4rTrJDeH#d4`9=&)H?hLtRYG&(`Dwy50bSS2yhu&Vj6g8J-H^};!lo4m zMH0Rgf`dV)+fVlF31sRHs{$+l_(WB|^De`2^1J!f@7GKP%PUI+NTmM8yy5%3&I>iuH~85vO=WXrKS3^zb%z%IA(Q8PAAtY-Goal zvTZ8}m3{xEXzKC6aw-8S5rIfhyOos{v~6{S)JJU0Szl;ZHDYewBb?zac9;upPC$9U1xn=PMz9_@^EeUFt#Y9gs5Hm#}4Y_;eh0NNnIY; z1`A&0XhF`a&nTCm1SVp9Fz=hp+sR>sUq8}+3hZ9I`+4WOg1eyY|mda!+7!=~%0>=0it6dxyML zDQb*3NTocP+`QiXhzZTv!ixZZWXz6w51?ugoQZ})j>;R$1PJYJm<6~p`9aI)HSyb^ z8zISCqy~`zgCs~ow?hEJ|7AP)C6{A^5D9u8xbTw|LqGW^AX8|Nc)YxKzB8`fKn%8-Y+5K=%$c z$wB~97%;9ZjTjT#7PNjPs!5@2hjuAa9ET4F+PDv|QohbXDhgx1XU&!0Mn8#jJbU&4M-rnUHJZJz#)oOz#hL4kzH1SgaJk$u zl=zg%rR{HAyPpM>?ej640N5XFC~*7S@pzuLQSKnvqFx;zvGFR4EO`-9Ei)*RdW?1* zI2Nm0+txB(?Vt0^qb|)>q#f>=Z}P4_b+TFO%_AV@R3h!Bt6{AIBWTO9-#L{oaX2*( zwIuZGVVX(TCeg4^eFkiGLa5ku)px?YfCasVEG^5AA;A8CR!~z$c8YUUqhNo-daNR_3;0 z;nYy{9--5V*U$)sAqO+7q=buX=OQtr`)*2zAg&PlL#YcFZ`gfbCXglR0x$%oEUgas zv*Djiwt{cnt&zqzu=(l+3lb+dv#gm&c%5d=&jJ*MaU(SaHuIx@Q#LMs;CMcm9uKcwzG$CGdj$jzPD9HB<`Jl8i7&tP3gci02h=cF z)>^B-e#G3m*k$824|@N?x{EJ*Jyt(w6m20b3aLoBf#%-^S$I{N$IQRUb2|R6G`6vh zyjX3^6dT`r;`=V-(sT5(U_Z-c?arS@^^&ge(_>uQjS zv|xWy?^!7`k1y9jF85wKIgUt-viWQBXDQHe5Q#nP4n*CA8ep^Qrnx@6!|hYSEO<0i z%3jdEH&X^vSxL7+=Q?p=@a^SQ)-X*KD+{}Yv~Jy0v39gZ@vbu9+J%&)fnAo*#o_k= zF+r@ee2S2fh(H338!%e^HT;Nml%6TtI^5`-nWVQG2f6laBDdpS0 zOm&S(=kG2{F$D6tGiYcs3zz6CMH(waT8 zjC?+AJV&OD$~ohXdK1O21sC5B<~e=T+yBFoz@Ukk`Awd0auD`s1IUnZltBbiqoVUX zswYZ!4-1?z6DBt$x8-1fMkNKRN1?VIg|=Z!dKe68C%Ox+VqD}tZXO7Ob>oB_=2#&- zk0e<8pQ~xAtlzhK$1Z2*%_IOC@#)rhu!$)Gb=6Bv5Zi)APAlI&=r1F&oDYhKjY9s6 z9PQ@5U+z+p5d&ojj`zg(omir=H1KzMeGQ^rD-Y%wkuY=O#{(u!O(`r{{$ATsNHzx{ z4DzsnK_KvZf$zhwzc-floH_(d^In_Hf91gWq?neig5uXdV)8SLL^Y%9&nfz2_%Pd; zJUt#iVujy(b80<+fc7fZjCSYHbTUmOKY6I+O-VkWVE9(%@Nrei$!OOm&XgoZ8Mijs z|3wNYCi6i;`)!ys{dU(MUC$yxdR~+VRD8mrVA_q6^KVWB|}bPl6C zAOz&z=#%dHC1hNOV^wf+R0Q=6yhFuq!Q0#I!a|^0Qdp-`7CPQQTDZzGCQZ)Fn}VU2 zxA1!}Qz@RO-IP4gZ>O~fb>J-p=A*h~8&}m7I`NdG_2>sl2U*Iu->BJ2*No}~I&0(p zAQm?snV6G4Z|A~M$Jew;sI}Q+pQh*H3R!wra_Ti%-=`H!pVG06Qb027z|>#BbU>j% zSUo>~?maYsj4Ui(>i%$FjCU8TCoR{9$7dhYiBJXsT*sY+7Ql@DzrazvDnHcNiZ1^C z_QBIkM~9YFie@1{7O zO3gz%UE-rPxPcWFvFCcfUC8<& zEN><8I4*KC1yHE>jz@g$P`fcUix{mDs;>gqC+UY?NENC(AEwAVBlvbAx#HmsI%yrb zXCNMmM87gx`n)q_Z`*|0Vqja8t|oaDr=iZEPFVPoM7e8#;Gck%aXmDU(bKb49&oB6 z$_ z`qnl!8gn;r&b`|HlZ8M=wDk0uK>XKVn5IH}{4}=I4B{+v^JcGli2p1uE-oc4-H3f7 zEEHZjYg!Tz3MI?ngNONFr{Ck9u>_e$1Qm$9C(gUdslT;<7k4hq0yiA(2AWPynO|6_ zUx$UHH_pJai6HODw-1lo%zk|fb+oijeRFQE^b%OLe+-Z+)U(jxzi=DR;;DQhJns7M z9+q!3KQgIvtL7ovB!{)D8lT7CK;B)LM@g&1BQ~%A+HpBLUj1f2(E;duE~|d&o&{-O zfLX+I(A)E`lIXl6cb6Sw!F~|YuzXx)j?Q>-k$C3BGYXcbwIzARqeXTIS~20IP2rbk z)*|U=N`nTCopFrvAd`2cWJM37kY)DvyjxK?8F=BSG{vFp8BShQ|4_HKZ>WLko4Kcy zl;nFbz2NxiFW#%>Y}UJ?Fr5vIeT{(nNsx2=oHUy$(k7yhRLw`P-pe?hy3?~;Js~`_ zs8ThoHkTdCHumq|@9}HgfT-QkEXOvl;I-+V^22o_wgqHuHvonV$Ko(<;ucrxHh(?k zmz|w03jYzV7&aF`aD=mw8fuUCRVrSeu`8kuf@H$XkbOlJNOkB$#5po9bB&9r0scXy zv15niiPY~Hcr>l7LS9YU*>t;oWqz1f!Jg&+#?z8E;?}KOWMSJN z;$QFO@@ZXs+RCC>$cuHGvwNXNEi1W*sA{RL6#(|ok)k3a1T5jyU(|u($bdxl2o`FJ z8=4o@p|di5IcUp(*qE^cyB1EcB9j~fk#HkXV-V5`F%b+%t$K{7-A^Yo3PADQQU&97 z`rw~Z1du7U5M3qVb`WC%@f;kzw&iw*iB{N~Bf#d0l!dxJI``IB@}d&@JRP*j2l#Xh znn|BXLZ;*eZaCh2n&(H$BlDxrpYYRAkP(I%GB?n1AmS|#ZJMr-z_N<*-&>KaiwWcD zMB4D%6g$q3WINMdJ+J&uKR~ggbL6&QKgHbquoD!Z;FETfwH$b=Nd{~kaOAgBgwFt> zgw*^HgeU+>j0C^7e(i~KBJfm(s-F2g2#Yvn@WfLs=^00-A42IorR%Y#S)hChatH#z zk&V1~S1yNyP*X6Lo+dH#rW&fYbOaR*wIAMs)XI zqvuX7B8PonSpgTPbEi0(3nmbq4UA*9j}c&T|DBr2W6dYJ$DI}3dYLk3tsm%h?^NzA za9ezAFm@^T`kjAZLAy`fT`dyn`E&LmG!)2&ql@!(Fl&2LCVK6q{g^y;v=W)$MRYK= zgz`FA5DS~(Q2QVDsbJQ2qo@E}*MKrMu7}KMkz;;`vmFYq$y2#I*cXWSu^yQ-S)v1M z<01*+6iwZ5!6{Eh{Y1~6a-sewr318m^6C#1a}MgC;Th7~w`W-Xl7Oaa%<+6}4us&1 zE80W3fT;M@2wG^s6YqCn1-d&*ovWy;e9~d#aXtZADXFNF4t91!f0t|jUL`W!FI{($ zuG~OKKU65a6t!crR^xaBR}o(iF|Z*khF}3x<4R&CZr{qg!0 z{$=?PVgVTfRE6xayGwkJ?X`ZDrvB8?`5>}t`)))c8<(dmWL9T6TUr7R0oN>a$^0OO z^o4~5lA>#1Y|IFp{lSAxq$41Jz?wB{$iiL>_&%y3Af!cPWLQCA>*(vVq0vKZLe1Y5 zKhl!pEy>tE2h@OpQf`!#-#FJM`#ATtpYpbCVydcqR#sLx`;bYV)(M>z2Fcc8lC(=` zJFIv-mhei;fu0PHIeRcR5bCU?H4t#qXcxtSdH2``1rj#)q{m*_0V=-h=CUI3;-UK< zOxP+RI|>?jhY+oPpBZ}sG8YXQJJ10;gv=DyDP>fihW|VTKlnw5>y$KwsaFAPBUlOk zDb6F4Gz1SEl%?7T$c*19YV20LOdRLw=s4kLqkrC0`l_~o>#Ys~5a!>tdwKUTl)6tdKBnKrf062o%x~4HwhrMD9=wHJGHyn8oYwcQ^@r7ch(=}4my#|k4py6K>6A__;UQ!lYlm4xQgp^`O zcz8HF>N6Ss!Cq9DJ#PKh($&#3ZOz}zA;tciOpkVSqU*G54~0(BaR}hLl6Wr|W>`dVs+V%# zyKHWX(SrapP`lZd1v3gI#>?meElggDSX}kV|I_(dDt{uxh7`thSo)ik#CK6Yl7s?i zYoQXOV+P4?QVLaD4RG#^s_vGV-$@&rO(BbAX0Ncn6#D8Aturm|H;@x{4o=BOTXDyq z2VDN7vgpalk+O;iDzWJOI@yQ{>F=X%8?vDs&uV=hGtJ=S$7vGO3@;j42RdT5%$Z^I zu*hRbo9s=UhdYz3xxjjJCenwIy#^%O+^xCaMH$PaZcGq{4x#}8MSj+mx$@e|DfPcg zKRJ+Ph1PcvvDsHY_)q?|LBm!^_Nw58Qo#;OHGz9?opcdnLl{j*bNOZHmzaTF5=k~# z6{^A9<49yzo8;1V5PC<_!h}xyM0vE--aMY~X)jo^S(Mk+Q$>Bh;ajSlV9#L}OEyXZ zKcmr>lV`auu(uH(Lx4bfao*Hj)y`flBamPlJuF;fcmqx(EVBA%-;@n4qVXsTG#|{p zl7900>JQI_9Wr(|id2^H782{`)vw8Vsvq;!)Ivvj0u(%e@zYxzjGC+w`6{DBz%Rpq zCHAp%#nIn<1mz?KdzN*|*&Hrj8(ysv%9D2g7{9~Xh-sU&a;R>Bg}SBHPQ-9`mm&0$ zZhsqoSN8t7H4pD(uy<^-eSGNOmcZSMB2Y`KW-{8Eo10&CfA9L=O33Xfm5GX{)(}N7 zp>Bu=79r|u$^Ir(Z}oh;wJDXzl|K!TfV5Y{4Tz;v8u9;#o&In6+=rKAJK3{B)W<;9NSGF4)!9h$JTZm-7;RG*>?cd6z?MB%V+l%2 zTOSh>GmV!=^Wj@-D8(R%A}e6fYX@@vJv?5L?oqh?7ZYc6CFgz513HrHC3i^fe&guq zwb2P~zniZ7>Z{l*zJ5EM-(0puzsLV^kAt(t#5?*mbw%+v`LFl;P}~l1U~WygvYFv{ z|Nj(ER00p>MBu|IZr`jDHN;%jNB)l@>1SGa3IK-dO|Me47^CpfGqIl`F zcwD%!df0dB*3H_FVg9ZblKO^c&M1((fZU&996IBL5=3rLg!FZn-eNie?#_K5xIrw? zFuW3-F-cT<{8n>bLrGZ~`Vww3v=CyFxWXX>e+CYJ23h{CY@8njR6HmVYqvZD{TfbO zv}9yN+QD^kc!pY{LhUC&o1tJ^Nmlz|NBr14-%`L`?v&Gb`Ofp^y*PqaoP}+m%{a@4v$~dul zwO;lR%KC>{hM8F~p_o7e5nCTj`hou#14_$8_%|M>>$@Wl&{7%`G4cK4krOIhR}XrdcGn^1V|mT5cl zi?S?tEly3n{?Yj^FmqYMVjyOZ#HNgsWn9P^5Q9g|5hVUVyo_*Uk*Tz264?e4mGkQs z_uwrp;rM`1OUeUE>F1s!(U|UfH*p@r2`~L1&*X z-3p*Bp;2F3UpLcIhaBl|a$ckD5$S|+si?ue41D7{1Z4Vu*wHdrH3_qw0grGA3KpXF zaPP{$G2oO!i3Z+G@u)e^Fc|+4?FB#H zg&n8Ycgi)+jtQ$d5wikBc0U~^#98Bs3*!P7U867ENZjYhz(_w?>wn^}R9woKG>KVp zkdFSk8&Dw z*d?;Z;ye=eJ2x2dc+*DO89+g%_Shy-LCwO5TJyxKb={MUfHaTFG8yO!&Qz2!uBt3s!>z>& zPm$S&Ro#=s1?^W@f5lm3FOUYcGuvn193?B+2nm5mGqS1-n>WdtEOZ(K8pOpK!v2ii zuC8Nk*Z3TTGZpmlpd=f{IdkL6C%D&v{YHXIz^2~bZWAsA!_O~6P+nAL)@U)vWw_$G z$6E;O8&D3!Lb!?(v)BKAX~%m-@++BP_+!jZVwnodrS4v~KCiVnjL%En0dUvw-4L}n zr#BQ5Ot5=_g|O9N)uO#*p0Eqzd_S){V8_mT9reiDJX9rvbo^jK{1ZO}RTM^7BG7Aa zLvAYgQ9Nl_JirCvHO^~TVm0AM+V?e>RMdmnJ>_Y+_2Q1)HdxbR)F$a`! z$>lwS`woWN5laNI;la^n$DW1G5mQa^vt3B7#Z~Mghj;4OA3L);!R_K2^90*A6gMf%;lxizSN!KwwlFowzdqwjKHh)_^m7Bo7zj2s~h907MrG<2Iq0oZmOi z;y-#8KMYq30(Av7%IT6F^Jg#o_$W@Th|nG2UnDn<(!OolI)#eQyxeeDibLYX^A1%lN8M&A#-k28f*+nY=rUSFsV#A{>RFT>yVuS)A+957{lv{_ zvy|ih{r;B(cC3D-s><}s-t6MXg0%(Op0cmbw=<3Y^#7Rld!0l|EQ@@M3ElT9HAN#s zg;`4JYL;JKZF^VSd5PbrQ0`w0U}RF;c}ehsmh09x&&$N+1NUy!H2oqePFHGB(JT>d zyo1iUa})mQqh)P7*K3pf+r$;(7^}yau021IHT=Vsjq|ldu2RrlM@wb7U8)7!)vmsO z5kVc*ax-9H%YpIqcX1;X+k4+j?b{$M|0izeJ>hlO>4q;hH$p@rW65&o7V`>r$~4ZF zwz302y-4olPvam*cq~<JUr@jQU#suEc@Ecf+4A1?b4>!DX(?G(#Vegsb z+7~SNNb?tzrt=@#Je=ZMx35WU>jB=w87FG|Y3O~c>~`PmRhALkK{>A@E*!ny>(%+` zsnxMA^=qI1n!NnHk9~U4!0DSM?bE&X+(8$aa#@497=Gzdt=XrYx7MrXS3Ny%ckY#@ zbs>H(F{QEBY>niO(Y#E0RBGX~3Yha=V5NGR;0D*OPH!I^VC@cJ>5?L!bxaQ*LU z&36Ta_ea0jWK@{FT3L9ry<7qDRyxTqCQK{fuj5Qvsr*>~z!o4+*9E!cAj_;t*AZ7UOS!jgi z$)E>vqP07@e@R&Ii)lFu{8EeF^@~56;rSaD>LeNJu1C0_Q5)58HF;ZewXGMpVupX% zF2-brg!{Rk5fR%SI=J=ThI+d?r)ZEDLa+4W)D+pY^a@7D<_TDt5!)G zN(3is->}J>>_?>PUX%wyqa9=l!_5QQ$VY^rNws&^ay74c&NA-dznirS- zT_(KiHI$kB_OFRz`uuVAi`<;WJ3lKu@5G(0N!#go<7#yQZ&=$|;Z6m*M;rMvij^HJ z)KU=)*k_X9U(<11?e}Z!LGDaz-=(W?NPa{7p?bySkj57qjh|ETo{7G~_gYWIN>gU{ zlVb`_mp9H&D(Ur7?fuzrY;fIwZ+4KHX0~s-XkskqmxHVU1|N4A^ct>Cd#sr)QTO8X zkA$Qlq1%mhg`5HEU&GaE9~`oe4;ww2n?CnqNpE~br+ zgj>I+?cSZedN117a>%~>Y+`L^nZ&2|?flqVwkO-J{P5k^M74Khca1Eo5vAYP!gxGM zbEQ!AfqU@(eW-6FCkqhiHQ7vU1+e#}yFVw4r}NmF76vW}H}kQJi_5k1(priDZ3TXL z*cx}L8n*anhwlH7Zn*ut@RsZx;RDIvg6?i-u?!N|Gk#)a$fhlEwEUdIODa|>4Rcj~ zJdt%ayjNZwS2*f*$nt$G%Lo210*3GVLQ+~zW`C@0=VZRs*Oypy)i2yJPa;5v1%E%Q zR`jwF@7L=f2**XIrrRX>DyCw)Bz(ZUp6!Oz~O+Nc_mrqc%bZO7zK1@k-CxPkB+FHuC*> zs^1CuSDV-1$I5?sTz{B3V%s$wg*g6-;;fITR9xf7ks#W|9MBu8SMxH!D2=J;lW>@= zV{Xo~Mz4ei_2RWt`M17p^T=X6u{c-+S}4{nt@!Q`v0awbs(N+>~v}kyDjj zjnXhpyW1|Dq2_vsDf?bm&Hl<}39Bs|<4d=9%yuf_02agFdY5@@>zA&?UNOE9>L2gu zs#eQa`BtC=napY@y^l7g{+I14Z3AIEs_&F8HRtjULmZs*QaKnhJ zuglKS$HhTHi85@h+cI!_JA_{8Q7;_x#yuBHIwqxbwl3Q0irCXt{e?G^w7bff-Fx}uDCTnS8d<9WPySlpc|{D|Iq7tM&r0nr*btf~ELCs%T~ z?`=P4qdR=7)TJhjW$^c*^)69OO3G*nJ|&+JYY05_DE&=z*cVwe31Wl46%H|pYMs-i zL~Elnm`t_rFOfP~tM%>((j+AZ3nE%rS5jYJkU$ytp%XO?o%Ad#YkRV5-tkcQ@li7a z%GNmT`;}swigaHIU%x47hocN9+pAFJ6I2;`$-;~=xLW_dnEpEzxQvTWi{ahdns36q zCnS#hy;^nZY%$);-sjuz3&mEC_kGs3UzN0@r_Oh7O1udLKNy!NZ!NP1XKrY=qgH<* zXKJ04%Ts-m)A_EljhctH?UsLN+rEqkrZ~>d^nP}n<0kr3=HwLb&&E5H$U&vUJMBvA zHMO+(e9P#A$0&j;@(Su9U6&2|%|r1nmb|<&{o>dB!}HuytQ=o1Zpsc57(706%74@C zuVOFQX#97IDN^JA*qw_Byg;`-urqXoPUuPBl{E@DO)Y0aI=?f@DP1Y6jMCV(z20`~ zn})~v`o}7@bvT=}x_IMuhv}SPpJ}*}rum9rBZ8_nO+0z}S!7X{Ua0xtK5pOZ?ng6< zx_b7%6m)s<>&Xur++53bKE)Fo8tyr?&WxLQJ{gG?#iLl5Ca0lsy|dF`ZWa{I_wOQ1 zj2BLARZ$7WqR%zW0%us(aB> z(RbllCjCj=!P!Y1$I*cs@+h3AwHV_{Tc72|w*Ndq2{0V78yykt&$hc#w8v_)*`_9y z?Ror~{aV6*DgOR@nY1^5aJsy!qWTAxuR^k$-;qtn#G19M#-ByjgW zNsqI3+`)4nNaP1WSQT>JSlj48ZYXaqRd<31{BMmZ3SIFcXHmh+_KSriu1_K3CgyKuTNvQ!SaxbEp#yZWZ;b&E&uPO4;iBwh5E$bM|QajoJZJzc8vmnFnK4_|no zJj+T6IGP}IdgoXWX|tmYwNrix#|81vG;KaO??4|Q%tvMnUTM=3M#97_E}+XBxD?F6 zJ|B~wl||GjD#OTEz@}dUmm%t>o++E z^IXZDXSidn+>;RSV|JaTpy#e_S$EPKI4NceZaSsEmi12GmtJyIKfztMwk<%1GJeax zAlQ&+$@zIhno;)6<>>4HuNr-~lR)th$&mDL1dBx7v<&OrBC&9GW@P_Rrp|T|Nj=ZE} z;f~8!CQXJ9N>Xi&3CtH%xqAKh{jNkP$L_H^#_x3Ys(oW>Gp@Sft@cWB%c9`R-{hPg zj3BAcTHuq=H4D)$ECKnz4SnC%yrxIi>HceFa93x-| zthOU=-?!kXO23?47O%U5Iw~(ml#Matdg;0i&7&eCaYhw)6I(rW%yceYF+8`)ZY02P zd~}P#f$S)?`*(xFhZ^6$3UoV^sa$e5O)*4wCrvF8gx zHO)xbxRS+PiSok8wIKFM>HJ|s+nr}MFdI~uD&=0Ww&bOZ$SAx~)^g(dBSh)Cy`hQj z{E-fU*n$Cy-#)qGi%NSV+iaX}w~LhD$&tEs?Be0COo3cmUNB_cW1t+~k@eo-sPpvU znpA-Vh7ai{vRQ`AL}N#|_!6mC__SZV+F?UgyT1LM&;7UbrBdglit(O*Y?{5Z5SHs z6S>7KXEkBH=F+CZ)+ei@OjldR8Wp&z-E%q;AoesoU0sNNmkb8RYXt{Fn$$7bbl&KF zd+vv8VQguApR{1JWzLmTDy(%bGkm|A#0FgA7j{ffak)|6ebyei{jx>=bHf|4Qn{$4 z!HSK1y~^nWa{c_8n+NbYlv6lOY$^k2G&y>nu;;i2_H9;EJrZE_@NJ!+PU6uR_LA=u z;igTI_^D5A=;TKp&`^Jm*3xwyHZHxUM`{6wVQUNT-B&cFhjhgDx<4Lj2lE>9<(R3*3{&DXpMV+En zmLaGIXHc!=oVR!Ga(zHwXbDr0syNgA%^UbJ0*CD1MdK{S&zo9Zdtu$4`;|1;RV#Dp z9IdOETUWL#v;D9>+`dg?(d*zXk#fh3|8B?p8tts4ezC74${VYQ`On-|Ns)bL+VNiH zTg9-)^Nsf=JLL$D!g#CCG-=}r#eKD&x~bu(_Q#~#(ooO-dVGz)=Rmj}?e4Lt+Z#py z2#WA*bTog&gW194IaM^v{xiF3xC2K1-u=wB+oz-FOEOAvZco@IZCbY*BY$$<)B_>bCs%1!E5!t+o!#%g*Sto|TK&jo+tHEYU$p*0EnB1W9~a*j z!Z>+z>}M*QQ#j*(t;1!iYE#EQ25@MRIzftL|&NrDC#% zVQOYF8J}nFJ>L7Lc#2$mT4U7}?R^j3>n6?ob?&!vtWsa*e;#{^Nrij~n5%#zo`JD( z-O-~*4a!l%4-L-xCJnhLHcs7FcP8362*5PdLNKCIR--&Fw7uXsa=!Fa;=peCh+J!V zk4MWfqJ9Z`@$0fpsXamR4>`t`x}X+U|V4{pxf3 zeuJE2Pm^P~44%AxZ*Y76!XH+7KL4ED>!l35ETxX8*Vf%RVACw(`Am7z_5}Zuz=Nj! z4@CIyr_+8odt`$bTjfwo;qy%0FYmopqvMqRxE1pN4u1zT3Ho*EuP4O%1adTAm7OwC zrxk2_TAFvR`z--iK7D+gAE~i^sk#k+lq;ULMA>^;w{Qy;(3axLPfT~;aPwf6;62YV zy@>DMfRCjUgmV(lKE^ovv22HHm+a?NKZQwA{rd{svR;~p8GcWV_wc40l;3~wprNOS z7j^|}q0O?N9}|@2r0}^z^m{^-oPvV-eh26rp589`yoYIEPy{rnXlQuN;W@Np=doOWfvbl>r1mg9`}*k^98GAqg3 zNB4gejtN=6<%3Q5DsNk3x&Po+{9KHaykB(o)4kT~+x>M_#I?lC2_;@9fL#HuJxn)c z4`%1gU?Rci#5j5Fc8pjopO-)?h5F7|fTYB@(CZaj7uAl}f*Ef_bev1!KOkT8o`XnO zYd%}MXz?EIY!x6Vr=eCvJAP@|dkLbFCTz{P`2N!0WtFLt*VEX=p!m6nwv%-I1L^nk z;x5jlTVLIB>#dP#T>HZF-%N&ksUH>lHK4Eo-p!4&?F=|Lo0#}5=7oU6o$n<_@;=w> zj4`nWyOTd|mc~))mzdstBCRyWp z`FDBxLjSu7YGLk=xPVCsblj!A%6WPVT6tWT{r5;^wusAL-qI6xZs?d$oy%7`?phrw zska;#9>4e&&>~)S((C)%)Hu9I*=iZxz7;SDm1^xE$I3a2@85H3{GAFx3Gk;4|QwUbHfQWHgsFc+?OPTg>lVO22_b6}b{z+c`{q69#a_`L#dDFmf0(ZI0t zlqf#nu}^G{QCeAnEB|&kg(%=0J4KT{8kl~{N06Hq8e*JB+qJ5)cn^&2eTP@=*w;`s;skTY%B9+DeBh;Ei|1aa2>(5d9xqZ0nk*=Z>K&>h zkrgN8mk#WqNzQwFIR5}=rPVs0hM^)+bmAXt)RblIo`@#N91__n54eu{7_5OUWQTcpEGHSy8+|| zCV6rB>pQ$QUV60X*}Q6gS=#fpX~`;?IH2%T4E0zM9pk2Nen#s`r!P_+W!k4 zhT*cWA#EfH3#_l#x)vE}?d!`AQ-O56j9JK|b~Wb{&7GH@TD_ZJw{~s$fyR2PtAg|o z--Z*NXlJJGV}I_GYoa)wK^F2PZI7t1hlkY<9?ROSoZ_Vegbk?9e-K=+7rYpz6#gW1+SpICSGo417T z@;BR52*BOsHoY+S6c8D)wK-A)?T76C0=IDA zVJdFXbyC0!81AIGj}}mPY;LvoeSN;x+#nQ-ui*Q&0xP8 zJHqZcfGNz7c?$^>vM_zrG-DcLpLYt}8|+BX8%plU6r-%T>SaJP*KE@>H)Ciza)tr# zuciG(oVa*D6>c^iHo2|mtDnaNsBY3P<~66|+goP`#>6KKxzO?G>7A`VaYWkLZcu|7 zMX9)qh4LaG>Y7lPtuQ8lj3x_V=PY20x6b~3(q-r=i&|!z${O2fY5pia$)W2aQ(UQ> zf{s$h*X^YTrH-w(&2HVS;d9kiI4H=S8$TUwU&8gczJuc@2=b-Ow&HK_kb3LwRhfFh zhhtdK#-JvEl;|{;TQ{}u6;q1j;O|Gn)3j94qG&~2p6IwtZ=lgga5{5euVGxkQ{m=5 zpb#3hK=z6!?k;?0+F1Hd;{Vl6dV2b41W`=I*|dg+3@m-#M#ABcM}1+(da^4qqo80l zR`8s|o;JDd+gXrO3>gE*>h04MB437Ua1egxW_SOex2xrasi*>J*84piPZvGJdSOJ& zU0|lo{yP+aZRE_gXW>LZ)(nOQf}4b2#}Tu z&g5MvGJ9f0m?89S{e@@BuGr8kDm$@?%u;hml{me+DYiW}mF3sy&$nAk1N+R|8FXq6 z7rprYijxPAX^zW-tCCy8(=}4X_f1PgU$Ca-^ZG%j@jXxTdy>~F`Qj^OGYd|(uT(i? zO0FMi?f4{XIi>xiIN;eH+Tbpon9s>?wxc+s`9V9;yDZK_JM{02$07f$ zyk=HLPfzc~|Do%;!?AAP{%!BQQ^?3HTf@5TS@teuWfm!Auk5|DvPZTEm5{w6+C+9F zWM)Kq&#UM6@7vMw98bx(@9#Cv^Rv#@Ss4zl6W|%6CMQIA_am6QMZ=m0Cpel(N<&Vl z2lHMQ7VH`t8fGH7;<15&e=S)OgM!+FV_L5{b_d6fLXHTxk$f9eMIGljZ}VD*lP)JHWw!F?A|z;OZP z+&wi=m7Mt}sSpNsvjUR`Ul1{QJ=cQ5a!D4+3U(6V+dEXVw`7H?K~1SmQ5dUIoVJ6o z?fG(7l}M@dx_pVMI|-LN$G=eCaFMQeGl$E)^q502`pwEU6QaD@@L`rXxhpz&h* zsajN^mn_DYxt(=>z)r)|iP8TD>dsW+RDL8)=nI96xWI%29fo&ha_{OFmAPEf$_dN9aK^rIysq*ydByhr`l;w`(t2OxRaW z1{q?v!f06j;^=QFw68}rIx;{f@+kmrMpTq(n_oFg3J0{{*0O9~t!h)}o-EN#L5 zmIt{+CHNTY0Kyh}wnWlCIE`F%IP{gwtPlMptFTv~6R*Gvu+Qr4@jVY+&|p8!#1n&0 zgxBAdpi`)Nb&m%qr&zd)p(cXj8*bgfc(oshuYq>>)Ap^i=7^LxoBawuN6bs?!%x^{ zI*B}d$>i(z0B<15W({Zo1{ZBidK_iK(a(w__<-zI#RaJg`JB^WNJ&d!6|HS|jiE@w zTxzxSVvow_c&c_uPKSPTB>N(dQ!k&v&sX`A5xn{PBM;tL*g>}m$EcV+B|ks38PozU zwx88U&XvUTCGezDpjsTN@hgT#Mu;tq7_jSvQ5hl-_BGL$TyiBgF77&zac^>Z`}*uB z&RVwIe?|m*$laa8{CdYLwwiLiuU8&_Rx+@tbQX9l^k|7W;~e?3;W*v1Z)Vq9(fw_79zaBHXvKcGjf7NnGR$fo?o=b z8y0pEo{5!SwwjUIiqL;^%s_n&zsRx9NiQl>Dyp4NM2T<1jwsGZU-Uc8#>-if zp(e>YZlOiu!w)ricXRn3mPo-v72aMKFYz6 z6Zvih{U5;f@YX<=tDK>o{C4iY-ei?!CdLBGDFI7VeT5;uABhB~=EA(s&GNulR6A!IN}wlF~U_xGZTL&#{It$O;V6DrAY z$V|2a>k$YFjzZMrV_wui@dL9>&)K|sv3md;h-=py1~<9`*v};@O0&GY{2cO-isDzm z)~e>`Cu0ew=2o9p+(XKuq9S5^T;hl>_>CSc49rV_ISY}sFD{+1iw*}O9NGL~5Z~Tr zjMWjYpm9|@Ok*a(phOH5H$Df!nVpa`iqfz!?T~dC4)ql!G$s>j>4LCBITT;moS*_qZoq z7E6O0DoQs~vVsaY~D`4TFL$}yfY1Hx{vu09qxFHTbu}` zP1h_1=s?;(q?~!FTC$Fl(m<7MhQqvZIKJn+^d@|PtRsCKYP?a3A8)N_LdtJQO{K)1 zd3yUcjkbo(55j@Z)|!nOAD4g8nvIfwC-(u}L;v~g%z;v(#MCq5g9N-^l4QRUP^D9L zrZR}Xje8rtcn}iEmX?$>7`QA8Oeqi}^(&kpa~YKyskjM5?VUG6(t&J5OgWmOMM#2? zO(rV(m8Y>+ce31u@}SO(@2LT4@f&QM?NvCX?}X9-1GekU`M&(H(Uq_E zGZZhcW3wU>gi2n_e5C&n&s``CJF<;@AKJj!E=p;kxnH*N7thQ!LUJY>STG~leE87t zAsDD_>*z=v8XEe2Z4ENBu5J>Kr= zkWKl^Gmc}|lklfO)#9m1Yf(=1WqwwP0$n>9_389@uWuyGiaCqSRd?<;FGPlXw*SEK zN==}pb>)ZY^;;qzZ1DB}%AC3#4T1Y&ex(VX4I8#oF{->E#8*U zns-rd)P9(kmh$?TN0)>o@)=F>tf?_atNz<0du^yhn2#t}FPbYU|5$X{_o$kPgWe`RxeC_%!z65kC1W zeX%gCrpKrt7`i+BtUtuw6Buor;iubzUwF}}J@gy|T!oB3WRADeU%{YhTj)TM#v;S} z*g!`%jO^TVj8rxS8Vo=Q$%X#X)&w_U5@gwW4oqUk1cABt;~tZ+Wo%PZlXuP%TT&d6}2owGXp@_D1u>W^~()9H;8r3c}Q5N~nz7>22KIXBwC zly!A=btF7}2=fspC$FL;!7lK!_B4(3_qVSH>`7mRxpP+E+tC6yec<9uT~i)qDrsz? zmzVL=W?k>W99HLqm`%FaWXC&zX`&+qOKv2-T0a^A<{$AsOO@BTyPya+c$9dNi$`xmMdsF|DTt+Dc?0`StQeXs zwEvl3KbbuRa9BW^yhh4o2@-Qz0;W>)6nMt_{$3q76wbD4`xYEXsqUmyt>j1UEI}*@ zcWAo_g&|(`wU@>ZNAJPRutGSe(L7so3yZyFW`xG!;|6=X9YXf*EJ~0LAt1A^Gu_>v zw5(fHWTw3nCHtaKmm4{E zjfd7av+rVrt~Jx6c28ARbpu2tvrk9ly88QxFG)*pBK^*xT{~2BL_}rJ^FvhPT&*D< ztekYv()&yLd8-973!Z*@Jqmgzbv9C{N2;bD86O_p!MPMz)kFn%F8~XGK7_OuUvNHs zvRbxNR%+nnAqfH z5F%FRM+)7HRvthUoIhE=y2xD%4os-&f?@!8P&-dGy#zzuZQHM`x?IUni-NG{l%Dmr zJa6B(x)lj#=kcfAtf^Z9Yys22dBRaX)J}&nxP+ucwkc{MPaAW1WD_6b=Y$@yM~>zn zT)uWa>V(!n=&ihb-?yfxS+cg)SdL@}j*@@daX%$xyu}PHs*&y0G-~euo*D9Xu>~G^ zV07Ii^FJfDw>9AB=B5YY9g$t~%7t0{BLFILKL?<<7&D_L|C|`Jw2K!k`BJjPrfMZn8rItE7#IFIoV+RyW7XDOlcHYJJ zMs3+^ddfQizn?(|O2eQ`4!ugD{h9L6HE!CwB zhSXp)ez=*h8@WmXe^;?U)8p;%Z9$BIq{rgjNj?(N#`%qjB%e@o)_&^bT&t9G6ayaK zt5aL0(eSRrt3s?LroJ$@iR&(&4pz?`-|aDBfbZ|m<_*#QaQL&%{)MZ!hhA_YU184w zh*-c-Dwb#w#w}LR*vJ6m=Fg&7a1A~b65)P;^0{^&B6tad0Vn2HLE9{- zoMvV?U=pkQ2R*e}NUq`ss~#>){fUi@^*&WpsrCC*+wE_IWfRcsTYqi7%g4{(fx>>` z<0+9MqhjL6olEdfQGW5NBzz|&Dp`6pHg9gs3_QG!jSZ2Xt$UV^626}p`JenngO2CH z{m^^9ZIj}E`B%X(xFpTQGD`l>vX1E9#|K@rPquo{+)cEGa=jN>{Pt%f(0Et~rNP16 zhd|OzxQpju;<>7R@^8|46AG9QBZhIh39L);l~x>ja#Jom zX|Pj`!r38FbM)f!edzABL^%xPG&%FvQhR-5`cK}TOg)*hFf+n1d?Scm{#A38#2Ief zLXb%}jbN5uWBvDK%n&t^t``b*xAD;>XpXDtB$@zGXq4n52?Lexs`-FtkU5XzIY$}I zd1YWc#UI`QQRudUUF_|1OP;ru@TMLl_0!A6L9xyShy0HWw4bY~oe864%98;P;1oJ2 zCdm~#ji++lHfrif=@fYBF;|zswljy)2Wa3PRw>GzkYHp}&Q&&$8NKLq6FM}m8ppt9 zEBwZ#3={7S&wsrr(YgO0i1hVyLl>nCn@;x%L_MMSZui$`pFR2f`|!{M-qv}5AY&@{ zF3d%8ZGgDR*3a)Gx)Hrxw7a^x9Blqk?qPrIS)E9u`LPp=6-Q77z z(Y;{{Etc=S%|Vbk$mm@$z|CBE`--`@Vszh}4d$h|zZJEs7gAC(0VwvArQu~DV*X>bou|M__@ zDLFX=K1zXxzrxL%l$iL>;Bx^&<;QoC{rJtL6`>X|lC3r((F+PYx^iimo1UJ22E;EN zU|}6J7xMZ!8Kukjpu4;KS{q@oFeOT~gdh6t_;^&c#WS(nvyi^i0~6cOUjWFfSL%>S zR{tsLajp+3 z+qu+gMSv%}fT><%V7!&VkgNP0g9Rj$hM*pawsPRsdh!Vakd5(sU`n711(`)0C{dBw z#4BXsc}rvyGazJu9>ZA^(e#3v@s??$kK7UiQ7cM+5?)!5O zzEFQR_4}d;Jozw-jwK(3h!gvX6hJ8)Fq(Opp#D29SyI>V<1c*)MOlzI ziD;(^$bdw*_coKMLy@PU3Id5HptkBl>4n#qJprj>P#7(tl3EpW;zh6*M`2SFBg(XZ zwETaVUuaBJXWo)&;Vvw2&z$@)m%uo$I-t90DC);2^{)@s zroL|kcSPO35~l$mRJzVTG1SXN3d&^Ds)&i0D9wo)c_c}>5Mu=BbYl+Rdoh5BGMj^Y z+i&SOleVP=_f6?aQorqF<;0Ejxx%x*bd@D;pmt^nWFwaPRTb{1OQJw;o229y6J>sg zH_SVn4rZNC^|<{L_BL~$EN;A7n(MxQm!<oC^5Fp_2Nl213^kvZDApYh89)vgTgI$FLqSsbeT~TAE0X-j3jjz9G?;mCZ!mjlQlt-C3Jb9K1gSeNx+ShOJpMAi1 zFIZ?cB!SW>q@OFtlIog{4t@s)t4fX|E_Z78K1gfeV6(GRf5p|kJKM((r@@91evgU% zaMAl^3gx&VlFO?%vwb11s0}zi+rIcyC{JW@vaO_q0OgH<*nRHr zZI)O5fJDl5EC{mlh`xUHJ@27uJwihnK|>mbs4Vz0k@4YQ!(tsX9zC*)FQ|hY_ubap zw-G5wg!JP=i5_|SHEY`+`$-dk^cI?O?;ez8urh3UHv;V5eCdLBLX`2uQcU+ZY10+_ z>QBwFC*VCWOXc7fvB}hZC;6`KL-Yr0D_j=>;HS!)2+-mvWX<@cHABJS4e}@AU7q%r zHI!h+^9sPkUeJhttpvUXp6?0#4zPdsCD6J8kcin0l!*xvu$j20jBIA_1QPG_-bSFVfSzein=RQSXJ3fxLTiB$9C1 z;u3L{O=(+qF-4Cl1c08eF+v`_*g04M1KRE15U4dsqJ#kq-qa z;##10L4{~h{3TKX0s`g}Cpvd_c3OI6<>cOQO5IC$M9A>|{)M3Nm4tA3_|(rPZ<9f+ zk9#l64NM~WS)Bf(Q)L7T(0`0qi;}Fex=uc)kw2QH0^V{H-3%b?>=ErdiAq+FDbb3z zKy}7nT+F!0qdx1-EZn+7+xDya*4o=BfP5&)`3_&;lv^*wG{b!vi#f3L(=Jo&Ve~jnVBUJzrn2l`PbL8NX!&Q-@1Xro?cakH43slLO1|7uMG-W`LLBp>C zp8|)xuIwjx4}px)1w+RX?fvAAVl4#BXhkATYhA?AkwKl73a{H^C>$6<{1m8$R80ww z0v5|rpSw8uD7p9&Q^VYwS86Jy_50i#mY4@nd3aq8x?^RN>9D1H#+t8#&Sntz(fQ)y zek3h{I|Pg;IKU$h*}^4ZU%R<9TN`G=vjMyU5OYJh=h=3=Pg_yyGx8;%6b(LBUa{`YEg-x)It1A7Di2ckS8E0+~j6P^1WJq-hCK3I1C4O~KUAdG{p zAQdo^SMSe;VYs*bczk?)an!57zYGP!7*%_9eQaIdzw-tBS+SajEv*V22!O+8RDZ5+ zX12Dr{u?)RXIa1a@#FPRrfmK@deEfKzyZ?N8AfJ%)56Gz0QP-&xO!mmz`*$5K8+k2 zCMKr3oc80;9vg+gK=~>Ey=wsUKJw^gK>_}o6Vu0xH*&qtv~B0C=NA;<*xK5@^m850 zX@lctX7BLr`}cHrBhU~FR7FHegAC)sbF4~Hy(0(z`GL*yF&qxh#>acW+5A&9UMBKs zPCA($0U)VyKSJ_I+HOlqKO_o$T^7YRSETX%@YHG0nr4#c7^fX<3K)^MOy<1`Xk@r0 zxzSA+7h@bBJg#_``)PEw>h`uqHMgI~1n`}(kKu?4S&_&k(oc!=dWF;CB^|pyjJ>4$!Le*1qBv697L$w=Y z^(4jn42|D{hr(V$;LRxIsJl6u8=gNw2M&em*IUgAcCndo`5_^ij6SWPGj#mJ za8+}&`Ft;k%-sez%~kJjX&D(AST8Rr)Mo5X2?uPFVX)V(owD>@lidA{uwKZZp9e33 znx5WUwuH+ts|%)Rph^nO+PvyHED6VS_o;i6!SHVxK;IPKEZlgxTPzqqC^wf)=5X~X zO|7pC+tJQrc>+w8W$UFyQ8djMver=N0|kUlZHl})^qU6mckbRDn4-Jz}?)Ae8`BPiS0|Jv5wCntO|8CkjIKjS4e{7#Y6@BK=FVY z-uim6limwS&u7C~celQg5EJ_)MK+2J>@67}?;Ug)F>c7@!}-8xKV^Q4b795r9UjI^ zFgPprnpxH6M7BY)X`RO5CP5ppi_nYE*x@roa8vLWsh6x{q?cp{C^%`$+NBHr>>E0_Yd>w1U#k_VpeEK+b`2;&-kh~4WD+&H+8N|l%iPo60&L$~{ z`D3&-Yu(O0GVv(iU4^9ztw%}{KWOkjCF5~$ZYq*+Iu|z1Q#;li9F|MLky7`0d z^&t(7pJCZn#^5dw+gnSM>}??Y;nh|2apk2Q(BAy-Vz7k7I{S(Q_4P>-B76gYzxiD^B)zJ z?q8f9&xVklYk#@k76TSs#uMnLaAmhIPMkR(CLd1_x+KL)9!#hk~U_gx-9UX4BwrniI4 zDdnd@?3v(K!cdjEUWNbEhdkuv1RJDwhZq2|T6G*7(-T_JZ!a!5EOQwerqp)$(JHIY z$%9N+G~#IQPMmWE{qZkQN`LB9a)`&67KUh~6M_%|l=i#kzpe3*o=t#EQv5wE6OhUS zL0OtxFoL_zilES3i@h;!0~p|2?OJgIKU9BBQ63uTr=}W`uZSc&wcV!njWeJS8~eoq z2?L;aH+Sj}RdV7UQ1U+YZ=KP-fe?|S)f@6%=U*LMM#sfI=zkxiTl$cI%Lyt(UUXV~ z^jU%i6!J=gI;`7AN2zmte(@NGF>&YKJzEf1 zreE`7i3e;gqwgiGr9^;Mpf5zxYu{H^y3mT!5^kkGmri!&vA9DvO8Z7~wOQzOjlR|Z zqzlFCzXgL@7=%`Az;$Q?-|MBWS z1j@%^o)6fu4Q+qkoW7_0vfGcGt*E*btf`>O85b>&?QY|%UcaIdy=>p{?9%8j zs{gPGFunjlA$0{1wQZRhlWDrwkC{cgcsV!b7h9R3uZ86kFTxy`##V508;YWr39!(_ z?3J4?3vxN{2SPa~%%{f*R@%Q5n(3J0Pay}&7n5|aw0T@8u^V)I_0c?3(zYUcY# zJpc{h>;Sy!;9{d)&+9-_1K$Zm>G1AXty_|m@Di-u0=o^g zBinQN!q}f(9SLzYVZ9Qdq=yp>g!a&2y#9b2^hg&vQ2Xu?KWrPB-6(TIUl-7oNd<^T z`CVoo8o||dV)imDGago^p89j(`mZZIG2wG`BFf>v!3gV!G2P1hS<1cAN&?VVg ztXIunU|4nTrW4URS5ostnLB^OjYat(R2NU1xIkNkbjj?b-+*)089Y?!yXnEypDX=a zD20{_QdU%aXrt6eE(_5H2kI~@k|J3VjF229#0~yBW%l^}T2BG|c~vLzPIh|Ywu)W@ zoBOdWppSydsrj8@q_&?k8tO0m??dx!C;pCu+a*vpB(QdxCIl>54@H?W%%CRWX^*+Y z{iUHQqqt67?T@5>$K=4Zlo1m=B?DROD%F4l7I!UDOdE0O_S>A6bpoL$`7^~vEDA@M z!?@Rb0#u8MK9gfsAS`(ci&YR>5Kej1mGBWN?;DGMT(cQJWv2ZFdo51DujzuClI*zwpf0RsU0N zC!llWYtf3|ced7WF!AG`i~p4D_rLpfYIK;-@hU^IGvQ?ny#^iBYs6RjwAxtCFzKJ> zzu0^ET!YXwjuLhxRdwf8^_Lq-#00oH^+r-3ZL#TuH?GvAk``$xLB zPoSYZ{|$uZfZG>*XTcz>20{)9q@JCr$WQMIT)SqA)V((AxQUfqwKy0hrM9g+Q8=ETH9 zL>@@E))9zwEdNQ|E*x!idBFWLhiDA|t2+t}QO$xxy@%f4;k|!JdfDx)L}O!>X~FSE zZ}gAIfB;Fp!;Lf)4nTVbbcROPR%{s_8IBD<=KJ>SG;PrF-Gs}7`egSN!={D(pC~lp z>JTt9)N5+U*A`=n(^lb{PCS{;BpDYR?X_hw<4=w8&THM0y~Nl^uwi?vs!SE!nCO^x zp6OF~GKgf{VJTEH=!Hwb$yjeSeHZaN~!k|qGx{zDo)5T!T$ zYKFuYv3IY*LIqD@d|Rs@oItSgKHeaV-1$D!Hz=t7UEJo1Ml$`SN%0Z78_v|KiT~Cn zF0S*a9MoH@5eO!RSmM*D%b$UIk7CH-#lQzZk^}?@7$wKAN{7;-Q^)ouovNgI z&s$2v6Wry`^}lk^kiKhzB~0$_#`!@C7qc;3%sWIs55?_;!Rjit+`O(q1%Y~1`?Fl2 zI0S1!aZxbO1wI3c{euOvK*_u6aA`H(2iUj3?+>Bjk6+9KPdI_u=@TJ^2qjSFn(Arc zheL8!qZua)VE7kACmw>TAN$voczpLh*n!_YzfqIM(deqaH)&Lm^hFaxE+lSi7jF9Q zHyPJYl5&z=LS&1HeQoQhu||vYDsXY~W`nYK6MU)rL=RB|5DYdE$&yUv4 z-0UTOaPBfN;0OM2cY}Q+Nltx=;ORF1f%1?*#HEW28cU>PcS3zI?>r64KXX~76IKu2 zNV(+%fVHC3+!Dj-3Vilg zY1%Zh%VlI&O4{5b<$+=b==y~yk(BU!Lr%b1wL1}7!PPaGdJ@dhaBg3^(L$!)i1>am zvO?wJz@Z^HoO%bF?4K(HB2Cc7mT3-wBh`+ZYE4Nmsij$wg`Gs5fL;DE_bZ}yb;2)9 zi61aP1hTMf<@?%!YYjFEd|5z+{)Ixpss%-FzGr_Nto8va+wktw`XMG^8`bBJBvrL8 zX9&Za4mU9}Agrb7yPL)%jqpY#8tepLWWzqJ#S3Bg% zzm>`rXD+joDBElnGszlkZ>mFq#`8ChIg*j(HCL9?;}Mfk5EQ$-h6<_(&K+5UQ%lif zF8_1RnDs}7x3$S3B+j(uzQ>1CFcUBqbqCo}ZeNx{A?0YyQ)v7-4IIS-y?|SNN&vlU zPqd3bZrU;}bn(liK`kb703^e%jv{rrekt;ielkCP;{)0)LEWya z1nzL&M`EDffHeyJhD|k}pGEM0PKI$(=~J&hOm-~xix%O}%8Hf|fYqrzSrC8SHO_;HnKiHlQb=_D5EP7TN_y|uogfsAPnR~5I59vwO=vuCPR ztZ@Okfqvybh;`ftsWCO_aBCJbY1qbW1pCjY3IG7Do}!oeB>{Z}VBtWIsg*JA=Xv8{ zaT!$MjDVK{56E0qWMcw!1lz`3tMSg)&+(DO0vuObl|QB^b_Y^Odcaj-z&%PTK1?=! zSR+L0L<#rK1&fJsX9+3+MyTkd($CaX<7G&GZD6d1qBmm1q|1*W6~n zj~6X^7BX5~WKRxe_Z0d|qL~5pqIkU{h!BI6B!}MIxVTR< zS}qFDa z#6r2XM4HyvA+>6FHuhsK12#IeSp7=d{Zga9K-7(o^|Nz-xt|8--7P5fUk3W6^2VjJ zr}K&ksHC589`}1E^X{_xDjmlcHjh-NVn z)MBMx<2e@w0Mkcsjyy@0H0a5o=z%}=N2)AxiH&g_PU1##u;X65*j^jZQv>%dvWm`T zsn46h5&9T`g(daa9vu9Wx7weJ^RO{0cDQC5EF*}Lr%bE!H|-Y0+X@6tl^*qZ-ExP^-t_W zF0m8t+)o8Mp9^OV6hSE0eVnJ|rkWl>gy2jZBSe-jWVBMDDUo>6cHrm{{LO$_M0(HL zb?R#60u%r;;cp{x^UmMh`Op5%avIZ5aU>J0m-=Q%lHnTkLdTrgG%{PgVBZNtKFtzM7&TujlPY_(~k0&Qyu@gj}C-@!|)P zHPr1@0;*@X#39%T@&m1@N0&SFr6J+&y2T>CNV5eu9z+b}_ZVZk$UCT+Z+GEoj2EyP zQX4cku;^>}oQwQku=LeZKUVYj(#_ViBnoBoNpG}v~_g207hj!f76avW~-kIN8OD9LrocRz0P#z&LyBo9^dY-Wuv6;HN^&j@!cM> zt?1-}tymHW1v2`{+UF>20YWAfzMW-K(;orJ3^k?e(G!2$2pPQnHgyCD%+m-R7;um7 zzT1_EfVUo#U$KK(=nkqk$mPK#Jj zuli!Hj5-e8S(eZ@I{f$zSy#5zqjA1%D^{?uDJ!COJ@x#DEHLe1K;wc)NzfT<$Lm98J z4BGqlc#WmWPb)TS>>$E`g88�>XdXY7IO4ZNx7YDv;=RZp;ikFm+=HxdT_>J(Og{ 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 I`5X8C7eOzIq5uE@ literal 0 HcmV?d00001 diff --git a/docs/_static/benchmarks/FB001/RAVG_CBI_final.png b/docs/_static/benchmarks/FB001/RAVG_CBI_final.png new file mode 100644 index 0000000000000000000000000000000000000000..a7c2e6605bace863e145b780a84a76bb4eed8f35 GIT binary patch literal 96643 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 C)Z)tk literal 0 HcmV?d00001 diff --git a/docs/_static/benchmarks/FB001/RAVG_CC_final.png b/docs/_static/benchmarks/FB001/RAVG_CC_final.png new file mode 100644 index 0000000000000000000000000000000000000000..a715fef5d35500960610eeca5b6e53928d7a253f GIT binary patch literal 110611 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 z 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%0DGMFJk6`T7l~B_9EIsZvGkJH?QXZwLz`fimTl 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

  • 7zWZcEQ90v&b}7;VS+!1nwr)-}{m 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ΜN&%Q>| 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 %GqiiUW{#@;Nl?f(G+Fn(x*0v8@$Y0wP|hG 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%0D^WG5o|l~Q*EeM}?n_7| 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 literal 0 HcmV?d00001 diff --git a/docs/benchmarks/California/01_Caldor.md b/docs/benchmarks/California/01_Caldor.md index 1957cd3..b3192b4 100644 --- a/docs/benchmarks/California/01_Caldor.md +++ b/docs/benchmarks/California/01_Caldor.md @@ -113,6 +113,31 @@ This benchmark is performed on the binary classes for damaged buildings. This benchmark is performed on the binary classes for damaged buildings. +## Burn severity benchmarks + +### Dataset + +The data has been collected using [Monitoring Trends in Burning Severity](https://mtbs.gov/) (MTBS). +The original zip file contains burn severity, pre/post burn images, and final fire perimeter. +The source of the burn severity used in FireBench is the file `ca3858612053820210815_20210805_20220723_dnbr6.tif`. + +The hash of the original source files are: +- zip file: 171b9604c0654d8612eaabcfcad93d2374762661ab34b4d62718630a13469841 +- tif dnbr6: 33db74d3c5798c41ff3a4fc5ee57da9105fdc7a75d7f8af0d053d2f82cfdc0b6 + +![blockdiagram](../../_static/benchmarks/FB001/mtbs_map.jpg) +