Fáìlì:Mauna Loa CO2 monthly mean concentration.svg

Fáìlì àtìbẹ̀rẹ̀ (faili SVG, pẹ̀lú 708 × 708 pixels, ìtòbi faili: 434 KB)

Àkótán

Ìjúwe
English: This figure shows the history of atmospheric carbon dioxide concentrations as directly measured at Mauna Loa, Hawaii since 1958. This curve is known as the Keeling curve, and is an essential piece of evidence of the man-made increases in greenhouse gases that are believed to be the cause of global warming. The longest such record exists at Mauna Loa, but these measurements have been independently confirmed at many other sites around the world [1].

The annual fluctuation in carbon dioxide is caused by seasonal variations in carbon dioxide uptake by land plants. Since many more forests are concentrated in the Northern Hemisphere, more carbon dioxide is removed from the atmosphere during Northern Hemisphere summer than Southern Hemisphere summer. This annual cycle is shown in the inset figure by taking the average concentration for each month across all measured years.

The red curve shows the average monthly concentrations, and blue curve is a smoothed trend.
The carbon dioxide data is measured as the mole fraction in dry air. This dataset constitutes the longest record of direct measurements of CO2 in the atmosphere (regularly updated).
Ọjọ́ọdún
Orísun Iṣẹ́ onítọ̀hún. Data from Dr. Pieter Tans, NOAA/ESRL and Dr. Ralph Keeling, Scripps Institution of Oceanography.
Olùdá Oeneis
Àwọn àtẹ̀jáde míràn

[àtúnṣe]

Keeling curve

English: Plots of the Keeling curve produced with R in SVG for several languages.
Français : Graphiques multi-langues de la Courbe de Keeling réalisés avec R en SVG.

Create this plot

 
This chart was created with R.

R code

# Mauna Loa atmospheric CO2 change
# multi language plot for Wikipedia
# using different possible sources (Scripps if NOAA is not available)
# 
# Used for https://commons.wikimedia.org/wiki/File:Mauna_Loa_CO2_monthly_mean_concentration.svg
# and related files in other languages. See all files in :
# https://commons.wikimedia.org/wiki/Template:Other_versions/Mauna_Loa_CO2_monthly_mean_concentration
# 
# Update this script on :
# https://commons.wikimedia.org/w/index.php?title=Template:Other_versions/Mauna_Loa_CO2_monthly_mean_concentration.R&action=edit

# Required packages.   used for :
library(readr)         # reading data
library(dplyr)         # data processing
library(ggplot2)       # plot
library(gridExtra)     # plot positionning
library(scales)        # pretty breaks on plot axis
library(lubridate)     # date processing
library(httr)          # check url
library(Hmisc)         # ci from bootstrap

# install all locales beforehand, e.g. :
# sudo locale-gen ca_ES.UTF-8

old_locale <- Sys.getlocale("LC_TIME")

# Translations ------------------------------------------------------------

