Class an_generic
In: an_generic.f90

抽象 netCDF インターフェイスの総称宣言

Methods

ANVarSync   ANXTypeName   attr_next   attr_rewind   close   copy_attr   create   create   del_attr   get   get   get_attr   get_attr   get_attr   get_attr   get_attr   inquire   inquire   inquire   open   open   put   put   put_attr   put_attr   put_attr   put_attr   search_dim   toString   var_search   var_search  

Included Modules

an_types dc_types

Public Instance methods

ANVarSync( [var], [stat] )
Subroutine :
var :type(AN_VARIABLE), intent(in), optional
stat :integer, intent(out), optional

Original external subprogram is anvarsync.f90#ANVarSync

ANXTypeName( ixtype, xtype )
Subroutine :
ixtype :integer, intent(in)
xtype :character(*), intent(out)

Original external subprogram is anxtypename.f90#ANXTypeName

attr_next( var, name, [end] )
Subroutine :
var :type(AN_VARIABLE), intent(in)
name :character(len = *), intent(out)
end :logical, intent(out), optional

Original external subprogram is anvarattr.f90#ANVarAttrNext

attr_rewind( var )
Subroutine :
var :type(AN_VARIABLE), intent(in)

Original external subprogram is anvarattr.f90#ANVarAttrRewind

close( var, [err] )
Subroutine :
var :type(AN_VARIABLE), intent(in)
err :logical, intent(out), optional

Original external subprogram is anvarclose.f90#ANVarClose

copy_attr( to, attrname, from, stat )
Subroutine :
to :type(AN_VARIABLE), intent(in)
attrname :character(len = *), intent(in)
from :type(AN_VARIABLE), intent(in)
stat :integer, intent(out)

Original external subprogram is anvarattrcopy.f90#ANVarAttrCopy

create( var, url, xtype, dims, [overwrite], [err] )
Subroutine :
var :type(AN_VARIABLE), intent(out)
url :character(len = *), intent(in)
xtype :character(len = *), intent(in)
dims(:) :type(AN_VARIABLE), intent(in)
overwrite :logical, intent(in), optional
err :logical, intent(out), optional

変数作成

変数 URL url に変数を作成します. 変数が依存する次元を dims に与えます. 返される引数 var には変数 ID などの情報が格納されます.

overwrite に .true. を設定すると上書き可能なモードになります. デフォルトは上書き不可です. err を与える場合, 次元変数生成時にエラーが生じても プログラムを終了せず, err に .false. が返ります.

Original external subprogram is anvarcreate.f90#ANVarCreate

create( var, url, xtype, length, [overwrite], [err] )
Subroutine :
var :type(an_variable), intent(out)
url :character(len = *), intent(in)
xtype :character(len = *), intent(in)
length :integer, intent(in)
overwrite :logical, intent(in), optional
err :logical, intent(out), optional

次元変数作成

変数 URL url に次元変数を作成します. 次元変数の長さを length に与えます. 返される引数 var には変数 ID などの情報が格納されます.

overwrite に .true. を設定すると上書き可能なモードになります. デフォルトは上書き不可です. err を与える場合, 次元変数生成時にエラーが生じても プログラムを終了せず, err に .false. が返ります.

Original external subprogram is anvarcreated.f90#ANVarCreateD

del_attr( var, name, [err] )
Subroutine :
var :type(AN_VARIABLE), intent(in)
name :character(len = *), intent(in)
err :logical, intent(out), optional

Original external subprogram is anvardelattr.f90#ANVarDelAttr

get( var, start, cnt, stride, imap, siz, value, iostat )
Subroutine :
var :type(AN_VARIABLE), intent(in)
start(:) :integer, intent(in)
cnt(:) :integer, intent(in)
stride(:) :integer, intent(in)
imap(:) :integer, intent(in)
: NetCDF変数と内部データ配列のメモリ内構 造間のマッピングを指定する整数ベクトル. 詳しくは NetCDF マニュアル (NF_PUT_VARM_type 等 を参照のこと)
siz :integer, intent(in)
value(siz) :real(DP), intent(out)
iostat :integer, intent(out)

Original external subprogram is anvargetnum.f90#ANVarGetDouble

get( var, start, cnt, stride, imap, siz, value, iostat )
Subroutine :
var :type(AN_VARIABLE), intent(in)
start(:) :integer, intent(in)
cnt(:) :integer, intent(in)
stride(:) :integer, intent(in)
imap(:) :integer, intent(in)
: NetCDF変数と内部データ配列のメモリ内構 造間のマッピングを指定する整数ベクトル. 詳しくは NetCDF マニュアル (NF_PUT_VARM_type 等 を参照のこと)
siz :integer, intent(in)
value(siz) :real, intent(out)
iostat :integer, intent(out)

Original external subprogram is anvargetnum.f90#ANVarGetReal

get_attr( var, name, value, [default] )
Subroutine :
var :type(AN_VARIABLE), intent(in)
name :character(len = *), intent(in)
value :logical, intent(out)
default :logical, intent(in), optional

Original external subprogram is anvarattrtrue.f90#ANVarGetAttrLogical

get_attr( var, name, value, default, stat )
Subroutine :
var :type(AN_VARIABLE), intent(in)
name :character(len = *), intent(in)
value :character(len = *), intent(out)
default :character(len = *), intent(in)
stat :integer, intent(out)

Original external subprogram is anattrgetchar.f90#ANAttrGetChar

get_attr( var, name, value, stat, [default] )
Subroutine :
var :type(AN_VARIABLE), intent(in)
name :character(len = *), intent(in)
value(:) :integer, intent(out)
stat :integer, intent(out)
default :integer, intent(in), optional

Original external subprogram is anattrgetnum.f90#ANAttrGetInt

