Outline

advertisement
California PECAS Model
The SD Construction Cost System
Technical Memo
Internal Working Document - Subject to modification
Submitted to University of California, Davis
HBA Specto Incorporated
Calgary, Alberta
April 2010
California PECAS Model
Tech Memo: The SD Construction Cost System
Internal Working Document - Subject to modification
2010.03.31/JEA/ARM
File: SD Scenario Tests.doc
Page 2
Table of Contents
Section
Page
1. Introduction ................................................................................................................................. 3
2. Overview ..................................................................................................................................... 3
3. Storage of Construction Costs and Rent Modifiers in the SD database ..................................... 5
4. Accessing the database from the SD Program ............................................................................ 8
5. ORM System ............................................................................................................................... 9
6. The Parcels_temp table ............................................................................................................. 10
7. Batch loading system ................................................................................................................ 10
8. GIS integration .......................................................................................................................... 11
9. Conclusions ............................................................................................................................... 11
Appendix A: SD Database Documentation .................................................................................. 12
A.1. space_types_i .................................................................................................................... 12
A.2. transition_constants_i........................................................................................................ 14
A.3. luzs .................................................................................................................................... 14
A.4. tazs .................................................................................................................................... 14
A.5. parcels ............................................................................................................................... 14
A.6. development_free_schedules ............................................................................................ 15
A.7. development_fees.............................................................................................................. 15
A.8. parcel_fee_xref.................................................................................................................. 16
A.9. transition_cost_codes ........................................................................................................ 16
A.10. transition_costs................................................................................................................ 16
A.11. parcel_cost_xref .............................................................................................................. 17
A.12. zoning_rules_i ................................................................................................................. 17
A.13 zoning_permissions .......................................................................................................... 18
A.14. parcel_zoning_xref.......................................................................................................... 18
A.15. local_effects .................................................................................................................... 19
A.16. local_effect_parameters .................................................................................................. 19
A.17. local_effect_distances ..................................................................................................... 19
A.18. space_types_group .......................................................................................................... 20
A.19. construction_commodities .............................................................................................. 20
A.20. space_to_commodity ...................................................................................................... 20
A.21. current_year_table ........................................................................................................... 21
California PECAS Model
Tech Memo: The SD Construction Cost System
Internal Working Document - Subject to modification
2010.03.31/JEA/ARM
File: SD Scenario Tests.doc
Page 3
1. Introduction
The Space Development (SD) module of the PECAS software is responsible for
simulating the construction of space by developers over the period of one year. The SD
module runs for each year of the PECAS simulation, interacting with the Activity
Allocation (AA) module. The AA module is responsible for representing the demand for
space1 of each space type in each Land Use Zone (LUZ), and solving for the price for
each space type in each zone.
The theory behind the SD system is described in Chapter 6 of the PECAS Theoretical
Formulation document. That chapter of the Theoretical Formulation document refers to
these costs as TrCostsS and TrCostsL, and up until now they were previously described
as “in new PA-database version of software: this is specified at the parcel level, built-up
from parcel level information on fees, construction costs and zoning conditions penalty.”
This document describes the newly written version of the software that was referred to
as the “PA-database” version.
2. Overview
This section provides a brief overview of how SD works. A full description of the SD
module operation is contained in the PECAS Theoretical Formulation. The SD module
works with a database representing the physical characteristics of land and the built
space upon the land, updating this database when it simulates developer actions.
The developers in the SD system consider the Net Present Value of each development
option. The development options are show in the following table (which is Table 2 in the
PECAS Theoretical Formulation document):
1
AA also has a separate supply function which represents the high vacancy rates that can occur if demand is very
low, but the supply function within AA is for occupied space as a function of physical space; the supply of physical
space is simulated entirely within SD.
California PECAS Model
Tech Memo: The SD Construction Cost System
Internal Working Document - Subject to modification
Event
Name
Event
Designation
new space En
type and
quantity
event_type code in
development_events
table
C or CS
no change
E0
US
add
Ea
A or AS
renovate
Er
R or RS
demolish
Ex
D or DS
derelict
Ed
L or LS
2010.03.31/JEA/ARM
File: SD Scenario Tests.doc
Page 4
Description
demolish any existing space and
develop new space type and new
space quantity as permitted by zoning
rules
make no change, leaving the space
type and space quantity the same
space type is kept the same, but the
space quantity is increased within the
range permitted by zoning rules and
the age is reset to reflect the
proportions of existing and new space
space type is kept the same, but the
age of the space is reset to 0
demolish any existing space and
leave land empty
allow the space to become derelict
Net Present Value is calculated per unit of land within SD. It is the annual rent per unit
space, multiplied by the intensity of development to convert it into a measure per unit of
land. It is then capitalized over a period of time assuming a certain discount rate, so
that it can be compared with construction costs.
The behavioural theory that underlies SD is that developers will want to construct (or
add to, or renovate) buildings when the rent is high enough so that they can make
enough money (either by renting it out as the landlord, or by selling it to a third-party
landlord) to recoup their construction costs.
There are three main elements to the equations that are used within SD:
1. The zonal average rent calculated within AA as AA represents the desire to locate in
particular zones due to the structure of the spatial economy and the travel
interactions that occur between different activities that are located in the region.
California PECAS Model
Tech Memo: The SD Construction Cost System
Internal Working Document - Subject to modification
2010.03.31/JEA/ARM
File: SD Scenario Tests.doc
Page 5
2. The “local effect” modifications to the rent, which represents the differences in
desirability between specific parcels within a Land Use Zone (for instance parcels
near major roads are less desirable for residential use and may be more desirable
for commercial use.)
3. The costs of constructing different types of space on the parcel.
This document describes the work done to have a flexible database and GIS driven
system for representing item 3) above, the costs of construction. Along with the work to
develop the system for item 3) above, substantial work was done to develop a system
for item 2) above.
3. Storage of Construction Costs and Rent Modifiers in the SD database
The new SD stores all of its inputs in a relational database which has been normalized
according to the standard industry rules for database design. This allows the database
structure to remain unchanged over a wide range of possible representations of the
physical and policy environment.
The relationships between the tables have been formalized, and this is enforced by the
database software (PostgreSQL or SQL Server) to ensure the consistency and
referential integrity of the data.
The software database design is shown in Figure 1 and is described in detail in
Appendix A.
California PECAS Model
Tech Memo: The SD Construction Cost System
Internal Working Document - Subject to modification
2010.03.31/JEA/ARM
File: SD Scenario Tests.doc
Page 6
Figure 1: SD Database Structure
The cost representation is contained in three groups of three tables. The first group,
consisting of the parcel_cost_xref table, the transition_cost_codes table and the
transition_costs table, describes how the physical costs of construction vary over time,
across space types, and across space. The parcel_cost_xref table describes the spatial
and temporal arrangement of costs: each parcel can be related to a different
cost_schedule_id in different years of the simulation. The transition_cost_codes table
identifies the cost_schedule_id’s themselves, but also is a place to store the costs of
providing different levels of servicing that may be required, as well as the cost of
preparing the land before construction, whether the parcel is Greenfield or a Brownfield.
(The level of servicing required of developers is stored along with the zoning, as a policy
variable in the separate zoning_permissions table). The transition_costs table is the
place to store the costs of physical changes to the building structure through demolition,
renovation, addition or new construction.
California PECAS Model
Tech Memo: The SD Construction Cost System
Internal Working Document - Subject to modification
2010.03.31/JEA/ARM
File: SD Scenario Tests.doc
Page 7
The second group of three tables, consisting of the parcel_fee_xref table, the
development_fee_schedules table, and the development_fees table, describes how the
governmental fees of construction vary over time, across space types, and across
space. These tables represent political and policy variations across time and space,
which is why they are separated from the previous group (which represent physical
variations across time and space.) The parcel_fee_xref table describes the spatial and
temporal arrangement of fees: each parcel can be related to a different fee_schedule_id
in different years of the simulation. The development_fee_schedules table identifies the
fee_schedule_ids. The development_fees table is the place to store the fees that apply
to different types of construction, and the fees can be represented as a function of the
amount of space that is being built (square feet of buildings) as well as the amount of
land that is being used, and can also be one-time fees (amortized over the cost of the
project) or ongoing fees (converted to a Net Present Value based on the scenario
discount rate).
The third group of tables, consisting of the parcel_zoning_xref table, the zoning_rules_i
table, and the zoning_permissions table are primarily concerned with listing the
possibilities for development that are allowed under the land use regulation. However
within the zoning_permissions table there are three data fields that influence costs. The
penalty_acknowledged_space and penalty_acknowledged_land fields represent costs
associated with building space in areas where certain type of construction is not
technically allowed (or at least not specifically encouraged) but still occurs. These
penalties can represent specific real costs or fees associated with such non-conforming
development, or they can represent the costs of delays or additional bureaucratic red
tape. But they need to be represented in PECAS on the basis of the quantity of space
and the quantity of land in the proposed development project. The third field that
influences costs is the services_requirement field, which tells SD what level of servicing
is required before a space type is permitted on a parcel. The actual costs of servicing
are considered a physical cost, and so appears in the transition_cost_codes table, but
the requirement for servicing is stored here in the zoning_permissions table.
California PECAS Model
Tech Memo: The SD Construction Cost System
Internal Working Document - Subject to modification
2010.03.31/JEA/ARM
File: SD Scenario Tests.doc
Page 8
(In general, the three tables representing PECAS “zoning” are used to represent
General Plan designations on land, since what is called “zoning” in different jurisdiction
is very specific to each jurisdiction and is subject to many frequent changes on petition
from land owners. In the PECAS software these are called “Zoning” but in most PECAS
models, including the California Statewide PECAS Model, they contain what is called
“General Plan” information.)
The storage of the local effect modifications to rent follows a similar design. Although
not part of the cost calculations, the rent modifiers are in many ways similar as they are
a parcel-level influence on the probabilities of development. There are three tables. The
local_effects tables lists the Local Effects that are being used in SD. Typical entries
include “distance to freeway”, “distance to park” and “distance to major transit station.”
The local_effect_distances table describes how far away each parcel is from each local
effect, in each year. For instance, a parcel may be 3000ft from a freeway in one year,
but in some future year, due to new freeway construction, the parcel may be 500 ft from
a freeway. The local_effect_parameters describes how each local effect influences the
rent for each space type. The details of the local effect functions are described in the
PECAS Theoretical Formulation in the rents section of chapter 6.3.
4. Accessing the database from the SD Program
The SD program is written in the Java programming language. The Java programming
language has a system for accessing databases, called Java Database Connectivity or
JDBC. The previous version of the SD software used the JDBC system to read the
parcel data from the database, and used a different system to read many of the inputs
from text files.
The new SD system contains much more data (as an example, with 160 million parcel
records and 8 local effects there are at least 1.2 billion records in the
local_effect_distances table). It is no longer feasible to load all of the inputs into
memory at the beginning of SD execution, because of memory size limitations. It is also
California PECAS Model
Tech Memo: The SD Construction Cost System
Internal Working Document - Subject to modification
2010.03.31/JEA/ARM
File: SD Scenario Tests.doc
Page 9
not practical to load each record from the database into Java when it is required, as
each interaction with the database requires a certain amount of overhead time.
5. ORM System
A system for accessing records in batches was required, and for storing these records
in memory as Java objects once they have been retrieved from the database. Such a
system is called an “Object Relational Mapping” system, or ORM, since it creates
Objects in a Java program based on the tables in a Relational Database.
A comprehensive review of various ORM technologies was carried out. Two
technologies were selected for further analysis, Hibernate and SimpleORM. Hibernate
is a very popular system that provides many sophisticated methods for ensuring
consistency between the database and the Java code. In testing, however, Hibernate
had a very significant negative effect on program execution speed. As well, Hibernate
makes changes to the compiled Java code (called “Byte Code Enhancement”.) This
makes programs that use Hibernate very difficult to debug using the standard Java
debugging tools.
SimpleORM is a simple system for creating Java objects from database tables, yet still
has the built-in methods for going to the database to retrieve an object if it hasn’t
already been retrieved. This functionality allows SD to ask SimpleORM for objects
based on the database, and SimpleORM will create the Java object from the database
data during the first request, and thereafter return the already created object from
SimpleORM’s cache.
SimpleORM is open-source software, and the source code is sufficiently small and self
contained to be understood and modified, if required, by the developers of PECAS.
Thus it was ultimately selected as the ORM method for PECAS SD.
California PECAS Model
Tech Memo: The SD Construction Cost System
Internal Working Document - Subject to modification
2010.03.31/JEA/ARM
File: SD Scenario Tests.doc
Page 10
6. The Parcels_temp table
The SD database (shown in Figure 1 and described in detail in Appendix A) is a flexible
system for representing spatial inputs that change over time. However the SD program
itself only processes one year at a time. In performance testing of SD it was determined
that there is a lot of overhead if SD tries to load only the most recent Transition Cost
Code, Development Fee Schedule, Zoning Rules and the Local Effect Distances for
each parcel. Instead the database itself was programmed to combine the one most
recent year (less than or equal to the current simulation year) entry in the three xref
tables (parcel_cost_xref, parcel_fee_xref and parcel_zoning_xref) with the current
parcel data in the parcels table, in a parcels_temp table. In this way SD can view a
simpler representation of the SD database that shows only the inputs for the current
simulation year.
7. Batch loading system
To obtain a proper balance of speed and memory use, SD processes the parcel
database in batches. The batches correspond to random parcels, for instance a
random subset of 1/250th of the parcels might be loaded in a single batch.
Databases can use multiple processing cores on modern computers, but (in normal
configurations) each database query is assigned to only one processor. To speed up
SD the two slowest queries were assigned to separate processes in Java, so that they
could be processed in parallel by the database software as well as by the SimpleORM
system. These two queries retrieve the parcels for the batch, and the local effect
distances for the batch.
SD now operates in three separate parallel “threads”. One thread retrieves batches of
parcels for processing and puts each batch in a queue. Another thread retrieves
batches of local level effect distances for processing and puts each batch in a queue.
The third thread retrieves the parcels and local effect distances from the queues,
processes them, and writes out the development events that have been simulated.
California PECAS Model
Tech Memo: The SD Construction Cost System
Internal Working Document - Subject to modification
2010.03.31/JEA/ARM
File: SD Scenario Tests.doc
Page 11
8. GIS integration
The costs, fees and zoning inputs visible by a typical user should be polygon layers in a
Geographical Information System (GIS) which specify the full set of costs, fees and
zoning polygons in the base year, and any modifications that occur to these in future
years of the simulation as a result of policy changes or physical changes. The xref
tables as shown in the SD database structure diagram are populated by simple spatial
joins in the GIS. These spatial joins are currently done in the ArcGIS interactive GIS,
but can also be programmed into the run script if the database is spatially enabled, so
that the user only needs to modify the GIS layers themselves without worrying about the
spatial join. (PostgreSQL and SQL Server were selected as supported database
platforms for PECAS partly because they can be spatially enabled.)
9. Conclusions
The SD construction cost system is a flexible system for representing construction costs
in a relational database, with variation over the time period of the policy simulation and
over the spatial model region. The SD software interacts with the SD database using
several computing technologies that simplify the database interaction while maintaining
a fast program execution speed.
The representation of construction costs follows three different types of GIS layers.
There are layers for the physical costs of construction, layers for the fees associated
primarily with jurisdictional boundaries, and layers associated with land use regulations
such as zoning and general plans. A fourth set of layers following a similar database
design represents changes in rents associated with specific grid cell or parcel attributes
(beyond what can be represented in the PECAS AA module at the Land Use Zone
geography).
The GIS input layers are pre-processed into a set of database tables as shown in
Figure 1 before SD runs. This provides a completely defined and consistent set of
inputs to the SD program without reducing the flexibility available to the user in
specifying the construction costs.
California PECAS Model
Tech Memo: The SD Construction Cost System
Internal Working Document - Subject to modification
2010.03.31/JEA/ARM
File: SD Scenario Tests.doc
Page 12
Appendix A: SD Database Documentation
This section describes the database design underlying the SD module of PECAS
software. In particular, it describes the physical model of the database design which
shows the actual tables and relationships as they are physically created in the
database.
The physical model consists of 21 tables. The purpose of each table, the fields that
comprise it, and the relationships it participates in with other tables will be illustrated as
follows:
A.1. space_types_i
This table contains all the possible space types inputted to the system, including the
type 'Vacant'. Space types, such as retail; residential; and agricultural and mining,
exemplify records in the space_type_i table. This table includes the following fields:
 space_type_id: This is the unique identifier of the table (i.e. primary key). It is of
