=begin JA

= dcpam6 インストールガイド
#* 竹広 真一 (takepiro)
#  * $Id: INSTALL,v 1.34 2026/06/16 11:00:00 takepiro $
=end JA
=begin EN

= dcpam6 Installation Guide
#* Shin-ichi Takehiro (takepiro)
#  * $Id: INSTALL,v 1.34 2026/06/16 11:00:00 takepiro $
=end EN

=begin JA
== インストールの流れ

* DCPAM6 ではライブラリと実行ファイルを別個にコンパイルします.

* 最初にライブラリ, モジュールフィあるとコンパイル用スクリプト (dcpamfrt) を作成します. ソースディレクトリとは別のディレクトリにインストールできます.

* その後, 実行ソースファイルを dcpamfrt によってコンパイルし実行ファイルを作成します. 作業ディレクトリは自由に好きなところで行えます. 


== 必要なソフトウェア

dcpam6 を利用するためには以下のソフトウエアを
事前にインストールしておく必要があります.

: spmodel libary (spml ver.2)

  spml をインストールするには, さらに netcdf, netcdf-fortran, gtool5, ISPACK3
  が必要になります. 

: MPI ライブラリ

  並列計算を行う場合のみ必要です. 合わせて spml を MPI 対応でインストール
  しておく必要があります.


* ソースからインストールする場合

  地球流体電脳倶楽部 dcmodel プロジェクトのページか

    https://www.gfd-dennou.org/library/dcmodel/

  からたどってください(一部未完成).

* Debian パッケージを利用する場合

  Debian ver.13 (trixie) ではパッケージを利用できます.
  地球流体電脳倶楽部謹製 Debian パッケージ
  
    https://www.gfd-dennou.org/library/cc-env/Linux/debian-dennou/

  を参照して, /etc/apt/sources.list に登録した後, 

    # apt-get update
    # apt-get install spml2 

  で必要なライブラリが一度にインストールできます. 


== ソースの取得

適当な作業ディレクトリで以下のようにソースアーカイブを展開します.
ソースは dcpam6-((|バージョン|)) というディレクトリに展開されます.

	$ tar xvzf dcpam6_latest.tgz

または

	$ zcat dcpam6_latest.tgz | tar -xvf -

git により最新版を取得することもできます.

        $ git clone -v https://www.gfd-dennou.org/ftp/arch/dcpam/git_repos/dcpam6.git

地球流体電脳倶楽部 dennou サーバーにアカウントを持っている場合には以下でも可能です.

        $ git clone -v www.gfd-dennou.org/GFD_Dennou_Club/ftp/arch/dcpam/git_repos/dcpam6.git


== DCPAM6 ライブラリインストール

1. 環境変数の設定

   spml ver.2 の spmfrt を環境変数 FC で設定します. 

        $ export FC=/home/hogehoge/spml2/bin/spmfrt   (sh,bash)
        $ setenv FC /home/hogehoge/spml2/bin/spmfrt   (csh,tcsh)

   必要に応じてコンパイルオプションを FCFLAGS に設定します.
   
        $ export FCFLAGS='-fbacktrace -g'   (sh,bash)
        $ setenv FCFLAGS '-fbacktrace -g'   (csh,tcsh)


2. Config.mk の作成

   configure スクリプトを走らせて Config.mk を作成します.

        $ ./confiugre [options] 

   指定できるオプションは以下のとおりです. 

        --prefix=[dir] : インストール先ディレクトリ
	                 デフォルトは展開しているソースディレクトリトップ

3. ライブラリ etc. の作成, インストール

        $ make all

    で非並列計算, 軸対称計算, MPI 並列計算用のライブラリが作成されます.
    一部でいい場合には

        $ make serial (非並列)
        $ make zonal  (軸対称)
        $ make mpi    (並列)

    とします.

    --prefix で別ディレクトリを指定した場合には
 
        $ make install

    でライブラリ, インクルードファイル, コンパイルスクリプトが
    prefix で指定したディレクトリ以下にインストールされます.

4. テスト

   execsrc 以下のサンプルを実行してみます.

   Held and Suarez 実験を行うには
   
        $ cd execsrc/hs94
	$ make all                                       (実行ファイル作成)
	$ cd exp_setup_files
	$ ../dcpam_init_data_hs94 -N=init_data_T21L20.conf   (初期値作成)
	$ ../dcpam_main_hs94 -N=dcpam_T21L20_short.conf	     (実験実行)

   並列計算を行う場合には実行時に mpirun -n 2 などをつけて
   走らせてください.

5. dcpamfrt スクリプトについて

   DCPAM6 ライブラリを使用したプログラムをコンパイルリンクするための
   スクリプト dcpamfrt が $(prefix)/bin に作成されます.
   オプション --zonal, --mpi でそれぞれ軸対称計算用, および MPI 並列用の
   ライブラリがリンクされます. 

   自作のソースプログラムやライブラリをとあるディレクトリに用意して

        $ $(prefix)/bin/dcpamfrt hogehoge.f90 .. main.f90 -o exefile
        $ $(prefix)/bin/dcpamfrt --zonal hogehoge.f90 .. main_zonal.f90 -o exefile
        $ $(prefix)/bin/dcpamfrt --mpi hogehoge.f90 .. main_mpi.f90 -o exefile

   といった具合に, 自作のルーチンを組み込んだ実行ファイルを作成できます.

   
=end JA

% Local Variables:
% coding: utf-8-with-signature
% End:


