69subroutine gtvarcreate(var, url, dims, xtype, long_name, overwrite, err)
81 character(len = *),
intent(in):: url
83 character(len = *),
intent(in),
optional:: xtype
84 character(len = *),
intent(in),
optional:: long_name
85 logical,
intent(in),
optional:: overwrite
86 logical,
intent(out),
optional:: err
89 integer,
allocatable:: allcount(:)
90 integer:: i, ndims, stat, cause_i
91 character(len = TOKEN):: myxtype
92 character(len = *),
parameter:: subname =
"GTVarCreate"
93 character(len = *),
parameter:: version = &
95 &
'$Id: gtvarcreate.f90,v 1.4 2009-05-25 09:55:58 morikawa Exp $'
100 if (
present(dims)) ndims =
size(dims)
101 call beginsub(subname,
'url=%c ndims=%d', c1=trim(url), i=(/ndims/), &
104 if (
present(err)) err = .false.
105 if (
present(xtype))
then
110 if (
present(dims))
then
111 allocate(gdnc_dims(ndims), allcount(ndims))
113 call var_class(dims(i), cid=gdnc_dims(i)%id)
114 call dbgmessage(
'dim=%d mapid=%d -> cid=%d', i=(/i, dims(i)%mapid, gdnc_dims(i)%id/))
115 call inquire(gdnc_dims(i), dimlen=allcount(i))
117 call create(var=gdnc, url=url, dims=gdnc_dims, xtype=myxtype, &
118 & overwrite=overwrite, err=err)
121 allocate(gdnc_dims(1), allcount(1))
122 call create(var=gdnc, url=url, dims=gdnc_dims(1:0), &
123 & xtype=myxtype, overwrite=overwrite, err=err)
125 call map_create(var, vtb_class_netcdf, gdnc%id, ndims, allcount, stat)
130 deallocate(gdnc_dims, allcount)
131 if (
present(long_name))
then
132 call put_attr(gdnc,
'long_name', long_name, err=err)
135 call dbgmessage(
'var%%mapid=%d', i=(/var % mapid/))
137 call storeerror(stat, subname, err, cause_i=cause_i)
subroutine gtvarcreate(var, url, dims, xtype, long_name, overwrite, err)
subroutine, public dbgmessage(fmt, i, r, d, l, n, c1, c2, c3, ca)
subroutine, public beginsub(name, fmt, i, r, d, l, n, c1, c2, c3, ca, version)
subroutine, public endsub(name, fmt, i, r, d, l, n, c1, c2, c3, ca)