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

Correct computation of climatologies of min/max climate index variables #50

Closed
rod-glover opened this issue Nov 19, 2018 · 0 comments
Closed
Assignees

Comments

@rod-glover
Copy link
Contributor

rod-glover commented Nov 19, 2018

We have been computing climatologies for climate index variables involving miniumum and maximum values incorrectly. Specifically, this is known to be a problem for the variables rx1day, rx5day. There may be others.

The climatology script presently computes multi-decadal monthly, seasonal, and annual means by applying the CDO operators ymonmean, yseasmean, and timmean (respectively) to the data file, regardless of the variable. All three of these operators take averages of the variable values both within the the intra-year interval (month, season, year) and then across the multi-decadal period for each such interval.

For climate index variables such as rx1day and rx5day, it is incorrect to take averages within the intra-year interval. Instead, an operator appropriate to the type of value must be applied, namely the maximum of the values within the interval. For other variables, the intra-year interval operator may have to be different, e.g., for a variable that involved minimum values, the operator would likely have to take minimums within the intra-year interval.

(Note: As our base datasets for rx1day and rx5day have monthly resolution, the problem only arises for the seasonal and annual climatologies; mean and max are the same for a 1-item (1-month) interval. But we should fix it generically, because there is no guarantee that this won't be applied to some dataset with sub-monthly temporal resolution.)

The following is an excerpt from an email chain discussing the problem.

[[REG]] Then we take climatological means of both these variables, meaning we take 30-year means of monthly, seasonal, and annual averages of the variables. It's not clear to me which of these values is meaningful and/or useful to our clients.

[[TQM]] Almost. We don’t take 30-year means of monthly, seasonal, and annual AVERAGES rather we take 30-year means of monthly, seasonal, or annual MAXIMA

[[REG]] Maybe that's what we SHOULD be doing, but our data preparation script currently forms 30-year means of monthly, seasonal, and annual AVERAGES. Specifically, for a time series with delta-t = 1 month, the seasonal and annual means are 30-year means of the MEANS of that time series the indicated period (seasonal, annual) within each year. I think that you are saying (and it makes sense to me), that this should be 30-year means of the MAXIMA over the indicated period. If so, we need to change our climatological-values script to process these variables correctly. And we need to establish exactly which ones get this treatment, which get the "means of means" treatment, and which, if any get some other treatment.

[[TQM]] It’s fine to take a climatological mean in the sense of averaging over 30 years – as long as you’re doing that last. But annual RX1day is the maximum of the 12 monthly maxima, summer RX1day is the maximum of the 3 monthly maxima. If you are instead averaging where I’m saying that you should take a maximum that variable isn’t a thing – there’s nothing else we can call it. It should never be calculated that way and certainly never be displayed – it’s quite misleading since it’s similar but different to something we do produce on a regular basis. The reason that this thing that is now being computed doesn’t have a name is because from a user perspective it’s meaningless. RX1day June is the wettest day in June, RX1day July is wettest day in July, RX1day is wettest day in August. RX1day summer is wettest day in summer – that HAS to be the maximum of the three monthly maximums. The average of those 3 values just doesn’t measure anything since individual months in the same season can be quite different from each other. The average of all months’ RX1day values doesn’t tell us anything.

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

No branches or pull requests

2 participants