robserver Derived Type

type, public, extends(observer) :: robserver

An observer class that extracts information from real grid functions.


Inherits

type~~robserver~~InheritsGraph type~robserver robserver type~observer observer type~robserver->type~observer type~rgf rgf type~robserver->type~rgf p type~gf gf type~rgf->type~gf type~element_rdata element_rdata type~rgf->type~element_rdata elems type~element_data element_data type~element_rdata->type~element_data

Contents

Source Code


Components

TypeVisibility AttributesNameInitial
integer(kind=ip), public :: nradii

The number of radii the observer should observe at.

integer(kind=ip), public :: ioo_id

The file unit number this observer should use for output.

character(len=:), public, allocatable:: vname

The name of the observer.

real(kind=wp), public, dimension(:), allocatable:: radii

A 1d-array containing the radii that the observer should observe at. On allocation the size is nradii.

integer(kind=ip), public, dimension(:), allocatable:: elem_index

A 1d-array containing the index of all the elements that contains radii.

integer(kind=ip), public, dimension(:), allocatable:: node_index

A 1d-array containing the node index within all the elements that contains radii.

type(rgf), public, pointer:: p

A pointer to the real grid function that observations will be performed on.

real(kind=wp), public, dimension(:), allocatable:: extract_data

A 1d-array that will hold the extracted data. On allocation the size is nradii.


Finalization Procedures

final :: close_robserver

The finalizer.


Type-Bound Procedures

procedure, public :: init => robs_init

The initialization routine is provided by robs_init.

  • interface

    public module subroutine robs_init(this, rad, coord, object)

    The initialization routine for the real grid function observer.

    Arguments

    Type IntentOptional AttributesName
    class(robserver), intent(inout) :: this

    The observer that is being initialized.

    real(kind=wp), intent(in), dimension(:):: rad

    A 1d array of real values containing the radii for which observations will be performed.

    type(rgf), intent(in) :: coord

    A real grid function containing the coordinates.

    class(*), intent(in), target:: object

    The real grid function for which observations will be performed.

procedure, public :: extract => robs_extract

The extraction routine is provided by robs_extract.

  • interface

    public module subroutine robs_extract(this)

    The extraction routine for the real grid function observer.

    Arguments

    Type IntentOptional AttributesName
    class(robserver), intent(inout) :: this

    The routine is called on this observer.

procedure, public :: output => robs_output

The output routine is provided by robs_output.

  • interface

    public module subroutine robs_output(this)

    The output routine for the real grid function observer.

    Arguments

    Type IntentOptional AttributesName
    class(robserver), intent(inout) :: this

    The routine is called on this observer.

Source Code

  type, extends(observer) :: robserver
  !! An observer class that extracts information from real grid functions.
    type(rgf), pointer :: p
    !! A pointer to the real grid function that observations will be performed
    !! on.
    real(wp), dimension(:), allocatable :: extract_data
    !! A 1d-array that will hold the extracted data. On allocation the size is
    !! [[robserver:nradii]].
  contains
    procedure :: init => robs_init
    !! The initialization routine is provided by [[robs_init]].
    procedure :: extract => robs_extract
    !! The extraction routine is provided by [[robs_extract]].
    procedure :: output => robs_output
    !! The output routine is provided by [[robs_output]].
    final :: close_robserver
    !! The finalizer.
  end type robserver