14
14
15
15
16
16
class HousingValuationRecovery (BaseAnalysis ):
17
- """The analysis predicts building values and value changes over time following a disaster event.
18
- The model is calibrated with respect to demographics, parcel data, and building value trajectories
19
- following Hurricane Ike (2008) in Galveston, Texas. The model predicts building value at the parcel
20
- level for 8 years of observation. The models rely on Census (Decennial or American Community Survey, ACS)
21
- and parcel data immediately prior to the disaster event (year -1) as inputs for prediction.
17
+ """The analysis forecasts building values and their changes over time following a disaster event.
18
+ The model is calibrated using demographic data, parcel records, and building value trends observed after
19
+ Hurricane Ike (2008) in Galveston, Texas. It predicts building values at the parcel level over an eight-year
20
+ observation period.
22
21
23
- The Galveston, TX example makes use of 2010 Decennial Census and Galveston County Appraisal District (GCAD)
24
- tax assessor data and outputs from other analysis (i.e., Building Damage, Housing Unit Allocation,
25
- Population Dislocation) .
22
+ The model relies on Census data (either Decennial Census or the American Community Survey, ACS) and
23
+ parcel records from the year preceding the disaster (year -1) as inputs for prediction.
24
+
25
+ For the Galveston, TX case study, the analysis utilizes data from the 2010 Decennial Census, tax assessment
26
+ records from the Galveston County Appraisal District (GCAD), and outputs from related analyses, including
27
+ Building Damage, Housing Unit Allocation, and Population Dislocation..
26
28
27
29
The CSV outputs of the building values for the 6 years following the disaster event (with year 0 being
28
30
the impact year).
@@ -46,58 +48,64 @@ def __init__(self, incore_client):
46
48
def get_spec (self ):
47
49
return {
48
50
"name" : "housing-valuation-recovery" ,
49
- "description" : "Housing Valuation Recovery Analysis" ,
51
+ "description" : "The model forecasts parcel-level building values and their changes over an eight-year "
52
+ "period following a disaster. It is calibrated using demographic data, parcel records, and "
53
+ "post-disaster building value trends from Hurricane Ike (2008) in Galveston, Texas, relying "
54
+ "on pre-disaster Census or ACS data and parcel records for its predictions." ,
50
55
"input_parameters" : [
51
56
{
52
57
"id" : "base_year" ,
53
58
"required" : False ,
54
- "description" : "Base year is used to calculate improvement age. It needs to be set to the tax "
55
- "assessment year representing pre-disaster building values. For example for GCAD "
56
- "data which represents improvement valuation before Hurricane Ike impacts. "
57
- "Deafult 2008" ,
59
+ "description" : "Base year is used to calculate the improvement age. It should be set to the "
60
+ "tax assessment year that represents pre-disaster building values. For example, "
61
+ "in GCAD data, this corresponds to the improvement valuation before the impacts "
62
+ "of Hurricane Ike. The default value is 2008. " ,
58
63
"type" : int ,
59
64
},
60
65
{
61
66
"id" : "result_name" ,
62
67
"required" : True ,
63
- "description" : "Result CSV dataset name " ,
68
+ "description" : "Base name of the resulting CSV dataset. " ,
64
69
"type" : str ,
65
70
},
66
71
],
67
72
"input_datasets" : [
68
73
{
69
74
"id" : "population_dislocation" ,
70
75
"required" : True ,
71
- "description" : "Population Dislocation aggregated to the block group level" ,
76
+ "description" : "Population dislocation data aggregated at the block group level. " ,
72
77
"type" : ["incore:popDislocation" ],
73
78
},
74
79
{
75
80
"id" : "building_area" ,
76
81
"required" : True ,
77
- "description" : "Building square footage and damage. Damage is the actual building value loss "
78
- "in percentage terms observed through the County Appraisal District (GCAD) data" ,
82
+ "description" : "Building square footage and damage: Damage refers to the actual loss in "
83
+ "building value, expressed as a percentage, as observed in the County Appraisal "
84
+ "District (GCAD) data." ,
79
85
"type" : ["incore:buildingInventoryArea" ],
80
86
},
81
87
{
82
88
"id" : "census_block_groups_data" ,
83
89
"required" : True ,
84
- "description" : "Census ACS data, 2010 5yr data for block groups available at IPUMS NHGIS "
90
+ "description" : "Census ACS 2010 5-year data for block groups, available from IPUMS NHGIS. "
85
91
"website." ,
86
92
"type" : ["incore:censusBlockGroupsData" ],
87
93
},
88
94
{
89
95
"id" : "census_appraisal_data" ,
90
96
"required" : True ,
91
- "description" : "Census data, 2010 Decennial Census District (GCAD) Census data" ,
97
+ "description" : "Census data from the 2010 Decennial Census and Galveston County Appraisal "
98
+ "District (GCAD)." ,
92
99
"type" : ["incore:censusAppraisalData" ],
93
100
},
94
101
],
95
102
"output_datasets" : [
96
103
{
97
104
"id" : "result" ,
98
- "description" : "A csv file with the building values for the 6 years following the disaster"
99
- "event (year -1 denotes pre-impact conditions and 0 being the impact year). "
100
- "Index year values represent building values against a base, pre-impact value." ,
105
+ "description" : "A CSV file containing building values for the six years following the disaster "
106
+ "event. Year -1 represents pre-impact conditions, while year 0 marks the impact "
107
+ "year. Index year values indicate building values relative to the base, pre-impact "
108
+ "value." ,
101
109
"type" : "incore:buildingValues" ,
102
110
}
103
111
],
@@ -204,17 +212,17 @@ def run(self):
204
212
205
213
def get_owneship (self , popd ):
206
214
"""Filter ownership based on the vacancy codes
207
- Assumption:
208
- Where ownershp is "missing", let vacancy codes 0/3/4 be considered owner-occupied,
209
- and 1/2/5/6/7 be considered renter-occupied.
210
- It is uncertain whether vacancy codes 3,4,5,6,7 will become owner- or renter-occupied or primarily
211
- one or the other.
212
- .
213
- Args:
214
- popd (pd.DataFrame): Population dislocation results with ownership information.
215
+ Assumption:
216
+ Where ownershp is "missing", let vacancy codes 0/3/4 be considered owner-occupied,
217
+ and 1/2/5/6/7 be considered renter-occupied.
218
+ It is uncertain whether vacancy codes 3,4,5,6,7 will become owner- or renter-occupied or primarily
219
+ one or the other.
215
220
216
- Returns:
217
- pd.DataFrame: Ownership data.
221
+ Args:
222
+ popd (pd.DataFrame): Population dislocation results with ownership information.
223
+
224
+ Returns:
225
+ pd.DataFrame: Ownership data.
218
226
219
227
"""
220
228
# Create ownership dummy variable from popd.ownership
@@ -232,8 +240,8 @@ def get_owneship(self, popd):
232
240
return own
233
241
234
242
def get_vac_season_housing (self , vac_status ):
235
- """Calculate the percent vacation or seasonal housing of all housing units within a census tract and
236
- add dummy variable for census tract as a seasonal/vacation housing submarket.
243
+ """Calculate the percentage of vacation or seasonal housing units within each census tract and add a dummy
244
+ variable to indicate whether the census tract functions as a seasonal/vacation housing submarket.
237
245
.
238
246
Args:
239
247
vac_status (obj): Seasonal/vacation housing Census ACS data from json reader.
0 commit comments