1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

最新版wgrib2をインストールする

Last updated at Posted at 2024-08-23

はじめに

wgrib2はNOAAが開発・配布しているGRIB2形式のデータを扱うツールである。公式HPの一番上には新着情報が載っていて、このような記載がある。

Wgrib2 moved to github.

Wgrib2 development has been transitioning from a makefile build to a github/CMake build. This allows future wgrib2 development to be integrated into a the software build/maintanence system that is used by NCEP and the NOAA R&D HPC systems. Wgrib2 version 3.3.0 has the major functionality of wgrib2 v3.1.3. (Ubuntu: IP-7/18/2024?, AEC-yes, JPEG200-no, PNG-no).

ファイルをGithubに移動し、makefileでmakeじゃなくて、cmakeでビルドするようになりましたとのこと。確かにこれまでの配布サイトでは最新verが3.1.3だが、Githubでは最新verが3.4.0になっている。(執筆時)

正直あまり変わらないとは思うけど、公式が移動したって言っているし、新機能も触りたいので最新版をインストールしたいです。私個人はCMakeのほうが慣れているし。でも周りを見てもネットの記事も従来の手法でやっているので、ここにやり方を残します。

まあ、公式ドキュメントのInstallingの通りやればいいんですけど……。

環境

  • WSL2
  • Ubuntu 22.04.4 LTS
  • GNU Fortran 11.4.0
  • gcc 11.4.0
  • cmake 3.22.1

事前準備

gfortranとgccをインストールしておく。

sudo apt install gfortran
sudo apt install gcc

cmakeもapt installでよいが、古いバージョンをインストールしてくる。apt installでとってきた(と思われる)cmake.3.22.1で動いたので多分大丈夫です。

sudo apt install cmake
最新版をインストールする方法

最新版をとってきたい場合は公式サイトからソースをとってきてビルド&インストールする必要がある。バージョンは都度変えてください。(すみません、検証していません。)

wget https://github.com/Kitware/CMake/releases/download/v3.30.2/cmake-3.30.2.tar.gz
tar xvf cmake-3.30.2.tar.gz
cd cmake-3.30.2
mkdir build
cd build
../configure --prefix=/path/to/install/cmake/3.30.2
make
make install

ダウンロードする

Githubにリリースが置いてあるので、latestをとってくる。

wget https://github.com/NOAA-EMC/wgrib2/archive/refs/tags/v3.4.0.tar.gz
tar xvf v3.4.0.tar.gz

CMakeの実行

/usr/local/{bin,lib,include}にインストールする想定です。が、注意点があるのでこの章を最後まで読んでからやってください。

cd wgrib2-3.4.0
mkdir build
cd build
cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local
make
ctest
sudo make install

これでwgrib2がインストールされました。が、コマンドが反応しません。

/usr/local/binを見てみる。

nastukodachi@kc169160:/usr/local/bin$ ll
total 95704
drwxr-xr-x  3 root       root           4096 Aug  1 09:31 ./
drwxr-xr-x 11 root       root           4096 Apr 30 09:53 ../
lrwxrwxrwx  1 root       root             45 Apr 30 09:53 corepack -> ../lib/node_modules/corepack/dist/corepack.js*
lrwxrwxrwx  1 root       root             27 Apr 30 09:53 n -> ../lib/node_modules/n/bin/n*
-rwxr-xr-x  1 root       root       97981176 Apr 30 09:53 node*
lrwxrwxrwx  1 root       root             38 Apr 30 09:53 npm -> ../lib/node_modules/npm/bin/npm-cli.js*
lrwxrwxrwx  1 root       root             38 Apr 30 09:53 npx -> ../lib/node_modules/npm/bin/npx-cli.js*
drwxr-xr-x  2 suedmond36 suedmond36     4096 Aug 23 09:18 wgrib2/
natsukodachi@kc169160:/usr/local/bin$ ll wgrib2/
total 2992
drwxr-xr-x 2 suedmond36 suedmond36    4096 Aug 23 09:18 ./
drwxr-xr-x 3 root       root          4096 Aug  1 09:31 ../
-rwxr-xr-x 1 root       root       3054512 Aug 23 09:24 wgrib2*

wgrib2の中にwgrib2の実行ファイルがある。これだと反応してくれない……ので、パスを追加する。

export PATH=$PATH:/usr/local/bin/wgrib2

もしくは、wgrib2を一つ上に持ってくるか、シンボリックリンクをusr/local/binに作る。dirのwgrib2と名前が被るのでこちらは名前を変えて後で捨てる。

cd /usr/local/bin
sudo mv wgrib2 dir_wgrib2
sudo mv dir_wgrib2/wgrib2 .
sudo rm -fr dir_wgrib2

場所が場所なので操作は慎重に。まじで怖いので、インストール場所は適当なとこにしておいて、実行ファイルをusr/local/binに移動するとか、新しくパス通すほうがよかったと思う。(というかそうやってクリーンにビルドするのがCMakeの利点だったりするのに……)

おわりに

だれかwgrib2をディレクトリを作成せずインストールする方法があったら教えてください。

1
1
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?