timeData Derived Type

type, public :: timeData


Inherits

type~~timedata~~InheritsGraph type~timedata timeData ESMF_Clock ESMF_Clock type~timedata->ESMF_Clock clock ESMF_TimeInterval ESMF_TimeInterval type~timedata->ESMF_TimeInterval offset type~esmftimevector ESMFTimeVector type~timedata->type~esmftimevector tvec ESMF_Time ESMF_Time type~esmftimevector->ESMF_Time elements

Inherited by

type~~timedata~~InheritedByGraph type~timedata timeData type~historycollection~2 HistoryCollection type~historycollection~2->type~timedata timeInfo type~historytrajectory HistoryTrajectory type~historycollection~2->type~historytrajectory trajectory type~mapl_griddedio MAPL_GriddedIO type~historycollection~2->type~mapl_griddedio mGriddedIO type~masksamplergeosat MaskSamplerGeosat type~historycollection~2->type~masksamplergeosat mask_sampler type~sampler sampler type~historycollection~2->type~sampler xsampler type~stationsampler StationSampler type~historycollection~2->type~stationsampler station_sampler type~historytrajectory->type~timedata time_info type~mapl_griddedio->type~timedata timeInfo type~masksamplergeosat->type~timedata time_info type~sampler->type~timedata timeInfo type~stationsampler->type~timedata time_info type~extdata_iobundle ExtData_IoBundle type~extdata_iobundle->type~mapl_griddedio cfio type~extdatang_iobundle ExtDataNG_IOBundle type~extdatang_iobundle->type~mapl_griddedio grid_io type~fieldbundlewriter FieldBundleWriter type~fieldbundlewriter->type~mapl_griddedio cfio type~historycollectionvectoriterator~2 HistoryCollectionVectorIterator type~historycollectionvectoriterator~2->type~historycollection~2 elements type~historycollectionvectorriterator~2 HistoryCollectionVectorRIterator type~historycollectionvectorriterator~2->type~historycollection~2 elements type~historycollectionvector~2 HistoryCollectionVector type~historycollectionvector~2->type~historycollection~2 elements type~iobundlevector IoBundleVector type~iobundlevector->type~extdata_iobundle elements type~iobundlevectoriterator IoBundleVectorIterator type~iobundlevectoriterator->type~extdata_iobundle elements type~iobundlevectorriterator IoBundleVectorRIterator type~iobundlevectorriterator->type~extdata_iobundle elements type~vector_wrapper~26 vector_wrapper type~vector_wrapper~26->type~extdatang_iobundle item type~iobundlengvector IoBundleNGVector type~iobundlengvector->type~vector_wrapper~26 elements type~iobundlengvectoriterator IoBundleNGVectorIterator type~iobundlengvectoriterator->type~vector_wrapper~26 elements

Components

Type Visibility Attributes Name Initial
character(len=:), public, allocatable :: funits
integer, public :: frequency = TimeData_uninit_int
integer, public :: ntime
integer, public :: tcount
logical, public :: integer_time
logical, public :: is_initialized = .false.
type(ESMF_Clock), public :: clock
type(ESMF_TimeInterval), public :: offset
type(ESMFTimeVector), public :: tvec

Constructor

public interface timeData

  • private function new_time_data(clock, ntime, frequency, offset, funits, integer_time, rc) result(tData)

    Arguments

    Type IntentOptional Attributes Name
    type(ESMF_Clock), intent(inout) :: clock
    integer, intent(in) :: ntime
    integer, intent(in) :: frequency
    type(ESMF_TimeInterval) :: offset
    character(len=*), intent(in), optional :: funits
    logical, intent(in), optional :: integer_time
    integer, intent(out), optional :: rc

    Return Value type(timeData)


Type-Bound Procedures

procedure, public :: add_time_to_metadata

  • private subroutine add_time_to_metadata(this, metadata, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(timeData), intent(inout) :: this
    type(FileMetadata), intent(inout) :: metadata
    integer, intent(out), optional :: rc

procedure, public :: am_i_initialized

  • private function am_i_initialized(this) result(logical_temp)

    Arguments

    Type IntentOptional Attributes Name
    class(timeData), intent(inout) :: this

    Return Value logical

procedure, public :: compute_time_vector

  • private function compute_time_vector(this, metadata, rc) result(times)

    Arguments

    Type IntentOptional Attributes Name
    class(timeData), intent(inout) :: this
    type(FileMetadata), intent(inout) :: metadata
    integer, intent(out), optional :: rc

    Return Value real, allocatable, (:)

procedure, public :: define_time_variable

  • private function define_time_variable(this, rc) result(v)

    Arguments

    Type IntentOptional Attributes Name
    class(timeData), intent(inout) :: this
    integer, intent(out), optional :: rc

    Return Value type(Variable)

procedure, public :: get

  • private subroutine get(this, clock, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(timeData) :: this
    type(ESMF_Clock), intent(inout), optional :: clock
    integer, intent(out), optional :: rc

procedure, public :: get_start_time

  • private function get_start_time(this, metadata, rc) result(startTime)

    Arguments

    Type IntentOptional Attributes Name
    class(timeData), intent(inout) :: this
    type(FileMetadata), intent(inout) :: metadata
    integer, intent(out), optional :: rc

    Return Value type(ESMF_Time)

procedure, public :: setFrequency

  • private subroutine setFrequency(this, frequency, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(timeData), intent(inout) :: this
    integer, intent(in) :: frequency
    integer, intent(out), optional :: rc

Source Code

  type, public :: timeData
     type(ESMF_Clock) :: clock
     integer :: ntime
     integer :: tcount
     type(ESMFTimeVector) :: tvec
     integer :: frequency = TimeData_uninit_int 
     type(ESMF_TimeInterval) :: offset
     character(len=:), allocatable :: funits
     logical :: integer_time
     logical :: is_initialized = .false.
   contains
     procedure :: add_time_to_metadata
     procedure :: define_time_variable
     procedure :: compute_time_vector
     procedure :: get_start_time
     procedure :: get
     procedure :: setFrequency
     procedure :: am_i_initialized
  end type timeData