language <- list(
  
  ca_ES = list(
    locale_lc_time = "ca_ES.UTF-8",
    title = bquote("Mitjana mensual de la concentratió de"~CO[2]),
    subtitle = "Mauna Loa",
    caption_scripps = paste("dades : R. F. Keeling, S. J. Walker, S. C. Piper and A. F. Bollenbacher\nScripps CO2 Program (https://scrippsco2.ucsd.edu/). Visitada", Sys.Date()),
    caption_noaa = paste("dades : Dr. Pieter Tans, NOAA/ESRL (https://gml.noaa.gov/ccgg/trends/) i\n Dr. Ralph Keeling, Scripps Institution of Oceanography (https://scrippsco2.ucsd.edu/). Visitada ", Sys.Date()),
    x = "any",
    y = bquote("fracció de"~CO[2]~"en aire sec ("*mu*"mol/mol)"),
    x2 = "mes",
    y2 = bquote(atop("fracció de"~CO[2]~"en aire sec ("*mu*"mol/mol)",
                     "desviació de la mitjana anual")),
    title2 = "Variació mensual"
  ),
  
  cs_CZ = list(
    locale_lc_time = "cs_CZ.UTF-8",
    title = "Průměrné měsíční koncentrace oxidu uhličitého",
    subtitle = "Mauna Loa",
    caption_scripps = paste("data : R. F. Keeling, S. J. Walker, S. C. Piper a A. F. Bollenbacher\nScripps CO2 Program (https://scrippsco2.ucsd.edu/). Přístupné", Sys.Date()),
    caption_noaa = paste("data : Dr. Pieter Tans, NOAA/ESRL (https://gml.noaa.gov/ccgg/trends/) a\nDr. Ralph Keeling, Scripps Institution of Oceanography (https://scrippsco2.ucsd.edu/). Přístupné", Sys.Date()),
    x = "rok",
    y = bquote("koncentrace"~CO[2]~"v suchém vzduchu ("*mu*"mol/mol)"),
    x2 = "měsíc",
    y2 = bquote(atop("koncentrace"~CO[2]~"v suchém vzduchu ("*mu*"mol/mol)", "odchylka od ročního průměru")),
    title2 = "Měsíční změna (průměrná roční odchylka)"
  ),
  
  de_DE = list(
    locale_lc_time = "de_DE.UTF-8",
    title = bquote("Monatliche durchschnittliche"~CO[2]*"-Konzentration"),
    subtitle = "Mauna Loa",
    caption_scripps = paste("Datei : R. F. Keeling, S. J. Walker, S. C. Piper und A. F. Bollenbacher\nScripps CO2 Program (https://scrippsco2.ucsd.edu/). Zugänglich am", Sys.Date()),
    caption_noaa = paste("Datei : Dr. Pieter Tans, NOAA/ESRL (https://gml.noaa.gov/ccgg/trends/) und\nDr. Ralph Keeling, Scripps Institution of Oceanography (https://scrippsco2.ucsd.edu/). Zugänglich am", Sys.Date()),
    x = "Jahr",
    y = bquote(CO[2]*"-Anteil in trockener Luft ("*mu*"mol/mol)"),
    x2 = "Monate",
    y2 = bquote(atop(CO[2]*"-Anteil in trockener Luft ("*mu*"mol/mol)", "Abweichung vom Jahresmittel")),
    title2 = "Monatliche Variation"
  ),  
  
  en_US = list(
    locale_lc_time = "en_US.UTF-8",
    title = bquote("Monthly mean"~CO[2]~"concentration"),
    subtitle = "Mauna Loa",
    caption_scripps = paste("Data : R. F. Keeling, S. J. Walker, S. C. Piper and A. F. Bollenbacher\nScripps CO2 Program (https://scrippsco2.ucsd.edu/). Accessed", Sys.Date()),
    caption_noaa = paste("Data : Dr. Pieter Tans, NOAA/ESRL (https://gml.noaa.gov/ccgg/trends/) and\n Dr. Ralph Keeling, Scripps Institution of Oceanography (https://scrippsco2.ucsd.edu/). Accessed ", Sys.Date()),
    x = "Year",
    y = bquote(CO[2]~"fraction in dry air ("*mu*"mol/mol)"),
    x2 = "Month",
    y2 = bquote(atop(CO[2]~"fraction in dry air ("*mu*"mol/mol)", "Departure from yearly average")),
    title2 = "Seasonal variation"
  ),
  
  es_ES = list(
    locale_lc_time = "es_ES.UTF-8",
    title = bquote("Media mensual de la concentración de"~CO[2]),
    subtitle = "Mauna Loa",
    caption_scripps = paste("dato : R. F. Keeling, S. J. Walker, S. C. Piper y A. F. Bollenbacher\nScripps CO2 Program (https://scrippsco2.ucsd.edu/). Visitada", Sys.Date()),
    caption_noaa = paste("dato : Dr. Pieter Tans, NOAA/ESRL (https://gml.noaa.gov/ccgg/trends/) y\nDr. Ralph Keeling, Scripps Institution of Oceanography (https://scrippsco2.ucsd.edu/). Visitada", Sys.Date()),
    x = "Año",
    y = bquote("Fraccion de"~CO[2]~"en aire secco ("*mu*"mol/mol)"),
    x2 = "Mes",
    y2 = bquote(atop("Fraccion de"~CO[2]~"en aire secco ("*mu*"mol/mol)", "Desviación de la media anual")),
    title2 = "Variación mensual"
  ),  
  
  fr_FR = list(
    locale_lc_time = "fr_FR.UTF-8",
    title = bquote("Moyenne mensuelle de la concentration de"~CO[2]),
    subtitle = "Mauna Loa",
    caption_scripps = paste("données : R. F. Keeling, S. J. Walker, S. C. Piper et A. F. Bollenbacher\nScripps CO2 Program (https://scrippsco2.ucsd.edu/). Accédé le", Sys.Date()),
    caption_noaa = paste("données : Dr Pieter Tans, NOAA/ESRL (https://gml.noaa.gov/ccgg/trends/) et\n Dr. Ralph Keeling, Scripps Institution of Oceanography (https://scrippsco2.ucsd.edu/). Accédé le", Sys.Date()),
    x = "année",
    y = bquote("fraction de"~CO[2]~"dans l'air sec ("*mu*"mol/mol)"),
    x2 = "mois",
    y2 = bquote(atop("fraction de"~CO[2]~"dans l'air sec ("*mu*"mol/mol)", "en écart à la moyenne annuelle")),
    title2 = "Variation saisonnière"
  ),

    nl_NL = list(
    locale_lc_time = "nl_NL.UTF-8",
    title = bquote("Maandelijkse gemiddelde"~CO[2]*"-concentratie"),
    subtitle = "Mauna Loa",
    caption_scripps = glue("Gegevens : R. F. Keeling, S. J. Walker, S. C. Piper en A. F. Bollenbacher\nScripps CO2 Program (https://scrippsco2.ucsd.edu/). Geopend {Sys.Date()}"),
    caption_noaa = glue("Gegevens : Dr. Pieter Tans, NOAA/ESRL (https://gml.noaa.gov/ccgg/trends/) en\n Dr. Ralph Keeling, Scripps Institution of Oceanography (https://scrippsco2.ucsd.edu/). Accessed  {Sys.Date()}"),
    x = "Jaar",
    y = bquote(CO[2]*"-fractie in droge lucht ("*mu*"mol/mol)"),
    x2 = "Mannd",
    y2 = bquote(atop(CO[2]*"-fractie in droge lucht ("*mu*"mol/mol)", "Afwijking van jaargemiddelde")),
    title2 = "Seizoensgebonden variatie"
  ),

  nn_NO = list(
    locale_lc_time = "nn_NO.UTF-8",
    title = bquote("Gjennomsnittlig månedlig"~CO[2]*"-konsentrasjon"),
    subtitle = "Mauna Loa",
    caption_scripps = paste("data : R. F. Keeling, S. J. Walker, S. C. Piper og A. F. Bollenbacher\nScripps CO2 Program (https://scrippsco2.ucsd.edu/). Vist", Sys.Date()),
    caption_noaa = paste("data : Dr. Pieter Tans, NOAA/ESRL (https://gml.noaa.gov/ccgg/trends/) og\nDr. Ralph Keeling, Scripps Institution of Oceanography (https://scrippsco2.ucsd.edu/). Vist", Sys.Date()),
    x = "År",
    y = bquote(CO[2]*"-andel i tørr luft ("*mu*"mol/mol)"),
    x2 = "Måned",
    y2 = bquote(atop(CO[2]*"-andel i tørr luft ("*mu*"mol/mol)",
                     "Avvik fra årlig gjennomsnitt")),
    title2 = "Årlig variasjon"
  ),
  
  pl_PL = list(
    locale_lc_time = "pl_PL.UTF-8",
    title = bquote("Średnie miesięczne stężenie"~CO[2]),
    subtitle = "Mauna Loa",
    caption_scripps = paste("Dane : R. F. Keeling, S. J. Walker, S. C. Piper i A. F. Bollenbacher\nScripps CO2 Program (https://scrippsco2.ucsd.edu/). Dostęp na", Sys.Date()),
    caption_noaa = paste("Dane : Dr. Pieter Tans, NOAA/ESRL (https://gml.noaa.gov/ccgg/trends/) i\nDr. Ralph Keeling, Scripps Institution of Oceanography (https://scrippsco2.ucsd.edu/). Dostęp na", Sys.Date()),
    x = "Rok",
    y = bquote("Frakcja"~CO[2]~"w suchym powietrzu ("*mu*"mol/mol)"),
    x2 = "Miesiąc",
    y2 = bquote(atop("Frakcja"~CO[2]~"w suchym powietrzu ("*mu*"mol/mol)", "Odejście od średniej rocznej")),
    title2 = "Wahania sezonowe"
  ),

  ro_RO = list(
    locale_lc_time = "ro_RO.UTF-8",
    title = bquote("Concentrația medie lunară de"~CO[2]),
    subtitle = "Mauna Loa, Hawaii",
    caption_scripps = paste("Date: R. F. Keeling, S. J. Walker, S. C. Piper și A. F. Bollenbacher\nScripps CO2 Program (https://scrippsco2.ucsd.edu/). Accesat în", Sys.Date()),
    caption_noaa = paste("Date : Dr. Pieter Tans, NOAA/ESRL (https://gml.noaa.gov/ccgg/trends/) și\n Dr. Ralph Keeling, Scripps Institution of Oceanography (https://scrippsco2.ucsd.edu/). Accesat în", Sys.Date()),
    x = "An",
    y = bquote("Ponderea"~CO[2]~"în aer uscat ("*mu*"mol/mol)"),
    x2 = "Lună",
    y2 = bquote(atop("Abaterea cotei"~CO[2]~"în aer uscat ("*mu*"mol/mol)", "Abatere de la media anuală")),
    title2 = "Variație sezonieră"
  ),

  ru_RU = list(
    locale_lc_time = "ru_RU.UTF-8",
    title = bquote("Среднемесячная и среднегодовая концентрации"~CO[2]),
    subtitle = "Мауна Лоа, Гаваи",
    caption_scripps = paste("данные : R. F. Keeling, S. J. Walker, S. C. Piper и A. F. Bollenbacher\nScripps CO2 Program (https://scrippsco2.ucsd.edu/). доступ на", Sys.Date()),
    caption_noaa = paste("данные : Dr. Pieter Tans, NOAA/ESRL (https://gml.noaa.gov/ccgg/trends/) и\nDr. Ralph Keeling, Scripps Institution of Oceanography (https://scrippsco2.ucsd.edu/). доступ на ", Sys.Date()),
    x = "Годы",
    y = bquote("Доля"~CO[2]~"в сухом воздухе ("*mu*"mol/mol)"),
    x2 = "Месяцы",
    y2 = bquote(atop("Отклонение доли"~CO[2]~"в сухом воздухе", "от среднегодового значения, мкмоль/моль")),
    title2 = "Сезонные колебания"
  )
  
)


