Module gt4_history

module gt4_history

        ! Uses
    use gtdata_types, only: GT_VARIABLE
    use dc_types, only: STRING, TOKEN, DP
    use dc_trace, only: BeginSub, EndSub, DbgMessage
    use dc_date, only: TimeNow

        ! Types
    public type GT_HISTORY
    public type GT_HISTORY_AXIS
    public type GT_HISTORY_VARINFO
    private type GT_HISTORY_ATTR

        ! Variables
    character (len=STRING), public, parameter :: gtool4_netCDF_Conventions = "http://www.gfd-dennou.org/library/gtool4/conventions/"
    character (len=STRING), public, parameter :: gtool4_netCDF_version = "4.3"
    type (GT_HISTORY), private, save, target :: default
    character (len=*), private, parameter :: version = '$Name: gt4f90io-20060627 $' // '$Id: gt4_history.f90,v 1.25 2006/06/16 04:58:15 morikawa Exp $'

        ! Interfaces
    public interface Create
    public interface HistoryCreate
    public interface HistoryAxisCreate
    public interface HistoryVarinfoCreate
    public interface HistoryAddVariable
    public interface Copy
    public interface HistoryCopy
    public interface HistoryAxisCopy
    public interface HistoryVarinfoCopy
    public interface HistoryCopyVariable
    public interface Inquire
    public interface HistoryInquire
    public interface HistoryAxisInquire
    public interface HistoryVarinfoInquire
    public interface HistoryPut
    public interface HistoryPutEx
    public interface Put_Attr
    public interface HistoryAddAttr
    public interface HistoryAxisAddAttr
    public interface HistoryVarinfoAddAttr
    public interface HistoryGetPointer
    public interface HistoryGet

        ! Subroutines and functions
    private subroutine HistoryCreate2 (file, title, source, institution, axes, origin, interval, history, conventions, gt_version, overwrite)
    private subroutine HistoryCreate1 (file, title, source, institution, dims, dimsizes, longnames, units, origin, interval, xtypes, history, conventions, gt_version, overwrite)
    private subroutine HistoryAxisCreate1 (axis, name, size, longname, units, xtype)
    private subroutine HistoryVarinfoCreate1 (varinfo, name, dims, longname, units, xtype)
    private subroutine HistoryAxisInquire1 (axis, name, size, longname, units, xtype)
    private subroutine HistoryVarinfoInquire1 (varinfo, name, dims, longname, units, xtype)
    private subroutine HistoryCopy1 (hist_dest, file, hist_src, title, source, institution, origin, interval, conventions, gt_version)
    private subroutine HistoryAxisCopy1 (axis_dest, axis_src, err, name, length, longname, units, xtype)
    private subroutine HistoryVarinfoCopy1 (varinfo_dest, varinfo_src, err, name, dims, longname, units, xtype)
    private subroutine HistoryAttrCopy (from, to, err)
    private subroutine HistoryAddAttrChar0 (varname, attrname, value, history)
    private subroutine HistoryAddAttrLogical0 (varname, attrname, value, history)
    private subroutine HistoryAddAttrInt0 (varname, attrname, value, history)
    private subroutine HistoryAddAttrInt1 (varname, attrname, value, history)
    private subroutine HistoryAddAttrReal0 (varname, attrname, value, history)
    private subroutine HistoryAddAttrReal1 (varname, attrname, value, history)
    private subroutine HistoryAddAttrDouble0 (varname, attrname, value, history)
    private subroutine HistoryAddAttrDouble1 (varname, attrname, value, history)
    private subroutine HistoryAxisAddAttrChar0 (axis, attrname, value)
    private subroutine HistoryAxisAddAttrLogical0 (axis, attrname, value)
    private subroutine HistoryAxisAddAttrInt0 (axis, attrname, value)
    private subroutine HistoryAxisAddAttrInt1 (axis, attrname, value)
    private subroutine HistoryAxisAddAttrReal0 (axis, attrname, value)
    private subroutine HistoryAxisAddAttrReal1 (axis, attrname, value)
    private subroutine HistoryAxisAddAttrDouble0 (axis, attrname, value)
    private subroutine HistoryAxisAddAttrDouble1 (axis, attrname, value)
    private subroutine HistoryVarinfoAddAttrChar0 (varinfo, attrname, value)
    private subroutine HistoryVarinfoAddAttrLogical0 (varinfo, attrname, value)
    private subroutine HistoryVarinfoAddAttrInt0 (varinfo, attrname, value)
    private subroutine HistoryVarinfoAddAttrInt1 (varinfo, attrname, value)
    private subroutine HistoryVarinfoAddAttrReal0 (varinfo, attrname, value)
    private subroutine HistoryVarinfoAddAttrReal1 (varinfo, attrname, value)
    private subroutine HistoryVarinfoAddAttrDouble0 (varinfo, attrname, value)
    private subroutine HistoryVarinfoAddAttrDouble1 (varinfo, attrname, value)
    private subroutine HistoryAttrAdd (varname, attrs, history)
    private subroutine HistoryAddVariable2 (varinfo, history)
    private subroutine HistoryAddVariable1 (varname, dims, longname, units, xtype, history)
    private subroutine HistoryInquire1 (history, err, file, title, source, dims, dimsizes, longnames, units, xtypes, institution, origin, interval, newest, oldest, conventions, gt_version, axes, varinfo)
    private subroutine HistoryInquire2 (history, err, file, title, source, dims, dimsizes, longnames, units, xtypes, institution, origin, interval, newest, oldest, conventions, gt_version, axes, varinfo)
    private subroutine HistoryCopyVariable1 (file, varname, history, overwrite)
    public subroutine HistorySetTime (time, history)
    private subroutine TimeGoAhead (varname, var, head, history, err)
    private subroutine HistoryPutRealEx (varname, array, arraysize, history, range)
    private subroutine HistoryPutDoubleEx (varname, array, arraysize, history, range)
    private subroutine HistoryPutReal0 (varname, value, history, range)
    private subroutine HistoryPutReal1 (varname, array, history, range)
    private subroutine HistoryPutReal2 (varname, array, history, range)
    private subroutine HistoryPutReal3 (varname, array, history, range)
    private subroutine HistoryPutReal4 (varname, array, history, range)
    private subroutine HistoryPutReal5 (varname, array, history, range)
    private subroutine HistoryPutReal6 (varname, array, history, range)
    private subroutine HistoryPutReal7 (varname, array, history, range)
    private subroutine HistoryPutDouble0 (varname, value, history, range)
    private subroutine HistoryPutDouble1 (varname, array, history, range)
    private subroutine HistoryPutDouble2 (varname, array, history, range)
    private subroutine HistoryPutDouble3 (varname, array, history, range)
    private subroutine HistoryPutDouble4 (varname, array, history, range)
    private subroutine HistoryPutDouble5 (varname, array, history, range)
    private subroutine HistoryPutDouble6 (varname, array, history, range)
    private subroutine HistoryPutDouble7 (varname, array, history, range)
    public subroutine HistoryClose (history)
    public subroutine HistoryAxisClear (axis)
    public subroutine HistoryVarinfoClear (varinfo)
    private subroutine set_fake_dim_value (history, dimord)
    public integer function lookup_variable_ord (history, varname)
    private type (GT_VARIABLE) function lookup_variable (history, varname, ord)
    private type (GT_VARIABLE) function lookup_dimension (history, dimname, ord)
    private subroutine lookup_var_or_dim (history, name, var, err)

end module gt4_history

Description of Types

GT_HISTORY

public type GT_HISTORY
    private
    type (GT_VARIABLE), pointer, dimension (:) :: dimvars => null ()
    logical, pointer, dimension (:) :: dim_value_written => null ()
    integer :: unlimited_index
    real :: origin
    real :: interval
    real :: newest
    real :: oldest
    type (GT_VARIABLE), pointer, dimension (:) :: vars => null ()
    integer, pointer, dimension (:) :: growable_indices => null ()
    integer, pointer, dimension (:) :: count => null ()
end type GT_HISTORY

GT_HISTORY_AXIS

public type GT_HISTORY_AXIS
    private
    character (len=TOKEN) :: name = ""
    integer :: length = 0
    character (len=STRING) :: longname = ""
    character (len=STRING) :: units = ""
    character (len=TOKEN) :: xtype = ""
    type (GT_HISTORY_ATTR), pointer, dimension (:) :: attrs => null ()
end type GT_HISTORY_AXIS

GT_HISTORY_VARINFO

public type GT_HISTORY_VARINFO
    private
    character (len=TOKEN) :: name = ""
    character (len=TOKEN), pointer, dimension (:) :: dims => null ()
    character (len=STRING) :: longname = ""
    character (len=STRING) :: units = ""
    character (len=TOKEN) :: xtype = ""
    type (GT_HISTORY_ATTR), pointer, dimension (:) :: attrs => null ()
end type GT_HISTORY_VARINFO

GT_HISTORY_ATTR

private type GT_HISTORY_ATTR
    private
    character (len=TOKEN) :: attrname
    character (len=TOKEN) :: attrtype
    logical :: array = .false.
    character (len=STRING) :: Charvalue
    integer :: Intvalue
    real :: Realvalue
    real (kind=DP) :: Doublevalue
    logical :: Logicalvalue
    integer, pointer, dimension (:) :: Intarray => null ()
    real, pointer, dimension (:) :: Realarray => null ()
    real (kind=DP), pointer, dimension (:) :: Doublearray => null ()
end type GT_HISTORY_ATTR

Description of Variables

gtool4_netCDF_Conventions

character (len=STRING), public, parameter :: gtool4_netCDF_Conventions = "http://www.gfd-dennou.org/library/gtool4/conventions/"

gtool4_netCDF_version

character (len=STRING), public, parameter :: gtool4_netCDF_version = "4.3"

default

type (GT_HISTORY), private, save, target :: default

version

character (len=*), private, parameter :: version = '$Name: gt4f90io-20060627 $' // '$Id: gt4_history.f90,v 1.25 2006/06/16 04:58:15 morikawa Exp $'

Description of Interfaces

Create

public interface Create
    module procedure HistoryAxisCreate1
    module procedure HistoryVarinfoCreate1
end interface Create
$    interface New
$        module procedure HistoryAxisNew1
$    end interface
$    interface HistoryAxisNew
$        module procedure HistoryAxisNew1
$    end interface

HistoryCreate

