Basics
Measurements from weather stations
Weather stations record metrics at fixed coordinates. The current data collection includes temperature, precipitation, sunshine duration and further monthly climate and event values. The interface enables only metrics that are both configured and present in the data.
Stations may cover different measurement periods and metrics. An empty month is therefore different from a measured value of zero. Climate Chronicle does not fill missing months through estimates or interpolation.
Currently visible metrics and units
The current configuration enables eleven metrics. Whether one of them can be selected for a country and month also depends on the manifest.
- Monthly mean: mean temperature (°C)
- Monthly extremes: maximum and minimum temperature (°C)
- Monthly totals: precipitation (mm), sunshine duration (h) and fresh snow (cm)
- Monthly day counts: summer, tropical, frost, ice and thunderstorm days (d)
Source values
Monthly values from meteorological services after assignment and import into the internal data format.
Standardised values
Numerical monthly values in twelve-element arrays, with a country prefix on the station ID and null for gaps.
Calculated values
Station averages, moving averages, comparisons, regressions and anomalies that are calculated only within Climate Chronicle.
Display values
Colour normalisation, pixel radius and map animation; they do not change the stored measurement.
Sources
Data sources used
All sources used in the project.
| Area | Service and data set | Use |
|---|---|---|
| Austria | GeoSphere Austria Open Data: Station data v2 (1 m) | Quality-controlled station data at monthly resolution |
| Germany | German Weather Service, Climate Data Center: Historical climate data, climate indices and additional precipitation data | Temperature, precipitation, sunshine duration and available climate indices |
| Switzerland | Federal Office of Meteorology and Climatology MeteoSwiss: automatic weather stations, automatic precipitation stations and manual precipitation stations | Official monthly files; compatible values for temperature, precipitation, sunshine duration, air pressure, fresh snow and temperature-related day counts are imported |
| France | Météo-France: Basic climatological data - monthly | Monthly station values for temperature, precipitation, sunshine duration and fresh snow, as well as temperature-, precipitation- and thunderstorm-related day counts |
| Czechia | Czech Hydrometeorological Institute (CHMI): historical monthly data, current monthly data and climate-data documentation | Monthly values for temperature, precipitation, sunshine duration, humidity, wind speed, air pressure and snow depth, as well as temperature- and snow-related day counts |
| Poland | Institute of Meteorology and Water Management - National Research Institute (IMGW-PIB): monthly climate data, monthly precipitation data and monthly synoptic data | Monthly values for temperature, precipitation, sunshine duration, humidity, wind speed, air pressure and snow depth, as well as thunderstorm, fog, snowfall and snow-cover days; daily data is additionally aggregated into monthly values |
| Spain | AEMET - Agencia Estatal de Meteorología, data set "Climatologías mensuales anuales": AEMET OpenData, explanation of AEMET OpenData and API documentation | Monthly values for temperature and precipitation as well as tropical-, frost- and thunderstorm-related day counts |
| Norway | Norwegian Meteorological Institute (MET Norway), Frost API: Frost API, observations endpoint and guide | Monthly values for temperature, precipitation and sunshine duration; daily data is additionally used for fresh snow as well as summer-, tropical-, frost- and ice-related day counts |
Global reference data
| Data set | Description | Use |
|---|---|---|
| HadCRUT5, version 5.1.0.0 | HadCRUT5 is a scientific time series of global monthly temperature anomalies. | Separate global reference for comparison with local station series |
Heatmap
How the heatmap works
Each station with a valid monthly value can form a coloured circular area. At lower zoom levels, a 10-pixel map grid reduces dense station groups to one representative station per grid cell; from zoom level 9 in Austria, Germany, Czechia and Poland and 10 in Switzerland and France, all matching stations are included. The result supports spatial orientation and is not a meteorological area interpolation.
For colour selection, the measurement is normalised and limited to the range from 0 to 1. Mean temperature uses a fixed scale from −5 to 25 °C, precipitation from 0 to 200 mm. Further fixed limits apply, among others, to maximum temperature, minimum temperature, sunshine duration and new snow; otherwise, the minimum and maximum come directly from the manifest. From the metric colours, the renderer creates a palette of 256 colours and interpolates their RGB channels.
Colour scale in detail
colour_value = clamp((value − scale_minimum) / (scale_maximum − scale_minimum), 0, 1)value- The station measurement for which the colour is shown.
scale_minimum- The lowest value on the colour scale.
scale_maximum- The highest value on the colour scale.
colour_value- The position of the measurement on the colour scale - from the bottom (0) to the top (1).
The influence radius is country-specific: for example, Austria 21.8 km, Germany 25 km, Switzerland 15 km, France 22 km, and Czechia and Poland 20 km each. It depends on the number of stations and the aim of obtaining a largely continuous coloured area across the country. Individual combinations of country and metric can override this value. Leaflet converts the radius to pixels depending on zoom level and latitude; the lower limit is, for example, 8 pixels, 20 pixels for Germany, and the upper limit is always 640 pixels.
Circle size on the map in detail
metres_per_pixel = 156543.03392804097 × max(cos(latitude_in_radians), 0.1) / 2zoompixel_radius = clamp(radius_metres / metres_per_pixel, country_minimum_radius, 640)latitude_in_radians- The station's north-south position; it is technically expressed in radians for map calculations.
zoom- How far the map is zoomed in or out.
radius_metres- The defined size of the circle around a station.
metres_per_pixel- How many metres on the map correspond to one pixel.
country_minimum_radius- The country-specific lower limit of 8 pixels, or 20 pixels for Germany.
pixel_radius- The circle size actually drawn on the map.
Within a station area, the maximum opacity is 0.80. Where areas overlap, the largest distance-dependent dominance weight determines a pixel's colour; values from multiple stations are not averaged scientifically. Colours are blended softly only across 1.2 pixels at the outer circle edges and direct boundaries between two station areas. A subsequent blur of 0.3 pixels is active; the heatmap currently renders at 70% of the visible resolution and is scaled smoothly to the map size. Depending on the future number of countries, this can be adapted flexibly so that as many countries as possible can be active simultaneously before performance declines.
Dominance, markers and month changes in detail
influence = (1 − distance / pixel_radius)2. The additional dominance exponent is 1 by default. The weight determines the dominant station and, at a narrow boundary between station areas, the share of colour blending; it does not produce a meteorological average. Opacity is not controlled by this.
Clickable station markers are a separate 12 × 12 pixel layer and do not carry a measurement as colour. Their number is also reduced by a separate map grid at lower zoom levels. If the current monthly value is missing, both the heatmap area and marker are absent in normal mode.
When changing months, normalised start and target values are animated over 820 ms with 1 − (1 − progress)3. After panning the map, the old and new views cross-fade over 510 ms. Comparison mode shows two separately calculated heatmaps with a draggable split; no differences are calculated.
influence- How strongly this station affects a particular position on the map.
distance- The distance between the station and that position on the map.
pixel_radius- The size of the circle influenced by the station on the map.
progress- How far the change to the next month has progressed - from 0 to 1.
2- Makes the influence stronger near the station; the additional dominance value is set to 1.
Calculations
Calculations and methodology
Each expandable entry contains the calculation, temporal assignment, gap rule and precision.
Monthly station average on the timelineHome-page timeline
Shows: the average of the stations for which a value is available in that month.
- Input data
- Valid monthly values from all stations for the metric.
- Calculation
Tt = Σ xs,t / nt. Every station with a value has the same weight.- Assignment
- To the evaluated month
t. - Missing values
- Missing stations are omitted; the denominator is the actual number of stations. If no value is available, the month remains
null. - Precision
- Rounded to two decimal places when the timeline is generated; subsequent display is metric-specific.
Tt- The average of all stations with a value in this month.
xs,t- The monthly value of an individual station.
nt- The number of stations with a usable value in this month.
Centred 24-month meanHome-page and station timeline, HadCRUT5
Shows: a smoothed history. Values from the months before and after the month under consideration are combined for this purpose.
- Calculation
Gt = Σ valid xj / number of valid xjforj = t−11 … t+12.- Assignment
- To the current month
t; because the window has an even length, it is not symmetrical. - Series edge
- If too few months are available to the left or right, the 24-month window is shifted to the available edge instead of being shortened. This keeps two full annual cycles in the mean and prevents incomplete years from causing an abrupt rise or drop. At the start, the first 24 months are used; at the end, the last 24 months. If the series is shorter than 24 months, the window is only truncated.
- Missing values
- Missing neighbouring values in the window are ignored; if the current raw value is missing, the smoothed point also remains empty.
- Precision
- The calculated browser value is not rounded; rounding takes place only for display.
Example: If only 22 values are available in the window, their sum is divided by 22. If the current month itself is empty, no point is produced regardless of neighbouring values. At the edge of the series, several months share the same complete 24-month window; the line is flat there.
Gt- The smoothed value shown for this month in the chart.
xj- Each available monthly value included in the smoothing.
j- The months included: the eleven preceding months, the current month and the twelve following months; at the edge, a shifted 24-month window.
Trailing 12-/24-month and 10-/30-year meanRegular station charts
Shows: the average of the most recent 12 or 24 months, or of the most recent 10 or 30 years, up to and including the month under consideration.
- Calculation
Mi,W = Σ xj / Wforj = i−W+1 … i, withW = 12,24,120or360.- Assignment
- To the final month of the period under consideration.
- Missing values
- A point is produced only when all W values in the window are available. Values before the visible period are included if they exist in the station history.
- Precision
- Intermediate values are not rounded; the display uses the metric precision.
Mi,W- The calculated average for the month under consideration.
Wis the window length in months: 12, 24, 120 or 360. xj- An individual monthly value included in this average.
Comparison average, difference and coverageMonth, period and station comparison
Shows: the extent to which two selected months, periods or stations differ.
- Pairing
- Only pairs
(Ai, Bi)in which both values are valid are included. - Calculation
Ā = ΣAi/n,B̄ = ΣBi/n,Δ = B̄−Ā,Δ% = Δ/|Ā|×100,coverage = n/expected pairs.- Missing values
- Invalid pairs are excluded on both sides. Partial coverage is calculated and reported as
valid / total. If no pair is available, the result remains empty. - Restriction
- Relative differences are omitted when
Ā = 0and for mean, maximum and minimum temperature, humidity and air pressure. - Precision
- Calculated without intermediate rounding; result display is metric-specific and the relative difference uses one decimal place.
Ai- The value on the first side of the comparison.
Bi- The corresponding value on the second side of the comparison.
n- The number of values available on both sides of the comparison.
Ā- The average of the first side of the comparison.
B̄- The average of the second side of the comparison.
Δ- The difference between the two averages in the unit of the metric.
Δ%- The percentage difference relative to the first side of the comparison.
Strict trailing 12-month meanHistory lines in period and station comparisons
Shows: a smoothed annual history. A point appears only when values are available for all twelve preceding months.
- Calculation
Vi = Σ xj / 12forj = i−11 … i.- Assignment
- To the final month of the trailing window.
- Missing values
- No result is produced before the twelfth entry or if even one value in the window is missing.
- Precision
- No rounding before display.
Vi- The average of the most recent twelve months for the month under consideration.
xj- A monthly value included in this twelve-month average.
j- The months included: the current month and the eleven preceding months.
Linear regressionTemperature trend view
Shows: the straight trend line that best summarises the temperature history over the selected period.
- Input data
- For each month, its position in the series (
xi) and the available measurement (yi) are used. - Calculation
b = (nΣxy−ΣxΣy)/(nΣx²−(Σx)²),a = (Σy−bΣx)/n,trend(i)=a+b×i.- Missing values
- Missing measurements are removed from the estimate while their index spacing is retained. At least two valid points and a non-zero denominator are required.
- Precision
- No intermediate rounding; no significance tests or uncertainty intervals.
xi- The consecutive position of the month in the time series, beginning at 0.
yi- The available temperature value for this month.
n- The number of monthly values available for the trend line.
a- The calculated starting value of the trend line.
b- How much the trend line rises or falls per monthly position.
i- The monthly position for which the trend line provides a value.
Local temperature anomaly and HadCRUT5 re-referencingHadCRUT5 comparison
Shows: how much local and global temperatures deviate from their respective selected averages. The two series are placed side by side only and are not combined arithmetically.
- Station reference
- For each calendar month
m:Cm = Σ station value / countduring the reference period;anomalyt = valuet − Cmonth(t). - Global reference
Offset = mean of all HadCRUT5 monthly anomalies during the reference period;re-referencedt = originalt − offset.- Minimum coverage
- At least ten reference years. For each calendar month, at least
round_up(years × 0.8)station values are required; otherwise the local series is not calculated. - Display
- Both series are independently smoothed using a centred 24-month mean and aligned to identical calendar months. For the coloured area between the lines, the renderer inserts a linearly interpolated intersection where the difference changes sign:
fraction = difference_start / (difference_start − difference_end). - Precision
- No intermediate rounding. The first monthly value from HadCRUT5 is used; the stored 95% limits are currently not included in the chart or calculation.
Cm- The typical station value for this calendar month during the selected reference period.
t- The month for which the deviation is shown.
Y- The number of years in the selected reference period.
Offset- The average of the global HadCRUT5 anomalies during the reference period.
difference_start- The distance between the local and global line at the beginning of a segment.
difference_end- The distance between the local and global line at the end of a segment.
fraction- The calculated position at which the two lines meet within this segment.
Station distance and elevation differenceContext in the station comparison
Shows: how far apart two stations are and how large their elevation difference is. Neither value changes the measurements.
- Distance
- Distance over the Earth's surface, calculated from latitude and longitude using an Earth radius of 6,371 km.
- Elevation
elevation_difference = elevationB − elevationA.- Missing values
- If coordinates or numerical elevations are missing, the respective value remains empty.
- Precision
- Calculated internally without intermediate rounding; distance is formatted in the interface.
elevationA- The elevation of the first station above sea level.
elevationB- The elevation of the second station above sea level.
sign- Indicates whether the second station is higher or lower than the first.
Calculation
Monthly values calculated from daily data
Where no direct monthly values are available for a metric, Climate Chronicle can combine suitable daily data into monthly values. The table shows the daily input used, the calculation and key boundaries.
Complete months: A monthly value from daily data is calculated only when a valid daily value exists for every calendar day of that month. If even one daily value is missing, the monthly value remains empty.
| Metric | Calculation | Unit | Note |
|---|---|---|---|
| Mean temperature | Σ Tmean_d / n | °C | The provider's official daily mean is used. (Tmax + Tmin) / 2 is used only where the source explicitly defines that method. |
| Maximum temperature | MAX(Tmax_d) | °C | The absolute monthly maximum is stored, not the mean of all daily maxima. |
| Minimum temperature | MIN(Tmin_d) | °C | The absolute monthly minimum is stored. |
| Precipitation | Σ RR_d | mm | Daily precipitation totals are summed. |
| Sunshine duration | Σ SUN_d | h | Daily sunshine duration is summed. |
| Relative humidity | Σ RHmean_d / n | % | Only genuine daily means are included, not individual observation-time values. |
| Mean wind speed | Σ FFmean_d / n | m/s | The monthly value is calculated from daily mean wind speeds, not from a daily maximum or gust. |
| Air pressure | Σ Pmean_d / n | hPa | Only one pressure type is used per series; station pressure is not mixed with sea-level pressure. |
| Max. snow depth | MAX(SH_d) | cm | The maximum daily total snow depth is stored, not the sum. |
| Fresh snow | Σ NSH_d | cm | Daily totals are summed; fresh snow is not derived from changes in total snow depth. |
| Summer days | Σ I(Tmax_d ≥ 25 °C) | d | Days with a daily maximum temperature of at least 25 °C are counted. |
| Tropical days | Σ I(Tmax_d ≥ 30 °C) | d | Days with a daily maximum temperature of at least 30 °C are counted; tropical nights remain separate. |
| Frost days | Σ I(Tmin_d < 0 °C) | d | Only values below 0 °C are included; 0 °C does not count. |
| Ice days | Σ I(Tmax_d < 0 °C) | d | Only days whose daily maximum remains below 0 °C are counted. |
| Heating days | Σ I(Tmean_d < 12 °C) | d | Heating days use the 20/12 rule with Tmean_d < 12 °C. |
| Days ≥ 1 mm | Σ I(RR_d ≥ 1 mm) | d | Days with at least 1 mm of precipitation are counted; this may include snow. |
| Days ≥ 10 mm | Σ I(RR_d ≥ 10 mm) | d | Days with at least 10 mm of precipitation in 24 hours are counted. |
| Snow-cover days | Snow cover or SH_dΣ I(SNOW_COVER_d) | d | Observations are preferred. SH_d ≥ 1 cm is used only where the source specifies that definition. |
| Snowfall days | Snowfall observationΣ I(SNOWFALL_d) | d | Snowfall days are not derived from new_snow > 0, because snowfall can occur without measurable fresh snow. |
| Days without sunshine | Σ I(SUN_d = 0 h) | d | Only genuine measured zero values are counted; missing daily values do not count. |
| Days ≥ 5 sunshine hours | Σ I(SUN_d ≥ 5 h) | d | Days with at least five sunshine hours are counted. |
| Days ≥ 10 sunshine hours | Σ I(SUN_d ≥ 10 h) | d | Days with at least ten sunshine hours are counted; this threshold is not universally standardised. |
| Thunderstorm days | Thunderstorm observationΣ I(THUNDER_d) | d | Only observed thunderstorms are counted; they are not inferred from precipitation, temperature or wind. |
| Fog days | Visibility or fog observationΣ I(FOG_d) | d | Fog days are determined only from suitable observation data, not from high relative humidity alone. |
| Wind days ≥ 60 km/h | Σ I(FX_d ≥ 60 km/h) | d | The daily peak wind speed is used, not the daily mean wind speed. |
| Wind days ≥ 80 km/h | Σ I(FX_d ≥ 80 km/h) | d | The daily peak wind speed is used, not the daily mean wind speed. |
Scientific basis: DWD Climate Data Center and GeoSphere Austria daily data. The definition provided by the imported source remains decisive.
Charts
Charts and their data basis
Climate analysis: All calculations and explanations for the climate analysis are in the climate analysis guide.
| View | Data point | Processing | Gaps |
|---|---|---|---|
| Heatmap | Station value for one month | Colour normalisation and circle renderer | Station is not drawn |
| Home-page timeline | Monthly station average | Centred 24-month mean | No point without the current monthly value; at the edge the 24-month window is shifted, missing neighbours in the window are ignored |
| Station timeline | Monthly value from one station | Centred 24-month mean | No point without the current station value; at the edge the 24-month window is shifted, missing neighbours in the window are ignored |
| Regular station chart | Monthly value from one station | Optional trailing 12-/24-month and 10-/30-year lines; minimum/maximum markers | No point without a complete window; missing values leave gaps |
| Climate analysis | Spatial monthly value, min/max and 12-month series | Theil-Sen trends, historical corridors and scenario projections | Months with insufficient coverage are marked and excluded from trend calculations; see the climate analysis guide |
| Temperature trend | Monthly value and regression value | Linear least squares | Missing values removed from estimate |
| Period/station comparison | Paired monthly values | Strict trailing 12-month mean | Complete windows only |
| HadCRUT5 comparison | Local and global anomaly | Shared reference, separate 24-month smoothing | Reference coverage and current value required |
The visible period follows the respective period selection and is filtered inclusively from the start month through the end month. Comparison periods use complete calendar years and two directly consecutive blocks of equal length.
Timeline colour gradient and station count
The colour of the smoothed timeline is normalised from its visible minimum and maximum to the range from 0 to 1 and linearly interpolated in RGB between the metric colour stops. If the smaller station count of two adjacent points is below the threshold, the segment is drawn grey and thinner instead.
The general threshold is 25 stations. The general fallback threshold is 25 stations. Mean temperature is currently set to 150 stations, with 200 for Germany and 30 for Switzerland. Other metrics have their own thresholds and, in some cases, country-specific variations. This threshold does not change any numerical value; it identifies only the line segment.
Data flow
From source data to display
Weather services provide their station and measurement data in different file formats, column structures and naming conventions. Local helper tools assign this source data to a shared schema. They do not change the scientific meaning of a measurement; they establish the country, station, month and metric to which it belongs.
This produces clearly separated JSON files for annual values, stations, availability, timelines, station histories and reference periods. Climate Chronicle can therefore load only the data required by the current view.
1. Source data
- Obtain source dataThe dedicated downloaders for Germany, France, Switzerland, Czechia and Poland obtain official files from the weather services.
For the Swiss downloader, automatic weather stations, automatic precipitation stations and manual precipitation stations can be selected individually. The Czech downloader obtains historical and current monthly files from the CHMI Open Data portal. The Polish downloader obtains monthly and daily climate, precipitation and synoptic data from the IMGW-PIB public data portal. Austrian monthly data comes from the GeoSphere Austria Data Hub.
2. Import and standardisation
- Map and add monthly valuesMy Climate Data Mapper reads tables, folders and supported GZIP, TXT and ZIP files. Country profiles identify the date, station ID and known source columns; only selected and supported metrics are imported.
When writing directly to a folder, the Climate Data Mapper reads existing annual files and merges new station and monthly values with them. With repeated imports, the shared data set gradually grows to include additional countries, stations, years and measurements without discarding existing values from other countries.
The processed data can also be exported in the station view. - Create annual filesA file is created for each country, metric and year under
data/metric/COUNTRY/METRIC/YEAR.json. Station IDs receive a country prefix to prevent duplicate IDs across national numbering systems, and every station has twelve fixed monthly positions.
Unfortunately, I learned about the OSCAR system too late; perhaps I will offer it as an additional source later. - Create the station directoryThe Station Mapper standardises station ID, name, country, coordinates and elevation and creates the files under
data/stations. - Add station periodsThe Station Period Builder determines the first and last available measurement month for each station. Temperature is the primary source and other metrics are a fallback; it also updates station counts in the country configuration.
3. Data packages and analyses
- Create the manifestThe Manifest Builder derives countries, metrics, years, available months and the smallest and largest values from the annual files. This manifest later controls the selectable data ranges in the interface.
- Calculate timelinesThe Timeline Builder calculates the equally weighted average of available station values for every month, country and metric, and also stores the number of participating stations.
- Bundle station historiesThe History Builder combines separate annual files per station under
data/history/COUNTRY/STATION.json, so multi-year histories can be loaded without data from other stations. - Prepare references and the global seriesThe Reference Builder calculates monthly station averages for defined reference periods and checks the required data coverage. The HadCRUT5 Builder then converts the separate global monthly series, including uncertainty bounds, into the project format.
4. Publication and use
- Publish the data setThe Uploader packages the complete data directory as an uncompressed ZIP, transfers it automatically via SSH/SCP and has it checked and unpacked on the server in a separate staging directory. Only after successful verification is the previous data directory replaced atomically. Currently, around 30,000 JSON files are published in under five minutes.
- Display in the browserClimate Chronicle loads the generated data packages as needed and uses them for the map, timelines, station views, comparisons and anomalies.
Once defined, countries and measurements are integrated into the same workflow, allowing all values to be published semi-automatically in only a few steps.
What is an annual file? It always belongs to exactly one country, one metric and one year-for example, Germany, precipitation and 2025. It lists every station with twelve positions in the fixed order from January to December. An available measurement occupies its monthly position, while a data gap is stored as null. This division means the page does not have to load the entire data set at once.
Which metrics can the processing tools produce?
The Climate Data Mapper currently supports 26 standardised metrics that can be imported across countries. These include ten monthly values: mean, maximum and minimum temperature, precipitation, sunshine duration, relative humidity, mean wind speed, air pressure, maximum snow depth and fresh snow.
A further 16 metrics count days with specific conditions: summer, tropical, frost, ice and heating days; precipitation days with at least 1 or 10 millimetres; days with snow cover or snowfall; days without sunshine; days with at least 5 or 10 sunshine hours; thunderstorm and fog days; and days with peak winds of at least 60 or 80 km/h.
Only source columns known for the selected country, or mapped manually and enabled for export, are imported. Parameters without a corresponding Climate Chronicle metric are skipped. Eleven metrics are currently enabled in the interface: mean, maximum and minimum temperature, precipitation, sunshine duration, fresh snow, and summer, tropical, frost, ice and thunderstorm days.
Which additional data packages are created?
manifest.json records the available countries, metrics, years and months. It also contains the smallest and largest values and forms the basis of the availability table on this page, which can be filtered by country and metric.
Timeline files contain monthly station averages and station counts. History files bundle all available metrics and years for a station. Reference files contain the monthly averages of qualified stations for the configured reference periods.
Station files provide the location and availability period. The global HadCRUT5 series remains scientifically and technically separate from the local station values.
Import rules, missing values and rounding
- Empty fields and configured numerical placeholders such as
−999are treated as missing. - Non-numerical values are logged and not exported.
- The date format is checked by the relevant country profile; only valid years and months are imported.
- Imported values are rounded to the configured precision of the metric: one decimal place for continuous measurements, no decimal places for count values and stored snow metrics.
- If the same value for a station, metric and month occurs more than once within an import, the value read later replaces the earlier one. When merging with an existing annual file, conflicting existing values can be resolved by choosing whether the new or existing value takes priority. Conflicts are shown in the preview.
- Every annual series has twelve monthly positions. Completely empty station series and years without a measurement are not exported.
Missing measurements
When measurements are missing
A station does not necessarily measure every metric or cover the entire available period. If a month is missing, this may be because the source data contains no value for that month or metric.
The project cannot determine why an individual value is missing. Climate Chronicle therefore shows only the gap and does not claim a cause.
When source data is imported, empty fields such as −999 and unreadable numbers are not included as measurements. They remain stored as empty month positions. They are neither estimated nor replaced with values from other months or stations.