Blockbuster: Blockbuster model of school estate deterioration

Description Usage Arguments Details Value Examples

Description

High level modelling of element and block objects through time that considers repairs and rebuilding interventions on the condition of the modelled building components. It is composed of many smaller functions that deteriorate, rebuild and repair the components. Outputs a list of data frames detailing the condition of the modelled blocks and components at each timestep. Information is stored at block and element level. The states at each timestep and the final output are saved as files specified by the filelabel and path parameters. The saving of outputs to disc is mandatory. It saves memory space for large samples and simulations and the final output is collated from the individual files rather than being stored in memory.

Usage

1
2
3
4
Blockbuster(element.data, block.data = NULL, forecast.horizon = 1,
  rebuild.money = 0, repair.money = 0, block.rebuild.cost = 2000,
  inflation = 1, save = FALSE, filelabel = "blockbuster_output",
  path = "./output/", grade.order = c("E", "D", "C", "B"))

Arguments

element.data

A data frame containing the element-level initial state.

block.data

(optional) A data frame containing the block-level initial state. If not supplied, this will be created from the element.data.

forecast.horizon

A number. How many timesteps are to be simulated. Default value is 1.

rebuild.money

A vector of numbers indicating the available money to spend on rebuilding blocks each timestep. Default value is zero.

repair.money

A vector of numbers indicating the available money to spend on repairing components each timestep. Default value is zero

block.rebuild.cost

(optional) The unit cost (per m^2^) of rebuilding blocks. Default value is 2000. This is required if the block.data argument is not supplied.

inflation

A vector of numbers indicating the inflation rate to apply to repair and rebuild costs each timestep. If a vector of length one is supplied it will be used as the inflation rate for all timesteps. Default is 1, i.e. no inflation.

save

(optional) Logical. If TRUE, then the block and element states are saved to disc at each timestep.

filelabel

(optional) Character. The start of the file names used to save the interim outputs. Default is blockbuster_output.

path

(optional) Character. The path to the folder which stores the outputs. If the folder this points to does not exist then the simulation will fail. Default is ./output/.

grade.order

(Optional) A list of the three character strings "D", "C" and "B" in any order. This determines the priority for repairs. The first character gives the first grade that will be repaired. By default, D is repaired first, then C, then B.

Details

At each timestep the components are degraded at the appropriate rates. Inflation (set by the user using the inflation parameter) is then applied to repair and rebuild costs. After this, blocks are rebuilt in an order determined by a cost benefit calculation which weighs the cost of repairing all components in a block with the cost of rebuilding the block. Once this is done, the model then decides on which components need repairing. Grade D components are repaired first, in order of descending cost. Then Grade C components are repaired and then, if the budget allows, Grade B.

The degradation rates of a component are based on transition rates from EC Harris and expert opinion within DfE. Alternate transition rates can be passed to the function using the block.repair.costs parameter after manually editing the block_det_data object created by the library.

Repair costs per unit area for each component are pulled from a data table internal to the package. Repair costs can be manually passed to the blockbuster function using the block.repair.costs argument, respecting the format of the default parameter.

Rebuild costs per unit area are user-input as parameter block.rebuild.cost and individiual block rebuild costs generated from this and the GIFA (Gross Internal Floor Area) of the block.

The rebuild.money and repair.money arguments provide the budgets for rebuilding and repairing during each timestep respectively.

Value

A list. Each list entry contains the block-level and element-level objects that store the condition of the blocks and components at each timestep, with the initial conditions stored in the first list entry.

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
## Not run: 
# Run the Blockbuster Deterioration Model over 10 years, with no funds for
# rebuilding or repairing.
Blockbuster(simulated_elements, forecast.horizon = 10)

# Run the Blockbuster Deterioration Model over 10 years, with £1M for
# repairing each year.
Blockbuster(simulated_elements, forecast.horizon = 10, repair.money = 1e6)

## End(Not run)

DFE-Capital/Blockbuster-2 documentation built on May 26, 2019, 7:23 a.m.