# cortinah/hockeystick architecture

> Architecture diagram of the GitHub repository cortinah/hockeystick, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-30). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/cortinah/hockeystick
- Repository: https://github.com/cortinah/hockeystick

## Overview

hockeystick is an R package for retrieving climate and global-heating datasets and exploring them with pre-defined plots. The principal workflow is a user calling a dataset getter, then passing its result to a plot function; the README also documents standalone visualizations and optional caching. The graph preserves the README’s major data domains and plotting capabilities. Source excerpts were unavailable, so relationships are limited to workflows shown in the README; module paths identify the corresponding package files from the tree.

Main entry points: [`R/future_climate.R`](https://github.com/cortinah/hockeystick/blob/main/R/future_climate.R) (CMIP6 projections), [`R/carbon.R`](https://github.com/cortinah/hockeystick/blob/main/R/carbon.R) (CO₂ data and plots), [`R/emissions.R`](https://github.com/cortinah/hockeystick/blob/main/R/emissions.R) (Emissions data and plots), [`R/instrumental_temp.R`](https://github.com/cortinah/hockeystick/blob/main/R/instrumental_temp.R) (Instrumental temperatures)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_temperature["Temperature and climate"]
  node_instrumental["Instrumental temperatures"]
  node_instrumental_plot["Temperature plots"]
  node_daily["Daily temperatures<br/>[daily_temp.R]"]
  node_daily_plot["Daily temperature plots<br/>[daily_temp.R]"]
  node_reconstruction["2K reconstruction<br/>[2kyears_temp.R]"]
  node_paleo["Paleo records<br/>[paleo.R]"]
  node_future["CMIP6 projections<br/>[future_climate.R]"]
  node_grid["Climate data grid<br/>[extra_viz.R]"]
  node_stripes["Warming stripes"]
end

subgraph group_atmosphere["Atmosphere and emissions"]
  node_carbon["CO₂ data and plots<br/>[carbon.R]"]
  node_methane["Methane data and plots<br/>[methane.R]"]
  node_emissions["Emissions data and plots<br/>[emissions.R]"]
end

subgraph group_earth["Earth indicators"]
  node_sealevel["Sea level data and plots<br/>[sealevel.R]"]
  node_seaice["Sea ice data and plots<br/>[seaice.R]"]
  node_icecurves["Sea ice curves<br/>[icecurves.R]"]
  node_hurricanes["Hurricane data and plots<br/>[hurricanes.R]"]
  node_fires["Wildfire data and plots<br/>[fires.R]"]
end

subgraph group_support["Cache support"]
  node_cache[("Data cache<br/>[data_cache.R]")]
end

node_user(("R user"))

node_user -->|"calls getter"| node_daily
node_daily -->|"passes data"| node_daily_plot
node_user -->|"calls getter"| node_carbon
node_carbon -->|"plots data"| node_carbon
node_user -->|"calls getter"| node_future
node_future -->|"maps data"| node_future
node_user -->|"calls getter"| node_emissions
node_emissions -->|"plots data"| node_emissions
node_user -->|"calls getter"| node_instrumental
node_instrumental -->|"passes data"| node_instrumental_plot
node_user -->|"calls getter"| node_reconstruction
node_user -->|"calls getter"| node_paleo
node_user -->|"calls getter"| node_methane
node_user -->|"calls getter"| node_sealevel
node_user -->|"calls getter"| node_seaice
node_user -->|"calls getter"| node_icecurves
node_user -->|"calls getter"| node_hurricanes
node_user -->|"calls getter"| node_fires
node_user -->|"calls visualizer"| node_grid
node_user -->|"calls visualizer"| node_stripes
node_user -->|"calls plot"| node_instrumental_plot
node_user -->|"calls plot"| node_daily_plot

click node_instrumental "https://github.com/cortinah/hockeystick/blob/main/R/instrumental_temp.R"
click node_instrumental_plot "https://github.com/cortinah/hockeystick/blob/main/R/instrumental_temp.R"
click node_daily "https://github.com/cortinah/hockeystick/blob/main/R/daily_temp.R"
click node_daily_plot "https://github.com/cortinah/hockeystick/blob/main/R/daily_temp.R"
click node_reconstruction "https://github.com/cortinah/hockeystick/blob/main/R/2kyears_temp.R"
click node_paleo "https://github.com/cortinah/hockeystick/blob/main/R/paleo.R"
click node_future "https://github.com/cortinah/hockeystick/blob/main/R/future_climate.R"
click node_carbon "https://github.com/cortinah/hockeystick/blob/main/R/carbon.R"
click node_methane "https://github.com/cortinah/hockeystick/blob/main/R/methane.R"
click node_emissions "https://github.com/cortinah/hockeystick/blob/main/R/emissions.R"
click node_sealevel "https://github.com/cortinah/hockeystick/blob/main/R/sealevel.R"
click node_seaice "https://github.com/cortinah/hockeystick/blob/main/R/seaice.R"
click node_icecurves "https://github.com/cortinah/hockeystick/blob/main/R/icecurves.R"
click node_hurricanes "https://github.com/cortinah/hockeystick/blob/main/R/hurricanes.R"
click node_fires "https://github.com/cortinah/hockeystick/blob/main/R/fires.R"
click node_cache "https://github.com/cortinah/hockeystick/blob/main/R/data_cache.R"
click node_grid "https://github.com/cortinah/hockeystick/blob/main/R/extra_viz.R"
click node_stripes "https://github.com/cortinah/hockeystick/blob/main/R/instrumental_temp.R"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_instrumental,node_instrumental_plot,node_daily,node_daily_plot,node_reconstruction,node_paleo,node_future,node_grid,node_stripes,node_user toneBlue
class node_carbon,node_methane,node_emissions toneAmber
class node_sealevel,node_seaice,node_icecurves,node_hurricanes,node_fires toneMint
class node_cache toneRose
```

## Components

### Temperature and climate

- [Instrumental temperatures](https://github.com/cortinah/hockeystick/blob/main/R/instrumental_temp.R): `R/instrumental_temp.R`
- [Temperature plots](https://github.com/cortinah/hockeystick/blob/main/R/instrumental_temp.R): `R/instrumental_temp.R`
- [Daily temperatures](https://github.com/cortinah/hockeystick/blob/main/R/daily_temp.R): `R/daily_temp.R`
- [Daily temperature plots](https://github.com/cortinah/hockeystick/blob/main/R/daily_temp.R): `R/daily_temp.R`
- [2K reconstruction](https://github.com/cortinah/hockeystick/blob/main/R/2kyears_temp.R): `R/2kyears_temp.R`
- [Paleo records](https://github.com/cortinah/hockeystick/blob/main/R/paleo.R): `R/paleo.R`
- [CMIP6 projections](https://github.com/cortinah/hockeystick/blob/main/R/future_climate.R): `R/future_climate.R`
- [Climate data grid](https://github.com/cortinah/hockeystick/blob/main/R/extra_viz.R): `R/extra_viz.R`
- [Warming stripes](https://github.com/cortinah/hockeystick/blob/main/R/instrumental_temp.R): `R/instrumental_temp.R`

### Atmosphere and emissions

- [CO₂ data and plots](https://github.com/cortinah/hockeystick/blob/main/R/carbon.R): `R/carbon.R`
- [Methane data and plots](https://github.com/cortinah/hockeystick/blob/main/R/methane.R): `R/methane.R`
- [Emissions data and plots](https://github.com/cortinah/hockeystick/blob/main/R/emissions.R): `R/emissions.R`

### Earth indicators

- [Sea level data and plots](https://github.com/cortinah/hockeystick/blob/main/R/sealevel.R): `R/sealevel.R`
- [Sea ice data and plots](https://github.com/cortinah/hockeystick/blob/main/R/seaice.R): `R/seaice.R`
- [Sea ice curves](https://github.com/cortinah/hockeystick/blob/main/R/icecurves.R): `R/icecurves.R`
- [Hurricane data and plots](https://github.com/cortinah/hockeystick/blob/main/R/hurricanes.R): `R/hurricanes.R`
- [Wildfire data and plots](https://github.com/cortinah/hockeystick/blob/main/R/fires.R): `R/fires.R`

### Cache support

- [Data cache](https://github.com/cortinah/hockeystick/blob/main/R/data_cache.R): `R/data_cache.R`

### Other components

- **R user**

## Connections

- R user → Daily temperatures: calls getter (evidence: `README.md`)
- Daily temperatures → Daily temperature plots: passes data (evidence: `README.md`)
- R user → CO₂ data and plots: calls getter (evidence: `README.md`)
- CO₂ data and plots → CO₂ data and plots: plots data (evidence: `README.md`)
- R user → CMIP6 projections: calls getter (evidence: `README.md`)
- CMIP6 projections → CMIP6 projections: maps data (evidence: `README.md`)
- R user → Emissions data and plots: calls getter (evidence: `README.md`)
- Emissions data and plots → Emissions data and plots: plots data (evidence: `README.md`)
- R user → Instrumental temperatures: calls getter (evidence: `README.md`)
- Instrumental temperatures → Temperature plots: passes data (evidence: `README.md`)
- R user → 2K reconstruction: calls getter (evidence: `README.md`)
- R user → Paleo records: calls getter (evidence: `README.md`)
- R user → Methane data and plots: calls getter (evidence: `README.md`)
- R user → Sea level data and plots: calls getter (evidence: `README.md`)
- R user → Sea ice data and plots: calls getter (evidence: `README.md`)
- R user → Sea ice curves: calls getter (evidence: `README.md`)
- R user → Hurricane data and plots: calls getter (evidence: `README.md`)
- R user → Wildfire data and plots: calls getter (evidence: `README.md`)
- R user → Climate data grid: calls visualizer (evidence: `README.md`)
- R user → Warming stripes: calls visualizer (evidence: `README.md`)
- R user → Temperature plots: calls plot (evidence: `README.md`)
- R user → Daily temperature plots: calls plot (evidence: `README.md`)
