dm_target Module

Observation target declaration.


Uses

  • module~~dm_target~~UsesGraph module~dm_target dm_target module~dm_id dm_id module~dm_target->module~dm_id module~dm_kind dm_kind module~dm_target->module~dm_kind module~dm_util dm_util module~dm_target->module~dm_util iso_fortran_env iso_fortran_env module~dm_kind->iso_fortran_env module~dm_util->module~dm_kind module~dm_error dm_error module~dm_util->module~dm_error module~dm_error->module~dm_kind module~dm_ascii dm_ascii module~dm_error->module~dm_ascii

Used by

  • module~~dm_target~~UsedByGraph module~dm_target dm_target module~dm_log dm_log module~dm_log->module~dm_target module~dm_observ dm_observ module~dm_log->module~dm_observ module~dm_observ->module~dm_target module~dm_report dm_report module~dm_report->module~dm_target module~dm_report->module~dm_log module~dmpack dmpack module~dmpack->module~dm_target module~dmpack->module~dm_log module~dmpack->module~dm_observ module~dmpack->module~dm_report module~dm_atom dm_atom module~dmpack->module~dm_atom module~dm_job dm_job module~dmpack->module~dm_job module~dm_logger dm_logger module~dmpack->module~dm_logger module~dm_mqueue dm_mqueue module~dmpack->module~dm_mqueue module~dm_sync dm_sync module~dmpack->module~dm_sync module~dm_mqueue_util dm_mqueue_util module~dmpack->module~dm_mqueue_util proc~dm_db_insert_target dm_db_insert_target proc~dm_db_insert_target->module~dm_target proc~dm_db_select_target dm_db_select_target proc~dm_db_select_target->module~dm_target proc~dm_db_update_target dm_db_update_target proc~dm_db_update_target->module~dm_target proc~dm_html_target dm_html_target proc~dm_html_target->module~dm_target proc~dm_html_targets dm_html_targets proc~dm_html_targets->module~dm_target proc~dm_test_dummy_target dm_test_dummy_target proc~dm_test_dummy_target->module~dm_target proc~dm_z_compress_type dm_z_compress_type proc~dm_z_compress_type->module~dm_target proc~dm_z_compress_type->module~dm_log proc~dm_z_compress_type->module~dm_observ module~dm_atom->module~dm_log module~dm_job->module~dm_observ module~dm_logger->module~dm_log module~dm_logger->module~dm_observ module~dm_mqueue->module~dm_log module~dm_mqueue->module~dm_observ module~dm_sync->module~dm_observ proc~dm_arg_validate dm_arg_validate proc~dm_arg_validate->module~dm_log proc~dm_csv_header_observ dm_csv_header_observ proc~dm_csv_header_observ->module~dm_observ proc~dm_db_insert_log dm_db_insert_log proc~dm_db_insert_log->module~dm_log proc~dm_db_insert_observ dm_db_insert_observ proc~dm_db_insert_observ->module~dm_observ proc~dm_db_insert_observs dm_db_insert_observs proc~dm_db_insert_observs->module~dm_observ proc~dm_db_select_log dm_db_select_log proc~dm_db_select_log->module~dm_log proc~dm_db_select_logs_by_observ dm_db_select_logs_by_observ proc~dm_db_select_logs_by_observ->module~dm_log proc~dm_db_select_observ dm_db_select_observ proc~dm_db_select_observ->module~dm_observ proc~dm_db_select_observ_ids dm_db_select_observ_ids proc~dm_db_select_observ_ids->module~dm_observ proc~dm_db_select_observ_views dm_db_select_observ_views proc~dm_db_select_observ_views->module~dm_observ proc~dm_db_select_observs_by_id dm_db_select_observs_by_id proc~dm_db_select_observs_by_id->module~dm_observ proc~dm_db_select_observs_by_time dm_db_select_observs_by_time proc~dm_db_select_observs_by_time->module~dm_observ proc~dm_html_log dm_html_log proc~dm_html_log->module~dm_log proc~dm_html_logs dm_html_logs proc~dm_html_logs->module~dm_log proc~dm_html_observ dm_html_observ proc~dm_html_observ->module~dm_observ proc~dm_html_observs dm_html_observs proc~dm_html_observs->module~dm_observ proc~dm_lua_api_register dm_lua_api_register proc~dm_lua_api_register->module~dm_log proc~dm_test_dummy_log dm_test_dummy_log proc~dm_test_dummy_log->module~dm_log proc~dm_test_dummy_observ dm_test_dummy_observ proc~dm_test_dummy_observ->module~dm_observ module~dm_mqueue_util->module~dm_mqueue proc~dm_db_insert_sync dm_db_insert_sync proc~dm_db_insert_sync->module~dm_sync proc~dm_db_insert_sync_log dm_db_insert_sync_log proc~dm_db_insert_sync_log->module~dm_sync proc~dm_db_insert_sync_node dm_db_insert_sync_node proc~dm_db_insert_sync_node->module~dm_sync proc~dm_db_insert_sync_observ dm_db_insert_sync_observ proc~dm_db_insert_sync_observ->module~dm_sync proc~dm_db_insert_sync_sensor dm_db_insert_sync_sensor proc~dm_db_insert_sync_sensor->module~dm_sync proc~dm_db_insert_sync_target dm_db_insert_sync_target proc~dm_db_insert_sync_target->module~dm_sync proc~dm_db_select_sync_log dm_db_select_sync_log proc~dm_db_select_sync_log->module~dm_sync proc~dm_db_select_sync_logs dm_db_select_sync_logs proc~dm_db_select_sync_logs->module~dm_sync proc~dm_db_select_sync_node dm_db_select_sync_node proc~dm_db_select_sync_node->module~dm_sync proc~dm_db_select_sync_nodes dm_db_select_sync_nodes proc~dm_db_select_sync_nodes->module~dm_sync proc~dm_db_select_sync_observ dm_db_select_sync_observ proc~dm_db_select_sync_observ->module~dm_sync proc~dm_db_select_sync_observs dm_db_select_sync_observs proc~dm_db_select_sync_observs->module~dm_sync proc~dm_db_select_sync_sensor dm_db_select_sync_sensor proc~dm_db_select_sync_sensor->module~dm_sync proc~dm_db_select_sync_sensors dm_db_select_sync_sensors proc~dm_db_select_sync_sensors->module~dm_sync proc~dm_db_select_sync_target dm_db_select_sync_target proc~dm_db_select_sync_target->module~dm_sync proc~dm_db_select_sync_targets dm_db_select_sync_targets proc~dm_db_select_sync_targets->module~dm_sync

