updating space per worker assumptions to current (2023) levels
making future assumptions to space per worker levels in forecast years (focused on the period 2025-2035)
It leverages research on space per worker trends nationally and locally to create updated adjuster files. The adjuster files are already used by the model system to apply cross-sectional detail to the regional space per worker constants.
The PR updates the existing function sqft_per_job in variables.py in the following ways:
It departs from the existing version by applying adjusters to just office buildings. The existing version applied adjusters to all buildings.
To allow for flexibility in time specificity in passed adjusters, it checks for the existence of adjusters for a particular simulation year. If present it uses that. If not it looks for the generic, time-invariant adjuster column.
To allow for adjusters to be optionally applied to non-office buildings - more similar to the legacy version - the function now checks for a yaml flag, and potentially adjusts with the time invariant or 2010 values, if multiple are available. This current bandaid fix means we include some cross-sectional adjuster detail, adding more subregional granularity, while not making strong assumptions about the future direction in space per workers for the non-office building stock. A future version could allow for building-type specific adjusters.
Other changes
To test effects on office space development of reduced space per worker assumptions requires vacancy rates to drop below a certain threshold. Insofar as the development pipeline has considerable amounts of space, a runtime filtering option was added to drop pipeline projects based on criteria set in a separate yaml file. This was included in this PR.
This PR is focused on:
It leverages research on space per worker trends nationally and locally to create updated adjuster files. The adjuster files are already used by the model system to apply cross-sectional detail to the regional space per worker constants.
The PR updates the existing function
sqft_per_job
invariables.py
in the following ways:Other changes