LoginSignup
5
5

More than 5 years have passed since last update.

WRF3.4.1のコンパイル

Last updated at Posted at 2014-07-07

概要

気象の研究とかに使われるメソスケール気候予測数値モデル、WRFのコンパイルで困った時のお話。
WRF3.4.1/Ubuntu13.10/gcc-fortran4.8.1で起こりました。

エラーの内容

どうやらCプリプロセッサで.Fのファイルを.f90にするときとかに
C形式のコメントが残ってしまって、コンパイル時に文法エラーになる模様。
configure.wrfでCPPの-Cオプションを削除しても、WRF内部のMakefileで-Cオプションを利用しているようで同じようなエラーが出る。

error
gfortran -w -ffree-form -ffree-line-length-none -fconvert=big-endian -frecord-marker=4  -c  -I/usr/local/netcdf-4.3.2/gcc44/include -I../ioapi_share diffwrf.f
diffwrf.f:1.1:

/* Copyright (C) 1991-2012 Free Software Foundation, Inc.
 1
Error: Invalid character in name at (1)
diffwrf.f:2.3:

   This file is part of the GNU C Library.
   1
Error: Unclassifiable statement at (1)
diffwrf.f:4.3:

   The GNU C Library is free software; you can redistribute it and/or
   1
Error: Unclassifiable statement at (1)
diffwrf.f:4.39:

対処法

gfortranでのコンパイル時に-cppオプションを付ける。
./configureのあとに、configure.wrfの119行目、120行目を以下のように編集。

FORMAT_FIXED = -ffixed-form -cpp
FORMAT_FREE = -ffree-form -ffree-line-length-none -cpp

2014/9/30追記

-Cオプションの削除ではなく、-nosdtincの追加でうまくいくようです(FizFoxさんありがとうございます)。

参考

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