| Class | gt4_historyauto | 
| In: | gt4_historyauto.f90 | 
| Derived_Types | [] | GT4_ATTRIBUTE, GT4_REAL1D, GT4_NAMED_REALARY, GTHP, HIST_EACHVAR, HIST_LINK | 
| Derived Type : | |
| name : | character(len=TOKEN) | 
| rval(:) =>null() : | real,pointer | 
| ival(:) =>null() : | integer,pointer | 
| cval : | character(len=STRING) | 
| Derived Type : | |||
| rank : | integer | ||
| name : | character(len=TOKEN) | ||
| dims(3) : | character(len=TOKEN) 
 | ||
| longname : | character(len=STRING) | ||
| units : | character(len=STRING) | ||
| ary(:) =>null() : | real,pointer | 
| Function : | |
| result : | type(GT4_ATTRIBUTE) | 
| name : | character(len=*),intent(in) | 
| rval(:) : | real,intent(in),optional | 
| ival(:) : | integer,intent(in),optional | 
| cval : | character(len=*),intent(in),optional | 
   function init_gt4_attribute(name,rval,ival,cval) result(result)
      implicit none
      type(GT4_ATTRIBUTE)                       :: result
      character(len=*),intent(in)           :: name
      real,intent(in),optional              :: rval(:)
      integer,intent(in),optional           :: ival(:)
      character(len=*),intent(in),optional  :: cval
      result%name = name
      if(present(rval)) then
	 allocate(result%rval(size(rval)))
	 result%rval = rval
	 nullify(result%ival)
      else if (present(ival)) then
	 allocate(result%ival(size(ival)))
	 result%ival = ival
	 nullify(result%rval)
      else if (present(cval)) then
	 nullify(result%rval)
	 nullify(result%ival)
	 result%cval = cval
      endif
   end function init_gt4_attribute
          | Function : | |
| result : | type(GT4_REAL1D) | 
| ary(:) : | real,intent(in) | 
   function init_gt4_real1d(ary) result(result)
      implicit none
      type(GT4_REAL1D)      :: result
      real,intent(in)   :: ary(:)
      if(associated(result%ary)) deallocate(result%ary)
      allocate(result%ary(size(ary)))
      result%ary = ary
   end function init_gt4_real1d
          | Derived Type : | |||
| name : | character(len=TOKEN) | ||
| h =>null() : | type(GTHP), pointer | ||
| longname : | character(len=STRING) | ||
| units : | character(len=STRING) | ||
| size : | integer | ||
| aryshape(3) : | integer | ||
| slfst(3) : | integer | ||
| sllst(3) : | integer | ||
| slstp(3) : | integer | ||
| domain_div : | logical | ||
| subdomfst(3) : | integer 
 | ||
| file : | character(len=STRING) | ||
| proc : | character(len=TOKEN) | ||
| newfile_interval : | real 
 | ||
| title : | character(len=STRING) | ||
| source : | character(len=STRING) | ||
| institution : | character(len=STRING) | ||
| sprank : | integer | ||
| dims(4) : | character(len=TOKEN) | ||
| dimsizes(4) : | integer | ||
| axlongnames(4) : | character(len=STRING) | ||
| axunits(4) : | character(len=STRING) | ||
| axxtypes(4) : | character(len=TOKEN) | ||
| time_last : | real | ||
| time_to_start : | real | ||
| put_interval : | real 
 | ||
| dt : | real 
 | ||
| conventions : | character(len=STRING) | ||
| gt_version : | character(len=TOKEN) | ||
| out_of_domain : | logical 
 | ||
| spcoordvars(3) : | type(GT4_REAL1D) | ||
| ancilcrdvars(:) =>null() : | type(GT4_NAMED_REALARY),pointer 
 | ||
| attrs(:) =>null() : | type(GT4_ATTRIBUTE),pointer | 
| Derived Type : | |
| name : | character(len=TOKEN) | 
| hist : | type(HIST_EACHVAR) | 
| next =>null() : | type(HIST_LINK),pointer | 
| Function : | |
| result : | logical | 
| history : | type(GT_HISTORY), intent(in) | 
| varname : | character(len = *) | 
   logical function HistoryHasVariable(history, varname) result(result)
      implicit none
      type(GT_HISTORY), intent(in):: history
      character(len = *):: varname
      type(GT_HISTORY_VARINFO), pointer :: varinfo(:) =>null()
      integer:: i
      logical :: err
      character(STRING) :: name
      result = .false.
      call Inquire(history, err = err, varinfo = varinfo)
      do i = 1, size(varinfo)
	 call Inquire(varinfo(i), name=name)
	 if (name == varname) then
	    result = .true.
	    return
	 endif
      end do
      return
   end function HistoryHasVariable