Variables

Type Visibility Attributes Name Initial
integer, public, parameter :: TARGET_ID_LEN = ID_LEN

Max. target id length.

integer, public, parameter :: TARGET_NAME_LEN = 32

Max. target name length.

integer, public, parameter :: TARGET_META_LEN = 32

Max. target meta description length.

integer, public, parameter :: TARGET_STATE_NONE = 0

Default state.

integer, public, parameter :: TARGET_STATE_REMOVED = 1

Target was removed.

integer, public, parameter :: TARGET_STATE_MISSING = 2

Target is missing.

integer, public, parameter :: TARGET_STATE_INVALID = 3

Target is invalid.

integer, public, parameter :: TARGET_STATE_IGNORE = 4

Target should be ignored.

integer, public, parameter :: TARGET_STATE_OBSOLETE = 5

Target is obsolete.

integer, public, parameter :: TARGET_STATE_USER = 6

User-defined state.

integer, public, parameter :: TARGET_STATE_LAST = 6

Never use this.

integer, public, parameter :: TARGET_STATE_NAME_LEN = 8

Max. target state name length.

character(len=*), public, parameter :: TARGET_STATE_NAMES(TARGET_STATE_NONE:TARGET_STATE_LAST) = [character(len=TARGET_STATE_NAME_LEN)::'none', 'removed', 'missing', 'invalid', 'ignore', 'obsolete', 'user']

Target state names.

integer, public, parameter :: TARGET_SIZE = storage_size(target_type())/8

Size of target_type in bytes.


Interfaces

public interface operator (==)

Returns whether targets are equal.

  • public pure elemental function dm_target_equals(target1, target2) result(equals)

    Returns .true. if given targets are equal.

    Arguments

    Type IntentOptional Attributes Name
    type(target_type), intent(in) :: target1

    The first target.

    type(target_type), intent(in) :: target2

    The second target.

    Return Value logical


Derived Types

type, public ::  target_type

Target description.

Components

Type Visibility Attributes Name Initial
character(len=TARGET_ID_LEN), public :: id = ' '

Target id (-0-9A-Z_a-z).

character(len=TARGET_NAME_LEN), public :: name = ' '

Target name.

character(len=TARGET_META_LEN), public :: meta = ' '

Target meta information (optional).

integer, public :: state = TARGET_STATE_NONE

Target state (optional).

real(kind=r8), public :: x = 0.0_r8

Target x or easting (optional).

real(kind=r8), public :: y = 0.0_r8

Target y or northing (optional).

real(kind=r8), public :: z = 0.0_r8

Target z or altitude (optional).

real(kind=r8), public :: lon = 0.0_r8

Longitude in degrees (optional).

real(kind=r8), public :: lat = 0.0_r8

Latitude in degrees (optional).

real(kind=r8), public :: alt = 0.0_r8

Altitude or elevation in metres (optional).


Functions

public pure elemental function dm_target_equals(target1, target2) result(equals)

Returns .true. if given targets are equal.

Arguments

Type IntentOptional Attributes Name
type(target_type), intent(in) :: target1

The first target.

type(target_type), intent(in) :: target2

The second target.

Return Value logical

public pure elemental function dm_target_is_valid(target) result(valid)

Returns .true. if given target type elements are valid.

Arguments

Type IntentOptional Attributes Name
type(target_type), intent(in) :: target

Target type.

Return Value logical

public pure elemental function dm_target_state_is_valid(state) result(valid)

Returns .true. if the state of the given target type is known.

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: state

Target state.

Return Value logical

public pure function dm_target_state_name(state) result(str)

Returns the name of the known target state as an allocatable character string, or unknown if the state is not known.

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: state

Target state.

Return Value character(len=:), allocatable

Target state name.


Subroutines

public subroutine dm_target_out(target, unit)

Prints target to standard output or given file unit. If not unit is passed, the target will be written to standard output.

Arguments

Type IntentOptional Attributes Name
type(target_type), intent(inout) :: target

Target type.

integer, intent(in), optional :: unit

File unit.