Octave 海洋データを描画(海水温)
はじめに
アメリカ海洋大気庁(NOAA)の国立海洋データセンター(National Oceanographic Data Center; NODC)が作成・公開している気候値(平年値)、「World Ocean Atlas (WOA)」をダウンロードして、全球の平均的な海水温データを描画しようと思います。
海洋データダウンロード
NOAAのサイトへアクセスして、WOA2018をダウンロードします。
WOAの2018をクリック。
「Data」をクリック。
今回は水温データを描画するので、「Temperature(℃)」をクリックします。
「NetCDF」を選択。今回は年平均データを使うので、「Annual」の「t00_01.nc」をクリックします。
適当なリンクからダウンロードします
コード
# netcdf を取り扱うパッケージを読み込み
pkg load netcdf
# WOA読み込み, 年平均水温データ[海面]を取り出し
woa_file = "woa18_decav_t00_01.nc"; #ダウンロードしたWOAデータのPATHを設定
lon = ncread(woa_file,"lon");
lat = ncread(woa_file,"lat");
depth = ncread(woa_file,"depth");
temp = ncread(woa_file,"t_an");
temp=temp(:,:,depth==0);
temp=flipud(rot90(temp));
#西経180°から始まるデータを 東経0°から始まるデータに順番を入れ替える
temp=[temp(:,lon>=0) temp(:,lon<0)];
lon=cat(1,lon(lon>=0),lon(lon<0));
lon(lon<0)=lon(lon<0)+360;
# 描画 (-2℃~40℃までを1℃刻みで色を塗る)
temp(isnan(temp))=-99;
contourf(lon,lat,temp,[-2:1:40],'linestyle','none');
colormap(jet);
colorbar('southoutside')
daspect([1 1]);
描画結果
水温データが描画できたと思います。
他にも、塩分や溶存酸素などのデータが、海面から水深5500mまで、年平均・季節平均・月平均別に用意されています。上記のコードを少し変えるだけで描画できると思います。
それでは、お疲れさまでした。
この記事が気に入ったらサポートをしてみませんか?