gtool4/Fortran90 reference - library - data types

gtool4/Fortran 90 library document

## データ型

2001年10月10日 豊田英司

## 内部型と外部型

データ型とはデータとビットパターンの対応付けです。gtool4/Fortran 90 ライブラリは入出力をつかさどりますので、プログラム内部（主記憶）のデータ型とファイルのデータ型を区別しています。前者は内部型、後者は外部型と呼ばれます。

## 内部型

内部型は Fortran の型です。現在のところ、以下のようなサポート状況になっています。

型名 | 変数値 | 属性値
--- | --- | ---
INTEGER | 可 | 可
REAL | 可 | 可
DOUBLE PRECISION | 可 | 可
COMPLEX | 計画中 | 計画中
LOGICAL | ― | 可
CHARACTER(n) | ― | 可
type(VSTRING) | ― | 可

すべての入出力手続はサブルーチンとして提供されます。ただし別途に、基本論理型属性値を返す Attr_True 関数があります。

## 外部型

外部型は内部型とちがって Fortran 処理系によって制約されるわけではありません。ファイル形式によってどのようなものでもあり得ます。

### 変数の型の決定

変数の外部型は変数作成時に文字列で (Create サブルーチンの xtype= 引数) 指定します。現在のところ、netCDF ファイル形式では下表のようになります。

受け付け可能な型名 (太字は正式型名) | netCDF (type=an)
short | [計画中] 符号付2バイト整数
INTEGER long int | 符号付4バイト整数
REAL float | IEEE754 形式 32ビット浮動小数点数
DOUBLEPRECISION double | [計画中] IEEE754 形式 64ビット浮動小数点数

### 属性の型の決定

属性の外部型はデフォルトでは put_attr サブルーチンの引数の型で決定されます。ただし、文字型については xtype= 引数が実装されており、外部型を int あるいは float 型に変換することができます。

内部の文字型から外部の数値型に変換する際には、コンマまたは空白で文字列を区切って配列を生成します。

### 変数の型と入力

現在のところ、外部型が文字型 (NF_TEXT) になっている変数は作成も入力もできません。

### 属性の型と入力

すべての外部型と内部型の組み合わせについて入力が可能です。