get_attr( var, name, value, stat, [default] )
Subroutine :
var :type(AN_VARIABLE), intent(in)
name :character(len = *), intent(in)
value(:) :real(DP), intent(out)
stat :integer, intent(out)
default :real(DP), intent(in), optional

Original external subprogram is anattrgetnum.f90#ANAttrGetDouble

get_attr( var, name, value, stat, [default] )
Subroutine :
var :type(AN_VARIABLE), intent(in)
name :character(len = *), intent(in)
value(:) :real, intent(out)
stat :integer, intent(out)
default :real, intent(in), optional

Original external subprogram is anattrgetnum.f90#ANAttrGetReal

inquire( var, [ndims], [dimlen], [growable], [name], [url], [xtype] )
Subroutine :
var :type(an_variable), intent(in)
ndims :integer, intent(out), optional
: 変数の次元数
dimlen :integer, intent(out), optional
: 変数が1次元である場合、次元長
growable :logical, intent(out), optional
: 変数が成長可能次元を持つか
name :character(*), intent(out), optional
: 文字型引数が短いと値の切り詰めが起こりうる。’?’ のあとの変数名
url :character(*), intent(out), optional
: 変数名、少なくともファイル名を含む、なるべく長い名前
xtype :character(*), intent(out), optional
: 変数の型名

Original external subprogram is anvarinquire.f90#ANVarInquire

inquire( var, attrname, [xtype] )
Subroutine :
var :type(AN_VARIABLE), intent(in)
attrname :character(len=*), intent(in)
xtype :character(len=*), intent(out), optional

Original external subprogram is anattrinquire.f90#ANAttrInquire

inquire( var, dimlen )
Subroutine :
var :type(AN_VARIABLE), intent(in)
dimlen(:) :integer, intent(out)

Original external subprogram is anvarinquire-ia.f90#ANVarInquireIA

open( var, src_var, dimord, [err] )
Subroutine :
var :type(AN_VARIABLE), intent(out)
src_var :type(AN_VARIABLE), intent(in)
dimord :integer, intent(in)
err :logical, intent(out), optional

既に開かれた変数 src_vardimord 番目の次元にあたる変数を 開き var に格納します。

変数を開く際にエラーが生じた場合、メッセージを出力してプログラムは 強制終了します。err を与えてある場合にはこの引数に .true. が返り、プログラムは終了しません。

Original external subprogram is anvaropenbydimord.f90#ANVarOpenByDimOrd

open( var, url, [writable], [err] )
Subroutine :recursive
var :type(AN_VARIABLE), intent(out)
url :character(len = string), intent(in)
writable :logical, intent(in), optional
err :logical, intent(out), optional

Original external subprogram is anvaropen.f90#ANVarOpen

put( var, start, count, stride, imap, siz, value, iostat )
Subroutine :
var :type(AN_VARIABLE), intent(in)
start(:) :integer, intent(in)
count(:) :integer, intent(in)
stride(:) :integer, intent(in)
imap(:) :integer, intent(in)
siz :integer, intent(in)
value(siz) :real(DP), intent(in)
iostat :integer, intent(out)

Original external subprogram is anvarputnum.f90#ANVarPutDouble

put( var, start, count, stride, imap, siz, value, iostat )
Subroutine :
var :type(AN_VARIABLE), intent(in)
start(:) :integer, intent(in)
count(:) :integer, intent(in)
stride(:) :integer, intent(in)
imap(:) :integer, intent(in)
siz :integer, intent(in)
value(siz) :real, intent(in)
iostat :integer, intent(out)

Original external subprogram is anvarputnum.f90#ANVarPutReal

put_attr( var, name, value, [err] )
Subroutine :
var :type(AN_VARIABLE), intent(in)
name :character(len = *), intent(in)
value(:) :double precision, intent(in)
err :logical, intent(out), optional

Original external subprogram is anvarputattrreal.f90#ANVarPutAttrDouble

put_attr( var, name, value, [err] )
Subroutine :
var :type(AN_VARIABLE), intent(in)
name :character(len = *), intent(in)
value(:) :integer, intent(in)
err :logical, intent(out), optional

Original external subprogram is anvarputattrint.f90#ANVarPutAttrInt

put_attr( var, name, value, [err] )
Subroutine :
var :type(AN_VARIABLE), intent(in)
name :character(len = *), intent(in)
value(:) :real, intent(in)
err :logical, intent(out), optional

Original external subprogram is anvarputattrreal.f90#ANVarPutAttrReal

put_attr( var, name, value, [xtype], [err] )
Subroutine :
var :type(AN_VARIABLE), intent(in)
name :character(len = *), intent(in)
value :character(len = *), intent(in)
xtype :character(len = *), intent(in), optional
err :logical, intent(out), optional

Original external subprogram is anvarputattrchar.f90#ANVarPutAttrChar

search_dim( var, name ) result(result)
Function :
result :integer
var :type(AN_VARIABLE), intent(in)
name :character(len = *), intent(in)

Original external subprogram is ansearchdim.f90#an_search_dim

toString( var ) result(result)
Function :
result :character(string)
var :type(AN_VARIABLE), intent(in)

Original external subprogram is anvartostring.f90#ANVarToString

var_search( iter, url, end )
Subroutine :
iter :type(AN_VARIABLE_SEARCH), intent(inout)
url :character(len = *), intent(out)
end :logical, intent(out)

Original external subprogram is anvarsearch.f90#ANVarSearchNext

var_search( iter, urlBase )
Subroutine :
iter :type(AN_VARIABLE_SEARCH), intent(out)
urlBase :character(len = *), intent(in)

Original external subprogram is anvarsearch.f90#ANVarSearchInit

[Validate]