北海道大学環境科学院博士課程1年 三浦 樹

<aside> 💡

近年、AIの急速な発展に伴い、研究活動に役立つさまざまなツールが公開されています。 ここでは、私自身が個人的に利用しているツールを紹介します。

これらのツールの中には、更新や進化のスピードが速いものもあり、 次々と新しい上位互換が登場することが予想されますが、本記事が皆さまの参考になれば幸いです。

</aside>

📌 プログラミング / AIツールの活用

<aside> <img src="https://prod-files-secure.s3.us-west-2.amazonaws.com/066bb5ec-44d1-4f0b-8264-c71c6fcacc1c/bdefad16-2bf9-420f-a9f3-976858e30ec3/Anaconda_Icon.png" alt="https://prod-files-secure.s3.us-west-2.amazonaws.com/066bb5ec-44d1-4f0b-8264-c71c6fcacc1c/bdefad16-2bf9-420f-a9f3-976858e30ec3/Anaconda_Icon.png" width="40px" />

Anaconda / Miniconda と Python

Pythonを利用する際の環境構築に非常に便利なツールで、複数のPython環境を簡単に管理できます。

</aside>

解析やグラフの描画の際に使用できるプログラミング言語には様々なものがありますが、近年はAIとの親和性の高さも相俟ってPythonが広く普及しています。

Pythonの欠点はいくつかありますが、そのうちの一つに ”環境が壊れやすい” ことが挙げられます。 Pythonでは作成した環境の中に、図の描画や統計解析等に必要なライブラリをインストールした上でコードを実行する必要がありますが、このようなライブラリを新たにインストールする際、既存のライブラリとの互換性が崩れてしまう事があります。したがって、「複数のライブラリがセットでインストールされたpython環境」を必要に応じて作成することがおすすめです。

そこで、このpython環境構築に便利なのがAnaconda/Minicondaです。 以下は、Minicondaをサーバー上においてダウンロードし、環境を構築する際の例です。

# minicondaのダウンロード
mkdir -p miniconda
cd miniconda
wget <https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh>
bash Miniconda3-latest-Linux-x86_64.sh
#デフォルトでは、CUIを起動時に自動でbase環境がアクティベートされてしまう為、修正します
conda config --set auto_activate_base false
#パスを通します
~/miniconda3/bin/conda init bash
source ~/.bashrc
# python環境の構築
conda create -n "python_env1" python=3.10.12
# 作成したpython環境をアクティベート
conda activate python_env1
#ライブラリをインストールする(以下では、大気海洋の解析によく用いるライブラリを一括でインストールする例です)
conda config --append channels conda-forge
conda install -c conda-forge scipy matplotlib netcdf4 xarray dask cartopy numpy pandas cftime h5netcdf ipykernel gsw nco eofs seaborn jupyter
#現時点でインストールされているライブラリ一覧
conda list

#Pythonのライブラリには、Macos / linux / Windows 等のOS間で使用できるものと使用できないものがあったりするので注意しましょう。
#linuxの場合は、cdo ncview等のライブラリも使用可能です。

ERA5やOLAS5等のダウンロードにもPythonの使用が便利です。 その際には、 cdsapi というライブラリが必要です。

🔗 参考サイト ▷ Anaconda のダウンロード

Download Anaconda Distribution | Anaconda

<aside> <img src="https://prod-files-secure.s3.us-west-2.amazonaws.com/066bb5ec-44d1-4f0b-8264-c71c6fcacc1c/84cf9181-e288-466a-8100-6a793e371c9a/vscode.png" alt="https://prod-files-secure.s3.us-west-2.amazonaws.com/066bb5ec-44d1-4f0b-8264-c71c6fcacc1c/84cf9181-e288-466a-8100-6a793e371c9a/vscode.png" width="40px" />

Visual Studio Code (VSCode) と GitHub Copilot

高機能で拡張性の高いコードエディターです。

</aside>

プログラムを作成・編集するコードエディターにも様々な種類がありますが、VSCodeは多様な拡張機能が利用可能である為、非常に便利です。

ここでは、特に便利な拡張機能をいくつか紹介します。

✏️ GitHub Copilot AIを利用したプログラミングを可能にする拡張機能です。学生は無料で利用可能で、数行レベルでの"予測変換"やデバッグ支援等、様々なAI機能を活用できます。
✏️ Remote Development モート環境での作業に便利です。プログラムの編集自体はローカル環境で行い、計算の実行はサーバー上で行う際に用います。
✏️ Error Lens コードのエラーが分かりやすく強調される拡張機能です。
✏️ ToDo Tree 複雑なプログラムの中で、メモを残こし、作業を後回しにしやすいです。
**✏️ GitHub Pull Requests /
GitLens / Git Graph** GitHubとの連携を効率化します。

また、プログラムを編集するときに以下のようなショートカットを利用すると便利です。

✒️ Ctrl + d 数の同じ単語を一括で選択
✒️ Alt + Shift + ドラッグ マルチカーソル
✒️ F2 シンボルのリネーム(指定した変数名を急遽変更したい際に便利)
✒️ Ctrl + クリック 宣言名の確認
✒️ Ctrl + スペース サジェスト表示
✒️ Alt + ↑や↓ カーソルのある行の上下(Jupyter Notebookのセルの上下にも使用可)
✒️ Ctrl + w タブを閉じます。
✒️ Ctrl + h 文字を検索し、置換

さらに、ついついタブを大量に開いてしまう方には