Climate Normal 30-Year Averager
Audit twelve month-of-year normals within an explicit 30-year baseline with independent observation flags/coverage, not missing-as-zero or a falsely complete climatological normal.
Description
Climate normals summarize a defined reference period rather than simply averaging every available observation.
Climate normals summarize a defined reference period rather than simply averaging every available observation. Separate observation flags prevent absent monthly values from silently entering the average as zeros.1
Audit twelve month-of-year normals within an explicit 30-year baseline with independent observation flags/coverage, not missing-as-zero or a falsely complete climatological normal.
When to use Climate Normal 30-Year Averager
Use this tool to audit twelve month-of-year normals within an explicit 30-year baseline with independent observation flags/coverage, not missing-as-zero or a falsely complete climatological normal.
Prepare the climate observations and independently chosen model parameters. Confirm units, daily coverage, chronological order and the intended seasonal window.
How to use Climate Normal 30-Year Averager and understand its results
- Prepare the climate observations and independently chosen model parameters. Confirm units, daily coverage, chronological order and the intended seasonal window.
- Enter calendarYears, monthlyValuesByYear, monthlyObservedFlagsByYear, baselineStartYear, baselineEndYear, callerMinimumObservedYearsPerMonth using the field table and calculation rules, then run the tool.
- Read monthlyClimateNormals, monthlyObservedYearCounts, baselineCalendarSpanYears. The explanation below defines the units, signs, ordering and any flags or placeholder values.
- If the tool reports an input issue, correct the values and run it again. Apply the stated assumptions when interpreting a successfully returned result.
| Input field | Meaning | Value type; see rules below | Requirement |
|---|---|---|---|
| calendarYears | Calendar years | list of number | Required |
| monthlyValuesByYear | Monthly values by year | list of list of number | Required |
| monthlyObservedFlagsByYear | Monthly observed flags by year | list of list of number | Required |
| baselineStartYear | Baseline start year | integer | Required |
| baselineEndYear | Baseline end year | integer | Required |
| callerMinimumObservedYearsPerMonth | Caller minimum observed years per month | integer | Required |
Enter strictly increasing nonnegative integer years and aligned rectangular matrices with twelve value and binary-observation columns per year. The inclusive baseline must span exactly 30 years, and the required observed-year count per month must be a positive integer. For each month the tool averages only flagged records inside the baseline, reports coverage counts and errors if any month lacks the required coverage.
Paired lists must be nonempty and have equal lengths. Each sequence checked for increasing order must contain at least two strictly increasing values.
normal_month = mean of flagged observations inside the inclusive 30-year baseline Units, indexing, boundary conditions and exceptional cases are defined in the calculation rules above.
| Output field | Meaning | Value type |
|---|---|---|
| monthlyClimateNormals | Monthly climate normals | list of number |
| monthlyObservedYearCounts | Monthly observed year counts | list of number |
| baselineCalendarSpanYears | Baseline calendar span years | number |
{
"input": {
"calendarYears": [
1991,
1992
],
"monthlyValuesByYear": [
[
10,
10,
10,
10,
10,
10,
10,
10,
10,
10,
10,
10
],
[
20,
20,
20,
20,
20,
20,
20,
20,
20,
20,
20,
20
]
],
"monthlyObservedFlagsByYear": [
[
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1
],
[
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1
]
],
"baselineStartYear": 1991,
"baselineEndYear": 2020,
"callerMinimumObservedYearsPerMonth": 2
},
"output": {
"monthlyClimateNormals": [
15,
15,
15,
15,
15,
15,
15,
15,
15,
15,
15,
15
],
"monthlyObservedYearCounts": [
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2
],
"baselineCalendarSpanYears": 30
}
} Limitations and assumptions
The required coverage is supplied policy, not a claim of compliance with an external normals standard. Unflagged numeric placeholders are ignored but must still be finite. No missing-data estimation, station homogenization or uncertainty interval is performed.
Numeric inputs must be finite. Follow the calculation-specific rules for overflow, underflow and exceptional cases. Matrices are limited to 128 rows and 128 entries per row; other numeric lists are limited to 100,000 entries. Missing required fields, extra fields, wrong value types and violations of the calculation rules are input errors.
Alternative or Complementary methods
Use Bioclimatic Variable BIO1-BIO19 Selector: Compute BIO1–BIO19 under explicit equal-month weighting/population-SD and cyclic three-month quarters, retaining first tied quarter indices; monthly climate normals only, no raster/geographic selector or WorldClim hidden +1 precipitation convention. For a complementary task, use Precipitation Seasonality CV: Report measured twelve-month precipitation seasonality under population monthly SD, not sample SD or silently smoothed/+1 precipitation; zero mean leaves CV undefined.
References
-
Climate Normal 30-Year Averager — tool.io
Similar or alternative tools
- Bioclimatic Variable BIO1-BIO19 Selector
Compute BIO1–BIO19 under explicit equal-month weighting/population-SD and cyclic three-month quarters, retaining first tied quarter indices; monthly climate normals only, no raster/geographic selector or WorldClim hidden +1 precipitation convention.
- Precipitation Seasonality CV
Report measured twelve-month precipitation seasonality under population monthly SD, not sample SD or silently smoothed/+1 precipitation; zero mean leaves CV undefined.