public interface HistoryCreate
    module procedure HistoryCreate1
    module procedure HistoryCreate2
end interface HistoryCreate

HistoryAxisCreate

public interface HistoryAxisCreate
    module procedure HistoryAxisCreate1
end interface HistoryAxisCreate

HistoryVarinfoCreate

public interface HistoryVarinfoCreate
    module procedure HistoryVarinfoCreate1
end interface HistoryVarinfoCreate

HistoryAddVariable

public interface HistoryAddVariable
    module procedure HistoryAddVariable1
    module procedure HistoryAddVariable2
end interface HistoryAddVariable

Copy

public interface Copy
    module procedure HistoryCopy1
    module procedure HistoryAxisCopy1
    module procedure HistoryVarinfoCopy1
end interface Copy

HistoryCopy

public interface HistoryCopy
    module procedure HistoryCopy1
end interface HistoryCopy

HistoryAxisCopy

public interface HistoryAxisCopy
    module procedure HistoryAxisCopy1
end interface HistoryAxisCopy

HistoryVarinfoCopy

public interface HistoryVarinfoCopy
    module procedure HistoryVarinfoCopy1
end interface HistoryVarinfoCopy

HistoryCopyVariable

public interface HistoryCopyVariable
    module procedure HistoryCopyVariable1
end interface HistoryCopyVariable

Inquire

public interface Inquire
    module procedure HistoryInquire1
    module procedure HistoryInquire2
    module procedure HistoryAxisInquire1
    module procedure HistoryVarinfoInquire1
end interface Inquire

HistoryInquire

public interface HistoryInquire
    module procedure HistoryInquire1
    module procedure HistoryInquire2
end interface HistoryInquire

HistoryAxisInquire

public interface HistoryAxisInquire
    module procedure HistoryAxisInquire1
end interface HistoryAxisInquire

HistoryVarinfoInquire

public interface HistoryVarinfoInquire
    module procedure HistoryVarinfoInquire1
end interface HistoryVarinfoInquire

HistoryPut

public interface HistoryPut
    module procedure HistoryPutDouble1
    module procedure HistoryPutDouble2
    module procedure HistoryPutDouble3
    module procedure HistoryPutDouble4
    module procedure HistoryPutDouble5
    module procedure HistoryPutDouble6
    module procedure HistoryPutDouble7
    module procedure HistoryPutDouble0
    module procedure HistoryPutReal1
    module procedure HistoryPutReal2
    module procedure HistoryPutReal3
    module procedure HistoryPutReal4
    module procedure HistoryPutReal5
    module procedure HistoryPutReal6
    module procedure HistoryPutReal7
    module procedure HistoryPutReal0
end interface HistoryPut
$  interface Put
$    module procedure HistoryPutDouble1
$    module procedure HistoryPutDouble2
$    module procedure HistoryPutDouble3
$    module procedure HistoryPutDouble4
$    module procedure HistoryPutDouble5
$    module procedure HistoryPutDouble6
$    module procedure HistoryPutDouble7
$    module procedure HistoryPutDouble0
$    module procedure HistoryPutDoubleEx
$    module procedure HistoryPutReal1
$    module procedure HistoryPutReal2
$    module procedure HistoryPutReal3
$    module procedure HistoryPutReal4
$    module procedure HistoryPutReal5
$    module procedure HistoryPutReal6
$    module procedure HistoryPutReal7
$    module procedure HistoryPutReal0
$    module procedure HistoryPutRealEx
$  end interface

HistoryPutEx

public interface HistoryPutEx
    module procedure HistoryPutRealEx
    module procedure HistoryPutDoubleEx
end interface HistoryPutEx

Put_Attr

public interface Put_Attr
    module procedure HistoryAxisAddAttrChar0
            $    module procedure HistoryAddAttrChar0
    module procedure HistoryVarinfoAddAttrChar0
    module procedure HistoryAxisAddAttrLogical0
            $    module procedure HistoryAddAttrLogical0
    module procedure HistoryVarinfoAddAttrLogical0
    module procedure HistoryAxisAddAttrInt0
            $    module procedure HistoryAddAttrInt0
    module procedure HistoryVarinfoAddAttrInt0
    module procedure HistoryAxisAddAttrInt1
            $    module procedure HistoryAddAttrInt1
    module procedure HistoryVarinfoAddAttrInt1
    module procedure HistoryAxisAddAttrReal0
            $    module procedure HistoryAddAttrReal0
    module procedure HistoryVarinfoAddAttrReal0
    module procedure HistoryAxisAddAttrReal1
            $    module procedure HistoryAddAttrReal1
    module procedure HistoryVarinfoAddAttrReal1
    module procedure HistoryAxisAddAttrDouble0
            $    module procedure HistoryAddAttrDouble0
    module procedure HistoryVarinfoAddAttrDouble0
    module procedure HistoryAxisAddAttrDouble1
            $    module procedure HistoryAddAttrDouble1
    module procedure HistoryVarinfoAddAttrDouble1
end interface Put_Attr

HistoryAddAttr

public interface HistoryAddAttr
    module procedure HistoryAddAttrChar0
    module procedure HistoryAddAttrLogical0
    module procedure HistoryAddAttrInt0
    module procedure HistoryAddAttrInt1
    module procedure HistoryAddAttrReal0
    module procedure HistoryAddAttrReal1
    module procedure HistoryAddAttrDouble0
    module procedure HistoryAddAttrDouble1
end interface HistoryAddAttr

HistoryAxisAddAttr

public interface HistoryAxisAddAttr
    module procedure HistoryAxisAddAttrChar0
    module procedure HistoryAxisAddAttrLogical0
    module procedure HistoryAxisAddAttrInt0
    module procedure HistoryAxisAddAttrInt1
    module procedure HistoryAxisAddAttrReal0
    module procedure HistoryAxisAddAttrReal1
    module procedure HistoryAxisAddAttrDouble0
    module procedure HistoryAxisAddAttrDouble1
end interface HistoryAxisAddAttr

HistoryVarinfoAddAttr

public interface HistoryVarinfoAddAttr
    module procedure HistoryVarinfoAddAttrChar0
    module procedure HistoryVarinfoAddAttrLogical0
    module procedure HistoryVarinfoAddAttrInt0
    module procedure HistoryVarinfoAddAttrInt1
    module procedure HistoryVarinfoAddAttrReal0
    module procedure HistoryVarinfoAddAttrReal1
    module procedure HistoryVarinfoAddAttrDouble0
    module procedure HistoryVarinfoAddAttrDouble1
end interface HistoryVarinfoAddAttr

HistoryGetPointer

