Condaを用いてgfortranとnetcdf-fortranが使える仮想環境を簡単に構築できます.aptが使えない(superuserになれない)スパコンでも有効です.ただし,東大Wisteria-Oではログインノードでのコンパイル実行はできましたが,interactive-nodeでの実行はできませんでした.そもそもinteractive-nodeではcondaコマンドが動きませんでした.
conda-forge channelを採用します.
WSL2 Ubuntu 22.04と東京大学情報基盤センターWisteria-Oで検証済みです.
conda create -n gfortran -c conda-forge cmake fortran-compiler
conda activate gfortran
conda install -c conda-forge libnetcdf netcdf-fortran
インストールされたパッケージを確認します.
conda list
特定のパッケージを確認します.
$ conda list netcdf-fortran
# packages in environment at /work/g***/******/miniconda3/envs/fabm-gfortran:
#
# Name Version Build Channel
netcdf-fortran 4.6.1 nompi_hacb5139_103 conda-forge
ベンダーによってgfortranがインストールされている場合でも,仮想環境内では上記でインストールしたものが使えます.ログイン環境および仮想環境において,gfortran --version
を実行すると,バージョンがそれぞれ異なることを確認できます.
パッケージの探し方
conda-forgeにパッケージが存在するか,探す方法です.
bashターミナルの場合
conda search -c conda-forge <パッケージ名>
# netcdfを含むパッケージを探す場合
conda search -c conda-forge netcdf
WEBの場合
ブラウザでAnaconda cloudにアクセスします.
Search Packagesの検索窓で検索します.このとき,パッケージ名だけでなく,type(channel名)とPlatformを指定すると絞り込めます.
type:conda platform:linux-64 netcdf
特定のビルドを指定してインストール
netcdf-fortranにはバージョンの違いやmpiかnompiかによって多くのビルドが存在します.特に指定しない場合は最新のもので依存関係を自動的に判断してインストールされます.
特定のビルドを指定してインストールすることもできます.バージョン4.6.1かつopenmpiのnetcdf-fortranをインストールする場合です.
conda install -c conda-forge netcdf-fortran=4.6.1=mpi_openmpi_*
あるいはmpi_openmpiだけを指定して,最新版をインストールできます.
conda install -c conda-forge netcdf-fortran=*mpi_openmpi*