Learn R Programming

carbonr (version 0.2.7)

clinical_theatre_emissions: Clinical Emissions

Description

Calculate CO2e from an operating theatre session by summing: (1) wet clinical waste; (2) building use (water/electricity/heat); (3) material purchases + end-of-life (paper, plastics, metal, electrical, construction); (4) anaesthetic agents.

Usage

clinical_theatre_emissions(
  wet_clinical_waste,
  wet_clinical_waste_unit = c("tonnes", "kg"),
  desflurane = 0,
  sevoflurane = 0,
  isoflurane = 0,
  methoxyflurane = 0,
  N2O = 0,
  propofol = 0,
  water_supply = 0,
  water_trt = TRUE,
  water_unit = c("cubic metres", "million litres"),
  electricity_kWh = 0,
  electricity_TD = TRUE,
  electricity_WTT = TRUE,
  heat_kWh = 0,
  heat_TD = TRUE,
  heat_WTT = TRUE,
  paper_use = stats::setNames(numeric(), character()),
  plastic_use = stats::setNames(numeric(), character()),
  metal_use = stats::setNames(numeric(), character()),
  electrical_use = stats::setNames(numeric(), character()),
  construction_use = stats::setNames(numeric(), character()),
  paper_waste = TRUE,
  plastic_waste = TRUE,
  metal_waste = TRUE,
  electrical_waste = TRUE,
  construction_waste = TRUE,
  paper_material_production = "Primary material production",
  metal_material_production = "Primary material production",
  construction_material_production = "Primary material production",
  paper_waste_disposal = c("Closed-loop", "Combustion", "Composting", "Landfill"),
  plastic_waste_disposal = c("Landfill", "Open-loop", "Closed-loop", "Combustion"),
  metal_waste_disposal = c("Closed-loop", "Combustion", "Landfill", "Open-loop"),
  electrical_waste_disposal = c("Landfill", "Open-loop"),
  construction_waste_disposal = c("Closed-loop", "Combustion", "Composting", "Landfill",
    "Open-loop"),
  value_col = c("value", "value_2024"),
  units = "kg",
  strict = TRUE
)

Value

Total CO2e in the units specified by units (kg or tonnes).

Arguments

wet_clinical_waste

Numeric. Amount of (wet) clinical waste.

wet_clinical_waste_unit

Unit for wet_clinical_waste ("tonnes" or "kg").

desflurane

Amount of desflurane used in KG (default: 0).

sevoflurane

Amount of sevoflurane used in KG (default: 0).

isoflurane

Amount of isoflurane used in KG (default: 0).

methoxyflurane

Amount of methoxyflurane used in KG (default: 0).

N2O

Amount of nitrous oxide (N2O) used in KG (default: 0).

propofol

Amount of propofol used in KG (default: 0).

water_supply

numeric, amount of water in the given unit.

water_trt

logical, include treatment emissions (default TRUE).

water_unit

"cubic metres" or "million litres".

electricity_kWh

numeric kWh consumed.

electricity_TD

logical, include T&D losses (default TRUE).

electricity_WTT

logical, include WTT for electricity (default TRUE).

heat_kWh

numeric kWh of heat/steam (onsite; excludes district).

heat_TD

logical, include district heat distribution losses (default TRUE).

heat_WTT

logical, include WTT for heat/steam (default TRUE).

paper_use, plastic_use, metal_use, electrical_use, construction_use

Named numeric vectors (tonnes) for each material family (see Material vectors above).

paper_waste, plastic_waste, metal_waste, electrical_waste, construction_waste

Logical. If TRUE, the same tonnage as the corresponding *_use is routed to waste treatment using the family’s *_waste_disposal choice. Default TRUE.

paper_material_production, metal_material_production, construction_material_production

Column Text choice for material-use factors (typically "Primary material production").

paper_waste_disposal, plastic_waste_disposal, metal_waste_disposal, electrical_waste_disposal, construction_waste_disposal

Disposal route to use for that family (see material_emissions() for allowed values).

value_col

Which uk_gov_data column to use: "value" or "value_2024". Default "value".

units

Output units: "kg" (default) or "tonnes".

strict

Logical. If TRUE, missing factors error inside delegated functions; if FALSE, treat as 0. Default TRUE.

Inputs – Material vectors

For each material family, pass a named numeric vector of tonnages (in tonnes). Names must be canonical keys (case/space/punctuation is normalised internally, but using the canonical forms below is recommended):

  • Paper paper_use: board, mixed, paper

  • Plastics plastic_use: average, average_film, average_rigid, hdpe, ldpe, lldpe, pet, pp, ps, pvc

  • Metal metal_use: use your package’s canonical metal keys (e.g. aluminium_cans, aluminium_foil, mixed_cans, scrap, steel_cans)

  • Electrical electrical_use: fridges, freezers, large_electrical, it, small_electrical, alkaline_batteries, liion_batteries, nimh_batteries

  • Construction construction_use: e.g. aggregates, average, asbestos, asphalt, bricks, concrete, insulation, metals, soils, mineral_oil, plasterboard, tyres, wood

For each family you can also set a single waste toggle (e.g. plastic_waste = TRUE) to send the same tonnage to a single disposal route (e.g. plastic_waste_disposal = "Landfill").

Details

Wet clinical waste factor defaults to 0.879 tCO2e per tonne (NGA 2022). Building emissions are computed via building_emissions() with units = "kg". Materials are computed via material_emissions() with units = "kg". Anaesthetic emissions are computed via anaesthetic_emissions() (tonnes) and converted to kg to sum. The function sums all components in kg and returns in the units requested.

Examples

Run this code
# \donttest{
# Minimal example using vector-first materials
clinical_theatre_emissions(
  wet_clinical_waste = 100, wet_clinical_waste_unit = "kg",

  # Building (kWh)
  electricity_kWh = 250, heat_kWh = 120,

  # Materials: paper/plastic/metal/electrical/construction
  paper_use = c(paper = 20),
  paper_waste = TRUE, paper_waste_disposal = "Closed-loop",

  plastic_use = c(pet = 10),
  plastic_waste = TRUE, plastic_waste_disposal = "Landfill",

  metal_use = c(steel_cans = 0.2),
  metal_waste = TRUE, metal_waste_disposal = "Open-loop",

  electrical_use = c(alkaline_batteries = 0.05),
  electrical_waste = TRUE, electrical_waste_disposal = "Open-loop",

  construction_use = c(concrete = 1),
  construction_waste = FALSE,

  value_col = "value",
  units = "kg"
)
# }

Run the code above in your browser using DataLab