diff --git a/client/src/components/AreaDetail/AreaDetail.tsx b/client/src/components/AreaDetail/AreaDetail.tsx index 3d4304d6..c7eb2058 100644 --- a/client/src/components/AreaDetail/AreaDetail.tsx +++ b/client/src/components/AreaDetail/AreaDetail.tsx @@ -443,8 +443,8 @@ const AreaDetail = ({properties}: IAreaDetailProps) => { label: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATORS.LEAD_PAINT), description: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATOR_DESCRIPTION.LEAD_PAINT), type: 'percentile', - value: properties.hasOwnProperty(constants.LEAD_PAINT_PERCENTILE) ? - properties[constants.LEAD_PAINT_PERCENTILE] : null, + value: properties.hasOwnProperty(constants.LEAD_PAINT_HOUSE_VALUE_FIELD_PCTILE) ? + properties[constants.LEAD_PAINT_HOUSE_VALUE_FIELD_PCTILE] : null, isDisadvagtaged: properties[constants.IS_EXCEEDS_THRESH_FOR_LEAD_PAINT_AND_MEDIAN_HOME_VAL] ? properties[constants.IS_EXCEEDS_THRESH_FOR_LEAD_PAINT_AND_MEDIAN_HOME_VAL] : null, }; diff --git a/client/src/data/constants.tsx b/client/src/data/constants.tsx index a30194fc..7cd39b76 100644 --- a/client/src/data/constants.tsx +++ b/client/src/data/constants.tsx @@ -151,7 +151,7 @@ export const IS_EXCEEDS_THRESH_IMPERVIOUS = 'IS_ET'; export const KITCHEN_PLUMB_PERCENTILE = 'KP_PFS'; export const IS_EXCEEDS_THRESH_KITCHEN_PLUMB = 'KP_ET'; -export const LEAD_PAINT_PERCENTILE = 'LPF_PFS'; +export const LEAD_PAINT_HOUSE_VALUE_FIELD_PCTILE = 'LPHV_PFS'; export const IS_EXCEEDS_THRESH_FOR_LEAD_PAINT_AND_MEDIAN_HOME_VAL = 'LPP_ET'; diff --git a/data/data-pipeline/data_pipeline/etl/score/constants.py b/data/data-pipeline/data_pipeline/etl/score/constants.py index 4ce2fa14..67226779 100644 --- a/data/data-pipeline/data_pipeline/etl/score/constants.py +++ b/data/data-pipeline/data_pipeline/etl/score/constants.py @@ -252,6 +252,7 @@ TILES_SCORE_COLUMNS = { field_names.FPL_200_SERIES_IMPUTED_AND_ADJUSTED_DONUTS: "AJDLI_ET", field_names.LEAD_PAINT_FIELD + field_names.PERCENTILE_FIELD_SUFFIX: "LPF_PFS", + field_names.LEAD_PAINT_HOUSE_VALUE_FIELD_PCTILE: "LPHV_PFS", field_names.NO_KITCHEN_OR_INDOOR_PLUMBING_FIELD + field_names.PERCENTILE_FIELD_SUFFIX: "KP_PFS", field_names.NPL_FIELD + field_names.PERCENTILE_FIELD_SUFFIX: "NPL_PFS", diff --git a/data/data-pipeline/data_pipeline/score/field_names.py b/data/data-pipeline/data_pipeline/score/field_names.py index aed44c48..180811e3 100644 --- a/data/data-pipeline/data_pipeline/score/field_names.py +++ b/data/data-pipeline/data_pipeline/score/field_names.py @@ -126,6 +126,11 @@ PM25_FIELD = "PM2.5 in the air" OZONE_FIELD = "Ozone" TRAFFIC_FIELD = "Traffic proximity and volume" LEAD_PAINT_FIELD = "Percent pre-1960s housing (lead paint indicator)" +LEAD_PAINT_HOUSE_VALUE_FIELD_PCTILE = ( + LEAD_PAINT_FIELD + ", and" + f" the median house value is less than {MEDIAN_HOUSE_VALUE_PERCENTILE}th " + f"percentile " + PERCENTILE_FIELD_SUFFIX +) WASTEWATER_FIELD = "Wastewater discharge" AGGREGATION_POLLUTION_FIELD = "Pollution Burden" RMP_FIELD = "Proximity to Risk Management Plan (RMP) facilities" diff --git a/data/data-pipeline/data_pipeline/score/score_narwhal.py b/data/data-pipeline/data_pipeline/score/score_narwhal.py index 07e2ab61..0849d85a 100644 --- a/data/data-pipeline/data_pipeline/score/score_narwhal.py +++ b/data/data-pipeline/data_pipeline/score/score_narwhal.py @@ -409,6 +409,25 @@ class ScoreNarwhal(Score): <= self.MEDIAN_HOUSE_VALUE_THRESHOLD ) + # Create a field only used for output. This field is: + # (a) the percentile of lead paint, but + # (b) it is set to None for all tracts with >90th percentile median house value. + self.df[field_names.LEAD_PAINT_HOUSE_VALUE_FIELD_PCTILE] = np.where( + # If house value <= 90th percentile, + self.df[ + field_names.MEDIAN_HOUSE_VALUE_FIELD + + field_names.PERCENTILE_FIELD_SUFFIX + ] + <= self.MEDIAN_HOUSE_VALUE_THRESHOLD, + # Then show lead paint percentile. + self.df[ + field_names.LEAD_PAINT_FIELD + + field_names.PERCENTILE_FIELD_SUFFIX + ], + # Otherwise, set to nothing. + None, + ) + self.df[field_names.LEAD_PAINT_MEDIAN_HOUSE_VALUE_LOW_INCOME_FIELD] = ( self.df[field_names.LEAD_PAINT_PROXY_PCTILE_THRESHOLD] & self.df[field_names.FPL_200_SERIES_IMPUTED_AND_ADJUSTED]