MONC
Data Types | Modules | Functions/Subroutines | Variables
configurationparser.F90 File Reference

Go to the source code of this file.

Data Types

interface  configuration_parser_mod::get_data_value_by_field_name
 
type  configuration_parser_mod::data_values_type
 
type  configuration_parser_mod::io_configuration_registered_monc_type
 Configuration that representes the state of a registered MONC process. More...
 
type  configuration_parser_mod::io_configuration_field_type
 Configuration associated with the representation of a specific data field. More...
 
type  configuration_parser_mod::io_configuration_data_definition_type
 Configuration of a specific data definition. More...
 
type  configuration_parser_mod::io_configuration_inter_communication_description
 
type  configuration_parser_mod::io_configuration_misc_item_type
 
type  configuration_parser_mod::io_configuration_diagnostic_field_type
 
type  configuration_parser_mod::io_configuration_group_type
 
type  configuration_parser_mod::io_configuration_file_writer_facet_type
 
type  configuration_parser_mod::io_configuration_file_writer_type
 
type  configuration_parser_mod::io_configuration_type
 Overall IO configuration. More...
 

Modules

module  configuration_parser_mod
 Parses the XML configuration file to produce the io configuration description which contains the data layout specification and rules for handling received data.
 

Functions/Subroutines

recursive character function, dimension(:), allocatable, public configuration_parser_mod::get_io_xml (filename, funit_num)
 Reads in textual data from a file and returns this, used to read the IO server XML configuration file. Returned is a character array of exactly the correct size filled with all the configuration. More...
 
subroutine, public configuration_parser_mod::configuration_parse (provided_options_database, raw_configuration, parsed_configuration)
 This will parse an XML string into the IO configuration. More...
 
subroutine configuration_parser_mod::add_in_dimensions (provided_options_database)
 
subroutine configuration_parser_mod::start_element_callback (element_name, number_of_attributes, attribute_names, attribute_values)
 XML element start (opening) call back. This handles most of the configuration parsing. More...
 
subroutine configuration_parser_mod::end_element_callback (element_name)
 XML element end (closing) call back. More...
 
subroutine configuration_parser_mod::handle_thread_pool_configuration (attribute_names, attribute_values)
 
subroutine configuration_parser_mod::handle_new_data_definition (attribute_names, attribute_values)
 Creates a new data definition configuration item based upon the attributes supplied. More...
 
subroutine configuration_parser_mod::add_misc_member_to_diagnostic (element_name, attribute_names, attribute_values)
 
subroutine configuration_parser_mod::add_diagnostic_field_to_group (element_name, attribute_names, attribute_values)
 
subroutine configuration_parser_mod::define_group (attribute_names, attribute_values)
 
subroutine configuration_parser_mod::add_include_to_file_writer (attribute_names, attribute_values)
 
subroutine configuration_parser_mod::add_include_group_or_field_to_file_writer (attribute_names, attribute_values, number_of_contents)
 
subroutine configuration_parser_mod::define_file_writer (attribute_names, attribute_values)
 
subroutine configuration_parser_mod::define_diagnostic (attribute_names, attribute_values)
 Defines a new data handling rule. More...
 
integer function configuration_parser_mod::process_sizing_definition (size_definitions, individual_str_defn)
 
subroutine configuration_parser_mod::process_xml_into_field_description (attribute_names, attribute_values)
 Process XML into a field description by identifying the attributes of the field and storing these in a refined configuration format. More...
 
integer function configuration_parser_mod::get_field_type_from_attribute (field_type_str)
 
integer function configuration_parser_mod::get_field_datatype_from_attribute (field_data_type_str)
 
subroutine configuration_parser_mod::replace_characters_in_string (original_string, new_string, to_replace)
 Replaces specific characters in a string and returns a new string with this replaced by nothing (i.e. removed) More...
 
character(len=string_length) function configuration_parser_mod::retrieve_string_value (original_string, field_value_type)
 
integer function configuration_parser_mod::get_field_index_from_name (attribute_names, search_name)
 Given the name of an attribute will return the index of this in the names collection or 0 if it is not found. More...
 
subroutine, public configuration_parser_mod::extend_inter_io_comm_array (io_configuration)
 Extends the array of inter io communications from its current suze to current size+data_stride+current size deficit. More...
 
subroutine configuration_parser_mod::extend_file_writer_contents_array ()
 
subroutine configuration_parser_mod::extend_file_writer_array ()
 
subroutine configuration_parser_mod::extend_diagnostics_array ()
 Extends the rules array of a specific rule from the current size to the current size + data size stride. More...
 
subroutine configuration_parser_mod::extend_groups_array ()
 
subroutine configuration_parser_mod::extend_field_array ()
 Extends the fields array of the current data definition from the current size to the current size + data size stride. More...
 
subroutine configuration_parser_mod::extend_data_definition_array ()
 Extends the data definitions array from the current size to the current size + data size stride. More...
 
subroutine, public configuration_parser_mod::extend_registered_moncs_array (io_configuration)
 Extends the data definitions array from the current size to the current size + data size stride. More...
 
integer function, public configuration_parser_mod::retrieve_data_definition (io_configuration, key)
 Retrieves a specific data definition from the configuration which matches a key. More...
 
logical function, public configuration_parser_mod::retrieve_monc_definition (io_configuration, source, monc_defn)
 Retrieves a specific MONC definition from the configuration which matches a source PID. More...
 
type(definition_description_type) function, dimension(:), allocatable, public configuration_parser_mod::build_definition_description_type_from_configuration (io_configuration)
 Builds up the data definition description type from the structured definitions in the IO configuration. More...
 
