Skip to content

Record what each climate index is measured in - #24

Merged
chross22 merged 1 commit into
masterfrom
index-units
Aug 7, 2026
Merged

Record what each climate index is measured in#24
chross22 merged 1 commit into
masterfrom
index-units

Conversation

@chross22

@chross22 chross22 commented Aug 7, 2026

Copy link
Copy Markdown
Owner

The catalog gave every index a label and a description but no units, so nothing said that AMOC is in Sverdrups while NAO is in standard deviations. In a table of model coefficients those look comparable and are not.

Index Units
AMOC Sv
AMO degrees C
NAO / AO / PDO standardized anomaly
LCR fraction

The standardized ones say so rather than being left blank or called dimensionless. "Unitless" would be true and useless; what a reader needs to know is that the number is in standard deviations, which is exactly why a coefficient fitted to it means something different from one fitted to AMOC.

Assigned from the data, not from memory

The two that could plausibly have been either were checked against the published series over 2000–2010:

AMO   range -0.18 to 0.51   sd 0.15    -> degrees C
PDO   range -2.00 to 2.10   sd 0.93    -> standardized

They look similar in a catalog listing and are not the same kind of number.

Where it shows

index_dictionary() gains a units column and prints it:

 name label                                      units
 NAO  North Atlantic Oscillation                 standardized anomaly
 AMO  Atlantic Multidecadal Oscillation          degrees C
 AMOC Atlantic Meridional Overturning Circulation Sv

The README table gains a Units column alongside the record each index covers, with a note that only AMO and AMOC carry physical units.

Verification

2 new tests: every index declares units (so a new one cannot be added without them), and units reach both the dictionary data frame and its printed output.

R CMD checkStatus: OK. Full suite green. Installed into both R 4.6.1 and 4.3.2.

🤖 Generated with Claude Code

The catalog gave every index a label and a description but no units, so
nothing said that AMOC is in Sverdrups while NAO is in standard
deviations. In a table of model coefficients those look comparable and
are not.

  AMOC  Sv
  AMO   degrees C
  NAO   standardized anomaly
  AO    standardized anomaly
  PDO   standardized anomaly
  LCR   fraction

The standardized ones say so rather than being left blank or called
dimensionless. "Unitless" would be true and useless; what a reader needs
to know is that the number is in standard deviations, which is why a
coefficient fitted to it means something different.

Assigned from the data rather than from memory: AMO ranges about -0.2 to
0.5 with sd 0.15 over 2000-2010, which is degrees C, while PDO ranges
about -2 to 2 with sd 0.93, which is standardized. The two look similar
in a catalog listing and are not the same kind of number.

Surfaced in index_dictionary(), in its printed output, and in the README
table alongside the record each index covers.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@chross22
chross22 merged commit 631ae54 into master Aug 7, 2026
5 checks passed
@chross22
chross22 deleted the index-units branch August 7, 2026 19:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant