gtool4/Fortran90 reference - library - close

gtool4/Fortran 90 リファレンスマニュアル

# subroutine Create

2001年09月30日 豊田英司

## 概要

Create は第2番目以降の引数で指定されるような変数つまり gt_variable 型の実体を作成し、第1引数 var にセットします。Open されたものと同様、第1引数 var は後で必ず Close されなければなりません。

エラー時はデフォルトではプログラムが停止しますが、err 引数を設定すればプログラムは停止しなくなります。エラーのある場合、err が真となリます。

## 書式

### 次元変数を作成

    subroutine Create(var, url, length, xtype, long_name, overwrite, err)
        type(gt_variable), intent(inout):: var
        character(len = *), intent(in):: url
        integer, intent(in):: length
        character(len = *), intent(in), optional:: xtype
        character(len = *), intent(in), optional:: long_name
        logical, intent(in), optional:: overwrite
        logical, intent(out), optional:: err
    end subroutine

文字列 url で指定される場所に長さ length の次元変数を作成し、var に格納する。

オプション。外部型はデフォルトでは単精度実数型だが、xtype で指定できる。変数の物理量名称 (long_name 属性) はデフォルトでは存在せず、後から付加することもできるが、long_name 引数を指定すれば設定させられる。

### 多次元変数を作成

    subroutine Create(var, url, dims, xtype, long_name, overwrite, err)
        type(GT_VARIABLE), intent(inout):: var
        character(len = *), intent(in):: url
        type(GT_VARIABLE), intent(in), optional:: dims(:)
        character(len = *), intent(in), optional:: xtype
        character(len = *), intent(in), optional:: long_name
        logical, intent(in), optional:: overwrite
        logical, intent(out), optional:: err
    end subroutine

場所 url に次元 dims を持った変数を作成し、それを開いた
ものを var に格納する。

型 xtype を省略すると "float" とみなされる。既存変数があるとき失敗するが overwrite が真であれば続行する。dims の省略は 0 次元変数の設定を意味する。

### 指定された変数と同じ構造の変数を作成

    subroutine Create(var, url, copyfrom, copyvalue, overwrite, err)
        type(GT_VARIABLE), intent(out):: var
        character(len = *), intent(in):: url
        type(GT_VARIABLE), intent(inout):: copyfrom
        logical, intent(in), optional:: copyvalue
        logical, intent(in), optional:: overwrite
        logical, intent(out), optional:: err
    end subroutine

指定された変数 copyfrom と同じ構造を持つ変数 url を作成し、var に格納する。

copyvalue を真にすると copyfrom の値をコピーする。

overwrite はファイル作成時に上書き動作を行う。

## バグ

overwrite の動作はまだ検証されていない。