macOSでOceanDataViewを使う

# 目次
[前書き](#前書き)
[インストール](#インストール)
[OceanDataViewを触ってみる](#OceanDataViewを触ってみる)
[鉛直プロファイルの図示](#鉛直プロファイルの図示)
[鉛直プロファイルの図示_重ね書き](#鉛直プロファイルの図示_重ね書き)
[画像化して保存](#画像化して保存)
[参考](参考)

# 前書き
海洋学を嗜む上でおそらく使用することになるであろうOceanDataView (ODV)の設定方法を書き残します。

なお、使用した筆者のノートパソコンは以下の通りです。

- Macbook Air
- Apple M1
- Sonoma 14.1.2（23B92）

# インストール

まず、OceanDataViewのサイトから、ソフトウェアをダウンロードします。

https://odv.awi.de/en/software/download/

"For scientific and non-commercial usage, please register here for the non-commercial version. "
とページ内に書いてあるように、ダウンロードには登録が必要です。

"register here for the non-commercial version. "
と言う文章のハイパーリンクに飛んで、必要事項を記入し登録を行います。

![ODVのコピー.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3639393/3ec99ce2-d02f-5de5-b6ac-bdebd084cdd0.jpeg)


登録が終わるとメールの方に連絡が来るので、元のページにて設定したパスワードを用いてログインします。

![ODV.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3639393/c9a50b68-d509-6534-7bb5-bd47dc5eb7ed.png)

すると以下のようなページが開くので、1_ODV_Applicationをクリックして進みます。

![ODV1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3639393/3a167601-d41c-0f43-900a-5af282571e3e.png)

その後、1_ODV_Application > Latest_Version > macOS > 64_bit と進んでいきます。
今回、筆者はmacOSのため以上のようになりましたが、他のOSユーザーの方はそれぞれのOSを選んでください。
他にWindowsとLinuxがあります。

最後のファイルにまでいくと様々なファイルがありますが、拡張子が``.dmg``となっているdmgファイルをダウンロードします。
筆者はApple M1チップ（ARMアーキテクチャのライセンスを受けて設計したシステムオンチップ（SoC））の入っている機材を使っているため、``odv_5.6.7_mac_arm64.dmg``をダウンロードしました。

M1チップの参考にWikipediaのページを置いておきます。
M1チップが入っているか入っていないかで、ダウンロードするdmgファイルを選んでください。
macならタブバーのappleマークの「このマックについて」というところから、M1チップの在不在を見ることができると思います。

https://ja.wikipedia.org/wiki/Apple_M1

ダウンロードしたら、dmgファイルを開いて出てくる指示に従って設定を進めてください。
以上でソフトウェアの設定は終わりです。


# OceanDataViewを触ってみる

では実際にデータをODVで扱ってみましょう。
今回は海洋全体を1°×1°スケールで平均化されたデータを提供するWorld Ocean Atlas 2018のデータを扱います。

なお、Macの場合、ODVのアプリを開こうとすると、ネットからダウンロードしたアプリのため開けないことがあります。
その場合、設定の「プライバシーとセキュリティ」」からODVの使用を許可してあげましょう。
参考までに以下のページをご覧ください。

https://support.apple.com/ja-jp/guide/mac-help/mh43185/mac

ODVのページ内で
Data > Ocean > World Ocean Atlas 2018
と進み、今回は年単位のデータ``WOA18_1.00deg_All-Years_Annual.zip (Data File; 182 MB)``をダウンロードして図示してみます。

ダウンロードしたファイルを解凍したのち、File > Open で``WOA18_1.00deg_all-years_Annual.odv``を開く。
以下のような画面が現れると思います（人によって違うかもしれない）。

![ODV2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3639393/bf6817da-2488-20fe-7099-1370ad47ed8f.png)

もし表示されない場合は View > Load Views > ``SURFACE_all_vars.xview``を選ぶと表示することができます。

# 鉛直プロファイルの図示

ここで試しに北緯30°、東経160°付近の鉛直プロファイルを見てみましょう。
``SURFACE_all_vars.xview``は名前の通り表層のデータしか入っていないので、違うファイルを開きます。

View > Load Views > ``Default.xview``で``Default.xview``を開きましょう。
このファイルには鉛直的なデータも含まれています。

次に鉛直プロファイルを表示させる地点のセレクトを行います。
ODVはGUI（Graphical User Interface）なので、マウスで見たいところをクリックすると場所を指定できます。指定された場所は赤い＋マークで以下の図のように示されます。

![ODV7.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3639393/330bec4a-d4e8-8320-9200-521acf455b3f.png)


もう少し詳しく位置を指定する場合は、表示範囲を絞ってから、鉛直プロファイルを表示させたいプロットを選びましょう。
その手順を以下に示します（以下は参考となるODVのユーザーガイド、8.1項の"Station Filter"が特に関係する）。

https://odv.awi.de/fileadmin/user_upload/odv/misc/odvGuide.pdf

まずはタブバーから View > Window Properties > Map で、Map Propertiesを開きます。

![ODV8.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3639393/9aaf0fce-f3f3-6b42-00e1-6ee889b6c806.png)


Domainを選び、表示する範囲を設定します。今回は北緯30°、東経160°付近を表示したいので、25-35°N, 155-165°E を入力します。

![ODV9.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3639393/6337077c-382e-7c55-3efb-68875f489eb2.png)

これにて詳細に地点を選ぶことができました。本当に1°×1°スケールでプロットがされていることがわかりますね〜。
ただ 30°N, 160°E ドンピシャのプロットはないので、今回は近くの 29.5°N, 159.5°E で見てみましょう。

今回は 29.5°N, 159.5°E という一つの測点について、6項目ぐらいの測定項目を見てみたいので View > Layout Template > 6 STATION Windows を選び、6つのウィンドウを立ち上げましょう。

![ODV10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3639393/a35f63ee-ea82-419b-b706-3c0cbc9bf049.png)

![ODV12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3639393/4fb6e3cd-5a68-1c86-dd1c-10c258f660be.png)

ここまでの作業の簡単なまとめGIFです。

![ODVGIF1.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3639393/607cdc16-bdf8-e0c1-fcb8-4465caf0e6d3.gif)

次に、今回は最初からウィンドゥ内に項目がありましたが、内容を変更していこうと思います。
実際に表示させたい項目を設定します。View > Derived Variables... で開いた先で、項目を設定していきます。
今回は 

- 1. 0 dbar 基準のポテンシャル水温 (Potential Temperature $\theta_{0}$)
- 2. 4000 dbar 基準のポテンシャル水温 (Potential Temperature $\theta_{4000}$)
- 3. 0 dbar 基準のポテンシャル密度 (Potential Density Anomaly $\sigma_{0}$)
- 4. 4000 dbar 基準のポテンシャル密度 (Potential Density Anomaly $\sigma_{4000}$)
- 5. 現場密度 (In situ Density Anomaly $\theta_{f}$)
- 6. 中立密度 (Neutral Density $\gamma_{n}$)

を表示しようと思います。

ではView > Derived Variables...を開き、出てきたタブの右側のChoicesの、Physical Properties(TEOS-10)の中からそれぞれ上記の6項目を1項目ずつ選んでいきます。

項目ごとにクリックして選択したのち、右下のAddを選択して左側のウィンドゥに追加していきます。ポテンシャル水温とポテンシャル密度に関しては、Addを押した際に基準とする水温・密度を指定する必要があります。今回は上に示した 0 と 4000 の2つの基準でポテンシャル水温・密度を見ていこうと思います。

![ODVGIF2.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3639393/55d382c7-bc09-327f-adfa-89a72c989165.gif)

上記作業で、表示する項目の指示ができたので、実際に図示してみましょう。
今回は6つのウィンドゥのうち、右の4つに関して
- 左上: 0 dbar 基準のポテンシャル水温 (Potential Temperature $\theta_{0}$)
- 右上: 4000 dbar 基準のポテンシャル水温 (Potential Temperature $\theta_{4000}$)
- 左下: 0 dbar 基準のポテンシャル密度 (Potential Density Anomaly $\sigma_{0}$)
- 右下: 4000 dbar 基準のポテンシャル密度 (Potential Density Anomaly $\sigma_{4000}$)

と言った風に、表示していきましょう。
図を表示させたい項目の図に変えるには、ウィンドゥの上で、右クリック > Properties... で新たなウィンドウが開きます。その中の X-Axis の項目を表示させたい項目に変えましょう（例えば Potential Temperature $\theta_{4000}$）。
その後、Y-Axis が Depth になっていることを確認して、右下のOKを押します。すると右クリックした図が、表示させたい項目の鉛直プロファイルの図に変わると思います。

これにより4つのウィンドゥを変更させた様子が以下です。

![ODVGIF3.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3639393/32f57653-2a16-a835-dd66-c5212041d7f3.gif)

これで任意の鉛直プロファイルを示せたと思います。
左下の地図中の、他のプロットを選択すると図が重ね書きされます。

![ODVGIF5.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3639393/77d044c1-a5f0-2bd1-2d19-84397ddeb738.gif)



また、図の中の線の上のプロットをクリックすると、右側のウィンドゥにそのプロットにおける観測項目の詳細な数値などが表示されます（GIF上では細かな変化ですが）。

![ODVGIF4.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3639393/b531f107-5ca0-37a2-6aff-142682f6e5a7.gif)


# 鉛直プロファイルの図示_重ね書き

ではより比較しやすくなるように、4000 dbar 基準のポテンシャル密度 $\sigma{4000}$のグラフに現場密度 $\theta_{f}$ のグラフを重ね合わせていきましょう。

View > Window Layout と進むと、以下のように方眼線が引かれます。

![ODV13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3639393/b0f0e400-2532-0090-1c05-d0e31dcf69f3.png)

今回は4000 dbar 基準のポテンシャル密度 $\sigma{4000}$のグラフに重ね合わせるので、Create Overlay Windowを選択します。
その後、もう一度右下の図を右クリックし、Properties...を開きます。
そうするとProperties　Window 7という名前で、7枚目のウィンドゥつまり重ね合わせるグラフのプロパティを指示するウィンドゥが出てくるので、 X-Axisの部分でIn situ Density Anomaly $\theta_{f}$を選択し、右下のOKを押します。
その後、ウィンドウを閉じて、右クリックをすると下の方にAcceptとあるので、そこを押すと重ね合わせた図が表示されます。

結果

![ODV14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3639393/35e86f00-04b7-fbd9-fb2e-f021ff1cbd5f.png)


重ね合わせの一連の工程をGIFにまとめました。
![ODVGIF6.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3639393/bb89061d-0cfb-9329-8404-8e95c2214d67.gif)

同様にして、
- 0 dbar 基準のポテンシャル水温 $\theta_{0}$ のグラフに、現場水温$\theta$のグラフを重ねる
- 右上: 4000 dbar 基準のポテンシャル水温 $\theta_{4000}$ のグラフに、0 dbar 基準のポテンシャル水温 $\theta_{0}$ のグラフを重ねる
- 左下: 0 dbar 基準のポテンシャル密度 $\sigma_{0}$ に、中立密度 $gamma_{n}$を重ねる

すると以下のような図が得られます。

![ODV15.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3639393/c9d4f7ae-0fa9-6e16-46f2-00f9edc5d294.png)

# 画像化して保存

最後に以上の結果を保存します。
View > Save View As で``.xview``で保存すれば、再度ODVで開いて編集し直すことのできるファイル形式で保存できます。

また、画像保存したい図について、図の上で右クリック > Save Plot As とすると、``.tiff``や``.jpeg``、``.png``で保存することができます（ただラベルが長すぎてぐちゃぐちゃに...これはどうすればいいのか？）。

![WOA18_1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3639393/2b96378c-3840-f73f-eab3-dec8833f59ce.png)

筆者の場合、6 ウィンドゥと地図をまとめて画像化を行う場合には、FIle > Save Canvas Asで``.png``などの画像形式で保存することができます。

![海洋分野課題1_提出物.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3639393/29f85d2f-8ef5-179a-4922-da9ef4e533b5.png)


# 参考

以上になりますが、以下、記事執筆も含め参考にしたサイトです。
また、ODVの作画は大学の課題で出たもので、内容はおおよそそこに従っています。問題とみなされる場合は、この記事をすぐに取り下げようと思います。

https://odv.awi.de/en/

https://ja.wikipedia.org/wiki/Apple_M1

https://support.apple.com/ja-jp/guide/mac-help/mh43185/mac

今回、GIFを作るのに当たって以下の記事を参考にしました。

https://qiita.com/bohebohechan/items/f8bf6d4bbe0f14497a7b