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

Go to the source code of this file.

Data Types

type  writer_field_manager_mod::field_ordering_value_type
 
type  writer_field_manager_mod::field_ordering_type
 
interface  writer_field_manager_mod::provide_field_to_writer_federator
 

Modules

module  writer_field_manager_mod
 The writer field manager will manage aspects of the fields being provided to the writer federator. There are two major aspects to this, firstly extraction of fields from the data sent directly from MONC and then passed on if these fields are needed. Secondly, this will queue up the data to ensure that it is sent to the writer federator in strict order and that only one piece of a fields data is in the writer federator at any one time.
 

Functions/Subroutines

subroutine, public writer_field_manager_mod::initialise_writer_field_manager (io_configuration, continuation_run)
 Initialises the writer field manager. More...
 
subroutine, public writer_field_manager_mod::finalise_writer_field_manager ()
 Finalises the writer field manager. More...
 
logical function, public writer_field_manager_mod::is_write_field_manager_up_to_date (timestep)
 Determines whether the state of the write field manager is up to date with respect to the timestep that has been provided, checks each entry to see if it is missing data or not. More...
 
subroutine, public writer_field_manager_mod::provide_monc_data_to_writer_federator (io_configuration, source, data_id, data_dump)
 Data communicated from MONC is provided to this write federator and then included if the configuration has selected to use that MONC field (as opposed to a field produced by the diagnostics federator) More...
 
type(data_values_type) function writer_field_manager_mod::get_value_from_monc_data (io_configuration, source, data_id, data_dump, field_name, field_namespace)
 Retrieves a value from the communicated MONC data. If this was an integer then converts to a real. More...
 
subroutine writer_field_manager_mod::get_type_of_field (fields, field_name, field_namespace, field_type, data_type)
 Retrieves the data type of a field or 0 if the field was not found. More...
 
subroutine writer_field_manager_mod::provide_field_to_writer_federator_rvalues_src (io_configuration, field_name, field_namespace, field_values, timestep, time, frequency, source)
 
subroutine writer_field_manager_mod::provide_field_to_writer_federator_rvalues_nosrc (io_configuration, field_name, field_namespace, field_values, timestep, time, frequency)
 
subroutine writer_field_manager_mod::provide_field_to_writer_federator_nosrc (io_configuration, field_name, field_namespace, field_values, timestep, time, frequency)
 Provides a field to the write federator with no source (a none collective diagnostic) More...
 
subroutine writer_field_manager_mod::provide_field_to_writer_federator_src (io_configuration, field_name, field_namespace, field_values, timestep, time, frequency, source, terminated_case)
 Provides a field to the write federator (a collective diagnostic or prognostic) More...
 
subroutine writer_field_manager_mod::process_queued_items (io_configuration, field_ordering)
 Processes queued up items for a specific field's ordering. This will send any available fields to the write federator with a guaranteed ordering and clean up the memory associated with them. More...
 
type(field_ordering_value_type) function, pointer writer_field_manager_mod::get_field_ordering_value_at_timestep (collection, timestep)
 Retrieves a specific field ordering value at the corresponding timestep or null if none is found. More...
 
type(field_ordering_value_type) function, pointer writer_field_manager_mod::generate_value_container (field_name, field_namespace, field_values, timestep, time, frequency, source)
 Generates the field value container which is then filled in with appropriate values and added into the overall field ordering data structure. More...
 
type(field_ordering_type) function, pointer writer_field_manager_mod::get_or_add_field_ordering (field_name, field_namespace, frequency, source)
 Retrieves or adds ordering for a specific field (and MONC source) More...
 
type(field_ordering_type) function, pointer writer_field_manager_mod::get_field_ordering (field_name, do_lock)
 Retrieves a field ordering based upon the name or null if none can be found. More...
 
integer(kind=8) function writer_field_manager_mod::prepare_to_serialise_field_manager_state ()
 Prepares to serialise the field manager state, both determines storage needed and also issues any locks. More...
 
subroutine writer_field_manager_mod::serialise_field_manager_state (byte_data)
 Serialises the current field manager, releases any locks issued during preparation. More...
 
subroutine writer_field_manager_mod::unserialise_field_manager_state (byte_data)
 Unserialses from some byte data into the state. More...
 
integer(kind=8) function writer_field_manager_mod::prepare_to_serialise_specific_field_ordering (specific_field_ordering)
 Prepares to serialise a specific field ordering, both determines storage size and issues locks. More...
 
subroutine writer_field_manager_mod::serialise_specific_field_ordering (specific_field_ordering, byte_data, current_data_point)
 Serialises a specific fields ordering and releases any locks issued during preparation. More...
 
type(field_ordering_type) function, pointer writer_field_manager_mod::unserialise_specific_field_ordering (byte_data)
 Unserialises some field ordering. More...
 
integer(kind=8) function writer_field_manager_mod::prepare_to_serialise_field_ordering_value (specific_field_value)
 Prepares to serialise a specific field ordering value, determines both the storage size and issues locks. More...
 
subroutine writer_field_manager_mod::serialise_field_ordering_value (specific_field_value, byte_data, current_data_point)
 Serialises a field ordering value and releases any issued locks. More...
 
type(field_ordering_value_type) function, pointer writer_field_manager_mod::unserialise_field_ordering_value (byte_data)
 Unseralises some field ordering from its byte representation. More...
 

Variables

integer, volatile writer_field_manager_mod::field_lock
 
type(hashmap_type), volatile writer_field_manager_mod::field_orderings