type(field_description_type) function, dimension(:), allocatable, public configuration_parser_mod::build_field_description_type_from_configuration (io_configuration)
 Builds up the field definition description type from the structured definitions in the IO configuration. More...
 
integer function configuration_parser_mod::get_total_number_fields (io_configuration)
 Retrieves the total number of fields held in all data definitions. More...
 
integer function, public configuration_parser_mod::get_number_field_dimensions (io_configuration, field_name, source, data_id)
 Retrieves the number of field dimensions that a specific field has from a MONC process within a data definition. This is determined by the MONC process when it registers with the IO server and can be different from one to another. More...
 
type(data_values_type) function, pointer configuration_parser_mod::get_data_value_from_hashmap_by_field_name (collection, field_name)
 Retrieves the data value (wrapper) by field name or null if no entry was found in the provided collection. More...
 
type(data_values_type) function, pointer configuration_parser_mod::get_data_value_from_map_by_field_name (collection, field_name)
 Retrieves the data value (wrapper) by field name or null if no entry was found in the provided collection. More...
 
type(data_values_type) function, pointer, public configuration_parser_mod::get_data_value_from_map_entry (map_entry)
 Retrieves the data value (wrapper) by field name or null if no entry was found in the provided map entry. More...
 
integer function, public configuration_parser_mod::get_monc_location (io_configuration, source)
 A helper function to get the location of a MONC's configuration in the IO data structure. More...
 
logical function, public configuration_parser_mod::get_diagnostic_field_configuration (io_configuration, field_name, field_namespace, diagnostic_config)
 Retrieves the diagnostics field configuration corresponding to a specific field name and returns whether one was found or not. More...
 
logical function, public configuration_parser_mod::get_prognostic_field_configuration (io_configuration, field_name, field_namespace, prognostic_config, prognostic_containing_data_defn)
 Retrieves the prognostic field configuration corresponding to a specific field name and returns whether one was found or not. More...
 
subroutine configuration_parser_mod::add_in_specific_line (io_xml, reading_buffer)
 Adds a specific line into the io xml. The IO XML is always exactly the correct size, so here is either allocated or resized to match what the read buffer requires. More...
 
subroutine configuration_parser_mod::combine_xml_arrays (io_xml, other_xml_array)
 Combines two IO XML arrays together (for instance one returned from a recursive include) More...
 

Variables

character(len=string_length), parameter configuration_parser_mod::default_file_title = "MONC diagnostics"
 
integer, parameter, public configuration_parser_mod::eq_operator_type =1
 
integer, parameter, public configuration_parser_mod::lt_operator_type =2
 
integer, parameter, public configuration_parser_mod::gt_operator_type =3
 
integer, parameter, public configuration_parser_mod::lte_operator_type =4
 
integer, parameter, public configuration_parser_mod::gte_operator_type =5
 
integer, parameter, public configuration_parser_mod::add_operator_type =6
 
integer, parameter, public configuration_parser_mod::subtract_operator_type =7
 
integer, parameter, public configuration_parser_mod::multiply_operator_type =8
 
integer, parameter, public configuration_parser_mod::div_operator_type =9
 
integer, parameter, public configuration_parser_mod::mod_operator_type =10
 
integer, parameter configuration_parser_mod::and_operator_type =11
 
integer, parameter configuration_parser_mod::or_operator_type =12
 
integer, parameter configuration_parser_mod::monc_size_stride =100
 
integer, parameter, public configuration_parser_mod::data_size_stride =10
 
integer, parameter, public configuration_parser_mod::time_averaged_type =1
 
integer, parameter, public configuration_parser_mod::instantaneous_type =2
 
integer, parameter, public configuration_parser_mod::none_type =3
 
integer, parameter, public configuration_parser_mod::group_type =1
 
integer, parameter, public configuration_parser_mod::field_type =2
 
integer, parameter, public configuration_parser_mod::io_state_type =3
 
integer, parameter configuration_parser_mod::file_str_stride =10000
 
integer, parameter configuration_parser_mod::file_line_len =2000
 
logical configuration_parser_mod::inside_data_definition
 
logical configuration_parser_mod::inside_handling_definition
 
logical configuration_parser_mod::inside_server_config
 
logical configuration_parser_mod::inside_action_config
 
logical configuration_parser_mod::inside_diagnostic_config
 
logical configuration_parser_mod::inside_group_config
 
logical configuration_parser_mod::inside_generic_writing
 
logical configuration_parser_mod::inside_specific_file_writing
 
integer configuration_parser_mod::current_building_definition
 
integer configuration_parser_mod::current_building_field
 
integer configuration_parser_mod::current_building_diagnostic
 
integer configuration_parser_mod::current_trigger_index
 
integer configuration_parser_mod::current_building_group
 
integer configuration_parser_mod::current_building_file_writer
 
type(io_configuration_type), save configuration_parser_mod::building_config
 IO configuration that is build built up from XML parsing. More...
 
character(len=string_length) configuration_parser_mod::data_handling_namespace
 
type(hashmap_type) configuration_parser_mod::options_database
 
type(hashset_type) configuration_parser_mod::data_field_names
 
character(len=string_length), dimension(:), allocatable, public configuration_parser_mod::cond_request
 
character(len=string_length), dimension(:), allocatable, public configuration_parser_mod::diag_request
 
character(len=string_length), dimension(:), allocatable, public configuration_parser_mod::cond_long
 
character(len=string_length), dimension(:), allocatable, public configuration_parser_mod::diag_long
 
integer, public configuration_parser_mod::ncond
 
integer, public configuration_parser_mod::ndiag