Hamarikyu Gardens tidal pond with Tokyo skyline

Current Conditions — Toyosu

Updating...

Data Sources & Methodology

All data presented on Ama Sora comes from public sources and our own field measurements. We don't use proprietary models, paywalled datasets, or interpolated estimates. Every temperature reading, wind speed, and pressure value can be traced to a specific sensor at a specific location, and we document exactly how we process and present that data. This page explains our sources, our methods, and the limitations you should keep in mind when interpreting our results.

Open-Meteo API — Current Conditions

The current weather data displayed on each page comes from the Open-Meteo API, a free, open-source weather API that provides global forecast and historical data without requiring an API key. We use the forecast endpoint with the following parameters: 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. All data is requested with the Asia/Tokyo timezone and a 3-day forecast horizon.

Open-Meteo sources its data from multiple numerical weather prediction models, including the Japan Meteorological Agency's GSM model, the ECMWF IFS, and the GFS. For Tokyo, the JMA model typically dominates because Open-Meteo uses a blend weighted toward the highest-resolution model available for the region. The spatial resolution of the underlying model data is approximately 0.25° (roughly 25 km) for the global models and higher for regional nested domains. This means the API output represents the model's best estimate for a grid cell centered on the requested latitude and longitude, not a direct measurement at that exact point.

We query six locations across the coastal-to-inland transect: Chiba (35.6073°N, 140.1064°E), Koto (35.6512°N, 139.8185°E), Ginza (35.6715°N, 139.7640°E), Shimbashi (35.6662°N, 139.7583°E), Odaiba (35.6274°N, 139.7747°E), and Shinjuku (35.6938°N, 139.7034°E). Each page displays the data for the location most relevant to its content. The API is called once per page load, and the response is displayed directly without caching or intermediate processing.

The API call we use is:
https://api.open-meteo.com/v1/forecast?latitude={LAT}&longitude={LON}¤t=temperature_2m,relative_humidity_2m,apparent_temperature,pressure_msl&daily=temperature_2m_max,temperature_2m_min&timezone=Asia%2FTokyo&forecast_days=3

JMA AMeDAS — Historical Verification

For historical analysis and long-term trend verification, we use data from the Japan Meteorological Agency's Automated Meteorological Data Acquisition System (AMeDAS). AMeDAS operates approximately 1,300 automated weather stations across Japan, reporting temperature, precipitation, wind direction, wind speed, and sunshine duration at 10-minute intervals. The data is freely available through the JMA website with a delay of approximately one day.

Our primary AMeDAS pair is Haneda (station 4426, coastal) and Fuchu (station 4413, inland). Haneda is located on the shore of Tokyo Bay at 35.5489°N, 139.7836°E, at an elevation of 6 meters. Fuchu is located 25 kilometers inland at 35.6689°N, 139.4781°E, at an elevation of 39 meters. The temperature difference between these two stations at 14:00 JST is our proxy for the sea-breeze strength and inland penetration. When the differential exceeds 3°C with an easterly wind at Haneda, we classify it as a strong sea-breeze day. When it exceeds 2°C with any onshore component, we classify it as a moderate sea-breeze day.

We also use AMeDAS data from Tokyo (station 4413, though this is the JMA headquarters station in Otemachi, not the old Tokyo station), Chiba (station 4515), and Yokohama (station 4616) for supplementary verification. These stations provide coverage of the broader Kanto coastline and help us distinguish between local Tokyo Bay effects and larger-scale sea breezes affecting the entire Boso Peninsula.

Frontal Observation Method

Detecting the sea-breeze front requires more than single-station data. We use a frontal detection algorithm based on two criteria: (1) a temperature differential of at least 2°C between paired coastal and inland stations within a 2-hour window, and (2) a wind direction at the coastal station within the onshore sector (east, southeast, or south). When both criteria are met, we classify the day as having a detectable sea-breeze front.

The paired stations we use for frontal detection are: Haneda (coastal) vs. Fuchu (inland) for the broad Kanto pair; Koto (coastal) vs. Shinjuku (inland) for the Tokyo-specific pair; and Odaiba (coastal) vs. Shimbashi (inland) for the narrow inner-bay pair. Each pair gives a slightly different picture. The Haneda-Fuchu pair captures the large-scale circulation; the Koto-Shinjuku pair captures the urban sea-breeze effect; and the Odaiba-Shimbashi pair captures the narrow frontal zone near the bay's inner shore.

For the instrumented frontal transect — the 100-meter-spaced logger line from Ginza to Shimbashi — we use a more precise criterion: a temperature gradient exceeding 2°C per 100 meters sustained over at least 200 meters of the transect, with a concurrent wind direction shift of at least 60° within the same spatial window. This captures the sharp frontal boundary that the coarser AMeDAS pair might miss. The transect loggers (Onset HOBO U23 Pro v2, temperature accuracy ±0.2°C, logging interval 1 minute) are deployed for 2-week periods during peak sea-breeze season and retrieved for data download.

Six Measurement Points — Transect Details

Our six primary measurement points span the coastal-to-inland gradient:

Limitations

Our data has several limitations that readers should understand. First, the Open-Meteo API provides model output, not direct observations. The temperature at a given lat/lon is the model's estimate for that grid cell, which may differ from the actual temperature at street level by 1-3°C depending on local conditions (building shade, surface type, wind exposure). We use the API for convenience and consistency, but it's not a substitute for ground truth.

Second, all our points are single locations within much larger wards. The temperature in northern Koto (Toyocho, Kameido) may differ from southern Koto (Toyosu, Ariake) by 1-2°C due to local surface cover and building density. The "Koto" reading represents only the specific coordinates we query, not the ward average. This is particularly relevant for the SVG front map on the home page — the colored circles show the temperature at a point, not a ward-wide average.

Third, building-level wind channeling is not captured by any of our data sources. The sea breeze at street level in Ginza can vary from 0.5 m/s to 4 m/s depending on which street you're on, the building orientation, and the time of day. Our data shows the broad pattern — breeze present or absent — but not the micro-scale variations that determine whether a specific corner is windy or still.

Fourth, the frontal detection method has false positives and false negatives. A strong synoptic easterly can produce a coastal-inland temperature differential without a true sea-breeze front (false positive). A weak front that stalls at the shoreline may not produce a detectable differential at our inland stations (false negative). We estimate our detection accuracy at approximately 85% based on manual validation against visual satellite imagery.

Comparison with JMA Mesoscale Model

The Japan Meteorological Agency operates the Meso-Scale Model (MSM), a numerical weather prediction model with a 5-kilometer horizontal grid spacing covering the Japan region. The MSM explicitly resolves sea-breeze circulations, urban heat island effects, and terrain-forced flows — making it the gold standard for Tokyo-area weather forecasting. We compare our observations against MSM output as a validation check.

Our comparison for August 2023 shows that the MSM captures the sea-breeze onset time with a mean error of ±45 minutes and the inland penetration position with a mean error of ±2.5 kilometers. The model tends to over-predict inland penetration on weak breeze days and under-predict it on strong breeze days — a known bias of NWP models with parameterized urban effects. The Open-Meteo API, which incorporates MSM output among its inputs, inherits these biases.

For research-grade sea-breeze analysis, the MSM 5-km grid is still too coarse to resolve building-level effects and narrow frontal zones. Our instrumented transect (100-meter spacing) provides resolution that the MSM cannot match. However, for broad pattern analysis — seasonal frequency, synoptic influence, climate trends — the MSM is an excellent tool, and we use it extensively for contextualizing our field observations.