Skip to content

Circular metrics for directional quantities everywhere; raise on linear ones - #737

Open
ecomodeller wants to merge 1 commit into
mainfrom
directional-linear-metrics-raise
Open

ecomodeller wants to merge 1 commit into
mainfrom
directional-linear-metrics-raise

Conversation

@ecomodeller

Copy link
Copy Markdown
Member

Closes #725.

Only Comparer.skill() used circular metrics by default. cc.skill(), mean_skill(), score() (both) and gridded_skill() computed linear bias/rmse on angles: 1° vs 359° scored 358°.

Behaviour changes:

  • Defaults are circular wherever the quantity is directional; score() defaults to c_rmse there (its metric default is now None).
  • A built-in linear metric (bias, rmse, cc, …) on a directional quantity raises and names the circular one. Custom metrics are passed through.
  • A collection mixing directional and scalar quantities raises from skill/score/mean_skill/gridded_skill until one quantity is selected with sel(quantity=...). Before, the direction rows were silently linear.
  • plot.taylor() raises for directional data, since it is built on linear std and correlation.

🤖 Generated with Claude Code

…linear ones

cc.skill(), mean_skill(), score() and gridded_skill() ignored is_directional
and used linear metrics by default. Asking for a built-in linear metric on a
directional quantity now raises, naming the circular one. A collection that
mixes directional and scalar quantities raises until one is selected.

Closes #725

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

This branch has not been deployed

No deployments
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.

Non-circular metrics on a directional quantity should raise

1 participant