# Data --------------------------------------------------------------------

# First try NOAA data, if not availble use Scripps data
if (!http_error("ftp://aftp.cmdl.noaa.gov/products/trends/co2/co2_mm_mlo.txt")) {
  # https://gml.noaa.gov/ccgg/trends/data.html
  source <- "noaa"
  co2ml <- read_table(
    "ftp://aftp.cmdl.noaa.gov/products/trends/co2/co2_mm_mlo.txt",
    col_names = c("year", "month", "decimal", "average", "deseason", "ndays", "stddays", "unc"),
    col_types = "iidddidd",
    na = c("-99.99", "-1"),
    comment = "#") %>% 
    group_by(year) %>% 
    mutate(year_mean = mean(average, na.rm = TRUE),
           delta = average - year_mean,
           vdate = ymd(paste0("2015-", month, "-01")))%>% 
    rename(co2 = average)
  
} else {
  # https://scrippsco2.ucsd.edu/data/atmospheric_co2/primary_mlo_co2_record
  # used during US gov shutdown
  source <- "scripps"
  co2ml <- read_csv(
    "https://scrippsco2.ucsd.edu/assets/data/atmospheric/stations/in_situ_co2/monthly/monthly_in_situ_co2_mlo.csv",
    col_names = c("year", "month", "xls_date", "decimal",
                  "co2_raw", "co2_raw_seas_adj", "fit", "fit_seas_adj",
                  "co2_filled", "co2_filled_seas_adj"),
    col_types = "iiiddddddd",
    skip = 57,
    na = "-99.99",
    comment = "\"") %>% 
    group_by(year) %>% 
    mutate(year_mean = mean(co2_filled, na.rm = TRUE),
           delta = co2_filled - year_mean,
           vdate = ymd(paste0("2015-", month, "-01"))) %>% 
    rename(co2 = co2_filled)
}


# Generate the plot for each language -------------------------------------

for (l in names(language)) {
  message(l)
  current <- language[[l]]
  
  # format the date in local names
  Sys.setlocale("LC_TIME", current$locale_lc_time)
  
  # main plot
  p1 <- ggplot(co2ml, aes(decimal, co2)) + 	
    geom_line(color = "pink") +
    geom_point(color = "red", size = 0.6) +
    stat_smooth(span = 0.1) +
    scale_x_continuous(breaks = pretty_breaks()) +
    scale_y_continuous(breaks = pretty_breaks()) +
    labs(x = current$x,
         y = current$y,
         title = current$title,
         subtitle = paste(current$subtitle, min(co2ml$year), "-", max(co2ml$year)),
         caption = paste(current[[paste0("caption_", source)]],
                         "https://w.wiki/4ZWn", sep = "\n")) +
    theme_bw() +
    theme(plot.caption = element_text(size = 7))
  
  # inset plot
  p2 <- ggplot(co2ml, aes(vdate, delta)) +
    geom_hline(yintercept = 0) +
    stat_smooth(span = 0.4, se = FALSE) +
    stat_summary(fun.data = "mean_cl_boot", colour = "red", size = 0.3) + 
    scale_x_date(breaks = pretty_breaks(4), 
                 minor_breaks = pretty_breaks(12), 
                 labels = date_format("%b")) +
    labs(x = current$x2,
         y = current$y2,
         title = current$title2) +
    theme_bw()
  
  # merge the plots and export in SVG
  p1 + annotation_custom(grob = ggplotGrob(p2),
                         xmin = 1957, xmax = 1991, ymin = 361, ymax = 420)
  
  ggsave(file = paste("co2_mauna_loa", l, Sys.Date(), "wp.svg", sep = "_"), 
         width = 20, 
         height = 20, 
         units = "cm", 
         device = svg)
}

