0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

WRF Version3の導入in2025

Last updated at Posted at 2025-01-30

領域気象モデルWeather Research&Forecasting model(WRF)のバージョン3を導入します.
2025年現在,使用しているコンパイラによってはデフォルトとは別にフラグを追加する等の手間がかかりますが,少なくともWRFはコンパイルできました.
WRFv3.9のマニュアル

環境

OS(ディストリビューション):Linux(RHEL9.6)
コンパイラ:gcc(v11.5.0),g++(v11.5.0),gfortran(v11.5.0)

ディレクトリMyWRFv3内に次のような環境を構築します.

MyWRFv3
| - WRFV3 (WRF本体)
| - WPSV3 (WPS)
| - WPS_GEOG (地形データ)
| - wrf_dependencies (依存ライブラリ)
| - build_wrf_dependencies.sh(依存ライブラリのインストールスクリプト)

WRF&WPSのソースコードを入手

WRF Model Users Siteの「Download」→ 「WRF&WPS Sorce Code」からWRFとWPS及び必要ライブラリの一部を入手します.
以降は登録が必要な作業です.
入手できたら$MyWRFv3内で

  • WRF v3.9.1.1(tarファイル)
  • WPS v3.9.1(tarファイル)

展開します.

$ tar xzvf WRFV3.9.1.1.TAR.gz
$ tar xzvf WPSV3.9.1.TAR.gz

依存ライブラリの導入

WRF,WPSと同じ階層に用意したwrf_dependenciesディクトリ内へ依存環境を導入します.

$ ls -l
total 8
drwxr-xr-x  7 hoge hoge 4096 Aug 18  2017 WPS
drwxr-xr-x 17 hoge hoge 4096 Aug 29  2017 WRFV3
drwxr-xr-x  2 hoge hoge   10 Jan 29 19:24 wrf_dependencies

公式(NCAR)のユーザーフォーラムで紹介されているインストールスクリプトを実行します.

$ cd MyWRFv3
$ sh build_wrf_dependencies.sh

次のように環境変数を設定します.

.bashrc
export DIR=/DATA/USER/tomita/MyWRFv3/wrf_dependencies
export NETCDF=$DIR/netcdf
export LD_LIBRARY_PATH=$NETCDF/lib:$DIR/grib2/lib
export PATH=$NETCDF/bin:$DIR/mpich/bin:$PATH
export JASPERLIB=$DIR/grib2/lib
export JASPERINC=$DIR/grib2/include

WRFv3のコンパイル

WRFv3のディレクトリ内で

$ ./configure

をします.
コンパイラ・並列オプションは34(gfortran,damper),
ネスティングオプションは1(default)
を選びます.

v4.◯以降,./configureの後に

cp share/landread.c.dist share/landread.c

を実行する必要がある.
v3では./configure時に具体的なWarningは表示されないが,
これを行わないと実行ファイルが生成されなかった(compileログは未確認).

gccのあるバージョン(10?)から,fortranの引数の型のエラーが厳しくなった(参考).
これを回避するため,configure.wrfのFCBASEOPTS_NO_Gレコードに-fallow-argument-mismatchを追記した.

コンパイルを実行する.

$ ./compile em_real >& compile.log

コンパイルに成功するとmainディレクトリ下に以下の実行ファイルが生成される.

$ ls -lh main/*exe
-rwxr-xr-x 1 hoge hoge 40M Jan 27 21:58 main/ndown.exe
-rwxr-xr-x 1 hoge hoge 37M Jan 27 21:58 main/real.exe
-rwxr-xr-x 1 hoge hoge 36M Jan 27 21:58 main/tc.exe
-rwxr-xr-x 1 hoge hoge 50M Jan 27 21:56 main/wrf.exe

WPSの導入

WPSv3のコンパイルは失敗した.原因はここここで議論されているエラーだが,WPSv3で解決する方法は未確認.
如何にWPSv3とWPSv4の両方のコンパイル手順を示す.

WPSv3のコンパイル

WPSv3ディレクトリ内に移動し,

$ ./configure

1(gfortran,smparオプション)を選択.
configure.wrfのFFLAGS,F77FLAGSレコードに-fallow-argument-mismatchフラグを追記する.

コンパイルを実行

$ ./compile em_real >& compile.log

失敗した.......
ungrib/src/ngl/g2/intmath.fでエラーが起きているようだ.
同様のエラーがWPSのgithubで報告されている.

WPSv4のコンパイル

WPSv3の代わりにWPSv4.1をコンパイルする.
ソースはgithubから入手する(masterブランチから変更する).

$ git clone -b release-v4.1 https://github.com/wrf-model/WPS.git WPSv4.1

./configureを実行.

$./configure

configure.wpsのFFLAGS,F77FLAGSレコードに-fallow-argument-mismatchフラグを追記する.
WPSディレクトリ直下にgeogrid.exe,ungrib.exe,metgrid.exeが生成されていれば成功

おわりに

WPSv4で作ったmet_em_d0*をWRFv3で使えるか,確認が必要.

0
0
0

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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?