public interface HistoryGetPointer
    subroutine HistoryGetDouble0Pointer (file, varname, array, range)
        character (len=*), intent(in) :: file
        character (len=*), intent(in) :: varname
        real (kind=DP), pointer :: array
        character (len=*), optional, intent(in) :: range
    end subroutine HistoryGetDouble0Pointer
    subroutine HistoryGetDouble0PointerTimeR (file, varname, array, time)
        character (len=*), intent(in) :: file
        character (len=*), intent(in) :: varname
        real (kind=DP), pointer :: array
        real, intent(in) :: time
    end subroutine HistoryGetDouble0PointerTimeR
    subroutine HistoryGetDouble0PointerTimeD (file, varname, array, time)
        character (len=*), intent(in) :: file
        character (len=*), intent(in) :: varname
        real (kind=DP), pointer :: array
        real (kind=DP), intent(in) :: time
    end subroutine HistoryGetDouble0PointerTimeD
    subroutine HistoryGetDouble1Pointer (file, varname, array, range)
        character (len=*), intent(in) :: file
        character (len=*), intent(in) :: varname
        real (kind=DP), pointer, dimension (:) :: array
        character (len=*), optional, intent(in) :: range
    end subroutine HistoryGetDouble1Pointer
    subroutine HistoryGetDouble1PointerTimeR (file, varname, array, time)
        character (len=*), intent(in) :: file
        character (len=*), intent(in) :: varname
        real (kind=DP), pointer, dimension (:) :: array
        real, intent(in) :: time
    end subroutine HistoryGetDouble1PointerTimeR
    subroutine HistoryGetDouble1PointerTimeD (file, varname, array, time)
        character (len=*), intent(in) :: file
        character (len=*), intent(in) :: varname
        real (kind=DP), pointer, dimension (:) :: array
        real (kind=DP), intent(in) :: time
    end subroutine HistoryGetDouble1PointerTimeD
    subroutine HistoryGetDouble2Pointer (file, varname, array, range)
        character (len=*), intent(in) :: file
        character (len=*), intent(in) :: varname
        real (kind=DP), pointer, dimension (:,:) :: array
        character (len=*), optional, intent(in) :: range
    end subroutine HistoryGetDouble2Pointer
    subroutine HistoryGetDouble2PointerTimeR (file, varname, array, time)
        character (len=*), intent(in) :: file
        character (len=*), intent(in) :: varname
        real (kind=DP), pointer, dimension (:,:) :: array
        real, intent(in) :: time
    end subroutine HistoryGetDouble2PointerTimeR
    subroutine HistoryGetDouble2PointerTimeD (file, varname, array, time)
        character (len=*), intent(in) :: file
        character (len=*), intent(in) :: varname
        real (kind=DP), pointer, dimension (:,:) :: array
        real (kind=DP), intent(in) :: time
    end subroutine HistoryGetDouble2PointerTimeD
    subroutine HistoryGetDouble3Pointer (file, varname, array, range)
        character (len=*), intent(in) :: file
        character (len=*), intent(in) :: varname
        real (kind=DP), pointer, dimension (:,:,:) :: array
        character (len=*), optional, intent(in) :: range
    end subroutine HistoryGetDouble3Pointer
    subroutine HistoryGetDouble3PointerTimeR (file, varname, array, time)
        character (len=*), intent(in) :: file
        character (len=*), intent(in) :: varname
        real (kind=DP), pointer, dimension (:,:,:) :: array
        real, intent(in) :: time
    end subroutine HistoryGetDouble3PointerTimeR
    subroutine HistoryGetDouble3PointerTimeD (file, varname, array, time)
        character (len=*), intent(in) :: file
        character (len=*), intent(in) :: varname
        real (kind=DP), pointer, dimension (:,:,:) :: array
        real (kind=DP), intent(in) :: time
    end subroutine HistoryGetDouble3PointerTimeD
    subroutine HistoryGetDouble4Pointer (file, varname, array, range)
        character (len=*), intent(in) :: file
        character (len=*), intent(in) :: varname
        real (kind=DP), pointer, dimension (:,:,:,:) :: array
        character (len=*), optional, intent(in) :: range
    end subroutine HistoryGetDouble4Pointer
    subroutine HistoryGetDouble4PointerTimeR (file, varname, array, time)
        character (len=*), intent(in) :: file
        character (len=*), intent(in) :: varname
        real (kind=DP), pointer, dimension (:,:,:,:) :: array
        real, intent(in) :: time
    end subroutine HistoryGetDouble4PointerTimeR
    subroutine HistoryGetDouble4PointerTimeD (file, varname, array, time)
        character (len=*), intent(in) :: file
        character (len=*), intent(in) :: varname
        real (kind=DP), pointer, dimension (:,:,:,:) :: array
        real (kind=DP), intent(in) :: time
    end subroutine HistoryGetDouble4PointerTimeD
    subroutine HistoryGetDouble5Pointer (file, varname, array, range)
        character (len=*), intent(in) :: file
        character (len=*), intent(in) :: varname
        real (kind=DP), pointer, dimension (:,:,:,:,:) :: array
        character (len=*), optional, intent(in) :: range
    end subroutine HistoryGetDouble5Pointer
    subroutine HistoryGetDouble5PointerTimeR (file, varname, array, time)
        character (len=*), intent(in) :: file
        character (len=*), intent(in) :: varname
        real (kind=DP), pointer, dimension (:,:,:,:,:) :: array
        real, intent(in) :: time
    end subroutine HistoryGetDouble5PointerTimeR
    subroutine HistoryGetDouble5PointerTimeD (file, varname, array, time)
        character (len=*), intent(in) :: file
        character (len=*), intent(in) :: varname
        real (kind=DP), pointer, dimension (:,:,:,:,:) :: array
        real (kind=DP), intent(in) :: time
    end subroutine HistoryGetDouble5PointerTimeD
    subroutine HistoryGetDouble6Pointer (file, varname, array, range)
        character (len=*), intent(in) :: file
        character (len=*), intent(in) :: varname
        real (kind=DP), pointer, dimension (:,:,:,:,:,:) :: array
        character (len=*), optional, intent(in) :: range
    end subroutine HistoryGetDouble6Pointer
    subroutine HistoryGetDouble6PointerTimeR (file, varname, array, time)
        character (len=*), intent(in) :: file
        character (len=*), intent(in) :: varname
        real (kind=DP), pointer, dimension (:,:,:,:,:,:) :: array
        real, intent(in) :: time
    end subroutine HistoryGetDouble6PointerTimeR
    subroutine HistoryGetDouble6PointerTimeD (file, varname, array, time)
        character (len=*), intent(in) :: file
        character (len=*), intent(in) :: varname
        real (kind=DP), pointer, dimension (:,:,:,:,:,:) :: array
        real (kind=DP), intent(in) :: time
    end subroutine HistoryGetDouble6PointerTimeD
    subroutine HistoryGetDouble7Pointer (file, varname, array, range)
        character (len=*), intent(in) :: file
        character (len=*), intent(in) :: varname
        real (kind=DP), pointer, dimension (:,:,:,:,:,:,:) :: array
        character (len=*), optional, intent(in) :: range
    end subroutine HistoryGetDouble7Pointer
    subroutine HistoryGetDouble7PointerTimeR (file, varname, array, time)
        character (len=*), intent(in) :: file
        character (len=*), intent(in) :: varname
        real (kind=DP), pointer, dimension (:,:,:,:,:,:,:) :: array
        real, intent(in) :: time
    end subroutine HistoryGetDouble7PointerTimeR
    subroutine HistoryGetDouble7PointerTimeD (file, varname, array, time)
        character (len=*), intent(in) :: file
        character (len=*), intent(in) :: varname
        real (kind=DP), pointer, dimension (:,:,:,:,:,:,:) :: array
        real (kind=DP), intent(in) :: time
    end subroutine HistoryGetDouble7PointerTimeD
    subroutine HistoryGetReal0Pointer (file, varname, array, range)
        character (len=*), intent(in) :: file
        character (len=*), intent(in) :: varname
        real, pointer :: array
        character (len=*), optional, intent(in) :: range
    end subroutine HistoryGetReal0Pointer
    subroutine HistoryGetReal0PointerTimeR (file, varname, array, time)
        character (len=*), intent(in) :: file
        character (len=*), intent(in) :: varname
        real, pointer :: array
        real, intent(in) :: time
    end subroutine HistoryGetReal0PointerTimeR
    subroutine HistoryGetReal0PointerTimeD (file, varname, array, time)
        character (len=*), intent(in) :: file
        character (len=*), intent(in) :: varname
        real, pointer :: array
        real (kind=DP), intent(in) :: time
    end subroutine HistoryGetReal0PointerTimeD
    subroutine HistoryGetReal1Pointer (file, varname, array, range)
        character (len=*), intent(in) :: file
        character (len=*), intent(in) :: varname
        real, pointer, dimension (:) :: array
        character (len=*), optional, intent(in) :: range
    end subroutine HistoryGetReal1Pointer
    subroutine HistoryGetReal1PointerTimeR (file, varname, array, time)
        character (len=*), intent(in) :: file
        character (len=*), intent(in) :: varname
        real, pointer, dimension (:) :: array
        real, intent(in) :: time
    end subroutine HistoryGetReal1PointerTimeR
    subroutine HistoryGetReal1PointerTimeD (file, varname, array, time)
        character (len=*), intent(in) :: file
        character (len=*), intent(in) :: varname
        real, pointer, dimension (:) :: array
        real (kind=DP), intent(in) :: time
    end subroutine HistoryGetReal1PointerTimeD
    subroutine HistoryGetReal2Pointer (file, varname, array, range)
        character (len=*), intent(in) :: file
        character (len=*), intent(in) :: varname
        real, pointer, dimension (:,:) :: array
        character (len=*), optional, intent(in) :: range
    end subroutine HistoryGetReal2Pointer
    subroutine HistoryGetReal2PointerTimeR (file, varname, array, time)
        character (len=*), intent(in) :: file
        character (len=*), intent(in) :: varname
        real, pointer, dimension (:,:) :: array
        real, intent(in) :: time
    end subroutine HistoryGetReal2PointerTimeR
    subroutine HistoryGetReal2PointerTimeD (file, varname, array, time)
        character (len=*), intent(in) :: file
        character (len=*), intent(in) :: varname
        real, pointer, dimension (:,:) :: array
        real (kind=DP), intent(in) :: time
    end subroutine HistoryGetReal2PointerTimeD
    subroutine HistoryGetReal3Pointer (file, varname, array, range)
        character (len=*), intent(in) :: file
        character (len=*), intent(in) :: varname
        real, pointer, dimension (:,:,:) :: array
        character (len=*), optional, intent(in) :: range
    end subroutine HistoryGetReal3Pointer
    subroutine HistoryGetReal3PointerTimeR (file, varname, array, time)
        character (len=*), intent(in) :: file
        character (len=*), intent(in) :: varname
        real, pointer, dimension (:,:,:) :: array
        real, intent(in) :: time
    end subroutine HistoryGetReal3PointerTimeR
    subroutine HistoryGetReal3PointerTimeD (file, varname, array, time)
        character (len=*), intent(in) :: file
        character (len=*), intent(in) :: varname
        real, pointer, dimension (:,:,:) :: array
        real (kind=DP), intent(in) :: time
    end subroutine HistoryGetReal3PointerTimeD
    subroutine HistoryGetReal4Pointer (file, varname, array, range)
        character (len=*), intent(in) :: file
        character (len=*), intent(in) :: varname
        real, pointer, dimension (:,:,:,:) :: array
        character (len=*), optional, intent(in) :: range
    end subroutine HistoryGetReal4Pointer
    subroutine HistoryGetReal4PointerTimeR (file, varname, array, time)
        character (len=*), intent(in) :: file
        character (len=*), intent(in) :: varname
        real, pointer, dimension (:,:,:,:) :: array
        real, intent(in) :: time
    end subroutine HistoryGetReal4PointerTimeR
    subroutine HistoryGetReal4PointerTimeD (file, varname, array, time)
        character (len=*), intent(in) :: file
        character (len=*), intent(in) :: varname
        real, pointer, dimension (:,:,:,:) :: array
        real (kind=DP), intent(in) :: time
    end subroutine HistoryGetReal4PointerTimeD
    subroutine HistoryGetReal5Pointer (file, varname, array, range)
        character (len=*), intent(in) :: file
        character (len=*), intent(in) :: varname
        real, pointer, dimension (:,:,:,:,:) :: array
        character (len=*), optional, intent(in) :: range
    end subroutine HistoryGetReal5Pointer
    subroutine HistoryGetReal5PointerTimeR (file, varname, array, time)
        character (len=*), intent(in) :: file
        character (len=*), intent(in) :: varname
        real, pointer, dimension (:,:,:,:,:) :: array
        real, intent(in) :: time
    end subroutine HistoryGetReal5PointerTimeR
    subroutine HistoryGetReal5PointerTimeD (file, varname, array, time)
        character (len=*), intent(in) :: file
        character (len=*), intent(in) :: varname
        real, pointer, dimension (:,:,:,:,:) :: array
        real (kind=DP), intent(in) :: time
    end subroutine HistoryGetReal5PointerTimeD
    subroutine HistoryGetReal6Pointer (file, varname, array, range)
        character (len=*), intent(in) :: file
        character (len=*), intent(in) :: varname
        real, pointer, dimension (:,:,:,:,:,:) :: array
        character (len=*), optional, intent(in) :: range
    end subroutine HistoryGetReal6Pointer
    subroutine HistoryGetReal6PointerTimeR (file, varname, array, time)
        character (len=*), intent(in) :: file
        character (len=*), intent(in) :: varname
        real, pointer, dimension (:,:,:,:,:,:) :: array
        real, intent(in) :: time
    end subroutine HistoryGetReal6PointerTimeR
    subroutine HistoryGetReal6PointerTimeD (file, varname, array, time)
        character (len=*), intent(in) :: file
        character (len=*), intent(in) :: varname
        real, pointer, dimension (:,:,:,:,:,:) :: array
        real (kind=DP), intent(in) :: time
    end subroutine HistoryGetReal6PointerTimeD
    subroutine HistoryGetReal7Pointer (file, varname, array, range)
        character (len=*), intent(in) :: file
        character (len=*), intent(in) :: varname
        real, pointer, dimension (:,:,:,:,:,:,:) :: array
        character (len=*), optional, intent(in) :: range
    end subroutine HistoryGetReal7Pointer
    subroutine HistoryGetReal7PointerTimeR (file, varname, array, time)
        character (len=*), intent(in) :: file
        character (len=*), intent(in) :: varname
        real, pointer, dimension (:,:,:,:,:,:,:) :: array
        real, intent(in) :: time
    end subroutine HistoryGetReal7PointerTimeR
    subroutine HistoryGetReal7PointerTimeD (file, varname, array, time)
        character (len=*), intent(in) :: file
        character (len=*), intent(in) :: varname
        real, pointer, dimension (:,:,:,:,:,:,:) :: array
        real (kind=DP), intent(in) :: time
    end subroutine HistoryGetReal7PointerTimeD
end interface HistoryGetPointer

HistoryGet

public interface HistoryGet
    subroutine HistoryGetDouble0 (file, varname, array, range)
        character (len=*), intent(in) :: file
        character (len=*), intent(in) :: varname
        real (kind=DP), intent(out) :: array
        character (len=*), optional, intent(in) :: range
    end subroutine HistoryGetDouble0
    subroutine HistoryGetDouble0TimeR (file, varname, array, time)
        character (len=*), intent(in) :: file
        character (len=*), intent(in) :: varname
        real (kind=DP), intent(out) :: array
        real, intent(in) :: time
    end subroutine HistoryGetDouble0TimeR
    subroutine HistoryGetDouble0TimeD (file, varname, array, time)
        character (len=*), intent(in) :: file
        character (len=*), intent(in) :: varname
        real (kind=DP), intent(out) :: array
        real (kind=DP), intent(in) :: time
    end subroutine HistoryGetDouble0TimeD
    subroutine HistoryGetDouble1 (file, varname, array, range)
        character (len=*), intent(in) :: file
        character (len=*), intent(in) :: varname
        real (kind=DP), intent(out), dimension (:) :: array
        character (len=*), optional, intent(in) :: range
    end subroutine HistoryGetDouble1
    subroutine HistoryGetDouble1TimeR (file, varname, array, time)
        character (len=*), intent(in) :: file
        character (len=*), intent(in) :: varname
        real (kind=DP), intent(out), dimension (:) :: array
        real, intent(in) :: time
    end subroutine HistoryGetDouble1TimeR
    subroutine HistoryGetDouble1TimeD (file, varname, array, time)
        character (len=*), intent(in) :: file
        character (len=*), intent(in) :: varname
        real (kind=DP), intent(out), dimension (:) :: array
        real (kind=DP), intent(in) :: time
    end subroutine HistoryGetDouble1TimeD
    subroutine HistoryGetDouble2 (file, varname, array, range)
        character (len=*), intent(in) :: file
        character (len=*), intent(in) :: varname
        real (kind=DP), intent(out), dimension (:,:) :: array
        character (len=*), optional, intent(in) :: range
    end subroutine HistoryGetDouble2
    subroutine HistoryGetDouble2TimeR (file, varname, array, time)
        character (len=*), intent(in) :: file
        character (len=*), intent(in) :: varname
        real (kind=DP), intent(out), dimension (:,:) :: array
        real, intent(in) :: time
    end subroutine HistoryGetDouble2TimeR
    subroutine HistoryGetDouble2TimeD (file, varname, array, time)
        character (len=*), intent(in) :: file
        character (len=*), intent(in) :: varname
        real (kind=DP), intent(out), dimension (:,:) :: array
        real (kind=DP), intent(in) :: time
    end subroutine HistoryGetDouble2TimeD
    subroutine HistoryGetDouble3 (file, varname, array, range)
        character (len=*), intent(in) :: file
        character (len=*), intent(in) :: varname
        real (kind=DP), intent(out), dimension (:,:,:) :: array
        character (len=*), optional, intent(in) :: range
    end subroutine HistoryGetDouble3
    subroutine HistoryGetDouble3TimeR (file, varname, array, time)
        character (len=*), intent(in) :: file
        character (len=*), intent(in) :: varname
        real (kind=DP), intent(out), dimension (:,:,:) :: array
        real, intent(in) :: time
    end subroutine HistoryGetDouble3TimeR
    subroutine HistoryGetDouble3TimeD (file, varname, array, time)
        character (len=*), intent(in) :: file
        character (len=*), intent(in) :: varname
        real (kind=DP), intent(out), dimension (:,:,:) :: array
        real (kind=DP), intent(in) :: time
    end subroutine HistoryGetDouble3TimeD
    subroutine HistoryGetDouble4 (file, varname, array, range)
        character (len=*), intent(in) :: file
        character (len=*), intent(in) :: varname
        real (kind=DP), intent(out), dimension (:,:,:,:) :: array
        character (len=*), optional, intent(in) :: range
    end subroutine HistoryGetDouble4
    subroutine HistoryGetDouble4TimeR (file, varname, array, time)
        character (len=*), intent(in) :: file
        character (len=*), intent(in) :: varname
        real (kind=DP), intent(out), dimension (:,:,:,:) :: array
        real, intent(in) :: time
    end subroutine HistoryGetDouble4TimeR
    subroutine HistoryGetDouble4TimeD (file, varname, array, time)
        character (len=*), intent(in) :: file
        character (len=*), intent(in) :: varname
        real (kind=DP), intent(out), dimension (:,:,:,:) :: array
        real (kind=DP), intent(in) :: time
    end subroutine HistoryGetDouble4TimeD
    subroutine HistoryGetDouble5 (file, varname, array, range)
        character (len=*), intent(in) :: file
        character (len=*), intent(in) :: varname
        real (kind=DP), intent(out), dimension (:,:,:,:,:) :: array
        character (len=*), optional, intent(in) :: range
    end subroutine HistoryGetDouble5
    subroutine HistoryGetDouble5TimeR (file, varname, array, time)
        character (len=*), intent(in) :: file
        character (len=*), intent(in) :: varname
        real (kind=DP), intent(out), dimension (:,:,:,:,:) :: array
        real, intent(in) :: time
    end subroutine HistoryGetDouble5TimeR
    subroutine HistoryGetDouble5TimeD (file, varname, array, time)
        character (len=*), intent(in) :: file
        character (len=*), intent(in) :: varname
        real (kind=DP), intent(out), dimension (:,:,:,:,:) :: array
        real (kind=DP), intent(in) :: time
    end subroutine HistoryGetDouble5TimeD
    subroutine HistoryGetDouble6 (file, varname, array, range)
        character (len=*), intent(in) :: file
        character (len=*), intent(in) :: varname
        real (kind=DP), intent(out), dimension (:,:,:,:,:,:) :: array
        character (len=*), optional, intent(in) :: range
    end subroutine HistoryGetDouble6
    subroutine HistoryGetDouble6TimeR (file, varname, array, time)
        character (len=*), intent(in) :: file
        character (len=*), intent(in) :: varname
        real (kind=DP), intent(out), dimension (:,:,:,:,:,:) :: array
        real, intent(in) :: time
    end subroutine HistoryGetDouble6TimeR
    subroutine HistoryGetDouble6TimeD (file, varname, array, time)
        character (len=*), intent(in) :: file
        character (len=*), intent(in) :: varname
        real (kind=DP), intent(out), dimension (:,:,:,:,:,:) :: array
        real (kind=DP), intent(in) :: time
    end subroutine HistoryGetDouble6TimeD
    subroutine HistoryGetDouble7 (file, varname, array, range)
        character (len=*), intent(in) :: file
        character (len=*), intent(in) :: varname
        real (kind=DP), intent(out), dimension (:,:,:,:,:,:,:) :: array
        character (len=*), optional, intent(in) :: range
    end subroutine HistoryGetDouble7
    subroutine HistoryGetDouble7TimeR (file, varname, array, time)
        character (len=*), intent(in) :: file
        character (len=*), intent(in) :: varname
        real (kind=DP), intent(out), dimension (:,:,:,:,:,:,:) :: array
        real, intent(in) :: time
    end subroutine HistoryGetDouble7TimeR
    subroutine HistoryGetDouble7TimeD (file, varname, array, time)
        character (len=*), intent(in) :: file
        character (len=*), intent(in) :: varname
        real (kind=DP), intent(out), dimension (:,:,:,:,:,:,:) :: array
        real (kind=DP), intent(in) :: time
    end subroutine HistoryGetDouble7TimeD
    subroutine HistoryGetReal0 (file, varname, array, range)
        character (len=*), intent(in) :: file
        character (len=*), intent(in) :: varname
        real, intent(out) :: array
        character (len=*), optional, intent(in) :: range
    end subroutine HistoryGetReal0
    subroutine HistoryGetReal0TimeR (file, varname, array, time)
        character (len=*), intent(in) :: file
        character (len=*), intent(in) :: varname
        real, intent(out) :: array
        real, intent(in) :: time
    end subroutine HistoryGetReal0TimeR
    subroutine HistoryGetReal0TimeD (file, varname, array, time)
        character (len=*), intent(in) :: file
        character (len=*), intent(in) :: varname
        real, intent(out) :: array
        real (kind=DP), intent(in) :: time
    end subroutine HistoryGetReal0TimeD
    subroutine HistoryGetReal1 (file, varname, array, range)
        character (len=*), intent(in) :: file
        character (len=*), intent(in) :: varname
        real, intent(out), dimension (:) :: array
        character (len=*), optional, intent(in) :: range
    end subroutine HistoryGetReal1
    subroutine HistoryGetReal1TimeR (file, varname, array, time)
        character (len=*), intent(in) :: file
        character (len=*), intent(in) :: varname
        real, intent(out), dimension (:) :: array
        real, intent(in) :: time
    end subroutine HistoryGetReal1TimeR
    subroutine HistoryGetReal1TimeD (file, varname, array, time)
        character (len=*), intent(in) :: file
        character (len=*), intent(in) :: varname
        real, intent(out), dimension (:) :: array
        real (kind=DP), intent(in) :: time
    end subroutine HistoryGetReal1TimeD
    subroutine HistoryGetReal2 (file, varname, array, range)
        character (len=*), intent(in) :: file
        character (len=*), intent(in) :: varname
        real, intent(out), dimension (:,:) :: array
        character (len=*), optional, intent(in) :: range
    end subroutine HistoryGetReal2
    subroutine HistoryGetReal2TimeR (file, varname, array, time)
        character (len=*), intent(in) :: file
        character (len=*), intent(in) :: varname
        real, intent(out), dimension (:,:) :: array
        real, intent(in) :: time
    end subroutine HistoryGetReal2TimeR
    subroutine HistoryGetReal2TimeD (file, varname, array, time)
        character (len=*), intent(in) :: file
        character (len=*), intent(in) :: varname
        real, intent(out), dimension (:,:) :: array
        real (kind=DP), intent(in) :: time
    end subroutine HistoryGetReal2TimeD
    subroutine HistoryGetReal3 (file, varname, array, range)
        character (len=*), intent(in) :: file
        character (len=*), intent(in) :: varname
        real, intent(out), dimension (:,:,:) :: array
        character (len=*), optional, intent(in) :: range
    end subroutine HistoryGetReal3
    subroutine HistoryGetReal3TimeR (file, varname, array, time)
        character (len=*), intent(in) :: file
        character (len=*), intent(in) :: varname
        real, intent(out), dimension (:,:,:) :: array
        real, intent(in) :: time
    end subroutine HistoryGetReal3TimeR
    subroutine HistoryGetReal3TimeD (file, varname, array, time)
        character (len=*), intent(in) :: file
        character (len=*), intent(in) :: varname
        real, intent(out), dimension (:,:,:) :: array
        real (kind=DP), intent(in) :: time
    end subroutine HistoryGetReal3TimeD
    subroutine HistoryGetReal4 (file, varname, array, range)
        character (len=*), intent(in) :: file
        character (len=*), intent(in) :: varname
        real, intent(out), dimension (:,:,:,:) :: array
        character (len=*), optional, intent(in) :: range
    end subroutine HistoryGetReal4
    subroutine HistoryGetReal4TimeR (file, varname, array, time)
        character (len=*), intent(in) :: file
        character (len=*), intent(in) :: varname
        real, intent(out), dimension (:,:,:,:) :: array
        real, intent(in) :: time
    end subroutine HistoryGetReal4TimeR
    subroutine HistoryGetReal4TimeD (file, varname, array, time)
        character (len=*), intent(in) :: file
        character (len=*), intent(in) :: varname
        real, intent(out), dimension (:,:,:,:) :: array
        real (kind=DP), intent(in) :: time
    end subroutine HistoryGetReal4TimeD
    subroutine HistoryGetReal5 (file, varname, array, range)
        character (len=*), intent(in) :: file
        character (len=*), intent(in) :: varname
        real, intent(out), dimension (:,:,:,:,:) :: array
        character (len=*), optional, intent(in) :: range
    end subroutine HistoryGetReal5
    subroutine HistoryGetReal5TimeR (file, varname, array, time)
        character (len=*), intent(in) :: file
        character (len=*), intent(in) :: varname
        real, intent(out), dimension (:,:,:,:,:) :: array
        real, intent(in) :: time
    end subroutine HistoryGetReal5TimeR
    subroutine HistoryGetReal5TimeD (file, varname, array, time)
        character (len=*), intent(in) :: file
        character (len=*), intent(in) :: varname
        real, intent(out), dimension (:,:,:,:,:) :: array
        real (kind=DP), intent(in) :: time
    end subroutine HistoryGetReal5TimeD
    subroutine HistoryGetReal6 (file, varname, array, range)
        character (len=*), intent(in) :: file
        character (len=*), intent(in) :: varname
        real, intent(out), dimension (:,:,:,:,:,:) :: array
        character (len=*), optional, intent(in) :: range
    end subroutine HistoryGetReal6
    subroutine HistoryGetReal6TimeR (file, varname, array, time)
        character (len=*), intent(in) :: file
        character (len=*), intent(in) :: varname
        real, intent(out), dimension (:,:,:,:,:,:) :: array
        real, intent(in) :: time
    end subroutine HistoryGetReal6TimeR
    subroutine HistoryGetReal6TimeD (file, varname, array, time)
        character (len=*), intent(in) :: file
        character (len=*), intent(in) :: varname
        real, intent(out), dimension (:,:,:,:,:,:) :: array
        real (kind=DP), intent(in) :: time
    end subroutine HistoryGetReal6TimeD
    subroutine HistoryGetReal7 (file, varname, array, range)
        character (len=*), intent(in) :: file
        character (len=*), intent(in) :: varname
        real, intent(out), dimension (:,:,:,:,:,:,:) :: array
        character (len=*), optional, intent(in) :: range
    end subroutine HistoryGetReal7
    subroutine HistoryGetReal7TimeR (file, varname, array, time)
        character (len=*), intent(in) :: file
        character (len=*), intent(in) :: varname
        real, intent(out), dimension (:,:,:,:,:,:,:) :: array
        real, intent(in) :: time
    end subroutine HistoryGetReal7TimeR
    subroutine HistoryGetReal7TimeD (file, varname, array, time)
        character (len=*), intent(in) :: file
        character (len=*), intent(in) :: varname
        real, intent(out), dimension (:,:,:,:,:,:,:) :: array
        real (kind=DP), intent(in) :: time
    end subroutine HistoryGetReal7TimeD
end interface HistoryGet

Description of Subroutines and Functions

HistoryCreate2

private subroutine HistoryCreate2 (file, title, source, institution, axes, origin, interval, history, conventions, gt_version, overwrite)
    character (len=*), intent(in) :: file
    character (len=*), intent(in) :: title
    character (len=*), intent(in) :: source
    character (len=*), intent(in) :: institution
    type (GT_HISTORY_AXIS), intent(in), dimension (:) :: axes
    real, optional, intent(in) :: origin
    real, optional, intent(in) :: interval
    type (GT_HISTORY), optional, intent(out) :: history
    character (len=*), optional, intent(in) :: conventions
    character (len=*), optional, intent(in) :: gt_version
    logical, optional, intent(in) :: overwrite
    ! Calls: BeginSub, DbgMessage, EndSub, HistoryAttrAdd, HistoryCreate1
end subroutine HistoryCreate2

HistoryCreate1

private subroutine HistoryCreate1 (file, title, source, institution, dims, dimsizes, longnames, units, origin, interval, xtypes, history, conventions, gt_version, overwrite)
    character (len=*), intent(in) :: file
    character (len=*), intent(in) :: title
    character (len=*), intent(in) :: source
    character (len=*), intent(in) :: institution
    character (len=*), intent(in), dimension (:) :: dims
    integer, intent (in), dimension  (:) :: dimsizes
    character (len=*), intent (in), dimension  (:) :: longnames
    character (len=*), intent(in), dimension (:) :: units
    real, optional, intent(in) :: origin
    real, optional, intent(in) :: interval
    character (len=*), optional, intent(in), dimension (:) :: xtypes
    type (GT_HISTORY), optional, intent(out), target :: history
    character (len=*), optional, intent(in) :: conventions
    character (len=*), optional, intent(in) :: gt_version
    logical, optional, intent(in) :: overwrite
    ! Calls: BeginSub, Create, DbgMessage, EndSub, MessageNotify, StoreError, put_attr
end subroutine HistoryCreate1

HistoryAxisCreate1

private subroutine HistoryAxisCreate1 (axis, name, size, longname, units, xtype)
    type (GT_HISTORY_AXIS), intent(out) :: axis
    character (len=*), intent(in) :: name
    integer, intent(in) :: size
    character (len=*), intent(in) :: longname
    character (len=*), intent(in) :: units
    character (len=*), intent(in) :: xtype
    ! Calls: BeginSub, EndSub
end subroutine HistoryAxisCreate1
$    type(GT_HISTORY_AXIS) function HistoryAxisNew1( &
$         & name, size, longname, units, xtype) result(result)
$      use dc_types, only: STRING, TOKEN, DP
$      use dc_trace, only: BeginSub, EndSub, DbgMessage
$      implicit none
$      character(*) , intent(in):: name     ! �����ѿ�̾
$      integer, intent(in):: size     ! ����Ĺ (���󥵥���)
$      character(*) , intent(in):: longname ! �����ѿ��ε���Ū̾��
$      character(*) , intent(in):: units    ! �����ѿ���ñ��
$      character(*) , intent(in):: xtype    ! �����ѿ��η�
$      character(len = *), parameter:: subname = "HistoryAxisCreate1"
$    continue
$      call BeginSub(subname)
$      result % name = name
$      result % length = size
$      result % longname = longname
$      result % units = units
$      result % xtype = xtype
$      call EndSub(subname)
$    end function HistoryAxisNew1

HistoryVarinfoCreate1

private subroutine HistoryVarinfoCreate1 (varinfo, name, dims, longname, units, xtype)
    type (GT_HISTORY_VARINFO), intent(out) :: varinfo
    character (len=*), intent(in) :: name
    character (len=*), intent(in), dimension (:) :: dims
    character (len=*), intent(in) :: longname
    character (len=*), intent(in) :: units
    character (len=*), intent(in) :: xtype
    ! Calls: BeginSub, EndSub, MessageNotify
end subroutine HistoryVarinfoCreate1

HistoryAxisInquire1

private subroutine HistoryAxisInquire1 (axis, name, size, longname, units, xtype)
    type (GT_HISTORY_AXIS), intent(in) :: axis
    character (len=*), optional, intent(out) :: name
    integer, optional, intent(out) :: size
    character (len=*), optional, intent(out) :: longname
    character (len=*), optional, intent(out) :: units
    character (len=*), optional, intent(out) :: xtype
    ! Calls: BeginSub, EndSub
end subroutine HistoryAxisInquire1

HistoryVarinfoInquire1

private subroutine HistoryVarinfoInquire1 (varinfo, name, dims, longname, units, xtype)
    type (GT_HISTORY_VARINFO), intent(in) :: varinfo
    character (len=*), optional, intent(out) :: name
    character (len=*), optional, pointer, dimension (:) :: dims
    character (len=*), optional, intent(out) :: longname
    character (len=*), optional, intent(out) :: units
    character (len=*), optional, intent(out) :: xtype
    ! Calls: BeginSub, EndSub
end subroutine HistoryVarinfoInquire1

HistoryCopy1

private subroutine HistoryCopy1 (hist_dest, file, hist_src, title, source, institution, origin, interval, conventions, gt_version)
    type (GT_HISTORY), intent(out), target :: hist_dest
    character (len=*), intent(in) :: file
    type (GT_HISTORY), optional, intent(in), target :: hist_src
    character (len=*), optional, intent(in) :: title
    character (len=*), optional, intent(in) :: source
    character (len=*), optional, intent(in) :: institution
    real, optional, intent(in) :: origin
            !$      type(GT_HISTORY_AXIS), intent(in),optional :: axes(:)
!$      type(GT_HISTORY_AXIS), intent(in),optional :: addaxes(:)
!$      character(*),     intent(in), optional:: dims(:)
!$      integer,          intent(in), optional:: dimsizes(:)
!$      character(*),     intent(in), optional:: longnames(:)
!$      character(*),     intent(in), optional:: units(:)
    real, optional, intent(in) :: interval
            !$      type(GT_HISTORY_AXIS), intent(in),optional :: axes(:)
!$      type(GT_HISTORY_AXIS), intent(in),optional :: addaxes(:)
!$      character(*),     intent(in), optional:: dims(:)
!$      integer,          intent(in), optional:: dimsizes(:)
!$      character(*),     intent(in), optional:: longnames(:)
!$      character(*),     intent(in), optional:: units(:)
    character (len=*), optional, intent(in) :: conventions
            !$      character(*),     intent(in), optional:: xtypes(:)
    character (len=*), optional, intent(in) :: gt_version
            !$      character(*),     intent(in), optional:: xtypes(:)
    ! Calls: BeginSub, Copy_Attr, EndSub, Get, HistoryCreate1, HistoryInquire1, HistoryPutDoubleEx
end subroutine HistoryCopy1
!$         & axes, addaxes, dims, dimsizes, longnames, units, xtypes, &
!$         & xtypes, &

HistoryAxisCopy1

private subroutine HistoryAxisCopy1 (axis_dest, axis_src, err, name, length, longname, units, xtype)
    type (GT_HISTORY_AXIS), intent(out) :: axis_dest
    type (GT_HISTORY_AXIS), intent(in) :: axis_src
    logical, optional, intent(out) :: err
    character (len=*), optional, intent(in) :: name
    integer, optional, intent(in) :: length
    character (len=*), optional, intent(in) :: longname
    character (len=*), optional, intent(in) :: units
    character (len=*), optional, intent(in) :: xtype
    ! Calls: BeginSub, EndSub, HistoryAttrCopy
end subroutine HistoryAxisCopy1

HistoryVarinfoCopy1

private subroutine HistoryVarinfoCopy1 (varinfo_dest, varinfo_src, err, name, dims, longname, units, xtype)
    type (GT_HISTORY_VARINFO), intent(out) :: varinfo_dest
    type (GT_HISTORY_VARINFO), intent(in) :: varinfo_src
    logical, optional, intent(out) :: err
    character (len=*), optional, intent(in) :: name
    character (len=*), optional, intent(in), target, dimension (:) :: dims
    character (len=*), optional, intent(in) :: longname
    character (len=*), optional, intent(in) :: units
    character (len=*), optional, intent(in) :: xtype
    ! Calls: BeginSub, EndSub, HistoryAttrCopy
end subroutine HistoryVarinfoCopy1

HistoryAttrCopy

private subroutine HistoryAttrCopy (from, to, err)
    type (GT_HISTORY_ATTR), intent(in), dimension (:) :: from
    type (GT_HISTORY_ATTR), intent(out), dimension (:) :: to
    logical, optional, intent(out) :: err
    ! Calls: BeginSub, DbgMessage, EndSub, StoreError
end subroutine HistoryAttrCopy

HistoryAddAttrChar0

private subroutine HistoryAddAttrChar0 (varname, attrname, value, history)
    character (len=*), intent(in) :: varname
    character (len=*), intent(in) :: attrname
    character (len=*), intent(in) :: value
    type (GT_HISTORY), optional, target :: history
    ! Calls: BeginSub, EndSub, Put_Attr, lookup_var_or_dim
end subroutine HistoryAddAttrChar0

HistoryAddAttrLogical0

private subroutine HistoryAddAttrLogical0 (varname, attrname, value, history)
    character (len=*), intent(in) :: varname
    character (len=*), intent(in) :: attrname
    logical, intent(in) :: value
    type (GT_HISTORY), optional, target :: history
    ! Calls: BeginSub, EndSub, Put_Attr, lookup_var_or_dim
end subroutine HistoryAddAttrLogical0

HistoryAddAttrInt0

private subroutine HistoryAddAttrInt0 (varname, attrname, value, history)
    character (len=*), intent(in) :: varname
    character (len=*), intent(in) :: attrname
    integer, intent(in) :: value
    type (GT_HISTORY), optional, target :: history
    ! Calls: BeginSub, EndSub, Put_Attr, lookup_var_or_dim
end subroutine HistoryAddAttrInt0

HistoryAddAttrInt1

private subroutine HistoryAddAttrInt1 (varname, attrname, value, history)
    character (len=*), intent(in) :: varname
    character (len=*), intent(in) :: attrname
    integer, intent(in), dimension (:) :: value
    type (GT_HISTORY), optional, target :: history
    ! Calls: BeginSub, EndSub, Put_Attr, lookup_var_or_dim
end subroutine HistoryAddAttrInt1

HistoryAddAttrReal0

private subroutine HistoryAddAttrReal0 (varname, attrname, value, history)
    character (len=*), intent(in) :: varname
    character (len=*), intent(in) :: attrname
    real, intent(in) :: value
    type (GT_HISTORY), optional, target :: history
    ! Calls: BeginSub, EndSub, Put_Attr, lookup_var_or_dim
end subroutine HistoryAddAttrReal0

HistoryAddAttrReal1

private subroutine HistoryAddAttrReal1 (varname, attrname, value, history)
    character (len=*), intent(in) :: varname
    character (len=*), intent(in) :: attrname
    real, intent(in), dimension (:) :: value
    type (GT_HISTORY), optional, target :: history
    ! Calls: BeginSub, EndSub, Put_Attr, lookup_var_or_dim
end subroutine HistoryAddAttrReal1

HistoryAddAttrDouble0

private subroutine HistoryAddAttrDouble0 (varname, attrname, value, history)
    character (len=*), intent(in) :: varname
    character (len=*), intent(in) :: attrname
    real (kind=DP), intent(in) :: value
    type (GT_HISTORY), optional, target :: history
    ! Calls: BeginSub, EndSub, Put_Attr, lookup_var_or_dim
end subroutine HistoryAddAttrDouble0

HistoryAddAttrDouble1

private subroutine HistoryAddAttrDouble1 (varname, attrname, value, history)
    character (len=*), intent(in) :: varname
    character (len=*), intent(in) :: attrname
    real (kind=DP), intent(in), dimension (:) :: value
    type (GT_HISTORY), optional, target :: history
    ! Calls: BeginSub, EndSub, Put_Attr, lookup_var_or_dim
end subroutine HistoryAddAttrDouble1

HistoryAxisAddAttrChar0

private subroutine HistoryAxisAddAttrChar0 (axis, attrname, value)
    type (GT_HISTORY_AXIS), intent(inout) :: axis
    character (len=*), intent(in) :: attrname
    character (len=*), intent(in) :: value
    ! Calls: BeginSub, DbgMessage, EndSub, HistoryAttrCopy, HistoryAxisInquire1
end subroutine HistoryAxisAddAttrChar0

HistoryAxisAddAttrLogical0

private subroutine HistoryAxisAddAttrLogical0 (axis, attrname, value)
    type (GT_HISTORY_AXIS), intent(inout) :: axis
    character (len=*), intent(in) :: attrname
    logical, intent(in) :: value
    ! Calls: BeginSub, DbgMessage, EndSub, HistoryAttrCopy, HistoryAxisInquire1
end subroutine HistoryAxisAddAttrLogical0

HistoryAxisAddAttrInt0

private subroutine HistoryAxisAddAttrInt0 (axis, attrname, value)
    type (GT_HISTORY_AXIS), intent(inout) :: axis
    character (len=*), intent(in) :: attrname
    integer, intent(in) :: value
    ! Calls: BeginSub, DbgMessage, EndSub, HistoryAttrCopy, HistoryAxisInquire1
end subroutine HistoryAxisAddAttrInt0

HistoryAxisAddAttrInt1

private subroutine HistoryAxisAddAttrInt1 (axis, attrname, value)
    type (GT_HISTORY_AXIS), intent(inout) :: axis
    character (len=*), intent(in) :: attrname
    integer, intent(in), dimension (:) :: value
    ! Calls: BeginSub, DbgMessage, EndSub, HistoryAttrCopy, HistoryAxisInquire1
end subroutine HistoryAxisAddAttrInt1

HistoryAxisAddAttrReal0

private subroutine HistoryAxisAddAttrReal0 (axis, attrname, value)
    type (GT_HISTORY_AXIS), intent(inout) :: axis
    character (len=*), intent(in) :: attrname
    real, intent(in) :: value
    ! Calls: BeginSub, DbgMessage, EndSub, HistoryAttrCopy, HistoryAxisInquire1
end subroutine HistoryAxisAddAttrReal0

HistoryAxisAddAttrReal1

private subroutine HistoryAxisAddAttrReal1 (axis, attrname, value)
    type (GT_HISTORY_AXIS), intent(inout) :: axis
    character (len=*), intent(in) :: attrname
    real, intent(in), dimension (:) :: value
    ! Calls: BeginSub, DbgMessage, EndSub, HistoryAttrCopy, HistoryAxisInquire1
end subroutine HistoryAxisAddAttrReal1

HistoryAxisAddAttrDouble0

private subroutine HistoryAxisAddAttrDouble0 (axis, attrname, value)
    type (GT_HISTORY_AXIS), intent(inout) :: axis
    character (len=*), intent(in) :: attrname
    real (kind=DP), intent(in) :: value
    ! Calls: BeginSub, DbgMessage, EndSub, HistoryAttrCopy, HistoryAxisInquire1
end subroutine HistoryAxisAddAttrDouble0

HistoryAxisAddAttrDouble1

private subroutine HistoryAxisAddAttrDouble1 (axis, attrname, value)
    type (GT_HISTORY_AXIS), intent(inout) :: axis
    character (len=*), intent(in) :: attrname
    real (kind=DP), intent(in), dimension (:) :: value
    ! Calls: BeginSub, DbgMessage, EndSub, HistoryAttrCopy, HistoryAxisInquire1
