Population Cohorts
PopulationCohorts uses an explicit final cohort axis. Ages are physical
quantities and population counts are dimensionless. Consumption is always
selected from canonical age-indexed rates and interpolated by physical cohort
age. Initial ages refer to the request's output_start_date; the same cohorts
continue to age across all deposition events in that request.
import astropy.units as u
import numpy as np
from ecosys.domain.populations import PopulationCohorts
cohorts = PopulationCohorts(
initial_age=np.array([5, 30]) * u.year,
population=np.array([100, 250]) * u.dimensionless_unscaled,
)
Activity defaults to the canonical environment distribution from
time_activity. A user may override it with an explicit dimensionless fraction
array that names exact canonical environment IDs and sums to one over its final
environment axis:
cohorts = PopulationCohorts(
initial_age=np.array([5, 30]) * u.year,
population=np.array([100, 250]) * u.dimensionless_unscaled,
activity_fractions=np.array(
[[0.32, 0.15, 0.53], [0.32, 0.15, 0.53]]
) * u.dimensionless_unscaled,
environment_ids=("single_family_house", "outdoors_rural", "large_apartment_house"),
)