Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions changelog/393.feature.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Added climate drivers for fire diagnostic.
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
807057562019211340
2074659132983676899
...
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
73a70f6d05abceda52e706adefd6e28b00420204
77b5ed086e4aedb114d6f02472e88edd1db6dae2
...
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
"""ESMValTool diagnostics."""

from climate_ref_esmvaltool.diagnostics.climate_at_global_warming_levels import ClimateAtGlobalWarmingLevels
from climate_ref_esmvaltool.diagnostics.climate_drivers_for_fire import ClimateDriversForFire
from climate_ref_esmvaltool.diagnostics.cloud_radiative_effects import CloudRadiativeEffects
from climate_ref_esmvaltool.diagnostics.cloud_scatterplots import (
CloudScatterplotCliTa,
Expand All @@ -20,6 +21,7 @@

__all__ = [
"ClimateAtGlobalWarmingLevels",
"ClimateDriversForFire",
"CloudRadiativeEffects",
"CloudScatterplotCliTa",
"CloudScatterplotCliviLwcre",
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
import pandas

from climate_ref_core.constraints import (
AddSupplementaryDataset,
RequireFacets,
RequireOverlappingTimerange,
)
from climate_ref_core.datasets import FacetFilter, SourceDatasetType
from climate_ref_core.diagnostics import DataRequirement
from climate_ref_esmvaltool.diagnostics.base import ESMValToolDiagnostic
from climate_ref_esmvaltool.recipe import dataframe_to_recipe
from climate_ref_esmvaltool.types import Recipe


class ClimateDriversForFire(ESMValToolDiagnostic):
"""
Calculate diagnostics regarding climate drivers for fire.
"""

name = "Climate drivers for fire"
slug = "climate-drivers-for-fire"
base_recipe = "ref/recipe_ref_fire.yml"

variables = (
"cVeg",
"hurs",
"pr",
"tas",
"tasmax",
"treeFrac",
"vegFrac",
)
data_requirements = (
DataRequirement(
source_type=SourceDatasetType.CMIP6,
filters=(
FacetFilter(
facets={
"variable_id": variables,
"frequency": "mon",
"experiment_id": "historical",
}
),
),
group_by=("source_id", "member_id", "grid_label"),
constraints=(
RequireFacets("variable_id", variables),
RequireOverlappingTimerange(group_by=("instance_id",)),
AddSupplementaryDataset.from_defaults("sftlf", SourceDatasetType.CMIP6),
),
),
)
facets = ()

@staticmethod
def update_recipe(
recipe: Recipe,
input_files: dict[SourceDatasetType, pandas.DataFrame],
) -> None:
"""Update the recipe."""
recipe_variables = dataframe_to_recipe(input_files[SourceDatasetType.CMIP6])
dataset = recipe_variables["cVeg"]["additional_datasets"][0]
dataset.pop("mip")
dataset.pop("timerange")
dataset["start_year"] = 2013
dataset["end_year"] = 2014
recipe["datasets"] = [dataset]
recipe["diagnostics"]["fire_evaluation"]["scripts"]["fire_evaluation"]["remove_confire_files"] = True
Original file line number Diff line number Diff line change
Expand Up @@ -140,8 +140,8 @@ def dataframe_to_recipe(
return variables


_ESMVALTOOL_COMMIT = "8f56863a70ba4df76ec501ba0372c571a0af6cf9"
_ESMVALTOOL_VERSION = f"2.13.0.dev120+g{_ESMVALTOOL_COMMIT[:9]}"
_ESMVALTOOL_COMMIT = "2c438d0e0cc8904790294c72450eb7f06552c52a"
_ESMVALTOOL_VERSION = f"2.13.0.dev148+g{_ESMVALTOOL_COMMIT[:9]}"

_RECIPES = pooch.create(
path=pooch.os_cache("climate_ref_esmvaltool"),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,5 +8,6 @@ recipe_zec.yml b0af7f789b7610ab3f29a6617124aa40c408
ref/recipe_enso_basicclimatology.yml 9ea7deb7ee668e39ac44618b96496d898bd82285c22dcee4fce4695e0c9fa82b
ref/recipe_enso_characteristics.yml 34c2518b138068ac96d212910b979d54a8fcedee2c0089b5acd56a42c41dc3e4
ref/recipe_ref_cre.yml 4375f262479c3b3e1b348b71080a6d758e195bda76516a591182045a3a29aa32
ref/recipe_ref_fire.yml 2ad82effaca4e742d8abe6a0aa07bb46e1e92ef0d2d240760f7623b0ba045926
ref/recipe_ref_sea_ice_area_basic.yml 7d01a8527880663ca28284772f83a8356d9972fb4f022a4000e50a56ce044b09
ref/recipe_ref_scatterplot.yml b99d1736e16256d161847b025811d7088ad9f892d4887fb009fa99c4079135a0
Loading