m_field Module


Uses


Interfaces

public interface field_t

  • public function field_init(ngrid, next, id) result(f)

    Arguments

    Type IntentOptional Attributes Name
    integer, intent(in) :: ngrid
    type(field_t), intent(in), pointer :: next
    integer, intent(in) :: id

    Return Value type(field_t)


Derived Types

type, public ::  field_t

Memory block type holding both a data field and a pointer to the next block. The field_t type also holds a integer refcount that counts the number of references to this field. User code is currently responsible for incrementing the reference count.

Components

Type Visibility Attributes Name Initial
class(field_t), public, pointer :: next
real(kind=dp), public, pointer, contiguous :: data(:,:,:)
integer, public :: dir
integer, public :: data_loc
integer, public :: refcount = 0
integer, public :: id

An integer identifying the memory block.

Constructor

public function field_init (ngrid, next, id)

Type-Bound Procedures

procedure, public :: set_shape
procedure, public :: set_data_loc

Functions

public function field_init(ngrid, next, id) result(f)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: ngrid
type(field_t), intent(in), pointer :: next
integer, intent(in) :: id

Return Value type(field_t)


Subroutines

public subroutine set_data_loc(self, data_loc)

Arguments

Type IntentOptional Attributes Name
class(field_t) :: self
integer, intent(in) :: data_loc

public subroutine set_shape(self, dims)

Arguments

Type IntentOptional Attributes Name
class(field_t) :: self
integer, intent(in) :: dims(3)