the type integer.
 space_type_name: This field represents the name of the space type as text.
 space_type_code: This field represents the corresponding code assigned to a
space type. This field is of the type text.
 age_rent_discount: This field provides the discount value applied on rents
according to space type age. This field is of the type double precision.
 density_rent_discount: This field provides the discount value applied on rents
according to density. This field is of the type double precision.
 maintenance_cost: This field represents the maintenance cost values for the
existing/current space type. This field is of the type double precision.
 age_maintenance_cost: This field represents the maintenance cost based on the
space type age. This field is of the type double precision.
 add_transition_const: This field contains the utility function constant for the "add"
development event (Ea). This field is of the type double precision.
 new_transition_const: This field contains the utility function constant for the "New
Space Type and Quantity" development event (En). This field is of the type
double precision.
 renovate_transition_const: This field contains the utility function constant for the
"renovate" development event (Er). This field is of the type double precision.
 renovate_derelict_transition_const: This field contains the utility function constant
used for renovating a derelict space type. It is used for the "renovate"
development event (Er) when the existing space type is derelict. This field is of
the type double precision.
 demolish_transition_const: This field contains the utility function constant for the
"demolish" development event (Ex). This field is of the type double precision.
 derelict_transition_const: This field contains the utility function constant for the
"derelict" development event (Ed). This field is of the type double precision.
California PECAS Model
Tech Memo: The SD Construction Cost System
Internal Working Document - Subject to modification












2010.03.31/JEA/ARM
File: SD Scenario Tests.doc
Page 13
no_change_transition_const: This field contains the utility function constant for
the "no change" development event (E0). This field is of the type double
precision.
new_type_dispersion_parameter: This field contains the dispersion parameter
value associated with "new type" development event (En). This field is of the type
double precision.
gy_dispersion_parameter: This field specifies the dispersion parameter value
associated with "Gy" subtree. This field is of the type double precision.
gz_dispersion_parameter: This field specifies the dispersion parameter value
associated with "Gz" subtree. This field is of the type double precision.
gw_dispersion_parameter: This field specifies the dispersion parameter value
associated with "Gw" subtree. This field is of the type double precision.
gk_dispersion_parameter: This field specifies the dispersion parameter value
associated with "Gk" subtree. This field is of the type double precision.
nochange_dispersion_parameter: This field contains the dispersion parameter
value associated with "no change" development event (E0). This field is of the
type double precision.
intensity_dispersion_parameter: This field specifies the intensity dispersion
parameter associated with a space type. This field is of the type double precision.
space_type_group_id: This is a reference to a space types group in
space_types_group table. This field id of the type integer.
cost_adjustment_factor: This field specifies the cost adjustment factor for the
construction costs for an updated space type related to the target for a group of
space types batch n of the full set of parcels. This field is of the type double
precision.
construction_capacity_tuning_parameter: This represents a utility function
dispersion parameter for development event choice between Gk and E0 for a the
pace type. This value is used in the cost adjustment equation for the Capacity
Constraint feature. This field is of the type double precision.
converting_factor_for_space_type_group: This field specifies a factor converting
quantity in units for a space type into quantity in units of space used for target
quantity of construction for a group of space types. This field is of the type double
precision.
Space_types_i is related to:
 itself via the transition_constant_i table (refer to 'transition_constant_i' table
section below)
 parcels table
 space_types_group table
 space_to_commodity table
 zoning_rules_i table via zoning_permissions table
 transition_cost_codes table via transition_costs table
development_fee_schedules table via development_fees table
California PECAS Model
Tech Memo: The SD Construction Cost System
Internal Working Document - Subject to modification
2010.03.31/JEA/ARM
File: SD Scenario Tests.doc
Page 14
A.2. transition_constants_i
This table stores the constant values required when transitioning from one space
type to another. This table includes the following fields:
 from_space_type_id: This field represents a space type before the transition. It
stores
 a reference (id) of a space type in the space_type_i table. This field is of the type
integer.
 to_space_type_id: This field represents a space type after the transition. It
stores a reference (id) of a space type in the space_type_i table. This field is of
the type integer.
 transition_constant: This field stores the utility function constant for transition
from an existing space type (from_space_type_id) to a new space type
(to_space_type_id). This field is of the type double precision.
transition_constant_i is related only to the space_types_i table.
A.3. luzs
The luzs table stores information about the various Land Use Zones (luzs) in the
system. It includes the following fields:

luz_number: This field stores the zone number. It is of the type integer.
luz_name: This field stores the land use zone name (if applicable). This field is on the type text.
A.4. tazs



The tazs table represents the transport zones available in the system. Transport
zones are located within larger land use zones. Tazs table has two fields:
taz_number: This is an integer value that represents the transport zone number.
luz_number: This is a reference to the land use zone in which the transport zone
is located.
tazs table is related to luzs table in a one-to-many relationship; in that, many tazs
can be located in one luz.
A.5. parcels
This table stores information about all the parcels in the study area. It contains the
following fields:
 parcel_id: This field represents the parcel identifier. This field is of the type text.
 pecas_parcel_num: This field represents the unique identifier (primary key) of the
table. This field is of the type integer.
 year_built: This field stores the year when the space type was built. This field is
of the type integer.
California PECAS Model
Tech Memo: The SD Construction Cost System
Internal Working Document - Subject to modification







2010.03.31/JEA/ARM
File: SD Scenario Tests.doc
Page 15
taz: This field stores a reference to the transport zone in which the parcel is
located. This field is of the type integer.
space_type_id: This field stores a reference to the space type existing on the
parcel. This field is of the type integer.
space_quantity: This field represents the amount of space development on a
parcel. This field is of the type double precision.
land_area: This field stores the area of a parcel. This field is of the type double
precision.
available_services_code: This field identifies the level of services available on
the parcel. This field is of the type integer. This field is of the type integer.
is_derelict: This field defines whether a parcel is derelict or not. This field is of the
type boolean (i.e. true or false).
is_brownfield: This field defines whether a parcel is a brown field or not. It is of
the type boolean (i.e. true or false).
parcels table is related to the following tables:
 development_fee_schedules via parcel_fee_xref table.
 transition_cost_codes via parcel_cost_xref table.
 zoing_rules_i via parcel_zoning_xref table.
 local_effects via local_effect_distances table.
A.6. development_free_schedules


This table is responsible for storing fee schedules that are associated with a
development. This table has the following field:
fee_schedule_id: This field is the table identifier (i.e. primary key). It is of the type
integer.
development_fee_schedules table is related to:
 space_types_i table via development_fees table.
 parcels table via the parcel_fee_xref table.
