# spml -- a fortran library for spectral model

<!-- English bellow -->

@ja
## SPML ライブラリとは?

**spml — SPmodel (SPectral MODEL) Library** はスペクトル法による
数値計算ライブラリです.

フーリエ変換, 球面調和函数変換, チェビシェフ変換などの計算エンジンには
石岡圭一氏による[ISPACK][ISPACK]を用いています.
spml は ISPACK の変換ルーチンを wrap し,
微分・積分・境界値問題などを取り扱いやすくしています.
また, データI/Oや後処理などは[地球流体電脳倶楽部 gtool プロジェクト][gtool project]
において開発されている [gtool5 Fortran Library][gtool5(ja)] を使うことを前提としています.

このライブラリに含まれる関数は, Fortran90 以降で強化された配列機能である

* 「要素別演算:配列の要素を指定せずに各要素に対する計算を行えること」
* 「配列を返す関数を作成できること」

を利用し, さらに関数の名前の命名法を
``(関数の出力するデータ種類)_(機能)_(引数のデータ種類)``
といった形に統一してあります.

Fortran90以降で導入された配列機能を生かしたこのライブラリを用いることで,
時間発展方程式の時間変化項以外の部分を「数式の形そのままに」プログラミン
グすることができるようになってます. 支配方程式の形をそのままソースコード
に反映させられるので, プログラムの可読性を向上させることができます. また,
spml の配列関数は入出力配列の性質が名前からわかるようにするべく統一的に
命名法にしたがっているので, 関数の使い方が機械的になり, プログラムを修正・
改変も容易に行えるようになっています. 引数と出力関数の種類を名前からわか
るようにすることで, 引数や出力の間違いを減らすことも狙っています.

本ライブラリの使用にあたっては, 地球流体スペクトルモデルプロジェクトの
Webサイトである [階層的地球流体スペクトルモデル集(SPMODEL)][SPMODEL] を
一度ご覧下さい.

## 最新安定版

- tar.gz ファイル
- ソースツリー

## ドキュメント

- \subpage INSTALL "インストールガイド"
- \subpage TUTORIAL "チュートリアル"
- \subpage CREDITS "開発者, 貢献者一覧"
- \subpage COPYRIGHT "COPYRIGHT and License"

## 主なモジュールとその解説

### 一次元問題

* ae_module: 一次元周期境界条件での問題をフーリエ変換により解く(多層対応).
* at_module: 一次元有限領域での問題をチェビシェフ変換法により解く(多層対応).

### 二次元問題

* ee_mpi_module: 二次元周期境界条件での問題をフーリエ変換によって解く
* et_module: 二次元水路領域での問題をフーリエ変換とチェビシェフ変換法により解く.
* w_module: 二次元球面上の問題を球面調和関数変換法により解く.
* w_mpi_module: 二次元球面上の問題を球面調和関数変換法により解く(MPI並列版).

### 三次元問題

* tee_mpi_module:
* ua_mpi_module:
* wa_module:
* wb_mpi_module:

[TOC]

## 使用上の注意とライセンス

MIT/X11 ライセンスです.
正式なライセンスについては [COPYRIGHT](@ref COPYRIGHT) を参照下さい.

### 科学者・研究者の方へのお願い

本ソフトウェアはフリーソフトウェアとしてリリースされていますが,
適切な引用を行なう科学的な作法までを免責していないことにご注意下さい.
本ソフトウェアを使用した研究を記述した論文を書く際には、
再現性の担保のためにも、適切な形式での引用をお願いします.

引用例は以下の通りです:

引用例 (和文)
> 竹広 真一, 佐々木 洋平, 石岡 圭一, 小高 正嗣, 高橋 芳幸, 中島 健介, 石渡 正樹, 林 祥介, spmodel 開発グループ, 2013: 階層的地球流体力学スペクトルモデル集 (SPMODEL), https://www.gfd-dennou.org/library/spmodel/, 地球流体電脳倶楽部. 

引用例 (英文)
> Takehiro, S., SASAKI, Y., Ishioka, K., Odaka, M., Takahashi, Y. O., Nakajima, K., Ishiwatari, M., Hayashi, Y.-Y., SPMODEL Development Group, 2013: Hierarchical Spectral Models for GFD (SPMODEL), https://www.gfd-dennou.org/library/spmodel/, GFD Dennou Club.

査読付き論文しか引用できない場合には, 流体力学会オンラインジャーナル「ながれマルチメディア」の解説論文をレファレンスとしてあげてください.
> Takehiro, S., Odaka, M., Ishioka, K., Ishiwatari, M., Hayashi, Y.-Y., 2006: SPMODEL: A Series of Hierarchical Spectral Models for Geophyiscal Fluid Dynamics, Nagare Multimedia 2006, http://www.nagare.or.jp/mm/2006/spmodel/

@endja

<!-- English page -->

@en

see [http://www.gfd-dennou.org/library/spmodel/]

Installation Guide is [INSTALL](@ref INSTALL).

@enden

[ISPACK]: https://www.gfd-dennou.org/arch/ispack/
[gtool project]:https://www.gfd-dennou.org/library/gtool/
[gtool5(ja)]: https://www.gfd-dennou.org/library/gtool/gtool5.htm.ja
[gtool5(en)]: https://www.gfd-dennou.org/library/gtool/gtool5.htm.en
[SPMODEL]: https://www.gfd-dennou.org/library/spmodel/
<!-- Local Variables: -->
<!-- mode: markdown -->
<!-- End: -->
