error
NetCDF
WRF
#migrated

NetCDF > Error: NC_UNLIMITED size already in use -54 > NF90_DEF_DIM()にて次元を0にしていた

More than 1 year has passed since last update.
動作環境
Xeon E5-2620 v4 (8コア) x 2
32GB RAM
CentOS 6.8 (64bit)
gcc version 4.9.2 (とgfortran): Software Collections (SCL) で有効にした状態
NCAR Command Language Version 6.3.0
Python 2.6.6 (r266:84292, Aug 18 2016, 15:13:37) 
Python 3.6.0 on virtualenv
NetCDF v4.4.1.1 / NetCDF (Fortran API) v4.4.4 
WRF/WPS v3.9

WRF(Weather Research and Forecasting Model)に関して。

WRFのデータをもとに処理を行う「とある」ソフトウェアの最新版を試していた。
ビルドはできたが、実行した時に以下のエラーがある。

nc_create_header_outfile: Setting up receptor point dimensions
 Error: NetCDF: NC_UNLIMITED size already in use                                                 -54

問題の箇所をデバッグprintで特定していくと以下にたどり着いた。

  ncret = NF90_DEF_DIM(ncid,'receptors',numreceptor,ncrepid)
  call check_ncerror(ncret)

エラーの原因はnumreceptorが0になっていることのようだ。

同じソフトウェアの旧バージョンにおいては設定ファイルにおいてnumreceptorを0としていても動作していた。
NF90_DEF_DIM()を使うようになったのは最新版のソフトにおいて。
このあたりで動作検証抜けがあるのかもしれない。

関連リンク

エラーコード
http://www.unidata.ucar.edu/software/netcdf/docs/nc-error-codes.html

以下の情報にて設定値に問題があると気づいた。
https://www.myroms.org/forum/viewtopic.php?f=16&t=1270

But the old standard input file that I was using did not have
this parameter so that ROMS tried to assign unlimited dimension to
'frc_adjust'.