AMATERASS JICA Training

AMATERASS日射量プロダクトを用いたデータ解析実習

2023年から2025年にJST・JICA SATREPSの枠組みで実施されたJICAトレーニングの内容を再構成した教材です。

FIELD: METEOSAT-IODC fld.3km / 0.03° / 15 min
AMATERASS METEOSAT-IODCによる地表面下向き短波放射フラックス(2026年5月1日09:12 UTC)
AMATERASS METEOSAT-IODC 地表面下向き短波放射フラックス(2026年5月1日 09:12 UTC)

このトレーニング教材について

本コンテンツは、2023年から2025年にJST・JICA SATREPSの枠組みで実施されたJICAトレーニングの内容を再構成したものです。

1

課題を確認

DAY 1–3のカリキュラムで何を処理し、何を確認するのかを最初に把握します。

2

実データを解析

AMATERASSの実データを使い、切り出し・平均・時系列抽出を行います。

3

結果をCHECK

Tmapやgnuplotで結果を図示し、数値処理が正しくできたか確認します。

3つのDAYで、空間・時間・地点の順に解析します

DAY 1研究領域を切り出す
DAY 2日平均・月平均を作る
DAY 3地点時系列を取り出す
PREPARATION / SYSTEM CHECK

解析環境と使用データ

TRAINING GOALJava、GNU Wget 1.x、bzip2、GNU date、gnuplot、Tmapを使える状態にします。
4000 × 4000METEOSAT-IODC格子
0.03°緯度・経度方向の格子間隔
15 minプロダクト時間間隔
Float32 / BEIEEE 754 / Big-endian
0

実行環境の確認

実習で使用するコマンドを個別に確認します。ここでは確認処理をスクリプト化せず、実際に使用するコマンドをそのまま実行します。

作業ディレクトリを作成
mkdir -p ~/amaterass_jica
cd ~/amaterass_jica
Java・bzip2・date・gnuplotを確認
java -version
javac -version
bzip2 --version
date --version
gnuplot --version
FTPに使用できるGNU Wget 1.xを確認
wget1 --version
wget --version
GNU Wgetについて: METEOSAT-IODCデータの取得にはFTPを使用するため、GNU Wget 1.xが必要です。各ダウンロードスクリプトは wget1 が存在すれば優先し、そうでなければWget2ではない wget を使用します。
1

Tmapの準備

AMATERASSデータの地図表示にはTmapを使用します。Tmap本体を取得してコンパイルし、各DAYでは必要な引数を確認しながら直接実行します。

Tmapを取得してコンパイル
cd ~/amaterass_jica
wget -c https://downloads.amaterass.science/tmap_v3.0cc_20260815d.tar.gz
tar xzf tmap_v3.0cc_20260815d.tar.gz
cd tmap
javac *.java
CHECK
ls *.classtmap.class などが表示されれば準備完了です。
2

使用データ

代表シーンは2026年5月1日09:12 UTCです。DAY 2では2026年5月のデータを使って月平均まで作成します。

時刻: ファイル名先頭12桁はUTCです。METEOSAT-IODCではHIMAWARI日本域のようなピクセル実観測時刻ファイルは提供されないため、この教材ではファイル名のUTC基準時刻を使用します。
DAY 1 / SPATIAL SUBSET

広域データからの対象領域抽出

MISSION GOAL2026年5月1日09:12 UTCのMETEOSAT-IODC日射量データを読み、緯度・経度を使って中央アジアの対象領域を切り出します。全域と切り出し後の両方をTmapで図示します。
STEP 1全域を表示
STEP 2LAT/LNGを読む
STEP 3領域を切り出す
STEP 4Tmapで確認
1

IODC全域の日射量分布

最初に4000×4000格子の全体を表示し、対象領域が広域データのどこに位置するか確認します。ここでは切り出し範囲が分かるように黒枠を重ねています。

DAY 1の入力データを準備
wget -O download_day1.sh https://amaterass.science/ja/jica-training/download_day1.sh
chmod +x download_day1.sh
./download_day1.sh
~/amaterass_jica/data/
├── reference/
│   ├── standard_4000x4000.iodc.42.5.lat.fld.3km.bin
│   └── standard_4000x4000.iodc.42.5.lng.fld.3km.bin
└── 20260501/
    └── 202605010912.dwn.sw.flx.sfc.fld.3km.bin
METEOSAT-IODC全域の地表面下向き短波放射フラックスと中央アジア切り出し範囲(2026年5月1日09:12 UTC)
METEOSAT-IODC全域の地表面下向き短波放射フラックス(2026年5月1日 09:12 UTC)。黒枠で示した範囲をDAY 1で切り出します。
CHECK
インド洋域全体の日射分布と、中央アジアの位置を確認します。
2

緯度・経度による対象範囲の指定

左上を 47.02°N, 51.0°E、右下を 34.02°N, 73.0°E とし、LAT/LNG格子から対応する行・列を求めます。