A.7. development_fees
This table is responsible for modeling the many-to-many relationship between
development_fee_schedules and space_types_i. It provides values of the various fees
that are charged on a specific space type on a parcel. This table includes the following
fields:
 fee_schedule_id: This field is a reference to a fee_schedule in the
development_fee_schedules table. This field is of the type integer.
 space_type_id: This field is a reference to a space type in the space_types_i
table. This field is of type integer.
 development_fee_per_unit_space_initial: This field sets the initial development
fees charged per unit of space. This field is of the type double precision.
California PECAS Model
Tech Memo: The SD Construction Cost System
Internal Working Document - Subject to modification



2010.03.31/JEA/ARM
File: SD Scenario Tests.doc
Page 16
development_fee_per_unit_land_initial: This field sets the initial development
fees charged per unit of land. This field is of the type double precision.
development_fee_per_unit_space_ongoing: This field sets the development
fees charged on an ongoing basis per unit of space. This field is of the type
double precision.
development_fee_per_unit_land_ongoing: This field sets the development fees
charged on an ongoing basis per unit of land. This field is of the type double
precision.
A.8. parcel_fee_xref
This table links the parcels with the applicable fees to be charged at a specific year.
This table includes the following fields:
 pecas_parcel_num: This is a reference to a parcel in the parcels table. This field
is of the type integer.
 fee_schedule_id: This field contains a reference to a fee schedule in the
development_fee_schedules table. This field is of the type integer.
 year_effective: This field specifies the year when the fees are applied on a
parcel. This field is of the type integer.
A.9. transition_cost_codes
This table lists the categories used to define the costs associated with construction.
This table also contains those costs that are not associated with any particular space
type, in particular those costs associated with developing and improving services as
required for development on a parcel. This table includes the fields below:
 cost_schedule_id: This field is the unique identifier (primary key) of the table.
This field is of the type integer.
 high_capacity_services_installation_cost: This field specifies the costs
associated with installing high capacity services. This field is of the type double
precision.
 low_capacity_services_installation_cost: This field specifies the costs associated
with installing low capacity services. This field is of the type double precision.
 brownfield_cleanup_cost: This field specifies the costs associated with cleaning
brownfield parcels up. This field is of the type double precision.
 greenfield_preparation_cost: This field specifies the costs associated with
preparing greenfield parcels. This field is of the type double precision.
transition_cost_codes is related to the following tables, namely:
 space_types_i table via transition_costs table.
 parcels table via parcel_cost_xref table.
