Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

✨ climate: change baseline period in the MET temperature anomalies chart #4024

Merged
merged 17 commits into from
Feb 26, 2025
Merged
Show file tree
Hide file tree
Changes from 15 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
Original file line number Diff line number Diff line change
@@ -1,12 +1,22 @@
definitions:
common:
description_key:
- Temperature anomalies are given in degrees Celsius relative to the average temperature over the period 1961-1990.
- Temperature anomalies are available for the Northern Hemisphere and the Southern Hemisphere.
- The global mean is calculated by averaging anomalies for northern and southern hemispheres.
- Temperature anomalies show how many degrees Celsius temperatures have changed compared to the 1861-1890 period. According to the source, the 1861–1890 period is often used to highlight how temperatures have changed since pre-industrial times.
- This early period is used as a baseline because it represents climate conditions before major human impacts.
- The data includes separate measurements for the Northern and Southern Hemispheres, which helps researchers analyze regional differences.
- The global temperature anomaly is the average of both hemisphere measurements.
description_from_producer: |-
The 1961-90 period is most often used as a baseline because it is the period recommended by the World Meteorological Organisation. In some cases other periods are used. For global average temperatures, an 1861-1890 period is sometimes used to show the warming since the "pre-industrial" period.
description_processing: |-
We switch from using 1961-1990 to using 1861-1890 as our baseline to better show how temperatures have changed since pre-industrial times. For each region, we calculate the mean temperature anomaly for 1961–1990 and for 1861–1890. The difference between these two means serves as the adjustment factor. This factor is applied uniformly to both the temperature anomalies and the confidence intervals to ensure that both the central values and the associated uncertainty bounds are correctly shifted relative to the new 1861–1890 baseline.
processing_level: major
display:
numDecimalPlaces: 1
presentation:
topic_tags:
- Climate Change
grapher_config:
note: The period between 1861–1890 is used as a baseline to better reflect temperature changes since pre-industrial times, [as recommended by the source](https://www.metoffice.gov.uk/hadobs/indicators/index.html#:~:text=The%201961%2D90%20period%20is,other%20parts%20of%20the%20world.).

dataset:
update_period_days: 90
Expand All @@ -15,9 +25,11 @@ tables:
near_surface_temperature:
variables:
temperature_anomaly:
title: Global average temperature anomaly relative to 1961-1990
title: Global average temperature anomaly relative to 1861-1890
short_unit: °C
unit: degrees Celsius
description_short: Global average land-sea temperature anomaly relative to the 1861-1890 average temperature baseline.

upper_limit:
title: Upper bound of the annual temperature anomaly (95% confidence interval)
short_unit: °C
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,23 @@ def run(dest_dir: str) -> None:
#
# Load meadow dataset and read its main table.
ds_meadow = paths.load_dataset("near_surface_temperature")
tb_meadow = ds_meadow["near_surface_temperature"]
tb_meadow = ds_meadow["near_surface_temperature"].reset_index()
# Switch from using 1961-1990 to using 1861-1890 as our baseline to better show how temperatures have changed since pre-industrial times.
# Calculate the adjustment factors based only on temperature_anomaly
adjustment_factors = (
tb_meadow[tb_meadow["year"].between(1961, 1990)].groupby("region")["temperature_anomaly"].mean()
- tb_meadow[tb_meadow["year"].between(1861, 1890)].groupby("region")["temperature_anomaly"].mean()
)

columns_to_adjust = ["temperature_anomaly", "lower_limit", "upper_limit"] # Add any other columns as needed

# Apply the temperature_anomaly adjustment factor
# The adjustment factor is applied uniformly to the temperature anomalies and their confidence intervals to ensure that both the central values and the associated uncertainty bounds are correctly shifted relative to the new 1861–1890 baseline.
for region in adjustment_factors.index:
for column in columns_to_adjust:
tb_meadow.loc[tb_meadow["region"] == region, column] += adjustment_factors[region]

tb_meadow = tb_meadow.format(["region", "year"])
#
# Save outputs.
#
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
meta:
origin:
producer: Met Office Hadley Centre
producer: Adapted from Met Office Hadley Centre
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The producer of the data product should still be "Met Office Hadley Centre". The data product we are importing is still the same, and what has changed is the way we process the data.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please revert the changes in the snapshots, and we can figure out an alternative way to surface the adaptation. Modifying "producer" in our metadata will cause us headaches in the future (e.g. when doing analytics at the producer level).

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll let Hannah know! This is something she thought was important to do.

title: HadCRUT5
description: |-
The HadCRUT5 near surface temperature data set is produced by blending data from the CRUTEM5 surface air temperature dataset and the HadSST4 sea-surface temperature dataset.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
meta:
origin:
producer: Met Office Hadley Centre
producer: Adapted from Met Office Hadley Centre
title: HadCRUT5
description: |-
The HadCRUT5 near surface temperature data set is produced by blending data from the CRUTEM5 surface air temperature dataset and the HadSST4 sea-surface temperature dataset.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
meta:
origin:
producer: Met Office Hadley Centre
producer: Adapted from Met Office Hadley Centre
title: HadCRUT5
description: |-
The HadCRUT5 near surface temperature data set is produced by blending data from the CRUTEM5 surface air temperature dataset and the HadSST4 sea-surface temperature dataset.
Expand Down