end subroutine HistoryAxisAddAttrDouble1

HistoryVarinfoAddAttrChar0

private subroutine HistoryVarinfoAddAttrChar0 (varinfo, attrname, value)
    type (GT_HISTORY_VARINFO), intent(inout) :: varinfo
    character (len=*), intent(in) :: attrname
    character (len=*), intent(in) :: value
    ! Calls: BeginSub, DbgMessage, EndSub, HistoryAttrCopy, HistoryVarinfoInquire1
end subroutine HistoryVarinfoAddAttrChar0

HistoryVarinfoAddAttrLogical0

private subroutine HistoryVarinfoAddAttrLogical0 (varinfo, attrname, value)
    type (GT_HISTORY_VARINFO), intent(inout) :: varinfo
    character (len=*), intent(in) :: attrname
    logical, intent(in) :: value
    ! Calls: BeginSub, DbgMessage, EndSub, HistoryAttrCopy, HistoryVarinfoInquire1
end subroutine HistoryVarinfoAddAttrLogical0

HistoryVarinfoAddAttrInt0

private subroutine HistoryVarinfoAddAttrInt0 (varinfo, attrname, value)
    type (GT_HISTORY_VARINFO), intent(inout) :: varinfo
    character (len=*), intent(in) :: attrname
    integer, intent(in) :: value
    ! Calls: BeginSub, DbgMessage, EndSub, HistoryAttrCopy, HistoryVarinfoInquire1
end subroutine HistoryVarinfoAddAttrInt0

HistoryVarinfoAddAttrInt1

private subroutine HistoryVarinfoAddAttrInt1 (varinfo, attrname, value)
    type (GT_HISTORY_VARINFO), intent(inout) :: varinfo
    character (len=*), intent(in) :: attrname
    integer, intent(in), dimension (:) :: value
    ! Calls: BeginSub, DbgMessage, EndSub, HistoryAttrCopy, HistoryVarinfoInquire1
end subroutine HistoryVarinfoAddAttrInt1

HistoryVarinfoAddAttrReal0

private subroutine HistoryVarinfoAddAttrReal0 (varinfo, attrname, value)
    type (GT_HISTORY_VARINFO), intent(inout) :: varinfo
    character (len=*), intent(in) :: attrname
    real, intent(in) :: value
    ! Calls: BeginSub, DbgMessage, EndSub, HistoryAttrCopy, HistoryVarinfoInquire1
end subroutine HistoryVarinfoAddAttrReal0

HistoryVarinfoAddAttrReal1

private subroutine HistoryVarinfoAddAttrReal1 (varinfo, attrname, value)
    type (GT_HISTORY_VARINFO), intent(inout) :: varinfo
    character (len=*), intent(in) :: attrname
    real, intent(in), dimension (:) :: value
    ! Calls: BeginSub, DbgMessage, EndSub, HistoryAttrCopy, HistoryVarinfoInquire1
end subroutine HistoryVarinfoAddAttrReal1

HistoryVarinfoAddAttrDouble0

private subroutine HistoryVarinfoAddAttrDouble0 (varinfo, attrname, value)
    type (GT_HISTORY_VARINFO), intent(inout) :: varinfo
    character (len=*), intent(in) :: attrname
    real (kind=DP), intent(in) :: value
    ! Calls: BeginSub, DbgMessage, EndSub, HistoryAttrCopy, HistoryVarinfoInquire1
end subroutine HistoryVarinfoAddAttrDouble0

HistoryVarinfoAddAttrDouble1

private subroutine HistoryVarinfoAddAttrDouble1 (varinfo, attrname, value)
    type (GT_HISTORY_VARINFO), intent(inout) :: varinfo
    character (len=*), intent(in) :: attrname
    real (kind=DP), intent(in), dimension (:) :: value
    ! Calls: BeginSub, DbgMessage, EndSub, HistoryAttrCopy, HistoryVarinfoInquire1
end subroutine HistoryVarinfoAddAttrDouble1

HistoryAttrAdd

private subroutine HistoryAttrAdd (varname, attrs, history)
    character (len=*), intent(in) :: varname
    type (GT_HISTORY_ATTR), intent(in), dimension (:) :: attrs
    type (GT_HISTORY), optional, target :: history
    ! Calls: BeginSub, DbgMessage, EndSub, HistoryAddAttr
end subroutine HistoryAttrAdd

HistoryAddVariable2

private subroutine HistoryAddVariable2 (varinfo, history)
    type (GT_HISTORY_VARINFO), intent(in) :: varinfo
    type (GT_HISTORY), optional, intent(inout) :: history
    ! Calls: BeginSub, EndSub, HistoryAddVariable1, HistoryAttrAdd
end subroutine HistoryAddVariable2

HistoryAddVariable1

private subroutine HistoryAddVariable1 (varname, dims, longname, units, xtype, history)
    character (len=*), intent(in) :: varname
    character (len=*), intent(in), dimension (:) :: dims
    character (len=*), intent(in) :: longname
    character (len=*), intent(in) :: units
    character (len=*), optional, intent(in) :: xtype
    type (GT_HISTORY), optional, intent(inout), target :: history
    ! Calls: BeginSub, Create, EndSub, Inquire, Slice, StoreError, put_attr
end subroutine HistoryAddVariable1

HistoryInquire1

private subroutine HistoryInquire1 (history, err, file, title, source, dims, dimsizes, longnames, units, xtypes, institution, origin, interval, newest, oldest, conventions, gt_version, axes, varinfo)
    type (GT_HISTORY), intent(in) :: history
    logical, optional, intent(out) :: err
    character (len=*), optional, intent(out) :: file
    character (len=*), optional, intent(out) :: title
    character (len=*), optional, intent(out) :: source
    character (len=*), optional, pointer, dimension (:) :: dims
    integer, optional, pointer, dimension (:) :: dimsizes
    character (len=*), optional, pointer, dimension (:) :: longnames
    character (len=*), optional, pointer, dimension (:) :: units
    character (len=*), optional, pointer, dimension (:) :: xtypes
    character (len=*), optional, intent(out) :: institution
    real, optional, intent(out) :: origin
    real, optional, intent(out) :: interval
    real, optional, intent(out) :: newest
    real, optional, intent(out) :: oldest
    character (len=*), optional, intent(out) :: conventions
    character (len=*), optional, intent(out) :: gt_version
    type (GT_HISTORY_AXIS), optional, pointer, dimension (:) :: axes
    type (GT_HISTORY_VARINFO), optional, pointer, dimension (:) :: varinfo
    ! Calls: BeginSub, Close, EndSub, Get_Attr, Get_attr, Inquire, Open, StoreError, UrlSplit
end subroutine HistoryInquire1

HistoryInquire2

private subroutine HistoryInquire2 (history, err, file, title, source, dims, dimsizes, longnames, units, xtypes, institution, origin, interval, newest, oldest, conventions, gt_version, axes, varinfo)
    character (len=*), intent(in) :: history
    logical, optional, intent(out) :: err
    character (len=*), optional, intent(out) :: file
    character (len=*), optional, intent(out) :: title
    character (len=*), optional, intent(out) :: source
    character (len=*), optional, pointer, dimension (:) :: dims
    integer, optional, pointer, dimension (:) :: dimsizes
    character (len=*), optional, pointer, dimension (:) :: longnames
    character (len=*), optional, pointer, dimension (:) :: units
    character (len=*), optional, pointer, dimension (:) :: xtypes
    character (len=*), optional, intent(out) :: institution
    real, optional, intent(out) :: origin
    real, optional, intent(out) :: interval
    real, optional, intent(out) :: newest
    real, optional, intent(out) :: oldest
    character (len=*), optional, intent(out) :: conventions
    character (len=*), optional, intent(out) :: gt_version
    type (GT_HISTORY_AXIS), optional, pointer, dimension (:) :: axes
    type (GT_HISTORY_VARINFO), optional, pointer, dimension (:) :: varinfo
    ! Calls: BeginSub, EndSub, HistoryInquire1, StoreError
end subroutine HistoryInquire2

HistoryCopyVariable1

private subroutine HistoryCopyVariable1 (file, varname, history, overwrite)
    character (len=*), intent(in) :: file
    character (len=*), intent(in) :: varname
    type (GT_HISTORY), optional, intent(inout), target :: history
    logical, optional, intent(in) :: overwrite
    ! Calls: BeginSub, Close, Create, EndSub, Inquire, Open, Slice
end subroutine HistoryCopyVariable1
$    !-----------------------------------------------------------------
$    !  �ѿ����� GT_HISTORY_VARINFO �μ���
$    !-----------------------------------------------------------------
$    subroutine HistoryInquireVariable1(file, variable, varinfo)
$        implicit none
$        character(len = *),       intent(in)   :: file    ! �ե�����̾
$        character(len = *),       intent(in)   :: varname ! �ѿ�̾
$        type(GT_HISTORY_VARINFO), intent(out)  :: varinfo
$
$        type(GT_VARIABLE)            :: var
$        character(len = string)      :: xtype
$        integer                      :: alldims
$        character(len = *), parameter:: subname = "HistoryInquireVariable1"
$    continue
$        call BeginSub(subname, 'file=<%c>, dims=<%c>', &
$             & c1=trim(file), c2=trim(variname)          )
$        call Open(var, UrlMerge(file, varname), .false.)
$        call Inquire(var, xtype=xtype, alldims=alldims)
$
$        call Inquire(var, 'longname', )
$
$        call HistoryAddVariable1(trim(varinfo%name), &
$            & varinfo%dims, trim(varinfo%longname), &
$            & trim(varinfo%units), trim(varinfo%xtype), history)
$        call EndSub(subname)
$    end subroutine HistoryInquireVariable1

HistorySetTime

public subroutine HistorySetTime (time, history)
    real, intent(in) :: time
    type (GT_HISTORY), optional, intent(inout), target :: history
    ! Calls: DumpError, Get, Put, Slice
end subroutine HistorySetTime

TimeGoAhead

private subroutine TimeGoAhead (varname, var, head, history, err)
    character (len=*), intent(in) :: varname
    type (GT_VARIABLE), intent(out) :: var
    real, intent(in) :: head
    type (GT_HISTORY), optional, intent(inout), target :: history
    logical, optional, intent(out) :: err
    ! Calls: BeginSub, DbgMessage, EndSub, Get, Get_Slice, Put, Slice, StoreError
