見出し画像

Octave 海洋データを描画(海水温)

はじめに

アメリカ海洋大気庁(NOAA)の国立海洋データセンター(National Oceanographic Data Center; NODC)が作成・公開している気候値(平年値)、「World Ocean Atlas (WOA」をダウンロードして、全球の平均的な海水温データを描画しようと思います。

海洋データダウンロード

NOAAのサイトへアクセスして、WOA2018をダウンロードします。

画像2

WOAの2018をクリック。


画像3

「Data」をクリック。


画像4

今回は水温データを描画するので、「Temperature(℃)」をクリックします。


画像5

「NetCDF」を選択。今回は年平均データを使うので、「Annual」の「t00_01.nc」をクリックします。


画像6

適当なリンクからダウンロードします


コード

# 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]);


描画結果

画像1


水温データが描画できたと思います。

他にも、塩分や溶存酸素などのデータが、海面から水深5500mまで、年平均・季節平均・月平均別に用意されています。上記のコードを少し変えるだけで描画できると思います。

それでは、お疲れさまでした。

この記事が気に入ったらサポートをしてみませんか?