gtvarputattrchar.f90

Path: src/gtvarputattrchar.f90
Last Update: Wed Jul 20 18:22:24 JST 2005

Copyright (C) GFD Dennou Club, 2000. All rights reserved

Methods

Included Modules

gtdata_types gt_map an_generic gt_mem dc_trace dc_string gtdata_generic

Public Instance methods

var :type(GT_VARIABLE), intent(inout)
name :character(len = *), intent(in)
value :character(len = *), intent(in)
xtype :character(len = *), intent(in), optional
err :logical, intent(out), optional

[Source]

subroutine GTVarPutAttrChar(var, name, value, xtype, err)

    implicit none
    type(GT_VARIABLE), intent(inout):: var
    character(len = *), intent(in):: name
    character(len = *), intent(in):: value
    character(len = *), intent(in), optional:: xtype
    logical, intent(out), optional:: err
    integer:: class, cid
    character(*), parameter:: subnam = "gtvarputattrchar"
    call beginsub(subnam, "%d:%c = %c", i=(/var%mapid/), c1=trim(name), c2=trim(value))
    call var_class(var, class, cid)
    if (class == vtb_class_netcdf) then
        call put_attr(an_variable(cid), name, value, xtype, err)
    else if (class == vtb_class_memory) then
        call put_attr(mem_variable(cid), name, value)
        if (present(err)) err = .false.
    endif
    call endsub(subnam)
end subroutine
var :type(GT_VARIABLE), intent(inout)
name :character(len = *), intent(in)
value(:) :double precision, intent(in)
err :logical, intent(out), optional

[Source]



subroutine GTVarPutAttrDouble(var, name, value, err)

    implicit none
    type(GT_VARIABLE), intent(inout):: var
    character(len = *), intent(in):: name
    double precision, intent(in):: value(:)
    logical, intent(out), optional:: err
    integer:: class, cid
    call var_class(var, class, cid)
    if (class == vtb_class_netcdf) then
        call put_attr(an_variable(cid), name, value, err)
    else if (class == vtb_class_memory) then
        call put_attr(mem_variable(cid), name, trim(toChar(value)))
        if (present(err)) err = .false.
    endif
end subroutine
var :type(GT_VARIABLE), intent(inout)
name :character(len = *), intent(in)
value(:) :integer, intent(in)
err :logical, intent(out), optional

[Source]



subroutine GTVarPutAttrInt(var, name, value, err)

    type(GT_VARIABLE), intent(inout):: var
    character(len = *), intent(in):: name
    integer, intent(in):: value(:)
    logical, intent(out), optional:: err
    integer:: class, cid
    call var_class(var, class, cid)
    if (class == vtb_class_netcdf) then
        call put_attr(an_variable(cid), name, value, err)
    else if (class == vtb_class_memory) then
        call put_attr(mem_variable(cid), name, trim(toChar(value)))
        if (present(err)) err = .false.
    endif
end subroutine
var :type(GT_VARIABLE), intent(inout)
name :character(len = *), intent(in)
value :logical, intent(in)
err :logical, intent(out), optional

[Source]



subroutine GTVarPutAttrLogical(var, name, value, err)

    implicit none
    type(GT_VARIABLE),  intent(inout)        :: var
    character(len = *), intent(in)           :: name
    logical,            intent(in)           :: value
    logical,            intent(out), optional:: err
    integer:: class, cid
continue
    call var_class(var, class, cid)
    if (class == vtb_class_netcdf) then
        if (value) then
            call put_attr(an_variable(cid), name, "true", err=err)
        else
            call put_attr(an_variable(cid), name, "false", err=err)
        endif
    else if (class == vtb_class_memory) then
        if (value) then
            call put_attr(mem_variable(cid), name, "true")
        else
            call put_attr(mem_variable(cid), name, "false")
        endif
        if (present(err)) err = .false.
    endif
end subroutine
var :type(GT_VARIABLE), intent(inout)
name :character(len = *), intent(in)
value(:) :real, intent(in)
err :logical, intent(out), optional

[Source]



subroutine GTVarPutAttrReal(var, name, value, err)

    implicit none
    type(GT_VARIABLE), intent(inout):: var
    character(len = *), intent(in):: name
    real, intent(in):: value(:)
    logical, intent(out), optional:: err
    integer:: class, cid
    call var_class(var, class, cid)
    if (class == vtb_class_netcdf) then
        call put_attr(an_variable(cid), name, value, err)
    else if (class == vtb_class_memory) then
        call put_attr(mem_variable(cid), name, trim(toChar(value)))
        if (present(err)) err = .false.
    endif
end subroutine
var :type(GT_VARIABLE), intent(inout)
name :character(len = *), intent(in)
value :type(VSTRING), intent(in)
err :logical, intent(out), optional

[Source]

subroutine GTVarPutAttrString(var, name, value, err)

    implicit none
    type(GT_VARIABLE), intent(inout):: var
    character(len = *), intent(in):: name
    type(VSTRING), intent(in):: value
    logical, intent(out), optional:: err
    call put_attr(var, name, vchar(value, len(value)), err=err)
end subroutine

[Validate]