end subroutine TimeGoAhead

HistoryPutRealEx

private subroutine HistoryPutRealEx (varname, array, arraysize, history, range)
    character (len=*), intent(in) :: varname
    real, intent(in), dimension (arraysize) :: array
    integer, intent(in) :: arraysize
    type (GT_HISTORY), optional, intent(inout) :: history
    character (len=*), optional, intent(in) :: range
    ! Calls: BeginSub, DbgMessage, EndSub, GTVarSync, Get_Slice, Inquire, Put, Slice, TimeGoAhead
end subroutine HistoryPutRealEx

HistoryPutDoubleEx

private subroutine HistoryPutDoubleEx (varname, array, arraysize, history, range)
    character (len=*), intent(in) :: varname
    real (kind=DP), intent(in), dimension (arraysize) :: array
    integer, intent(in) :: arraysize
    type (GT_HISTORY), optional, intent(inout) :: history
    character (len=*), optional, intent(in) :: range
    ! Calls: BeginSub, DbgMessage, EndSub, GTVarSync, Get_Slice, Inquire, Put, Slice, TimeGoAhead
end subroutine HistoryPutDoubleEx

HistoryPutReal0

private subroutine HistoryPutReal0 (varname, value, history, range)
    character (len=*), intent(in) :: varname
    real, intent(in) :: value
    type (GT_HISTORY), optional, intent(inout), target :: history
    character (len=*), optional, intent(in) :: range
    ! Calls: BeginSub, EndSub, HistoryPutRealEx
end subroutine HistoryPutReal0

HistoryPutReal1

private subroutine HistoryPutReal1 (varname, array, history, range)
    character (len=*), intent(in) :: varname
    real, intent(in), dimension (:) :: array
    type (GT_HISTORY), optional, intent(inout), target :: history
    character (len=*), optional, intent(in) :: range
    ! Calls: BeginSub, EndSub, HistoryPutRealEx
end subroutine HistoryPutReal1

HistoryPutReal2

private subroutine HistoryPutReal2 (varname, array, history, range)
    character (len=*), intent(in) :: varname
    real, intent(in), dimension (:,:) :: array
    type (GT_HISTORY), optional, intent(inout), target :: history
    character (len=*), optional, intent(in) :: range
    ! Calls: BeginSub, EndSub, HistoryPutRealEx
end subroutine HistoryPutReal2

HistoryPutReal3

private subroutine HistoryPutReal3 (varname, array, history, range)
    character (len=*), intent(in) :: varname
    real, intent(in), dimension (:,:,:) :: array
    type (GT_HISTORY), optional, intent(inout), target :: history
    character (len=*), optional, intent(in) :: range
    ! Calls: BeginSub, EndSub, HistoryPutRealEx
end subroutine HistoryPutReal3

HistoryPutReal4

private subroutine HistoryPutReal4 (varname, array, history, range)
    character (len=*), intent(in) :: varname
    real, intent(in), dimension (:,:,:,:) :: array
    type (GT_HISTORY), optional, intent(inout), target :: history
    character (len=*), optional, intent(in) :: range
    ! Calls: BeginSub, EndSub, HistoryPutRealEx
end subroutine HistoryPutReal4

HistoryPutReal5

private subroutine HistoryPutReal5 (varname, array, history, range)
    character (len=*), intent(in) :: varname
    real, intent(in), dimension (:,:,:,:,:) :: array
    type (GT_HISTORY), optional, intent(inout), target :: history
    character (len=*), optional, intent(in) :: range
    ! Calls: BeginSub, EndSub, HistoryPutRealEx
end subroutine HistoryPutReal5

HistoryPutReal6

private subroutine HistoryPutReal6 (varname, array, history, range)
    character (len=*), intent(in) :: varname
    real, intent(in), dimension (:,:,:,:,:,:) :: array
    type (GT_HISTORY), optional, intent(inout), target :: history
    character (len=*), optional, intent(in) :: range
    ! Calls: BeginSub, EndSub, HistoryPutRealEx
end subroutine HistoryPutReal6

HistoryPutReal7

private subroutine HistoryPutReal7 (varname, array, history, range)
    character (len=*), intent(in) :: varname
    real, intent(in), dimension (:,:,:,:,:,:,:) :: array
    type (GT_HISTORY), optional, intent(inout), target :: history
    character (len=*), optional, intent(in) :: range
    ! Calls: BeginSub, EndSub, HistoryPutRealEx
end subroutine HistoryPutReal7

HistoryPutDouble0

private subroutine HistoryPutDouble0 (varname, value, history, range)
    character (len=*), intent(in) :: varname
    real (kind=DP), intent(in) :: value
    type (GT_HISTORY), optional, intent(inout), target :: history
    character (len=*), optional, intent(in) :: range
    ! Calls: BeginSub, EndSub, HistoryPutDoubleEx
end subroutine HistoryPutDouble0

HistoryPutDouble1

private subroutine HistoryPutDouble1 (varname, array, history, range)
    character (len=*), intent(in) :: varname
    real (kind=DP), intent(in), dimension (:) :: array
    type (GT_HISTORY), optional, intent(inout), target :: history
    character (len=*), optional, intent(in) :: range
    ! Calls: BeginSub, EndSub, HistoryPutDoubleEx
end subroutine HistoryPutDouble1

HistoryPutDouble2

private subroutine HistoryPutDouble2 (varname, array, history, range)
    character (len=*), intent(in) :: varname
    real (kind=DP), intent(in), dimension (:,:) :: array
    type (GT_HISTORY), optional, intent(inout), target :: history
    character (len=*), optional, intent(in) :: range
    ! Calls: BeginSub, EndSub, HistoryPutDoubleEx
end subroutine HistoryPutDouble2

HistoryPutDouble3

private subroutine HistoryPutDouble3 (varname, array, history, range)
    character (len=*), intent(in) :: varname
    real (kind=DP), intent(in), dimension (:,:,:) :: array
    type (GT_HISTORY), optional, intent(inout), target :: history
    character (len=*), optional, intent(in) :: range
    ! Calls: BeginSub, EndSub, HistoryPutDoubleEx
end subroutine HistoryPutDouble3

HistoryPutDouble4

private subroutine HistoryPutDouble4 (varname, array, history, range)
    character (len=*), intent(in) :: varname
    real (kind=DP), intent(in), dimension (:,:,:,:) :: array
    type (GT_HISTORY), optional, intent(inout), target :: history
    character (len=*), optional, intent(in) :: range
    ! Calls: BeginSub, EndSub, HistoryPutDoubleEx
end subroutine HistoryPutDouble4

HistoryPutDouble5

private subroutine HistoryPutDouble5 (varname, array, history, range)
    character (len=*), intent(in) :: varname
    real (kind=DP), intent(in), dimension (:,:,:,:,:) :: array
    type (GT_HISTORY), optional, intent(inout), target :: history
    character (len=*), optional, intent(in) :: range
    ! Calls: BeginSub, EndSub, HistoryPutDoubleEx
end subroutine HistoryPutDouble5

HistoryPutDouble6

private subroutine HistoryPutDouble6 (varname, array, history, range)
    character (len=*), intent(in) :: varname
    real (kind=DP), intent(in), dimension (:,:,:,:,:,:) :: array
    type (GT_HISTORY), optional, intent(inout), target :: history
    character (len=*), optional, intent(in) :: range
    ! Calls: BeginSub, EndSub, HistoryPutDoubleEx
end subroutine HistoryPutDouble6

HistoryPutDouble7

private subroutine HistoryPutDouble7 (varname, array, history, range)
    character (len=*), intent(in) :: varname
    real (kind=DP), intent(in), dimension (:,:,:,:,:,:,:) :: array
    type (GT_HISTORY), optional, intent(inout), target :: history
    character (len=*), optional, intent(in) :: range
    ! Calls: BeginSub, EndSub, HistoryPutDoubleEx
end subroutine HistoryPutDouble7

HistoryClose

public subroutine HistoryClose (history)
    type (GT_HISTORY), optional, intent(inout), target :: history
    ! Calls: BeginSub, Close, EndSub, set_fake_dim_value
end subroutine HistoryClose

HistoryAxisClear

public subroutine HistoryAxisClear (axis)
    type (GT_HISTORY_AXIS), intent(inout) :: axis
    ! Calls: BeginSub, EndSub
end subroutine HistoryAxisClear

HistoryVarinfoClear

public subroutine HistoryVarinfoClear (varinfo)
    type (GT_HISTORY_VARINFO), intent(inout) :: varinfo
    ! Calls: BeginSub, EndSub
end subroutine HistoryVarinfoClear

set_fake_dim_value

private subroutine set_fake_dim_value (history, dimord)
    type (GT_HISTORY), intent(inout) :: history
    integer, intent(in) :: dimord
    ! Calls: DumpError, Inquire, Put, Slice
end subroutine set_fake_dim_value

lookup_variable_ord

public function lookup_variable_ord (history, varname) result (result)
    type (GT_HISTORY), intent(in) :: history
    character (len=*), intent(in) :: varname
    integer :: result
    ! Calls: BeginSub, DbgMessage, EndSub, Inquire
end function lookup_variable_ord

lookup_variable

private function lookup_variable (history, varname, ord) result (result)
    type (GT_HISTORY), intent(in) :: history
    character (len=*), intent(in) :: varname
    integer, optional, intent(out) :: ord
    type (GT_VARIABLE) :: result
    ! Calls: BeginSub, EndSub, StoreError
end function lookup_variable

lookup_dimension

private function lookup_dimension (history, dimname, ord) result (result)
    type (GT_HISTORY), intent(in) :: history
    character (len=*), intent(in) :: dimname
    integer, optional, intent(out) :: ord
    type (GT_VARIABLE) :: result
    ! Calls: BeginSub, EndSub, Inquire, StoreError
end function lookup_dimension

lookup_var_or_dim

private subroutine lookup_var_or_dim (history, name, var, err)
    type (GT_HISTORY), intent(in) :: history
    character (len=*), intent(in) :: name
    type (GT_VARIABLE), intent(out) :: var
    logical, intent(out) :: err
    ! Calls: BeginSub, EndSub, StoreError
end subroutine lookup_var_or_dim