MONC
Modules | Functions/Subroutines | Variables
instantaneous_manipulation.F90 File Reference

Go to the source code of this file.

Modules

module  instantaneous_time_manipulation_mod
 Performs instantaneous time manipulation and only returns a value if the output frequency determines one should be.
 

Functions/Subroutines

subroutine, public instantaneous_time_manipulation_mod::init_instantaneous_manipulation ()
 Initialises the instantaneous time manipulation. More...
 
subroutine, public instantaneous_time_manipulation_mod::finalise_instantaneous_manipulation ()
 Finalises the instantaneous time manipulation. More...
 
logical function, public instantaneous_time_manipulation_mod::is_instantaneous_time_manipulation_ready_to_write (latest_time, output_frequency, write_time, latest_timestep, write_timestep)
 
type(data_values_type) function, public instantaneous_time_manipulation_mod::perform_instantaneous_time_manipulation (instant_values, output_frequency, field_name, timestep, time)
 Performs the instantaneous time manipulation and returns data only if this is to be written to the storage. Internally a state is maintained which tracks when the write was last done to allow for flexibility in the time criteria. More...
 
logical function instantaneous_time_manipulation_mod::deduce_whether_to_issue_values (field_name, output_frequency, time)
 Determines whether to issue values for write or not. This depends on the time and output frequency. More...
 
integer(kind=8) function, public instantaneous_time_manipulation_mod::prepare_to_serialise_instantaneous_state ()
 Prepares to serialise the instantaneous state, both determines the byte storage size and issues any locks. More...
 
subroutine, public instantaneous_time_manipulation_mod::serialise_instantaneous_state (byte_data)
 Will serialise the state of this manipulator so that it can be later restarted. Any locks issued during preparation are released here. More...
 
subroutine, public instantaneous_time_manipulation_mod::unserialise_instantaneous_state (byte_data)
 Unpacks some serialised byte data to initialise this manipulator to some previous state. More...
 

Variables

integer, volatile instantaneous_time_manipulation_mod::existing_instantaneous_writes_mutex
 
type(hashmap_type), volatile instantaneous_time_manipulation_mod::existing_instantaneous_writes