gtool_history.f90
Go to the documentation of this file.
1 !
2 != gtool4 netCDF データの入出力インターフェース
3 != Interface of Input/Output of gtool4 netCDF data
4 !
5 ! Authors:: Yasuhiro MORIKAWA, Eizi TOYODA
6 ! Version:: $Id: gtool_history.f90,v 1.5 2009-06-01 15:17:22 morikawa Exp $
7 ! Tag Name:: $Name: $
8 ! Copyright:: Copyright (C) GFD Dennou Club, 2000-2009. All rights reserved.
9 ! License:: See COPYRIGHT[link:../../../COPYRIGHT]
10 !
11 
13  !
14  != gtool4 netCDF データの入出力インターフェース
15  != Interface of Input/Output of gtool4 netCDF data
16  !
17  ! gtool_history モジュールは, 数値モデルの結果を
18  ! {gtool4 netCDF 規約}[link:../xref.htm#label-6] に基づくデータ形式
19  ! (以降, gtool4 データと呼びます) で出力するためのインターフェースです.
20  ! 主に時間積分の結果を等時間間隔で出力することを念頭においてます.
21  ! このモジュールを用いれば, Fortran90 で書かれたプログラムの計算結果を
22  ! gtool4 データで出力することが簡単に実現できます.
23  !
24  ! なお, Fortran77 用のインターフェースとして,
25  ! HSPACK[link:files/hspack_rdoc.html]
26  ! も用意しています.
27  !
28  !== Tutorial
29  !
30  ! * gtool5 オフィシャルチュートリアル:
31  ! * {データ出力のための最低限の設定}[link:../tutorial/gthist_first.htm]
32  ! * {使われているサブルーチンの説明}[link:../tutorial/gthist_desc.htm]
33  ! * {属性(attribute)をつける}[link:../tutorial/gthist_attr.htm]
34  ! * {複数のファイルに出力}[link:../tutorial/gthist_multi.htm]
35  ! * {ファイルから初期値を入力}[link:../tutorial/gthist_restart.htm]
36  !
37  !== Prepare
38  !
39  ! 以下の use 文を Fortran 90 プログラムの先頭に書き込んでください.
40  ! 本 gtool_history モジュール内の手続きと構造型変数が
41  ! 利用できるようになります.
42  !
43  ! use gtool_history
44  !
45  !== Procedures List
46  !
47  ! gtool_history_generic を参照ください.
48  !
49  ! See "gtool_history_generic".
50  !
51  !== Derived types
52  !
53  ! gtool_history_types を参照ください.
54  !
55  ! See "gtool_history_types".
56  !
57  !== {gtool4 netCDF 規約}[link:../xref.htm#label-6]との対応
58  !
59  ! バージョン gtool4_netCDF_version に対応しています。
60  !
61  !=== 生成系
62  !
63  ! 出力するデータには以下の大域属性を必ず与えます。
64  !
65  ! <b>netCDF属性</b>:: <b>与えられる値</b>
66  ! Conventions :: ユーザによる指定が無い限り gtool_history_internal#gtool4_netCDF_Conventions
67  ! が与えられます.
68  ! gt_version :: ユーザによる指定が無い限り gtool_history_internal#gtool4_netCDF_version
69  ! が与えられます.
70  ! title :: ユーザによって指定されます.
71  ! source :: ユーザによって指定されます.
72  ! institution :: ユーザによって指定されます.
73  ! history :: "unknown 2005-08-05T21:48:37+09:00> gtool_history: HistoryCreate\\n"
74  ! といった値が与えられます.
75  ! "unknown" の部分には, 環境変数 USER から取得される
76  ! ユーザ名が与えられます. その後ろにはファイルの生成を
77  ! 開始した時刻が与えられます.
78  !
79  ! 出力するデータの変数には以下の属性を必ず与えます.
80  !
81  ! <b>netCDF属性</b>:: <b>与えられる値</b>
82  ! long_name :: ユーザによって指定されます.
83  ! units :: ユーザによって指定されます.
84  !
85  ! この他の属性に関して HistoryAddAttr などによって任意に与えることは
86  ! 可能です. 禁止の属性に関しては警告を発するべきですが, 現在は
87  ! チェックを行っていません.
88  !
89  !=== 解釈系
90  !
91  ! 原則的に, 現在の gtool_history は全ての属性の解釈を行ないません.
92  ! 本来ならば, HistoryGet は scale_factor, add_offset,
93  ! valid_range などの属性を解釈すべきかも知れません. ただし,
94  ! HistoryCopyVariable は変数コピーの際, 変数に属する全ての属性と
95  ! その値を引き継ぎます.
96  !
97  !--
98  !
99  ! This module is designed for output to gtool4 netCDF dataset
100  ! sequentially along an axis (here after it will be called '+time+').
101  ! The name indicates that the module is originally intended to serve as
102  ! the '+history+' of atmospheric forecast models.
103  !
104  !== Dependency
105  !
106  !* module gtdata_types for internal data access
107  !* module dc_types for constants dc_types#STRING and dc_types#TOKEN
108  !* module dc_trace for error trace function
109  !
110  !++
113  implicit none
114 
115 end module gtool_history