A.10. transition_costs
This table defines the costs associated with the various development events (e.g.
demolish, renovate and add) for a specific space type on a parcel. This table includes
the fields below:
California PECAS Model
Tech Memo: The SD Construction Cost System
Internal Working Document - Subject to modification
2010.03.31/JEA/ARM
File: SD Scenario Tests.doc
Page 17

cost_schedule_id: This field holds a reference to a cost_schedule in the
transition_cost_codes table. This field is of the type integer.
 space_type_id: This field is a reference to a space type in the space_types_i
table. This field is of the type integer.
 demolition_cost: This field represents the amortized money cost for demolishing
a space type on a parcel. This field is of the type double precision.
 renovation_cost: This field represents the amortized money cost for renovating a
space type on a parcel. This field is of the type double precision.
 renovation_derelict_cost: This field represents the amortized money cost for
renovating a derelict space type on a parcel. This field is of the type double
precision.
 addition_cost: This field represents the amortized money cost for adding to the
existing space type on a parcel. This field is of the type double precision.
 construction_cost: This field represents the amortized money cost for building a
new space type on a parcel. This field is of the type double precision.
A.11. parcel_cost_xref
This table defines the parcels and the applicable cost schedules associated with them in
a specific year. It includes the following fields:
 pecas_parcel_num: This is a reference to a parcel in the parcels table. This field
is of the type integer.
 cost_schedule_id: This field holds a reference to a cost_schedule in the
transition_cost_codes. This field is of the type integer.
 year_effective: This field holds the year when the costs are applicable on a
parcel. This field is of the type integer.
A.12. zoning_rules_i
This table defines the vast array of zoning rules available in the system. The table
includes the following fields:
 zoning_rules_code: This field is the unique identifier of the table (i.e. primary
key). This field is of the type integer.
 zoning_rules_code_name: This field contains the name of the zoning rule. This
field is of the type text.
 no_change_possibilities: This field indicates whether development event 'no
change' is permissible or not in the zone. It indicates whether space type
transition is permissible or not in the zone. This field is of the type boolean (true
or false).
 deriliction_possibilities: This field indicates whether development event 'derelict'
is permissible or not in the zone. This field is of the type boolean (true or false).
 demolition_possibilities: This field indicates whether development event
'demolish' is permissible or not in the zone. This field is of the type boolean (true
or false).
California PECAS Model
Tech Memo: The SD Construction Cost System
Internal Working Document - Subject to modification



2010.03.31/JEA/ARM
File: SD Scenario Tests.doc
Page 18
renovation_possibilities: This field indicates whether development event
'renovate' is permissible or not in the zone. This field is of the type boolean (true
or false).
addition_possibilities: This field indicates whether development event 'add' is
permissible or not in the zone. This field is of the type boolean (true or false).
new_development_possibilities: This field indicates whether development event
'new space type and quantity' is permissible or not in the zone. This field is of the
type boolean (true or false).
zoning_rules_i table is related to:
 space_types_i via zoning_permissions table.
 parcels table via parcel_zoing_xref table.
A.13 zoning_permissions
This table describes how a zoning rule applies to a specific space type. This table
includes the following fields:
 zoning_rules_code: This field holds a reference to a zoning_rule in the
zoning_rules_i table. This field is of the type integer.
 space_type_id: This field holds a reference to a space type in the space_types_i
table. This field is of the type integer.
 min_intensity_permitted: This field defines minimum intensity permitted in a
zoning. This field is of the type double precision.
 max_intensity_permitted: This field defines maximum intensity permitted in a
zoning. This field is of the type double precision.
 acknowledged_use: This is a flag indicating whether the particular use is not the
preferred use, and hence is discouraged. If the boolean flag is true the two
penalties will apply, thus discouraging this use in this zoning.
 penalty_acknowledged_space: This field represents the amount of penalty, in
dollars, to apply to developers per unit of space to be developed if the
"acknowledged use" flag is true. It also can represent an actual out-of-pocket
cost but can also be used to represent bureaucratic delays that discourage
development.
 penalty_acknowledged_land: The amount of penalty, in dollars, to apply to
developers per unit of land to be developed if the "acknowledged use" flag is
true. It also can represent an actual out-of-pocket cost but can also be used to
represent bureaucratic delays that discourage development.
 services_requirement: This field includes the code that represents the level of
services required. This field is of the type integer.
A.14. parcel_zoning_xref
This table links the parcels with the zoning rules to which they apply. In other words, it
links the parcels with the applicable zoning rules in a specific year. This table has the
following fields:
California PECAS Model
Tech Memo: The SD Construction Cost System
Internal Working Document - Subject to modification



