fates_parameters_type Derived Type

type, public :: fates_parameters_type


Type-Bound Procedures

procedure, public :: Init

  • private subroutine Init(this)

    Arguments

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

procedure, public :: Destroy

  • private subroutine Destroy(this)

    Arguments

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

procedure, public :: RegisterParameter

  • private subroutine RegisterParameter(this, name, dimension_shape, dimension_names, sync_with_host, lower_bounds)

    Arguments

    Type IntentOptional Attributes Name
    class(fates_parameters_type), intent(inout) :: this
    character(len=param_string_length), intent(in) :: name
    integer, intent(in) :: dimension_shape
    character(len=param_string_length) :: dimension_names(1:)
    logical, intent(in), optional :: sync_with_host
    integer, intent(in), optional :: lower_bounds(1:)

generic, public :: RetreiveParameter => RetreiveParameterScalar, RetreiveParameter1D, RetreiveParameter2D

  • private subroutine RetreiveParameterScalar(this, name, data)

    Arguments

    Type IntentOptional Attributes Name
    class(fates_parameters_type), intent(inout) :: this
    character(len=param_string_length), intent(in) :: name
    real(kind=r8), intent(out) :: data
  • private subroutine RetreiveParameter1D(this, name, data)

    Arguments

    Type IntentOptional Attributes Name
    class(fates_parameters_type), intent(inout) :: this
    character(len=param_string_length), intent(in) :: name
    real(kind=r8), intent(out) :: data(:)
  • private subroutine RetreiveParameter2D(this, name, data)

    Arguments

    Type IntentOptional Attributes Name
    class(fates_parameters_type), intent(inout) :: this
    character(len=param_string_length), intent(in) :: name
    real(kind=r8), intent(out) :: data(:,:)

generic, public :: RetreiveParameterAllocate => RetreiveParameter1DAllocate, RetreiveParameter2DAllocate

  • private subroutine RetreiveParameter1DAllocate(this, name, data)

    Arguments

    Type IntentOptional Attributes Name
    class(fates_parameters_type), intent(inout) :: this
    character(len=param_string_length), intent(in) :: name
    real(kind=r8), intent(out), allocatable :: data(:)
  • private subroutine RetreiveParameter2DAllocate(this, name, data)

    Arguments

    Type IntentOptional Attributes Name
    class(fates_parameters_type), intent(inout) :: this
    character(len=param_string_length), intent(in) :: name
    real(kind=r8), intent(out), allocatable :: data(:,:)

generic, public :: SetData => SetDataScalar, SetData1D, SetData2D

  • private subroutine SetDataScalar(this, index, data)

    Arguments

    Type IntentOptional Attributes Name
    class(fates_parameters_type), intent(inout) :: this
    integer, intent(in) :: index
    real(kind=r8), intent(in) :: data
  • private subroutine SetData1D(this, index, data)

    Arguments

    Type IntentOptional Attributes Name
    class(fates_parameters_type), intent(inout) :: this
    integer, intent(in) :: index
    real(kind=r8), intent(in) :: data(:)
  • private subroutine SetData2D(this, index, data)

    Arguments

    Type IntentOptional Attributes Name
    class(fates_parameters_type), intent(inout) :: this
    integer, intent(in) :: index
    real(kind=r8), intent(in) :: data(:,:)

procedure, public :: GetUsedDimensions

  • private subroutine GetUsedDimensions(this, is_host_file, num_used_dimensions, used_dimensions)

    Arguments

    Type IntentOptional Attributes Name
    class(fates_parameters_type), intent(inout) :: this
    logical, intent(in) :: is_host_file
    integer, intent(out) :: num_used_dimensions
    character(len=param_string_length), intent(out) :: used_dimensions(max_used_dimensions)

procedure, public :: SetDimensionSizes

  • private subroutine SetDimensionSizes(this, is_host_file, num_used_dimensions, dimension_names, dimension_sizes)

    Arguments

    Type IntentOptional Attributes Name
    class(fates_parameters_type), intent(inout) :: this
    logical, intent(in) :: is_host_file
    integer, intent(in) :: num_used_dimensions
    character(len=param_string_length), intent(in) :: dimension_names(max_used_dimensions)
    integer, intent(in) :: dimension_sizes(max_used_dimensions)

procedure, public :: GetMaxDimensionSize

  • private function GetMaxDimensionSize(this) result(max_dim_size)

    Arguments

    Type IntentOptional Attributes Name
    class(fates_parameters_type), intent(in) :: this

    Return Value integer

procedure, public :: GetMetaData

  • private subroutine GetMetaData(this, index, name, dimension_shape, dimension_sizes, dimension_names, is_host_param)

    Arguments

    Type IntentOptional Attributes Name
    class(fates_parameters_type), intent(in) :: this
    integer, intent(in) :: index
    character(len=param_string_length), intent(out) :: name
    integer, intent(out) :: dimension_shape
    integer, intent(out) :: dimension_sizes(max_dimensions)
    character(len=param_string_length), intent(out) :: dimension_names(max_dimensions)
    logical, intent(out) :: is_host_param

procedure, public :: num_params

  • private function num_params(this)

    Arguments

    Type IntentOptional Attributes Name
    class(fates_parameters_type), intent(in) :: this

    Return Value integer

procedure, public :: FindIndex

  • private function FindIndex(this, name) result(i)

    Arguments

    Type IntentOptional Attributes Name
    class(fates_parameters_type), intent(in) :: this
    character(len=param_string_length), intent(in) :: name

    Return Value integer