IODC全域4000 × 4000
LAT / LNG対象座標を検索
対象領域47.02–34.02°N
51.0–73.0°E
3

対象領域の切り出し

検索した行・列を日射量データにも適用し、対象範囲だけをBig-endian Float32のバイナリとして出力します。

解析プログラムを取得
wget -O analysis_iodc_day1.tar.gz https://amaterass.science/ja/jica-training/analysis_iodc_day1.tar.gz
tar xzf analysis_iodc_day1.tar.gz
javac analysis.iodc.day1/*.java
実行
java -cp analysis.iodc.day1 IODCCrop \
  data/20260501/202605010912.dwn.sw.flx.sfc.fld.3km.bin \
  data/reference/standard_4000x4000.iodc.42.5.lat.fld.3km.bin \
  data/reference/standard_4000x4000.iodc.42.5.lng.fld.3km.bin \
  51.0 73.0 34.02 47.02 \
  202605010912.central_asia.bin

202605010912.central_asia.bin と、Tmap用の格子情報 202605010912.central_asia.bin.grid.txt が生成されます。

4

Tmapによる切り出し結果の確認

切り出したバイナリデータをTmapで画像化し、指定した領域が正しく切り出されていることを確認します。

切り出し処理で作成した 202605010912.central_asia.bin.grid.txt には、Tmapで必要な格子サイズと緯度・経度範囲が保存されています。まずその内容を確認します。

格子情報を確認
cat 202605010912.central_asia.bin.grid.txt
格子情報を読み取り、Tmapを直接実行
GRID=202605010912.central_asia.bin.grid.txt

WIDTH=$(sed -n 's/^width=//p' "$GRID")
HEIGHT=$(sed -n 's/^height=//p' "$GRID")
NORTH=$(sed -n 's/^north=//p' "$GRID")
LAT_SPAN=$(sed -n 's/^lat_span=//p' "$GRID")
LAT_DIV=$(sed -n 's/^lat_div=//p' "$GRID")
WEST=$(sed -n 's/^west=//p' "$GRID")
LON_SPAN=$(sed -n 's/^lon_span=//p' "$GRID")
LON_DIV=$(sed -n 's/^lon_div=//p' "$GRID")

cd tmap
java tmap ../202605010912.central_asia.bin 1400 0 8 "W/m2" auto png   "$NORTH" "$LAT_SPAN" "$LAT_DIV"   "$WEST" "$LON_SPAN" "$LON_DIV"   "$WIDTH" "$HEIGHT"
cd ..
DAY 1 CLEAR
指定した緯度・経度範囲がTmap上で正しく表示され、元データの値を平均せず空間範囲だけを切り出せていれば完了です。
DAY 2 / TEMPORAL AVERAGING

1時間平均・日平均・月平均を計算する

MISSION GOAL15分間隔の観測値から1時間平均を計算し、24個の1時間平均から日平均を作ります。さらに、1か月分の日平均から月平均を計算します。元のJICAトレーニングと同じ順序で、時間方向の平均処理を確認します。
STEP 115分値 → 1時間平均
STEP 224時間 → 日平均
STEP 3日平均 → 月平均
1

15分間隔の観測から1時間平均を作る

METEOSAT-IODCの観測は15分間隔です。たとえばUTC 08時台には、08:12、08:27、08:42、08:57の4つの観測があります。この1時間に含まれる観測値を格子点ごとに平均して、UTC 08時の1時間平均を作ります。

JICAトレーニングで用いた1時間平均と日平均の計算概念図
JICAトレーニングで用いた説明図。15分間隔の観測から1時間平均を作り、24個の1時間平均から日平均を計算する流れを示しています。
欠測の扱い: 観測が欠けている場合は0として扱わず、その時間に実際に存在する観測数で平均します。
DAY 2用データ取得スクリプトを取得して実行
wget -O download_day2.sh https://amaterass.science/ja/jica-training/download_day2.sh
chmod +x download_day2.sh
./download_day2.sh
解析プログラムを取得
wget -O analysis_iodc_day2.tar.gz https://amaterass.science/ja/jica-training/analysis_iodc_day2.tar.gz
tar xzf analysis_iodc_day2.tar.gz
javac analysis.iodc.day2/*.java
例:09 UTCの1時間平均
java -cp analysis.iodc.day2 IODCAverage hourly data/20260501 2026050109 \
  2026050109.hourlymean.dwn.sw.flx.sfc.fld.3km.bin
2

24個の1時間平均による日平均の計算

同じ処理を1日について行うと、UTC 00時から23時までの1時間平均が得られます。その24個を格子点ごとに平均したものが日平均です。

Daily mean = (H00 + H01 + ... + H23) / 24
java -cp analysis.iodc.day2 IODCAverage daily data/20260501 20260501 \
  20260501.dailymean.dwn.sw.flx.sfc.fld.3km.bin
3

日平均から月平均への集約

日平均が1か月分そろったら、それらを格子点ごとに平均して月平均を作ります。ここでは2026年5月1日から31日までの日平均を使用します。

Monthly mean = (D1 + D2 + ... + D31) / 31
java -cp analysis.iodc.day2 IODCAverage monthly data/daily 202605 \
  202605.monthlymean.dwn.sw.flx.sfc.fld.3km.bin
DAY 2 CLEAR
15分値から1時間平均、1時間平均から日平均、日平均から月平均という処理の流れを確認できれば完了です。
DAY 3 / POINT TIME SERIES

指定地点における日射量時系列の抽出

MISSION GOAL緯度・経度から最も近い格子点を求め、2026年5月1日の各時刻の日射量を時系列として抽出します。最後にgnuplotで可視化します。
STEP 1地点指定
STEP 2最近傍格子点
STEP 3時系列抽出
STEP 4gnuplot
1

解析地点の指定

以下の2地点を対象とします。

Point A

45.02°N, 56.48°E

Point B

41.02°N, 58.48°E

2

最近傍格子点の検索

LAT/LNG格子を走査し、指定座標との距離が最小となる格子点を求めます。同じプログラムが、その格子点の日射量時系列も出力します。

DAY 3用データ取得スクリプトを取得して実行
wget -O download_day3.sh https://amaterass.science/ja/jica-training/download_day3.sh
chmod +x download_day3.sh
./download_day3.sh
解析プログラムを取得
wget -O analysis_iodc_day3.tar.gz https://amaterass.science/ja/jica-training/analysis_iodc_day3.tar.gz
tar xzf analysis_iodc_day3.tar.gz
javac analysis.iodc.day3/*.java
3

1日分の時系列抽出

各時刻で同じ格子点の値を読み、UTC / solar flux の2列データとして保存します。

Point A
java -cp analysis.iodc.day3 IODCPointSeries data/20260501 \
  data/reference/standard_4000x4000.iodc.42.5.lat.fld.3km.bin \
  data/reference/standard_4000x4000.iodc.42.5.lng.fld.3km.bin \
  20260501 45.02 56.48 point_A_20260501.dat
Point B
java -cp analysis.iodc.day3 IODCPointSeries data/20260501 \
  data/reference/standard_4000x4000.iodc.42.5.lat.fld.3km.bin \
  data/reference/standard_4000x4000.iodc.42.5.lng.fld.3km.bin \
  20260501 41.02 58.48 point_B_20260501.dat
出力
├── point_A_20260501.dat
└── point_B_20260501.dat
4

gnuplotによる日変化の可視化

抽出した2地点の時系列を同じグラフに描き、日射量の日変化と地点間の差を確認します。

gnuplotでは、出力形式、軸、時刻書式、入力ファイルを順に指定します。ここではコマンドをそのまま入力して2地点を同じグラフに描きます。

gnuplotを起動
gnuplot
gnuplot上で実行
set terminal pngcairo size 1200,700 enhanced font ",14"
set output "point_timeseries_20260501.png"
set title "Surface downward shortwave flux: 1 May 2026"
set xlabel "UTC"
set ylabel "W/m^2"
set xdata time
set timefmt "%Y-%m-%dT%H:%M:%S"
set format x "%H:%M"
set grid
set key top left

plot "point_A_20260501.dat" using 1:2 with linespoints title "45.02N, 56.48E",      "point_B_20260501.dat" using 1:2 with linespoints title "41.02N, 58.48E"

exit

point_timeseries_20260501.png が生成されます。

DAY 3 CLEAR
4000×4000の日射量格子から指定地点の1日の時間変化を抽出し、gnuplotで確認できればトレーニング完了です。

さらに確認したいとき

この教材ではMETEOSAT-IODCの日射量を例に、切り出し、平均、時系列という基本操作を扱います。データ仕様そのものはAMATERASS Product Guideを一次情報として確認してください。

AMATERASS プロダクトガイドを見る → プロダクト・ダウンロードを見る →

サンプルプログラム一括取得:
wget -O jica_training_programs.zip https://amaterass.science/ja/jica-training/jica_training_programs.zip

DAY 1–3で使用するJavaソースとデータ取得スクリプトをまとめたアーカイブです。解析・可視化の実行コマンドは各DAYの本文に記載しており、各課題の出力データは含みません。

利用上の注意・免責事項

本教材は教育・研究での利用を想定しています。

教材について

本コンテンツは、2023年から2025年にJST・JICA SATREPSの枠組みで実施されたJICAトレーニングの内容を再構成したものです。すべての環境での動作や将来にわたる継続提供を保証するものではありません。

解析結果について

ここで得られる画像や数値は学習・解析用です。人命・財産に関わる判断の唯一の根拠として使用しないでください。

データ・通信について

AMATERASSデータや配布サーバーは、保守、通信障害、仕様変更などにより一時的に利用できない場合があります。

ソフトウェア

Tmap本体はMIT Licenseで公開されています。第三者データには別のライセンスが適用される場合があります。

AMATERASS データ利用・ダウンロード → Tmap・ライセンス →