# return to former locale
Sys.setlocale("LC_TIME", old_locale)



Object location19° 32′ 10.31″ N, 155° 34′ 36.84″ W Kartographer map based on OpenStreetMap.View this and other nearby images on: OpenStreetMapinfo

Ìwé àṣẹ

Èmi gangan, tó jẹ́ pé èmi ni mo ni ẹ̀tọ́àwòkọ iṣẹ́ yìí, fara mọ́ ọ láti tẹ̀ẹ́jáde lábẹ́ ìwé-àṣẹ ìsàlẹ̀ yìí:
w:en:Creative Commons
ìdárúkọ share alike
This file is licensed under the Creative Commons Attribution-Share Alike 4.0 International license.
Ẹ ní ààyè:
  • láti pín pẹ̀lú ẹlòmíràn – láti ṣàwòkọ, pínkiri àti ṣàgbéká iṣẹ́ náà
  • láti túndàpọ̀ – láti mulò mọ́ iṣẹ́ míràn
Lábẹ́ àwọn àdéhùn wọ̀nyí:
  • ìdárúkọ – Ẹ gbọdọ̀ ṣe ọ̀wọ̀ tó yẹ, pèsè ìjápọ̀ sí ìwé-àṣe, kí ẹ sì sọ bóyá ìyípadà wáyé. Ẹ le ṣe èyí lórísi ọ̀nà tó bojúmu, sùgbọ́n tí kò ní dà bii pé oníìwé-àṣe fọwọ́ sí yín tàbí lílò yín.
  • share alike – Tó bá ṣe pé ẹ ṣ'àtúndàlú, ṣàyípadà, tàbí ṣ'àgbélé sí iṣẹ́-ọwọ́ náà, ẹ lè ṣe ìgbésíta àfikún yín lábẹ́ ìwé-àṣẹ kannáà tàbí tójọra mọ́ ti àtilẹ̀wa.

Data source license

These data are made freely available to the public and the scientific community in the belief that their wide dissemination will lead to greater understanding and new scientific insights.

— Pieter Tans, in: NOAA

akole

Ṣafikun alaye ila kan ti ohun ti faili yii duro
Atmospheric carbon dioxide concentrations at Mauna Loa, Hawaii since 1958 (plot in English)