2010.03.31/JEA/ARM
File: SD Scenario Tests.doc
Page 19
pecas_parcel_num: This is a reference to a parcel in the parcels table. This field
is of the type integer.
zoning_rules_code: This field holds a reference to a zoning_rule in the
zoning_rules_i table. This field is of the type integer.
year_effective: This field defines the year when zoning rules are applicable on a
parcel. This field is of the type integer.
A.15. local_effects
This table defines all the local effects that might affect a parcel in the system. It has the
following fields:
 local_effect_id: This field is the key identifier of the table (i.e. primary key). This
field is of the type integer.
 local_effect_name: This field contains the name of the local effect. This field is of
the type text.
local_effects table is related to:
 space_types_i via local_effect_parameters table.
 parcels table via local_effect_distances table.
A.16. local_effect_parameters





local_effect_id: This field is a reference to a local effect in the local_effects table.
This field is of type integer.
space_type_id: This field is a reference to a space type in the space_types_i
table. This field is of type integer.
function_type: The function type 1 through 9 to be used use when applying local
level effects. 1: Constant, 2: Exponential, 3: Shifted Exponential, 4: Power, 5:
Shifted Power, 6: Reversed Power, 7: Reversed Shifted Power, 8: Multiplicative,
9: Shifted Multiplicative.
max_dist: A reference value on dimension relevant for a local-level effect
(RefDValueg), see "Rents" section of theory guide.
theta_parameter: A parameter for function calculating values of change-in-rent
adjustment factor (LEFac).
A.17. local_effect_distances
This table links the parcels with the local effects associated with them in a specific year.
This table includes the following fields:
 pecas_parcel_num: This is a reference to a parcel in the parcels table. This field
is of the type integer.
 local_effect_id: This field is a reference to a local effect in the local_effects table.
This field is of the type integer.
 local_effect_distance: This field defines the distance value of the parcel to the
local effect. This field is of the type double precision.
California PECAS Model
Tech Memo: The SD Construction Cost System
Internal Working Document - Subject to modification

2010.03.31/JEA/ARM
File: SD Scenario Tests.doc
Page 20
year_effective: This field holds the year when the local effect is applicable on the
parcel. This field is of the type integer.
A.18. space_types_group
This table groups space types that are common for capacity constraints feature. This
table includes the following fields:
 space_types_group_id: This field is the key identifier of the table (i.e. primary
key). This field is of the type integer.
 space_types_group_name: This field contains the name of the space types
group. This field is of the type text.
 cost_adjustment_damping_factor: This field specifies the cost adjustment
damping factor for modifying the rate of adjustment to the cost adjustment factor
with each additional batch of parcels considered. This field is of the type double
precision.
space_types_group table is related to:
 space_types_i.
 construction_commodities.
A.19. construction_commodities




cc_commodity_id: This field is the key identifier of the table (i.e. primary key).
This field is of the type integer.
cc_commodity_name: This field contains the name of the construction
commodity. This field is of the type text.
space_types_group_id: This is a reference to a space types group in
space_types_group table. This field id of the type integer.
converting_factor: This is a factor converting quantity in units for commodity c
into quantity in units of space used for target quantity of construction for group of
space types k.
A.20. space_to_commodity
This table provides the link between the SD module and AA in PECAS. In essence, it
maps some of commodities in AA to some of the space types in SD. This table includes
the following fields:
 space_type_id: This field stores a reference to a space type in the space_types_i
table. This field is of the type integer.
 aa_commodity: This field stores the commodity name in AA module. This field is
of the type text.
 weight: This field represents the proportion of the space type that matches to the
AA commodity. For instance a mixed-use space type in SD might be 25% retail
space in AA and 75% residential space in AA, in which case the relevant entries
California PECAS Model
Tech Memo: The SD Construction Cost System
Internal Working Document - Subject to modification
2010.03.31/JEA/ARM
File: SD Scenario Tests.doc
Page 21
could be 25 and 75, or .25 and .75, or 1 and 3. This field is of type double
precision.
space_to_commodity table is related to space_types_i table.
A.21. current_year_table
This table keeps track of the current year in a SD run. It contains one field only, namely:
 current_year: This filed contains the current year in the a SD simulation.
current_year_table has no relationships.
Download