MetaWards.utils API Detail



Return whether the passed function accepts the "stage" argument, meaning that it can do different things for different day stages

add_lookup(network[, nthreads])

Add in metadata about the network that can be used to look up wards by name of location or region etc.

add_wards_network_distance(network[, nthreads])

Reads the location data in network.parameters.input_files.position and adds those locations to all of the nodes in the passed network.

aggregate_networks(network, profiler[, nthreads])

Aggregate all of the Susceptibles data from the demographic sub-networks into an overall total set of data that is stored in the overall network

assert_sane_network(network, profiler)

This function runs through and checks that the passed network is sane.

build_play_matrix(network, max_nodes, max_links)

Build the play matrix for the passed network

build_wards_network(params[, profiler, ...])

Creates a network of wards using the information provided in the file specified in

call_function_on_network(network, ...[, ...])

Call either 'func' or 'parallel' (depending on the number of threads, nthreads) on the passed Network, or on all demographic subnetworks


Check if a newer version of MetaWards is available.

clear_all_infections(infections, play_infections)

Clears all infections associated with a model run


This is a singleton class that provides access to printing and logging functions to the console.

create_int_array(size[, default])

Create a new array.array of the specified size.

create_double_array(size[, default])

Create a new array.array of the specified size.

create_string_array(size, unicode default)

Create an array of python strings of size 'size', optionally initialised with 'default'

create_thread_generators(rng, nthreads)

Return a set of random number generators, one for each thread - these are seeded using the next 'nthreads' random numbers drawn from the passed generator


Delete the passed random number generator.

fill_in_gaps(network, max_nodes)

Fills in gaps in the network


Return the maximum number of threads that are recommended for this computer (the OMP_NUM_THREADS value)

get_functions(stage, network, population, ...)

Return the functions that must be called for the specified stage of the day;


Convenience function that returns all of the functions that should be called during the initialisation step of the model (e.g.

get_finalise_functions(trajectory, **kwargs)

Convenience function that returns all of the functions that should be called during the finalisation step of the model (e.g.


Convenience function that returns all of the functions that should be called during the model loop (i.e.

get_min_max_distances(network[, nthreads, ...])

Return the minimum and maximum distances recorded in the network

get_number_of_processes(parallel_scheme[, ...])

This function works out how many processes have been set by the paralellisation system called 'parallel_scheme'


Initialise the data structure used to store the infections


Initialise the space used to store the play infections


Return whether or not this MetaWards executable supports OpenMP

move_population_from_work_to_play(network[, ...])

This function is not used or implemented, but is implied by the naming scheme...

move_population_from_play_to_work(network[, ...])

And Vice Versa From Work to Play The relevant parameters are network.params.play_to_work and network.params.work_to_play

prepare_worker(params, demographics, options)

Prepare a worker to receive work to run a model using the passed parameters.

ran_binomial(rng, double p, n)

Return a random number drawn from the binomial distribution [p,n] (see gsl_ran_binomial for documentation)

ran_int(rng[, lower, upper])

Draw a random integer from [0,upper] inclusive


Return a random double drawn from a uniform distribution between zero and one


This function reads the 'done_file' from 'filename' returning the list of seeded nodes

recalculate_work_denominator_day(network[, ...])

Recalculate the denominator_d for the wards (nodes) in the network for the normal links

recalculate_play_denominator_day(network[, ...])

Recalculate the denominator_d for the wards (nodes) in the network for the play links

rescale_play_matrix(network[, nthreads, ...])

Static Play At Home rescaling.

resize_array(a, size[, default])

Resize the passed array to size 'size', adding 'default' if this will grow the array

reset_everything(network, profiler[, nthreads])

Reset everything in the passed network so that it can be used for a new model run

reset_play_matrix(network[, nthreads])

Resets the play entries in the passed Network.

reset_play_susceptibles(network[, nthreads])

Resets the ward entries in the passed Network.

reset_work_matrix(network[, nthreads])

Resets the work entries in the passed Network.

run_model(network, infections, rngs, output_dir)

Actually run the model.

run_models(network, variables, population, ...)

Run all of the models on the passed Network that are described by the passed VariableSets


Ask the worker to run a model using the passed variables and options.


Convert 's' to a number.

scale_link_susceptibles(links, ratio)

Scale the number of susceptibles in the passed Links by the passed scale ratio.

scale_node_susceptibles(nodes[, ratio, ...])

Scale the number of susceptibles in the passed Nodes by the passed scale ratios.


Seed and return the random binomial generator.

string_to_ints([string, strings])

Convert the passed string (or strings) containing integers (or ranges of integers) into a single sorted list of integers where no value is repeated

update_metawards([dry_run, user])

Update MetaWards to the latest version.



Profiler([name, parent])

This is a simple profiling class that supports manual instrumenting of the code.

NullProfiler([name, parent])

This is a null profiler that does nothing