field_desc_t Derived Type

type, public :: field_desc_t

One configuration field: schema metadata + validation constraint + a typed pointer into a live config instance. Exactly one of the pointer components is associated, per value_kind.


Components

Type Visibility Attributes Name Initial
character(len=32), public :: key = ''
character(len=32), public :: group = ''
integer, public :: value_kind = 0
character(len=256), public :: help = ''
logical, public :: has_min = .false.
logical, public :: min_exclusive = .false.
real(kind=wp), public :: min_value = 0.0_wp
logical, public :: has_max = .false.
real(kind=wp), public :: max_value = 0.0_wp
character(len=64), public, allocatable :: choices(:)
integer, public :: choice_msg_style = choice_msg_valid_list
character(len=160), public :: msg_choice = ''
logical, public :: casefold = .false.
logical, public :: check_in_validate = .true.

.false. => published in the schema but NOT checked by validate_fields (conditional/cross-field rules stay in the per-dim validate routine).

character(len=160), public :: msg_min = ''
character(len=160), public :: msg_max = ''
integer, public, pointer :: iptr => null()
real(kind=wp), public, pointer :: rptr => null()
logical, public, pointer :: lptr => null()
character(len=:), public, pointer :: sptr => null()
real(kind=wp), public, pointer :: r3ptr(:) => null()