HIMAWARI
Analysis products from Himawari-8 and Himawari-9 covering Japan and the broader Asia–Oceania region.
Download geostationary-satellite solar radiation and photovoltaic-related products generated by AMATERASS. Select the data you need, then edit the date and file type in the sample script to download it.
Choose a data collection according to the satellite, observation domain, grid, and temporal interval you need.
Analysis products from Himawari-8 and Himawari-9 covering Japan and the broader Asia–Oceania region.
Solar radiation and photovoltaic-related products from METEOSAT-IODC covering the Indian Ocean region.
The Product Guide describes available variables, observation domains, grid structures, filename conventions, binary formats, and sample reading programs.
Start by downloading a single file, then edit the date and file type to retrieve a full day in batch.
For example, 2023-07-13 02:00 UTC corresponds to 2023-07-13 11:00 in Japan Standard Time (JST). Use UTC when specifying dates and times.
A minimal example for checking the URL and filename structure. On Windows, use curl.exe if necessary.
curl -O ftp://amaterass.cr.chiba-u.ac.jp/quasi-realtime/himawari829/archived/FD/202307/20230713/202307130200.dwn.sw.flx.sfc.fld.4km.bin.bz2
A physical-quantity file (e.g. solar radiation) stores only the values for each observation time; location and time are in separate files. At minimum, download all three:
….dwn.sw.flx.sfc.fld.4km.bin.bz2….grd.time.mjd.hms.fld.4km.bin.bz2tools/standard_3000x3000.lat.fld.4km.bin.bz2 and ….lng.…The script below fetches all three (the lat/lng grid only once).
For Linux / macOS. Edit YYYY, MM, DD, and FILETYPE. The script automatically selects wget or wget1.
YYYY=2023
MM=07
DD=13
FILETYPE="dwn.sw.flx.sfc.fld.4km.bin.bz2"
# Time is UTC.
WGET=$(select_wget) || exit 1
BASE="ftp://amaterass.cr.chiba-u.ac.jp/quasi-realtime/himawari829/archived/FD"
TOOLS="ftp://amaterass.cr.chiba-u.ac.jp/quasi-realtime/himawari829/tools"
# Pixel observation-time file (same directory / time stamp as the radiation file)
TIMETYPE="grd.time.mjd.hms.fld.4km.bin.bz2"
# Lat/lng grids do not depend on date or time: download once.
"$WGET" -c "${TOOLS}/standard_3000x3000.lat.fld.4km.bin.bz2"
"$WGET" -c "${TOOLS}/standard_3000x3000.lng.fld.4km.bin.bz2"
YYYYMM="${YYYY}${MM}"
YYYYMMDD="${YYYY}${MM}${DD}"
for HH in 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23
do
for MN in 00 10 20 30 40 50
do
TIME="${YYYYMMDD}${HH}${MN}"
DIR="${BASE}/${YYYYMM}/${YYYYMMDD}"
# 1) solar radiation
"$WGET" -c "${DIR}/${TIME}.${FILETYPE}"
# 2) observation time (paired with the radiation file)
"$WGET" -c "${DIR}/${TIME}.${TIMETYPE}"
done
done
This example downloads one day of fld.4km downward shortwave flux and the matching observation-time files at 10-minute intervals, plus the lat/lng grid (once). If interrupted, the download can be resumed with -c.
select_wget()
{
if command -v wget1 >/dev/null 2>&1; then
echo wget1
elif command -v wget >/dev/null 2>&1 && \
! wget --version 2>&1 | grep -q "Wget2"; then
echo wget
else
echo "Error: GNU Wget 1.x (wget or wget1) is required." >&2
exit 1
fi
}
For Windows / Linux / macOS. Uses only the Python 3 standard library; no additional packages are required.
from pathlib import Path
from urllib.request import urlretrieve
YYYY = "2023"
MM = "07"
DD = "13"
FILETYPE = "dwn.sw.flx.sfc.fld.4km.bin.bz2"
# Time is UTC.
BASE = "ftp://amaterass.cr.chiba-u.ac.jp/quasi-realtime/himawari829/archived/FD"
TOOLS = "ftp://amaterass.cr.chiba-u.ac.jp/quasi-realtime/himawari829/tools"
# Pixel observation-time file (same directory / time stamp as the radiation file)
TIMETYPE = "grd.time.mjd.hms.fld.4km.bin.bz2"
# Lat/lng grids do not depend on date or time: download once.
for grid in ("lat", "lng"):
name = f"standard_3000x3000.{grid}.fld.4km.bin.bz2"
urlretrieve(f"{TOOLS}/{name}", Path(name))
yyyymm = f"{YYYY}{MM}"
yyyymmdd = f"{YYYY}{MM}{DD}"
for hh in range(24):
for mm in range(0, 60, 10):
time = f"{yyyymmdd}{hh:02d}{mm:02d}"
d = f"{BASE}/{yyyymm}/{yyyymmdd}"
for ftype in (FILETYPE, TIMETYPE): # radiation + observation time
filename = f"{time}.{ftype}"
print(f"Downloading {filename}")
urlretrieve(f"{d}/{filename}", Path(filename))
YYYY / MM / DD / FILETYPE.Before using the data, review the specifications and conditions of use for the relevant collection.
Check the target satellite, domain, temporal interval, variable code, and file format in the Product Guide.
AMATERASS data are available free of charge for educational and research use. For corporate or commercial use, please contact us in advance.
When using AMATERASS data in papers, reports, or other publications, please cite the following papers.
AMATERASS endeavors to maintain and improve data quality, but makes no warranty as to the accuracy, completeness, usefulness, or fitness for a particular purpose of the data provided. Use of the data is at the user's own discretion and responsibility. To the extent permitted by applicable law, the developer/operator of AMATERASS and parties involved in data distribution shall not be liable for any loss or damage arising from the use of, or inability to use, the data. Data content, distribution methods, and scope of availability may be changed or discontinued without prior notice.
This section identifies the origin of AMATERASS data and the distribution channels used to provide them.

