# System Dynamics Custom Units

# --- Base Units ---
people = [people]
person = people

# Use true dimensionless aliases (no new base dimension)
dimensionless = 1

items = [items]
item = [items]
cases = [cases]
contacts = [contact]
tasks = [task]
projects = [task]
widgets = [unit]
widget = [unit]
shipment = [shipment]
dose = [dose]
vial = [vial]
order = [order]
event = [event]
unit = [unit]
bottle = [volume]

# --- Time Units ---
second = [time]
minute = 60 * second
hour = 60 * minute
day = 24 * hour
week = 7 * day
month = 30 * day
year = 365.25 * day
Year = year
yr = year
hr = hour

# --- Energy Units ---
joule = [energy]
J = joule
Wh = 3600 * J
kWh = 1000 * Wh
GWh = 1e6 * kWh

# --- Money Units ---
dollar = [currency]
USD = dollar
euro = dollar
EUR = dollar
yen = dollar
JPY = dollar
MnEuro = 1e6 * euro

# --- Mass/Weight Units ---
gram = [mass]
g = gram
kilogram = 1000 * gram
kg = kilogram
tonne = 1000 * kg
ton = tonne

# --- Length Units ---
meter = [length]
meters = meter
m = meter
kilometer = 1000 * meter
km = kilometer
centimeter = meter / 100
cm = centimeter
millimeter = meter / 1000
mm = millimeter


# --- Environmental and Misc Units ---
CO2 = [emission]
CO2e = CO2
kg_CO2e = [kg_CO2e]
tCO2e = 1000 * kg_CO2e
MtCO2e = 1e9 * kg_CO2e
Dmnl = 1

liter = [volume]
L = liter
water_liter = liter
water_m3 = 1000 * water_liter

land_m2 = [area]
land_hectare = land_m2/10000
land_km2 = land_m2/1_000_000

energy_J = joule
energy_kWh = energy_J/3.6e6

# --- Derived Units (Flows) ---
people_per_day = people/day
cases_per_day = cases/day
patients_per_day = people/day
contacts_per_day = contacts/day
widgets_per_day = widgets/day
orders_per_day = order/day
tasks_per_day = tasks/day
doses_per_day = dose/day
shipments_per_month = shipment/month
