Path: | src/gtvarcreated.f90 |
Last Update: | Wed Jul 20 18:22:24 JST 2005 |
Copyright (C) GFD Dennou Club, 2000. All rights reserved.
独立変数 create
長さ length の自分自身を次元とする変数を作成する。 長さ length = 0 の変数は可変長である。 次元変数は自動生成されることが多いため、変数名部を欠く指定に対しては 名前を自動生成する。
var : | type(GT_VARIABLE), intent(out) |
url : | character(len = *), intent(in) |
length : | integer, intent(in) |
xtype : | character(len = *), intent(in), optional |
long_name : | character(len = *), intent(in), optional |
overwrite : | logical, intent(in), optional |
err : | logical, intent(out), optional |
subroutine GTVarCreateD(var, url, length, xtype, long_name, overwrite, err) implicit none type(GT_VARIABLE), intent(out):: 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 character(len = string):: fnam, vnam, new_url type(an_variable):: an type(mem_variable):: mem continue call beginsub('gtvarcreate-d', 'url=<%c> length=%d', c1=trim(url), i=(/length/)) if (strHead(url, "memory:")) then call Create(mem, url, length, xtype, long_name, overwrite, err) call map_create(var, vtb_class_memory, mem%id, 1, (/length/)) call gtvar_dump(var) call endsub('gtvarcreate-d', 'class=memory mapid=%d', i=(/var%mapid/)) return endif ! URL の検査 call UrlSplit(url, file=fnam, var=vnam) if (vnam == "") then call GtDataTmpNam(file=fnam, base="dim", result=new_url) else new_url = url endif ! an 形式が選択される場合は call Create(var=an, url=new_url, length=length, xtype=xtype, overwrite=overwrite, err=err) if (present(long_name)) then call put_attr(an, 'long_name', long_name, err=err) endif call map_create(var, vtb_class_netcdf, an%id, 1, (/length/)) call gtvar_dump(var) call endsub('gtvarcreate-d', 'class=netcdf mapid=%d', i=(/var%mapid/)) end subroutine