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 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
Original file line number Diff line number Diff line change
@@ -1,12 +1,21 @@
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. This baseline period is commonly used to highlight the changes in temperature since pre-industrial times, prior to 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 +24,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.read("near_surface_temperature")
# 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