Data Sources & Methodology
How we measure thermal lag, where our data comes from, and how we handle its limitations.
Otemachi — Current Conditions
Our Data Pipeline
All thermal lag data on this site comes from a combination of public meteorological APIs, government open data, and our own field measurements. We don't use proprietary datasets, subscription-only services, or black-box models. Every number we publish can be traced back to a primary source, and where possible, we publish our raw analysis outputs for independent verification.
Open-Meteo API: Live Weather Data
The live weather displays on each page pull data from the Open-Meteo API, a free, open-source weather API that provides global forecast and historical data without requiring an API key. Open-Meteo sources its data from multiple numerical weather prediction models, including the Japan Meteorological Agency's GSM model for the Japan region, which gives us high-resolution forecasts tailored to Tokyo's geography.
For each measurement point, we query the forecast endpoint with the following parameters: latitude, longitude, current temperature at 2 meters, relative humidity at 2 meters, apparent temperature (heat index), mean sea level pressure, daily maximum temperature, and daily minimum temperature. The API returns data in JSON format, which our main.js script parses and displays in the weather box on each page.
We use six measurement points across Tokyo's 23 wards: Marunouchi (Chiyoda), Shinjuku, Shibuya, Ueno (Taito), Otemachi (Chiyoda), and Chiyoda (Palace East Garden). These points were selected to cover the geographic spread of the city while staying within areas of distinct thermal character. The coordinates are:
| Location | Latitude | Longitude | Ward | Thermal Character |
|---|---|---|---|---|
| Marunouchi | 35.6812 | 139.7649 | Chiyoda | Dense commercial, maximum lag |
| Shinjuku | 35.6896 | 139.7006 | Shinjuku | High-rise core, elevated lag |
| Shibuya | 35.6595 | 139.7004 | Shibuya | Mixed commercial-residential |
| Ueno | 35.7089 | 139.7743 | Taito | Park-adjacent, moderate lag |
| Otemachi | 35.6850 | 139.7700 | Chiyoda | Financial district, dense |
| Chiyoda | 35.6938 | 139.7530 | Chiyoda | Palace east, transitional |
The Open-Meteo API updates its forecasts every hour, and our site fetches fresh data on each page load. If the API is unavailable, the display falls back to "Updating..." and retries every 10 seconds until a connection is established. We never display cached or fake weather data — if the API is down, you'll know.
Thermal Lag Calculation: Cross-Correlation Method
Our thermal lag calculations use the standard cross-correlation method from signal processing theory. The procedure is as follows:
- Data collection: We compile a time series of daily mean solar insolation (MJ/m²) from the Tokyo Skytree atmospheric monitoring station, operated by the Tokyo Metropolitan Industrial Technology Research Institute. This station records global horizontal irradiance at 10-minute intervals.
- Temperature series: For each ward, we compile a concurrent time series of daily mean air temperature (°C) from the nearest JMA AMeDAS station or our own sensor network. AMedAS (Automated Meteorological Data Acquisition System) has approximately 130 stations in the Tokyo region, with typical spacing of 10–15 km.
- Normalization: Both time series are normalized to zero mean and unit variance to ensure the cross-correlation is scale-invariant.
- Cross-correlation: We compute the Pearson correlation coefficient between the solar series and the temperature series at every time lag from 0 to 60 days. The lag that produces the maximum correlation coefficient is defined as the thermal lag for that location and time period.
- Seasonal decomposition: We compute thermal lag separately for each calendar month using a 30-day rolling window. This produces the seasonal lag curves shown in our spiral diagram and month-by-month analyses.
The cross-correlation function for Chiyoda Ward (2021–2023) peaks at 34 days with r = 0.94. The 95% confidence interval, computed by bootstrap resampling (n = 10,000), is 32–36 days. This means we can state with high confidence that Chiyoda's thermal lag is between 32 and 36 days.
Surface Material Classification: Tokyo GIS Open Data
Our surface material coverage percentages for each ward come from the Tokyo Metropolitan Government's open GIS data portal, specifically the "Land Use Survey" (土地利用調査) dataset published by the Bureau of Urban Development. This dataset classifies land surface into 17 categories at 10-meter resolution, derived from aerial photography and satellite imagery updated every 5 years (most recent: 2020).
We aggregate the 17 categories into 5 simplified types for our analysis:
- Building: Aggregated from "building" and "building-adjacent paved" categories. Includes rooftops, building footprints, and directly attached paved areas.
- Road: Includes expressways, arterial roads, local streets, and parking lots.
- Green: Parks, gardens, agricultural land, cemeteries, and urban forests.
- Water: Rivers, canals, ponds, harbors, and other water surfaces.
- Other: Bare soil, construction sites, and unclassified areas.
The raw GIS data is published under the Tokyo Metropolitan Government's open data license, which permits free use, modification, and redistribution with attribution. We publish our aggregated ward-level summaries in CSV format on our Method Notes page.
Surface Temperature Field Measurements
Our field measurement program uses a FLIR E8-XT infrared camera (thermal resolution: 320×240, accuracy: ±2°C, spectral range: 7.5–14 μm) for surface temperature surveys. The camera is calibrated against a NIST-traceable blackbody reference before each field season and spot-checked against a contact thermocouple (Type K, ±0.5°C accuracy) during surveys.
We conduct systematic transect surveys on a quarterly basis, cycling a standardized route that covers all 23 wards. The route is approximately 185 km long and takes 3 days to complete at an average speed of 15 km/h (bicycle-mounted camera, measurements taken at 90-second intervals while moving). Since 2021, we've completed 36 full transects, collecting approximately 35,000 individual surface temperature readings.
Fixed monitoring uses a network of 8 HOBO UX120-014M thermocouple data loggers deployed at long-term measurement sites: asphalt (Shinjuku, Route 20), concrete (Marunouchi Plaza), grass (Shinjuku Gyoen), water (Sumida River, Asakusa), green roof (Shinagawa Station), cool roof (Tokyo Station Yaesu), bare soil (Ueno Park construction area), and shaded asphalt (Meiji Jingu forest path). These loggers record at 10-minute intervals and are downloaded monthly.
Comparison with JMA AMeDAS: Fuchu vs. Otemachi
To validate our thermal lag measurements, we compare our Otemachi (Chiyoda) sensor against the JMA AMeDAS station at Fuchu (approximately 25 km west). Fuchu is our rural/suburban reference; Otemachi is our dense urban reference. The JMA publishes quality-controlled daily data for all AMeDAS stations with a delay of approximately 2 days.
For 2023, our cross-correlation analysis gives:
| Station | Lag (days) | r value | Annual mean T (°C) | August max T (°C) |
|---|---|---|---|---|
| Fuchu (AMeDAS) | 18 | 0.92 | 16.2 | 31.4 |
| Otemachi (our sensor) | 36 | 0.94 | 17.8 | 33.8 |
| Difference | 18 | — | +1.6 | +2.4 |
The 18-day difference in thermal lag between Fuchu and Otemachi is consistent with our building-coverage regression model, which predicts a 17-day difference for wards with their respective building coverage ratios (Fuchu: 25%, Otemachi: 58%). The +1.6°C annual mean temperature difference and +2.4°C August maximum difference are consistent with published urban heat island intensities for Tokyo.
Limitations
Our data and methods have several important limitations that readers should understand:
Single point per ward. Each ward is represented by a single measurement point, which masks significant microclimatic variation within the ward. Chiyoda Ward includes both the thermally extreme Marunouchi district and the relatively moderate Imperial Palace gardens — a range that our single-point measurement cannot capture. We are working to expand to multi-point ward coverage, but this requires additional sensor hardware and is currently unfunded.
Measurement height. Our temperature sensors and the Open-Meteo API report temperature at 2 meters above ground level. Surface temperature — the actual temperature of roads and building facades — can be 20–40°C higher on summer afternoons. Our thermal lag calculations therefore reflect air temperature response, not surface temperature response, which has a shorter timescale due to the lower thermal mass of the near-surface air layer.
Anthropogenic heat. Our models do not explicitly account for anthropogenic heat sources — vehicle exhaust, air conditioning condensers, industrial processes, human metabolism. These sources add an estimated 20–50 W/m² to the urban energy balance in dense commercial districts, which can raise effective temperatures by 1–2°C independent of solar-driven thermal lag. Our measurements capture the total thermal effect (solar + anthropogenic), but we cannot always separate the two.
Temporal coverage. Our sensor network has been operational since January 2021. This gives us 3+ years of data, which is sufficient to establish seasonal patterns but insufficient to detect long-term trends associated with climate change or urban development. We plan to publish trend analyses after accumulating 10 years of continuous data.
Open-Meteo forecast accuracy. The live weather displays on our site show forecast data, not observed data. Open-Meteo's forecasts for Tokyo have a typical accuracy of ±1.5°C for same-day temperature and ±3°C for 3-day forecasts. The apparent temperature (heat index) calculation uses the Steadman formula, which is accurate for the humidity ranges typical of Tokyo but may diverge at extremes.
Despite these limitations, we believe our data represents the most detailed publicly available thermal lag analysis for Tokyo. We publish everything — raw data, methods, code, and limitations — because we think transparency is as important as the findings themselves. If you find errors or have suggestions for improvement, please contact us.