Awọn nkan ṣe afihan ninu faili yii

depicts Èdè Gẹ̀ẹ́sì

Diẹ ninu awọn iye lai a Wikidata ohun kan

author name string Èdè Gẹ̀ẹ́sì: Oeneis
Wikimedia username Èdè Gẹ̀ẹ́sì: Oeneis

copyright status Èdè Gẹ̀ẹ́sì

copyrighted Èdè Gẹ̀ẹ́sì

6 Oṣù Ṣẹ̀rẹ́ 2019

source of file Èdè Gẹ̀ẹ́sì

original creation by uploader Èdè Gẹ̀ẹ́sì

coordinates of depicted place Èdè Gẹ̀ẹ́sì

19°32'10.309"N, 155°34'36.840"W

media type Èdè Gẹ̀ẹ́sì

image/svg+xml

Ìtàn fáìlì

Ẹ kan kliki lórí ọjọ́ọdún/àkókò kan láti wo fáìlì ọ̀ún bó ṣe hàn ní àkókò na.

(tuntunjùlọ | pípẹ́jùlọ) Ẹ wo (tuntunjùlọ 10 | ) (10 | 20 | 50 | 100 | 250 | 500)
Ọjọ́ọdún/ÀkókòÀwòrán kékeréÀwọn ìwọ̀nOníṣeÀríwí
lọ́wọ́19:49, 15 Oṣù Ọ̀pẹ̀ 2023Àwòrán kékeré fún ní 19:49, 15 Oṣù Ọ̀pẹ̀ 2023708 × 708 (434 KB)Oeneisupdate 2023
17:32, 22 Oṣù Ọ̀pẹ̀ 2022Àwòrán kékeré fún ní 17:32, 22 Oṣù Ọ̀pẹ̀ 2022708 × 708 (428 KB)Oeneis2022 update
08:25, 15 Oṣù Ògún 2022Àwòrán kékeré fún ní 08:25, 15 Oṣù Ògún 2022708 × 708 (427 KB)Oeneisupdate with 2022 data
22:01, 16 Oṣù Ọ̀pẹ̀ 2021Àwòrán kékeré fún ní 22:01, 16 Oṣù Ọ̀pẹ̀ 2021708 × 708 (424 KB)Oeneisupdate URLs
19:43, 16 Oṣù Ọ̀pẹ̀ 2021Àwòrán kékeré fún ní 19:43, 16 Oṣù Ọ̀pẹ̀ 2021708 × 708 (421 KB)Oeneis2021 data
17:52, 31 Oṣù Ọ̀wàrà 2020Àwòrán kékeré fún ní 17:52, 31 Oṣù Ọ̀wàrà 2020708 × 708 (420 KB)Oeneisupdate data 2020-10-31
14:40, 20 Oṣù Agẹmọ 2019Àwòrán kékeré fún ní 14:40, 20 Oṣù Agẹmọ 2019708 × 708 (409 KB)Oeneisdata up to 2019-06
11:01, 6 Oṣù Ṣẹ̀rẹ́ 2019Àwòrán kékeré fún ní 11:01, 6 Oṣù Ṣẹ̀rẹ́ 2019708 × 708 (407 KB)Oeneisfull 2018 year data ; data from Scripps due to US gov shutdown
08:57, 21 Oṣù Ọ̀wàrà 2018Àwòrán kékeré fún ní 08:57, 21 Oṣù Ọ̀wàrà 2018708 × 708 (401 KB)Oeneisdata up to 2018-10
13:49, 20 Oṣù Ṣẹ̀rẹ́ 2018Àwòrán kékeré fún ní 13:49, 20 Oṣù Ṣẹ̀rẹ́ 2018708 × 708 (376 KB)Oeneis1958-2017 data
(tuntunjùlọ | pípẹ́jùlọ) Ẹ wo (tuntunjùlọ 10 | ) (10 | 20 | 50 | 100 | 250 | 500)

Kò sí ojúewé tó únlo fáìlì yìí.

Ìlò fáìlì káàkiri

Àwọn wiki míràn wọ̀nyí lo fáìlì yìí:

Ìfihàn ìlò míràn púpọ̀ fún fálì yìí.

Metadata