From 0c07cdac5592fa57d93e6c402201bde4deb6a391 Mon Sep 17 00:00:00 2001 From: Emma Nechamkin <97977170+emma-nechamkin@users.noreply.github.com> Date: Tue, 29 Mar 2022 17:11:57 -0400 Subject: [PATCH 1/4] Adding category count to BE signals (#1486) Added category count to downloadable data and backend signals. --- .../data_pipeline/content/config/csv.yml | 3 + .../data_pipeline/content/config/excel.yml | 3 + .../data_pipeline/etl/score/constants.py | 1 + .../tests/sample_data/score_data_initial.csv | 6 +- .../snapshots/downloadable_data_expected.pkl | Bin 13041 -> 13085 bytes .../tests/snapshots/score_data_expected.pkl | Bin 51119 -> 50992 bytes .../snapshots/score_transformed_expected.pkl | Bin 50728 -> 50639 bytes .../tests/snapshots/tile_data_expected.pkl | Bin 3405 -> 3434 bytes .../data_pipeline/score/field_names.py | 1 + .../data_pipeline/score/score_m.py | 1 + data/data-pipeline/poetry.lock | 67 +++++++++--------- 11 files changed, 45 insertions(+), 37 deletions(-) diff --git a/data/data-pipeline/data_pipeline/content/config/csv.yml b/data/data-pipeline/data_pipeline/content/config/csv.yml index 2d9764b0..8c153680 100644 --- a/data/data-pipeline/data_pipeline/content/config/csv.yml +++ b/data/data-pipeline/data_pipeline/content/config/csv.yml @@ -17,6 +17,9 @@ fields: - score_name: Total threshold criteria exceeded label: Total threshold criteria exceeded format: int64 + - score_name: Total categories exceeded + label: Total categories exceeded + format: int64 - score_name: Definition M (communities) label: Identified as disadvantaged format: bool diff --git a/data/data-pipeline/data_pipeline/content/config/excel.yml b/data/data-pipeline/data_pipeline/content/config/excel.yml index e9f77ba1..c672eefe 100644 --- a/data/data-pipeline/data_pipeline/content/config/excel.yml +++ b/data/data-pipeline/data_pipeline/content/config/excel.yml @@ -22,6 +22,9 @@ sheets: - score_name: Total threshold criteria exceeded label: Total threshold criteria exceeded format: int64 + - score_name: Total categories exceeded + label: Total categories exceeded + format: int64 - score_name: Definition M (communities) label: Identified as disadvantaged format: bool diff --git a/data/data-pipeline/data_pipeline/etl/score/constants.py b/data/data-pipeline/data_pipeline/etl/score/constants.py index fec526bb..64858e3e 100644 --- a/data/data-pipeline/data_pipeline/etl/score/constants.py +++ b/data/data-pipeline/data_pipeline/etl/score/constants.py @@ -187,6 +187,7 @@ TILES_SCORE_COLUMNS = { field_names.LOW_MEDIAN_INCOME_LOW_HS_LOW_HIGHER_ED_FIELD: "LMILHSE", field_names.UNEMPLOYMENT_LOW_HS_LOW_HIGHER_ED_FIELD: "ULHSE", field_names.THRESHOLD_COUNT: "TC", + field_names.CATEGORY_COUNT: "CC", field_names.ISLAND_AREAS_UNEMPLOYMENT_LOW_HS_EDUCATION_FIELD: "IAULHSE", field_names.ISLAND_AREAS_POVERTY_LOW_HS_EDUCATION_FIELD: "IAPLHSE", field_names.ISLAND_AREAS_LOW_MEDIAN_INCOME_LOW_HS_EDUCATION_FIELD: "IALMILHSE", diff --git a/data/data-pipeline/data_pipeline/etl/score/tests/sample_data/score_data_initial.csv b/data/data-pipeline/data_pipeline/etl/score/tests/sample_data/score_data_initial.csv index 60272331..fc052a3f 100644 --- a/data/data-pipeline/data_pipeline/etl/score/tests/sample_data/score_data_initial.csv +++ b/data/data-pipeline/data_pipeline/etl/score/tests/sample_data/score_data_initial.csv @@ -1,3 +1,3 @@ -GEOID10_TRACT,Persistent Poverty Census Tract,Housing burden (percent),Total population,Median household income (% of state median household income),Current asthma among adults aged greater than or equal to 18 years,Coronary heart disease among adults aged greater than or equal to 18 years,Cancer (excluding skin cancer) among adults aged greater than or equal to 18 years,Current lack of health insurance among adults aged 18-64 years,Diagnosed diabetes among adults aged greater than or equal to 18 years,Physical health not good for greater than or equal to 14 days among adults aged greater than or equal to 18 years,Percent of individuals < 100% Federal Poverty Line,Percent of individuals < 150% Federal Poverty Line,Percent of individuals below 200% Federal Poverty Line,Area Median Income (State or metropolitan),Median household income in the past 12 months,Energy burden,FEMA Risk Index Expected Annual Loss Score,Urban Heuristic Flag,Air toxics cancer risk,Respiratory hazard index,Diesel particulate matter exposure,PM2.5 in the air,Ozone,Traffic proximity and volume,Proximity to Risk Management Plan (RMP) facilities,Proximity to hazardous waste sites,Proximity to NPL sites,Wastewater discharge,Percent pre-1960s housing (lead paint indicator),Individuals under 5 years old,Individuals over 64 years old,Linguistic isolation (percent),Percent of households in linguistic isolation,Poverty (Less than 200% of federal poverty line),Percent individuals age 25 or over with less than high school degree,Unemployment (percent),Median value ($) of owner-occupied housing units,Percent enrollment in college or graduate school,Percent of population not currently enrolled in college or graduate school,Expected building loss rate (Natural Hazards Risk Index),Expected agricultural loss rate (Natural Hazards Risk Index),Expected population loss rate (Natural Hazards Risk Index),Percent individuals age 25 or over with less than high school degree in 2009,Percentage households below 100% of federal poverty line in 2009,Unemployment (percent) in 2009,Unemployment (percent) in 2010,Percent of individuals less than 100% Federal Poverty Line in 2010,Total population in 2009,Summer days above 90F,Percent low access to healthy food,Percent impenetrable surface areas,Contains agricultural value,Third grade reading proficiency,Median household income as a percent of area median income,Life expectancy (years),Median household income as a percent of territory median income in 2009,Housing burden (percent) (percentile),Housing burden (percent) (value urban only),Housing burden (percent) (percentile urban only),Housing burden (percent) (value rural only),Housing burden (percent) (percentile rural only),Housing burden (percent) (percentile urban/rural),Housing burden (percent) (min-max normalized),Total population (percentile),Total population (value urban only),Total population (percentile urban only),Total population (value rural only),Total population (percentile rural only),Total population (percentile urban/rural),Total population (min-max normalized),Median household income (% of state median household income) (percentile),Median household income (% of state median household income) (value urban only),Median household income (% of state median household income) (percentile urban only),Median household income (% of state median household income) (value rural only),Median household income (% of state median household income) (percentile rural only),Median household income (% of state median household income) (percentile urban/rural),Median household income (% of state median household income) (min-max normalized),Current asthma among adults aged greater than or equal to 18 years (percentile),Current asthma among adults aged greater than or equal to 18 years (value urban only),Current asthma among adults aged greater than or equal to 18 years (percentile urban only),Current asthma among adults aged greater than or equal to 18 years (value rural only),Current asthma among adults aged greater than or equal to 18 years (percentile rural only),Current asthma among adults aged greater than or equal to 18 years (percentile urban/rural),Current asthma among adults aged greater than or equal to 18 years (min-max normalized),Coronary heart disease among adults aged greater than or equal to 18 years (percentile),Coronary heart disease among adults aged greater than or equal to 18 years (value urban only),Coronary heart disease among adults aged greater than or equal to 18 years (percentile urban only),Coronary heart disease among adults aged greater than or equal to 18 years (value rural only),Coronary heart disease among adults aged greater than or equal to 18 years (percentile rural only),Coronary heart disease among adults aged greater than or equal to 18 years (percentile urban/rural),Coronary heart disease among adults aged greater than or equal to 18 years (min-max normalized),Cancer (excluding skin cancer) among adults aged greater than or equal to 18 years (percentile),Cancer (excluding skin cancer) among adults aged greater than or equal to 18 years (value urban only),Cancer (excluding skin cancer) among adults aged greater than or equal to 18 years (percentile urban only),Cancer (excluding skin cancer) among adults aged greater than or equal to 18 years (value rural only),Cancer (excluding skin cancer) among adults aged greater than or equal to 18 years (percentile rural only),Cancer (excluding skin cancer) among adults aged greater than or equal to 18 years (percentile urban/rural),Cancer (excluding skin cancer) among adults aged greater than or equal to 18 years (min-max normalized),Current lack of health insurance among adults aged 18-64 years (percentile),Current lack of health insurance among adults aged 18-64 years (value urban only),Current lack of health insurance among adults aged 18-64 years (percentile urban only),Current lack of health insurance among adults aged 18-64 years (value rural only),Current lack of health insurance among adults aged 18-64 years (percentile rural only),Current lack of health insurance among adults aged 18-64 years (percentile urban/rural),Current lack of health insurance among adults aged 18-64 years (min-max normalized),Diagnosed diabetes among adults aged greater than or equal to 18 years (percentile),Diagnosed diabetes among adults aged greater than or equal to 18 years (value urban only),Diagnosed diabetes among adults aged greater than or equal to 18 years (percentile urban only),Diagnosed diabetes among adults aged greater than or equal to 18 years (value rural only),Diagnosed diabetes among adults aged greater than or equal to 18 years (percentile rural only),Diagnosed diabetes among adults aged greater than or equal to 18 years (percentile urban/rural),Diagnosed diabetes among adults aged greater than or equal to 18 years (min-max normalized),Physical health not good for greater than or equal to 14 days among adults aged greater than or equal to 18 years (percentile),Physical health not good for greater than or equal to 14 days among adults aged greater than or equal to 18 years (value urban only),Physical health not good for greater than or equal to 14 days among adults aged greater than or equal to 18 years (percentile urban only),Physical health not good for greater than or equal to 14 days among adults aged greater than or equal to 18 years (value rural only),Physical health not good for greater than or equal to 14 days among adults aged greater than or equal to 18 years (percentile rural only),Physical health not good for greater than or equal to 14 days among adults aged greater than or equal to 18 years (percentile urban/rural),Physical health not good for greater than or equal to 14 days among adults aged greater than or equal to 18 years (min-max normalized),Percent of individuals < 100% Federal Poverty Line (percentile),Percent of individuals < 100% Federal Poverty Line (value urban only),Percent of individuals < 100% Federal Poverty Line (percentile urban only),Percent of individuals < 100% Federal Poverty Line (value rural only),Percent of individuals < 100% Federal Poverty Line (percentile rural only),Percent of individuals < 100% Federal Poverty Line (percentile urban/rural),Percent of individuals < 100% Federal Poverty Line (min-max normalized),Percent of individuals < 150% Federal Poverty Line (percentile),Percent of individuals < 150% Federal Poverty Line (value urban only),Percent of individuals < 150% Federal Poverty Line (percentile urban only),Percent of individuals < 150% Federal Poverty Line (value rural only),Percent of individuals < 150% Federal Poverty Line (percentile rural only),Percent of individuals < 150% Federal Poverty Line (percentile urban/rural),Percent of individuals < 150% Federal Poverty Line (min-max normalized),Percent of individuals below 200% Federal Poverty Line (percentile),Percent of individuals below 200% Federal Poverty Line (value urban only),Percent of individuals below 200% Federal Poverty Line (percentile urban only),Percent of individuals below 200% Federal Poverty Line (value rural only),Percent of individuals below 200% Federal Poverty Line (percentile rural only),Percent of individuals below 200% Federal Poverty Line (percentile urban/rural),Percent of individuals below 200% Federal Poverty Line (min-max normalized),Area Median Income (State or metropolitan) (percentile),Area Median Income (State or metropolitan) (value urban only),Area Median Income (State or metropolitan) (percentile urban only),Area Median Income (State or metropolitan) (value rural only),Area Median Income (State or metropolitan) (percentile rural only),Area Median Income (State or metropolitan) (percentile urban/rural),Area Median Income (State or metropolitan) (min-max normalized),Median household income in the past 12 months (percentile),Median household income in the past 12 months (value urban only),Median household income in the past 12 months (percentile urban only),Median household income in the past 12 months (value rural only),Median household income in the past 12 months (percentile rural only),Median household income in the past 12 months (percentile urban/rural),Median household income in the past 12 months (min-max normalized),Energy burden (percentile),Energy burden (value urban only),Energy burden (percentile urban only),Energy burden (value rural only),Energy burden (percentile rural only),Energy burden (percentile urban/rural),Energy burden (min-max normalized),FEMA Risk Index Expected Annual Loss Score (percentile),FEMA Risk Index Expected Annual Loss Score (value urban only),FEMA Risk Index Expected Annual Loss Score (percentile urban only),FEMA Risk Index Expected Annual Loss Score (value rural only),FEMA Risk Index Expected Annual Loss Score (percentile rural only),FEMA Risk Index Expected Annual Loss Score (percentile urban/rural),FEMA Risk Index Expected Annual Loss Score (min-max normalized),Urban Heuristic Flag (percentile),Urban Heuristic Flag (value urban only),Urban Heuristic Flag (percentile urban only),Urban Heuristic Flag (value rural only),Urban Heuristic Flag (percentile rural only),Urban Heuristic Flag (percentile urban/rural),Urban Heuristic Flag (min-max normalized),Air toxics cancer risk (percentile),Air toxics cancer risk (value urban only),Air toxics cancer risk (percentile urban only),Air toxics cancer risk (value rural only),Air toxics cancer risk (percentile rural only),Air toxics cancer risk (percentile urban/rural),Air toxics cancer risk (min-max normalized),Respiratory hazard index (percentile),Respiratory hazard index (value urban only),Respiratory hazard index (percentile urban only),Respiratory hazard index (value rural only),Respiratory hazard index (percentile rural only),Respiratory hazard index (percentile urban/rural),Respiratory hazard index (min-max normalized),Diesel particulate matter exposure (percentile),Diesel particulate matter exposure (value urban only),Diesel particulate matter exposure (percentile urban only),Diesel particulate matter exposure (value rural only),Diesel particulate matter exposure (percentile rural only),Diesel particulate matter exposure (percentile urban/rural),Diesel particulate matter exposure (min-max normalized),PM2.5 in the air (percentile),PM2.5 in the air (value urban only),PM2.5 in the air (percentile urban only),PM2.5 in the air (value rural only),PM2.5 in the air (percentile rural only),PM2.5 in the air (percentile urban/rural),PM2.5 in the air (min-max normalized),Ozone (percentile),Ozone (value urban only),Ozone (percentile urban only),Ozone (value rural only),Ozone (percentile rural only),Ozone (percentile urban/rural),Ozone (min-max normalized),Traffic proximity and volume (percentile),Traffic proximity and volume (value urban only),Traffic proximity and volume (percentile urban only),Traffic proximity and volume (value rural only),Traffic proximity and volume (percentile rural only),Traffic proximity and volume (percentile urban/rural),Traffic proximity and volume (min-max normalized),Proximity to Risk Management Plan (RMP) facilities (percentile),Proximity to Risk Management Plan (RMP) facilities (value urban only),Proximity to Risk Management Plan (RMP) facilities (percentile urban only),Proximity to Risk Management Plan (RMP) facilities (value rural only),Proximity to Risk Management Plan (RMP) facilities (percentile rural only),Proximity to Risk Management Plan (RMP) facilities (percentile urban/rural),Proximity to Risk Management Plan (RMP) facilities (min-max normalized),Proximity to hazardous waste sites (percentile),Proximity to hazardous waste sites (value urban only),Proximity to hazardous waste sites (percentile urban only),Proximity to hazardous waste sites (value rural only),Proximity to hazardous waste sites (percentile rural only),Proximity to hazardous waste sites (percentile urban/rural),Proximity to hazardous waste sites (min-max normalized),Proximity to NPL sites (percentile),Proximity to NPL sites (value urban only),Proximity to NPL sites (percentile urban only),Proximity to NPL sites (value rural only),Proximity to NPL sites (percentile rural only),Proximity to NPL sites (percentile urban/rural),Proximity to NPL sites (min-max normalized),Wastewater discharge (percentile),Wastewater discharge (value urban only),Wastewater discharge (percentile urban only),Wastewater discharge (value rural only),Wastewater discharge (percentile rural only),Wastewater discharge (percentile urban/rural),Wastewater discharge (min-max normalized),Percent pre-1960s housing (lead paint indicator) (percentile),Percent pre-1960s housing (lead paint indicator) (value urban only),Percent pre-1960s housing (lead paint indicator) (percentile urban only),Percent pre-1960s housing (lead paint indicator) (value rural only),Percent pre-1960s housing (lead paint indicator) (percentile rural only),Percent pre-1960s housing (lead paint indicator) (percentile urban/rural),Percent pre-1960s housing (lead paint indicator) (min-max normalized),Individuals under 5 years old (percentile),Individuals under 5 years old (value urban only),Individuals under 5 years old (percentile urban only),Individuals under 5 years old (value rural only),Individuals under 5 years old (percentile rural only),Individuals under 5 years old (percentile urban/rural),Individuals under 5 years old (min-max normalized),Individuals over 64 years old (percentile),Individuals over 64 years old (value urban only),Individuals over 64 years old (percentile urban only),Individuals over 64 years old (value rural only),Individuals over 64 years old (percentile rural only),Individuals over 64 years old (percentile urban/rural),Individuals over 64 years old (min-max normalized),Linguistic isolation (percent) (percentile),Linguistic isolation (percent) (value urban only),Linguistic isolation (percent) (percentile urban only),Linguistic isolation (percent) (value rural only),Linguistic isolation (percent) (percentile rural only),Linguistic isolation (percent) (percentile urban/rural),Linguistic isolation (percent) (min-max normalized),Percent of households in linguistic isolation (percentile),Percent of households in linguistic isolation (value urban only),Percent of households in linguistic isolation (percentile urban only),Percent of households in linguistic isolation (value rural only),Percent of households in linguistic isolation (percentile rural only),Percent of households in linguistic isolation (percentile urban/rural),Percent of households in linguistic isolation (min-max normalized),Poverty (Less than 200% of federal poverty line) (percentile),Poverty (Less than 200% of federal poverty line) (value urban only),Poverty (Less than 200% of federal poverty line) (percentile urban only),Poverty (Less than 200% of federal poverty line) (value rural only),Poverty (Less than 200% of federal poverty line) (percentile rural only),Poverty (Less than 200% of federal poverty line) (percentile urban/rural),Poverty (Less than 200% of federal poverty line) (min-max normalized),Percent individuals age 25 or over with less than high school degree (percentile),Percent individuals age 25 or over with less than high school degree (value urban only),Percent individuals age 25 or over with less than high school degree (percentile urban only),Percent individuals age 25 or over with less than high school degree (value rural only),Percent individuals age 25 or over with less than high school degree (percentile rural only),Percent individuals age 25 or over with less than high school degree (percentile urban/rural),Percent individuals age 25 or over with less than high school degree (min-max normalized),Unemployment (percent) (percentile),Unemployment (percent) (value urban only),Unemployment (percent) (percentile urban only),Unemployment (percent) (value rural only),Unemployment (percent) (percentile rural only),Unemployment (percent) (percentile urban/rural),Unemployment (percent) (min-max normalized),Median value ($) of owner-occupied housing units (percentile),Median value ($) of owner-occupied housing units (value urban only),Median value ($) of owner-occupied housing units (percentile urban only),Median value ($) of owner-occupied housing units (value rural only),Median value ($) of owner-occupied housing units (percentile rural only),Median value ($) of owner-occupied housing units (percentile urban/rural),Median value ($) of owner-occupied housing units (min-max normalized),Percent enrollment in college or graduate school (percentile),Percent enrollment in college or graduate school (value urban only),Percent enrollment in college or graduate school (percentile urban only),Percent enrollment in college or graduate school (value rural only),Percent enrollment in college or graduate school (percentile rural only),Percent enrollment in college or graduate school (percentile urban/rural),Percent enrollment in college or graduate school (min-max normalized),Percent of population not currently enrolled in college or graduate school (percentile),Percent of population not currently enrolled in college or graduate school (value urban only),Percent of population not currently enrolled in college or graduate school (percentile urban only),Percent of population not currently enrolled in college or graduate school (value rural only),Percent of population not currently enrolled in college or graduate school (percentile rural only),Percent of population not currently enrolled in college or graduate school (percentile urban/rural),Percent of population not currently enrolled in college or graduate school (min-max normalized),Expected building loss rate (Natural Hazards Risk Index) (percentile),Expected building loss rate (Natural Hazards Risk Index) (value urban only),Expected building loss rate (Natural Hazards Risk Index) (percentile urban only),Expected building loss rate (Natural Hazards Risk Index) (value rural only),Expected building loss rate (Natural Hazards Risk Index) (percentile rural only),Expected building loss rate (Natural Hazards Risk Index) (percentile urban/rural),Expected building loss rate (Natural Hazards Risk Index) (min-max normalized),Expected agricultural loss rate (Natural Hazards Risk Index) (percentile),Expected agricultural loss rate (Natural Hazards Risk Index) (value urban only),Expected agricultural loss rate (Natural Hazards Risk Index) (percentile urban only),Expected agricultural loss rate (Natural Hazards Risk Index) (value rural only),Expected agricultural loss rate (Natural Hazards Risk Index) (percentile rural only),Expected agricultural loss rate (Natural Hazards Risk Index) (percentile urban/rural),Expected agricultural loss rate (Natural Hazards Risk Index) (min-max normalized),Expected population loss rate (Natural Hazards Risk Index) (percentile),Expected population loss rate (Natural Hazards Risk Index) (value urban only),Expected population loss rate (Natural Hazards Risk Index) (percentile urban only),Expected population loss rate (Natural Hazards Risk Index) (value rural only),Expected population loss rate (Natural Hazards Risk Index) (percentile rural only),Expected population loss rate (Natural Hazards Risk Index) (percentile urban/rural),Expected population loss rate (Natural Hazards Risk Index) (min-max normalized),Percent individuals age 25 or over with less than high school degree in 2009 (percentile),Percent individuals age 25 or over with less than high school degree in 2009 (value urban only),Percent individuals age 25 or over with less than high school degree in 2009 (percentile urban only),Percent individuals age 25 or over with less than high school degree in 2009 (value rural only),Percent individuals age 25 or over with less than high school degree in 2009 (percentile rural only),Percent individuals age 25 or over with less than high school degree in 2009 (percentile urban/rural),Percent individuals age 25 or over with less than high school degree in 2009 (min-max normalized),Percentage households below 100% of federal poverty line in 2009 (percentile),Percentage households below 100% of federal poverty line in 2009 (value urban only),Percentage households below 100% of federal poverty line in 2009 (percentile urban only),Percentage households below 100% of federal poverty line in 2009 (value rural only),Percentage households below 100% of federal poverty line in 2009 (percentile rural only),Percentage households below 100% of federal poverty line in 2009 (percentile urban/rural),Percentage households below 100% of federal poverty line in 2009 (min-max normalized),Unemployment (percent) in 2009 (percentile),Unemployment (percent) in 2009 (value urban only),Unemployment (percent) in 2009 (percentile urban only),Unemployment (percent) in 2009 (value rural only),Unemployment (percent) in 2009 (percentile rural only),Unemployment (percent) in 2009 (percentile urban/rural),Unemployment (percent) in 2009 (min-max normalized),Unemployment (percent) in 2010 (percentile),Unemployment (percent) in 2010 (value urban only),Unemployment (percent) in 2010 (percentile urban only),Unemployment (percent) in 2010 (value rural only),Unemployment (percent) in 2010 (percentile rural only),Unemployment (percent) in 2010 (percentile urban/rural),Unemployment (percent) in 2010 (min-max normalized),Percent of individuals less than 100% Federal Poverty Line in 2010 (percentile),Percent of individuals less than 100% Federal Poverty Line in 2010 (value urban only),Percent of individuals less than 100% Federal Poverty Line in 2010 (percentile urban only),Percent of individuals less than 100% Federal Poverty Line in 2010 (value rural only),Percent of individuals less than 100% Federal Poverty Line in 2010 (percentile rural only),Percent of individuals less than 100% Federal Poverty Line in 2010 (percentile urban/rural),Percent of individuals less than 100% Federal Poverty Line in 2010 (min-max normalized),Total population in 2009 (percentile),Total population in 2009 (value urban only),Total population in 2009 (percentile urban only),Total population in 2009 (value rural only),Total population in 2009 (percentile rural only),Total population in 2009 (percentile urban/rural),Total population in 2009 (min-max normalized),Summer days above 90F (percentile),Summer days above 90F (value urban only),Summer days above 90F (percentile urban only),Summer days above 90F (value rural only),Summer days above 90F (percentile rural only),Summer days above 90F (percentile urban/rural),Summer days above 90F (min-max normalized),Percent low access to healthy food (percentile),Percent low access to healthy food (value urban only),Percent low access to healthy food (percentile urban only),Percent low access to healthy food (value rural only),Percent low access to healthy food (percentile rural only),Percent low access to healthy food (percentile urban/rural),Percent low access to healthy food (min-max normalized),Percent impenetrable surface areas (percentile),Percent impenetrable surface areas (value urban only),Percent impenetrable surface areas (percentile urban only),Percent impenetrable surface areas (value rural only),Percent impenetrable surface areas (percentile rural only),Percent impenetrable surface areas (percentile urban/rural),Percent impenetrable surface areas (min-max normalized),Contains agricultural value (percentile),Contains agricultural value (value urban only),Contains agricultural value (percentile urban only),Contains agricultural value (value rural only),Contains agricultural value (percentile rural only),Contains agricultural value (percentile urban/rural),Contains agricultural value (min-max normalized),Low third grade reading proficiency (percentile),Third grade reading proficiency (value urban only),Low third grade reading proficiency (percentile urban only),Third grade reading proficiency (value rural only),Low third grade reading proficiency (percentile rural only),Low third grade reading proficiency (percentile urban/rural),Low median household income as a percent of area median income (percentile),Median household income as a percent of area median income (value urban only),Low median household income as a percent of area median income (percentile urban only),Median household income as a percent of area median income (value rural only),Low median household income as a percent of area median income (percentile rural only),Low median household income as a percent of area median income (percentile urban/rural),Low life expectancy (percentile),Life expectancy (years) (value urban only),Low life expectancy (percentile urban only),Life expectancy (years) (value rural only),Low life expectancy (percentile rural only),Low life expectancy (percentile urban/rural),Low median household income as a percent of territory median income in 2009 (percentile),Median household income as a percent of territory median income in 2009 (value urban only),Low median household income as a percent of territory median income in 2009 (percentile urban only),Median household income as a percent of territory median income in 2009 (value rural only),Low median household income as a percent of territory median income in 2009 (percentile rural only),Low median household income as a percent of territory median income in 2009 (percentile urban/rural),Total population in 2009 (island areas) and 2019 (states and PR),Score A,Score B,Socioeconomic Factors,Sensitive populations,Environmental effects,Exposures,Pollution Burden,Population Characteristics,Score C,Score D,Score E,"Low AMI, Low HS graduation",Meets socioeconomic criteria,Meets burden criteria,Score F (communities),Score G (communities),Score G,Score G (percentile),Score H (communities),Score H,Score I (communities),Score I,Score I (percentile),NMTC (communities),Score K (communities),Total threshold criteria exceeded,Is low income?,Greater than or equal to the 90th percentile for expected population loss rate and is low income?,Greater than or equal to the 90th percentile for expected agriculture loss rate and is low income?,Greater than or equal to the 90th percentile for expected building loss rate and is low income?,Climate Factor (Definition L),Greater than or equal to the 90th percentile for PM2.5 exposure and is low income?,Greater than or equal to the 90th percentile for energy burden and is low income?,Energy Factor (Definition L),Greater than or equal to the 90th percentile for diesel particulate matter and is low income?,Greater than or equal to the 90th percentile for traffic proximity and is low income?,Transportation Factor (Definition L),Greater than or equal to the 90th percentile for lead paint and the median house value is less than 90th percentile and is low income?,Greater than or equal to the 90th percentile for housing burden and is low income?,Housing Factor (Definition L),Greater than or equal to the 90th percentile for proximity to RMP sites and is low income?,Greater than or equal to the 90th percentile for proximity to superfund sites and is low income?,Greater than or equal to the 90th percentile for proximity to hazardous waste facilities and is low income?,Pollution Factor (Definition L),Greater than or equal to the 90th percentile for wastewater discharge and is low income?,Water Factor (Definition L),Greater than or equal to the 90th percentile for diabetes and is low income?,Greater than or equal to the 90th percentile for asthma and is low income?,Greater than or equal to the 90th percentile for heart disease and is low income?,Greater than or equal to the 90th percentile for low life expectancy and is low income?,Health Factor (Definition L),Low high school education,Greater than or equal to the 90th percentile for households in linguistic isolation and has low HS education?,Greater than or equal to the 90th percentile for households at or below 100% federal poverty level and has low HS education?,Greater than or equal to the 90th percentile for low median household income as a percent of area median income and has low HS education?,Greater than or equal to the 90th percentile for unemployment and has low HS education?,Unemployment (percent) in 2009 (island areas) and 2010 (states and PR),Unemployment (percent) in 2009 exceeds 90th percentile,Percentage households below 100% of federal poverty line in 2009 (island areas) and 2010 (states and PR),Percentage households below 100% of federal poverty line in 2009 exceeds 90th percentile,Low median household income as a percent of territory median income in 2009 exceeds 90th percentile,Low high school education in 2009 (island areas),Greater than or equal to the 90th percentile for unemployment and has low HS education in 2009 (island areas)?,Greater than or equal to the 90th percentile for households at or below 100% federal poverty level and has low HS education in 2009 (island areas)?,Greater than or equal to the 90th percentile for low median household income as a percent of area median income and has low HS education in 2009 (island areas)?,Workforce Factor (Definition L),Definition L (communities),Any Non-Workforce Factor (Definition L),Definition L (percentile),Exceeds FPL200 threshold,Percent higher ed enrollment rate is less than 20%,Is low income and has a low percent of higher ed students?,At least one climate threshold exceeded,"Greater than or equal to the 90th percentile for expected population loss rate, is low income, and has a low percent of higher ed students?","Greater than or equal to the 90th percentile for expected agriculture loss rate, is low income, and has a low percent of higher ed students?","Greater than or equal to the 90th percentile for expected building loss rate, is low income, and has a low percent of higher ed students?",Climate Factor (Definition M),At least one energy threshold exceeded,"Greater than or equal to the 90th percentile for PM2.5 exposure, is low income, and has a low percent of higher ed students?","Greater than or equal to the 90th percentile for energy burden, is low income, and has a low percent of higher ed students?",Energy Factor (Definition M),At least one traffic threshold exceeded,"Greater than or equal to the 90th percentile for diesel particulate matter, is low income, and has a low percent of higher ed students?","Greater than or equal to the 90th percentile for traffic proximity, is low income, and has a low percent of higher ed students?",Transportation Factor (Definition M),At least one housing threshold exceeded,"Greater than or equal to the 90th percentile for lead paint, the median house value is less than 90th percentile, is low income, and has a low percent of higher ed students?","Greater than or equal to the 90th percentile for housing burden, is low income, and has a low percent of higher ed students?",Housing Factor (Definition M),At least one pollution threshold exceeded,"Greater than or equal to the 90th percentile for proximity to RMP sites, is low income, and has a low percent of higher ed students?","Greater than or equal to the 90th percentile for proximity to superfund sites, is low income, and has a low percent of higher ed students?","Greater than or equal to the 90th percentile for proximity to hazardous waste facilities, is low income, and has a low percent of higher ed students?",Pollution Factor (Definition M),At least one water threshold exceeded,"Greater than or equal to the 90th percentile for wastewater discharge, is low income, and has a low percent of higher ed students?",Water Factor (Definition M),At least one health threshold exceeded,"Greater than or equal to the 90th percentile for diabetes, is low income, and has a low percent of higher ed students?","Greater than or equal to the 90th percentile for asthma, is low income, and has a low percent of higher ed students?","Greater than or equal to the 90th percentile for heart disease, is low income, and has a low percent of higher ed students?","Greater than or equal to the 90th percentile for low life expectancy, is low income, and has a low percent of higher ed students?",Health Factor (Definition M),Low high school education and low percent of higher ed students,"Greater than or equal to the 90th percentile for households in linguistic isolation, has low HS attainment, and has a low percent of higher ed students?","Greater than or equal to the 90th percentile for households at or below 100% federal poverty level, has low HS attainment, and has a low percent of higher ed students?","Greater than or equal to the 90th percentile for low median household income as a percent of area median income, has low HS attainment, and has a low percent of higher ed students?","Greater than or equal to the 90th percentile for unemployment, has low HS attainment, and has a low percent of higher ed students?",Unemployment (percent) in 2009 for island areas (percentile),Percentage households below 100% of federal poverty line in 2009 for island areas (percentile),At least one workforce threshold exceeded,Both workforce socioeconomic indicators exceeded,Workforce Factor (Definition M),Definition M (communities),Any Non-Workforce Factor (Definition M),Definition M (percentile),Score A (percentile),Score A (top 25th percentile),Score A (top 30th percentile),Score A (top 35th percentile),Score A (top 40th percentile),Score B (percentile),Score B (top 25th percentile),Score B (top 30th percentile),Score B (top 35th percentile),Score B (top 40th percentile),Score C (percentile),Score C (top 25th percentile),Score C (top 30th percentile),Score C (top 35th percentile),Score C (top 40th percentile),Score D (percentile),Score D (top 25th percentile),Score D (top 30th percentile),Score D (top 35th percentile),Score D (top 40th percentile),Score E (percentile),Score E (top 25th percentile),Score E (top 30th percentile),Score E (top 35th percentile),Score E (top 40th percentile) -01073001100,True,0.2752043596730245,4897.0,0.7327449738800064,11.2,7.2,6.7,16.6,19.3,15.1,0.150375939849624,0.318796992481203,0.3744360902255639,57447.0,37030.0,0.049,18.7674524286,1.0,51.1530304943,0.735568574566,0.63998588,10.3951975342,39.404630719,253.995131498,2.03499777769,0.708723792992,0.134193041308,1.0556674669,0.205868653936,0.0308352052277,0.185011231366,0.0,0.0,0.407205697528,0.0821917808219178,0.0092071611253196,85500.0,0.0890751899397432,0.9109248100602568,0.0004047858,5.6328e-05,2.8039e-06,,,,0.1536983669548511,0.3189099613330878,,62.666668,0.068036923,0.171,1.0,58.143433,0.6445941476491375,70.3,,0.6466760729305078,0.2752043596730245,0.5700318443928049,,,0.5700318443928049,0.2752043596730245,0.6512411994432508,4897.0,0.6248587667340021,,,0.6248587667340021,0.0696873532467162,0.2601978513507951,0.7327449738800064,0.2827993864924948,,,0.2827993864924948,0.1434712737274766,0.8509696039125366,11.2,0.835724928163468,,,0.835724928163468,0.3795180722891565,0.7264920810941454,7.2,0.7844637979353648,,,0.7844637979353648,0.1875,0.4789587420739856,6.7,0.5678012699989358,,,0.5678012699989358,0.303921568627451,0.6191105803406409,16.6,0.6018127638440527,,,0.6018127638440527,0.2094488188976378,0.965388552418323,19.3,0.9599666536592288,,,0.9599666536592288,0.4275862068965517,0.697012994398476,15.1,0.7279967363155841,,,0.7279967363155841,0.3440233236151603,0.62043226838371,0.150375939849624,0.6145691950863328,,,0.6145691950863328,0.150375939849624,0.7319580582099551,0.318796992481203,0.7209861695730607,,,0.7209861695730607,0.318796992481203,0.6304939233619051,0.3744360902255639,0.6277982991151962,,,0.6277982991151962,0.3744360902255639,0.3145069836211475,57447.0,0.2657396925099514,,,0.2657396925099514,0.362059663131873,0.1524419513666973,37030.0,0.1569958812277043,,,0.1569958812277043,0.1395180645004889,0.864954517474865,0.049,0.9005173954895489,,,0.9005173954895489,0.0037065052950075,0.6038301323911519,18.7674524286,0.6383816255626487,,,0.6383816255626487,0.1876745242859999,0.5972204988211937,1.0,0.5000085573944445,,,0.5000085573944445,1.0,0.9847958474680182,51.1530304943,0.9819551446670092,,,0.9819551446670092,0.0300384933188293,0.968365553602812,0.735568574566,0.962352336928608,,,0.962352336928608,0.1696726613313424,0.7632321085543794,0.63998588,0.70386920047937,,,0.70386920047937,0.1053235274194042,0.928945948563286,10.3951975342,0.914819538763832,,,0.914819538763832,0.5130755332417333,0.2507228532296667,39.404630719,0.2360646695853011,,,0.2360646695853011,0.2834163202031902,0.4608804184722397,253.995131498,0.3487028727629068,,,0.3487028727629068,0.0081194347824311,0.9022445642626452,2.03499777769,0.8805423357414318,,,0.8805423357414318,0.1192079731904979,0.4244672369292306,0.708723792992,0.2870715924264731,,,0.2870715924264731,0.0016327034632494,0.753733057661383,0.134193041308,0.7050707022289178,,,0.7050707022289178,0.0172289593763426,0.9223869977156124,1.0556674669,0.9078447963253958,,,0.9078447963253958,9.412822248180045e-06,0.4454669531492817,0.205868653936,0.4334577327353032,,,0.4334577327353032,0.205868653936,0.1202416183565086,0.0308352052277,0.108484267470127,,,0.108484267470127,0.0793595720750642,0.695774381427278,0.185011231366,0.7452494265073442,,,0.7452494265073442,0.185011231366,0.1272208772721677,0.0,0.0997988895955446,,,0.0997988895955446,0.0,0.1284712368751773,0.0,0.0986150580340329,,,0.0986150580340329,0.0,0.668247726382076,0.407205697528,0.6576848015886603,,,0.6576848015886603,0.407205697528,0.4189274017467249,0.0821917808219178,0.4443872826422471,,,0.4443872826422471,0.0821917808219178,0.0297871177547618,0.0092071611253196,0.0285699569046924,,,0.0285699569046924,0.0092071611253196,0.1130659551404986,85500.0,0.1076951366876236,,,0.1076951366876236,0.0379401628742081,0.7459685121012851,0.0890751899397432,0.6989610478672336,,,0.6989610478672336,0.0890751899397432,0.2540451308357663,0.9109248100602568,0.3010560965573995,,,0.3010560965573995,0.9109248100602568,0.7846412062513758,0.0004047858,0.82138883658833,,,0.82138883658833,0.01597287904858,0.2153147384849333,5.6328e-05,0.5639836382618221,,,0.5639836382618221,0.0001189507553306,0.6143028498159407,2.8039e-06,0.6689315237296548,,,0.6689315237296548,0.0013204531501148,,,,,,,,,,,,,,,,,,,,,,0.9349594607528132,0.1536983669548511,0.9315960352498582,,,0.9315960352498582,0.1536983669548511,0.8950599559730369,0.3189099613330878,0.8870754376621368,,,0.8870754376621368,0.3189099613330878,,,,,,,,0.7537922665342821,62.666668,0.7585193484443679,,,0.7585193484443679,0.4423529401799308,0.8019598155467721,0.068036923,0.7905320987865615,,,0.7905320987865615,0.068036923,0.4126953421856217,0.171,0.2701910981682835,,,0.2701910981682835,0.1775700879261655,0.6564635202573585,1.0,0.6917369799243527,,,0.6917369799243527,1.0,0.990724418702258,58.143433,0.9890918535191758,,,0.9890918535191758,0.8218135517196475,0.6445941476491375,0.7952314423324387,,,0.7952314423324387,0.97046998263836,70.3,0.9652438793658,,,0.9652438793658,,,,,,,4897.0,0.5435875640644005,0.2799472837363994,0.3784219111378495,0.3144122923519848,0.6896597619436307,0.7261571216484003,0.7139913350801438,0.3464171017449171,0.2473388089694474,0.1547617998296523,0.3781718392172476,False,True,True,True,True,1,1,True,1,True,1,1,True,True,0,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,0.1536983669548511,False,0.3189099613330878,False,False,False,False,False,False,False,False,False,0,False,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,False,False,False,True,False,False,False,False,True,False,False,True,False,False,False,False,False,False,False,False,False,False,,,False,False,False,False,False,0,0.5532898204078324,False,False,False,False,0.5490856986899564,False,False,False,False,0.5480683083104825,False,False,False,False,0.5438440021080796,False,False,False,False,0.3320495668977446,False,False,False,False -01073001400,True,0.1823529411764705,1906.0,0.7136694633528574,11.1,9.1,7.3,21.4,22.4,17.4,0.2816032887975334,0.3679342240493319,0.4835560123329907,57447.0,36066.0,0.07,17.3011023381,1.0,54.6950518653,0.76056054321,0.9098084377,10.498270137,39.3676601307,3015.87969265,1.81382525188,3.24085850684,0.214095348703,0.365101735929,0.628839590444,0.0582371458552,0.178908709339,0.0245098039215686,0.0165289256198,0.425498426023,0.1742543171114599,0.1150121065375302,67800.0,0.0771549125979505,0.9228450874020494,0.0008951111,5.1282e-06,2.3791e-06,,,,0.0804953560371517,0.2950894905920146,,61.666668,0.087159691,0.34900002,1.0,93.77919,0.6278134628440127,71.0,,0.3421186011150532,0.1823529411764705,0.2730613650055943,,,0.2730613650055943,0.1823529411764705,0.0867961243766976,1906.0,0.0702656897319135,,,0.0702656897319135,0.0271235644860611,0.240302951305517,0.7136694633528574,0.2631705929998104,,,0.2631705929998104,0.1395725756430245,0.8385794307486707,11.1,0.8242488204618823,,,0.8242488204618823,0.3734939759036144,0.9217563763541756,9.1,0.934238532761006,,,0.934238532761006,0.2391304347826086,0.6048579715089994,7.3,0.6840345524850119,,,0.6840345524850119,0.3333333333333333,0.7894025988796952,21.4,0.765821774451027,,,0.765821774451027,0.2850393700787401,0.9878088657624612,22.4,0.9854641881585016,,,0.9854641881585016,0.4988505747126436,0.8447283118655634,17.4,0.8547216999538827,,,0.8547216999538827,0.411078717201166,0.8689250707460116,0.2816032887975334,0.8593419809294734,,,0.8593419809294734,0.2816032887975334,0.8013233263612626,0.3679342240493319,0.7879907224465252,,,0.7879907224465252,0.3679342240493319,0.7892247330790578,0.4835560123329907,0.7755862898376428,,,0.7755862898376428,0.4835560123329907,0.3145069836211475,57447.0,0.2657396925099514,,,0.2657396925099514,0.362059663131873,0.1404413479077805,36066.0,0.1452254984748479,,,0.1452254984748479,0.1356231464796244,0.970802270706518,0.07,0.9745685506050604,,,0.9745685506050604,0.0052950075642965,0.5282998116553705,17.3011023381,0.565061869961834,,,0.565061869961834,0.173011023381,0.5972204988211937,1.0,0.5000085573944445,,,0.5000085573944445,1.0,0.9895233034972276,54.6950518653,0.98758774182503,,,0.98758774182503,0.0324014302096176,0.9765534529502324,0.76056054321,0.9720766991953432,,,0.9720766991953432,0.1759137053158734,0.9016362174902248,0.9098084377,0.8766135935627462,,,0.8766135935627462,0.1497290027189099,0.9329441224077584,10.498270137,0.9196283911889414,,,0.9196283911889414,0.5213510451938572,0.2492010569566841,39.3676601307,0.2346340790789065,,,0.2346340790789065,0.2826912370192468,0.941127799514774,3015.87969265,0.9280004126050854,,,0.9280004126050854,0.0964083008791804,0.8815556546533155,1.81382525188,0.8555140890882322,,,0.8555140890882322,0.1062519253676046,0.7527465845056148,3.24085850684,0.6879172801040846,,,0.6879172801040846,0.0074660410167418,0.8655558708666099,0.214095348703,0.8377272571643783,,,0.8377272571643783,0.027487565893985,0.8882148073250197,0.365101735929,0.8688263024295902,,,0.8688263024295902,3.255416928678718e-06,0.8313806570181485,0.628839590444,0.7904954291779368,,,0.7904954291779368,0.628839590444,0.5164051837137336,0.0582371458552,0.4798079227582429,,,0.4798079227582429,0.1498830619032175,0.6618964608586371,0.178908709339,0.715890026363543,,,0.715890026363543,0.178908709339,0.5796575164471435,0.0245098039215686,0.5161060212798873,,,0.5161060212798873,0.0245098039215686,0.5008648531776597,0.0165289256198,0.424872462081008,,,0.424872462081008,0.0165289256198,0.6964500479723247,0.425498426023,0.6838429143698428,,,0.6838429143698428,0.425498426023,0.751664847161572,0.1742543171114599,0.7508831498439483,,,0.7508831498439483,0.1742543171114599,0.9067171316918536,0.1150121065375302,0.9060831344539256,,,0.9060831344539256,0.1150121065375302,0.0522874454542927,67800.0,0.0556119857795835,,,0.0556119857795835,0.0290456994515583,0.6434691260334525,0.0771549125979505,0.5807502400219449,,,0.5807502400219449,0.0771549125979505,0.356544516903599,0.9228450874020494,0.4192669044026882,,,0.4192669044026882,0.9228450874020494,0.9166162227602904,0.0008951111,0.9302158396521918,,,0.9302158396521918,0.0353246959378835,0.0865380767537716,5.1282e-06,0.4567081415050745,,,0.4567081415050745,1.0829485575316856e-05,0.558933421571466,2.3791e-06,0.6145407246401615,,,0.6145407246401615,0.0011202645354936,,,,,,,,,,,,,,,,,,,,,,0.6917513228236646,0.0804953560371517,0.6841770738494838,,,0.6841770738494838,0.0804953560371517,0.8737301229199994,0.2950894905920146,0.8632982287353754,,,0.8632982287353754,0.2950894905920146,,,,,,,,0.7501654807214959,61.666668,0.7551581487546324,,,0.7551581487546324,0.435294116816609,0.8647617479139218,0.087159691,0.8519741908983552,,,0.8519741908983552,0.087159691,0.6268497920495212,0.34900002,0.5359536815260283,,,0.5359536815260283,0.3624091475885,0.6564635202573585,1.0,0.6917369799243527,,,0.6917369799243527,1.0,0.9537899773356836,93.77919,0.9454938966323262,,,0.9454938966323262,0.8364273002184828,0.6278134628440127,0.81067318651421,,,0.81067318651421,0.959938777375042,71.0,0.9533526317781056,,,0.9533526317781056,,,,,,,1906.0,0.7240574475669483,0.523497018864787,0.6395630962236926,0.5859863870065047,0.8438907148737418,0.8318309921361502,0.8358508997153473,0.6127747416150986,0.5121883191018196,0.1843255189540058,0.6553216288775894,False,True,True,True,True,1,1,True,1,True,1,1,True,True,9,True,False,False,True,True,True,True,True,True,True,True,False,False,False,False,False,False,False,False,False,True,False,True,True,True,True,False,False,False,True,0.0804953560371517,False,0.2950894905920146,False,False,False,False,False,False,True,True,True,1,True,True,True,True,False,False,True,True,True,True,True,True,True,True,True,True,False,False,False,False,False,False,False,False,False,False,False,False,True,True,False,True,True,True,True,False,False,False,True,,,True,True,True,True,True,1,0.7460439723787516,False,True,True,True,0.7500818777292576,True,True,True,True,0.9394564656693726,True,True,True,True,0.6605181011067418,False,False,True,True,0.7347062877528682,False,True,True,True +GEOID10_TRACT,Persistent Poverty Census Tract,Housing burden (percent),Total population,Median household income (% of state median household income),Current asthma among adults aged greater than or equal to 18 years,Coronary heart disease among adults aged greater than or equal to 18 years,Cancer (excluding skin cancer) among adults aged greater than or equal to 18 years,Current lack of health insurance among adults aged 18-64 years,Diagnosed diabetes among adults aged greater than or equal to 18 years,Physical health not good for greater than or equal to 14 days among adults aged greater than or equal to 18 years,Percent of individuals < 100% Federal Poverty Line,Percent of individuals < 150% Federal Poverty Line,Percent of individuals below 200% Federal Poverty Line,Area Median Income (State or metropolitan),Median household income in the past 12 months,Energy burden,FEMA Risk Index Expected Annual Loss Score,Urban Heuristic Flag,Air toxics cancer risk,Respiratory hazard index,Diesel particulate matter exposure,PM2.5 in the air,Ozone,Traffic proximity and volume,Proximity to Risk Management Plan (RMP) facilities,Proximity to hazardous waste sites,Proximity to NPL sites,Wastewater discharge,Percent pre-1960s housing (lead paint indicator),Individuals under 5 years old,Individuals over 64 years old,Linguistic isolation (percent),Percent of households in linguistic isolation,Poverty (Less than 200% of federal poverty line),Percent individuals age 25 or over with less than high school degree,Unemployment (percent),Median value ($) of owner-occupied housing units,Percent enrollment in college or graduate school,Percent of population not currently enrolled in college or graduate school,Expected building loss rate (Natural Hazards Risk Index),Expected agricultural loss rate (Natural Hazards Risk Index),Expected population loss rate (Natural Hazards Risk Index),Percent individuals age 25 or over with less than high school degree in 2009,Percentage households below 100% of federal poverty line in 2009,Unemployment (percent) in 2009,Unemployment (percent) in 2010,Percent of individuals less than 100% Federal Poverty Line in 2010,Total population in 2009,Summer days above 90F,Percent low access to healthy food,Percent impenetrable surface areas,Contains agricultural value,Third grade reading proficiency,Median household income as a percent of area median income,Life expectancy (years),Median household income as a percent of territory median income in 2009,Housing burden (percent) (percentile),Housing burden (percent) (value urban only),Housing burden (percent) (percentile urban only),Housing burden (percent) (value rural only),Housing burden (percent) (percentile rural only),Housing burden (percent) (percentile urban/rural),Housing burden (percent) (min-max normalized),Total population (percentile),Total population (value urban only),Total population (percentile urban only),Total population (value rural only),Total population (percentile rural only),Total population (percentile urban/rural),Total population (min-max normalized),Median household income (% of state median household income) (percentile),Median household income (% of state median household income) (value urban only),Median household income (% of state median household income) (percentile urban only),Median household income (% of state median household income) (value rural only),Median household income (% of state median household income) (percentile rural only),Median household income (% of state median household income) (percentile urban/rural),Median household income (% of state median household income) (min-max normalized),Current asthma among adults aged greater than or equal to 18 years (percentile),Current asthma among adults aged greater than or equal to 18 years (value urban only),Current asthma among adults aged greater than or equal to 18 years (percentile urban only),Current asthma among adults aged greater than or equal to 18 years (value rural only),Current asthma among adults aged greater than or equal to 18 years (percentile rural only),Current asthma among adults aged greater than or equal to 18 years (percentile urban/rural),Current asthma among adults aged greater than or equal to 18 years (min-max normalized),Coronary heart disease among adults aged greater than or equal to 18 years (percentile),Coronary heart disease among adults aged greater than or equal to 18 years (value urban only),Coronary heart disease among adults aged greater than or equal to 18 years (percentile urban only),Coronary heart disease among adults aged greater than or equal to 18 years (value rural only),Coronary heart disease among adults aged greater than or equal to 18 years (percentile rural only),Coronary heart disease among adults aged greater than or equal to 18 years (percentile urban/rural),Coronary heart disease among adults aged greater than or equal to 18 years (min-max normalized),Cancer (excluding skin cancer) among adults aged greater than or equal to 18 years (percentile),Cancer (excluding skin cancer) among adults aged greater than or equal to 18 years (value urban only),Cancer (excluding skin cancer) among adults aged greater than or equal to 18 years (percentile urban only),Cancer (excluding skin cancer) among adults aged greater than or equal to 18 years (value rural only),Cancer (excluding skin cancer) among adults aged greater than or equal to 18 years (percentile rural only),Cancer (excluding skin cancer) among adults aged greater than or equal to 18 years (percentile urban/rural),Cancer (excluding skin cancer) among adults aged greater than or equal to 18 years (min-max normalized),Current lack of health insurance among adults aged 18-64 years (percentile),Current lack of health insurance among adults aged 18-64 years (value urban only),Current lack of health insurance among adults aged 18-64 years (percentile urban only),Current lack of health insurance among adults aged 18-64 years (value rural only),Current lack of health insurance among adults aged 18-64 years (percentile rural only),Current lack of health insurance among adults aged 18-64 years (percentile urban/rural),Current lack of health insurance among adults aged 18-64 years (min-max normalized),Diagnosed diabetes among adults aged greater than or equal to 18 years (percentile),Diagnosed diabetes among adults aged greater than or equal to 18 years (value urban only),Diagnosed diabetes among adults aged greater than or equal to 18 years (percentile urban only),Diagnosed diabetes among adults aged greater than or equal to 18 years (value rural only),Diagnosed diabetes among adults aged greater than or equal to 18 years (percentile rural only),Diagnosed diabetes among adults aged greater than or equal to 18 years (percentile urban/rural),Diagnosed diabetes among adults aged greater than or equal to 18 years (min-max normalized),Physical health not good for greater than or equal to 14 days among adults aged greater than or equal to 18 years (percentile),Physical health not good for greater than or equal to 14 days among adults aged greater than or equal to 18 years (value urban only),Physical health not good for greater than or equal to 14 days among adults aged greater than or equal to 18 years (percentile urban only),Physical health not good for greater than or equal to 14 days among adults aged greater than or equal to 18 years (value rural only),Physical health not good for greater than or equal to 14 days among adults aged greater than or equal to 18 years (percentile rural only),Physical health not good for greater than or equal to 14 days among adults aged greater than or equal to 18 years (percentile urban/rural),Physical health not good for greater than or equal to 14 days among adults aged greater than or equal to 18 years (min-max normalized),Percent of individuals < 100% Federal Poverty Line (percentile),Percent of individuals < 100% Federal Poverty Line (value urban only),Percent of individuals < 100% Federal Poverty Line (percentile urban only),Percent of individuals < 100% Federal Poverty Line (value rural only),Percent of individuals < 100% Federal Poverty Line (percentile rural only),Percent of individuals < 100% Federal Poverty Line (percentile urban/rural),Percent of individuals < 100% Federal Poverty Line (min-max normalized),Percent of individuals < 150% Federal Poverty Line (percentile),Percent of individuals < 150% Federal Poverty Line (value urban only),Percent of individuals < 150% Federal Poverty Line (percentile urban only),Percent of individuals < 150% Federal Poverty Line (value rural only),Percent of individuals < 150% Federal Poverty Line (percentile rural only),Percent of individuals < 150% Federal Poverty Line (percentile urban/rural),Percent of individuals < 150% Federal Poverty Line (min-max normalized),Percent of individuals below 200% Federal Poverty Line (percentile),Percent of individuals below 200% Federal Poverty Line (value urban only),Percent of individuals below 200% Federal Poverty Line (percentile urban only),Percent of individuals below 200% Federal Poverty Line (value rural only),Percent of individuals below 200% Federal Poverty Line (percentile rural only),Percent of individuals below 200% Federal Poverty Line (percentile urban/rural),Percent of individuals below 200% Federal Poverty Line (min-max normalized),Area Median Income (State or metropolitan) (percentile),Area Median Income (State or metropolitan) (value urban only),Area Median Income (State or metropolitan) (percentile urban only),Area Median Income (State or metropolitan) (value rural only),Area Median Income (State or metropolitan) (percentile rural only),Area Median Income (State or metropolitan) (percentile urban/rural),Area Median Income (State or metropolitan) (min-max normalized),Median household income in the past 12 months (percentile),Median household income in the past 12 months (value urban only),Median household income in the past 12 months (percentile urban only),Median household income in the past 12 months (value rural only),Median household income in the past 12 months (percentile rural only),Median household income in the past 12 months (percentile urban/rural),Median household income in the past 12 months (min-max normalized),Energy burden (percentile),Energy burden (value urban only),Energy burden (percentile urban only),Energy burden (value rural only),Energy burden (percentile rural only),Energy burden (percentile urban/rural),Energy burden (min-max normalized),FEMA Risk Index Expected Annual Loss Score (percentile),FEMA Risk Index Expected Annual Loss Score (value urban only),FEMA Risk Index Expected Annual Loss Score (percentile urban only),FEMA Risk Index Expected Annual Loss Score (value rural only),FEMA Risk Index Expected Annual Loss Score (percentile rural only),FEMA Risk Index Expected Annual Loss Score (percentile urban/rural),FEMA Risk Index Expected Annual Loss Score (min-max normalized),Urban Heuristic Flag (percentile),Urban Heuristic Flag (value urban only),Urban Heuristic Flag (percentile urban only),Urban Heuristic Flag (value rural only),Urban Heuristic Flag (percentile rural only),Urban Heuristic Flag (percentile urban/rural),Urban Heuristic Flag (min-max normalized),Air toxics cancer risk (percentile),Air toxics cancer risk (value urban only),Air toxics cancer risk (percentile urban only),Air toxics cancer risk (value rural only),Air toxics cancer risk (percentile rural only),Air toxics cancer risk (percentile urban/rural),Air toxics cancer risk (min-max normalized),Respiratory hazard index (percentile),Respiratory hazard index (value urban only),Respiratory hazard index (percentile urban only),Respiratory hazard index (value rural only),Respiratory hazard index (percentile rural only),Respiratory hazard index (percentile urban/rural),Respiratory hazard index (min-max normalized),Diesel particulate matter exposure (percentile),Diesel particulate matter exposure (value urban only),Diesel particulate matter exposure (percentile urban only),Diesel particulate matter exposure (value rural only),Diesel particulate matter exposure (percentile rural only),Diesel particulate matter exposure (percentile urban/rural),Diesel particulate matter exposure (min-max normalized),PM2.5 in the air (percentile),PM2.5 in the air (value urban only),PM2.5 in the air (percentile urban only),PM2.5 in the air (value rural only),PM2.5 in the air (percentile rural only),PM2.5 in the air (percentile urban/rural),PM2.5 in the air (min-max normalized),Ozone (percentile),Ozone (value urban only),Ozone (percentile urban only),Ozone (value rural only),Ozone (percentile rural only),Ozone (percentile urban/rural),Ozone (min-max normalized),Traffic proximity and volume (percentile),Traffic proximity and volume (value urban only),Traffic proximity and volume (percentile urban only),Traffic proximity and volume (value rural only),Traffic proximity and volume (percentile rural only),Traffic proximity and volume (percentile urban/rural),Traffic proximity and volume (min-max normalized),Proximity to Risk Management Plan (RMP) facilities (percentile),Proximity to Risk Management Plan (RMP) facilities (value urban only),Proximity to Risk Management Plan (RMP) facilities (percentile urban only),Proximity to Risk Management Plan (RMP) facilities (value rural only),Proximity to Risk Management Plan (RMP) facilities (percentile rural only),Proximity to Risk Management Plan (RMP) facilities (percentile urban/rural),Proximity to Risk Management Plan (RMP) facilities (min-max normalized),Proximity to hazardous waste sites (percentile),Proximity to hazardous waste sites (value urban only),Proximity to hazardous waste sites (percentile urban only),Proximity to hazardous waste sites (value rural only),Proximity to hazardous waste sites (percentile rural only),Proximity to hazardous waste sites (percentile urban/rural),Proximity to hazardous waste sites (min-max normalized),Proximity to NPL sites (percentile),Proximity to NPL sites (value urban only),Proximity to NPL sites (percentile urban only),Proximity to NPL sites (value rural only),Proximity to NPL sites (percentile rural only),Proximity to NPL sites (percentile urban/rural),Proximity to NPL sites (min-max normalized),Wastewater discharge (percentile),Wastewater discharge (value urban only),Wastewater discharge (percentile urban only),Wastewater discharge (value rural only),Wastewater discharge (percentile rural only),Wastewater discharge (percentile urban/rural),Wastewater discharge (min-max normalized),Percent pre-1960s housing (lead paint indicator) (percentile),Percent pre-1960s housing (lead paint indicator) (value urban only),Percent pre-1960s housing (lead paint indicator) (percentile urban only),Percent pre-1960s housing (lead paint indicator) (value rural only),Percent pre-1960s housing (lead paint indicator) (percentile rural only),Percent pre-1960s housing (lead paint indicator) (percentile urban/rural),Percent pre-1960s housing (lead paint indicator) (min-max normalized),Individuals under 5 years old (percentile),Individuals under 5 years old (value urban only),Individuals under 5 years old (percentile urban only),Individuals under 5 years old (value rural only),Individuals under 5 years old (percentile rural only),Individuals under 5 years old (percentile urban/rural),Individuals under 5 years old (min-max normalized),Individuals over 64 years old (percentile),Individuals over 64 years old (value urban only),Individuals over 64 years old (percentile urban only),Individuals over 64 years old (value rural only),Individuals over 64 years old (percentile rural only),Individuals over 64 years old (percentile urban/rural),Individuals over 64 years old (min-max normalized),Linguistic isolation (percent) (percentile),Linguistic isolation (percent) (value urban only),Linguistic isolation (percent) (percentile urban only),Linguistic isolation (percent) (value rural only),Linguistic isolation (percent) (percentile rural only),Linguistic isolation (percent) (percentile urban/rural),Linguistic isolation (percent) (min-max normalized),Percent of households in linguistic isolation (percentile),Percent of households in linguistic isolation (value urban only),Percent of households in linguistic isolation (percentile urban only),Percent of households in linguistic isolation (value rural only),Percent of households in linguistic isolation (percentile rural only),Percent of households in linguistic isolation (percentile urban/rural),Percent of households in linguistic isolation (min-max normalized),Poverty (Less than 200% of federal poverty line) (percentile),Poverty (Less than 200% of federal poverty line) (value urban only),Poverty (Less than 200% of federal poverty line) (percentile urban only),Poverty (Less than 200% of federal poverty line) (value rural only),Poverty (Less than 200% of federal poverty line) (percentile rural only),Poverty (Less than 200% of federal poverty line) (percentile urban/rural),Poverty (Less than 200% of federal poverty line) (min-max normalized),Percent individuals age 25 or over with less than high school degree (percentile),Percent individuals age 25 or over with less than high school degree (value urban only),Percent individuals age 25 or over with less than high school degree (percentile urban only),Percent individuals age 25 or over with less than high school degree (value rural only),Percent individuals age 25 or over with less than high school degree (percentile rural only),Percent individuals age 25 or over with less than high school degree (percentile urban/rural),Percent individuals age 25 or over with less than high school degree (min-max normalized),Unemployment (percent) (percentile),Unemployment (percent) (value urban only),Unemployment (percent) (percentile urban only),Unemployment (percent) (value rural only),Unemployment (percent) (percentile rural only),Unemployment (percent) (percentile urban/rural),Unemployment (percent) (min-max normalized),Median value ($) of owner-occupied housing units (percentile),Median value ($) of owner-occupied housing units (value urban only),Median value ($) of owner-occupied housing units (percentile urban only),Median value ($) of owner-occupied housing units (value rural only),Median value ($) of owner-occupied housing units (percentile rural only),Median value ($) of owner-occupied housing units (percentile urban/rural),Median value ($) of owner-occupied housing units (min-max normalized),Percent enrollment in college or graduate school (percentile),Percent enrollment in college or graduate school (value urban only),Percent enrollment in college or graduate school (percentile urban only),Percent enrollment in college or graduate school (value rural only),Percent enrollment in college or graduate school (percentile rural only),Percent enrollment in college or graduate school (percentile urban/rural),Percent enrollment in college or graduate school (min-max normalized),Percent of population not currently enrolled in college or graduate school (percentile),Percent of population not currently enrolled in college or graduate school (value urban only),Percent of population not currently enrolled in college or graduate school (percentile urban only),Percent of population not currently enrolled in college or graduate school (value rural only),Percent of population not currently enrolled in college or graduate school (percentile rural only),Percent of population not currently enrolled in college or graduate school (percentile urban/rural),Percent of population not currently enrolled in college or graduate school (min-max normalized),Expected building loss rate (Natural Hazards Risk Index) (percentile),Expected building loss rate (Natural Hazards Risk Index) (value urban only),Expected building loss rate (Natural Hazards Risk Index) (percentile urban only),Expected building loss rate (Natural Hazards Risk Index) (value rural only),Expected building loss rate (Natural Hazards Risk Index) (percentile rural only),Expected building loss rate (Natural Hazards Risk Index) (percentile urban/rural),Expected building loss rate (Natural Hazards Risk Index) (min-max normalized),Expected agricultural loss rate (Natural Hazards Risk Index) (percentile),Expected agricultural loss rate (Natural Hazards Risk Index) (value urban only),Expected agricultural loss rate (Natural Hazards Risk Index) (percentile urban only),Expected agricultural loss rate (Natural Hazards Risk Index) (value rural only),Expected agricultural loss rate (Natural Hazards Risk Index) (percentile rural only),Expected agricultural loss rate (Natural Hazards Risk Index) (percentile urban/rural),Expected agricultural loss rate (Natural Hazards Risk Index) (min-max normalized),Expected population loss rate (Natural Hazards Risk Index) (percentile),Expected population loss rate (Natural Hazards Risk Index) (value urban only),Expected population loss rate (Natural Hazards Risk Index) (percentile urban only),Expected population loss rate (Natural Hazards Risk Index) (value rural only),Expected population loss rate (Natural Hazards Risk Index) (percentile rural only),Expected population loss rate (Natural Hazards Risk Index) (percentile urban/rural),Expected population loss rate (Natural Hazards Risk Index) (min-max normalized),Percent individuals age 25 or over with less than high school degree in 2009 (percentile),Percent individuals age 25 or over with less than high school degree in 2009 (value urban only),Percent individuals age 25 or over with less than high school degree in 2009 (percentile urban only),Percent individuals age 25 or over with less than high school degree in 2009 (value rural only),Percent individuals age 25 or over with less than high school degree in 2009 (percentile rural only),Percent individuals age 25 or over with less than high school degree in 2009 (percentile urban/rural),Percent individuals age 25 or over with less than high school degree in 2009 (min-max normalized),Percentage households below 100% of federal poverty line in 2009 (percentile),Percentage households below 100% of federal poverty line in 2009 (value urban only),Percentage households below 100% of federal poverty line in 2009 (percentile urban only),Percentage households below 100% of federal poverty line in 2009 (value rural only),Percentage households below 100% of federal poverty line in 2009 (percentile rural only),Percentage households below 100% of federal poverty line in 2009 (percentile urban/rural),Percentage households below 100% of federal poverty line in 2009 (min-max normalized),Unemployment (percent) in 2009 (percentile),Unemployment (percent) in 2009 (value urban only),Unemployment (percent) in 2009 (percentile urban only),Unemployment (percent) in 2009 (value rural only),Unemployment (percent) in 2009 (percentile rural only),Unemployment (percent) in 2009 (percentile urban/rural),Unemployment (percent) in 2009 (min-max normalized),Unemployment (percent) in 2010 (percentile),Unemployment (percent) in 2010 (value urban only),Unemployment (percent) in 2010 (percentile urban only),Unemployment (percent) in 2010 (value rural only),Unemployment (percent) in 2010 (percentile rural only),Unemployment (percent) in 2010 (percentile urban/rural),Unemployment (percent) in 2010 (min-max normalized),Percent of individuals less than 100% Federal Poverty Line in 2010 (percentile),Percent of individuals less than 100% Federal Poverty Line in 2010 (value urban only),Percent of individuals less than 100% Federal Poverty Line in 2010 (percentile urban only),Percent of individuals less than 100% Federal Poverty Line in 2010 (value rural only),Percent of individuals less than 100% Federal Poverty Line in 2010 (percentile rural only),Percent of individuals less than 100% Federal Poverty Line in 2010 (percentile urban/rural),Percent of individuals less than 100% Federal Poverty Line in 2010 (min-max normalized),Total population in 2009 (percentile),Total population in 2009 (value urban only),Total population in 2009 (percentile urban only),Total population in 2009 (value rural only),Total population in 2009 (percentile rural only),Total population in 2009 (percentile urban/rural),Total population in 2009 (min-max normalized),Summer days above 90F (percentile),Summer days above 90F (value urban only),Summer days above 90F (percentile urban only),Summer days above 90F (value rural only),Summer days above 90F (percentile rural only),Summer days above 90F (percentile urban/rural),Summer days above 90F (min-max normalized),Percent low access to healthy food (percentile),Percent low access to healthy food (value urban only),Percent low access to healthy food (percentile urban only),Percent low access to healthy food (value rural only),Percent low access to healthy food (percentile rural only),Percent low access to healthy food (percentile urban/rural),Percent low access to healthy food (min-max normalized),Percent impenetrable surface areas (percentile),Percent impenetrable surface areas (value urban only),Percent impenetrable surface areas (percentile urban only),Percent impenetrable surface areas (value rural only),Percent impenetrable surface areas (percentile rural only),Percent impenetrable surface areas (percentile urban/rural),Percent impenetrable surface areas (min-max normalized),Contains agricultural value (percentile),Contains agricultural value (value urban only),Contains agricultural value (percentile urban only),Contains agricultural value (value rural only),Contains agricultural value (percentile rural only),Contains agricultural value (percentile urban/rural),Contains agricultural value (min-max normalized),Low third grade reading proficiency (percentile),Third grade reading proficiency (value urban only),Low third grade reading proficiency (percentile urban only),Third grade reading proficiency (value rural only),Low third grade reading proficiency (percentile rural only),Low third grade reading proficiency (percentile urban/rural),Low median household income as a percent of area median income (percentile),Median household income as a percent of area median income (value urban only),Low median household income as a percent of area median income (percentile urban only),Median household income as a percent of area median income (value rural only),Low median household income as a percent of area median income (percentile rural only),Low median household income as a percent of area median income (percentile urban/rural),Low life expectancy (percentile),Life expectancy (years) (value urban only),Low life expectancy (percentile urban only),Life expectancy (years) (value rural only),Low life expectancy (percentile rural only),Low life expectancy (percentile urban/rural),Low median household income as a percent of territory median income in 2009 (percentile),Median household income as a percent of territory median income in 2009 (value urban only),Low median household income as a percent of territory median income in 2009 (percentile urban only),Median household income as a percent of territory median income in 2009 (value rural only),Low median household income as a percent of territory median income in 2009 (percentile rural only),Low median household income as a percent of territory median income in 2009 (percentile urban/rural),Total population in 2009 (island areas) and 2019 (states and PR),Score A,Score B,Socioeconomic Factors,Sensitive populations,Environmental effects,Exposures,Pollution Burden,Population Characteristics,Score C,Score D,Score E,"Low AMI, Low HS graduation",Meets socioeconomic criteria,Meets burden criteria,Score F (communities),Score G (communities),Score G,Score G (percentile),Score H (communities),Score H,Score I (communities),Score I,Score I (percentile),NMTC (communities),Score K (communities),Total threshold criteria exceeded,Is low income?,Greater than or equal to the 90th percentile for expected population loss rate and is low income?,Greater than or equal to the 90th percentile for expected agriculture loss rate and is low income?,Greater than or equal to the 90th percentile for expected building loss rate and is low income?,Climate Factor (Definition L),Greater than or equal to the 90th percentile for PM2.5 exposure and is low income?,Greater than or equal to the 90th percentile for energy burden and is low income?,Energy Factor (Definition L),Greater than or equal to the 90th percentile for diesel particulate matter and is low income?,Greater than or equal to the 90th percentile for traffic proximity and is low income?,Transportation Factor (Definition L),Greater than or equal to the 90th percentile for lead paint and the median house value is less than 90th percentile and is low income?,Greater than or equal to the 90th percentile for housing burden and is low income?,Housing Factor (Definition L),Greater than or equal to the 90th percentile for proximity to RMP sites and is low income?,Greater than or equal to the 90th percentile for proximity to superfund sites and is low income?,Greater than or equal to the 90th percentile for proximity to hazardous waste facilities and is low income?,Pollution Factor (Definition L),Greater than or equal to the 90th percentile for wastewater discharge and is low income?,Water Factor (Definition L),Greater than or equal to the 90th percentile for diabetes and is low income?,Greater than or equal to the 90th percentile for asthma and is low income?,Greater than or equal to the 90th percentile for heart disease and is low income?,Greater than or equal to the 90th percentile for low life expectancy and is low income?,Health Factor (Definition L),Low high school education,Greater than or equal to the 90th percentile for households in linguistic isolation and has low HS education?,Greater than or equal to the 90th percentile for households at or below 100% federal poverty level and has low HS education?,Greater than or equal to the 90th percentile for low median household income as a percent of area median income and has low HS education?,Greater than or equal to the 90th percentile for unemployment and has low HS education?,Unemployment (percent) in 2009 (island areas) and 2010 (states and PR),Unemployment (percent) in 2009 exceeds 90th percentile,Percentage households below 100% of federal poverty line in 2009 (island areas) and 2010 (states and PR),Percentage households below 100% of federal poverty line in 2009 exceeds 90th percentile,Low median household income as a percent of territory median income in 2009 exceeds 90th percentile,Low high school education in 2009 (island areas),Greater than or equal to the 90th percentile for unemployment and has low HS education in 2009 (island areas)?,Greater than or equal to the 90th percentile for households at or below 100% federal poverty level and has low HS education in 2009 (island areas)?,Greater than or equal to the 90th percentile for low median household income as a percent of area median income and has low HS education in 2009 (island areas)?,Workforce Factor (Definition L),Definition L (communities),Any Non-Workforce Factor (Definition L),Definition L (percentile),Exceeds FPL200 threshold,Percent higher ed enrollment rate is less than 20%,Is low income and has a low percent of higher ed students?,At least one climate threshold exceeded,"Greater than or equal to the 90th percentile for expected population loss rate, is low income, and has a low percent of higher ed students?","Greater than or equal to the 90th percentile for expected agriculture loss rate, is low income, and has a low percent of higher ed students?","Greater than or equal to the 90th percentile for expected building loss rate, is low income, and has a low percent of higher ed students?",Climate Factor (Definition M),At least one energy threshold exceeded,"Greater than or equal to the 90th percentile for PM2.5 exposure, is low income, and has a low percent of higher ed students?","Greater than or equal to the 90th percentile for energy burden, is low income, and has a low percent of higher ed students?",Energy Factor (Definition M),At least one traffic threshold exceeded,"Greater than or equal to the 90th percentile for diesel particulate matter, is low income, and has a low percent of higher ed students?","Greater than or equal to the 90th percentile for traffic proximity, is low income, and has a low percent of higher ed students?",Transportation Factor (Definition M),At least one housing threshold exceeded,"Greater than or equal to the 90th percentile for lead paint, the median house value is less than 90th percentile, is low income, and has a low percent of higher ed students?","Greater than or equal to the 90th percentile for housing burden, is low income, and has a low percent of higher ed students?",Housing Factor (Definition M),At least one pollution threshold exceeded,"Greater than or equal to the 90th percentile for proximity to RMP sites, is low income, and has a low percent of higher ed students?","Greater than or equal to the 90th percentile for proximity to superfund sites, is low income, and has a low percent of higher ed students?","Greater than or equal to the 90th percentile for proximity to hazardous waste facilities, is low income, and has a low percent of higher ed students?",Pollution Factor (Definition M),At least one water threshold exceeded,"Greater than or equal to the 90th percentile for wastewater discharge, is low income, and has a low percent of higher ed students?",Water Factor (Definition M),At least one health threshold exceeded,"Greater than or equal to the 90th percentile for diabetes, is low income, and has a low percent of higher ed students?","Greater than or equal to the 90th percentile for asthma, is low income, and has a low percent of higher ed students?","Greater than or equal to the 90th percentile for heart disease, is low income, and has a low percent of higher ed students?","Greater than or equal to the 90th percentile for low life expectancy, is low income, and has a low percent of higher ed students?",Health Factor (Definition M),Low high school education and low percent of higher ed students,"Greater than or equal to the 90th percentile for households in linguistic isolation, has low HS attainment, and has a low percent of higher ed students?","Greater than or equal to the 90th percentile for households at or below 100% federal poverty level, has low HS attainment, and has a low percent of higher ed students?","Greater than or equal to the 90th percentile for low median household income as a percent of area median income, has low HS attainment, and has a low percent of higher ed students?","Greater than or equal to the 90th percentile for unemployment, has low HS attainment, and has a low percent of higher ed students?",Unemployment (percent) in 2009 for island areas (percentile),Percentage households below 100% of federal poverty line in 2009 for island areas (percentile),At least one workforce threshold exceeded,Both workforce socioeconomic indicators exceeded,Workforce Factor (Definition M),Total categories exceeded,Definition M (communities),Any Non-Workforce Factor (Definition M),Definition M (percentile),Score A (percentile),Score A (top 25th percentile),Score A (top 30th percentile),Score A (top 35th percentile),Score A (top 40th percentile),Score B (percentile),Score B (top 25th percentile),Score B (top 30th percentile),Score B (top 35th percentile),Score B (top 40th percentile),Score C (percentile),Score C (top 25th percentile),Score C (top 30th percentile),Score C (top 35th percentile),Score C (top 40th percentile),Score D (percentile),Score D (top 25th percentile),Score D (top 30th percentile),Score D (top 35th percentile),Score D (top 40th percentile),Score E (percentile),Score E (top 25th percentile),Score E (top 30th percentile),Score E (top 35th percentile),Score E (top 40th percentile) +01073001100,True,0.2752043596730245,4897.0,0.7327449738800064,11.2,7.2,6.7,16.6,19.3,15.1,0.150375939849624,0.318796992481203,0.3744360902255639,57447.0,37030.0,0.049,18.7674524286,1.0,51.1530304943,0.735568574566,0.63998588,10.3951975342,39.404630719,253.995131498,2.03499777769,0.708723792992,0.134193041308,1.0556674669,0.205868653936,0.0308352052277,0.185011231366,0.0,0.0,0.407205697528,0.0821917808219178,0.0092071611253196,85500.0,0.0890751899397432,0.9109248100602568,0.0004047858,5.6328e-05,2.8039e-06,,,,0.1536983669548511,0.3189099613330878,,62.666668,0.068036923,0.171,1.0,58.143433,0.6445941476491375,70.3,,0.6466760729305078,0.2752043596730245,0.5700318443928049,,,0.5700318443928049,0.2752043596730245,0.6512411994432508,4897.0,0.6248587667340021,,,0.6248587667340021,0.0696873532467162,0.2601978513507951,0.7327449738800064,0.2827993864924948,,,0.2827993864924948,0.1434712737274766,0.8509696039125366,11.2,0.835724928163468,,,0.835724928163468,0.3795180722891565,0.7264920810941454,7.2,0.7844637979353648,,,0.7844637979353648,0.1875,0.4789587420739856,6.7,0.5678012699989358,,,0.5678012699989358,0.303921568627451,0.6191105803406409,16.6,0.6018127638440527,,,0.6018127638440527,0.2094488188976378,0.965388552418323,19.3,0.9599666536592288,,,0.9599666536592288,0.4275862068965517,0.697012994398476,15.1,0.7279967363155841,,,0.7279967363155841,0.3440233236151603,0.62043226838371,0.150375939849624,0.6145691950863328,,,0.6145691950863328,0.150375939849624,0.7319580582099551,0.318796992481203,0.7209861695730607,,,0.7209861695730607,0.318796992481203,0.6304939233619051,0.3744360902255639,0.6277982991151962,,,0.6277982991151962,0.3744360902255639,0.3145069836211475,57447.0,0.2657396925099514,,,0.2657396925099514,0.362059663131873,0.1524419513666973,37030.0,0.1569958812277043,,,0.1569958812277043,0.1395180645004889,0.864954517474865,0.049,0.9005173954895489,,,0.9005173954895489,0.0037065052950075,0.6038301323911519,18.7674524286,0.6383816255626487,,,0.6383816255626487,0.1876745242859999,0.5972204988211937,1.0,0.5000085573944445,,,0.5000085573944445,1.0,0.9847958474680182,51.1530304943,0.9819551446670092,,,0.9819551446670092,0.0300384933188293,0.968365553602812,0.735568574566,0.962352336928608,,,0.962352336928608,0.1696726613313424,0.7632321085543794,0.63998588,0.70386920047937,,,0.70386920047937,0.1053235274194042,0.928945948563286,10.3951975342,0.914819538763832,,,0.914819538763832,0.5130755332417333,0.2507228532296667,39.404630719,0.2360646695853011,,,0.2360646695853011,0.2834163202031902,0.4608804184722397,253.995131498,0.3487028727629068,,,0.3487028727629068,0.0081194347824311,0.9022445642626452,2.03499777769,0.8805423357414318,,,0.8805423357414318,0.1192079731904979,0.4244672369292306,0.708723792992,0.2870715924264731,,,0.2870715924264731,0.0016327034632494,0.753733057661383,0.134193041308,0.7050707022289178,,,0.7050707022289178,0.0172289593763426,0.9223869977156124,1.0556674669,0.9078447963253958,,,0.9078447963253958,9.412822248180045e-06,0.4454669531492817,0.205868653936,0.4334577327353032,,,0.4334577327353032,0.205868653936,0.1202416183565086,0.0308352052277,0.108484267470127,,,0.108484267470127,0.0793595720750642,0.695774381427278,0.185011231366,0.7452494265073442,,,0.7452494265073442,0.185011231366,0.1272208772721677,0.0,0.0997988895955446,,,0.0997988895955446,0.0,0.1284712368751773,0.0,0.0986150580340329,,,0.0986150580340329,0.0,0.668247726382076,0.407205697528,0.6576848015886603,,,0.6576848015886603,0.407205697528,0.4189274017467249,0.0821917808219178,0.4443872826422471,,,0.4443872826422471,0.0821917808219178,0.0297871177547618,0.0092071611253196,0.0285699569046924,,,0.0285699569046924,0.0092071611253196,0.1130659551404986,85500.0,0.1076951366876236,,,0.1076951366876236,0.0379401628742081,0.7459685121012851,0.0890751899397432,0.6989610478672336,,,0.6989610478672336,0.0890751899397432,0.2540451308357663,0.9109248100602568,0.3010560965573995,,,0.3010560965573995,0.9109248100602568,0.7846412062513758,0.0004047858,0.82138883658833,,,0.82138883658833,0.01597287904858,0.2153147384849333,5.6328e-05,0.5639836382618221,,,0.5639836382618221,0.0001189507553306,0.6143028498159407,2.8039e-06,0.6689315237296548,,,0.6689315237296548,0.0013204531501148,,,,,,,,,,,,,,,,,,,,,,0.9349594607528132,0.1536983669548511,0.9315960352498582,,,0.9315960352498582,0.1536983669548511,0.8950599559730369,0.3189099613330878,0.8870754376621368,,,0.8870754376621368,0.3189099613330878,,,,,,,,0.7537922665342821,62.666668,0.7585193484443679,,,0.7585193484443679,0.4423529401799308,0.8019598155467721,0.068036923,0.7905320987865615,,,0.7905320987865615,0.068036923,0.4126953421856217,0.171,0.2701910981682835,,,0.2701910981682835,0.1775700879261655,0.6564635202573585,1.0,0.6917369799243527,,,0.6917369799243527,1.0,0.990724418702258,58.143433,0.9890918535191758,,,0.9890918535191758,0.8218135517196475,0.6445941476491375,0.7952314423324387,,,0.7952314423324387,0.97046998263836,70.3,0.9652438793658,,,0.9652438793658,,,,,,,4897.0,0.5435875640644005,0.2799472837363994,0.3784219111378495,0.3144122923519848,0.6896597619436307,0.7261571216484003,0.7139913350801438,0.3464171017449171,0.2473388089694474,0.1547617998296523,0.3781718392172476,False,True,True,True,True,1,1,True,1,True,1,1,True,True,0,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,0.1536983669548511,False,0.3189099613330878,False,False,False,False,False,False,False,False,False,0,False,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,False,False,False,True,False,False,False,False,True,False,False,True,False,False,False,False,False,False,False,False,False,False,,,False,False,False,0,False,False,0,0.5532898204078324,False,False,False,False,0.5490856986899564,False,False,False,False,0.5480683083104825,False,False,False,False,0.5438440021080796,False,False,False,False,0.3320495668977446,False,False,False,False +01073001400,True,0.1823529411764705,1906.0,0.7136694633528574,11.1,9.1,7.3,21.4,22.4,17.4,0.2816032887975334,0.3679342240493319,0.4835560123329907,57447.0,36066.0,0.07,17.3011023381,1.0,54.6950518653,0.76056054321,0.9098084377,10.498270137,39.3676601307,3015.87969265,1.81382525188,3.24085850684,0.214095348703,0.365101735929,0.628839590444,0.0582371458552,0.178908709339,0.0245098039215686,0.0165289256198,0.425498426023,0.1742543171114599,0.1150121065375302,67800.0,0.0771549125979505,0.9228450874020494,0.0008951111,5.1282e-06,2.3791e-06,,,,0.0804953560371517,0.2950894905920146,,61.666668,0.087159691,0.34900002,1.0,93.77919,0.6278134628440127,71.0,,0.3421186011150532,0.1823529411764705,0.2730613650055943,,,0.2730613650055943,0.1823529411764705,0.0867961243766976,1906.0,0.0702656897319135,,,0.0702656897319135,0.0271235644860611,0.240302951305517,0.7136694633528574,0.2631705929998104,,,0.2631705929998104,0.1395725756430245,0.8385794307486707,11.1,0.8242488204618823,,,0.8242488204618823,0.3734939759036144,0.9217563763541756,9.1,0.934238532761006,,,0.934238532761006,0.2391304347826086,0.6048579715089994,7.3,0.6840345524850119,,,0.6840345524850119,0.3333333333333333,0.7894025988796952,21.4,0.765821774451027,,,0.765821774451027,0.2850393700787401,0.9878088657624612,22.4,0.9854641881585016,,,0.9854641881585016,0.4988505747126436,0.8447283118655634,17.4,0.8547216999538827,,,0.8547216999538827,0.411078717201166,0.8689250707460116,0.2816032887975334,0.8593419809294734,,,0.8593419809294734,0.2816032887975334,0.8013233263612626,0.3679342240493319,0.7879907224465252,,,0.7879907224465252,0.3679342240493319,0.7892247330790578,0.4835560123329907,0.7755862898376428,,,0.7755862898376428,0.4835560123329907,0.3145069836211475,57447.0,0.2657396925099514,,,0.2657396925099514,0.362059663131873,0.1404413479077805,36066.0,0.1452254984748479,,,0.1452254984748479,0.1356231464796244,0.970802270706518,0.07,0.9745685506050604,,,0.9745685506050604,0.0052950075642965,0.5282998116553705,17.3011023381,0.565061869961834,,,0.565061869961834,0.173011023381,0.5972204988211937,1.0,0.5000085573944445,,,0.5000085573944445,1.0,0.9895233034972276,54.6950518653,0.98758774182503,,,0.98758774182503,0.0324014302096176,0.9765534529502324,0.76056054321,0.9720766991953432,,,0.9720766991953432,0.1759137053158734,0.9016362174902248,0.9098084377,0.8766135935627462,,,0.8766135935627462,0.1497290027189099,0.9329441224077584,10.498270137,0.9196283911889414,,,0.9196283911889414,0.5213510451938572,0.2492010569566841,39.3676601307,0.2346340790789065,,,0.2346340790789065,0.2826912370192468,0.941127799514774,3015.87969265,0.9280004126050854,,,0.9280004126050854,0.0964083008791804,0.8815556546533155,1.81382525188,0.8555140890882322,,,0.8555140890882322,0.1062519253676046,0.7527465845056148,3.24085850684,0.6879172801040846,,,0.6879172801040846,0.0074660410167418,0.8655558708666099,0.214095348703,0.8377272571643783,,,0.8377272571643783,0.027487565893985,0.8882148073250197,0.365101735929,0.8688263024295902,,,0.8688263024295902,3.255416928678718e-06,0.8313806570181485,0.628839590444,0.7904954291779368,,,0.7904954291779368,0.628839590444,0.5164051837137336,0.0582371458552,0.4798079227582429,,,0.4798079227582429,0.1498830619032175,0.6618964608586371,0.178908709339,0.715890026363543,,,0.715890026363543,0.178908709339,0.5796575164471435,0.0245098039215686,0.5161060212798873,,,0.5161060212798873,0.0245098039215686,0.5008648531776597,0.0165289256198,0.424872462081008,,,0.424872462081008,0.0165289256198,0.6964500479723247,0.425498426023,0.6838429143698428,,,0.6838429143698428,0.425498426023,0.751664847161572,0.1742543171114599,0.7508831498439483,,,0.7508831498439483,0.1742543171114599,0.9067171316918536,0.1150121065375302,0.9060831344539256,,,0.9060831344539256,0.1150121065375302,0.0522874454542927,67800.0,0.0556119857795835,,,0.0556119857795835,0.0290456994515583,0.6434691260334525,0.0771549125979505,0.5807502400219449,,,0.5807502400219449,0.0771549125979505,0.356544516903599,0.9228450874020494,0.4192669044026882,,,0.4192669044026882,0.9228450874020494,0.9166162227602904,0.0008951111,0.9302158396521918,,,0.9302158396521918,0.0353246959378835,0.0865380767537716,5.1282e-06,0.4567081415050745,,,0.4567081415050745,1.0829485575316856e-05,0.558933421571466,2.3791e-06,0.6145407246401615,,,0.6145407246401615,0.0011202645354936,,,,,,,,,,,,,,,,,,,,,,0.6917513228236646,0.0804953560371517,0.6841770738494838,,,0.6841770738494838,0.0804953560371517,0.8737301229199994,0.2950894905920146,0.8632982287353754,,,0.8632982287353754,0.2950894905920146,,,,,,,,0.7501654807214959,61.666668,0.7551581487546324,,,0.7551581487546324,0.435294116816609,0.8647617479139218,0.087159691,0.8519741908983552,,,0.8519741908983552,0.087159691,0.6268497920495212,0.34900002,0.5359536815260283,,,0.5359536815260283,0.3624091475885,0.6564635202573585,1.0,0.6917369799243527,,,0.6917369799243527,1.0,0.9537899773356836,93.77919,0.9454938966323262,,,0.9454938966323262,0.8364273002184828,0.6278134628440127,0.81067318651421,,,0.81067318651421,0.959938777375042,71.0,0.9533526317781056,,,0.9533526317781056,,,,,,,1906.0,0.7240574475669483,0.523497018864787,0.6395630962236926,0.5859863870065047,0.8438907148737418,0.8318309921361502,0.8358508997153473,0.6127747416150986,0.5121883191018196,0.1843255189540058,0.6553216288775894,False,True,True,True,True,1,1,True,1,True,1,1,True,True,9,True,False,False,True,True,True,True,True,True,True,True,False,False,False,False,False,False,False,False,False,True,False,True,True,True,True,False,False,False,True,0.0804953560371517,False,0.2950894905920146,False,False,False,False,False,False,True,True,True,1,True,True,True,True,False,False,True,True,True,True,True,True,True,True,True,True,False,False,False,False,False,False,False,False,False,False,False,False,True,True,False,True,True,True,True,False,False,False,True,,,True,True,True,5,True,True,1,0.7460439723787516,False,True,True,True,0.7500818777292576,True,True,True,True,0.9394564656693726,True,True,True,True,0.6605181011067418,False,False,True,True,0.7347062877528682,False,True,True,True diff --git a/data/data-pipeline/data_pipeline/etl/score/tests/snapshots/downloadable_data_expected.pkl b/data/data-pipeline/data_pipeline/etl/score/tests/snapshots/downloadable_data_expected.pkl index edaaa2aea56d59839dd5951498a0101ec64ccc4c..9912c056aec658a7c5ec461f77325788da1c7a62 100644 GIT binary patch delta 780 zcmXxf%TE(g6vy!nXQrLLrZb&7GFq^S;G>{WU_fgTVvmjSL=how4aNG15)!O#T*%HC z6E+9pMpwo^pmyWdglOW*xN^hRjVltPai!PG;ch;^`@O5X+j@Q5S~s`y;~mTIf$Oxu zyXF{Q=|MQ)1dhe(`LZf=$NFn>_N&b?m!#GXob}5Z)Wg`BNMwp~2-KrVn->P*p2xqCP+i(`) z9M$xGn?-Iq5%)U?Gc>E)O9y!|7qOc|xIlH?p68Go?*C?U%B{ggYUuvNMLy$2{8QOc zu6W4he8k_CZg%hdV)es3a|x+#llp zZ#UbU&AaCb$m;$IR*Xtq-cw>$bj3gn#UlH`h*9J1-uuP^kA_VzTwHB0Jt!?NwOe;q T*Y33*cAtgu(D=j~W6S>ljWVLe delta 715 zcmXxd&r1|>7{_tPXLe?Gc6MfV#~)*xyG1BzOUrJ3&2&@Cr$Qe3p@*Q8Xg>(TON5so z>=;RxM+u@%)*rC#MLHBgcnG3PhakKP;Ysikb?D2t$GN=T^LYm5_1(QYnH76|r_stJ zoiIytyk|G~N+*IxS<_p(a}=1K1cZ?U+kx89ebmr`?o zl|eW}CDY~5<9??J{ZuyZ&mH8Oj$+qEI6_Cww&Eg_tN6F}v-W|9FhGOmwyXO%4Vk{3 zML0oK)7!dFQqA-YAE8bS)8BmLm;MOP?DYJdbA+P2Xj|B*4Xq2A>%ltS{T+Jhl z(YX2Mt?qL)VY(b5|H>=sk8Bpwq7#UZgO*2HoCp5C|Sc&cx){h{wqYHjiR#;t!lpP#<~ diff --git a/data/data-pipeline/data_pipeline/etl/score/tests/snapshots/score_data_expected.pkl b/data/data-pipeline/data_pipeline/etl/score/tests/snapshots/score_data_expected.pkl index 360e1b21765315a474538a5889c16e99a9065a06..f65212fcfdec38165f10d42a4cc0300cd065108d 100644 GIT binary patch delta 971 zcmZ4A&%B|JnWcecs_I0REFH0e#JrTmV!imB%%ozy%)FA+qP)bM;we4+@uhhMnaSBX zsqslU`N`Q+CQq4oDxZ;mvK3=BqwM5ujAe%2Ozl&Grettu$YjWSGqg_0Pz3QcycxZV zyqVgjWT^EpB^gfX?0|?eXJ}16$^1_YQ!!Ad+UC0~T+E!BOblS4HTeg-Jfp#62@ZKi z)5#V<(rR)9khGs%!69$w0#!AoWJ(fFH~5}lggGM30?83xn;&q@l@UjG1yDKA8J?S` zsLJux>p(3qgwkeE+8RnbKxw=V@aBTqpNV3>pP!%Ce;@!8-V8uLbUH6k6oz=bh#g2z zb}^}DWSzXgL|hJJ17`4Yft=du95DH*iG!a8)G^xF9L1L*=(Qszl-Ca&Q=*!UQ);JV zNMuMBV==cb20k71wwA7;F{5%Ec z{L;LV$|)J$J?xG-iAjmMiBmFqQb8Uu0UGM-1=NOOE`}Qw2s-j3lLXL_?o7TO=#IoN zjF4Gi*E2c#OvzXaa%1h3cCbS|!45?VfRZU7Z%RP3OLG3?4WXL~pSuvbxrFqFE`T04;Q+n775{pVQ6LY3ap3);zkeHW}Sge|Tc;6td-5P~Yr5X+GC+7T1V>(>raB&*ptrFKe& zLWW{-Qie)~x;I1XlnhOfl!iB>HxrO!IQgKlT$GKk3zM%alQ$zsin_+vnMl;z__{Iq zy3@k=&e$m$Jxq>1Q!=Vjfgx2prF}|LhK;WWldmVjI!BzLg%Ko0-b`&%GW2?wk_@MG zc0dA(Im2kOA-nKo2d39zm>Pg#sJGdXnTxqzgNXqQG@-N(l-7mPdQe&)N*h9HBPeYQ zrA?r;8I(4M(iTwK5=vV`X&VS#&tMA`u!GVLP}&hnJ3(n@C_M!jV)!B(-Lt+YfN2I2 zJZTn4!86^@&(G`sW;6B~GU8bD07Gcn=BLVXeD&H;iw&T(DU`N?()LiAREK$U!rYaK z>8}6(|9b)Pe{Y7#4(u#U&J!k=8g)$OHRhE>cdIui$f=#q9+QoY9UQdCbqo{OF@}?Q zO(Ya9^{_kUBqk;1CQiw?3`(KE#OVr7oJ`=XHkrxPSod}ht7l$HY6Y+es0AixmXyR2 zpmKEA0aG+6ziv)4weH=#^Uy|S#=DcVj~N<1#83&&*g$^>K++=v10$3H3fC;d$!Cux F0|3daXRH7K diff --git a/data/data-pipeline/data_pipeline/etl/score/tests/snapshots/score_transformed_expected.pkl b/data/data-pipeline/data_pipeline/etl/score/tests/snapshots/score_transformed_expected.pkl index 7bf4f9ef3c0952c3496c27348fb27da9ccc7fdf6..cb93bb280b9391bf6799eba86e77837ba8b0971c 100644 GIT binary patch delta 729 zcmZ3{!+gG*nYDps>XD-pSu=IS3KH{D5{vcXb25{P^)mBHQj78ubBd?*@W+?t6=Wu7 z=cL9b<>V)4PnkSr;;DQ_{>fI1)r_)}w=tF(dNZ|837V3@ogtGU@6FIUB|{O!*YIZa zF7jq-o06f{!<1w=rLzMf%ABD!xq#`P7^Y&NPPNS~%v{WznoJB}pf!0un>?ez zbn<;5X*KyjkhGsH&n|E00#!AoWJ(fFH~5}lggGM30?83xo7>sv%7~-80;nA54A0Hh zDsp@QI#3G?p|ly4wuaIUP#UiTyg9-4dv-ccn7qfR!i*K-H8{x#Wq}OA3_(tiYdW1h zCPx`t)N4TP(&^so+u1vmeOmJH! z=b0Gm_VuuO=B1=o08>&eP%}$PVoBl@44(tFfz020&cwP`N-`wBBr!)JIk6-)J-;Y3 hwOApwA~`iRB{gL;`=LT+#tD-vkLoi%oV@aAJpiuJ+h70y delta 909 zcmX@#&Ag(AnYDpss_e0eteG*KX{C9|CHeU|#Z!9N3lfV;G81#AOrFvsQ;?XKl31*l zoL`ixmzh_RT9lWVQ>>Silb@UoRLYr`S{@JP02Q}R37Vpj!KYa}rH3UiB{O%5H&d}+ z$&{ptv+^0mCv!1YGpbH*V=QxN1FFm5&fr6+&k%wt%}~iu_hx9FlA+lSGR&LNyU3fV zZAyk-4^xuil+F%_D07Cue! zhth^n+6YP;LunHzZ3d;yp|k~*wuI8wP}&AU*E85c1?-@-1C(}z(oRs?8A?w9h88KI z<9mV;7CdPdNWl~4=jZ43f3q3;3>k6s00Qa(hEV9{r^<4C$=Xnh4WP6sl(vG>_E4Hs zhk0{=-4)vD+%P%X$Yb(sBZJAejd&%|9plXba!aSP!(>Kd3kNN7ZG(hD=;Sz@7nEWdl3qJvLV5i_3NvIi8>iGx$xz5pEKb5qgG@k28csfKEXQZ#>%!#g z$^r^-7ARfn{p^MwYY8g0>70U=1.0.0", markers = "python_version >= \"3.6\""} nbformat = ">=4.2.0" traitlets = ">=4.3.1" -widgetsnbextension = ">=3.5.0,<3.6.0" +widgetsnbextension = ">=3.6.0,<3.7.0" [package.extras] test = ["pytest (>=3.6.0)", "pytest-cov", "mock"] @@ -572,11 +572,11 @@ python-versions = "*" [[package]] name = "jinja2" -version = "3.0.3" +version = "3.1.0" description = "A very fast and expressive template engine." category = "main" optional = false -python-versions = ">=3.6" +python-versions = ">=3.7" [package.dependencies] MarkupSafe = ">=2.0" @@ -765,7 +765,7 @@ pygments = ">=2.4.1,<3" [[package]] name = "jupyterlab-widgets" -version = "1.0.2" +version = "1.1.0" description = "A JupyterLab extension." category = "main" optional = false @@ -1265,11 +1265,11 @@ typing-extensions = {version = ">=3.10.0", markers = "python_version < \"3.10\"" [[package]] name = "pypandoc" -version = "1.7.2" +version = "1.7.4" description = "Thin wrapper for pandoc." category = "main" optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*" +python-versions = "^2.7 || ^3.6" [[package]] name = "pyparsing" @@ -1360,7 +1360,7 @@ six = ">=1.5" [[package]] name = "pytz" -version = "2021.3" +version = "2022.1" description = "World timezone definitions, modern and historical" category = "main" optional = false @@ -1658,7 +1658,7 @@ test = ["pytest"] [[package]] name = "types-requests" -version = "2.27.12" +version = "2.27.14" description = "Typing stubs for requests" category = "main" optional = false @@ -1685,14 +1685,14 @@ python-versions = ">=3.6" [[package]] name = "urllib3" -version = "1.26.8" +version = "1.26.9" description = "HTTP library with thread-safe connection pooling, file post, and more." category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <4" [package.extras] -brotli = ["brotlipy (>=0.6.0)"] +brotli = ["brotlicffi (>=0.8.0)", "brotli (>=1.0.9)", "brotlipy (>=0.6.0)"] secure = ["pyOpenSSL (>=0.14)", "cryptography (>=1.3.4)", "idna (>=2.0.0)", "certifi", "ipaddress"] socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"] @@ -1709,7 +1709,7 @@ jellyfish = "0.6.1" [[package]] name = "virtualenv" -version = "20.13.3" +version = "20.13.4" description = "Virtual Python Environment builder" category = "dev" optional = false @@ -1743,7 +1743,7 @@ python-versions = "*" [[package]] name = "widgetsnbextension" -version = "3.5.2" +version = "3.6.0" description = "IPython HTML widgets for Jupyter" category = "main" optional = false @@ -2005,8 +2005,8 @@ flake8 = [ {file = "flake8-3.9.2.tar.gz", hash = "sha256:07528381786f2a6237b061f6e96610a4167b226cb926e2aa2b6b1d78057c576b"}, ] fonttools = [ - {file = "fonttools-4.30.0-py3-none-any.whl", hash = "sha256:6985cc5380c06db07fdc73ade15e6adbd4ce6ff850d7561ca00f97090b4b263d"}, - {file = "fonttools-4.30.0.zip", hash = "sha256:084dd1762f083a1bf49e41da1bfeafb475c9dce46265690a6bdd33290b9a63f4"}, + {file = "fonttools-4.31.2-py3-none-any.whl", hash = "sha256:2df636a3f402ef14593c6811dac0609563b8c374bd7850e76919eb51ea205426"}, + {file = "fonttools-4.31.2.zip", hash = "sha256:236b29aee6b113e8f7bee28779c1230a86ad2aac9a74a31b0aedf57e7dfb62a4"}, ] geopandas = [ {file = "geopandas-0.9.0-py2.py3-none-any.whl", hash = "sha256:79f6e557ba0dba76eec44f8351b1c6b42a17c38f5f08fef347e98fe4dae563c7"}, @@ -2040,8 +2040,8 @@ ipython-genutils = [ {file = "ipython_genutils-0.2.0.tar.gz", hash = "sha256:eb2e116e75ecef9d4d228fdc66af54269afa26ab4463042e33785b887c628ba8"}, ] ipywidgets = [ - {file = "ipywidgets-7.6.5-py2.py3-none-any.whl", hash = "sha256:d258f582f915c62ea91023299603be095de19afb5ee271698f88327b9fe9bf43"}, - {file = "ipywidgets-7.6.5.tar.gz", hash = "sha256:00974f7cb4d5f8d494c19810fedb9fa9b64bffd3cda7c2be23c133a1ad3c99c5"}, + {file = "ipywidgets-7.7.0-py2.py3-none-any.whl", hash = "sha256:e58ff58bc94d481e91ecb6e13a5cb96a87b6b8ade135e055603d0ca24593df38"}, + {file = "ipywidgets-7.7.0.tar.gz", hash = "sha256:ab4a5596855a88b83761921c768707d65e5847068139bc1729ddfe834703542a"}, ] isort = [ {file = "isort-5.10.1-py3-none-any.whl", hash = "sha256:6f62d78e2f89b4500b080fe3a81690850cd254227f27f75c3a0c491a1f351ba7"}, @@ -2055,8 +2055,8 @@ jellyfish = [ {file = "jellyfish-0.6.1.tar.gz", hash = "sha256:5104e45a2b804b48a46a92a5e6d6e86830fe60ae83b1da32c867402c8f4c2094"}, ] jinja2 = [ - {file = "Jinja2-3.0.3-py3-none-any.whl", hash = "sha256:077ce6014f7b40d03b47d1f1ca4b0fc8328a692bd284016f806ed0eaca390ad8"}, - {file = "Jinja2-3.0.3.tar.gz", hash = "sha256:611bb273cd68f3b993fabdc4064fc858c5b47a973cb5aa7999ec1ba405c87cd7"}, + {file = "Jinja2-3.1.0-py3-none-any.whl", hash = "sha256:da424924c069a4013730d8dd010cbecac7e7bb752be388db3741688bffb48dc6"}, + {file = "Jinja2-3.1.0.tar.gz", hash = "sha256:a2f09a92f358b96b5f6ca6ecb4502669c4acb55d8733bbb2b2c9c4af5564c605"}, ] jsonschema = [ {file = "jsonschema-4.4.0-py3-none-any.whl", hash = "sha256:77281a1f71684953ee8b3d488371b162419767973789272434bbc3f29d9c8823"}, @@ -2102,8 +2102,8 @@ jupyterlab-pygments = [ {file = "jupyterlab_pygments-0.1.2.tar.gz", hash = "sha256:cfcda0873626150932f438eccf0f8bf22bfa92345b814890ab360d666b254146"}, ] jupyterlab-widgets = [ - {file = "jupyterlab_widgets-1.0.2-py3-none-any.whl", hash = "sha256:f5d9efface8ec62941173ba1cffb2edd0ecddc801c11ae2931e30b50492eb8f7"}, - {file = "jupyterlab_widgets-1.0.2.tar.gz", hash = "sha256:7885092b2b96bf189c3a705cc3c412a4472ec5e8382d0b47219a66cccae73cfa"}, + {file = "jupyterlab_widgets-1.1.0-py3-none-any.whl", hash = "sha256:c2a9bd3789f120f64d73268c066ed3b000c56bc1dda217be5cdc43e7b4ebad3f"}, + {file = "jupyterlab_widgets-1.1.0.tar.gz", hash = "sha256:d5f41bc1713795385f718d44dcba47e1e1473c6289f28a95aa6b2c0782ee372a"}, ] kiwisolver = [ {file = "kiwisolver-1.4.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:70e7b7a4ebeddef423115ea31857732fc04e0f38dd1e6385e1af05b6164a3d0f"}, @@ -2596,8 +2596,7 @@ pylint = [ {file = "pylint-2.12.2.tar.gz", hash = "sha256:9d945a73640e1fec07ee34b42f5669b770c759acd536ec7b16d7e4b87a9c9ff9"}, ] pypandoc = [ - {file = "pypandoc-1.7.2-py2.py3-none-any.whl", hash = "sha256:7d1fba71c1127b25863871130b509888266d8c9afba97f17b2e600a8eda325dd"}, - {file = "pypandoc-1.7.2.tar.gz", hash = "sha256:035c04648c1f95f817252bcc85abda11804d7d5ea577f84b51fa2ced6d9768f2"}, + {file = "pypandoc-1.7.4.tar.gz", hash = "sha256:28de23f646d9e804403c6b61d7cd32a6d76ca356abc79eb7217bdbff6748f86e"}, ] pyparsing = [ {file = "pyparsing-3.0.7-py3-none-any.whl", hash = "sha256:a6c06a88f252e6c322f65faf8f418b16213b51bdfaece0524c1c1bc30c63c484"}, @@ -2665,8 +2664,8 @@ python-dateutil = [ {file = "python_dateutil-2.8.2-py2.py3-none-any.whl", hash = "sha256:961d03dc3453ebbc59dbdea9e4e11c5651520a876d0f4db161e8674aae935da9"}, ] pytz = [ - {file = "pytz-2021.3-py2.py3-none-any.whl", hash = "sha256:3672058bc3453457b622aab7a1c3bfd5ab0bdae451512f6cf25f64ed37f5b87c"}, - {file = "pytz-2021.3.tar.gz", hash = "sha256:acad2d8b20a1af07d4e4c9d2e9285c5ed9104354062f275f3fcd88dcef4f1326"}, + {file = "pytz-2022.1-py2.py3-none-any.whl", hash = "sha256:e68985985296d9a66a881eb3193b0906246245294a881e7c8afe623866ac6a5c"}, + {file = "pytz-2022.1.tar.gz", hash = "sha256:1e760e2fe6a8163bc0b3d9a19c4f84342afa0a2affebfaa84b01b978a02ecaa7"}, ] pywin32 = [ {file = "pywin32-303-cp310-cp310-win32.whl", hash = "sha256:6fed4af057039f309263fd3285d7b8042d41507343cd5fa781d98fcc5b90e8bb"}, @@ -2913,8 +2912,8 @@ traitlets = [ {file = "traitlets-5.1.1.tar.gz", hash = "sha256:059f456c5a7c1c82b98c2e8c799f39c9b8128f6d0d46941ee118daace9eb70c7"}, ] types-requests = [ - {file = "types-requests-2.27.12.tar.gz", hash = "sha256:fd1382fa2e28eac848faedb0332840204f06f0cb517008e3c7b8282ca53e56d2"}, - {file = "types_requests-2.27.12-py3-none-any.whl", hash = "sha256:120c949953b618e334bbe78de38e65aa261e1f48df021a05f0be833a848e4ba7"}, + {file = "types-requests-2.27.14.tar.gz", hash = "sha256:04579ee164f7c2659be46950e3c2f8d51a081ad252ef1b01d4b12faba5c3810b"}, + {file = "types_requests-2.27.14-py3-none-any.whl", hash = "sha256:c01838abfe3e8a83ba68346cd373afff97594c19c15c922ddee4a0e80ba7e329"}, ] types-urllib3 = [ {file = "types-urllib3-1.26.11.tar.gz", hash = "sha256:24d64e441168851eb05f1d022de18ae31558f5649c8f1117e384c2e85e31315b"}, @@ -2925,15 +2924,15 @@ typing-extensions = [ {file = "typing_extensions-4.1.1.tar.gz", hash = "sha256:1a9462dcc3347a79b1f1c0271fbe79e844580bb598bafa1ed208b94da3cdcd42"}, ] urllib3 = [ - {file = "urllib3-1.26.8-py2.py3-none-any.whl", hash = "sha256:000ca7f471a233c2251c6c7023ee85305721bfdf18621ebff4fd17a8653427ed"}, - {file = "urllib3-1.26.8.tar.gz", hash = "sha256:0e7c33d9a63e7ddfcb86780aac87befc2fbddf46c58dbb487e0855f7ceec283c"}, + {file = "urllib3-1.26.9-py2.py3-none-any.whl", hash = "sha256:44ece4d53fb1706f667c9bd1c648f5469a2ec925fcf3a776667042d645472c14"}, + {file = "urllib3-1.26.9.tar.gz", hash = "sha256:aabaf16477806a5e1dd19aa41f8c2b7950dd3c746362d7e3223dbe6de6ac448e"}, ] us = [ {file = "us-2.0.2.tar.gz", hash = "sha256:cb11ad0d43deff3a1c3690c74f0c731cff5b862c73339df2edd91133e1496fbc"}, ] virtualenv = [ - {file = "virtualenv-20.13.3-py2.py3-none-any.whl", hash = "sha256:dd448d1ded9f14d1a4bfa6bfc0c5b96ae3be3f2d6c6c159b23ddcfd701baa021"}, - {file = "virtualenv-20.13.3.tar.gz", hash = "sha256:e9dd1a1359d70137559034c0f5433b34caf504af2dc756367be86a5a32967134"}, + {file = "virtualenv-20.13.4-py2.py3-none-any.whl", hash = "sha256:c3e01300fb8495bc00ed70741f5271fc95fed067eb7106297be73d30879af60c"}, + {file = "virtualenv-20.13.4.tar.gz", hash = "sha256:ce8901d3bbf3b90393498187f2d56797a8a452fb2d0d7efc6fd837554d6f679c"}, ] wcwidth = [ {file = "wcwidth-0.2.5-py2.py3-none-any.whl", hash = "sha256:beb4802a9cebb9144e99086eff703a642a13d6a0052920003a230f3294bbe784"}, @@ -2944,8 +2943,8 @@ webencodings = [ {file = "webencodings-0.5.1.tar.gz", hash = "sha256:b36a1c245f2d304965eb4e0a82848379241dc04b865afcc4aab16748587e1923"}, ] widgetsnbextension = [ - {file = "widgetsnbextension-3.5.2-py2.py3-none-any.whl", hash = "sha256:763a9fdc836d141fa080005a886d63f66f73d56dba1fb5961afc239c77708569"}, - {file = "widgetsnbextension-3.5.2.tar.gz", hash = "sha256:e0731a60ba540cd19bbbefe771a9076dcd2dde90713a8f87f27f53f2d1db7727"}, + {file = "widgetsnbextension-3.6.0-py2.py3-none-any.whl", hash = "sha256:4fd321cad39fdcf8a8e248a657202d42917ada8e8ed5dd3f60f073e0d54ceabd"}, + {file = "widgetsnbextension-3.6.0.tar.gz", hash = "sha256:e84a7a9fcb9baf3d57106e184a7389a8f8eb935bf741a5eb9d60aa18cc029a80"}, ] wrapt = [ {file = "wrapt-1.13.3-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:e05e60ff3b2b0342153be4d1b597bbcfd8330890056b9619f4ad6b8d5c96a81a"}, From dc981919f123889c6a2a5bd488b7f64b8c84434a Mon Sep 17 00:00:00 2001 From: Emma Nechamkin <97977170+emma-nechamkin@users.noreply.github.com> Date: Tue, 29 Mar 2022 20:17:10 -0400 Subject: [PATCH 2/4] Adding booleans for FE to display (#1393) PR adds booleans for each individual threshold category for the front end to display. --- .../data_pipeline/etl/score/constants.py | 29 ++- .../tests/sample_data/score_data_initial.csv | 6 +- .../tests/snapshots/score_data_expected.pkl | Bin 50992 -> 52819 bytes .../snapshots/score_transformed_expected.pkl | Bin 50639 -> 52466 bytes .../tests/snapshots/tile_data_expected.pkl | Bin 3434 -> 3903 bytes .../data_pipeline/score/field_names.py | 57 ++++++ .../data_pipeline/score/score_m.py | 172 +++++++++++------- 7 files changed, 190 insertions(+), 74 deletions(-) diff --git a/data/data-pipeline/data_pipeline/etl/score/constants.py b/data/data-pipeline/data_pipeline/etl/score/constants.py index 64858e3e..d6a68ebe 100644 --- a/data/data-pipeline/data_pipeline/etl/score/constants.py +++ b/data/data-pipeline/data_pipeline/etl/score/constants.py @@ -1,5 +1,6 @@ from pathlib import Path import datetime + from data_pipeline.config import settings from data_pipeline.score import field_names @@ -186,12 +187,37 @@ TILES_SCORE_COLUMNS = { field_names.POVERTY_LOW_HS_LOW_HIGHER_ED_FIELD: "PLHSE", field_names.LOW_MEDIAN_INCOME_LOW_HS_LOW_HIGHER_ED_FIELD: "LMILHSE", field_names.UNEMPLOYMENT_LOW_HS_LOW_HIGHER_ED_FIELD: "ULHSE", + # new booleans only for the environmental factors + field_names.EXPECTED_POPULATION_LOSS_EXCEEDS_PCTILE_THRESHOLD: "EPL_ET", + field_names.EXPECTED_AGRICULTURAL_LOSS_EXCEEDS_PCTILE_THRESHOLD: "EAL_ET", + field_names.EXPECTED_BUILDING_LOSS_EXCEEDS_PCTILE_THRESHOLD: "EBL_ET", + field_names.ENERGY_BURDEN_EXCEEDS_PCTILE_THRESHOLD: "EB_ET", + field_names.PM25_EXCEEDS_PCTILE_THRESHOLD: "PM25_ET", + field_names.DIESEL_EXCEEDS_PCTILE_THRESHOLD: "DS_ET", + field_names.TRAFFIC_PROXIMITY_PCTILE_THRESHOLD: "TP_ET", + field_names.LEAD_PAINT_PROXY_PCTILE_THRESHOLD: "LPP_ET", + field_names.HOUSING_BURDEN_PCTILE_THRESHOLD: "HB_ET", + field_names.RMP_PCTILE_THRESHOLD: "RMP_ET", + field_names.NPL_PCTILE_THRESHOLD: "NPL_ET", + field_names.TSDF_PCTILE_THRESHOLD: "TSDF_ET", + field_names.WASTEWATER_PCTILE_THRESHOLD: "WD_ET", + field_names.DIABETES_PCTILE_THRESHOLD: "DB_ET", + field_names.ASTHMA_PCTILE_THRESHOLD: "A_ET", + field_names.HEART_DISEASE_PCTILE_THRESHOLD: "HD_ET", + field_names.LOW_LIFE_EXPECTANCY_PCTILE_THRESHOLD: "LLE_ET", + field_names.UNEMPLOYMENT_PCTILE_THRESHOLD: "UN_ET", + field_names.LINGUISTIC_ISOLATION_PCTILE_THRESHOLD: "LISO_ET", + field_names.POVERTY_PCTILE_THRESHOLD: "POV_ET", + field_names.LOW_MEDIAN_INCOME_PCTILE_THRESHOLD: "LMI_ET", + field_names.ISLAND_LOW_MEDIAN_INCOME_PCTILE_THRESHOLD: "IA_LMI_ET", + field_names.ISLAND_UNEMPLOYMENT_PCTILE_THRESHOLD: "IA_UN_ET", + field_names.ISLAND_POVERTY_PCTILE_THRESHOLD: "IA_POV_ET", + field_names.FPL_200_SERIES: "FPL200S", field_names.THRESHOLD_COUNT: "TC", field_names.CATEGORY_COUNT: "CC", field_names.ISLAND_AREAS_UNEMPLOYMENT_LOW_HS_EDUCATION_FIELD: "IAULHSE", field_names.ISLAND_AREAS_POVERTY_LOW_HS_EDUCATION_FIELD: "IAPLHSE", field_names.ISLAND_AREAS_LOW_MEDIAN_INCOME_LOW_HS_EDUCATION_FIELD: "IALMILHSE", - field_names.ISLAND_AREAS_LOW_HS_EDUCATION_FIELD: "IALHE", # Percentiles for Island areas' workforce columns field_names.LOW_CENSUS_DECENNIAL_AREA_MEDIAN_INCOME_PERCENT_FIELD_2009 + field_names.PERCENTILE_FIELD_SUFFIX: "IALMILHSE_PFS", @@ -202,6 +228,7 @@ TILES_SCORE_COLUMNS = { + field_names.ISLAND_AREAS_PERCENTILE_ADJUSTMENT_FIELD + field_names.PERCENTILE_FIELD_SUFFIX: "IAULHSE_PFS", field_names.LOW_HS_EDUCATION_LOW_HIGHER_ED_FIELD: "LHE", + field_names.ISLAND_AREAS_LOW_HS_EDUCATION_FIELD: "IALHE", # Percentage of HS Degree completion for Islands field_names.CENSUS_DECENNIAL_HIGH_SCHOOL_ED_FIELD_2009: "IAHSEF", field_names.COLLEGE_ATTENDANCE_FIELD: "CA", diff --git a/data/data-pipeline/data_pipeline/etl/score/tests/sample_data/score_data_initial.csv b/data/data-pipeline/data_pipeline/etl/score/tests/sample_data/score_data_initial.csv index fc052a3f..03923094 100644 --- a/data/data-pipeline/data_pipeline/etl/score/tests/sample_data/score_data_initial.csv +++ b/data/data-pipeline/data_pipeline/etl/score/tests/sample_data/score_data_initial.csv @@ -1,3 +1,3 @@ -GEOID10_TRACT,Persistent Poverty Census Tract,Housing burden (percent),Total population,Median household income (% of state median household income),Current asthma among adults aged greater than or equal to 18 years,Coronary heart disease among adults aged greater than or equal to 18 years,Cancer (excluding skin cancer) among adults aged greater than or equal to 18 years,Current lack of health insurance among adults aged 18-64 years,Diagnosed diabetes among adults aged greater than or equal to 18 years,Physical health not good for greater than or equal to 14 days among adults aged greater than or equal to 18 years,Percent of individuals < 100% Federal Poverty Line,Percent of individuals < 150% Federal Poverty Line,Percent of individuals below 200% Federal Poverty Line,Area Median Income (State or metropolitan),Median household income in the past 12 months,Energy burden,FEMA Risk Index Expected Annual Loss Score,Urban Heuristic Flag,Air toxics cancer risk,Respiratory hazard index,Diesel particulate matter exposure,PM2.5 in the air,Ozone,Traffic proximity and volume,Proximity to Risk Management Plan (RMP) facilities,Proximity to hazardous waste sites,Proximity to NPL sites,Wastewater discharge,Percent pre-1960s housing (lead paint indicator),Individuals under 5 years old,Individuals over 64 years old,Linguistic isolation (percent),Percent of households in linguistic isolation,Poverty (Less than 200% of federal poverty line),Percent individuals age 25 or over with less than high school degree,Unemployment (percent),Median value ($) of owner-occupied housing units,Percent enrollment in college or graduate school,Percent of population not currently enrolled in college or graduate school,Expected building loss rate (Natural Hazards Risk Index),Expected agricultural loss rate (Natural Hazards Risk Index),Expected population loss rate (Natural Hazards Risk Index),Percent individuals age 25 or over with less than high school degree in 2009,Percentage households below 100% of federal poverty line in 2009,Unemployment (percent) in 2009,Unemployment (percent) in 2010,Percent of individuals less than 100% Federal Poverty Line in 2010,Total population in 2009,Summer days above 90F,Percent low access to healthy food,Percent impenetrable surface areas,Contains agricultural value,Third grade reading proficiency,Median household income as a percent of area median income,Life expectancy (years),Median household income as a percent of territory median income in 2009,Housing burden (percent) (percentile),Housing burden (percent) (value urban only),Housing burden (percent) (percentile urban only),Housing burden (percent) (value rural only),Housing burden (percent) (percentile rural only),Housing burden (percent) (percentile urban/rural),Housing burden (percent) (min-max normalized),Total population (percentile),Total population (value urban only),Total population (percentile urban only),Total population (value rural only),Total population (percentile rural only),Total population (percentile urban/rural),Total population (min-max normalized),Median household income (% of state median household income) (percentile),Median household income (% of state median household income) (value urban only),Median household income (% of state median household income) (percentile urban only),Median household income (% of state median household income) (value rural only),Median household income (% of state median household income) (percentile rural only),Median household income (% of state median household income) (percentile urban/rural),Median household income (% of state median household income) (min-max normalized),Current asthma among adults aged greater than or equal to 18 years (percentile),Current asthma among adults aged greater than or equal to 18 years (value urban only),Current asthma among adults aged greater than or equal to 18 years (percentile urban only),Current asthma among adults aged greater than or equal to 18 years (value rural only),Current asthma among adults aged greater than or equal to 18 years (percentile rural only),Current asthma among adults aged greater than or equal to 18 years (percentile urban/rural),Current asthma among adults aged greater than or equal to 18 years (min-max normalized),Coronary heart disease among adults aged greater than or equal to 18 years (percentile),Coronary heart disease among adults aged greater than or equal to 18 years (value urban only),Coronary heart disease among adults aged greater than or equal to 18 years (percentile urban only),Coronary heart disease among adults aged greater than or equal to 18 years (value rural only),Coronary heart disease among adults aged greater than or equal to 18 years (percentile rural only),Coronary heart disease among adults aged greater than or equal to 18 years (percentile urban/rural),Coronary heart disease among adults aged greater than or equal to 18 years (min-max normalized),Cancer (excluding skin cancer) among adults aged greater than or equal to 18 years (percentile),Cancer (excluding skin cancer) among adults aged greater than or equal to 18 years (value urban only),Cancer (excluding skin cancer) among adults aged greater than or equal to 18 years (percentile urban only),Cancer (excluding skin cancer) among adults aged greater than or equal to 18 years (value rural only),Cancer (excluding skin cancer) among adults aged greater than or equal to 18 years (percentile rural only),Cancer (excluding skin cancer) among adults aged greater than or equal to 18 years (percentile urban/rural),Cancer (excluding skin cancer) among adults aged greater than or equal to 18 years (min-max normalized),Current lack of health insurance among adults aged 18-64 years (percentile),Current lack of health insurance among adults aged 18-64 years (value urban only),Current lack of health insurance among adults aged 18-64 years (percentile urban only),Current lack of health insurance among adults aged 18-64 years (value rural only),Current lack of health insurance among adults aged 18-64 years (percentile rural only),Current lack of health insurance among adults aged 18-64 years (percentile urban/rural),Current lack of health insurance among adults aged 18-64 years (min-max normalized),Diagnosed diabetes among adults aged greater than or equal to 18 years (percentile),Diagnosed diabetes among adults aged greater than or equal to 18 years (value urban only),Diagnosed diabetes among adults aged greater than or equal to 18 years (percentile urban only),Diagnosed diabetes among adults aged greater than or equal to 18 years (value rural only),Diagnosed diabetes among adults aged greater than or equal to 18 years (percentile rural only),Diagnosed diabetes among adults aged greater than or equal to 18 years (percentile urban/rural),Diagnosed diabetes among adults aged greater than or equal to 18 years (min-max normalized),Physical health not good for greater than or equal to 14 days among adults aged greater than or equal to 18 years (percentile),Physical health not good for greater than or equal to 14 days among adults aged greater than or equal to 18 years (value urban only),Physical health not good for greater than or equal to 14 days among adults aged greater than or equal to 18 years (percentile urban only),Physical health not good for greater than or equal to 14 days among adults aged greater than or equal to 18 years (value rural only),Physical health not good for greater than or equal to 14 days among adults aged greater than or equal to 18 years (percentile rural only),Physical health not good for greater than or equal to 14 days among adults aged greater than or equal to 18 years (percentile urban/rural),Physical health not good for greater than or equal to 14 days among adults aged greater than or equal to 18 years (min-max normalized),Percent of individuals < 100% Federal Poverty Line (percentile),Percent of individuals < 100% Federal Poverty Line (value urban only),Percent of individuals < 100% Federal Poverty Line (percentile urban only),Percent of individuals < 100% Federal Poverty Line (value rural only),Percent of individuals < 100% Federal Poverty Line (percentile rural only),Percent of individuals < 100% Federal Poverty Line (percentile urban/rural),Percent of individuals < 100% Federal Poverty Line (min-max normalized),Percent of individuals < 150% Federal Poverty Line (percentile),Percent of individuals < 150% Federal Poverty Line (value urban only),Percent of individuals < 150% Federal Poverty Line (percentile urban only),Percent of individuals < 150% Federal Poverty Line (value rural only),Percent of individuals < 150% Federal Poverty Line (percentile rural only),Percent of individuals < 150% Federal Poverty Line (percentile urban/rural),Percent of individuals < 150% Federal Poverty Line (min-max normalized),Percent of individuals below 200% Federal Poverty Line (percentile),Percent of individuals below 200% Federal Poverty Line (value urban only),Percent of individuals below 200% Federal Poverty Line (percentile urban only),Percent of individuals below 200% Federal Poverty Line (value rural only),Percent of individuals below 200% Federal Poverty Line (percentile rural only),Percent of individuals below 200% Federal Poverty Line (percentile urban/rural),Percent of individuals below 200% Federal Poverty Line (min-max normalized),Area Median Income (State or metropolitan) (percentile),Area Median Income (State or metropolitan) (value urban only),Area Median Income (State or metropolitan) (percentile urban only),Area Median Income (State or metropolitan) (value rural only),Area Median Income (State or metropolitan) (percentile rural only),Area Median Income (State or metropolitan) (percentile urban/rural),Area Median Income (State or metropolitan) (min-max normalized),Median household income in the past 12 months (percentile),Median household income in the past 12 months (value urban only),Median household income in the past 12 months (percentile urban only),Median household income in the past 12 months (value rural only),Median household income in the past 12 months (percentile rural only),Median household income in the past 12 months (percentile urban/rural),Median household income in the past 12 months (min-max normalized),Energy burden (percentile),Energy burden (value urban only),Energy burden (percentile urban only),Energy burden (value rural only),Energy burden (percentile rural only),Energy burden (percentile urban/rural),Energy burden (min-max normalized),FEMA Risk Index Expected Annual Loss Score (percentile),FEMA Risk Index Expected Annual Loss Score (value urban only),FEMA Risk Index Expected Annual Loss Score (percentile urban only),FEMA Risk Index Expected Annual Loss Score (value rural only),FEMA Risk Index Expected Annual Loss Score (percentile rural only),FEMA Risk Index Expected Annual Loss Score (percentile urban/rural),FEMA Risk Index Expected Annual Loss Score (min-max normalized),Urban Heuristic Flag (percentile),Urban Heuristic Flag (value urban only),Urban Heuristic Flag (percentile urban only),Urban Heuristic Flag (value rural only),Urban Heuristic Flag (percentile rural only),Urban Heuristic Flag (percentile urban/rural),Urban Heuristic Flag (min-max normalized),Air toxics cancer risk (percentile),Air toxics cancer risk (value urban only),Air toxics cancer risk (percentile urban only),Air toxics cancer risk (value rural only),Air toxics cancer risk (percentile rural only),Air toxics cancer risk (percentile urban/rural),Air toxics cancer risk (min-max normalized),Respiratory hazard index (percentile),Respiratory hazard index (value urban only),Respiratory hazard index (percentile urban only),Respiratory hazard index (value rural only),Respiratory hazard index (percentile rural only),Respiratory hazard index (percentile urban/rural),Respiratory hazard index (min-max normalized),Diesel particulate matter exposure (percentile),Diesel particulate matter exposure (value urban only),Diesel particulate matter exposure (percentile urban only),Diesel particulate matter exposure (value rural only),Diesel particulate matter exposure (percentile rural only),Diesel particulate matter exposure (percentile urban/rural),Diesel particulate matter exposure (min-max normalized),PM2.5 in the air (percentile),PM2.5 in the air (value urban only),PM2.5 in the air (percentile urban only),PM2.5 in the air (value rural only),PM2.5 in the air (percentile rural only),PM2.5 in the air (percentile urban/rural),PM2.5 in the air (min-max normalized),Ozone (percentile),Ozone (value urban only),Ozone (percentile urban only),Ozone (value rural only),Ozone (percentile rural only),Ozone (percentile urban/rural),Ozone (min-max normalized),Traffic proximity and volume (percentile),Traffic proximity and volume (value urban only),Traffic proximity and volume (percentile urban only),Traffic proximity and volume (value rural only),Traffic proximity and volume (percentile rural only),Traffic proximity and volume (percentile urban/rural),Traffic proximity and volume (min-max normalized),Proximity to Risk Management Plan (RMP) facilities (percentile),Proximity to Risk Management Plan (RMP) facilities (value urban only),Proximity to Risk Management Plan (RMP) facilities (percentile urban only),Proximity to Risk Management Plan (RMP) facilities (value rural only),Proximity to Risk Management Plan (RMP) facilities (percentile rural only),Proximity to Risk Management Plan (RMP) facilities (percentile urban/rural),Proximity to Risk Management Plan (RMP) facilities (min-max normalized),Proximity to hazardous waste sites (percentile),Proximity to hazardous waste sites (value urban only),Proximity to hazardous waste sites (percentile urban only),Proximity to hazardous waste sites (value rural only),Proximity to hazardous waste sites (percentile rural only),Proximity to hazardous waste sites (percentile urban/rural),Proximity to hazardous waste sites (min-max normalized),Proximity to NPL sites (percentile),Proximity to NPL sites (value urban only),Proximity to NPL sites (percentile urban only),Proximity to NPL sites (value rural only),Proximity to NPL sites (percentile rural only),Proximity to NPL sites (percentile urban/rural),Proximity to NPL sites (min-max normalized),Wastewater discharge (percentile),Wastewater discharge (value urban only),Wastewater discharge (percentile urban only),Wastewater discharge (value rural only),Wastewater discharge (percentile rural only),Wastewater discharge (percentile urban/rural),Wastewater discharge (min-max normalized),Percent pre-1960s housing (lead paint indicator) (percentile),Percent pre-1960s housing (lead paint indicator) (value urban only),Percent pre-1960s housing (lead paint indicator) (percentile urban only),Percent pre-1960s housing (lead paint indicator) (value rural only),Percent pre-1960s housing (lead paint indicator) (percentile rural only),Percent pre-1960s housing (lead paint indicator) (percentile urban/rural),Percent pre-1960s housing (lead paint indicator) (min-max normalized),Individuals under 5 years old (percentile),Individuals under 5 years old (value urban only),Individuals under 5 years old (percentile urban only),Individuals under 5 years old (value rural only),Individuals under 5 years old (percentile rural only),Individuals under 5 years old (percentile urban/rural),Individuals under 5 years old (min-max normalized),Individuals over 64 years old (percentile),Individuals over 64 years old (value urban only),Individuals over 64 years old (percentile urban only),Individuals over 64 years old (value rural only),Individuals over 64 years old (percentile rural only),Individuals over 64 years old (percentile urban/rural),Individuals over 64 years old (min-max normalized),Linguistic isolation (percent) (percentile),Linguistic isolation (percent) (value urban only),Linguistic isolation (percent) (percentile urban only),Linguistic isolation (percent) (value rural only),Linguistic isolation (percent) (percentile rural only),Linguistic isolation (percent) (percentile urban/rural),Linguistic isolation (percent) (min-max normalized),Percent of households in linguistic isolation (percentile),Percent of households in linguistic isolation (value urban only),Percent of households in linguistic isolation (percentile urban only),Percent of households in linguistic isolation (value rural only),Percent of households in linguistic isolation (percentile rural only),Percent of households in linguistic isolation (percentile urban/rural),Percent of households in linguistic isolation (min-max normalized),Poverty (Less than 200% of federal poverty line) (percentile),Poverty (Less than 200% of federal poverty line) (value urban only),Poverty (Less than 200% of federal poverty line) (percentile urban only),Poverty (Less than 200% of federal poverty line) (value rural only),Poverty (Less than 200% of federal poverty line) (percentile rural only),Poverty (Less than 200% of federal poverty line) (percentile urban/rural),Poverty (Less than 200% of federal poverty line) (min-max normalized),Percent individuals age 25 or over with less than high school degree (percentile),Percent individuals age 25 or over with less than high school degree (value urban only),Percent individuals age 25 or over with less than high school degree (percentile urban only),Percent individuals age 25 or over with less than high school degree (value rural only),Percent individuals age 25 or over with less than high school degree (percentile rural only),Percent individuals age 25 or over with less than high school degree (percentile urban/rural),Percent individuals age 25 or over with less than high school degree (min-max normalized),Unemployment (percent) (percentile),Unemployment (percent) (value urban only),Unemployment (percent) (percentile urban only),Unemployment (percent) (value rural only),Unemployment (percent) (percentile rural only),Unemployment (percent) (percentile urban/rural),Unemployment (percent) (min-max normalized),Median value ($) of owner-occupied housing units (percentile),Median value ($) of owner-occupied housing units (value urban only),Median value ($) of owner-occupied housing units (percentile urban only),Median value ($) of owner-occupied housing units (value rural only),Median value ($) of owner-occupied housing units (percentile rural only),Median value ($) of owner-occupied housing units (percentile urban/rural),Median value ($) of owner-occupied housing units (min-max normalized),Percent enrollment in college or graduate school (percentile),Percent enrollment in college or graduate school (value urban only),Percent enrollment in college or graduate school (percentile urban only),Percent enrollment in college or graduate school (value rural only),Percent enrollment in college or graduate school (percentile rural only),Percent enrollment in college or graduate school (percentile urban/rural),Percent enrollment in college or graduate school (min-max normalized),Percent of population not currently enrolled in college or graduate school (percentile),Percent of population not currently enrolled in college or graduate school (value urban only),Percent of population not currently enrolled in college or graduate school (percentile urban only),Percent of population not currently enrolled in college or graduate school (value rural only),Percent of population not currently enrolled in college or graduate school (percentile rural only),Percent of population not currently enrolled in college or graduate school (percentile urban/rural),Percent of population not currently enrolled in college or graduate school (min-max normalized),Expected building loss rate (Natural Hazards Risk Index) (percentile),Expected building loss rate (Natural Hazards Risk Index) (value urban only),Expected building loss rate (Natural Hazards Risk Index) (percentile urban only),Expected building loss rate (Natural Hazards Risk Index) (value rural only),Expected building loss rate (Natural Hazards Risk Index) (percentile rural only),Expected building loss rate (Natural Hazards Risk Index) (percentile urban/rural),Expected building loss rate (Natural Hazards Risk Index) (min-max normalized),Expected agricultural loss rate (Natural Hazards Risk Index) (percentile),Expected agricultural loss rate (Natural Hazards Risk Index) (value urban only),Expected agricultural loss rate (Natural Hazards Risk Index) (percentile urban only),Expected agricultural loss rate (Natural Hazards Risk Index) (value rural only),Expected agricultural loss rate (Natural Hazards Risk Index) (percentile rural only),Expected agricultural loss rate (Natural Hazards Risk Index) (percentile urban/rural),Expected agricultural loss rate (Natural Hazards Risk Index) (min-max normalized),Expected population loss rate (Natural Hazards Risk Index) (percentile),Expected population loss rate (Natural Hazards Risk Index) (value urban only),Expected population loss rate (Natural Hazards Risk Index) (percentile urban only),Expected population loss rate (Natural Hazards Risk Index) (value rural only),Expected population loss rate (Natural Hazards Risk Index) (percentile rural only),Expected population loss rate (Natural Hazards Risk Index) (percentile urban/rural),Expected population loss rate (Natural Hazards Risk Index) (min-max normalized),Percent individuals age 25 or over with less than high school degree in 2009 (percentile),Percent individuals age 25 or over with less than high school degree in 2009 (value urban only),Percent individuals age 25 or over with less than high school degree in 2009 (percentile urban only),Percent individuals age 25 or over with less than high school degree in 2009 (value rural only),Percent individuals age 25 or over with less than high school degree in 2009 (percentile rural only),Percent individuals age 25 or over with less than high school degree in 2009 (percentile urban/rural),Percent individuals age 25 or over with less than high school degree in 2009 (min-max normalized),Percentage households below 100% of federal poverty line in 2009 (percentile),Percentage households below 100% of federal poverty line in 2009 (value urban only),Percentage households below 100% of federal poverty line in 2009 (percentile urban only),Percentage households below 100% of federal poverty line in 2009 (value rural only),Percentage households below 100% of federal poverty line in 2009 (percentile rural only),Percentage households below 100% of federal poverty line in 2009 (percentile urban/rural),Percentage households below 100% of federal poverty line in 2009 (min-max normalized),Unemployment (percent) in 2009 (percentile),Unemployment (percent) in 2009 (value urban only),Unemployment (percent) in 2009 (percentile urban only),Unemployment (percent) in 2009 (value rural only),Unemployment (percent) in 2009 (percentile rural only),Unemployment (percent) in 2009 (percentile urban/rural),Unemployment (percent) in 2009 (min-max normalized),Unemployment (percent) in 2010 (percentile),Unemployment (percent) in 2010 (value urban only),Unemployment (percent) in 2010 (percentile urban only),Unemployment (percent) in 2010 (value rural only),Unemployment (percent) in 2010 (percentile rural only),Unemployment (percent) in 2010 (percentile urban/rural),Unemployment (percent) in 2010 (min-max normalized),Percent of individuals less than 100% Federal Poverty Line in 2010 (percentile),Percent of individuals less than 100% Federal Poverty Line in 2010 (value urban only),Percent of individuals less than 100% Federal Poverty Line in 2010 (percentile urban only),Percent of individuals less than 100% Federal Poverty Line in 2010 (value rural only),Percent of individuals less than 100% Federal Poverty Line in 2010 (percentile rural only),Percent of individuals less than 100% Federal Poverty Line in 2010 (percentile urban/rural),Percent of individuals less than 100% Federal Poverty Line in 2010 (min-max normalized),Total population in 2009 (percentile),Total population in 2009 (value urban only),Total population in 2009 (percentile urban only),Total population in 2009 (value rural only),Total population in 2009 (percentile rural only),Total population in 2009 (percentile urban/rural),Total population in 2009 (min-max normalized),Summer days above 90F (percentile),Summer days above 90F (value urban only),Summer days above 90F (percentile urban only),Summer days above 90F (value rural only),Summer days above 90F (percentile rural only),Summer days above 90F (percentile urban/rural),Summer days above 90F (min-max normalized),Percent low access to healthy food (percentile),Percent low access to healthy food (value urban only),Percent low access to healthy food (percentile urban only),Percent low access to healthy food (value rural only),Percent low access to healthy food (percentile rural only),Percent low access to healthy food (percentile urban/rural),Percent low access to healthy food (min-max normalized),Percent impenetrable surface areas (percentile),Percent impenetrable surface areas (value urban only),Percent impenetrable surface areas (percentile urban only),Percent impenetrable surface areas (value rural only),Percent impenetrable surface areas (percentile rural only),Percent impenetrable surface areas (percentile urban/rural),Percent impenetrable surface areas (min-max normalized),Contains agricultural value (percentile),Contains agricultural value (value urban only),Contains agricultural value (percentile urban only),Contains agricultural value (value rural only),Contains agricultural value (percentile rural only),Contains agricultural value (percentile urban/rural),Contains agricultural value (min-max normalized),Low third grade reading proficiency (percentile),Third grade reading proficiency (value urban only),Low third grade reading proficiency (percentile urban only),Third grade reading proficiency (value rural only),Low third grade reading proficiency (percentile rural only),Low third grade reading proficiency (percentile urban/rural),Low median household income as a percent of area median income (percentile),Median household income as a percent of area median income (value urban only),Low median household income as a percent of area median income (percentile urban only),Median household income as a percent of area median income (value rural only),Low median household income as a percent of area median income (percentile rural only),Low median household income as a percent of area median income (percentile urban/rural),Low life expectancy (percentile),Life expectancy (years) (value urban only),Low life expectancy (percentile urban only),Life expectancy (years) (value rural only),Low life expectancy (percentile rural only),Low life expectancy (percentile urban/rural),Low median household income as a percent of territory median income in 2009 (percentile),Median household income as a percent of territory median income in 2009 (value urban only),Low median household income as a percent of territory median income in 2009 (percentile urban only),Median household income as a percent of territory median income in 2009 (value rural only),Low median household income as a percent of territory median income in 2009 (percentile rural only),Low median household income as a percent of territory median income in 2009 (percentile urban/rural),Total population in 2009 (island areas) and 2019 (states and PR),Score A,Score B,Socioeconomic Factors,Sensitive populations,Environmental effects,Exposures,Pollution Burden,Population Characteristics,Score C,Score D,Score E,"Low AMI, Low HS graduation",Meets socioeconomic criteria,Meets burden criteria,Score F (communities),Score G (communities),Score G,Score G (percentile),Score H (communities),Score H,Score I (communities),Score I,Score I (percentile),NMTC (communities),Score K (communities),Total threshold criteria exceeded,Is low income?,Greater than or equal to the 90th percentile for expected population loss rate and is low income?,Greater than or equal to the 90th percentile for expected agriculture loss rate and is low income?,Greater than or equal to the 90th percentile for expected building loss rate and is low income?,Climate Factor (Definition L),Greater than or equal to the 90th percentile for PM2.5 exposure and is low income?,Greater than or equal to the 90th percentile for energy burden and is low income?,Energy Factor (Definition L),Greater than or equal to the 90th percentile for diesel particulate matter and is low income?,Greater than or equal to the 90th percentile for traffic proximity and is low income?,Transportation Factor (Definition L),Greater than or equal to the 90th percentile for lead paint and the median house value is less than 90th percentile and is low income?,Greater than or equal to the 90th percentile for housing burden and is low income?,Housing Factor (Definition L),Greater than or equal to the 90th percentile for proximity to RMP sites and is low income?,Greater than or equal to the 90th percentile for proximity to superfund sites and is low income?,Greater than or equal to the 90th percentile for proximity to hazardous waste facilities and is low income?,Pollution Factor (Definition L),Greater than or equal to the 90th percentile for wastewater discharge and is low income?,Water Factor (Definition L),Greater than or equal to the 90th percentile for diabetes and is low income?,Greater than or equal to the 90th percentile for asthma and is low income?,Greater than or equal to the 90th percentile for heart disease and is low income?,Greater than or equal to the 90th percentile for low life expectancy and is low income?,Health Factor (Definition L),Low high school education,Greater than or equal to the 90th percentile for households in linguistic isolation and has low HS education?,Greater than or equal to the 90th percentile for households at or below 100% federal poverty level and has low HS education?,Greater than or equal to the 90th percentile for low median household income as a percent of area median income and has low HS education?,Greater than or equal to the 90th percentile for unemployment and has low HS education?,Unemployment (percent) in 2009 (island areas) and 2010 (states and PR),Unemployment (percent) in 2009 exceeds 90th percentile,Percentage households below 100% of federal poverty line in 2009 (island areas) and 2010 (states and PR),Percentage households below 100% of federal poverty line in 2009 exceeds 90th percentile,Low median household income as a percent of territory median income in 2009 exceeds 90th percentile,Low high school education in 2009 (island areas),Greater than or equal to the 90th percentile for unemployment and has low HS education in 2009 (island areas)?,Greater than or equal to the 90th percentile for households at or below 100% federal poverty level and has low HS education in 2009 (island areas)?,Greater than or equal to the 90th percentile for low median household income as a percent of area median income and has low HS education in 2009 (island areas)?,Workforce Factor (Definition L),Definition L (communities),Any Non-Workforce Factor (Definition L),Definition L (percentile),Exceeds FPL200 threshold,Percent higher ed enrollment rate is less than 20%,Is low income and has a low percent of higher ed students?,At least one climate threshold exceeded,"Greater than or equal to the 90th percentile for expected population loss rate, is low income, and has a low percent of higher ed students?","Greater than or equal to the 90th percentile for expected agriculture loss rate, is low income, and has a low percent of higher ed students?","Greater than or equal to the 90th percentile for expected building loss rate, is low income, and has a low percent of higher ed students?",Climate Factor (Definition M),At least one energy threshold exceeded,"Greater than or equal to the 90th percentile for PM2.5 exposure, is low income, and has a low percent of higher ed students?","Greater than or equal to the 90th percentile for energy burden, is low income, and has a low percent of higher ed students?",Energy Factor (Definition M),At least one traffic threshold exceeded,"Greater than or equal to the 90th percentile for diesel particulate matter, is low income, and has a low percent of higher ed students?","Greater than or equal to the 90th percentile for traffic proximity, is low income, and has a low percent of higher ed students?",Transportation Factor (Definition M),At least one housing threshold exceeded,"Greater than or equal to the 90th percentile for lead paint, the median house value is less than 90th percentile, is low income, and has a low percent of higher ed students?","Greater than or equal to the 90th percentile for housing burden, is low income, and has a low percent of higher ed students?",Housing Factor (Definition M),At least one pollution threshold exceeded,"Greater than or equal to the 90th percentile for proximity to RMP sites, is low income, and has a low percent of higher ed students?","Greater than or equal to the 90th percentile for proximity to superfund sites, is low income, and has a low percent of higher ed students?","Greater than or equal to the 90th percentile for proximity to hazardous waste facilities, is low income, and has a low percent of higher ed students?",Pollution Factor (Definition M),At least one water threshold exceeded,"Greater than or equal to the 90th percentile for wastewater discharge, is low income, and has a low percent of higher ed students?",Water Factor (Definition M),At least one health threshold exceeded,"Greater than or equal to the 90th percentile for diabetes, is low income, and has a low percent of higher ed students?","Greater than or equal to the 90th percentile for asthma, is low income, and has a low percent of higher ed students?","Greater than or equal to the 90th percentile for heart disease, is low income, and has a low percent of higher ed students?","Greater than or equal to the 90th percentile for low life expectancy, is low income, and has a low percent of higher ed students?",Health Factor (Definition M),Low high school education and low percent of higher ed students,"Greater than or equal to the 90th percentile for households in linguistic isolation, has low HS attainment, and has a low percent of higher ed students?","Greater than or equal to the 90th percentile for households at or below 100% federal poverty level, has low HS attainment, and has a low percent of higher ed students?","Greater than or equal to the 90th percentile for low median household income as a percent of area median income, has low HS attainment, and has a low percent of higher ed students?","Greater than or equal to the 90th percentile for unemployment, has low HS attainment, and has a low percent of higher ed students?",Unemployment (percent) in 2009 for island areas (percentile),Percentage households below 100% of federal poverty line in 2009 for island areas (percentile),At least one workforce threshold exceeded,Both workforce socioeconomic indicators exceeded,Workforce Factor (Definition M),Total categories exceeded,Definition M (communities),Any Non-Workforce Factor (Definition M),Definition M (percentile),Score A (percentile),Score A (top 25th percentile),Score A (top 30th percentile),Score A (top 35th percentile),Score A (top 40th percentile),Score B (percentile),Score B (top 25th percentile),Score B (top 30th percentile),Score B (top 35th percentile),Score B (top 40th percentile),Score C (percentile),Score C (top 25th percentile),Score C (top 30th percentile),Score C (top 35th percentile),Score C (top 40th percentile),Score D (percentile),Score D (top 25th percentile),Score D (top 30th percentile),Score D (top 35th percentile),Score D (top 40th percentile),Score E (percentile),Score E (top 25th percentile),Score E (top 30th percentile),Score E (top 35th percentile),Score E (top 40th percentile) -01073001100,True,0.2752043596730245,4897.0,0.7327449738800064,11.2,7.2,6.7,16.6,19.3,15.1,0.150375939849624,0.318796992481203,0.3744360902255639,57447.0,37030.0,0.049,18.7674524286,1.0,51.1530304943,0.735568574566,0.63998588,10.3951975342,39.404630719,253.995131498,2.03499777769,0.708723792992,0.134193041308,1.0556674669,0.205868653936,0.0308352052277,0.185011231366,0.0,0.0,0.407205697528,0.0821917808219178,0.0092071611253196,85500.0,0.0890751899397432,0.9109248100602568,0.0004047858,5.6328e-05,2.8039e-06,,,,0.1536983669548511,0.3189099613330878,,62.666668,0.068036923,0.171,1.0,58.143433,0.6445941476491375,70.3,,0.6466760729305078,0.2752043596730245,0.5700318443928049,,,0.5700318443928049,0.2752043596730245,0.6512411994432508,4897.0,0.6248587667340021,,,0.6248587667340021,0.0696873532467162,0.2601978513507951,0.7327449738800064,0.2827993864924948,,,0.2827993864924948,0.1434712737274766,0.8509696039125366,11.2,0.835724928163468,,,0.835724928163468,0.3795180722891565,0.7264920810941454,7.2,0.7844637979353648,,,0.7844637979353648,0.1875,0.4789587420739856,6.7,0.5678012699989358,,,0.5678012699989358,0.303921568627451,0.6191105803406409,16.6,0.6018127638440527,,,0.6018127638440527,0.2094488188976378,0.965388552418323,19.3,0.9599666536592288,,,0.9599666536592288,0.4275862068965517,0.697012994398476,15.1,0.7279967363155841,,,0.7279967363155841,0.3440233236151603,0.62043226838371,0.150375939849624,0.6145691950863328,,,0.6145691950863328,0.150375939849624,0.7319580582099551,0.318796992481203,0.7209861695730607,,,0.7209861695730607,0.318796992481203,0.6304939233619051,0.3744360902255639,0.6277982991151962,,,0.6277982991151962,0.3744360902255639,0.3145069836211475,57447.0,0.2657396925099514,,,0.2657396925099514,0.362059663131873,0.1524419513666973,37030.0,0.1569958812277043,,,0.1569958812277043,0.1395180645004889,0.864954517474865,0.049,0.9005173954895489,,,0.9005173954895489,0.0037065052950075,0.6038301323911519,18.7674524286,0.6383816255626487,,,0.6383816255626487,0.1876745242859999,0.5972204988211937,1.0,0.5000085573944445,,,0.5000085573944445,1.0,0.9847958474680182,51.1530304943,0.9819551446670092,,,0.9819551446670092,0.0300384933188293,0.968365553602812,0.735568574566,0.962352336928608,,,0.962352336928608,0.1696726613313424,0.7632321085543794,0.63998588,0.70386920047937,,,0.70386920047937,0.1053235274194042,0.928945948563286,10.3951975342,0.914819538763832,,,0.914819538763832,0.5130755332417333,0.2507228532296667,39.404630719,0.2360646695853011,,,0.2360646695853011,0.2834163202031902,0.4608804184722397,253.995131498,0.3487028727629068,,,0.3487028727629068,0.0081194347824311,0.9022445642626452,2.03499777769,0.8805423357414318,,,0.8805423357414318,0.1192079731904979,0.4244672369292306,0.708723792992,0.2870715924264731,,,0.2870715924264731,0.0016327034632494,0.753733057661383,0.134193041308,0.7050707022289178,,,0.7050707022289178,0.0172289593763426,0.9223869977156124,1.0556674669,0.9078447963253958,,,0.9078447963253958,9.412822248180045e-06,0.4454669531492817,0.205868653936,0.4334577327353032,,,0.4334577327353032,0.205868653936,0.1202416183565086,0.0308352052277,0.108484267470127,,,0.108484267470127,0.0793595720750642,0.695774381427278,0.185011231366,0.7452494265073442,,,0.7452494265073442,0.185011231366,0.1272208772721677,0.0,0.0997988895955446,,,0.0997988895955446,0.0,0.1284712368751773,0.0,0.0986150580340329,,,0.0986150580340329,0.0,0.668247726382076,0.407205697528,0.6576848015886603,,,0.6576848015886603,0.407205697528,0.4189274017467249,0.0821917808219178,0.4443872826422471,,,0.4443872826422471,0.0821917808219178,0.0297871177547618,0.0092071611253196,0.0285699569046924,,,0.0285699569046924,0.0092071611253196,0.1130659551404986,85500.0,0.1076951366876236,,,0.1076951366876236,0.0379401628742081,0.7459685121012851,0.0890751899397432,0.6989610478672336,,,0.6989610478672336,0.0890751899397432,0.2540451308357663,0.9109248100602568,0.3010560965573995,,,0.3010560965573995,0.9109248100602568,0.7846412062513758,0.0004047858,0.82138883658833,,,0.82138883658833,0.01597287904858,0.2153147384849333,5.6328e-05,0.5639836382618221,,,0.5639836382618221,0.0001189507553306,0.6143028498159407,2.8039e-06,0.6689315237296548,,,0.6689315237296548,0.0013204531501148,,,,,,,,,,,,,,,,,,,,,,0.9349594607528132,0.1536983669548511,0.9315960352498582,,,0.9315960352498582,0.1536983669548511,0.8950599559730369,0.3189099613330878,0.8870754376621368,,,0.8870754376621368,0.3189099613330878,,,,,,,,0.7537922665342821,62.666668,0.7585193484443679,,,0.7585193484443679,0.4423529401799308,0.8019598155467721,0.068036923,0.7905320987865615,,,0.7905320987865615,0.068036923,0.4126953421856217,0.171,0.2701910981682835,,,0.2701910981682835,0.1775700879261655,0.6564635202573585,1.0,0.6917369799243527,,,0.6917369799243527,1.0,0.990724418702258,58.143433,0.9890918535191758,,,0.9890918535191758,0.8218135517196475,0.6445941476491375,0.7952314423324387,,,0.7952314423324387,0.97046998263836,70.3,0.9652438793658,,,0.9652438793658,,,,,,,4897.0,0.5435875640644005,0.2799472837363994,0.3784219111378495,0.3144122923519848,0.6896597619436307,0.7261571216484003,0.7139913350801438,0.3464171017449171,0.2473388089694474,0.1547617998296523,0.3781718392172476,False,True,True,True,True,1,1,True,1,True,1,1,True,True,0,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,0.1536983669548511,False,0.3189099613330878,False,False,False,False,False,False,False,False,False,0,False,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,False,False,False,True,False,False,False,False,True,False,False,True,False,False,False,False,False,False,False,False,False,False,,,False,False,False,0,False,False,0,0.5532898204078324,False,False,False,False,0.5490856986899564,False,False,False,False,0.5480683083104825,False,False,False,False,0.5438440021080796,False,False,False,False,0.3320495668977446,False,False,False,False -01073001400,True,0.1823529411764705,1906.0,0.7136694633528574,11.1,9.1,7.3,21.4,22.4,17.4,0.2816032887975334,0.3679342240493319,0.4835560123329907,57447.0,36066.0,0.07,17.3011023381,1.0,54.6950518653,0.76056054321,0.9098084377,10.498270137,39.3676601307,3015.87969265,1.81382525188,3.24085850684,0.214095348703,0.365101735929,0.628839590444,0.0582371458552,0.178908709339,0.0245098039215686,0.0165289256198,0.425498426023,0.1742543171114599,0.1150121065375302,67800.0,0.0771549125979505,0.9228450874020494,0.0008951111,5.1282e-06,2.3791e-06,,,,0.0804953560371517,0.2950894905920146,,61.666668,0.087159691,0.34900002,1.0,93.77919,0.6278134628440127,71.0,,0.3421186011150532,0.1823529411764705,0.2730613650055943,,,0.2730613650055943,0.1823529411764705,0.0867961243766976,1906.0,0.0702656897319135,,,0.0702656897319135,0.0271235644860611,0.240302951305517,0.7136694633528574,0.2631705929998104,,,0.2631705929998104,0.1395725756430245,0.8385794307486707,11.1,0.8242488204618823,,,0.8242488204618823,0.3734939759036144,0.9217563763541756,9.1,0.934238532761006,,,0.934238532761006,0.2391304347826086,0.6048579715089994,7.3,0.6840345524850119,,,0.6840345524850119,0.3333333333333333,0.7894025988796952,21.4,0.765821774451027,,,0.765821774451027,0.2850393700787401,0.9878088657624612,22.4,0.9854641881585016,,,0.9854641881585016,0.4988505747126436,0.8447283118655634,17.4,0.8547216999538827,,,0.8547216999538827,0.411078717201166,0.8689250707460116,0.2816032887975334,0.8593419809294734,,,0.8593419809294734,0.2816032887975334,0.8013233263612626,0.3679342240493319,0.7879907224465252,,,0.7879907224465252,0.3679342240493319,0.7892247330790578,0.4835560123329907,0.7755862898376428,,,0.7755862898376428,0.4835560123329907,0.3145069836211475,57447.0,0.2657396925099514,,,0.2657396925099514,0.362059663131873,0.1404413479077805,36066.0,0.1452254984748479,,,0.1452254984748479,0.1356231464796244,0.970802270706518,0.07,0.9745685506050604,,,0.9745685506050604,0.0052950075642965,0.5282998116553705,17.3011023381,0.565061869961834,,,0.565061869961834,0.173011023381,0.5972204988211937,1.0,0.5000085573944445,,,0.5000085573944445,1.0,0.9895233034972276,54.6950518653,0.98758774182503,,,0.98758774182503,0.0324014302096176,0.9765534529502324,0.76056054321,0.9720766991953432,,,0.9720766991953432,0.1759137053158734,0.9016362174902248,0.9098084377,0.8766135935627462,,,0.8766135935627462,0.1497290027189099,0.9329441224077584,10.498270137,0.9196283911889414,,,0.9196283911889414,0.5213510451938572,0.2492010569566841,39.3676601307,0.2346340790789065,,,0.2346340790789065,0.2826912370192468,0.941127799514774,3015.87969265,0.9280004126050854,,,0.9280004126050854,0.0964083008791804,0.8815556546533155,1.81382525188,0.8555140890882322,,,0.8555140890882322,0.1062519253676046,0.7527465845056148,3.24085850684,0.6879172801040846,,,0.6879172801040846,0.0074660410167418,0.8655558708666099,0.214095348703,0.8377272571643783,,,0.8377272571643783,0.027487565893985,0.8882148073250197,0.365101735929,0.8688263024295902,,,0.8688263024295902,3.255416928678718e-06,0.8313806570181485,0.628839590444,0.7904954291779368,,,0.7904954291779368,0.628839590444,0.5164051837137336,0.0582371458552,0.4798079227582429,,,0.4798079227582429,0.1498830619032175,0.6618964608586371,0.178908709339,0.715890026363543,,,0.715890026363543,0.178908709339,0.5796575164471435,0.0245098039215686,0.5161060212798873,,,0.5161060212798873,0.0245098039215686,0.5008648531776597,0.0165289256198,0.424872462081008,,,0.424872462081008,0.0165289256198,0.6964500479723247,0.425498426023,0.6838429143698428,,,0.6838429143698428,0.425498426023,0.751664847161572,0.1742543171114599,0.7508831498439483,,,0.7508831498439483,0.1742543171114599,0.9067171316918536,0.1150121065375302,0.9060831344539256,,,0.9060831344539256,0.1150121065375302,0.0522874454542927,67800.0,0.0556119857795835,,,0.0556119857795835,0.0290456994515583,0.6434691260334525,0.0771549125979505,0.5807502400219449,,,0.5807502400219449,0.0771549125979505,0.356544516903599,0.9228450874020494,0.4192669044026882,,,0.4192669044026882,0.9228450874020494,0.9166162227602904,0.0008951111,0.9302158396521918,,,0.9302158396521918,0.0353246959378835,0.0865380767537716,5.1282e-06,0.4567081415050745,,,0.4567081415050745,1.0829485575316856e-05,0.558933421571466,2.3791e-06,0.6145407246401615,,,0.6145407246401615,0.0011202645354936,,,,,,,,,,,,,,,,,,,,,,0.6917513228236646,0.0804953560371517,0.6841770738494838,,,0.6841770738494838,0.0804953560371517,0.8737301229199994,0.2950894905920146,0.8632982287353754,,,0.8632982287353754,0.2950894905920146,,,,,,,,0.7501654807214959,61.666668,0.7551581487546324,,,0.7551581487546324,0.435294116816609,0.8647617479139218,0.087159691,0.8519741908983552,,,0.8519741908983552,0.087159691,0.6268497920495212,0.34900002,0.5359536815260283,,,0.5359536815260283,0.3624091475885,0.6564635202573585,1.0,0.6917369799243527,,,0.6917369799243527,1.0,0.9537899773356836,93.77919,0.9454938966323262,,,0.9454938966323262,0.8364273002184828,0.6278134628440127,0.81067318651421,,,0.81067318651421,0.959938777375042,71.0,0.9533526317781056,,,0.9533526317781056,,,,,,,1906.0,0.7240574475669483,0.523497018864787,0.6395630962236926,0.5859863870065047,0.8438907148737418,0.8318309921361502,0.8358508997153473,0.6127747416150986,0.5121883191018196,0.1843255189540058,0.6553216288775894,False,True,True,True,True,1,1,True,1,True,1,1,True,True,9,True,False,False,True,True,True,True,True,True,True,True,False,False,False,False,False,False,False,False,False,True,False,True,True,True,True,False,False,False,True,0.0804953560371517,False,0.2950894905920146,False,False,False,False,False,False,True,True,True,1,True,True,True,True,False,False,True,True,True,True,True,True,True,True,True,True,False,False,False,False,False,False,False,False,False,False,False,False,True,True,False,True,True,True,True,False,False,False,True,,,True,True,True,5,True,True,1,0.7460439723787516,False,True,True,True,0.7500818777292576,True,True,True,True,0.9394564656693726,True,True,True,True,0.6605181011067418,False,False,True,True,0.7347062877528682,False,True,True,True +GEOID10_TRACT,Persistent Poverty Census Tract,Housing burden (percent),Total population,Median household income (% of state median household income),Current asthma among adults aged greater than or equal to 18 years,Coronary heart disease among adults aged greater than or equal to 18 years,Cancer (excluding skin cancer) among adults aged greater than or equal to 18 years,Current lack of health insurance among adults aged 18-64 years,Diagnosed diabetes among adults aged greater than or equal to 18 years,Physical health not good for greater than or equal to 14 days among adults aged greater than or equal to 18 years,Percent of individuals < 100% Federal Poverty Line,Percent of individuals < 150% Federal Poverty Line,Percent of individuals below 200% Federal Poverty Line,Area Median Income (State or metropolitan),Median household income in the past 12 months,Energy burden,FEMA Risk Index Expected Annual Loss Score,Urban Heuristic Flag,Air toxics cancer risk,Respiratory hazard index,Diesel particulate matter exposure,PM2.5 in the air,Ozone,Traffic proximity and volume,Proximity to Risk Management Plan (RMP) facilities,Proximity to hazardous waste sites,Proximity to NPL sites,Wastewater discharge,Percent pre-1960s housing (lead paint indicator),Individuals under 5 years old,Individuals over 64 years old,Linguistic isolation (percent),Percent of households in linguistic isolation,Poverty (Less than 200% of federal poverty line),Percent individuals age 25 or over with less than high school degree,Unemployment (percent),Median value ($) of owner-occupied housing units,Percent enrollment in college or graduate school,Percent of population not currently enrolled in college or graduate school,Expected building loss rate (Natural Hazards Risk Index),Expected agricultural loss rate (Natural Hazards Risk Index),Expected population loss rate (Natural Hazards Risk Index),Percent individuals age 25 or over with less than high school degree in 2009,Percentage households below 100% of federal poverty line in 2009,Unemployment (percent) in 2009,Unemployment (percent) in 2010,Percent of individuals less than 100% Federal Poverty Line in 2010,Total population in 2009,Summer days above 90F,Percent low access to healthy food,Percent impenetrable surface areas,Contains agricultural value,Third grade reading proficiency,Median household income as a percent of area median income,Life expectancy (years),Median household income as a percent of territory median income in 2009,Housing burden (percent) (percentile),Housing burden (percent) (value urban only),Housing burden (percent) (percentile urban only),Housing burden (percent) (value rural only),Housing burden (percent) (percentile rural only),Housing burden (percent) (percentile urban/rural),Housing burden (percent) (min-max normalized),Total population (percentile),Total population (value urban only),Total population (percentile urban only),Total population (value rural only),Total population (percentile rural only),Total population (percentile urban/rural),Total population (min-max normalized),Median household income (% of state median household income) (percentile),Median household income (% of state median household income) (value urban only),Median household income (% of state median household income) (percentile urban only),Median household income (% of state median household income) (value rural only),Median household income (% of state median household income) (percentile rural only),Median household income (% of state median household income) (percentile urban/rural),Median household income (% of state median household income) (min-max normalized),Current asthma among adults aged greater than or equal to 18 years (percentile),Current asthma among adults aged greater than or equal to 18 years (value urban only),Current asthma among adults aged greater than or equal to 18 years (percentile urban only),Current asthma among adults aged greater than or equal to 18 years (value rural only),Current asthma among adults aged greater than or equal to 18 years (percentile rural only),Current asthma among adults aged greater than or equal to 18 years (percentile urban/rural),Current asthma among adults aged greater than or equal to 18 years (min-max normalized),Coronary heart disease among adults aged greater than or equal to 18 years (percentile),Coronary heart disease among adults aged greater than or equal to 18 years (value urban only),Coronary heart disease among adults aged greater than or equal to 18 years (percentile urban only),Coronary heart disease among adults aged greater than or equal to 18 years (value rural only),Coronary heart disease among adults aged greater than or equal to 18 years (percentile rural only),Coronary heart disease among adults aged greater than or equal to 18 years (percentile urban/rural),Coronary heart disease among adults aged greater than or equal to 18 years (min-max normalized),Cancer (excluding skin cancer) among adults aged greater than or equal to 18 years (percentile),Cancer (excluding skin cancer) among adults aged greater than or equal to 18 years (value urban only),Cancer (excluding skin cancer) among adults aged greater than or equal to 18 years (percentile urban only),Cancer (excluding skin cancer) among adults aged greater than or equal to 18 years (value rural only),Cancer (excluding skin cancer) among adults aged greater than or equal to 18 years (percentile rural only),Cancer (excluding skin cancer) among adults aged greater than or equal to 18 years (percentile urban/rural),Cancer (excluding skin cancer) among adults aged greater than or equal to 18 years (min-max normalized),Current lack of health insurance among adults aged 18-64 years (percentile),Current lack of health insurance among adults aged 18-64 years (value urban only),Current lack of health insurance among adults aged 18-64 years (percentile urban only),Current lack of health insurance among adults aged 18-64 years (value rural only),Current lack of health insurance among adults aged 18-64 years (percentile rural only),Current lack of health insurance among adults aged 18-64 years (percentile urban/rural),Current lack of health insurance among adults aged 18-64 years (min-max normalized),Diagnosed diabetes among adults aged greater than or equal to 18 years (percentile),Diagnosed diabetes among adults aged greater than or equal to 18 years (value urban only),Diagnosed diabetes among adults aged greater than or equal to 18 years (percentile urban only),Diagnosed diabetes among adults aged greater than or equal to 18 years (value rural only),Diagnosed diabetes among adults aged greater than or equal to 18 years (percentile rural only),Diagnosed diabetes among adults aged greater than or equal to 18 years (percentile urban/rural),Diagnosed diabetes among adults aged greater than or equal to 18 years (min-max normalized),Physical health not good for greater than or equal to 14 days among adults aged greater than or equal to 18 years (percentile),Physical health not good for greater than or equal to 14 days among adults aged greater than or equal to 18 years (value urban only),Physical health not good for greater than or equal to 14 days among adults aged greater than or equal to 18 years (percentile urban only),Physical health not good for greater than or equal to 14 days among adults aged greater than or equal to 18 years (value rural only),Physical health not good for greater than or equal to 14 days among adults aged greater than or equal to 18 years (percentile rural only),Physical health not good for greater than or equal to 14 days among adults aged greater than or equal to 18 years (percentile urban/rural),Physical health not good for greater than or equal to 14 days among adults aged greater than or equal to 18 years (min-max normalized),Percent of individuals < 100% Federal Poverty Line (percentile),Percent of individuals < 100% Federal Poverty Line (value urban only),Percent of individuals < 100% Federal Poverty Line (percentile urban only),Percent of individuals < 100% Federal Poverty Line (value rural only),Percent of individuals < 100% Federal Poverty Line (percentile rural only),Percent of individuals < 100% Federal Poverty Line (percentile urban/rural),Percent of individuals < 100% Federal Poverty Line (min-max normalized),Percent of individuals < 150% Federal Poverty Line (percentile),Percent of individuals < 150% Federal Poverty Line (value urban only),Percent of individuals < 150% Federal Poverty Line (percentile urban only),Percent of individuals < 150% Federal Poverty Line (value rural only),Percent of individuals < 150% Federal Poverty Line (percentile rural only),Percent of individuals < 150% Federal Poverty Line (percentile urban/rural),Percent of individuals < 150% Federal Poverty Line (min-max normalized),Percent of individuals below 200% Federal Poverty Line (percentile),Percent of individuals below 200% Federal Poverty Line (value urban only),Percent of individuals below 200% Federal Poverty Line (percentile urban only),Percent of individuals below 200% Federal Poverty Line (value rural only),Percent of individuals below 200% Federal Poverty Line (percentile rural only),Percent of individuals below 200% Federal Poverty Line (percentile urban/rural),Percent of individuals below 200% Federal Poverty Line (min-max normalized),Area Median Income (State or metropolitan) (percentile),Area Median Income (State or metropolitan) (value urban only),Area Median Income (State or metropolitan) (percentile urban only),Area Median Income (State or metropolitan) (value rural only),Area Median Income (State or metropolitan) (percentile rural only),Area Median Income (State or metropolitan) (percentile urban/rural),Area Median Income (State or metropolitan) (min-max normalized),Median household income in the past 12 months (percentile),Median household income in the past 12 months (value urban only),Median household income in the past 12 months (percentile urban only),Median household income in the past 12 months (value rural only),Median household income in the past 12 months (percentile rural only),Median household income in the past 12 months (percentile urban/rural),Median household income in the past 12 months (min-max normalized),Energy burden (percentile),Energy burden (value urban only),Energy burden (percentile urban only),Energy burden (value rural only),Energy burden (percentile rural only),Energy burden (percentile urban/rural),Energy burden (min-max normalized),FEMA Risk Index Expected Annual Loss Score (percentile),FEMA Risk Index Expected Annual Loss Score (value urban only),FEMA Risk Index Expected Annual Loss Score (percentile urban only),FEMA Risk Index Expected Annual Loss Score (value rural only),FEMA Risk Index Expected Annual Loss Score (percentile rural only),FEMA Risk Index Expected Annual Loss Score (percentile urban/rural),FEMA Risk Index Expected Annual Loss Score (min-max normalized),Urban Heuristic Flag (percentile),Urban Heuristic Flag (value urban only),Urban Heuristic Flag (percentile urban only),Urban Heuristic Flag (value rural only),Urban Heuristic Flag (percentile rural only),Urban Heuristic Flag (percentile urban/rural),Urban Heuristic Flag (min-max normalized),Air toxics cancer risk (percentile),Air toxics cancer risk (value urban only),Air toxics cancer risk (percentile urban only),Air toxics cancer risk (value rural only),Air toxics cancer risk (percentile rural only),Air toxics cancer risk (percentile urban/rural),Air toxics cancer risk (min-max normalized),Respiratory hazard index (percentile),Respiratory hazard index (value urban only),Respiratory hazard index (percentile urban only),Respiratory hazard index (value rural only),Respiratory hazard index (percentile rural only),Respiratory hazard index (percentile urban/rural),Respiratory hazard index (min-max normalized),Diesel particulate matter exposure (percentile),Diesel particulate matter exposure (value urban only),Diesel particulate matter exposure (percentile urban only),Diesel particulate matter exposure (value rural only),Diesel particulate matter exposure (percentile rural only),Diesel particulate matter exposure (percentile urban/rural),Diesel particulate matter exposure (min-max normalized),PM2.5 in the air (percentile),PM2.5 in the air (value urban only),PM2.5 in the air (percentile urban only),PM2.5 in the air (value rural only),PM2.5 in the air (percentile rural only),PM2.5 in the air (percentile urban/rural),PM2.5 in the air (min-max normalized),Ozone (percentile),Ozone (value urban only),Ozone (percentile urban only),Ozone (value rural only),Ozone (percentile rural only),Ozone (percentile urban/rural),Ozone (min-max normalized),Traffic proximity and volume (percentile),Traffic proximity and volume (value urban only),Traffic proximity and volume (percentile urban only),Traffic proximity and volume (value rural only),Traffic proximity and volume (percentile rural only),Traffic proximity and volume (percentile urban/rural),Traffic proximity and volume (min-max normalized),Proximity to Risk Management Plan (RMP) facilities (percentile),Proximity to Risk Management Plan (RMP) facilities (value urban only),Proximity to Risk Management Plan (RMP) facilities (percentile urban only),Proximity to Risk Management Plan (RMP) facilities (value rural only),Proximity to Risk Management Plan (RMP) facilities (percentile rural only),Proximity to Risk Management Plan (RMP) facilities (percentile urban/rural),Proximity to Risk Management Plan (RMP) facilities (min-max normalized),Proximity to hazardous waste sites (percentile),Proximity to hazardous waste sites (value urban only),Proximity to hazardous waste sites (percentile urban only),Proximity to hazardous waste sites (value rural only),Proximity to hazardous waste sites (percentile rural only),Proximity to hazardous waste sites (percentile urban/rural),Proximity to hazardous waste sites (min-max normalized),Proximity to NPL sites (percentile),Proximity to NPL sites (value urban only),Proximity to NPL sites (percentile urban only),Proximity to NPL sites (value rural only),Proximity to NPL sites (percentile rural only),Proximity to NPL sites (percentile urban/rural),Proximity to NPL sites (min-max normalized),Wastewater discharge (percentile),Wastewater discharge (value urban only),Wastewater discharge (percentile urban only),Wastewater discharge (value rural only),Wastewater discharge (percentile rural only),Wastewater discharge (percentile urban/rural),Wastewater discharge (min-max normalized),Percent pre-1960s housing (lead paint indicator) (percentile),Percent pre-1960s housing (lead paint indicator) (value urban only),Percent pre-1960s housing (lead paint indicator) (percentile urban only),Percent pre-1960s housing (lead paint indicator) (value rural only),Percent pre-1960s housing (lead paint indicator) (percentile rural only),Percent pre-1960s housing (lead paint indicator) (percentile urban/rural),Percent pre-1960s housing (lead paint indicator) (min-max normalized),Individuals under 5 years old (percentile),Individuals under 5 years old (value urban only),Individuals under 5 years old (percentile urban only),Individuals under 5 years old (value rural only),Individuals under 5 years old (percentile rural only),Individuals under 5 years old (percentile urban/rural),Individuals under 5 years old (min-max normalized),Individuals over 64 years old (percentile),Individuals over 64 years old (value urban only),Individuals over 64 years old (percentile urban only),Individuals over 64 years old (value rural only),Individuals over 64 years old (percentile rural only),Individuals over 64 years old (percentile urban/rural),Individuals over 64 years old (min-max normalized),Linguistic isolation (percent) (percentile),Linguistic isolation (percent) (value urban only),Linguistic isolation (percent) (percentile urban only),Linguistic isolation (percent) (value rural only),Linguistic isolation (percent) (percentile rural only),Linguistic isolation (percent) (percentile urban/rural),Linguistic isolation (percent) (min-max normalized),Percent of households in linguistic isolation (percentile),Percent of households in linguistic isolation (value urban only),Percent of households in linguistic isolation (percentile urban only),Percent of households in linguistic isolation (value rural only),Percent of households in linguistic isolation (percentile rural only),Percent of households in linguistic isolation (percentile urban/rural),Percent of households in linguistic isolation (min-max normalized),Poverty (Less than 200% of federal poverty line) (percentile),Poverty (Less than 200% of federal poverty line) (value urban only),Poverty (Less than 200% of federal poverty line) (percentile urban only),Poverty (Less than 200% of federal poverty line) (value rural only),Poverty (Less than 200% of federal poverty line) (percentile rural only),Poverty (Less than 200% of federal poverty line) (percentile urban/rural),Poverty (Less than 200% of federal poverty line) (min-max normalized),Percent individuals age 25 or over with less than high school degree (percentile),Percent individuals age 25 or over with less than high school degree (value urban only),Percent individuals age 25 or over with less than high school degree (percentile urban only),Percent individuals age 25 or over with less than high school degree (value rural only),Percent individuals age 25 or over with less than high school degree (percentile rural only),Percent individuals age 25 or over with less than high school degree (percentile urban/rural),Percent individuals age 25 or over with less than high school degree (min-max normalized),Unemployment (percent) (percentile),Unemployment (percent) (value urban only),Unemployment (percent) (percentile urban only),Unemployment (percent) (value rural only),Unemployment (percent) (percentile rural only),Unemployment (percent) (percentile urban/rural),Unemployment (percent) (min-max normalized),Median value ($) of owner-occupied housing units (percentile),Median value ($) of owner-occupied housing units (value urban only),Median value ($) of owner-occupied housing units (percentile urban only),Median value ($) of owner-occupied housing units (value rural only),Median value ($) of owner-occupied housing units (percentile rural only),Median value ($) of owner-occupied housing units (percentile urban/rural),Median value ($) of owner-occupied housing units (min-max normalized),Percent enrollment in college or graduate school (percentile),Percent enrollment in college or graduate school (value urban only),Percent enrollment in college or graduate school (percentile urban only),Percent enrollment in college or graduate school (value rural only),Percent enrollment in college or graduate school (percentile rural only),Percent enrollment in college or graduate school (percentile urban/rural),Percent enrollment in college or graduate school (min-max normalized),Percent of population not currently enrolled in college or graduate school (percentile),Percent of population not currently enrolled in college or graduate school (value urban only),Percent of population not currently enrolled in college or graduate school (percentile urban only),Percent of population not currently enrolled in college or graduate school (value rural only),Percent of population not currently enrolled in college or graduate school (percentile rural only),Percent of population not currently enrolled in college or graduate school (percentile urban/rural),Percent of population not currently enrolled in college or graduate school (min-max normalized),Expected building loss rate (Natural Hazards Risk Index) (percentile),Expected building loss rate (Natural Hazards Risk Index) (value urban only),Expected building loss rate (Natural Hazards Risk Index) (percentile urban only),Expected building loss rate (Natural Hazards Risk Index) (value rural only),Expected building loss rate (Natural Hazards Risk Index) (percentile rural only),Expected building loss rate (Natural Hazards Risk Index) (percentile urban/rural),Expected building loss rate (Natural Hazards Risk Index) (min-max normalized),Expected agricultural loss rate (Natural Hazards Risk Index) (percentile),Expected agricultural loss rate (Natural Hazards Risk Index) (value urban only),Expected agricultural loss rate (Natural Hazards Risk Index) (percentile urban only),Expected agricultural loss rate (Natural Hazards Risk Index) (value rural only),Expected agricultural loss rate (Natural Hazards Risk Index) (percentile rural only),Expected agricultural loss rate (Natural Hazards Risk Index) (percentile urban/rural),Expected agricultural loss rate (Natural Hazards Risk Index) (min-max normalized),Expected population loss rate (Natural Hazards Risk Index) (percentile),Expected population loss rate (Natural Hazards Risk Index) (value urban only),Expected population loss rate (Natural Hazards Risk Index) (percentile urban only),Expected population loss rate (Natural Hazards Risk Index) (value rural only),Expected population loss rate (Natural Hazards Risk Index) (percentile rural only),Expected population loss rate (Natural Hazards Risk Index) (percentile urban/rural),Expected population loss rate (Natural Hazards Risk Index) (min-max normalized),Percent individuals age 25 or over with less than high school degree in 2009 (percentile),Percent individuals age 25 or over with less than high school degree in 2009 (value urban only),Percent individuals age 25 or over with less than high school degree in 2009 (percentile urban only),Percent individuals age 25 or over with less than high school degree in 2009 (value rural only),Percent individuals age 25 or over with less than high school degree in 2009 (percentile rural only),Percent individuals age 25 or over with less than high school degree in 2009 (percentile urban/rural),Percent individuals age 25 or over with less than high school degree in 2009 (min-max normalized),Percentage households below 100% of federal poverty line in 2009 (percentile),Percentage households below 100% of federal poverty line in 2009 (value urban only),Percentage households below 100% of federal poverty line in 2009 (percentile urban only),Percentage households below 100% of federal poverty line in 2009 (value rural only),Percentage households below 100% of federal poverty line in 2009 (percentile rural only),Percentage households below 100% of federal poverty line in 2009 (percentile urban/rural),Percentage households below 100% of federal poverty line in 2009 (min-max normalized),Unemployment (percent) in 2009 (percentile),Unemployment (percent) in 2009 (value urban only),Unemployment (percent) in 2009 (percentile urban only),Unemployment (percent) in 2009 (value rural only),Unemployment (percent) in 2009 (percentile rural only),Unemployment (percent) in 2009 (percentile urban/rural),Unemployment (percent) in 2009 (min-max normalized),Unemployment (percent) in 2010 (percentile),Unemployment (percent) in 2010 (value urban only),Unemployment (percent) in 2010 (percentile urban only),Unemployment (percent) in 2010 (value rural only),Unemployment (percent) in 2010 (percentile rural only),Unemployment (percent) in 2010 (percentile urban/rural),Unemployment (percent) in 2010 (min-max normalized),Percent of individuals less than 100% Federal Poverty Line in 2010 (percentile),Percent of individuals less than 100% Federal Poverty Line in 2010 (value urban only),Percent of individuals less than 100% Federal Poverty Line in 2010 (percentile urban only),Percent of individuals less than 100% Federal Poverty Line in 2010 (value rural only),Percent of individuals less than 100% Federal Poverty Line in 2010 (percentile rural only),Percent of individuals less than 100% Federal Poverty Line in 2010 (percentile urban/rural),Percent of individuals less than 100% Federal Poverty Line in 2010 (min-max normalized),Total population in 2009 (percentile),Total population in 2009 (value urban only),Total population in 2009 (percentile urban only),Total population in 2009 (value rural only),Total population in 2009 (percentile rural only),Total population in 2009 (percentile urban/rural),Total population in 2009 (min-max normalized),Summer days above 90F (percentile),Summer days above 90F (value urban only),Summer days above 90F (percentile urban only),Summer days above 90F (value rural only),Summer days above 90F (percentile rural only),Summer days above 90F (percentile urban/rural),Summer days above 90F (min-max normalized),Percent low access to healthy food (percentile),Percent low access to healthy food (value urban only),Percent low access to healthy food (percentile urban only),Percent low access to healthy food (value rural only),Percent low access to healthy food (percentile rural only),Percent low access to healthy food (percentile urban/rural),Percent low access to healthy food (min-max normalized),Percent impenetrable surface areas (percentile),Percent impenetrable surface areas (value urban only),Percent impenetrable surface areas (percentile urban only),Percent impenetrable surface areas (value rural only),Percent impenetrable surface areas (percentile rural only),Percent impenetrable surface areas (percentile urban/rural),Percent impenetrable surface areas (min-max normalized),Contains agricultural value (percentile),Contains agricultural value (value urban only),Contains agricultural value (percentile urban only),Contains agricultural value (value rural only),Contains agricultural value (percentile rural only),Contains agricultural value (percentile urban/rural),Contains agricultural value (min-max normalized),Low third grade reading proficiency (percentile),Third grade reading proficiency (value urban only),Low third grade reading proficiency (percentile urban only),Third grade reading proficiency (value rural only),Low third grade reading proficiency (percentile rural only),Low third grade reading proficiency (percentile urban/rural),Low median household income as a percent of area median income (percentile),Median household income as a percent of area median income (value urban only),Low median household income as a percent of area median income (percentile urban only),Median household income as a percent of area median income (value rural only),Low median household income as a percent of area median income (percentile rural only),Low median household income as a percent of area median income (percentile urban/rural),Low life expectancy (percentile),Life expectancy (years) (value urban only),Low life expectancy (percentile urban only),Life expectancy (years) (value rural only),Low life expectancy (percentile rural only),Low life expectancy (percentile urban/rural),Low median household income as a percent of territory median income in 2009 (percentile),Median household income as a percent of territory median income in 2009 (value urban only),Low median household income as a percent of territory median income in 2009 (percentile urban only),Median household income as a percent of territory median income in 2009 (value rural only),Low median household income as a percent of territory median income in 2009 (percentile rural only),Low median household income as a percent of territory median income in 2009 (percentile urban/rural),Total population in 2009 (island areas) and 2019 (states and PR),Score A,Score B,Socioeconomic Factors,Sensitive populations,Environmental effects,Exposures,Pollution Burden,Population Characteristics,Score C,Score D,Score E,"Low AMI, Low HS graduation",Meets socioeconomic criteria,Meets burden criteria,Score F (communities),Score G (communities),Score G,Score G (percentile),Score H (communities),Score H,Score I (communities),Score I,Score I (percentile),NMTC (communities),Score K (communities),Total threshold criteria exceeded,Is low income?,Greater than or equal to the 90th percentile for expected population loss rate and is low income?,Greater than or equal to the 90th percentile for expected agriculture loss rate and is low income?,Greater than or equal to the 90th percentile for expected building loss rate and is low income?,Climate Factor (Definition L),Greater than or equal to the 90th percentile for PM2.5 exposure and is low income?,Greater than or equal to the 90th percentile for energy burden and is low income?,Energy Factor (Definition L),Greater than or equal to the 90th percentile for diesel particulate matter and is low income?,Greater than or equal to the 90th percentile for traffic proximity and is low income?,Transportation Factor (Definition L),Greater than or equal to the 90th percentile for lead paint and the median house value is less than 90th percentile and is low income?,Greater than or equal to the 90th percentile for housing burden and is low income?,Housing Factor (Definition L),Greater than or equal to the 90th percentile for proximity to RMP sites and is low income?,Greater than or equal to the 90th percentile for proximity to superfund sites and is low income?,Greater than or equal to the 90th percentile for proximity to hazardous waste facilities and is low income?,Pollution Factor (Definition L),Greater than or equal to the 90th percentile for wastewater discharge and is low income?,Water Factor (Definition L),Greater than or equal to the 90th percentile for diabetes and is low income?,Greater than or equal to the 90th percentile for asthma and is low income?,Greater than or equal to the 90th percentile for heart disease and is low income?,Greater than or equal to the 90th percentile for low life expectancy and is low income?,Health Factor (Definition L),Low high school education,Greater than or equal to the 90th percentile for households in linguistic isolation and has low HS education?,Greater than or equal to the 90th percentile for households at or below 100% federal poverty level and has low HS education?,Greater than or equal to the 90th percentile for low median household income as a percent of area median income and has low HS education?,Greater than or equal to the 90th percentile for unemployment and has low HS education?,Unemployment (percent) in 2009 (island areas) and 2010 (states and PR),Unemployment (percent) in 2009 exceeds 90th percentile,Percentage households below 100% of federal poverty line in 2009 (island areas) and 2010 (states and PR),Percentage households below 100% of federal poverty line in 2009 exceeds 90th percentile,Low median household income as a percent of territory median income in 2009 exceeds 90th percentile,Low high school education in 2009 (island areas),Greater than or equal to the 90th percentile for unemployment and has low HS education in 2009 (island areas)?,Greater than or equal to the 90th percentile for households at or below 100% federal poverty level and has low HS education in 2009 (island areas)?,Greater than or equal to the 90th percentile for low median household income as a percent of area median income and has low HS education in 2009 (island areas)?,Workforce Factor (Definition L),Definition L (communities),Any Non-Workforce Factor (Definition L),Definition L (percentile),Exceeds FPL200 threshold,Percent higher ed enrollment rate is less than 20%,Is low income and has a low percent of higher ed students?,Greater than or equal to the 90th percentile for expected population loss,Greater than or equal to the 90th percentile for expected agricultural loss,Greater than or equal to the 90th percentile for expected building loss,At least one climate threshold exceeded,"Greater than or equal to the 90th percentile for expected population loss rate, is low income, and has a low percent of higher ed students?","Greater than or equal to the 90th percentile for expected agriculture loss rate, is low income, and has a low percent of higher ed students?","Greater than or equal to the 90th percentile for expected building loss rate, is low income, and has a low percent of higher ed students?",Climate Factor (Definition M),Greater than or equal to the 90th percentile for energy burden,Greater than or equal to the 90th percentile for pm2.5 exposure,At least one energy threshold exceeded,"Greater than or equal to the 90th percentile for PM2.5 exposure, is low income, and has a low percent of higher ed students?","Greater than or equal to the 90th percentile for energy burden, is low income, and has a low percent of higher ed students?",Energy Factor (Definition M),Greater than or equal to the 90th percentile for diesel particulate matter,Greater than or equal to the 90th percentile for traffic proximity,At least one traffic threshold exceeded,"Greater than or equal to the 90th percentile for diesel particulate matter, is low income, and has a low percent of higher ed students?","Greater than or equal to the 90th percentile for traffic proximity, is low income, and has a low percent of higher ed students?",Transportation Factor (Definition M),Greater than or equal to the 90th percentile for lead paint and the median house value is less than 90th percentile,Greater than or equal to the 90th percentile for housing burden,At least one housing threshold exceeded,"Greater than or equal to the 90th percentile for lead paint, the median house value is less than 90th percentile, is low income, and has a low percent of higher ed students?","Greater than or equal to the 90th percentile for housing burden, is low income, and has a low percent of higher ed students?",Housing Factor (Definition M),Greater than or equal to the 90th percentile for RMP proximity,Greater than or equal to the 90th percentile for NPL (superfund sites) proximity,Greater than or equal to the 90th percentile for proximity to hazardous waste sites,At least one pollution threshold exceeded,"Greater than or equal to the 90th percentile for proximity to RMP sites, is low income, and has a low percent of higher ed students?","Greater than or equal to the 90th percentile for proximity to superfund sites, is low income, and has a low percent of higher ed students?","Greater than or equal to the 90th percentile for proximity to hazardous waste facilities, is low income, and has a low percent of higher ed students?",Pollution Factor (Definition M),Greater than or equal to the 90th percentile for wastewater discharge,At least one water threshold exceeded,"Greater than or equal to the 90th percentile for wastewater discharge, is low income, and has a low percent of higher ed students?",Water Factor (Definition M),Greater than or equal to the 90th percentile for diabetes,Greater than or equal to the 90th percentile for asthma,Greater than or equal to the 90th percentile for heart disease,Greater than or equal to the 90th percentile for low life expectancy,At least one health threshold exceeded,"Greater than or equal to the 90th percentile for diabetes, is low income, and has a low percent of higher ed students?","Greater than or equal to the 90th percentile for asthma, is low income, and has a low percent of higher ed students?","Greater than or equal to the 90th percentile for heart disease, is low income, and has a low percent of higher ed students?","Greater than or equal to the 90th percentile for low life expectancy, is low income, and has a low percent of higher ed students?",Health Factor (Definition M),Low high school education and low percent of higher ed students,Greater than or equal to the 90th percentile for unemployment,Greater than or equal to the 90th percentile for low median household income as a percent of area median income,Greater than or equal to the 90th percentile for households in linguistic isolation,Greater than or equal to the 90th percentile for households at or below 100% federal poverty level,"Greater than or equal to the 90th percentile for households in linguistic isolation, has low HS attainment, and has a low percent of higher ed students?","Greater than or equal to the 90th percentile for households at or below 100% federal poverty level, has low HS attainment, and has a low percent of higher ed students?","Greater than or equal to the 90th percentile for low median household income as a percent of area median income, has low HS attainment, and has a low percent of higher ed students?","Greater than or equal to the 90th percentile for unemployment, has low HS attainment, and has a low percent of higher ed students?",Unemployment (percent) in 2009 for island areas (percentile),Percentage households below 100% of federal poverty line in 2009 for island areas (percentile),At least one workforce threshold exceeded,Both workforce socioeconomic indicators exceeded,Workforce Factor (Definition M),Total categories exceeded,Definition M (communities),Any Non-Workforce Factor (Definition M),Definition M (percentile),Score A (percentile),Score A (top 25th percentile),Score A (top 30th percentile),Score A (top 35th percentile),Score A (top 40th percentile),Score B (percentile),Score B (top 25th percentile),Score B (top 30th percentile),Score B (top 35th percentile),Score B (top 40th percentile),Score C (percentile),Score C (top 25th percentile),Score C (top 30th percentile),Score C (top 35th percentile),Score C (top 40th percentile),Score D (percentile),Score D (top 25th percentile),Score D (top 30th percentile),Score D (top 35th percentile),Score D (top 40th percentile),Score E (percentile),Score E (top 25th percentile),Score E (top 30th percentile),Score E (top 35th percentile),Score E (top 40th percentile) +01073001100,True,0.2752043596730245,4897.0,0.7327449738800064,11.2,7.2,6.7,16.6,19.3,15.1,0.150375939849624,0.318796992481203,0.3744360902255639,57447.0,37030.0,0.049,18.7674524286,1.0,51.1530304943,0.735568574566,0.63998588,10.3951975342,39.404630719,253.995131498,2.03499777769,0.708723792992,0.134193041308,1.0556674669,0.205868653936,0.0308352052277,0.185011231366,0.0,0.0,0.407205697528,0.0821917808219178,0.0092071611253196,85500.0,0.0890751899397432,0.9109248100602568,0.0004047858,5.6328e-05,2.8039e-06,,,,0.1536983669548511,0.3189099613330878,,62.666668,0.068036923,0.171,1.0,58.143433,0.6445941476491375,70.3,,0.6466760729305078,0.2752043596730245,0.5700318443928049,,,0.5700318443928049,0.2752043596730245,0.6512411994432508,4897.0,0.6248587667340021,,,0.6248587667340021,0.0696873532467162,0.2601978513507951,0.7327449738800064,0.2827993864924948,,,0.2827993864924948,0.1434712737274766,0.8509696039125366,11.2,0.835724928163468,,,0.835724928163468,0.3795180722891565,0.7264920810941454,7.2,0.7844637979353648,,,0.7844637979353648,0.1875,0.4789587420739856,6.7,0.5678012699989358,,,0.5678012699989358,0.303921568627451,0.6191105803406409,16.6,0.6018127638440527,,,0.6018127638440527,0.2094488188976378,0.965388552418323,19.3,0.9599666536592288,,,0.9599666536592288,0.4275862068965517,0.697012994398476,15.1,0.7279967363155841,,,0.7279967363155841,0.3440233236151603,0.62043226838371,0.150375939849624,0.6145691950863328,,,0.6145691950863328,0.150375939849624,0.7319580582099551,0.318796992481203,0.7209861695730607,,,0.7209861695730607,0.318796992481203,0.6304939233619051,0.3744360902255639,0.6277982991151962,,,0.6277982991151962,0.3744360902255639,0.3145069836211475,57447.0,0.2657396925099514,,,0.2657396925099514,0.362059663131873,0.1524419513666973,37030.0,0.1569958812277043,,,0.1569958812277043,0.1395180645004889,0.864954517474865,0.049,0.9005173954895489,,,0.9005173954895489,0.0037065052950075,0.6038301323911519,18.7674524286,0.6383816255626487,,,0.6383816255626487,0.1876745242859999,0.5972204988211937,1.0,0.5000085573944445,,,0.5000085573944445,1.0,0.9847958474680182,51.1530304943,0.9819551446670092,,,0.9819551446670092,0.0300384933188293,0.968365553602812,0.735568574566,0.962352336928608,,,0.962352336928608,0.1696726613313424,0.7632321085543794,0.63998588,0.70386920047937,,,0.70386920047937,0.1053235274194042,0.928945948563286,10.3951975342,0.914819538763832,,,0.914819538763832,0.5130755332417333,0.2507228532296667,39.404630719,0.2360646695853011,,,0.2360646695853011,0.2834163202031902,0.4608804184722397,253.995131498,0.3487028727629068,,,0.3487028727629068,0.0081194347824311,0.9022445642626452,2.03499777769,0.8805423357414318,,,0.8805423357414318,0.1192079731904979,0.4244672369292306,0.708723792992,0.2870715924264731,,,0.2870715924264731,0.0016327034632494,0.753733057661383,0.134193041308,0.7050707022289178,,,0.7050707022289178,0.0172289593763426,0.9223869977156124,1.0556674669,0.9078447963253958,,,0.9078447963253958,9.412822248180045e-06,0.4454669531492817,0.205868653936,0.4334577327353032,,,0.4334577327353032,0.205868653936,0.1202416183565086,0.0308352052277,0.108484267470127,,,0.108484267470127,0.0793595720750642,0.695774381427278,0.185011231366,0.7452494265073442,,,0.7452494265073442,0.185011231366,0.1272208772721677,0.0,0.0997988895955446,,,0.0997988895955446,0.0,0.1284712368751773,0.0,0.0986150580340329,,,0.0986150580340329,0.0,0.668247726382076,0.407205697528,0.6576848015886603,,,0.6576848015886603,0.407205697528,0.4189274017467249,0.0821917808219178,0.4443872826422471,,,0.4443872826422471,0.0821917808219178,0.0297871177547618,0.0092071611253196,0.0285699569046924,,,0.0285699569046924,0.0092071611253196,0.1130659551404986,85500.0,0.1076951366876236,,,0.1076951366876236,0.0379401628742081,0.7459685121012851,0.0890751899397432,0.6989610478672336,,,0.6989610478672336,0.0890751899397432,0.2540451308357663,0.9109248100602568,0.3010560965573995,,,0.3010560965573995,0.9109248100602568,0.7846412062513758,0.0004047858,0.82138883658833,,,0.82138883658833,0.01597287904858,0.2153147384849333,5.6328e-05,0.5639836382618221,,,0.5639836382618221,0.0001189507553306,0.6143028498159407,2.8039e-06,0.6689315237296548,,,0.6689315237296548,0.0013204531501148,,,,,,,,,,,,,,,,,,,,,,0.9349594607528132,0.1536983669548511,0.9315960352498582,,,0.9315960352498582,0.1536983669548511,0.8950599559730369,0.3189099613330878,0.8870754376621368,,,0.8870754376621368,0.3189099613330878,,,,,,,,0.7537922665342821,62.666668,0.7585193484443679,,,0.7585193484443679,0.4423529401799308,0.8019598155467721,0.068036923,0.7905320987865615,,,0.7905320987865615,0.068036923,0.4126953421856217,0.171,0.2701910981682835,,,0.2701910981682835,0.1775700879261655,0.6564635202573585,1.0,0.6917369799243527,,,0.6917369799243527,1.0,0.990724418702258,58.143433,0.9890918535191758,,,0.9890918535191758,0.8218135517196475,0.6445941476491375,0.7952314423324387,,,0.7952314423324387,0.97046998263836,70.3,0.9652438793658,,,0.9652438793658,,,,,,,4897.0,0.5435875640644005,0.2799472837363994,0.3784219111378495,0.3144122923519848,0.6896597619436307,0.7261571216484003,0.7139913350801438,0.3464171017449171,0.2473388089694474,0.1547617998296523,0.3781718392172476,False,True,True,True,True,1,1,True,1,True,1,1,True,True,0,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,0.1536983669548511,False,0.3189099613330878,False,False,False,False,False,False,False,False,False,0,False,True,False,False,False,False,False,False,False,False,False,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,True,False,False,True,False,False,False,False,True,True,False,False,True,False,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,False,,,False,False,False,0,False,False,0,0.5532898204078324,False,False,False,False,0.5490856986899564,False,False,False,False,0.5480683083104825,False,False,False,False,0.5438440021080796,False,False,False,False,0.3320495668977446,False,False,False,False +01073001400,True,0.1823529411764705,1906.0,0.7136694633528574,11.1,9.1,7.3,21.4,22.4,17.4,0.2816032887975334,0.3679342240493319,0.4835560123329907,57447.0,36066.0,0.07,17.3011023381,1.0,54.6950518653,0.76056054321,0.9098084377,10.498270137,39.3676601307,3015.87969265,1.81382525188,3.24085850684,0.214095348703,0.365101735929,0.628839590444,0.0582371458552,0.178908709339,0.0245098039215686,0.0165289256198,0.425498426023,0.1742543171114599,0.1150121065375302,67800.0,0.0771549125979505,0.9228450874020494,0.0008951111,5.1282e-06,2.3791e-06,,,,0.0804953560371517,0.2950894905920146,,61.666668,0.087159691,0.34900002,1.0,93.77919,0.6278134628440127,71.0,,0.3421186011150532,0.1823529411764705,0.2730613650055943,,,0.2730613650055943,0.1823529411764705,0.0867961243766976,1906.0,0.0702656897319135,,,0.0702656897319135,0.0271235644860611,0.240302951305517,0.7136694633528574,0.2631705929998104,,,0.2631705929998104,0.1395725756430245,0.8385794307486707,11.1,0.8242488204618823,,,0.8242488204618823,0.3734939759036144,0.9217563763541756,9.1,0.934238532761006,,,0.934238532761006,0.2391304347826086,0.6048579715089994,7.3,0.6840345524850119,,,0.6840345524850119,0.3333333333333333,0.7894025988796952,21.4,0.765821774451027,,,0.765821774451027,0.2850393700787401,0.9878088657624612,22.4,0.9854641881585016,,,0.9854641881585016,0.4988505747126436,0.8447283118655634,17.4,0.8547216999538827,,,0.8547216999538827,0.411078717201166,0.8689250707460116,0.2816032887975334,0.8593419809294734,,,0.8593419809294734,0.2816032887975334,0.8013233263612626,0.3679342240493319,0.7879907224465252,,,0.7879907224465252,0.3679342240493319,0.7892247330790578,0.4835560123329907,0.7755862898376428,,,0.7755862898376428,0.4835560123329907,0.3145069836211475,57447.0,0.2657396925099514,,,0.2657396925099514,0.362059663131873,0.1404413479077805,36066.0,0.1452254984748479,,,0.1452254984748479,0.1356231464796244,0.970802270706518,0.07,0.9745685506050604,,,0.9745685506050604,0.0052950075642965,0.5282998116553705,17.3011023381,0.565061869961834,,,0.565061869961834,0.173011023381,0.5972204988211937,1.0,0.5000085573944445,,,0.5000085573944445,1.0,0.9895233034972276,54.6950518653,0.98758774182503,,,0.98758774182503,0.0324014302096176,0.9765534529502324,0.76056054321,0.9720766991953432,,,0.9720766991953432,0.1759137053158734,0.9016362174902248,0.9098084377,0.8766135935627462,,,0.8766135935627462,0.1497290027189099,0.9329441224077584,10.498270137,0.9196283911889414,,,0.9196283911889414,0.5213510451938572,0.2492010569566841,39.3676601307,0.2346340790789065,,,0.2346340790789065,0.2826912370192468,0.941127799514774,3015.87969265,0.9280004126050854,,,0.9280004126050854,0.0964083008791804,0.8815556546533155,1.81382525188,0.8555140890882322,,,0.8555140890882322,0.1062519253676046,0.7527465845056148,3.24085850684,0.6879172801040846,,,0.6879172801040846,0.0074660410167418,0.8655558708666099,0.214095348703,0.8377272571643783,,,0.8377272571643783,0.027487565893985,0.8882148073250197,0.365101735929,0.8688263024295902,,,0.8688263024295902,3.255416928678718e-06,0.8313806570181485,0.628839590444,0.7904954291779368,,,0.7904954291779368,0.628839590444,0.5164051837137336,0.0582371458552,0.4798079227582429,,,0.4798079227582429,0.1498830619032175,0.6618964608586371,0.178908709339,0.715890026363543,,,0.715890026363543,0.178908709339,0.5796575164471435,0.0245098039215686,0.5161060212798873,,,0.5161060212798873,0.0245098039215686,0.5008648531776597,0.0165289256198,0.424872462081008,,,0.424872462081008,0.0165289256198,0.6964500479723247,0.425498426023,0.6838429143698428,,,0.6838429143698428,0.425498426023,0.751664847161572,0.1742543171114599,0.7508831498439483,,,0.7508831498439483,0.1742543171114599,0.9067171316918536,0.1150121065375302,0.9060831344539256,,,0.9060831344539256,0.1150121065375302,0.0522874454542927,67800.0,0.0556119857795835,,,0.0556119857795835,0.0290456994515583,0.6434691260334525,0.0771549125979505,0.5807502400219449,,,0.5807502400219449,0.0771549125979505,0.356544516903599,0.9228450874020494,0.4192669044026882,,,0.4192669044026882,0.9228450874020494,0.9166162227602904,0.0008951111,0.9302158396521918,,,0.9302158396521918,0.0353246959378835,0.0865380767537716,5.1282e-06,0.4567081415050745,,,0.4567081415050745,1.0829485575316856e-05,0.558933421571466,2.3791e-06,0.6145407246401615,,,0.6145407246401615,0.0011202645354936,,,,,,,,,,,,,,,,,,,,,,0.6917513228236646,0.0804953560371517,0.6841770738494838,,,0.6841770738494838,0.0804953560371517,0.8737301229199994,0.2950894905920146,0.8632982287353754,,,0.8632982287353754,0.2950894905920146,,,,,,,,0.7501654807214959,61.666668,0.7551581487546324,,,0.7551581487546324,0.435294116816609,0.8647617479139218,0.087159691,0.8519741908983552,,,0.8519741908983552,0.087159691,0.6268497920495212,0.34900002,0.5359536815260283,,,0.5359536815260283,0.3624091475885,0.6564635202573585,1.0,0.6917369799243527,,,0.6917369799243527,1.0,0.9537899773356836,93.77919,0.9454938966323262,,,0.9454938966323262,0.8364273002184828,0.6278134628440127,0.81067318651421,,,0.81067318651421,0.959938777375042,71.0,0.9533526317781056,,,0.9533526317781056,,,,,,,1906.0,0.7240574475669483,0.523497018864787,0.6395630962236926,0.5859863870065047,0.8438907148737418,0.8318309921361502,0.8358508997153473,0.6127747416150986,0.5121883191018196,0.1843255189540058,0.6553216288775894,False,True,True,True,True,1,1,True,1,True,1,1,True,True,9,True,False,False,True,True,True,True,True,True,True,True,False,False,False,False,False,False,False,False,False,True,False,True,True,True,True,False,False,False,True,0.0804953560371517,False,0.2950894905920146,False,False,False,False,False,False,True,True,True,1,True,True,True,False,False,True,True,False,False,True,True,True,True,True,True,True,True,True,True,True,True,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,True,False,True,True,True,True,False,True,True,True,True,True,False,False,False,False,False,False,True,,,True,True,True,5,True,True,1,0.7460439723787516,False,True,True,True,0.7500818777292576,True,True,True,True,0.9394564656693726,True,True,True,True,0.6605181011067418,False,False,True,True,0.7347062877528682,False,True,True,True diff --git a/data/data-pipeline/data_pipeline/etl/score/tests/snapshots/score_data_expected.pkl b/data/data-pipeline/data_pipeline/etl/score/tests/snapshots/score_data_expected.pkl index f65212fcfdec38165f10d42a4cc0300cd065108d..1c5518ad09c434d5944089eeafb219d4fd763b27 100644 GIT binary patch delta 849 zcmYk&U1(BK8~||7xq3xRmtaIOm~Ep?n}trNTT?f2xlNtUtxwy;(n!iFe!wDHy{$kZ z`rn|3+TJ!=FI$(I>&u>c5LOSp_EfLE1O+_=b*}d>>|VIP^Zz*ibMM`}&wY8qsqQEr zjepuw87NtXgVe0@>xn`EetONQU>9L`OTsQ7oDp(VJJ3out9u)zg48MRl%De4Y=j>) z#?J9@7V1`tS*}4fT~r>?4SjsakzS0?UT2iooJ@SuNMdx1t0G(?t#xBw^YhkfEjn-DLH?C^PgAFKG-+NLk$ z?8lv^%wi#5suVNg)0aU)CZ!6DY#(A>{^q)|Z4ke`N)l3n(GPZ5scFFS%-tFSksZD0 ztKF36+xEvJF;k(KU(DvRS8{x&9T{0*|+H^K`DZ};(RhJZNQl;|MTuP`)pJs!`I~{wg0DDU( zgx|M`x85#M_KSaRdRRKo(s`zQlC|Cm^J@;U*0r#*b(G~FOCv;UeN|1mVE5zY|J}u>gVNTMJxydb^BP+- za%w<@v?m9eq_Vg&`MOQsWfH>e#^me87g1X#u<|p ScN%UEI5wZ1k#F*cv&jGhkV`B8 diff --git a/data/data-pipeline/data_pipeline/etl/score/tests/snapshots/score_transformed_expected.pkl b/data/data-pipeline/data_pipeline/etl/score/tests/snapshots/score_transformed_expected.pkl index cb93bb280b9391bf6799eba86e77837ba8b0971c..f0696bdf55117ffc1d8de6ae22d3eadad59ba71c 100644 GIT binary patch delta 824 zcmX@#&HQO5Giw9O)aPe5vI;UWwoevk(qwhwV`N~M?8KBU!T;o;gP?RUln#N?VNg08N=HCwCWgq(U)cU@8CpQaEupj{ly-yC z-cULKN{4P%F%o5Dw4E$tq&qp?xP>K($v1lPd*c+w=*=M}{&kF=lO0zYPX511f_X}h zH^ttiMZE-gykJY|bJ zBcm5sk;QUJpdu$Qd&Y9X%{RBkGcp!WR$OZ|Sz?7FRKMZm1uOVAn{BU#8Z8jy8=z27 zlwXmVn^{shr6&NSUCA%NM?s^wv>>%8tu!x1p*XW7wOA8bSujwU-DHDZ0+Zu&SU0cV z@rRMo6>M?pDv`-6cb#Rl1oQ5#;sDxf4q|gA7MEn?CQj*r_^4_%$VVrv5Fs$h zIJuEYbg~k&J5XB|vli0?=FQWXPccm{V3Xj~WCAH+V9=Vpl1+W`4K@WwbEt>~l(vM@ zR#4goO4~wdJ1A`rr5z`0vdeG2!2Ux^QyD6x0;P4Jv>}u>gVNTM`Au{u%Nc**)PRa; zPyT77I@!jgg~gT0*KP6?hd}iEyX`3tK=9N2Q88`3SRmr$naqln2 k$;taqZ`L_j!^Aja^2Q@JlXsPiZ_Yf*$Tv2lDJ+{c66PxTi))_V+Z31_IU0@G*1Uv?w z08fE^-~f0AJO^F?FM+{b(A&Zz)*>m^kAKW~kk^6NVU-}vy4oD8X|v&jwt~!E=Y` z1b0}8;>oO5a%eV_aRVQF1zrlgXtr6WW!DnsaAUVdl8uaPjMyf7HJ0#T9DW+B2>r3C G>CQi|A&9sD delta 165 zcmdll_ezSjfn{nu??zTZCPv-K;!IkMQInmR94BvO(g*UNGHEeoFisX^{xn&bMPhO` zOTuJl)-QtA3=m)gr9&s%u&Qp(WxK;TIgvv|zz+!Ap;8R)_8&Iqa_BQo)@E^F44HhF zGlMZ~vl|yD(_|xFEml@fM<0*Lk-Vmpr}4^i^{~4I_!t=&1W(z#l~= self.ENVIRONMENTAL_BURDEN_THRESHOLD ) - expected_agriculture_loss_threshold = ( + self.df[ + field_names.EXPECTED_AGRICULTURAL_LOSS_EXCEEDS_PCTILE_THRESHOLD + ] = ( self.df[ field_names.EXPECTED_AGRICULTURE_LOSS_RATE_FIELD + field_names.PERCENTILE_FIELD_SUFFIX @@ -158,7 +162,7 @@ class ScoreM(Score): >= self.ENVIRONMENTAL_BURDEN_THRESHOLD ) - expected_building_loss_threshold = ( + self.df[field_names.EXPECTED_BUILDING_LOSS_EXCEEDS_PCTILE_THRESHOLD] = ( self.df[ field_names.EXPECTED_BUILDING_LOSS_RATE_FIELD + field_names.PERCENTILE_FIELD_SUFFIX @@ -167,29 +171,39 @@ class ScoreM(Score): ) self.df[field_names.CLIMATE_THRESHOLD_EXCEEDED] = ( - expected_population_loss_threshold - | expected_agriculture_loss_threshold - | expected_building_loss_threshold + self.df[ + field_names.EXPECTED_POPULATION_LOSS_EXCEEDS_PCTILE_THRESHOLD + ] + | self.df[ + field_names.EXPECTED_AGRICULTURAL_LOSS_EXCEEDS_PCTILE_THRESHOLD + ] + | self.df[ + field_names.EXPECTED_BUILDING_LOSS_EXCEEDS_PCTILE_THRESHOLD + ] ) self.df[ field_names.EXPECTED_POPULATION_LOSS_RATE_LOW_INCOME_LOW_HIGHER_ED_FIELD ] = ( - expected_population_loss_threshold + self.df[ + field_names.EXPECTED_POPULATION_LOSS_EXCEEDS_PCTILE_THRESHOLD + ] & self.df[field_names.FPL_200_AND_COLLEGE_ATTENDANCE_SERIES] ) self.df[ field_names.EXPECTED_AGRICULTURE_LOSS_RATE_LOW_INCOME_LOW_HIGHER_ED_FIELD ] = ( - expected_agriculture_loss_threshold + self.df[ + field_names.EXPECTED_AGRICULTURAL_LOSS_EXCEEDS_PCTILE_THRESHOLD + ] & self.df[field_names.FPL_200_AND_COLLEGE_ATTENDANCE_SERIES] ) self.df[ field_names.EXPECTED_BUILDING_LOSS_RATE_LOW_INCOME_LOW_HIGHER_ED_FIELD ] = ( - expected_building_loss_threshold + self.df[field_names.EXPECTED_BUILDING_LOSS_EXCEEDS_PCTILE_THRESHOLD] & self.df[field_names.FPL_200_AND_COLLEGE_ATTENDANCE_SERIES] ) @@ -213,7 +227,7 @@ class ScoreM(Score): field_names.ENERGY_BURDEN_LOW_INCOME_LOW_HIGHER_ED_FIELD, ] - energy_burden_threshold = ( + self.df[field_names.ENERGY_BURDEN_EXCEEDS_PCTILE_THRESHOLD] = ( self.df[ field_names.ENERGY_BURDEN_FIELD + field_names.PERCENTILE_FIELD_SUFFIX @@ -221,7 +235,7 @@ class ScoreM(Score): >= self.ENVIRONMENTAL_BURDEN_THRESHOLD ) - pm25_threshold = ( + self.df[field_names.PM25_EXCEEDS_PCTILE_THRESHOLD] = ( self.df[ field_names.PM25_FIELD + field_names.PERCENTILE_FIELD_SUFFIX ] @@ -229,16 +243,17 @@ class ScoreM(Score): ) self.df[field_names.ENERGY_THRESHOLD_EXCEEDED] = ( - energy_burden_threshold | pm25_threshold + self.df[field_names.ENERGY_BURDEN_EXCEEDS_PCTILE_THRESHOLD] + | self.df[field_names.PM25_EXCEEDS_PCTILE_THRESHOLD] ) self.df[field_names.PM25_EXPOSURE_LOW_INCOME_LOW_HIGHER_ED_FIELD] = ( - pm25_threshold + self.df[field_names.PM25_EXCEEDS_PCTILE_THRESHOLD] & self.df[field_names.FPL_200_AND_COLLEGE_ATTENDANCE_SERIES] ) self.df[field_names.ENERGY_BURDEN_LOW_INCOME_LOW_HIGHER_ED_FIELD] = ( - energy_burden_threshold + self.df[field_names.ENERGY_BURDEN_EXCEEDS_PCTILE_THRESHOLD] & self.df[field_names.FPL_200_AND_COLLEGE_ATTENDANCE_SERIES] ) @@ -266,14 +281,14 @@ class ScoreM(Score): field_names.TRAFFIC_PROXIMITY_LOW_INCOME_LOW_HIGHER_ED_FIELD, ] - diesel_threshold = ( + self.df[field_names.DIESEL_EXCEEDS_PCTILE_THRESHOLD] = ( self.df[ field_names.DIESEL_FIELD + field_names.PERCENTILE_FIELD_SUFFIX ] >= self.ENVIRONMENTAL_BURDEN_THRESHOLD ) - traffic_threshold = ( + self.df[field_names.TRAFFIC_PROXIMITY_PCTILE_THRESHOLD] = ( self.df[ field_names.TRAFFIC_FIELD + field_names.PERCENTILE_FIELD_SUFFIX ] @@ -281,20 +296,21 @@ class ScoreM(Score): ) self.df[field_names.TRAFFIC_THRESHOLD_EXCEEDED] = ( - traffic_threshold | diesel_threshold + self.df[field_names.TRAFFIC_PROXIMITY_PCTILE_THRESHOLD] + | self.df[field_names.DIESEL_EXCEEDS_PCTILE_THRESHOLD] ) self.df[ field_names.DIESEL_PARTICULATE_MATTER_LOW_INCOME_LOW_HIGHER_ED_FIELD ] = ( - diesel_threshold + self.df[field_names.DIESEL_EXCEEDS_PCTILE_THRESHOLD] & self.df[field_names.FPL_200_AND_COLLEGE_ATTENDANCE_SERIES] ) self.df[ field_names.TRAFFIC_PROXIMITY_LOW_INCOME_LOW_HIGHER_ED_FIELD ] = ( - traffic_threshold + self.df[field_names.TRAFFIC_PROXIMITY_PCTILE_THRESHOLD] & self.df[field_names.FPL_200_AND_COLLEGE_ATTENDANCE_SERIES] ) @@ -325,7 +341,7 @@ class ScoreM(Score): field_names.HOUSING_BURDEN_LOW_INCOME_LOW_HIGHER_ED_FIELD, ] - lead_paint_median_home_value_threshold = ( + self.df[field_names.LEAD_PAINT_PROXY_PCTILE_THRESHOLD] = ( self.df[ field_names.LEAD_PAINT_FIELD + field_names.PERCENTILE_FIELD_SUFFIX @@ -339,7 +355,7 @@ class ScoreM(Score): <= self.MEDIAN_HOUSE_VALUE_THRESHOLD ) - housing_burden_threshold = ( + self.df[field_names.HOUSING_BURDEN_PCTILE_THRESHOLD] = ( self.df[ field_names.HOUSING_BURDEN_FIELD + field_names.PERCENTILE_FIELD_SUFFIX @@ -348,19 +364,20 @@ class ScoreM(Score): ) self.df[field_names.HOUSING_THREHSOLD_EXCEEDED] = ( - lead_paint_median_home_value_threshold | housing_burden_threshold + self.df[field_names.LEAD_PAINT_PROXY_PCTILE_THRESHOLD] + | self.df[field_names.HOUSING_BURDEN_PCTILE_THRESHOLD] ) # series by series indicators self.df[ field_names.LEAD_PAINT_MEDIAN_HOUSE_VALUE_LOW_INCOME_LOW_HIGHER_ED_FIELD ] = ( - lead_paint_median_home_value_threshold + self.df[field_names.LEAD_PAINT_PROXY_PCTILE_THRESHOLD] & self.df[field_names.FPL_200_AND_COLLEGE_ATTENDANCE_SERIES] ) self.df[field_names.HOUSING_BURDEN_LOW_INCOME_LOW_HIGHER_ED_FIELD] = ( - housing_burden_threshold + self.df[field_names.HOUSING_BURDEN_PCTILE_THRESHOLD] & self.df[field_names.FPL_200_AND_COLLEGE_ATTENDANCE_SERIES] ) @@ -385,17 +402,17 @@ class ScoreM(Score): field_names.HAZARDOUS_WASTE_LOW_INCOME_LOW_HIGHER_ED_FIELD, ] - rmp_sites_threshold = ( + self.df[field_names.RMP_PCTILE_THRESHOLD] = ( self.df[field_names.RMP_FIELD + field_names.PERCENTILE_FIELD_SUFFIX] >= self.ENVIRONMENTAL_BURDEN_THRESHOLD ) - npl_sites_threshold = ( + self.df[field_names.NPL_PCTILE_THRESHOLD] = ( self.df[field_names.NPL_FIELD + field_names.PERCENTILE_FIELD_SUFFIX] >= self.ENVIRONMENTAL_BURDEN_THRESHOLD ) - tsdf_sites_threshold = ( + self.df[field_names.TSDF_PCTILE_THRESHOLD] = ( self.df[ field_names.TSDF_FIELD + field_names.PERCENTILE_FIELD_SUFFIX ] @@ -403,20 +420,21 @@ class ScoreM(Score): ) self.df[field_names.POLLUTION_THRESHOLD_EXCEEDED] = ( - rmp_sites_threshold | npl_sites_threshold - ) | tsdf_sites_threshold + self.df[field_names.RMP_PCTILE_THRESHOLD] + | self.df[field_names.NPL_PCTILE_THRESHOLD] + ) | self.df[field_names.TSDF_PCTILE_THRESHOLD] # individual series-by-series self.df[field_names.RMP_LOW_INCOME_LOW_HIGHER_ED_FIELD] = ( - rmp_sites_threshold + self.df[field_names.RMP_PCTILE_THRESHOLD] & self.df[field_names.FPL_200_AND_COLLEGE_ATTENDANCE_SERIES] ) self.df[field_names.SUPERFUND_LOW_INCOME_LOW_HIGHER_ED_FIELD] = ( - npl_sites_threshold + self.df[field_names.NPL_PCTILE_THRESHOLD] & self.df[field_names.FPL_200_AND_COLLEGE_ATTENDANCE_SERIES] ) self.df[field_names.HAZARDOUS_WASTE_LOW_INCOME_LOW_HIGHER_ED_FIELD] = ( - tsdf_sites_threshold + self.df[field_names.TSDF_PCTILE_THRESHOLD] & self.df[field_names.FPL_200_AND_COLLEGE_ATTENDANCE_SERIES] ) @@ -435,7 +453,7 @@ class ScoreM(Score): # poverty level and has a low percent of higher ed students # Source: Census's American Community Survey - self.df[field_names.WATER_THRESHOLD_EXCEEDED] = ( + self.df[field_names.WASTEWATER_PCTILE_THRESHOLD] = ( self.df[ field_names.WASTEWATER_FIELD + field_names.PERCENTILE_FIELD_SUFFIX @@ -443,10 +461,15 @@ class ScoreM(Score): >= self.ENVIRONMENTAL_BURDEN_THRESHOLD ) + # Straight copy here in case we add additional water fields. + self.df[field_names.WATER_THRESHOLD_EXCEEDED] = self.df[ + field_names.WASTEWATER_PCTILE_THRESHOLD + ].copy() + self.df[ field_names.WASTEWATER_DISCHARGE_LOW_INCOME_LOW_HIGHER_ED_FIELD ] = ( - self.df[field_names.WATER_THRESHOLD_EXCEEDED] + self.df[field_names.WASTEWATER_PCTILE_THRESHOLD] & self.df[field_names.FPL_200_AND_COLLEGE_ATTENDANCE_SERIES] ) @@ -480,21 +503,21 @@ class ScoreM(Score): field_names.LOW_LIFE_EXPECTANCY_LOW_INCOME_LOW_HIGHER_ED_FIELD, ] - diabetes_threshold = ( + self.df[field_names.DIABETES_PCTILE_THRESHOLD] = ( self.df[ field_names.DIABETES_FIELD + field_names.PERCENTILE_FIELD_SUFFIX ] >= self.ENVIRONMENTAL_BURDEN_THRESHOLD ) - asthma_threshold = ( + self.df[field_names.ASTHMA_PCTILE_THRESHOLD] = ( self.df[ field_names.ASTHMA_FIELD + field_names.PERCENTILE_FIELD_SUFFIX ] >= self.ENVIRONMENTAL_BURDEN_THRESHOLD ) - heart_disease_threshold = ( + self.df[field_names.HEART_DISEASE_PCTILE_THRESHOLD] = ( self.df[ field_names.HEART_DISEASE_FIELD + field_names.PERCENTILE_FIELD_SUFFIX @@ -502,7 +525,7 @@ class ScoreM(Score): >= self.ENVIRONMENTAL_BURDEN_THRESHOLD ) - low_life_expectancy_threshold = ( + self.df[field_names.LOW_LIFE_EXPECTANCY_PCTILE_THRESHOLD] = ( self.df[ field_names.LOW_LIFE_EXPECTANCY_FIELD + field_names.PERCENTILE_FIELD_SUFFIX @@ -511,25 +534,29 @@ class ScoreM(Score): ) self.df[field_names.HEALTH_THRESHOLD_EXCEEDED] = ( - (diabetes_threshold | asthma_threshold) | heart_disease_threshold - ) | low_life_expectancy_threshold + ( + self.df[field_names.DIABETES_PCTILE_THRESHOLD] + | self.df[field_names.ASTHMA_PCTILE_THRESHOLD] + ) + | self.df[field_names.HEART_DISEASE_PCTILE_THRESHOLD] + ) | self.df[field_names.LOW_LIFE_EXPECTANCY_PCTILE_THRESHOLD] self.df[field_names.DIABETES_LOW_INCOME_LOW_HIGHER_ED_FIELD] = ( - diabetes_threshold + self.df[field_names.DIABETES_PCTILE_THRESHOLD] & self.df[field_names.FPL_200_AND_COLLEGE_ATTENDANCE_SERIES] ) self.df[field_names.ASTHMA_LOW_INCOME_LOW_HIGHER_ED_FIELD] = ( - asthma_threshold + self.df[field_names.ASTHMA_PCTILE_THRESHOLD] & self.df[field_names.FPL_200_AND_COLLEGE_ATTENDANCE_SERIES] ) self.df[field_names.HEART_DISEASE_LOW_INCOME_LOW_HIGHER_ED_FIELD] = ( - heart_disease_threshold + self.df[field_names.HEART_DISEASE_PCTILE_THRESHOLD] & self.df[field_names.FPL_200_AND_COLLEGE_ATTENDANCE_SERIES] ) self.df[ field_names.LOW_LIFE_EXPECTANCY_LOW_INCOME_LOW_HIGHER_ED_FIELD ] = ( - low_life_expectancy_threshold + self.df[field_names.LOW_LIFE_EXPECTANCY_PCTILE_THRESHOLD] & self.df[field_names.FPL_200_AND_COLLEGE_ATTENDANCE_SERIES] ) @@ -578,7 +605,7 @@ class ScoreM(Score): ) ) - unemployment_threshold = ( + self.df[field_names.UNEMPLOYMENT_PCTILE_THRESHOLD] = ( self.df[ field_names.UNEMPLOYMENT_FIELD + field_names.PERCENTILE_FIELD_SUFFIX @@ -586,7 +613,7 @@ class ScoreM(Score): >= self.ENVIRONMENTAL_BURDEN_THRESHOLD ) - low_median_income_threshold = ( + self.df[field_names.LOW_MEDIAN_INCOME_PCTILE_THRESHOLD] = ( self.df[ field_names.LOW_MEDIAN_INCOME_AS_PERCENT_OF_AMI_FIELD + field_names.PERCENTILE_FIELD_SUFFIX @@ -594,7 +621,7 @@ class ScoreM(Score): >= self.ENVIRONMENTAL_BURDEN_THRESHOLD ) - linguistic_isolation_threshold = ( + self.df[field_names.LINGUISTIC_ISOLATION_PCTILE_THRESHOLD] = ( self.df[ field_names.LINGUISTIC_ISO_FIELD + field_names.PERCENTILE_FIELD_SUFFIX @@ -602,7 +629,7 @@ class ScoreM(Score): >= self.ENVIRONMENTAL_BURDEN_THRESHOLD ) - poverty_threshold = ( + self.df[field_names.POVERTY_PCTILE_THRESHOLD] = ( self.df[ field_names.POVERTY_LESS_THAN_100_FPL_FIELD + field_names.PERCENTILE_FIELD_SUFFIX @@ -611,22 +638,22 @@ class ScoreM(Score): ) self.df[field_names.LINGUISTIC_ISOLATION_LOW_HS_LOW_HIGHER_ED_FIELD] = ( - linguistic_isolation_threshold + self.df[field_names.LINGUISTIC_ISOLATION_PCTILE_THRESHOLD] & self.df[field_names.LOW_HS_EDUCATION_LOW_HIGHER_ED_FIELD] ) self.df[field_names.POVERTY_LOW_HS_LOW_HIGHER_ED_FIELD] = ( - poverty_threshold + self.df[field_names.POVERTY_PCTILE_THRESHOLD] & self.df[field_names.LOW_HS_EDUCATION_LOW_HIGHER_ED_FIELD] ) self.df[field_names.LOW_MEDIAN_INCOME_LOW_HS_LOW_HIGHER_ED_FIELD] = ( - low_median_income_threshold + self.df[field_names.LOW_MEDIAN_INCOME_PCTILE_THRESHOLD] & self.df[field_names.LOW_HS_EDUCATION_LOW_HIGHER_ED_FIELD] ) self.df[field_names.UNEMPLOYMENT_LOW_HS_LOW_HIGHER_ED_FIELD] = ( - unemployment_threshold + self.df[field_names.UNEMPLOYMENT_PCTILE_THRESHOLD] & self.df[field_names.LOW_HS_EDUCATION_LOW_HIGHER_ED_FIELD] ) @@ -659,6 +686,12 @@ class ScoreM(Score): threshold_cutoff_for_island_areas=self.ENVIRONMENTAL_BURDEN_THRESHOLD, ) + # TODO: Remove this, it's for checking only + assert ( + island_areas_unemployment_criteria_field_name + == field_names.ISLAND_UNEMPLOYMENT_PCTILE_THRESHOLD + ), "Error combining island columns" + # Next, combine poverty. # This will include an adjusted percentile column for the island areas # to be used by the front end. @@ -673,6 +706,12 @@ class ScoreM(Score): threshold_cutoff_for_island_areas=self.ENVIRONMENTAL_BURDEN_THRESHOLD, ) + # TODO: Remove this, it's for checking only + assert ( + island_areas_poverty_criteria_field_name + == field_names.ISLAND_POVERTY_PCTILE_THRESHOLD + ), "Error combining island columns" + # Also check whether low area median income is 90th percentile or higher # within the islands. @@ -680,13 +719,7 @@ class ScoreM(Score): # unlike the other fields, we do not need to create a new percentile # column. This code should probably be refactored when (TODO) we do the big # refactor. - island_areas_low_median_income_as_a_percent_of_ami_criteria_field_name = ( - f"{field_names.LOW_CENSUS_DECENNIAL_AREA_MEDIAN_INCOME_PERCENT_FIELD_2009} exceeds " - f"{field_names.PERCENTILE}th percentile" - ) - self.df[ - island_areas_low_median_income_as_a_percent_of_ami_criteria_field_name - ] = ( + self.df[field_names.ISLAND_LOW_MEDIAN_INCOME_PCTILE_THRESHOLD] = ( self.df[ field_names.LOW_CENSUS_DECENNIAL_AREA_MEDIAN_INCOME_PERCENT_FIELD_2009 + field_names.PERCENTILE_FIELD_SUFFIX @@ -714,9 +747,7 @@ class ScoreM(Score): self.df[ field_names.ISLAND_AREAS_LOW_MEDIAN_INCOME_LOW_HS_EDUCATION_FIELD ] = ( - self.df[ - island_areas_low_median_income_as_a_percent_of_ami_criteria_field_name - ] + self.df[field_names.ISLAND_LOW_MEDIAN_INCOME_PCTILE_THRESHOLD] & self.df[field_names.ISLAND_AREAS_LOW_HS_EDUCATION_FIELD] ) @@ -750,19 +781,20 @@ class ScoreM(Score): self.df[field_names.WORKFORCE_THRESHOLD_EXCEEDED] = ( ## First we calculate for the non-island areas ( - (poverty_threshold | linguistic_isolation_threshold) - | low_median_income_threshold + ( + self.df[field_names.POVERTY_PCTILE_THRESHOLD] + | self.df[field_names.LINGUISTIC_ISOLATION_PCTILE_THRESHOLD] + ) + | self.df[field_names.LOW_MEDIAN_INCOME_PCTILE_THRESHOLD] ) - | unemployment_threshold + | self.df[field_names.UNEMPLOYMENT_PCTILE_THRESHOLD] ) | ( ## then we calculate just for the island areas ( - self.df[island_areas_unemployment_criteria_field_name] - | self.df[island_areas_poverty_criteria_field_name] + self.df[field_names.ISLAND_UNEMPLOYMENT_PCTILE_THRESHOLD] + | self.df[field_names.ISLAND_POVERTY_PCTILE_THRESHOLD] ) - | self.df[ - island_areas_low_median_income_as_a_percent_of_ami_criteria_field_name - ] + | self.df[field_names.ISLAND_LOW_MEDIAN_INCOME_PCTILE_THRESHOLD] ) # Because of the island complications, we also have to separately calculate the threshold for From db6b5de24e27fbffed1c068b6c1c306bfccbf070 Mon Sep 17 00:00:00 2001 From: Vim <86254807+vim-usds@users.noreply.github.com> Date: Tue, 29 Mar 2022 22:49:57 -0400 Subject: [PATCH 3/4] Release of improve census tract display info (#1480) * will replace mapbox logo (#1477) * Replace maplibre logo with mapbox * change the logo go to mapbox * Add CodeQL and modify mapbox logo via useRef() * Make side panel formula more apparent (#1481) * Add ExceedBurden and CategorySpacer - create ExceedBurden component that is used twice - create a .categorySpacer class for the AND component - modify indicator styling to work with background higlighting - add BE stubs for Burden booleans - remove Indicators header - add copy to intl * Add comments on disadv. indicator - darken bg color - add a border - bold the text * Adds indicator arrow and sub text to sidepanel - add threshold to IndicatorInfo - update SASS for indicatorValueCol - update tests - add constants to intl * Make disadv indicators bold - add 1px margin between indicators * Add BE signals for new sidepanel - tested with staging backend * Add staging hash to URL * Fix poverty backend signal - refactor backend signals in constants file * Make exceed burden value bold * Refactor indicator values - remove arrows and subtext when value is N/A - Show -- when value is N/A - intl alt tags in indicator - fix alignment of arrows - update snapshots * Revert settings.json file * revert settings file again * Refactor what is displayed when data unavailable - add an unavailable icon - add data is not available subtext - modify low income threshold - update snapshots - factor out rendered logic to JSX functions - update image alt tags and intl * Refactor Indicator component to unit test - Add unit test for Indicator value icon - Add unit test for Indicator value sub-text - update snapshots * Add de-coupled BE signals * Rebase hotfix * Fix indicator value 0 shows N/A icon - remove coercion of 0 as null - make components check null / failure case first and default all else - update unit test to account for this use case - update snapshots * Add null check for percentage suffix - update unit tests - update snapshots * remove cypress zoom test - intermittent failure continue * revert cypress to 8.3.0 * Revert cypress-cucumber * Add Chrome to frontend deploy action * Update logo css classname after update to maplibre (#1482) * Add new wording to the map panel that appears upon load when no tract is selected and Outstanding CEQ changes to sidepanel (#1483) * Add new side panel unselected tract - add new icons - refactor old component - follow component folder pattern - update snapshot tests - add to intl * Add bold to text, add spacing and correct typos * Add tabindex to sidepanel content to pass a11y * Refactor i18n anti-patterns on explore tool page - add i18n patterns for nesting - add i18n pattern for partial strings - add i18n rich-text functions - add i18n pattern for minimal context - add i18n pattern for dates - add i18n pattern for numbers - add i18n pattern for centralizing rich text functions - add i18n patter for description - add i18n pattern for ids - see shared drive file J40 Localization Patterns for status on refactor * Remove links of expired public engagement sessions - allow cypress tests to pass * Update snapshots for public enagement page * Copy updates to non-selected side panel - update snapshots * Updates to side panel copy - ag loss and building loss text - clean transit - NPL RMP sites - proportion to percent - update snapshots - updates to es.json * Updates from QA - make title smaller - make margins above icons smaller - add bottom margin on container - add census before tracts in copy - update snapshots * Update snapshot after rebase * disable max-len on description fields on i18n copy (#1487) * Remove color key from Explore the tool page (#1484) * Remove color key * Add comment to Language component * Move tribal note copy to meth page - adjust responsive sizing props on Grid to allow for proper mobile viewing on Explore page * Add responsive size to text under map - reduce z-index of territory focus control so that it doesn't go over the survey button on mobile * Rewrite the two "notes about" the "low" datasets (#1489) * Refactor all copy to adhere to recommended patterns - remove LowIncome component - add intl README - update snapshots * Fix key error missing in datasetCard - update type in IIndicators - update snapshots * Add two notes on low dataset cards - refactor DatasetCard to standard component pattern - add a note to the interface - update snapshots * Add function comment to force re-build * Update missing sass module file name * Update sidepanel non-selected copy (#1495) * Update sidepanel non-selected copy - update snapshots * Update URL in deploy FE for cypress test * removing trailing slash * Add wording to UI that calls out improvements to display of census tract information (#1492) * Adds census tract alert on all pages - add i18n text - updates snapshots - makes public engagement page a fast link * Style the Alert to have more space around it * Update copy on Alert - update snapshots * Swap gerkhin order * Set Alert to expire on Apr 15th 2022 * Add WHEJAC meetings (#1501) * Add WHEJAC meetings - add expired icons - automatically load expired icons when event has passed - update snapshots * Update public engagement button * Remove public eng gherkin tests - need to troubleshoot why these are failing * Remove the before CEQ in copy * Make the count of thresholds exceeded on the side panel more clear (#1503) * Update category / thrsh count in side panel - connect BE signal of CC to side panel - i18n functions to call from AreaDetail component - update snapshots - * Update send feedback - color and icon - update snapshots * Update both exceed statements in sidepanel - update snapshots * Update copy for higher ed and high school (#1502) * Update copy for higher ed and high school - update dataset cards - update taskforce card AND - update side panel indicator titles - add i18n for dataset cards title - update snapshots * Update threshold values for Higher ed and HS. - update snapshots * Update AND clause - missing 'of' in copy - update BE signal for non-higher ed enrollment signal --- .github/workflows/codeql-analysis.yml | 4 +- .github/workflows/deploy_fe_staging.yml | 3 +- client/cypress/integration/About.feature | 10 +- .../integration/PublicEngLinks.feature | 38 +- client/package-lock.json | 124 +- client/package.json | 4 +- .../src/components/AreaDetail/AreaDetail.tsx | 245 +- .../AreaDetail/areaDetail.module.scss | 75 +- .../AreaDetail/areaDetail.module.scss.d.ts | 7 +- client/src/components/AreaDetail/index.tsx | 1 + .../__snapshots__/areaDetail.test.tsx.snap | 1500 +++++++++--- .../AreaDetail/tests/areaDetail.test.tsx | 8 +- .../__snapshots__/Categories.test.tsx.snap | 91 +- .../__snapshots__/CategoryCard.test.tsx.snap | 10 +- .../components/DatasetCard/DatasetCard.tsx | 80 + client/src/components/DatasetCard/index.tsx | 67 +- .../DatasetCard/tests/datasetCard.test.tsx | 2 +- .../src/components/DatasetContainer/index.tsx | 4 +- .../datasetContainer.test.tsx.snap | 68 +- .../ExceedBurden/ExceedBurden.module.scss | 27 + .../ExceedBurden.module.scss.d.ts | 14 + .../ExceedBurden/ExceedBurden.test.tsx | 45 + .../components/ExceedBurden/ExceedBurden.tsx | 23 + .../__snapshots__/ExceedBurden.test.tsx.snap | 53 + client/src/components/ExceedBurden/index.tsx | 3 + .../Indicator/Indicator.module.scss | 85 +- .../Indicator/Indicator.module.scss.d.ts | 5 + .../components/Indicator/Indicator.test.tsx | 172 +- client/src/components/Indicator/Indicator.tsx | 174 +- .../__snapshots__/Indicator.test.tsx.snap | 115 +- .../J40Header/J40Header.module.scss | 4 + .../J40Header/J40Header.module.scss.d.ts | 1 + client/src/components/J40Header/J40Header.tsx | 16 +- .../__snapshots__/J40Header.test.tsx.snap | 34 + client/src/components/J40Map.tsx | 50 +- client/src/components/Language/Language.tsx | 6 + .../LowIncome/LowIncome.module.scss | 20 - .../LowIncome/LowIncome.module.scss.d.ts | 14 - client/src/components/LowIncome/LowIncome.tsx | 26 - .../__snapshots__/LowIncome.test.tsx.snap | 20 - client/src/components/LowIncome/index.tsx | 3 - client/src/components/MapWrapper/index.tsx | 27 +- .../MethodologyFormula.test.tsx.snap | 8 +- .../PublicEngageButton.module.scss | 5 +- .../PublicEngageButton/PublicEngageButton.tsx | 3 +- .../PublicEngageButton.test.tsx.snap | 4 +- .../components/PublicEvent/PublicEvent.tsx | 22 +- .../__snapshots__/PublicEvent.test.tsx.snap | 14 +- .../SidePanelInfo/SidePanelInfo.module.scss | 21 + .../SidePanelInfo.module.scss.d.ts} | 10 +- .../SidePanelInfo.test.tsx} | 8 +- .../SidePanelInfo/SidePanelInfo.tsx | 60 + .../__snapshots__/SidePanelInfo.test.tsx.snap | 76 + client/src/components/SidePanelInfo/index.tsx | 3 + .../__snapshots__/mapInfoPanel.test.tsx.snap | 87 +- client/src/components/mapInfoPanel.tsx | 4 +- .../components/mapIntroduction.module.scss | 34 - .../src/components/mapIntroduction.test.tsx | 16 - client/src/components/mapIntroduction.tsx | 32 - .../territoryFocusControl.module.scss | 16 +- client/src/data/constants.tsx | 270 ++- client/src/data/copy/README.md | 5 + client/src/data/copy/about.tsx | 98 +- client/src/data/copy/common.tsx | 135 +- client/src/data/copy/contact.tsx | 43 +- client/src/data/copy/explore.tsx | 794 ++++--- client/src/data/copy/methodology.tsx | 940 ++++---- client/src/data/copy/publicEngage.tsx | 145 +- client/src/data/getOSBaseMap.tsx | 5 +- .../src/images/eventDates/apr15-inactive.svg | 1 + .../src/images/eventDates/mar10-inactive.svg | 1 + .../src/images/eventDates/mar15-inactive.svg | 1 + .../src/images/eventDates/mar16-inactive.svg | 1 + .../src/images/eventDates/mar22-inactive.svg | 1 + .../src/images/eventDates/mar30-inactive.svg | 1 + client/src/images/eventDates/mar30.svg | 1 + .../src/images/eventDates/mar31-inactive.svg | 1 + client/src/images/eventDates/mar31.svg | 1 + .../src/images/eventDates/mar9-inactive.svg | 1 + .../src/images/sidePanelIcons/bellCurve.svg | 1 + client/src/images/sidePanelIcons/pieChart.svg | 1 + client/src/images/sidePanelIcons/puzzle.svg | 1 + client/src/images/sidePanelIcons/upDown.svg | 1 + client/src/intl/en.json | 2074 +++++++++-------- .../pages/__snapshots__/contact.test.tsx.snap | 43 +- .../pages/__snapshots__/index.test.tsx.snap | 38 +- .../__snapshots__/methodology.test.tsx.snap | 207 +- client/src/pages/cejst.tsx | 24 +- client/src/pages/contact.tsx | 5 +- client/src/pages/index.tsx | 6 +- client/src/styles/global.scss | 12 +- 91 files changed, 5339 insertions(+), 3220 deletions(-) create mode 100644 client/src/components/DatasetCard/DatasetCard.tsx create mode 100644 client/src/components/ExceedBurden/ExceedBurden.module.scss create mode 100644 client/src/components/ExceedBurden/ExceedBurden.module.scss.d.ts create mode 100644 client/src/components/ExceedBurden/ExceedBurden.test.tsx create mode 100644 client/src/components/ExceedBurden/ExceedBurden.tsx create mode 100644 client/src/components/ExceedBurden/__snapshots__/ExceedBurden.test.tsx.snap create mode 100644 client/src/components/ExceedBurden/index.tsx delete mode 100644 client/src/components/LowIncome/LowIncome.module.scss delete mode 100644 client/src/components/LowIncome/LowIncome.module.scss.d.ts delete mode 100644 client/src/components/LowIncome/LowIncome.tsx delete mode 100644 client/src/components/LowIncome/__snapshots__/LowIncome.test.tsx.snap delete mode 100644 client/src/components/LowIncome/index.tsx create mode 100644 client/src/components/SidePanelInfo/SidePanelInfo.module.scss rename client/src/components/{mapIntroduction.module.scss.d.ts => SidePanelInfo/SidePanelInfo.module.scss.d.ts} (67%) rename client/src/components/{LowIncome/LowIncome.test.tsx => SidePanelInfo/SidePanelInfo.test.tsx} (62%) create mode 100644 client/src/components/SidePanelInfo/SidePanelInfo.tsx create mode 100644 client/src/components/SidePanelInfo/__snapshots__/SidePanelInfo.test.tsx.snap create mode 100644 client/src/components/SidePanelInfo/index.tsx delete mode 100644 client/src/components/mapIntroduction.module.scss delete mode 100644 client/src/components/mapIntroduction.test.tsx delete mode 100644 client/src/components/mapIntroduction.tsx create mode 100644 client/src/data/copy/README.md create mode 100644 client/src/images/eventDates/apr15-inactive.svg create mode 100644 client/src/images/eventDates/mar10-inactive.svg create mode 100644 client/src/images/eventDates/mar15-inactive.svg create mode 100644 client/src/images/eventDates/mar16-inactive.svg create mode 100644 client/src/images/eventDates/mar22-inactive.svg create mode 100644 client/src/images/eventDates/mar30-inactive.svg create mode 100644 client/src/images/eventDates/mar30.svg create mode 100644 client/src/images/eventDates/mar31-inactive.svg create mode 100644 client/src/images/eventDates/mar31.svg create mode 100644 client/src/images/eventDates/mar9-inactive.svg create mode 100644 client/src/images/sidePanelIcons/bellCurve.svg create mode 100644 client/src/images/sidePanelIcons/pieChart.svg create mode 100644 client/src/images/sidePanelIcons/puzzle.svg create mode 100644 client/src/images/sidePanelIcons/upDown.svg diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index 43888da5..d7d800b3 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -16,7 +16,9 @@ on: branches: [ main ] pull_request: # The branches below must be a subset of the branches above - branches: [ main ] + branches: + - main + - '**/release/**' schedule: - cron: '42 4 * * 1' diff --git a/.github/workflows/deploy_fe_staging.yml b/.github/workflows/deploy_fe_staging.yml index 53f51df0..6ae9b308 100644 --- a/.github/workflows/deploy_fe_staging.yml +++ b/.github/workflows/deploy_fe_staging.yml @@ -53,8 +53,9 @@ jobs: uses: cypress-io/github-action@v2 with: working-directory: ${{env.WORKING_DIRECTORY}} + browser: chrome start: npm start - wait-on: "http://localhost:8000" + wait-on: "http://localhost:8000/en" - name: Upload Artifact uses: actions/upload-artifact@v2 with: diff --git a/client/cypress/integration/About.feature b/client/cypress/integration/About.feature index 720808aa..4b682e63 100644 --- a/client/cypress/integration/About.feature +++ b/client/cypress/integration/About.feature @@ -1,15 +1,15 @@ Feature: The About page will open from all other pages - Scenario: About page open when navigating from Explore the Tool page - Given I am on the "Explore the tool" page - When I click on the "About" page in the navigation - Then I see "About" in the title - Scenario: About page open when navigating from Methodology page Given I am on the "Methodology" page When I click on the "About" page in the navigation Then I see "About" in the title + Scenario: About page open when navigating from Explore the Tool page + Given I am on the "Explore the tool" page + When I click on the "About" page in the navigation + Then I see "About" in the title + Scenario: About page open when navigating from Contact page Given I am on the "Contact" page When I click on the "About" page in the navigation diff --git a/client/cypress/integration/PublicEngLinks.feature b/client/cypress/integration/PublicEngLinks.feature index 0345a5e5..bd4517b7 100644 --- a/client/cypress/integration/PublicEngLinks.feature +++ b/client/cypress/integration/PublicEngLinks.feature @@ -1,32 +1,14 @@ Feature: All links on Public Eng page are functional - Scenario: Anyone should be able to register on Mar 9th - Given I am on the "Public" page - When I look for the "Mar 9 Reg Link" CTA - And I click on the "Mar 9 Reg Link" event - Then the link should respond successfully + # Scenario: Anyone should be able to register on Mar 22th + # Given I am on the "Public" page + # When I look for the "Mar 22 Reg Link" CTA + # And I click on the "Mar 22 Reg Link" event + # Then the link should respond successfully - Scenario: Anyone should be able to register on Mar 10th - Given I am on the "Public" page - When I look for the "Mar 10 Reg Link" CTA - And I click on the "Mar 10 Reg Link" event - Then the link should respond successfully - - Scenario: Anyone should be able to register on Mar 16th - Given I am on the "Public" page - When I look for the "Mar 16 Reg Link" CTA - And I click on the "Mar 16 Reg Link" event - Then the link should respond successfully - - Scenario: Anyone should be able to register on Mar 22th - Given I am on the "Public" page - When I look for the "Mar 22 Reg Link" CTA - And I click on the "Mar 22 Reg Link" event - Then the link should respond successfully - - Scenario: Anyone should be able to register on Apr 15th - Given I am on the "Public" page - When I look for the "Apr 15 Reg Link" CTA - And I click on the "Apr 15 Reg Link" event - Then the link should respond successfully + # Scenario: Anyone should be able to register on Apr 15th + # Given I am on the "Public" page + # When I look for the "Apr 15 Reg Link" CTA + # And I click on the "Apr 15 Reg Link" event + # Then the link should respond successfully diff --git a/client/package-lock.json b/client/package-lock.json index 57b75fce..d7bbf7f8 100644 --- a/client/package-lock.json +++ b/client/package-lock.json @@ -48,9 +48,9 @@ "axe-core": "^4.4.1", "babel-jest": "^27.5.1", "babel-preset-gatsby": "^1.14.0", - "cypress": "^9.5.2", + "cypress": "^8.3.0", "cypress-axe": "^0.14.0", - "cypress-cucumber-preprocessor": "^4.3.1", + "cypress-cucumber-preprocessor": "^4.2.0", "eslint": "^7.32.0", "eslint-config-google": "^0.14.0", "eslint-plugin-cypress": "^2.12.1", @@ -4129,9 +4129,9 @@ "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==" }, "node_modules/@types/sinonjs__fake-timers": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.1.tgz", - "integrity": "sha512-0kSuKjAS0TrGLJ0M/+8MaFkGsQhZpB6pxOmvS3K8FYI72K//YmdfoW9X2qPsAKh1mkwxGD5zib9s1FIFed6E8g==", + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-6.0.4.tgz", + "integrity": "sha512-IFQTJARgMUBF+xVd2b+hIgXWrZEjND3vJtRCvIelcFB5SIXfjV4bOHbHJ0eXKh+0COrBRc8MqteKAz/j88rE0A==", "dev": true }, "node_modules/@types/sizzle": { @@ -7925,26 +7925,25 @@ } }, "node_modules/cypress": { - "version": "9.5.2", - "resolved": "https://registry.npmjs.org/cypress/-/cypress-9.5.2.tgz", - "integrity": "sha512-gYiQYvJozMzDOriUV1rCt6CeRM/pRK4nhwGJj3nJQyX2BoUdTCVwp30xDMKc771HiNVhBtgj5o5/iBdVDVXQUg==", + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/cypress/-/cypress-8.3.0.tgz", + "integrity": "sha512-zA5Rcq8AZIfRfPXU0CCcauofF+YpaU9HYbfqkunFTmFV0Kdlo14tNjH2E3++MkjXKFnv3/pXq+HgxWtw8CSe8Q==", "dev": true, "hasInstallScript": true, "dependencies": { - "@cypress/request": "^2.88.10", + "@cypress/request": "^2.88.5", "@cypress/xvfb": "^1.2.4", "@types/node": "^14.14.31", - "@types/sinonjs__fake-timers": "8.1.1", + "@types/sinonjs__fake-timers": "^6.0.2", "@types/sizzle": "^2.3.2", "arch": "^2.2.0", "blob-util": "^2.0.2", "bluebird": "^3.7.2", - "buffer": "^5.6.0", "cachedir": "^2.3.0", "chalk": "^4.1.0", "check-more-types": "^2.24.0", "cli-cursor": "^3.1.0", - "cli-table3": "~0.6.1", + "cli-table3": "~0.6.0", "commander": "^5.1.0", "common-tags": "^1.8.0", "dayjs": "^1.10.4", @@ -7966,12 +7965,12 @@ "minimist": "^1.2.5", "ospath": "^1.2.2", "pretty-bytes": "^5.6.0", - "proxy-from-env": "1.0.0", + "ramda": "~0.27.1", "request-progress": "^3.0.0", - "semver": "^7.3.2", "supports-color": "^8.1.1", "tmp": "~0.2.1", "untildify": "^4.0.0", + "url": "^0.11.0", "yauzl": "^2.10.0" }, "bin": { @@ -7995,12 +7994,12 @@ } }, "node_modules/cypress-cucumber-preprocessor": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/cypress-cucumber-preprocessor/-/cypress-cucumber-preprocessor-4.3.1.tgz", - "integrity": "sha512-BKUYXqoTeKzkPXohEczDtpAwRCY0ZPtIpfRwJut16yNLqdXQMV+aItwanxe3cbJTFlwg562NAjL4LMdiOhkAjg==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/cypress-cucumber-preprocessor/-/cypress-cucumber-preprocessor-4.2.0.tgz", + "integrity": "sha512-iVm+gUROvg8lDIFStP4/B+0xHAwj6c6HCoUtkZqq8Ee/tcqe2Vlhz1eAq2Q5+tzmCk2/CIh06suvqB+RQpjWBw==", "dev": true, "dependencies": { - "@cypress/browserify-preprocessor": "^3.0.2", + "@cypress/browserify-preprocessor": "^3.0.1", "chai": "^4.2.0", "chokidar": "3.5.2", "cosmiconfig": "^4.0.0", @@ -8062,30 +8061,6 @@ "integrity": "sha512-q4jlIR71hUpWTnGhXWcakgkZeHa3CCjcQcnuzU8M891BAWA2jHiziiWEPEkdS5pFsz7H9HJiy8BrK7tBRNrY7A==", "dev": true }, - "node_modules/cypress/node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, "node_modules/cypress/node_modules/commander": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", @@ -8110,12 +8085,6 @@ "node": ">=10" } }, - "node_modules/cypress/node_modules/proxy-from-env": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.0.0.tgz", - "integrity": "sha1-M8UDmPcOp+uW0h97gXYwpVeRx+4=", - "dev": true - }, "node_modules/cypress/node_modules/supports-color": { "version": "8.1.1", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", @@ -20444,6 +20413,12 @@ "resolved": "https://registry.npmjs.org/quickselect/-/quickselect-2.0.0.tgz", "integrity": "sha512-RKJ22hX8mHe3Y6wH/N3wCM6BWtjaxIyyUIkpHOvfFnxdI4yD4tBXEBKSbriGujF6jnSVkJrffuo6vxACiSSxIw==" }, + "node_modules/ramda": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.27.2.tgz", + "integrity": "sha512-SbiLPU40JuJniHexQSAgad32hfwd+DRUdwF2PlVuI5RZD0/vahUco7R8vD86J/tcEKKF9vZrUVwgtmGCqlCKyA==", + "dev": true + }, "node_modules/randombytes": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", @@ -29834,9 +29809,9 @@ "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==" }, "@types/sinonjs__fake-timers": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.1.tgz", - "integrity": "sha512-0kSuKjAS0TrGLJ0M/+8MaFkGsQhZpB6pxOmvS3K8FYI72K//YmdfoW9X2qPsAKh1mkwxGD5zib9s1FIFed6E8g==", + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-6.0.4.tgz", + "integrity": "sha512-IFQTJARgMUBF+xVd2b+hIgXWrZEjND3vJtRCvIelcFB5SIXfjV4bOHbHJ0eXKh+0COrBRc8MqteKAz/j88rE0A==", "dev": true }, "@types/sizzle": { @@ -32819,25 +32794,24 @@ } }, "cypress": { - "version": "9.5.2", - "resolved": "https://registry.npmjs.org/cypress/-/cypress-9.5.2.tgz", - "integrity": "sha512-gYiQYvJozMzDOriUV1rCt6CeRM/pRK4nhwGJj3nJQyX2BoUdTCVwp30xDMKc771HiNVhBtgj5o5/iBdVDVXQUg==", + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/cypress/-/cypress-8.3.0.tgz", + "integrity": "sha512-zA5Rcq8AZIfRfPXU0CCcauofF+YpaU9HYbfqkunFTmFV0Kdlo14tNjH2E3++MkjXKFnv3/pXq+HgxWtw8CSe8Q==", "dev": true, "requires": { - "@cypress/request": "^2.88.10", + "@cypress/request": "^2.88.5", "@cypress/xvfb": "^1.2.4", "@types/node": "^14.14.31", - "@types/sinonjs__fake-timers": "8.1.1", + "@types/sinonjs__fake-timers": "^6.0.2", "@types/sizzle": "^2.3.2", "arch": "^2.2.0", "blob-util": "^2.0.2", "bluebird": "^3.7.2", - "buffer": "^5.6.0", "cachedir": "^2.3.0", "chalk": "^4.1.0", "check-more-types": "^2.24.0", "cli-cursor": "^3.1.0", - "cli-table3": "~0.6.1", + "cli-table3": "~0.6.0", "commander": "^5.1.0", "common-tags": "^1.8.0", "dayjs": "^1.10.4", @@ -32859,12 +32833,12 @@ "minimist": "^1.2.5", "ospath": "^1.2.2", "pretty-bytes": "^5.6.0", - "proxy-from-env": "1.0.0", + "ramda": "~0.27.1", "request-progress": "^3.0.0", - "semver": "^7.3.2", "supports-color": "^8.1.1", "tmp": "~0.2.1", "untildify": "^4.0.0", + "url": "^0.11.0", "yauzl": "^2.10.0" }, "dependencies": { @@ -32874,16 +32848,6 @@ "integrity": "sha512-q4jlIR71hUpWTnGhXWcakgkZeHa3CCjcQcnuzU8M891BAWA2jHiziiWEPEkdS5pFsz7H9HJiy8BrK7tBRNrY7A==", "dev": true }, - "buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "dev": true, - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, "commander": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", @@ -32902,12 +32866,6 @@ "universalify": "^2.0.0" } }, - "proxy-from-env": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.0.0.tgz", - "integrity": "sha1-M8UDmPcOp+uW0h97gXYwpVeRx+4=", - "dev": true - }, "supports-color": { "version": "8.1.1", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", @@ -32927,12 +32885,12 @@ "requires": {} }, "cypress-cucumber-preprocessor": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/cypress-cucumber-preprocessor/-/cypress-cucumber-preprocessor-4.3.1.tgz", - "integrity": "sha512-BKUYXqoTeKzkPXohEczDtpAwRCY0ZPtIpfRwJut16yNLqdXQMV+aItwanxe3cbJTFlwg562NAjL4LMdiOhkAjg==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/cypress-cucumber-preprocessor/-/cypress-cucumber-preprocessor-4.2.0.tgz", + "integrity": "sha512-iVm+gUROvg8lDIFStP4/B+0xHAwj6c6HCoUtkZqq8Ee/tcqe2Vlhz1eAq2Q5+tzmCk2/CIh06suvqB+RQpjWBw==", "dev": true, "requires": { - "@cypress/browserify-preprocessor": "^3.0.2", + "@cypress/browserify-preprocessor": "^3.0.1", "chai": "^4.2.0", "chokidar": "3.5.2", "cosmiconfig": "^4.0.0", @@ -42194,6 +42152,12 @@ "resolved": "https://registry.npmjs.org/quickselect/-/quickselect-2.0.0.tgz", "integrity": "sha512-RKJ22hX8mHe3Y6wH/N3wCM6BWtjaxIyyUIkpHOvfFnxdI4yD4tBXEBKSbriGujF6jnSVkJrffuo6vxACiSSxIw==" }, + "ramda": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.27.2.tgz", + "integrity": "sha512-SbiLPU40JuJniHexQSAgad32hfwd+DRUdwF2PlVuI5RZD0/vahUco7R8vD86J/tcEKKF9vZrUVwgtmGCqlCKyA==", + "dev": true + }, "randombytes": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", diff --git a/client/package.json b/client/package.json index 3749f601..ea48bdb0 100644 --- a/client/package.json +++ b/client/package.json @@ -47,9 +47,9 @@ "axe-core": "^4.4.1", "babel-jest": "^27.5.1", "babel-preset-gatsby": "^1.14.0", - "cypress": "^9.5.2", + "cypress": "^8.3.0", "cypress-axe": "^0.14.0", - "cypress-cucumber-preprocessor": "^4.3.1", + "cypress-cucumber-preprocessor": "^4.2.0", "eslint": "^7.32.0", "eslint-config-google": "^0.14.0", "eslint-plugin-cypress": "^2.12.1", diff --git a/client/src/components/AreaDetail/AreaDetail.tsx b/client/src/components/AreaDetail/AreaDetail.tsx index 0c55899b..f6a4872f 100644 --- a/client/src/components/AreaDetail/AreaDetail.tsx +++ b/client/src/components/AreaDetail/AreaDetail.tsx @@ -1,21 +1,23 @@ /* eslint-disable quotes */ // External Libs: import React from 'react'; -import {useIntl, FormattedMessage} from 'gatsby-plugin-intl'; +import {useIntl} from 'gatsby-plugin-intl'; import {Accordion, Button} from '@trussworks/react-uswds'; // Components: import Category from '../Category'; import DisadvantageDot from '../DisadvantageDot'; +import ExceedBurden from '../ExceedBurden'; import Indicator from '../Indicator'; // Styles and constants import * as styles from './areaDetail.module.scss'; import * as constants from '../../data/constants'; import * as EXPLORE_COPY from '../../data/copy/explore'; -import * as CONTACT_COPY from '../../data/copy/contact'; +import * as COMMON_COPY from '../../data/copy/common'; + // @ts-ignore -// import mailIcon from '/node_modules/uswds/dist/img/usa-icons/mail.svg'; +import mailIcon from '/node_modules/uswds/dist/img/usa-icons/mail_outline.svg'; interface IAreaDetailProps { properties: constants.J40Properties, @@ -35,6 +37,7 @@ export interface indicatorInfo { value: number, isDisadvagtaged: boolean, isPercent?: boolean, + threshold?: number, } const AreaDetail = ({properties}:IAreaDetailProps) => { @@ -97,8 +100,8 @@ const AreaDetail = ({properties}:IAreaDetailProps) => { } if (indicatorName === 'poverty') { return properties.hasOwnProperty(constants - .POVERTY_PROPERTY_PERCENTILE) ? - properties[constants.POVERTY_PROPERTY_PERCENTILE] : null; + .POVERTY_BELOW_100_PERCENTILE) ? + properties[constants.POVERTY_BELOW_100_PERCENTILE] : null; } if (indicatorName === 'highSchool') { return properties.hasOwnProperty(constants @@ -117,18 +120,18 @@ const AreaDetail = ({properties}:IAreaDetailProps) => { if (sidePanelState === constants.SIDE_PANEL_STATE_VALUES.ISLAND_AREAS) { if (indicatorName === 'lowMedInc') { return properties.hasOwnProperty(constants - .IS_GTE_90_ISLAND_AREA_LOW_MEDIAN_INCOME_AND_IS_LOW_HS_EDU_2009) ? - properties[constants.IS_GTE_90_ISLAND_AREA_LOW_MEDIAN_INCOME_AND_IS_LOW_HS_EDU_2009] : null; + .IS_EXCEEDS_THRESH_FOR_ISLAND_AREA_LOW_MEDIAN_INCOME) ? + properties[constants.IS_EXCEEDS_THRESH_FOR_ISLAND_AREA_LOW_MEDIAN_INCOME] : null; } if (indicatorName === 'unemploy') { return properties.hasOwnProperty(constants - .IS_GTE_90_ISLAND_AREA_UNEMPLOYMENT_AND_IS_LOW_HS_EDU_2009) ? - properties[constants.IS_GTE_90_ISLAND_AREA_UNEMPLOYMENT_AND_IS_LOW_HS_EDU_2009] : null; + .IS_EXCEEDS_THRESH_FOR_ISLAND_AREA_UNEMPLOYMENT) ? + properties[constants.IS_EXCEEDS_THRESH_FOR_ISLAND_AREA_UNEMPLOYMENT] : null; } if (indicatorName === 'poverty') { return properties.hasOwnProperty(constants - .IS_GTE_90_ISLAND_AREA_BELOW_100_POVERTY_AND_IS_LOW_HS_EDU_2009) ? - properties[constants.IS_GTE_90_ISLAND_AREA_BELOW_100_POVERTY_AND_IS_LOW_HS_EDU_2009] : null; + .IS_EXCEEDS_THRESH_FOR_ISLAND_AREA_BELOW_100_POVERTY) ? + properties[constants.IS_EXCEEDS_THRESH_FOR_ISLAND_AREA_BELOW_100_POVERTY] : null; } if (indicatorName === 'highSchool') { return properties.hasOwnProperty(constants @@ -139,18 +142,18 @@ const AreaDetail = ({properties}:IAreaDetailProps) => { if (indicatorName === 'lowMedInc') { return properties.hasOwnProperty(constants - .IS_GTE_90_LOW_MEDIAN_INCOME_AND_LOW_HIGH_SCHOOL_EDU) ? - properties[constants.IS_GTE_90_LOW_MEDIAN_INCOME_AND_LOW_HIGH_SCHOOL_EDU] : null; + .IS_EXCEEDS_THRESH_FOR_LOW_MEDIAN_INCOME) ? + properties[constants.IS_EXCEEDS_THRESH_FOR_LOW_MEDIAN_INCOME] : null; } if (indicatorName === 'unemploy') { return properties.hasOwnProperty(constants - .IS_GTE_90_UNEMPLOYMENT_AND_LOW_HIGH_SCHOOL_EDU) ? - properties[constants.IS_GTE_90_UNEMPLOYMENT_AND_LOW_HIGH_SCHOOL_EDU] : null; + .IS_EXCEEDS_THRESH_FOR_UNEMPLOYMENT) ? + properties[constants.IS_EXCEEDS_THRESH_FOR_UNEMPLOYMENT] : null; } if (indicatorName === 'poverty') { return properties.hasOwnProperty(constants - .IS_GTE_90_BELOW_100_POVERTY_AND_LOW_HIGH_SCHOOL_EDU) ? - properties[constants.IS_GTE_90_BELOW_100_POVERTY_AND_LOW_HIGH_SCHOOL_EDU] : null; + .IS_EXCEEDS_THRESH_FOR_BELOW_100_POVERTY) ? + properties[constants.IS_EXCEEDS_THRESH_FOR_BELOW_100_POVERTY] : null; } if (indicatorName === 'highSchool') { return properties.hasOwnProperty(constants @@ -166,24 +169,24 @@ const AreaDetail = ({properties}:IAreaDetailProps) => { description: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATOR_DESCRIPTION.EXP_AG_LOSS), value: properties.hasOwnProperty(constants.EXP_AGRICULTURE_LOSS_PERCENTILE) ? properties[constants.EXP_AGRICULTURE_LOSS_PERCENTILE] : null, - isDisadvagtaged: properties[constants.IS_GTE_90_EXP_AGR_LOSS_AND_IS_LOW_INCOME] ? - properties[constants.IS_GTE_90_EXP_AGR_LOSS_AND_IS_LOW_INCOME] : null, + isDisadvagtaged: properties[constants.IS_EXCEEDS_THRESH_FOR_EXP_AGR_LOSS] ? + properties[constants.IS_EXCEEDS_THRESH_FOR_EXP_AGR_LOSS] : null, }; const expBldLoss:indicatorInfo = { label: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATORS.EXP_BLD_LOSS), description: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATOR_DESCRIPTION.EXP_BLD_LOSS), value: properties.hasOwnProperty(constants.EXP_BUILDING_LOSS_PERCENTILE) ? properties[constants.EXP_BUILDING_LOSS_PERCENTILE] : null, - isDisadvagtaged: properties[constants.IS_GTE_90_EXP_BLD_LOSS_AND_IS_LOW_INCOME] ? - properties[constants.IS_GTE_90_EXP_BLD_LOSS_AND_IS_LOW_INCOME] : null, + isDisadvagtaged: properties[constants.IS_EXCEEDS_THRESH_FOR_EXP_BLD_LOSS] ? + properties[constants.IS_EXCEEDS_THRESH_FOR_EXP_BLD_LOSS] : null, }; const expPopLoss:indicatorInfo = { label: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATORS.EXP_POP_LOSS), description: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATOR_DESCRIPTION.EXP_POP_LOSS), value: properties.hasOwnProperty(constants.EXP_POPULATION_LOSS_PERCENTILE) ? properties[constants.EXP_POPULATION_LOSS_PERCENTILE] : null, - isDisadvagtaged: properties[constants.IS_GTE_90_EXP_POP_LOSS_AND_IS_LOW_INCOME] ? - properties[constants.IS_GTE_90_EXP_POP_LOSS_AND_IS_LOW_INCOME] : null, + isDisadvagtaged: properties[constants.IS_EXCEEDS_THRESH_FOR_EXP_POP_LOSS] ? + properties[constants.IS_EXCEEDS_THRESH_FOR_EXP_POP_LOSS] : null, }; const lowInc:indicatorInfo = { label: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATORS.LOW_INCOME), @@ -192,15 +195,17 @@ const AreaDetail = ({properties}:IAreaDetailProps) => { properties[constants.POVERTY_BELOW_200_PERCENTILE] : null, isDisadvagtaged: properties[constants.IS_FEDERAL_POVERTY_LEVEL_200] ? properties[constants.IS_FEDERAL_POVERTY_LEVEL_200] : null, + threshold: 65, }; const higherEd:indicatorInfo = { label: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATORS.HIGH_ED), description: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATOR_DESCRIPTION.HIGH_ED), - value: properties.hasOwnProperty(constants.HIGHER_ED_PERCENTILE) ? - properties[constants.HIGHER_ED_PERCENTILE] : null, + value: properties.hasOwnProperty(constants.NON_HIGHER_ED_PERCENTILE) ? + properties[constants.NON_HIGHER_ED_PERCENTILE] : null, isDisadvagtaged: properties[constants.IS_HIGHER_ED_PERCENTILE] ? properties[constants.IS_HIGHER_ED_PERCENTILE] : null, isPercent: true, + threshold: 80, }; const energyBurden:indicatorInfo = { @@ -208,16 +213,16 @@ const AreaDetail = ({properties}:IAreaDetailProps) => { description: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATOR_DESCRIPTION.ENERGY_BURDEN), value: properties.hasOwnProperty(constants.ENERGY_PERCENTILE) ? properties[constants.ENERGY_PERCENTILE] : null, - isDisadvagtaged: properties[constants.IS_GTE_90_ENERGY_BURDEN_AND_IS_LOW_INCOME] ? - properties[constants.IS_GTE_90_ENERGY_BURDEN_AND_IS_LOW_INCOME] : null, + isDisadvagtaged: properties[constants.IS_EXCEEDS_THRESH_FOR_ENERGY_BURDEN] ? + properties[constants.IS_EXCEEDS_THRESH_FOR_ENERGY_BURDEN] : null, }; const pm25:indicatorInfo = { label: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATORS.PM_2_5), description: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATOR_DESCRIPTION.PM_2_5), value: properties.hasOwnProperty(constants.PM25_PERCENTILE) ? properties[constants.PM25_PERCENTILE] : null, - isDisadvagtaged: properties[constants.IS_GTE_90_PM25_AND_IS_LOW_INCOME] ? - properties[constants.IS_GTE_90_PM25_AND_IS_LOW_INCOME] : null, + isDisadvagtaged: properties[constants.IS_EXCEEDS_THRESH_FOR_PM25] ? + properties[constants.IS_EXCEEDS_THRESH_FOR_PM25] : null, }; const dieselPartMatter:indicatorInfo = { @@ -225,16 +230,16 @@ const AreaDetail = ({properties}:IAreaDetailProps) => { description: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATOR_DESCRIPTION.DIESEL_PARTICULATE_MATTER), value: properties.hasOwnProperty(constants.DIESEL_MATTER_PERCENTILE) ? properties[constants.DIESEL_MATTER_PERCENTILE] : null, - isDisadvagtaged: properties[constants.IS_GTE_90_DIESEL_PM_AND_IS_LOW_INCOME] ? - properties[constants.IS_GTE_90_DIESEL_PM_AND_IS_LOW_INCOME] : null, + isDisadvagtaged: properties[constants.IS_EXCEEDS_THRESH_FOR_DIESEL_PM] ? + properties[constants.IS_EXCEEDS_THRESH_FOR_DIESEL_PM] : null, }; const trafficVolume:indicatorInfo = { label: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATORS.TRAFFIC_VOLUME), description: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATOR_DESCRIPTION.TRAFFIC_VOLUME), value: properties.hasOwnProperty(constants.TRAFFIC_PERCENTILE) ? properties[constants.TRAFFIC_PERCENTILE] : null, - isDisadvagtaged: properties[constants.IS_GTE_90_TRAFFIC_PROX_AND_IS_LOW_INCOME] ? - properties[constants.IS_GTE_90_TRAFFIC_PROX_AND_IS_LOW_INCOME] : null, + isDisadvagtaged: properties[constants.IS_EXCEEDS_THRESH_FOR_TRAFFIC_PROX] ? + properties[constants.IS_EXCEEDS_THRESH_FOR_TRAFFIC_PROX] : null, }; const houseBurden:indicatorInfo = { @@ -242,16 +247,16 @@ const AreaDetail = ({properties}:IAreaDetailProps) => { description: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATOR_DESCRIPTION.HOUSE_BURDEN), value: properties.hasOwnProperty(constants.HOUSING_BURDEN_PROPERTY_PERCENTILE) ? properties[constants.HOUSING_BURDEN_PROPERTY_PERCENTILE] : null, - isDisadvagtaged: properties[constants.IS_GTE_90_HOUSE_BURDEN_AND_IS_LOW_INCOME] ? - properties[constants.IS_GTE_90_HOUSE_BURDEN_AND_IS_LOW_INCOME] : null, + isDisadvagtaged: properties[constants.IS_EXCEEDS_THRESH_FOR_HOUSE_BURDEN] ? + properties[constants.IS_EXCEEDS_THRESH_FOR_HOUSE_BURDEN] : null, }; const leadPaint:indicatorInfo = { label: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATORS.LEAD_PAINT), description: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATOR_DESCRIPTION.LEAD_PAINT), value: properties.hasOwnProperty(constants.LEAD_PAINT_PERCENTILE) ? properties[constants.LEAD_PAINT_PERCENTILE] : null, - isDisadvagtaged: properties[constants.IS_GTE_90_LEAD_PAINT_AND_MEDIAN_HOME_VAL_AND_IS_LOW_INCOME] ? - properties[constants.IS_GTE_90_LEAD_PAINT_AND_MEDIAN_HOME_VAL_AND_IS_LOW_INCOME] : 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, }; // const medHomeVal:indicatorInfo = { // label: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATORS.MED_HOME_VAL), @@ -266,24 +271,24 @@ const AreaDetail = ({properties}:IAreaDetailProps) => { description: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATOR_DESCRIPTION.PROX_HAZ), value: properties.hasOwnProperty(constants.PROXIMITY_TSDF_SITES_PERCENTILE) ? properties[constants.PROXIMITY_TSDF_SITES_PERCENTILE] : null, - isDisadvagtaged: properties[constants.IS_GTE_90_HAZARD_WASTE_AND_IS_LOW_INCOME] ? - properties[constants.IS_GTE_90_HAZARD_WASTE_AND_IS_LOW_INCOME] : null, + isDisadvagtaged: properties[constants.IS_EXCEEDS_THRESH_FOR_HAZARD_WASTE] ? + properties[constants.IS_EXCEEDS_THRESH_FOR_HAZARD_WASTE] : null, }; const proxNPL:indicatorInfo = { label: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATORS.PROX_NPL), description: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATOR_DESCRIPTION.PROX_NPL), value: properties.hasOwnProperty(constants.PROXIMITY_NPL_SITES_PERCENTILE) ? properties[constants.PROXIMITY_NPL_SITES_PERCENTILE] : null, - isDisadvagtaged: properties[constants.IS_GTE_90_SUPERFUND_AND_IS_LOW_INCOME] ? - properties[constants.IS_GTE_90_SUPERFUND_AND_IS_LOW_INCOME] : null, + isDisadvagtaged: properties[constants.IS_EXCEEDS_THRESH_FOR_SUPERFUND] ? + properties[constants.IS_EXCEEDS_THRESH_FOR_SUPERFUND] : null, }; const proxRMP:indicatorInfo = { label: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATORS.PROX_RMP), description: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATOR_DESCRIPTION.PROX_RMP), value: properties.hasOwnProperty(constants.PROXIMITY_RMP_SITES_PERCENTILE) ? properties[constants.PROXIMITY_RMP_SITES_PERCENTILE] : null, - isDisadvagtaged: properties[constants.IS_GTE_90_RMP_AND_IS_LOW_INCOME] ? - properties[constants.IS_GTE_90_RMP_AND_IS_LOW_INCOME] : null, + isDisadvagtaged: properties[constants.IS_EXCEEDS_THRESH_FOR_RMP] ? + properties[constants.IS_EXCEEDS_THRESH_FOR_RMP] : null, }; const wasteWater:indicatorInfo = { @@ -291,8 +296,8 @@ const AreaDetail = ({properties}:IAreaDetailProps) => { description: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATOR_DESCRIPTION.WASTE_WATER), value: properties.hasOwnProperty(constants.WASTEWATER_PERCENTILE) ? properties[constants.WASTEWATER_PERCENTILE] : null, - isDisadvagtaged: properties[constants.IS_GTE_90_WASTEWATER_AND_IS_LOW_INCOME] ? - properties[constants.IS_GTE_90_WASTEWATER_AND_IS_LOW_INCOME] : null, + isDisadvagtaged: properties[constants.IS_EXCEEDS_THRESH_FOR_WASTEWATER] ? + properties[constants.IS_EXCEEDS_THRESH_FOR_WASTEWATER] : null, }; const asthma:indicatorInfo = { @@ -300,32 +305,32 @@ const AreaDetail = ({properties}:IAreaDetailProps) => { description: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATOR_DESCRIPTION.ASTHMA), value: properties.hasOwnProperty(constants.ASTHMA_PERCENTILE) ? properties[constants.ASTHMA_PERCENTILE] : null, - isDisadvagtaged: properties[constants.IS_GTE_90_ASTHMA_AND_IS_LOW_INCOME] ? - properties[constants.IS_GTE_90_ASTHMA_AND_IS_LOW_INCOME] : null, + isDisadvagtaged: properties[constants.IS_EXCEEDS_THRESH_FOR_ASTHMA] ? + properties[constants.IS_EXCEEDS_THRESH_FOR_ASTHMA] : null, }; const diabetes:indicatorInfo = { label: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATORS.DIABETES), description: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATOR_DESCRIPTION.DIABETES), value: properties.hasOwnProperty(constants.DIABETES_PERCENTILE) ? properties[constants.DIABETES_PERCENTILE] : null, - isDisadvagtaged: properties[constants.IS_GTE_90_DIABETES_AND_IS_LOW_INCOME] ? - properties[constants.IS_GTE_90_DIABETES_AND_IS_LOW_INCOME] : null, + isDisadvagtaged: properties[constants.IS_EXCEEDS_THRESH_FOR_DIABETES] ? + properties[constants.IS_EXCEEDS_THRESH_FOR_DIABETES] : null, }; const heartDisease:indicatorInfo = { label: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATORS.HEART_DISEASE), description: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATOR_DESCRIPTION.HEART_DISEASE), value: properties.hasOwnProperty(constants.HEART_PERCENTILE) ? properties[constants.HEART_PERCENTILE] : null, - isDisadvagtaged: properties[constants.IS_GTE_90_HEART_DISEASE_AND_IS_LOW_INCOME] ? - properties[constants.IS_GTE_90_HEART_DISEASE_AND_IS_LOW_INCOME] : null, + isDisadvagtaged: properties[constants.IS_EXCEEDS_THRESH_FOR_HEART_DISEASE] ? + properties[constants.IS_EXCEEDS_THRESH_FOR_HEART_DISEASE] : null, }; const lifeExpect:indicatorInfo = { label: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATORS.LIFE_EXPECT), description: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATOR_DESCRIPTION.LOW_LIFE_EXPECT), value: properties.hasOwnProperty(constants.LIFE_PERCENTILE) ? properties[constants.LIFE_PERCENTILE] : null, - isDisadvagtaged: properties[constants.IS_GTE_90_LOW_LIFE_EXP_AND_IS_LOW_INCOME] ? - properties[constants.IS_GTE_90_LOW_LIFE_EXP_AND_IS_LOW_INCOME] : null, + isDisadvagtaged: properties[constants.IS_EXCEEDS_THRESH_FOR_LOW_LIFE_EXP] ? + properties[constants.IS_EXCEEDS_THRESH_FOR_LOW_LIFE_EXP] : null, }; const lingIso:indicatorInfo = { @@ -333,8 +338,8 @@ const AreaDetail = ({properties}:IAreaDetailProps) => { description: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATOR_DESCRIPTION.LING_ISO), value: properties.hasOwnProperty(constants.LINGUISTIC_ISOLATION_PROPERTY_PERCENTILE) ? properties[constants.LINGUISTIC_ISOLATION_PROPERTY_PERCENTILE] : null, - isDisadvagtaged: properties[constants.IS_GTE_90_LINGUISITIC_ISO_AND_IS_LOW_INCOME] ? - properties[constants.IS_GTE_90_LINGUISITIC_ISO_AND_IS_LOW_INCOME] : null, + isDisadvagtaged: properties[constants.IS_EXCEEDS_THRESH_FOR_LINGUISITIC_ISO] ? + properties[constants.IS_EXCEEDS_THRESH_FOR_LINGUISITIC_ISO] : null, }; const lowMedInc:indicatorInfo = { label: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATORS.LOW_MED_INC), @@ -360,65 +365,111 @@ const AreaDetail = ({properties}:IAreaDetailProps) => { value: getWorkForceIndicatorValue('highSchool'), isDisadvagtaged: getWorkForceIndicatorIsDisadv('highSchool'), isPercent: true, + threshold: 10, }; - // Aggregate indicators based on categories + /** + * Aggregate indicators based on categories + * + * The indicators property must be an array with last two elements being the + * socioeconomic burdens. + */ let categories = [ { id: 'climate-change', titleText: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_CATEGORY.CLIMATE), - indicators: [expAgLoss, expBldLoss, expPopLoss, lowInc, higherEd], + indicators: [expAgLoss, expBldLoss, expPopLoss], + socioEcIndicators: [lowInc, higherEd], isDisadvagtaged: properties[constants.IS_CLIMATE_FACTOR_DISADVANTAGED_M] ? properties[constants.IS_CLIMATE_FACTOR_DISADVANTAGED_M] : null, + isExceed1MoreBurden: properties[constants.IS_CLIMATE_EXCEED_ONE_OR_MORE_INDICATORS_M] ? + properties[constants.IS_CLIMATE_EXCEED_ONE_OR_MORE_INDICATORS_M] : null, + isExceedBothSocioBurdens: properties[constants.IS_EXCEED_BOTH_SOCIO_INDICATORS_M] ? + properties[constants.IS_EXCEED_BOTH_SOCIO_INDICATORS_M] : null, }, { id: 'clean-energy', titleText: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_CATEGORY.CLEAN_ENERGY), - indicators: [energyBurden, pm25, lowInc, higherEd], + indicators: [energyBurden, pm25], + socioEcIndicators: [lowInc, higherEd], isDisadvagtaged: properties[constants.IS_ENERGY_FACTOR_DISADVANTAGED_M] ? properties[constants.IS_ENERGY_FACTOR_DISADVANTAGED_M] : null, + isExceed1MoreBurden: properties[constants.IS_ENERGY_EXCEED_ONE_OR_MORE_INDICATORS_M] ? + properties[constants.IS_ENERGY_EXCEED_ONE_OR_MORE_INDICATORS_M] : null, + isExceedBothSocioBurdens: properties[constants.IS_EXCEED_BOTH_SOCIO_INDICATORS_M] ? + properties[constants.IS_EXCEED_BOTH_SOCIO_INDICATORS_M] : null, }, { id: 'clean-transport', titleText: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_CATEGORY.CLEAN_TRANSPORT), - indicators: [dieselPartMatter, trafficVolume, lowInc, higherEd], + indicators: [dieselPartMatter, trafficVolume], + socioEcIndicators: [lowInc, higherEd], isDisadvagtaged: properties[constants.IS_TRANSPORT_FACTOR_DISADVANTAGED_M] ? properties[constants.IS_TRANSPORT_FACTOR_DISADVANTAGED_M] : null, + isExceed1MoreBurden: properties[constants.IS_TRANSPORT_EXCEED_ONE_OR_MORE_INDICATORS_M] ? + properties[constants.IS_TRANSPORT_EXCEED_ONE_OR_MORE_INDICATORS_M] : null, + isExceedBothSocioBurdens: properties[constants.IS_EXCEED_BOTH_SOCIO_INDICATORS_M] ? + properties[constants.IS_EXCEED_BOTH_SOCIO_INDICATORS_M] : null, }, { id: 'sustain-house', titleText: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_CATEGORY.SUSTAIN_HOUSE), - indicators: [houseBurden, leadPaint, lowInc, higherEd], + indicators: [houseBurden, leadPaint], + socioEcIndicators: [lowInc, higherEd], isDisadvagtaged: properties[constants.IS_HOUSING_FACTOR_DISADVANTAGED_M] ? properties[constants.IS_HOUSING_FACTOR_DISADVANTAGED_M] : null, + isExceed1MoreBurden: properties[constants.IS_HOUSING_EXCEED_ONE_OR_MORE_INDICATORS_M] ? + properties[constants.IS_HOUSING_EXCEED_ONE_OR_MORE_INDICATORS_M] : null, + isExceedBothSocioBurdens: properties[constants.IS_EXCEED_BOTH_SOCIO_INDICATORS_M] ? + properties[constants.IS_EXCEED_BOTH_SOCIO_INDICATORS_M] : null, }, { id: 'leg-pollute', titleText: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_CATEGORY.LEG_POLLUTE), - indicators: [proxHaz, proxNPL, proxRMP, lowInc, higherEd], + indicators: [proxHaz, proxNPL, proxRMP], + socioEcIndicators: [lowInc, higherEd], isDisadvagtaged: properties[constants.IS_POLLUTION_FACTOR_DISADVANTAGED_M] ? properties[constants.IS_POLLUTION_FACTOR_DISADVANTAGED_M] : null, + isExceed1MoreBurden: properties[constants.IS_POLLUTION_EXCEED_ONE_OR_MORE_INDICATORS_M] ? + properties[constants.IS_POLLUTION_EXCEED_ONE_OR_MORE_INDICATORS_M] : null, + isExceedBothSocioBurdens: properties[constants.IS_EXCEED_BOTH_SOCIO_INDICATORS_M] ? + properties[constants.IS_EXCEED_BOTH_SOCIO_INDICATORS_M] : null, }, { id: 'clean-water', titleText: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_CATEGORY.CLEAN_WATER), - indicators: [wasteWater, lowInc, higherEd], + indicators: [wasteWater], + socioEcIndicators: [lowInc, higherEd], isDisadvagtaged: properties[constants.IS_WATER_FACTOR_DISADVANTAGED_M] ? properties[constants.IS_WATER_FACTOR_DISADVANTAGED_M] : null, + isExceed1MoreBurden: properties[constants.IS_WATER_EXCEED_ONE_OR_MORE_INDICATORS_M] ? + properties[constants.IS_WATER_EXCEED_ONE_OR_MORE_INDICATORS_M] : null, + isExceedBothSocioBurdens: properties[constants.IS_EXCEED_BOTH_SOCIO_INDICATORS_M] ? + properties[constants.IS_EXCEED_BOTH_SOCIO_INDICATORS_M] : null, }, { id: 'health-burdens', titleText: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_CATEGORY.HEALTH_BURDEN), - indicators: [asthma, diabetes, heartDisease, lifeExpect, lowInc, higherEd], + indicators: [asthma, diabetes, heartDisease, lifeExpect], + socioEcIndicators: [lowInc, higherEd], isDisadvagtaged: properties[constants.IS_HEALTH_FACTOR_DISADVANTAGED_M] ? properties[constants.IS_HEALTH_FACTOR_DISADVANTAGED_M] : null, + isExceed1MoreBurden: properties[constants.IS_HEALTH_EXCEED_ONE_OR_MORE_INDICATORS_M] ? + properties[constants.IS_HEALTH_EXCEED_ONE_OR_MORE_INDICATORS_M] : null, + isExceedBothSocioBurdens: properties[constants.IS_EXCEED_BOTH_SOCIO_INDICATORS_M] ? + properties[constants.IS_EXCEED_BOTH_SOCIO_INDICATORS_M] : null, }, { id: 'work-dev', titleText: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_CATEGORY.WORK_DEV), - indicators: [lingIso, lowMedInc, , unemploy, poverty, highSchool, higherEd], + indicators: [lingIso, lowMedInc, , unemploy, poverty], + socioEcIndicators: [highSchool, higherEd], isDisadvagtaged: properties[constants.IS_WORKFORCE_FACTOR_DISADVANTAGED_M] ? properties[constants.IS_WORKFORCE_FACTOR_DISADVANTAGED_M] : null, + isExceed1MoreBurden: properties[constants.IS_WORKFORCE_EXCEED_ONE_OR_MORE_INDICATORS_M] ? + properties[constants.IS_WORKFORCE_EXCEED_ONE_OR_MORE_INDICATORS_M] : null, + isExceedBothSocioBurdens: properties[constants.IS_WORKFORCE_EXCEED_BOTH_SOCIO_INDICATORS_M] ? + properties[constants.IS_WORKFORCE_EXCEED_BOTH_SOCIO_INDICATORS_M] : null, }, ]; @@ -448,16 +499,31 @@ const AreaDetail = ({properties}:IAreaDetailProps) => { title: , content: ( <> - {/* Category Header */} -
-
{intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_CATEGORY.INDICATOR)}
-
{intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_CATEGORY.PERCENTILE)}
-
+ {/* Exceeds one or more burdens */} + - {/* Category Indicators */} + {/* indicators */} {category.indicators.map((indicator:any, index:number) => { return ; })} + + {/* AND */} +
AND
+ + {/* Exceeds both socioeconomic burdens */} + + + {/* socio-economic indicators */} + {category.socioEcIndicators.map((indicator:any, index:number) => { + return ; + })} + ), expanded: false, @@ -521,35 +587,38 @@ const AreaDetail = ({properties}:IAreaDetailProps) => { } - {/* Number of thresholds exceeded */} -
0 ? - styles.showThresholdExceed : styles.hideThresholdExceed - }> - + {/* Number of categories exceeded */} +
+ {EXPLORE_COPY.numberOfCategoriesExceeded(properties[constants.COUNT_OF_CATEGORIES_DISADV])}
+ {/* Number of thresholds exceeded */} +
+ {EXPLORE_COPY.numberOfThresholdsExceeded(properties[constants.TOTAL_NUMBER_OF_DISADVANTAGE_INDICATORS])} +
{/* Send Feedback button */} @@ -107,14 +116,15 @@ exports[`rendering of the AreaDetail checks if indicators for ISLAND AREAS are p >
- Indicator + At or above at least one threshold?
- Percentile (0-100) + No
  • @@ -124,17 +134,36 @@ exports[`rendering of the AreaDetail checks if indicators for ISLAND AREAS are p
    - 60 - - - th - - +
    +
    + 60 + + + th + + +
    +
    + an icon for the down arrow +
    +
    +
    +
    + below 90th +
    +
    + percentile +
    +
  • @@ -144,55 +173,177 @@ exports[`rendering of the AreaDetail checks if indicators for ISLAND AREAS are p
    - 90 - - - th - - +
    +
    + 90 + + + th + + +
    +
    + an icon for the up arrow +
    +
    +
    +
    + above 90th +
    +
    + percentile +
    +
  • Poverty
    - Percent of a tract's population in households where the household income is at or below 100% of - the Federal poverty level + Percent of a census tract's population in households where the household income is at or below 100% + of the Federal poverty level
    - 80 - - - th - - +
    +
    + 50 + + + th + + +
    +
    + an icon for the down arrow +
    +
    +
    +
    + below 90th +
    +
    + percentile +
    +
  • - High school degree attainment rate + High school degree non-attainment
    - Proportion of people ages 25 years or older whose education level is less than a high school diploma + Percent of people ages 25 years or older whose education level is less than a high school diploma
    - N/A - - % - +
    +
    +
    + an icon to represent data is unavailable +
    +
    +
    +
    + data is not available +
    +
    +
    +
    +
  • +
    + AND +
    +
    +
    + At or above both associated thresholds? +
    +
    + No +
    +
    +
  • +
    +
    + High school degree non-attainment +
    + + Percent of people ages 25 years or older whose education level is less than a high school diploma + +
    +
    +
    +
    +
    +
    + an icon to represent data is unavailable +
    +
    +
    +
    + data is not available +
    +
    +
    +
    +
  • +
  • +
    +
    + Higher education non-enrollement +
    + + Percent of the census tract's population 15 or older not enrolled in college, university, or + graduate school + +
    +
    +
    +
    +
    +
    + an icon to represent data is unavailable +
    +
    +
    +
    + data is not available +
    +
  • @@ -255,7 +406,10 @@ exports[`rendering of the AreaDetail checks if indicators for NATION is present
    - of thresholds exceeded + Disadvantaged in 5 categories +
    +
    + At or above 3 thresholds
    - Send feedback +
    + Send feedback +
    + tbd
    @@ -309,50 +469,73 @@ exports[`rendering of the AreaDetail checks if indicators for NATION is present >
    - Indicator + At or above at least one threshold?
    - Percentile (0-100) + No
  • Expected agriculture loss rate
    - Economic loss rate to agriculture resulting from natural hazards + Economic loss rate to agricultural value resulting from natural hazards each year
    - N/A - - - +
    +
    +
    + an icon to represent data is unavailable +
    +
    +
    +
    + data is not available +
    +
  • Expected building loss rate
    - Economic loss rate to buildings resulting from natural hazards + Economic loss rate to agricultural value resulting from natural hazards each year
    - N/A - - - +
    +
    +
    + an icon to represent data is unavailable +
    +
    +
    +
    + data is not available +
    +
  • @@ -364,15 +547,37 @@ exports[`rendering of the AreaDetail checks if indicators for NATION is present
    - N/A - - - +
    +
    +
    + an icon to represent data is unavailable +
    +
    +
    +
    + data is not available +
    +
  • +
    + AND +
    +
    +
    + At or above both associated thresholds? +
    +
    + No +
    +
  • @@ -384,32 +589,62 @@ exports[`rendering of the AreaDetail checks if indicators for NATION is present
    - 19 - - - th - - +
    +
    + 19 + + + th + + +
    +
    + an icon for the down arrow +
    +
    +
    +
    + below 65th +
    +
    + percentile +
    +
  • - Higher ed enrollment rate + Higher education non-enrollement
    - Percent of population enrolled in college, university, or graduate school + Percent of the census tract's population 15 or older not enrolled in college, university, or + graduate school
    - N/A - - % - +
    +
    +
    + an icon to represent data is unavailable +
    +
    +
    +
    + data is not available +
    +
  • @@ -442,14 +677,15 @@ exports[`rendering of the AreaDetail checks if indicators for NATION is present >
    - Indicator + At or above at least one threshold?
    - Percentile (0-100) + No
  • @@ -459,33 +695,66 @@ exports[`rendering of the AreaDetail checks if indicators for NATION is present
    - N/A - - - +
    +
    +
    + an icon to represent data is unavailable +
    +
    +
    +
    + data is not available +
    +
  • PM2.5 in the air
    - Fine inhalable particles, 2.5 micrometers and smaller + Fine inhalable particles, 2.5 micrometers or smaller
    - N/A - - - +
    +
    +
    + an icon to represent data is unavailable +
    +
    +
    +
    + data is not available +
    +
  • +
    + AND +
    +
    +
    + At or above both associated thresholds? +
    +
    + No +
    +
  • @@ -497,32 +766,62 @@ exports[`rendering of the AreaDetail checks if indicators for NATION is present
    - 19 - - - th - - +
    +
    + 19 + + + th + + +
    +
    + an icon for the down arrow +
    +
    +
    +
    + below 65th +
    +
    + percentile +
    +
  • - Higher ed enrollment rate + Higher education non-enrollement
    - Percent of population enrolled in college, university, or graduate school + Percent of the census tract's population 15 or older not enrolled in college, university, or + graduate school
    - N/A - - % - +
    +
    +
    + an icon to represent data is unavailable +
    +
    +
    +
    + data is not available +
    +
  • @@ -539,7 +838,7 @@ exports[`rendering of the AreaDetail checks if indicators for NATION is present >
    - Clean transportation + Clean transit
    - Indicator + At or above at least one threshold?
    - Percentile (0-100) + No
  • @@ -572,15 +872,26 @@ exports[`rendering of the AreaDetail checks if indicators for NATION is present
    - N/A - - - +
    +
    +
    + an icon to represent data is unavailable +
    +
    +
    +
    + data is not available +
    +
  • @@ -590,15 +901,37 @@ exports[`rendering of the AreaDetail checks if indicators for NATION is present
    - N/A - - - +
    +
    +
    + an icon to represent data is unavailable +
    +
    +
    +
    + data is not available +
    +
  • +
    + AND +
    +
    +
    + At or above both associated thresholds? +
    +
    + No +
    +
  • @@ -610,32 +943,62 @@ exports[`rendering of the AreaDetail checks if indicators for NATION is present
    - 19 - - - th - - +
    +
    + 19 + + + th + + +
    +
    + an icon for the down arrow +
    +
    +
    +
    + below 65th +
    +
    + percentile +
    +
  • - Higher ed enrollment rate + Higher education non-enrollement
    - Percent of population enrolled in college, university, or graduate school + Percent of the census tract's population 15 or older not enrolled in college, university, or + graduate school
    - N/A - - % - +
    +
    +
    + an icon to represent data is unavailable +
    +
    +
    +
    + data is not available +
    +
  • @@ -668,14 +1031,15 @@ exports[`rendering of the AreaDetail checks if indicators for NATION is present >
    - Indicator + At or above at least one threshold?
    - Percentile (0-100) + No
  • @@ -685,17 +1049,36 @@ exports[`rendering of the AreaDetail checks if indicators for NATION is present
    - 95 - - - th - - +
    +
    + 95 + + + th + + +
    +
    + an icon for the up arrow +
    +
    +
    +
    + above 90th +
    +
    + percentile +
    +
  • @@ -707,15 +1090,37 @@ exports[`rendering of the AreaDetail checks if indicators for NATION is present
    - N/A - - - +
    +
    +
    + an icon to represent data is unavailable +
    +
    +
    +
    + data is not available +
    +
  • +
    + AND +
    +
    +
    + At or above both associated thresholds? +
    +
    + No +
    +
  • @@ -727,32 +1132,62 @@ exports[`rendering of the AreaDetail checks if indicators for NATION is present
    - 19 - - - th - - +
    +
    + 19 + + + th + + +
    +
    + an icon for the down arrow +
    +
    +
    +
    + below 65th +
    +
    + percentile +
    +
  • - Higher ed enrollment rate + Higher education non-enrollement
    - Percent of population enrolled in college, university, or graduate school + Percent of the census tract's population 15 or older not enrolled in college, university, or + graduate school
    - N/A - - % - +
    +
    +
    + an icon to represent data is unavailable +
    +
    +
    +
    + data is not available +
    +
  • @@ -785,14 +1220,15 @@ exports[`rendering of the AreaDetail checks if indicators for NATION is present >
    - Indicator + At or above at least one threshold?
    - Percentile (0-100) + No
  • @@ -802,51 +1238,95 @@ exports[`rendering of the AreaDetail checks if indicators for NATION is present
    - N/A - - - +
    +
    +
    + an icon to represent data is unavailable +
    +
    +
    +
    + data is not available +
    +
  • - Proximity to NPL sites + Proximity to National Priorities List (NPL) sites
    Proposed or listed NPL (Superfund) sites within 5 kilometers
    - N/A - - - +
    +
    +
    + an icon to represent data is unavailable +
    +
    +
    +
    + data is not available +
    +
  • - Proximity to RMP facilities + Proximity to Risk Management Plan (RMP) facilities
    - Risk Management Plan facilities within 5 kilometers + RMP facilities within 5 kilometers
    - N/A - - - +
    +
    +
    + an icon to represent data is unavailable +
    +
    +
    +
    + data is not available +
    +
  • +
    + AND +
    +
    +
    + At or above both associated thresholds? +
    +
    + No +
    +
  • @@ -858,32 +1338,62 @@ exports[`rendering of the AreaDetail checks if indicators for NATION is present
    - 19 - - - th - - +
    +
    + 19 + + + th + + +
    +
    + an icon for the down arrow +
    +
    +
    +
    + below 65th +
    +
    + percentile +
    +
  • - Higher ed enrollment rate + Higher education non-enrollement
    - Percent of population enrolled in college, university, or graduate school + Percent of the census tract's population 15 or older not enrolled in college, university, or + graduate school
    - N/A - - % - +
    +
    +
    + an icon to represent data is unavailable +
    +
    +
    +
    + data is not available +
    +
  • @@ -916,14 +1426,15 @@ exports[`rendering of the AreaDetail checks if indicators for NATION is present >
    - Indicator + At or above at least one threshold?
    - Percentile (0-100) + No
  • @@ -933,15 +1444,37 @@ exports[`rendering of the AreaDetail checks if indicators for NATION is present
    - N/A - - - +
    +
    +
    + an icon to represent data is unavailable +
    +
    +
    +
    + data is not available +
    +
  • +
    + AND +
    +
    +
    + At or above both associated thresholds? +
    +
    + No +
    +
  • @@ -953,32 +1486,62 @@ exports[`rendering of the AreaDetail checks if indicators for NATION is present
    - 19 - - - th - - +
    +
    + 19 + + + th + + +
    +
    + an icon for the down arrow +
    +
    +
    +
    + below 65th +
    +
    + percentile +
    +
  • - Higher ed enrollment rate + Higher education non-enrollement
    - Percent of population enrolled in college, university, or graduate school + Percent of the census tract's population 15 or older not enrolled in college, university, or + graduate school
    - N/A - - % - +
    +
    +
    + an icon to represent data is unavailable +
    +
    +
    +
    + data is not available +
    +
  • @@ -1011,14 +1574,15 @@ exports[`rendering of the AreaDetail checks if indicators for NATION is present >
    - Indicator + At or above at least one threshold?
    - Percentile (0-100) + No
  • @@ -1028,15 +1592,26 @@ exports[`rendering of the AreaDetail checks if indicators for NATION is present
    - N/A - - - +
    +
    +
    + an icon to represent data is unavailable +
    +
    +
    +
    + data is not available +
    +
  • @@ -1049,35 +1624,59 @@ exports[`rendering of the AreaDetail checks if indicators for NATION is present
    - N/A - - - +
    +
    +
    + an icon to represent data is unavailable +
    +
    +
    +
    + data is not available +
    +
  • Heart disease
    - Weighted percent of people ages 18 years and older who have been told they have heart disease + Navigate to the explore the tool page. When the map is in view, click on the map. The side panel + will show an indicator desciption of Weighted percent of people ages 18 years and older who have + been told they have heart disease
    - N/A - - - +
    +
    +
    + an icon to represent data is unavailable +
    +
    +
    +
    + data is not available +
    +
  • @@ -1087,15 +1686,37 @@ exports[`rendering of the AreaDetail checks if indicators for NATION is present
    - N/A - - - +
    +
    +
    + an icon to represent data is unavailable +
    +
    +
    +
    + data is not available +
    +
  • +
    + AND +
    +
    +
    + At or above both associated thresholds? +
    +
    + No +
    +
  • @@ -1107,32 +1728,62 @@ exports[`rendering of the AreaDetail checks if indicators for NATION is present
    - 19 - - - th - - +
    +
    + 19 + + + th + + +
    +
    + an icon for the down arrow +
    +
    +
    +
    + below 65th +
    +
    + percentile +
    +
  • - Higher ed enrollment rate + Higher education non-enrollement
    - Percent of population enrolled in college, university, or graduate school + Percent of the census tract's population 15 or older not enrolled in college, university, or + graduate school
    - N/A - - % - +
    +
    +
    + an icon to represent data is unavailable +
    +
    +
    +
    + data is not available +
    +
  • @@ -1165,14 +1816,15 @@ exports[`rendering of the AreaDetail checks if indicators for NATION is present >
    - Indicator + At or above at least one threshold?
    - Percentile (0-100) + No
  • @@ -1184,17 +1836,36 @@ exports[`rendering of the AreaDetail checks if indicators for NATION is present
    - 97 - - - th - - +
    +
    + 97 + + + th + + +
    +
    + an icon for the up arrow +
    +
    +
    +
    + above 90th +
    +
    + percentile +
    +
  • @@ -1204,15 +1875,26 @@ exports[`rendering of the AreaDetail checks if indicators for NATION is present
    - N/A - - - +
    +
    +
    + an icon to represent data is unavailable +
    +
    +
    +
    + data is not available +
    +
  • @@ -1222,75 +1904,154 @@ exports[`rendering of the AreaDetail checks if indicators for NATION is present
    - 96 - - - th - - +
    +
    + 96 + + + th + + +
    +
    + an icon for the up arrow +
    +
    +
    +
    + above 90th +
    +
    + percentile +
    +
  • Poverty
    - Percent of a tract's population in households where the household income is at or below 100% of - the Federal poverty level + Percent of a census tract's population in households where the household income is at or below 100% + of the Federal poverty level
    - 19 - - - th - - +
    +
    + 12 + + + th + + +
    +
    + an icon for the down arrow +
    +
    +
    +
    + below 90th +
    +
    + percentile +
    +
    +
    +
    +
  • +
    + AND +
    +
    +
    + At or above both associated thresholds? +
    +
    + No +
    +
    +
  • +
    +
    + High school degree non-attainment +
    + + Percent of people ages 25 years or older whose education level is less than a high school diploma + +
    +
    +
    +
    +
    + 98 + + % + +
    +
    + an icon for the up arrow +
    +
    +
    +
    + above 10 +
    +
    + percent +
    +
  • - High school degree attainment rate + Higher education non-enrollement
    - Proportion of people ages 25 years or older whose education level is less than a high school diploma + Percent of the census tract's population 15 or older not enrolled in college, university, or + graduate school
    - 98 - - % - -
    -
    -
  • -
  • -
    -
    - Higher ed enrollment rate
    - - Percent of population enrolled in college, university, or graduate school - +
    +
    + an icon to represent data is unavailable +
    +
    +
    +
    + data is not available +
    -
    -
    - N/A - - % -
  • @@ -1353,7 +2114,10 @@ exports[`rendering of the AreaDetail checks if indicators for PUERTO RICO are pr
    - of thresholds exceeded + Disadvantaged in 5 categories +
    +
    + At or above 3 thresholds
    - Send feedback +
    + Send feedback +
    + tbd
    @@ -1407,14 +2177,15 @@ exports[`rendering of the AreaDetail checks if indicators for PUERTO RICO are pr >
    - Indicator + At or above at least one threshold?
    - Percentile (0-100) + No
  • @@ -1426,17 +2197,36 @@ exports[`rendering of the AreaDetail checks if indicators for PUERTO RICO are pr
    - 97 - - - th - - +
    +
    + 97 + + + th + + +
    +
    + an icon for the up arrow +
    +
    +
    +
    + above 90th +
    +
    + percentile +
    +
  • @@ -1446,15 +2236,26 @@ exports[`rendering of the AreaDetail checks if indicators for PUERTO RICO are pr
    - N/A - - - +
    +
    +
    + an icon to represent data is unavailable +
    +
    +
    +
    + data is not available +
    +
  • @@ -1464,75 +2265,154 @@ exports[`rendering of the AreaDetail checks if indicators for PUERTO RICO are pr
    - 96 - - - th - - +
    +
    + 96 + + + th + + +
    +
    + an icon for the up arrow +
    +
    +
    +
    + above 90th +
    +
    + percentile +
    +
  • Poverty
    - Percent of a tract's population in households where the household income is at or below 100% of - the Federal poverty level + Percent of a census tract's population in households where the household income is at or below 100% + of the Federal poverty level
    - 19 - - - th - - +
    +
    + 12 + + + th + + +
    +
    + an icon for the down arrow +
    +
    +
    +
    + below 90th +
    +
    + percentile +
    +
    +
    +
    +
  • +
    + AND +
    +
    +
    + At or above both associated thresholds? +
    +
    + No +
    +
    +
  • +
    +
    + High school degree non-attainment +
    + + Percent of people ages 25 years or older whose education level is less than a high school diploma + +
    +
    +
    +
    +
    + 98 + + % + +
    +
    + an icon for the up arrow +
    +
    +
    +
    + above 10 +
    +
    + percent +
    +
  • - High school degree attainment rate + Higher education non-enrollement
    - Proportion of people ages 25 years or older whose education level is less than a high school diploma + Percent of the census tract's population 15 or older not enrolled in college, university, or + graduate school
    - 98 - - % - -
    -
    -
  • -
  • -
    -
    - Higher ed enrollment rate
    - - Percent of population enrolled in college, university, or graduate school - +
    +
    + an icon to represent data is unavailable +
    +
    +
    +
    + data is not available +
    -
    -
    - N/A - - % -
  • diff --git a/client/src/components/AreaDetail/tests/areaDetail.test.tsx b/client/src/components/AreaDetail/tests/areaDetail.test.tsx index f458ab53..80698b14 100644 --- a/client/src/components/AreaDetail/tests/areaDetail.test.tsx +++ b/client/src/components/AreaDetail/tests/areaDetail.test.tsx @@ -7,7 +7,7 @@ import * as constants from '../../../data/constants'; describe('rendering of the AreaDetail', () => { const properties = { - [constants.POVERTY_PROPERTY_PERCENTILE]: .12, + [constants.POVERTY_BELOW_100_PERCENTILE]: .12, [constants.HIGH_SCHOOL_PROPERTY_PERCENTILE]: .98, [constants.LINGUISTIC_ISOLATION_PROPERTY_PERCENTILE]: .97, [constants.UNEMPLOYMENT_PROPERTY_PERCENTILE]: .96, @@ -15,8 +15,10 @@ describe('rendering of the AreaDetail', () => { [constants.SCORE_PROPERTY_HIGH]: .95, [constants.GEOID_PROPERTY]: 98729374234, [constants.TOTAL_POPULATION]: 3435435, - [constants.POVERTY_PROPERTY_PERCENTILE]: .19, + [constants.POVERTY_BELOW_200_PERCENTILE]: .19, [constants.SIDE_PANEL_STATE]: constants.SIDE_PANEL_STATE_VALUES.NATION, + [constants.COUNT_OF_CATEGORIES_DISADV]: 5, + [constants.TOTAL_NUMBER_OF_DISADVANTAGE_INDICATORS]: 3, }; @@ -49,7 +51,7 @@ describe('rendering of the AreaDetail', () => { [constants.ISLAND_AREAS_UNEMPLOYMENT_LOW_HS_EDU_PERCENTILE_FIELD]: .9, [constants.ISLAND_AREAS_POVERTY_LOW_HS_EDU_PERCENTILE_FIELD]: .8, [constants.ISLAND_AREAS_LOW_MEDIAN_INCOME_LOW_HS_EDU_PERCENTILE_FIELD]: .6, - [constants.ISLAND_AREAS_LOW_HS_EDU_PERCENTILE_FIELD]: .5, + [constants.ISLAND_AREAS_POVERTY_LOW_HS_EDU_PERCENTILE_FIELD]: .5, [constants.SIDE_PANEL_STATE]: constants.SIDE_PANEL_STATE_VALUES.ISLAND_AREAS, }; diff --git a/client/src/components/Categories/__snapshots__/Categories.test.tsx.snap b/client/src/components/Categories/__snapshots__/Categories.test.tsx.snap index 4242dbec..9739ad59 100644 --- a/client/src/components/Categories/__snapshots__/Categories.test.tsx.snap +++ b/client/src/components/Categories/__snapshots__/Categories.test.tsx.snap @@ -34,12 +34,10 @@ exports[`rendering of the Categories checks if component renders 1`] = ` identified as disadvantaged - +

    - - IF @@ -61,8 +59,6 @@ exports[`rendering of the Categories checks if component renders 1`] = ` > expected population loss rate - -

    @@ -76,11 +72,11 @@ exports[`rendering of the Categories checks if component renders 1`] = ` > low income - AND at or below 20% for + AND 80% or more of adults 15 or older are not enrolled in - higher ed enrollment rate + higher education @@ -97,12 +93,10 @@ exports[`rendering of the Categories checks if component renders 1`] = ` identified as disadvantaged - +

    - - IF @@ -118,8 +112,6 @@ exports[`rendering of the Categories checks if component renders 1`] = ` > PM2.5 in the air - -

    @@ -133,11 +125,11 @@ exports[`rendering of the Categories checks if component renders 1`] = ` > low income - AND at or below 20% for + AND 80% or more of adults 15 or older are not enrolled in - higher ed enrollment rate + higher education @@ -154,7 +146,7 @@ exports[`rendering of the Categories checks if component renders 1`] = ` identified as disadvantaged - +

    @@ -190,11 +182,11 @@ exports[`rendering of the Categories checks if component renders 1`] = ` > low income - AND at or below 20% for + AND 80% or more of adults 15 or older are not enrolled in - higher ed enrollment rate + higher education @@ -211,12 +203,10 @@ exports[`rendering of the Categories checks if component renders 1`] = ` identified as disadvantaged - +

    - - IF @@ -232,15 +222,12 @@ exports[`rendering of the Categories checks if component renders 1`] = ` > median home value - is at or less than - the 90th percentile OR at or above the 90th percentile for the + is at or less than the 90th percentile OR at or above the 90th percentile for the housing cost burden - -

    @@ -254,11 +241,11 @@ exports[`rendering of the Categories checks if component renders 1`] = ` > low income - AND at or below 20% for + AND 80% or more of adults 15 or older are not enrolled in - higher ed enrollment rate + higher education @@ -275,12 +262,10 @@ exports[`rendering of the Categories checks if component renders 1`] = ` identified as disadvantaged - +

    - - IF @@ -302,8 +287,6 @@ exports[`rendering of the Categories checks if component renders 1`] = ` > proximity to Risk Management Plan (RMP) facilities - -

    @@ -317,11 +300,11 @@ exports[`rendering of the Categories checks if component renders 1`] = ` > low income - AND at or below 20% for + AND 80% or more of adults 15 or older are not enrolled in - higher ed enrollment rate + higher education @@ -338,12 +321,10 @@ exports[`rendering of the Categories checks if component renders 1`] = ` identified as disadvantaged - +

    - - IF @@ -353,8 +334,6 @@ exports[`rendering of the Categories checks if component renders 1`] = ` > wastewater discharge - -

    @@ -368,11 +347,11 @@ exports[`rendering of the Categories checks if component renders 1`] = ` > low income - AND at or below 20% for + AND 80% or more of adults 15 or older are not enrolled in - higher ed enrollment rate + higher education @@ -389,12 +368,10 @@ exports[`rendering of the Categories checks if component renders 1`] = ` identified as disadvantaged - +

    - - IF @@ -422,8 +399,6 @@ exports[`rendering of the Categories checks if component renders 1`] = ` > low life expectancy - -

    @@ -437,11 +412,11 @@ exports[`rendering of the Categories checks if component renders 1`] = ` > low income - AND at or below 20% for + AND 80% or more of adults 15 or older are not enrolled in - higher ed enrollment rate + higher education @@ -458,12 +433,10 @@ exports[`rendering of the Categories checks if component renders 1`] = ` identified as disadvantaged - +

    - - IF @@ -474,21 +447,18 @@ exports[`rendering of the Categories checks if component renders 1`] = ` low median income as a percentage of area median income OR - linguistic isolation - OR - + OR unemployment - OR - percent individuals in households at or below 100% Federal + OR percent individuals in households at or below 100% Federal @@ -498,23 +468,20 @@ exports[`rendering of the Categories checks if component renders 1`] = `

    - - AND - is at or less than 90% for + 10% or more of adults 25 or older have not attained a - high school degree attainment rate + high school degree - for adults 25 years and older AND - at or below 20% for + AND 80% or more of adults 15 or older are not enrolled in - higher ed enrollment rate + higher education diff --git a/client/src/components/CategoryCard/__snapshots__/CategoryCard.test.tsx.snap b/client/src/components/CategoryCard/__snapshots__/CategoryCard.test.tsx.snap index d6db1102..164e50e3 100644 --- a/client/src/components/CategoryCard/__snapshots__/CategoryCard.test.tsx.snap +++ b/client/src/components/CategoryCard/__snapshots__/CategoryCard.test.tsx.snap @@ -12,12 +12,10 @@ exports[`rendering of the CategoryCard checks if component renders 1`] = ` identified as disadvantaged - +

    - - IF @@ -39,8 +37,6 @@ exports[`rendering of the CategoryCard checks if component renders 1`] = ` > expected population loss rate - -

    @@ -54,11 +50,11 @@ exports[`rendering of the CategoryCard checks if component renders 1`] = ` > low income - AND at or below 20% for + AND 80% or more of adults 15 or older are not enrolled in - higher ed enrollment rate + higher education diff --git a/client/src/components/DatasetCard/DatasetCard.tsx b/client/src/components/DatasetCard/DatasetCard.tsx new file mode 100644 index 00000000..f180ae24 --- /dev/null +++ b/client/src/components/DatasetCard/DatasetCard.tsx @@ -0,0 +1,80 @@ +/* eslint-disable valid-jsdoc */ +import React from 'react'; +import {useIntl} from 'gatsby-plugin-intl'; + +import * as styles from './datasetCard.module.scss'; +import * as METHODOLOGY_COPY from '../../data/copy/methodology'; + +interface IDatasetCardProps { + datasetCardProps: METHODOLOGY_COPY.IIndicators +} + +/** + * This component will take in a card and render a dataset card + * + * @param {IDatasetCardProps} + * @return {JSX.Element} + */ +const DatasetCard = ({datasetCardProps}:IDatasetCardProps) => { + const intl = useIntl(); + + return ( +

    + {/* Dataset header */} +

    {datasetCardProps.indicator}

    + + {/* Dataset description */} +
    + {datasetCardProps.description} +
    + + {/* Dataset note */} + {datasetCardProps.note &&
    +

    {datasetCardProps.note}

    +
    } + +
      + + {/* Dataset Used in */} +
    • + + {intl.formatMessage(METHODOLOGY_COPY.DATASET_CARD_LABELS.USED_IN)} + + {datasetCardProps.usedIn} +
    • + + {/* Dataset Responsible Party */} +
    • + + {intl.formatMessage(METHODOLOGY_COPY.DATASET_CARD_LABELS.RESP_PARTY)} + + {datasetCardProps.responsibleParty} +
    • + + + {datasetCardProps.sources.map((dataSource, index) => ( + + {/* Dataset Source */} +
    • + + {intl.formatMessage(METHODOLOGY_COPY.DATASET_CARD_LABELS.SOURCE)} + + {dataSource.source} +
    • + + {/* Dataset Available for */} +
    • + + {intl.formatMessage(METHODOLOGY_COPY.DATASET_CARD_LABELS.AVAILABLE_FOR)} + + {dataSource.availableFor} +
    • +
      + ))} + +
    +
    + ); +}; + +export default DatasetCard; diff --git a/client/src/components/DatasetCard/index.tsx b/client/src/components/DatasetCard/index.tsx index 562f2a19..a90117fb 100644 --- a/client/src/components/DatasetCard/index.tsx +++ b/client/src/components/DatasetCard/index.tsx @@ -1,68 +1,3 @@ -import React from 'react'; -import {useIntl} from 'gatsby-plugin-intl'; - -import * as styles from './datasetCard.module.scss'; -import * as METHODOLOGY_COPY from '../../data/copy/methodology'; - -interface IDatasetCardProps { - datasetCardProps: METHODOLOGY_COPY.IIndicators -} - -const DatasetCard = ({datasetCardProps}:IDatasetCardProps) => { - const intl = useIntl(); - - return ( -
    - {/* Dataset header */} -

    {datasetCardProps.indicator}

    - - {/* Dataset description */} -
    - {datasetCardProps.description} -
    - -
      - - {/* Dataset Used in */} -
    • - - {intl.formatMessage(METHODOLOGY_COPY.DATASET_CARD_LABELS.USED_IN)} - - {datasetCardProps.usedIn} -
    • - - {/* Dataset Responsible Party */} -
    • - - {intl.formatMessage(METHODOLOGY_COPY.DATASET_CARD_LABELS.RESP_PARTY)} - - {datasetCardProps.responsibleParty} -
    • - - - {datasetCardProps.sources.map((dataSource) => ( - <> - {/* Dataset Source */} -
    • - - {intl.formatMessage(METHODOLOGY_COPY.DATASET_CARD_LABELS.SOURCE)} - - {dataSource.source} -
    • - - {/* Dataset Available for */} -
    • - - {intl.formatMessage(METHODOLOGY_COPY.DATASET_CARD_LABELS.AVAILABLE_FOR)} - - {dataSource.availableFor} -
    • - - ))} - -
    -
    - ); -}; +import DatasetCard from './DatasetCard'; export default DatasetCard; diff --git a/client/src/components/DatasetCard/tests/datasetCard.test.tsx b/client/src/components/DatasetCard/tests/datasetCard.test.tsx index 0ad7af8f..ba45f69c 100644 --- a/client/src/components/DatasetCard/tests/datasetCard.test.tsx +++ b/client/src/components/DatasetCard/tests/datasetCard.test.tsx @@ -1,7 +1,7 @@ import * as React from 'react'; import {render} from '@testing-library/react'; import {LocalizedComponent} from '../../../test/testHelpers'; -import DatasetCard from '../../DatasetCard'; +import DatasetCard from '../DatasetCard'; import * as METHODOLOGY_COPY from '../../../data/copy/methodology'; diff --git a/client/src/components/DatasetContainer/index.tsx b/client/src/components/DatasetContainer/index.tsx index 8521e49c..a0ea1e1c 100644 --- a/client/src/components/DatasetContainer/index.tsx +++ b/client/src/components/DatasetContainer/index.tsx @@ -34,8 +34,8 @@ const DatasetContainer = () => {
    - {METHODOLOGY_COPY.INDICATORS.map((card) => )}
    diff --git a/client/src/components/DatasetContainer/tests/__snapshots__/datasetContainer.test.tsx.snap b/client/src/components/DatasetContainer/tests/__snapshots__/datasetContainer.test.tsx.snap index e5f3f335..47eca94c 100644 --- a/client/src/components/DatasetContainer/tests/__snapshots__/datasetContainer.test.tsx.snap +++ b/client/src/components/DatasetContainer/tests/__snapshots__/datasetContainer.test.tsx.snap @@ -101,11 +101,11 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis id="high-ed-enroll-rate" >

    - Higher ed enrollment rate + Higher education non-enrollment

    - Percent of people who are currently enrolled in college or graduate school. + Percent of people 15 or older who are not currently enrolled in college, university, or graduate school.
      @@ -140,7 +140,7 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis Available for: - All U.S. states and the District of Columbia + All U.S. states, the District of Columbia, and Puerto Rico
    @@ -380,8 +380,6 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis Source: - - Fusion of model and monitor data - from 2017 as compiled by EPA’s EJSCREEN, sourced from EPA National Air - Toxics Assessment (NATA) and the U.S. Department of Transportation (DOT) traffic data + from 2017 as compiled by EPA’s EJSCREEN, sourced from EPA National Air Toxics Assessment (NATA) and the U.S. Department of Transportation (DOT) traffic data
  • @@ -995,23 +992,19 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
    Average number of years of life a person who has attained a given age can expect to live. - -

    - - Note: - - - Unlike most of the other datasets, high values of this data indicate low burdens. For - percentile calculations of burden, the percentile is calculated in reverse order, so that the - census tract with the highest life expectancy relative to area life expectancy (lowest burden - on this measure) is at the 0th percentile, and the census tract with the lowest life - expectancy relative to area life expectancy (highest burden on this measure) is at the - 100th percentile. Census tracts with the highest number have the lowest life expectancy. - -

    -
    +
    +

    + + + + Note: + + The percentiles for this dataset have been reversed so that census tracts with lower numbers have higher life expectancies and the census tracts with higher numbers have lower life expectancy when compared to life expectancy in the area. + +

    +
    • @@ -1057,23 +1050,19 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
      Median income of the census tract calculated as a percent of the area’s median income. - -

      - - Note: - - - Unlike most of the other datasets, high values of this data indicate low burdens. For - percentile calculations of burden, the percentile is calculated in reverse order, so that the - census tract with the highest median income relative to area median income (lowest burden on this - measure) is at the 0th percentile, and the census tract with the lowest median income relative to - area median income (highest burden on this measure) is at the 100th percentile. Census tracts with - the highest number have the lowest median income. - -

      -
      +
      +

      + + + + Note: + + The percentiles for this dataset have been reversed so that census tracts with lower numbers have higher median incomes and census tracts with the higher numbers have lower median income when compared to area median income. + +

      +
      • @@ -1319,12 +1308,11 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis id="high-school" >

        - High school degree attainment rate + High school degree non-attainment

        - Percent of people ages 25 years or older in a census tract whose - education level is less than a high school diploma. + Percent of people age 25 years or older in a census tract whose education level is less than a high school diploma.
          diff --git a/client/src/components/ExceedBurden/ExceedBurden.module.scss b/client/src/components/ExceedBurden/ExceedBurden.module.scss new file mode 100644 index 00000000..a6b23236 --- /dev/null +++ b/client/src/components/ExceedBurden/ExceedBurden.module.scss @@ -0,0 +1,27 @@ +@use '../../styles/design-system.scss' as *; + +// styles for all burden containers +@mixin baseBurdenContainer { + display: flex; + @include u-text('bold'); + + .burdenQuestion { + flex: 0 1 77%; + @include typeset('sans', '2xs', 2); + } + + .burdenValue { + margin-left: 2.2rem; + } +} + +// styles for first burden container +.exceedBurdenContainer { + @include baseBurdenContainer(); + @include u-padding-bottom(1); +} + +// styles for second burden container +// .exceedBurdenContainer ~ .exceedBurdenContainer { +// @include baseBurdenContainer(); +// } diff --git a/client/src/components/ExceedBurden/ExceedBurden.module.scss.d.ts b/client/src/components/ExceedBurden/ExceedBurden.module.scss.d.ts new file mode 100644 index 00000000..76fca558 --- /dev/null +++ b/client/src/components/ExceedBurden/ExceedBurden.module.scss.d.ts @@ -0,0 +1,14 @@ +declare namespace ExceedBurdenNamespace { + export interface IExceedBurden { + exceedBurdenContainer: string; + burdenQuestion: string; + burdenValue: string; + } + } + +declare const ExceedBurdenModule: ExceedBurdenNamespace.IExceedBurden & { + /** WARNING: Only available when `css-loader` is used without `style-loader` or `mini-css-extract-plugin` */ + locals: ExceedBurdenNamespace.IExceedBurden; + }; + + export = ExceedBurdenModule; diff --git a/client/src/components/ExceedBurden/ExceedBurden.test.tsx b/client/src/components/ExceedBurden/ExceedBurden.test.tsx new file mode 100644 index 00000000..3eed69d0 --- /dev/null +++ b/client/src/components/ExceedBurden/ExceedBurden.test.tsx @@ -0,0 +1,45 @@ +import * as React from 'react'; +import {render} from '@testing-library/react'; +import {LocalizedComponent} from '../../test/testHelpers'; +import ExceedBurden from './ExceedBurden'; +import * as EXPLORE_COPY from '../../data/copy/explore'; + +describe('test rendering of Exceeds one or more burdens when', () => { + it('is burdended', () => { + const {asFragment} = render( + + + , + ); + expect(asFragment()).toMatchSnapshot(); + }); + + it('is NOT burdended', () => { + const {asFragment} = render( + + + , + ); + expect(asFragment()).toMatchSnapshot(); + }); +}); + +describe('test rendering of Exceeds both socioeco burdens when', () => { + it('is burdended', () => { + const {asFragment} = render( + + + , + ); + expect(asFragment()).toMatchSnapshot(); + }); + + it('is NOT burdended', () => { + const {asFragment} = render( + + + , + ); + expect(asFragment()).toMatchSnapshot(); + }); +}); diff --git a/client/src/components/ExceedBurden/ExceedBurden.tsx b/client/src/components/ExceedBurden/ExceedBurden.tsx new file mode 100644 index 00000000..408f7b22 --- /dev/null +++ b/client/src/components/ExceedBurden/ExceedBurden.tsx @@ -0,0 +1,23 @@ +import React from 'react'; + +import * as styles from './ExceedBurden.module.scss'; +import * as EXPLORE_COPY from '../../data/copy/explore'; + +interface IExceedBurden { + text: React.ReactElement; + isBurdened: boolean; +} +const ExceedBurden = ({text, isBurdened}:IExceedBurden) => { + return ( +
          +
          + {text} +
          +
          + {isBurdened ? EXPLORE_COPY.SIDE_PANEL_SPACERS.YES : EXPLORE_COPY.SIDE_PANEL_SPACERS.NO} +
          +
          + ); +}; + +export default ExceedBurden; diff --git a/client/src/components/ExceedBurden/__snapshots__/ExceedBurden.test.tsx.snap b/client/src/components/ExceedBurden/__snapshots__/ExceedBurden.test.tsx.snap new file mode 100644 index 00000000..2d7f3134 --- /dev/null +++ b/client/src/components/ExceedBurden/__snapshots__/ExceedBurden.test.tsx.snap @@ -0,0 +1,53 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`test rendering of Exceeds both socioeco burdens when is NOT burdended 1`] = ` + +
          +
          + At or above both associated thresholds? +
          +
          + No +
          +
          +
          +`; + +exports[`test rendering of Exceeds both socioeco burdens when is burdended 1`] = ` + +
          +
          + At or above at least one threshold? +
          +
          + Yes +
          +
          +
          +`; + +exports[`test rendering of Exceeds one or more burdens when is NOT burdended 1`] = ` + +
          +
          + At or above at least one threshold? +
          +
          + No +
          +
          +
          +`; + +exports[`test rendering of Exceeds one or more burdens when is burdended 1`] = ` + +
          +
          + At or above at least one threshold? +
          +
          + Yes +
          +
          +
          +`; diff --git a/client/src/components/ExceedBurden/index.tsx b/client/src/components/ExceedBurden/index.tsx new file mode 100644 index 00000000..d32835b2 --- /dev/null +++ b/client/src/components/ExceedBurden/index.tsx @@ -0,0 +1,3 @@ +import ExceedBurden from './ExceedBurden'; + +export default ExceedBurden; diff --git a/client/src/components/Indicator/Indicator.module.scss b/client/src/components/Indicator/Indicator.module.scss index 25957599..149c956f 100644 --- a/client/src/components/Indicator/Indicator.module.scss +++ b/client/src/components/Indicator/Indicator.module.scss @@ -4,14 +4,12 @@ @mixin indicator { display: flex; flex-direction: column; - @include u-padding-bottom(3); - &:last-child { - border-bottom: none; - @include u-padding-bottom(0); - } + @include u-padding-top(1.5); + @include u-padding-bottom(1.5); .indicatorRow { display: flex; + justify-content: space-between; @media screen and (max-width: $mobileBreakpoint) { flex: 1 0 40%; @@ -21,15 +19,16 @@ } .indicatorName { - flex: 0 1 77%; + // flex: 0 1 77%; + flex-basis: 60%; display: flex; flex-direction: column; @include typeset('sans', '2xs', 2); - @include u-text('bold'); + @include u-text('medium'); .indicatorDesc { @include typeset('sans', '3xs', 2); - @include u-text('normal'); + @include u-text('thin'); max-width: 12rem; @include u-margin-top(0); @media screen and (max-width: 1024px) { @@ -38,13 +37,47 @@ } } - .indicatorValue { - margin-left: 2.2rem; - - .indicatorSuperscript { - top: -0.2em + .indicatorValueCol { + display: flex; + flex-direction: column; + + .indicatorValueRow { + display: flex; + align-self: end; + + .indicatorValue { + margin-left: 2.2rem; + + .indicatorSuperscript { + top: -0.2em + } + } + + .indicatorArrow { + margin-bottom: -.375rem; + + img { + max-width: none; + height: 1.5rem; + width: 1.5rem; + + } + .unavailable { + opacity: .2; + } + } } - } + + .indicatorValueSubText{ + display: flex; + flex-direction: column; + align-self: flex-end; + text-align: right; + @include typeset('sans', '3xs', 2); + @include u-text('thin'); + } + } + } } @@ -55,5 +88,27 @@ .disadvantagedIndicator { @include indicator; - @include u-text('blue-warm-70v'); + @include u-bg('blue-warm-10'); + + // A darker bg color: + // background-color: #D2DAE3; + + // Add a border + // border: 1px solid #1A4480; + + margin: 0 -20px 1px -20px; + @include u-padding-left(2.5); + @include u-padding-right(2.5); + + + // Overwrite indicator mixin with bolder fonts for disadv. indicator + .indicatorRow { + .indicatorName { + @include u-text('bold'); + + .indicatorDesc { + @include u-text('normal'); + } + } + } } \ No newline at end of file diff --git a/client/src/components/Indicator/Indicator.module.scss.d.ts b/client/src/components/Indicator/Indicator.module.scss.d.ts index 868b76e6..6d10859d 100644 --- a/client/src/components/Indicator/Indicator.module.scss.d.ts +++ b/client/src/components/Indicator/Indicator.module.scss.d.ts @@ -4,8 +4,13 @@ declare namespace IndicatorNamespace { indicatorBoxAdditional:string; indicatorRow:string; indicatorName:string; + indicatorValueCol:string; + indicatorValueRow:string; indicatorValue:string; indicatorSuperscript:string; + indicatorArrow:string; + unavailable:string; + indicatorValueSubText:string; indicatorDesc:string; disadvantagedIndicator:string; } diff --git a/client/src/components/Indicator/Indicator.test.tsx b/client/src/components/Indicator/Indicator.test.tsx index 512cf12e..7480f528 100644 --- a/client/src/components/Indicator/Indicator.test.tsx +++ b/client/src/components/Indicator/Indicator.test.tsx @@ -1,13 +1,18 @@ import * as React from 'react'; -import {render} from '@testing-library/react'; +import {render, screen} from '@testing-library/react'; import {LocalizedComponent} from '../../test/testHelpers'; -import Indicator, {readablePercentile} from './Indicator'; -import {indicatorInfo} from '../AreaDetail'; +import Indicator, {IndicatorValueIcon, IndicatorValueSubText, DisplayStatUnit} from './Indicator'; +import {indicatorInfo} from '../AreaDetail/AreaDetail'; + +import * as EXPLORE_COPY from '../../data/copy/explore'; const highSchool:indicatorInfo = { label: 'some label', description: 'some description', value: 97, + isDisadvagtaged: true, + isPercent: true, + threshold: 20, }; describe('rendering of the Indicator', () => { @@ -22,9 +27,160 @@ describe('rendering of the Indicator', () => { }); }); -describe('tests the readablePercentile function', () => { - expect(readablePercentile(.98)).toEqual(98); - expect(readablePercentile(.07)).toEqual(7); - expect(readablePercentile(.123)).toEqual(12); - expect(readablePercentile(.789)).toEqual(79); +describe('test rendering of Indicator value icons', () => { + it('renders the up arrow when value is above threshold', () => { + const {asFragment} = render( + + + , + ); + expect(asFragment()).toMatchSnapshot(); + screen.getByAltText(EXPLORE_COPY.SIDE_PANEL_VALUES.IMG_ALT_TEXT.ARROW_UP.defaultMessage); + }); + it('renders the down arrow when the value is above the threshold', () => { + const {asFragment} = render( + + + , + ); + expect(asFragment()).toMatchSnapshot(); + screen.getByAltText(EXPLORE_COPY.SIDE_PANEL_VALUES.IMG_ALT_TEXT.ARROW_DOWN.defaultMessage); + }); + + it('renders the down arrow when the value is zero', () => { + const {asFragment} = render( + + + , + ); + expect(asFragment()).toMatchSnapshot(); + screen.getByAltText(EXPLORE_COPY.SIDE_PANEL_VALUES.IMG_ALT_TEXT.ARROW_DOWN.defaultMessage); + }); + + it('renders the unavailable icon when the value is null', () => { + const {asFragment} = render( + + + , + ); + expect(asFragment()).toMatchSnapshot(); + screen.getByAltText(EXPLORE_COPY.SIDE_PANEL_VALUES.IMG_ALT_TEXT.UNAVAILABLE.defaultMessage); + }); +}); + +describe('test rendering of Indicator value sub-text', () => { + it('renders the "above 90 percentile"', () => { + const {asFragment} = render( + + + , + ); + expect(asFragment()).toMatchSnapshot(); + console.log(asFragment()); + }); + it('renders the "below 90 percentile"', () => { + const {asFragment} = render( + + + , + ); + expect(asFragment()).toMatchSnapshot(); + }); + it('renders the "data is not available"', () => { + const {asFragment} = render( + + + , + ); + expect(asFragment()).toMatchSnapshot(); + }); +}); + +describe('test that the unit suffix renders correctly', ()=> { + it('renders correctly when the value is a percentile', () => { + const lowLife:indicatorInfo = { + label: 'some label', + description: 'some description', + value: 97, + isDisadvagtaged: true, + isPercent: false, + threshold: 20, + }; + + const {asFragment} = render( + + + , + ); + expect(asFragment()).toMatchSnapshot(); + }); + it('renders correctly when the value is a percent', () => { + const lowLife:indicatorInfo = { + label: 'some label', + description: 'some description', + value: 97, + isDisadvagtaged: true, + isPercent: true, + threshold: 20, + }; + + const {asFragment} = render( + + + , + ); + expect(asFragment()).toMatchSnapshot(); + }); + it('renders correctly when the value is a null', () => { + const lowLife:indicatorInfo = { + label: 'some label', + description: 'some description', + value: null, + isDisadvagtaged: true, + isPercent: false, + }; + + const {asFragment} = render( + + + , + ); + expect(asFragment()).toMatchSnapshot(); + }); }); diff --git a/client/src/components/Indicator/Indicator.tsx b/client/src/components/Indicator/Indicator.tsx index 14abcea1..76c9231d 100644 --- a/client/src/components/Indicator/Indicator.tsx +++ b/client/src/components/Indicator/Indicator.tsx @@ -1,18 +1,126 @@ import React from 'react'; -import {indicatorInfo} from '../AreaDetail'; +import {useIntl} from 'gatsby-plugin-intl'; + +import {indicatorInfo} from '../AreaDetail/AreaDetail'; import * as styles from './Indicator.module.scss'; +import * as constants from '../../data/constants'; +import * as EXPLORE_COPY from '../../data/copy/explore'; + +// @ts-ignore +import downArrow from '/node_modules/uswds/dist/img/usa-icons/arrow_downward.svg'; +// @ts-ignore +import upArrow from '/node_modules/uswds/dist/img/usa-icons/arrow_upward.svg'; +// @ts-ignore +import unAvailable from '/node_modules/uswds/dist/img/usa-icons/do_not_disturb.svg'; interface IIndicator { indicator: indicatorInfo, } -export const readablePercentile = (percentile: number | null) => { - return percentile !== null ? Math.round(percentile * 100) : 'N/A'; +interface IIndicatorValueIcon { + value: number | null, + isAboveThresh: boolean, }; +interface IIndicatorValueSubText { + value: number | null, + isAboveThresh: boolean, + threshold: number, + isPercent: boolean | undefined, +} + +interface IDisplayStatUnit { + indicator: indicatorInfo, + displayStat: number | null, +} + +/** + * This component will determine what indicator's icon should be (arrowUp, arrowDown or unavailable) and + * return the appropriate JSX. + * + * @param {number | null} props + * @return {JSX.Element} + */ +export const IndicatorValueIcon = ({value, isAboveThresh}: IIndicatorValueIcon) => { + const intl = useIntl(); + + if (value == null) { + return {intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_VALUES.IMG_ALT_TEXT.UNAVAILABLE)}; + } else { + return isAboveThresh ? + {intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_VALUES.IMG_ALT_TEXT.ARROW_UP)} : + {intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_VALUES.IMG_ALT_TEXT.ARROW_DOWN)}; + } +}; + +/** + * This component will determine the sub-text of the indicator's value, some examples could be + * "above 90th percentile" + * "below 20 percent" + * "data is not available" + * + * Todo: refactor into single component, add to i18n and add to tests + * + * @return {JSX.Element} + */ +export const IndicatorValueSubText = ({value, isAboveThresh, threshold, isPercent}:IIndicatorValueSubText) => { + return value == null ? +
          + {EXPLORE_COPY.SIDE_PANEL_VALUES.UNAVAILBLE_MSG} +
          : + +
          + { + isAboveThresh ? + EXPLORE_COPY.SIDE_PANEL_VALUES.ABOVE : + EXPLORE_COPY.SIDE_PANEL_VALUES.BELOW + } + {`${threshold ? threshold : 90}`} + + {!isPercent && `th`} +
          +
          + { + isPercent ? + EXPLORE_COPY.SIDE_PANEL_VALUES.PERCENT : + EXPLORE_COPY.SIDE_PANEL_VALUES.PERCENTILE + } +
          +
          ; +}; + +/** + * This component will return the value suffix as either a percent or + * ordinal value of the displayed statistic + * + * @return {JSX.Element} + */ +export const DisplayStatUnit = ({indicator, displayStat}:IDisplayStatUnit) => { + if (indicator.value !== null) { + return indicator.isPercent ? + {`%`} : + + {getSuperscriptOrdinal(displayStat)} + ; + } else { + return ; + } +}; + + // Todo: Add internationalization to superscript ticket #582 -export const getSuperscriptOrdinal = (percentile: number | string) => { +export const getSuperscriptOrdinal = (percentile: number | string | null) => { + if (percentile === null) return ''; if (typeof percentile === 'number') { const englishOrdinalRules = new Intl.PluralRules('en', { type: 'ordinal', @@ -29,26 +137,66 @@ export const getSuperscriptOrdinal = (percentile: number | string) => { } }; +/** + * This component will return the list element which will be the indicator row in the side panel + * + * @param {IIndicator} indicator + * @return {JSX.Element} + */ const Indicator = ({indicator}:IIndicator) => { + // Convert the decimal value to a stat to display + const displayStat = indicator.value !== null ? Math.round(indicator.value * 100) : null; + + // If the threshold exists, set it, otherwise set it to the default value + const threshold = indicator.threshold ? indicator.threshold : constants.DEFAULT_THRESHOLD_PERCENTILE; + + // A boolean to represent if the indicator is above or below the threshold + const isAboveThresh = displayStat !== null && displayStat >= threshold ? true : false; + + return (
        • + data-cy={'indicatorBox'} + data-testid='indicator-box'>
          + + {/* Indicator name and description*/}
          {indicator.label}
          {indicator.description}
          -
          - {readablePercentile(indicator.value)} - {indicator.isPercent ? - {`%`} : - - {getSuperscriptOrdinal(readablePercentile(indicator.value))} - - } + + {/* Indicator value, icon and subtext */} +
          +
          + + {/* Indicator value */} +
          + {displayStat} + +
          + + {/* Indicator icon - up arrow, down arrow, or unavailable */} +
          + +
          +
          + + {/* Indicator sub-text */} +
          + +
        • diff --git a/client/src/components/Indicator/__snapshots__/Indicator.test.tsx.snap b/client/src/components/Indicator/__snapshots__/Indicator.test.tsx.snap index 84e47ac0..72506582 100644 --- a/client/src/components/Indicator/__snapshots__/Indicator.test.tsx.snap +++ b/client/src/components/Indicator/__snapshots__/Indicator.test.tsx.snap @@ -4,6 +4,7 @@ exports[`rendering of the Indicator checks if component renders 1`] = `
        • @@ -13,14 +14,116 @@ exports[`rendering of the Indicator checks if component renders 1`] = `
          - 9700 - - - th - - +
          +
          + 9700 + + % + +
          +
          + an icon for the up arrow +
          +
          +
          +
          + above 20 +
          +
          + percent +
          +
        • `; + +exports[`test rendering of Indicator value icons renders the down arrow when the value is above the threshold 1`] = ` + + an icon for the down arrow + +`; + +exports[`test rendering of Indicator value icons renders the down arrow when the value is zero 1`] = ` + + an icon for the down arrow + +`; + +exports[`test rendering of Indicator value icons renders the unavailable icon when the value is null 1`] = ` + + an icon to represent data is unavailable + +`; + +exports[`test rendering of Indicator value icons renders the up arrow when value is above threshold 1`] = ` + + an icon for the up arrow + +`; + +exports[`test rendering of Indicator value sub-text renders the "above 90 percentile" 1`] = ` + +
          + above 90th +
          +
          + percentile +
          +
          +`; + +exports[`test rendering of Indicator value sub-text renders the "below 90 percentile" 1`] = ` + +
          + below 90th +
          +
          + percentile +
          +
          +`; + +exports[`test rendering of Indicator value sub-text renders the "data is not available" 1`] = ` + +
          + data is not available +
          +
          +`; + +exports[`test that the unit suffix renders correctly renders correctly when the value is a null 1`] = ``; + +exports[`test that the unit suffix renders correctly renders correctly when the value is a percent 1`] = ` + + + % + + +`; + +exports[`test that the unit suffix renders correctly renders correctly when the value is a percentile 1`] = ` + + + + th + + + +`; diff --git a/client/src/components/J40Header/J40Header.module.scss b/client/src/components/J40Header/J40Header.module.scss index 092171a7..f9b39763 100644 --- a/client/src/components/J40Header/J40Header.module.scss +++ b/client/src/components/J40Header/J40Header.module.scss @@ -66,3 +66,7 @@ } } } + +.alert { + @include u-margin-top(4); +} \ No newline at end of file diff --git a/client/src/components/J40Header/J40Header.module.scss.d.ts b/client/src/components/J40Header/J40Header.module.scss.d.ts index 126471ae..94c0fa0b 100644 --- a/client/src/components/J40Header/J40Header.module.scss.d.ts +++ b/client/src/components/J40Header/J40Header.module.scss.d.ts @@ -9,6 +9,7 @@ declare namespace J40HeaderNamespace { title2BetaPill: string; betaPill: string; navLinks: string; + alert: string; } } diff --git a/client/src/components/J40Header/J40Header.tsx b/client/src/components/J40Header/J40Header.tsx index b2113ba4..5d378fda 100644 --- a/client/src/components/J40Header/J40Header.tsx +++ b/client/src/components/J40Header/J40Header.tsx @@ -5,6 +5,7 @@ import { NavMenuButton, PrimaryNav, Grid, + Alert, } from '@trussworks/react-uswds'; import BetaBanner from '../BetaBanner'; import J40MainGridContainer from '../J40MainGridContainer'; @@ -16,6 +17,8 @@ import siteLogo from '../../images/j40-logo-v2.png'; import * as styles from './J40Header.module.scss'; import * as COMMON_COPY from '../../data/copy/common'; +const isAlertValid = new Date < COMMON_COPY.ALERTS.EXPIRATION_DATE; + const J40Header = () => { const intl = useIntl(); const [mobileNavOpen, setMobileNavOpen] = useState(false); @@ -67,8 +70,6 @@ const J40Header = () => { - {/* Remove Usabilty Banner testing deployment to main again!*/} - {/* Logo and Navigation */} @@ -106,6 +107,17 @@ const J40Header = () => { + + {/* Alert */} + {isAlertValid && + + {COMMON_COPY.ALERTS.CENSUS_TRACT_DESCRIPTION} + + + } ); }; diff --git a/client/src/components/J40Header/__snapshots__/J40Header.test.tsx.snap b/client/src/components/J40Header/__snapshots__/J40Header.test.tsx.snap index 7e8d5369..be6ed794 100644 --- a/client/src/components/J40Header/__snapshots__/J40Header.test.tsx.snap +++ b/client/src/components/J40Header/__snapshots__/J40Header.test.tsx.snap @@ -268,6 +268,40 @@ exports[`rendering of the J40Header checks if component renders 1`] = ` +
          +
          +
          +

          + Improvements to the map on the Explore the tool page +

          +

          + View improvements made to the display of the information for each census tract and + + send feedback + + . +

          +
          +
          +
          `; diff --git a/client/src/components/J40Map.tsx b/client/src/components/J40Map.tsx index 516316ff..3b8bb85c 100644 --- a/client/src/components/J40Map.tsx +++ b/client/src/components/J40Map.tsx @@ -27,12 +27,13 @@ import AreaDetail from './AreaDetail'; import MapInfoPanel from './mapInfoPanel'; import MapSearch from './MapSearch'; import TerritoryFocusControl from './territoryFocusControl'; +import {getOSBaseMap} from '../data/getOSBaseMap'; // Styles and constants -import {getOSBaseMap} from '../data/getOSBaseMap'; import 'maplibre-gl/dist/maplibre-gl.css'; import * as constants from '../data/constants'; import * as styles from './J40Map.module.scss'; +import * as COMMON_COPY from '../data/copy/common'; declare global { @@ -54,6 +55,49 @@ export interface IDetailViewInterface { properties: constants.J40Properties, }; +/** + * This function will determine the URL for the map tiles. It will read in a string that will designate either + * high or low tiles. It will allow to overide the URL to the pipeline staging tile URL via feature flag. + * Lastly, it allows to set the tiles to be local or via the CDN as well. + * + * @param {string} tilesetName + * @returns {string} + */ +export const featureURLForTilesetName = (tilesetName: string): string => { + const flags = useFlags(); + + const pipelineStagingBaseURL = `https://justice40-data.s3.amazonaws.com/data-pipeline-staging`; + const XYZ_SUFFIX = '{z}/{x}/{y}.pbf'; + + if ('stage_hash' in flags) { + // Check if the stage_hash is valid + const regex = /^[0-9]{4}\/[a-f0-9]{40}$/; + if (!regex.test(flags['stage_hash'])) { + console.error(COMMON_COPY.CONSOLE_ERROR.STAGE_URL); + } + + return `${pipelineStagingBaseURL}/${flags['stage_hash']}/data/score/tiles/${tilesetName}/${XYZ_SUFFIX}`; + } else { + // The feature tile base URL and path can either point locally or the CDN. + // This is selected based on the DATA_SOURCE env variable. + const featureTileBaseURL = process.env.DATA_SOURCE === 'local' ? + process.env.GATSBY_LOCAL_TILES_BASE_URL : + process.env.GATSBY_CDN_TILES_BASE_URL; + + const featureTilePath = process.env.DATA_SOURCE === 'local' ? + process.env.GATSBY_DATA_PIPELINE_SCORE_PATH_LOCAL : + process.env.GATSBY_DATA_PIPELINE_SCORE_PATH; + + return [ + featureTileBaseURL, + featureTilePath, + process.env.GATSBY_MAP_TILES_PATH, + tilesetName, + XYZ_SUFFIX, + ].join('/'); + } +}; + const J40Map = ({location}: IJ40Interface) => { /** @@ -304,7 +348,7 @@ const J40Map = ({location}: IJ40Interface) => { id={constants.LOW_ZOOM_SOURCE_NAME} type="vector" promoteId={constants.GEOID_PROPERTY} - tiles={[constants.FEATURE_TILE_LOW_ZOOM_URL]} + tiles={[featureURLForTilesetName('low')]} maxzoom={constants.GLOBAL_MAX_ZOOM_LOW} minzoom={constants.GLOBAL_MIN_ZOOM_LOW} > @@ -330,7 +374,7 @@ const J40Map = ({location}: IJ40Interface) => { id={constants.HIGH_ZOOM_SOURCE_NAME} type="vector" promoteId={constants.GEOID_PROPERTY} - tiles={[constants.FEATURE_TILE_HIGH_ZOOM_URL]} + tiles={[featureURLForTilesetName('high')]} maxzoom={constants.GLOBAL_MAX_ZOOM_HIGH} minzoom={constants.GLOBAL_MIN_ZOOM_HIGH} > diff --git a/client/src/components/Language/Language.tsx b/client/src/components/Language/Language.tsx index 08ad0a2d..e06df5a8 100644 --- a/client/src/components/Language/Language.tsx +++ b/client/src/components/Language/Language.tsx @@ -17,6 +17,12 @@ interface ILanguageProps { isDesktop: boolean } +/** + * Language component that will allow the user to change languages + * + * @param {boolean} isDesktop + * @return {JSX.Element | null} + */ const Language = ({isDesktop}:ILanguageProps) => { const flags = useFlags(); diff --git a/client/src/components/LowIncome/LowIncome.module.scss b/client/src/components/LowIncome/LowIncome.module.scss deleted file mode 100644 index cbc9868b..00000000 --- a/client/src/components/LowIncome/LowIncome.module.scss +++ /dev/null @@ -1,20 +0,0 @@ -@use '../../styles/design-system.scss' as *; - -.lowIncomeContainer { - - border: 1px solid #DFE1E2; - @include u-margin-top(4); - @include u-padding-left(4); - @include u-padding-right(3); - @include u-padding-bottom(4); - - .lowIncomeTitle { - @include typeset('sans', 'xs', 3); - @include u-text('semibold'); - } - - .lowIncomeText { - @include typeset('sans', 'xs', 3); - @include u-text('light'); - } -}; \ No newline at end of file diff --git a/client/src/components/LowIncome/LowIncome.module.scss.d.ts b/client/src/components/LowIncome/LowIncome.module.scss.d.ts deleted file mode 100644 index 26a738e7..00000000 --- a/client/src/components/LowIncome/LowIncome.module.scss.d.ts +++ /dev/null @@ -1,14 +0,0 @@ -declare namespace LowIncomeNamespace { - export interface ILowIncomeScss { - lowIncomeContainer: string; - lowIncomeTitle: string; - lowIncomeText: string; - } - } - -declare const LowIncomeScssModule: LowIncomeNamespace.ILowIncomeScss & { - /** WARNING: Only available when `css-loader` is used without `style-loader` or `mini-css-extract-plugin` */ - locals: LowIncomeNamespace.ILowIncomeScss; - }; - - export = LowIncomeScssModule; diff --git a/client/src/components/LowIncome/LowIncome.tsx b/client/src/components/LowIncome/LowIncome.tsx deleted file mode 100644 index 330460de..00000000 --- a/client/src/components/LowIncome/LowIncome.tsx +++ /dev/null @@ -1,26 +0,0 @@ -import React from 'react'; -import {useIntl} from 'gatsby-plugin-intl'; - -import * as METHODOLOGY_COPY from '../../data/copy/methodology'; -import * as styles from './LowIncome.module.scss'; - -const LowIncome = () => { - const intl = useIntl(); - - return ( -
          -

          - * - {' '} - {intl.formatMessage(METHODOLOGY_COPY.LOW_INCOME.HEADING)} -

          - -

          - {intl.formatMessage(METHODOLOGY_COPY.LOW_INCOME.INFO)} -

          - -
          - ); -}; - -export default LowIncome; diff --git a/client/src/components/LowIncome/__snapshots__/LowIncome.test.tsx.snap b/client/src/components/LowIncome/__snapshots__/LowIncome.test.tsx.snap deleted file mode 100644 index 9bf5949a..00000000 --- a/client/src/components/LowIncome/__snapshots__/LowIncome.test.tsx.snap +++ /dev/null @@ -1,20 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`rendering of the LowIncome checks if component renders 1`] = ` - -
          -

          - - * - - Low Income -

          -

          - - At or above 65th percentile for percent of census tract population of households where household - income is at or below 200% of the Federal poverty level - -

          -
          -
          -`; diff --git a/client/src/components/LowIncome/index.tsx b/client/src/components/LowIncome/index.tsx deleted file mode 100644 index a4efda8b..00000000 --- a/client/src/components/LowIncome/index.tsx +++ /dev/null @@ -1,3 +0,0 @@ -import LowIncome from './LowIncome'; - -export default LowIncome; diff --git a/client/src/components/MapWrapper/index.tsx b/client/src/components/MapWrapper/index.tsx index 90722830..2a3dccc0 100644 --- a/client/src/components/MapWrapper/index.tsx +++ b/client/src/components/MapWrapper/index.tsx @@ -17,29 +17,10 @@ const MapWrapper = ({location}: IMapWrapperProps) => { - - -
          - {EXPLORE_COPY.DOWNLOAD_DRAFT.PARAGRAPH_1} -
          -
          -
          - - - -

          {EXPLORE_COPY.NOTE_ON_TERRITORIES.INTRO}

          -

          {EXPLORE_COPY.NOTE_ON_TERRITORIES.PARA_1}

          -

          {EXPLORE_COPY.NOTE_ON_TERRITORIES.PARA_2}

          -

          {EXPLORE_COPY.NOTE_ON_TERRITORIES.PARA_3}

          -

          {EXPLORE_COPY.NOTE_ON_TERRITORIES.PARA_4}

          -
          -
          - - - -

          {EXPLORE_COPY.NOTE_ON_TRIBAL_NATIONS.INTRO}

          -

          {EXPLORE_COPY.NOTE_ON_TRIBAL_NATIONS.PARA_1}

          -
          + +
          + {EXPLORE_COPY.DOWNLOAD_DRAFT.PARAGRAPH_1} +
          ); diff --git a/client/src/components/MethodologyFormula/__snapshots__/MethodologyFormula.test.tsx.snap b/client/src/components/MethodologyFormula/__snapshots__/MethodologyFormula.test.tsx.snap index caa7ec2e..054ade7e 100644 --- a/client/src/components/MethodologyFormula/__snapshots__/MethodologyFormula.test.tsx.snap +++ b/client/src/components/MethodologyFormula/__snapshots__/MethodologyFormula.test.tsx.snap @@ -12,18 +12,18 @@ exports[`rendering of the MethodologyFormula checks if component renders 1`] = `

          - + IF - + the census tract is above the threshold for one or more environmental or climate indicators

          - + AND - + the census tract is above the threshold for the socioeconomic indicators

          diff --git a/client/src/components/PublicEngageButton/PublicEngageButton.module.scss b/client/src/components/PublicEngageButton/PublicEngageButton.module.scss index 434e5905..642f9801 100644 --- a/client/src/components/PublicEngageButton/PublicEngageButton.module.scss +++ b/client/src/components/PublicEngageButton/PublicEngageButton.module.scss @@ -1,10 +1,11 @@ @use '../../styles/design-system.scss' as *; .tagContainer { + align-self: flex-end; @include u-margin-bottom(1); @include u-margin-right(1); .tag { - @include u-bg("yellow-20v"); + @include u-bg("gray-cool-10"); color: black; border-radius: 5px; @include u-text('bold'); @@ -12,6 +13,8 @@ } .container { + display: flex; + flex-direction: column; @include u-padding-top(2.5); .link, .link:visited { diff --git a/client/src/components/PublicEngageButton/PublicEngageButton.tsx b/client/src/components/PublicEngageButton/PublicEngageButton.tsx index 74ade4f0..7a93b6c9 100644 --- a/client/src/components/PublicEngageButton/PublicEngageButton.tsx +++ b/client/src/components/PublicEngageButton/PublicEngageButton.tsx @@ -1,6 +1,5 @@ import React from 'react'; -import {Link} from 'gatsby'; -import {useIntl} from 'gatsby-plugin-intl'; +import {useIntl, Link} from 'gatsby-plugin-intl'; import {Button, Tag} from '@trussworks/react-uswds'; import * as styles from './PublicEngageButton.module.scss'; diff --git a/client/src/components/PublicEngageButton/__snapshots__/PublicEngageButton.test.tsx.snap b/client/src/components/PublicEngageButton/__snapshots__/PublicEngageButton.test.tsx.snap index b30721d2..bc6a88d8 100644 --- a/client/src/components/PublicEngageButton/__snapshots__/PublicEngageButton.test.tsx.snap +++ b/client/src/components/PublicEngageButton/__snapshots__/PublicEngageButton.test.tsx.snap @@ -8,11 +8,11 @@ exports[`rendering of the PublicEngageButton checks if component renders 1`] = ` class="usa-tag" data-testid="tag" > - NEW + UPDATED diff --git a/client/src/components/PublicEvent/__snapshots__/PublicEvent.test.tsx.snap b/client/src/components/PublicEvent/__snapshots__/PublicEvent.test.tsx.snap index e29ea5c5..2db5da0c 100644 --- a/client/src/components/PublicEvent/__snapshots__/PublicEvent.test.tsx.snap +++ b/client/src/components/PublicEvent/__snapshots__/PublicEvent.test.tsx.snap @@ -16,18 +16,7 @@ exports[`rendering of the PublicEvent checks if component renders 1`] = `

          - - CEJST - training session - #1 - - + CEJST training session #1

          Registration link diff --git a/client/src/components/SidePanelInfo/SidePanelInfo.module.scss b/client/src/components/SidePanelInfo/SidePanelInfo.module.scss new file mode 100644 index 00000000..c882063d --- /dev/null +++ b/client/src/components/SidePanelInfo/SidePanelInfo.module.scss @@ -0,0 +1,21 @@ +@use '../../styles/design-system.scss' as *; + +.sidePanelInfoContainer { + display: flex; + flex-direction: column; + @include u-padding-right(4); + @include u-padding-left(4); + @include u-padding-bottom(4); + + .sidePanelInfoHeading { + @include u-padding-top(2); + font-size: x-large; + line-height: 1.9rem; + } + + .sidePanelInfoIcon { + @include u-height(5); + @include u-margin-top(4); + @include u-margin-bottom(-2) + } +} diff --git a/client/src/components/mapIntroduction.module.scss.d.ts b/client/src/components/SidePanelInfo/SidePanelInfo.module.scss.d.ts similarity index 67% rename from client/src/components/mapIntroduction.module.scss.d.ts rename to client/src/components/SidePanelInfo/SidePanelInfo.module.scss.d.ts index afa9b474..4eb36998 100644 --- a/client/src/components/mapIntroduction.module.scss.d.ts +++ b/client/src/components/SidePanelInfo/SidePanelInfo.module.scss.d.ts @@ -1,12 +1,8 @@ declare namespace MapIntroductionModuleScssNamespace { export interface IMapIntroductionModuleScss { - mapIntroContainer: string; - mapIntroHeader: string; - mapIntroText: string; - mapIntroLightbulb: string; - didYouKnowBox: string - didYouKnow: string - didYouKnowText: string + sidePanelInfoContainer: string; + sidePanelInfoHeading: string; + sidePanelInfoIcon: string; } } diff --git a/client/src/components/LowIncome/LowIncome.test.tsx b/client/src/components/SidePanelInfo/SidePanelInfo.test.tsx similarity index 62% rename from client/src/components/LowIncome/LowIncome.test.tsx rename to client/src/components/SidePanelInfo/SidePanelInfo.test.tsx index 47be349b..481e891a 100644 --- a/client/src/components/LowIncome/LowIncome.test.tsx +++ b/client/src/components/SidePanelInfo/SidePanelInfo.test.tsx @@ -1,16 +1,16 @@ import * as React from 'react'; import {render} from '@testing-library/react'; +import SidePanelInfo from './SidePanelInfo'; import {LocalizedComponent} from '../../test/testHelpers'; -import LowIncome from './LowIncome'; -describe('rendering of the LowIncome', () => { +describe('rendering of the component', () => { const {asFragment} = render( - + , ); - it('checks if component renders', () => { + it('expects the render to match snapshot', () => { expect(asFragment()).toMatchSnapshot(); }); }); diff --git a/client/src/components/SidePanelInfo/SidePanelInfo.tsx b/client/src/components/SidePanelInfo/SidePanelInfo.tsx new file mode 100644 index 00000000..37c3a2bd --- /dev/null +++ b/client/src/components/SidePanelInfo/SidePanelInfo.tsx @@ -0,0 +1,60 @@ +import React from 'react'; +import {useIntl} from 'gatsby-plugin-intl'; + +// @ts-ignore +import puzzle from '../../images/sidePanelIcons/puzzle.svg'; +// @ts-ignore +import bellCurve from '../../images/sidePanelIcons/bellCurve.svg'; +// @ts-ignore +import pieChart from '../../images/sidePanelIcons/pieChart.svg'; +// @ts-ignore +import upDown from '../../images/sidePanelIcons/upDown.svg'; + +import * as styles from './SidePanelInfo.module.scss'; +import * as EXPLORE_COPY from '../../data/copy/explore'; + +const MapIntroduction = () => { + const intl = useIntl(); + + return ( +

          + ); +}; + +export default MapIntroduction; diff --git a/client/src/components/SidePanelInfo/__snapshots__/SidePanelInfo.test.tsx.snap b/client/src/components/SidePanelInfo/__snapshots__/SidePanelInfo.test.tsx.snap new file mode 100644 index 00000000..0f3659e9 --- /dev/null +++ b/client/src/components/SidePanelInfo/__snapshots__/SidePanelInfo.test.tsx.snap @@ -0,0 +1,76 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`rendering of the component expects the render to match snapshot 1`] = ` + + + +`; diff --git a/client/src/components/SidePanelInfo/index.tsx b/client/src/components/SidePanelInfo/index.tsx new file mode 100644 index 00000000..02e87f11 --- /dev/null +++ b/client/src/components/SidePanelInfo/index.tsx @@ -0,0 +1,3 @@ +import SidePanelInfo from './SidePanelInfo'; + +export default SidePanelInfo; diff --git a/client/src/components/__snapshots__/mapInfoPanel.test.tsx.snap b/client/src/components/__snapshots__/mapInfoPanel.test.tsx.snap index f7841614..1089ddac 100644 --- a/client/src/components/__snapshots__/mapInfoPanel.test.tsx.snap +++ b/client/src/components/__snapshots__/mapInfoPanel.test.tsx.snap @@ -8,29 +8,74 @@ exports[`simulate app starting up, no click on map should match the snapshot of class="someClassName" > diff --git a/client/src/components/mapInfoPanel.tsx b/client/src/components/mapInfoPanel.tsx index 11578375..211f9714 100644 --- a/client/src/components/mapInfoPanel.tsx +++ b/client/src/components/mapInfoPanel.tsx @@ -1,6 +1,6 @@ import React from 'react'; -import MapIntroduction from './mapIntroduction'; import AreaDetail from './AreaDetail'; +import SidePanelInfo from './SidePanelInfo'; interface IMapInfoPanelProps { className: string, @@ -13,7 +13,7 @@ const MapInfoPanel = ({className, featureProperties, selectedFeatureId}:IMapInfo
          {(featureProperties && selectedFeatureId ) ? : - + }
          ); diff --git a/client/src/components/mapIntroduction.module.scss b/client/src/components/mapIntroduction.module.scss deleted file mode 100644 index 3421d211..00000000 --- a/client/src/components/mapIntroduction.module.scss +++ /dev/null @@ -1,34 +0,0 @@ -.mapIntroContainer { - padding: 20px 20px; -} - -.mapIntroHeader { - font-size: xx-large; - line-height: 1.9rem; - padding-top: 0.8rem; - padding-left: 0.3rem; -} -.mapIntroText { - display: flex; - margin-top: 2.4rem; -} - -.mapIntroLightbulb { - flex: 1 0 10%; - align-self: flex-start; -} - -.didYouKnowBox { - padding-left: 0.4rem; - padding-top: 0.2rem; - font-size: large; -} - -.didYouKnow { - font-weight: 600; -} -.didYouKnowText { - width: 95%; - padding-top: 0.3rem; - line-height: 1.5rem; -} diff --git a/client/src/components/mapIntroduction.test.tsx b/client/src/components/mapIntroduction.test.tsx deleted file mode 100644 index 1ab43696..00000000 --- a/client/src/components/mapIntroduction.test.tsx +++ /dev/null @@ -1,16 +0,0 @@ -import * as React from 'react'; -import {render, screen} from '@testing-library/react'; -import MapIntroduction from './mapIntroduction'; -import {LocalizedComponent} from '../../src/test/testHelpers'; - -describe('rendering of the component', () => { - render( - - - , - ); - - it('renders the title', () => { - expect(screen.getByRole('banner')).toHaveTextContent('Zoom and select a census tract to view data'); - }); -}); diff --git a/client/src/components/mapIntroduction.tsx b/client/src/components/mapIntroduction.tsx deleted file mode 100644 index 019e8262..00000000 --- a/client/src/components/mapIntroduction.tsx +++ /dev/null @@ -1,32 +0,0 @@ -import React from 'react'; -import {useIntl} from 'gatsby-plugin-intl'; - -// @ts-ignore -import lightbulbIcon from '/node_modules/uswds/dist/img/usa-icons/lightbulb_outline.svg'; -import * as styles from './mapIntroduction.module.scss'; -import * as EXPLORE_COPY from '../data/copy/explore'; - -const MapIntroduction = () => { - const intl = useIntl(); - - return ( - - ); -}; - -export default MapIntroduction; diff --git a/client/src/components/territoryFocusControl.module.scss b/client/src/components/territoryFocusControl.module.scss index 7c5afe5a..fc368920 100644 --- a/client/src/components/territoryFocusControl.module.scss +++ b/client/src/components/territoryFocusControl.module.scss @@ -1,18 +1,20 @@ @use '../styles/design-system.scss' as *; +@mixin baseTerritoryFocus { + position: absolute; + left: .75em; + z-index: 1; +} + .territoryFocusContainer { // styles for mobile-lg (480px) and greater widths @include at-media('mobile-lg') { - position: absolute; - left: .75em; + @include baseTerritoryFocus; top: units(card-lg); - z-index: 10; - } + }; - position: absolute; - left: .75em; + @include baseTerritoryFocus; top: units(9); - z-index: 10; } diff --git a/client/src/data/constants.tsx b/client/src/data/constants.tsx index 8e69f318..e1a9d632 100644 --- a/client/src/data/constants.tsx +++ b/client/src/data/constants.tsx @@ -4,44 +4,37 @@ import {isMobile as isMobileReactDeviceDetect} from 'react-device-detect'; export const isMobile = isMobileReactDeviceDetect; -const XYZ_SUFFIX = '{z}/{x}/{y}.pbf'; -export const featureURLForTilesetName = (tilesetName: string): string => { - // The feature tile base URL and path can either point locally or the CDN. - // This is selected based on the DATA_SOURCE env variable. - const featureTileBaseURL = process.env.DATA_SOURCE === 'local' ? - process.env.GATSBY_LOCAL_TILES_BASE_URL : - process.env.GATSBY_CDN_TILES_BASE_URL; - - const featureTilePath = process.env.DATA_SOURCE === 'local' ? - process.env.GATSBY_DATA_PIPELINE_SCORE_PATH_LOCAL : - process.env.GATSBY_DATA_PIPELINE_SCORE_PATH; - - return [ - featureTileBaseURL, - featureTilePath, - process.env.GATSBY_MAP_TILES_PATH, - tilesetName, - XYZ_SUFFIX, - ].join('/'); -}; -export const FEATURE_TILE_HIGH_ZOOM_URL = featureURLForTilesetName('high'); -export const FEATURE_TILE_LOW_ZOOM_URL = featureURLForTilesetName('low'); - -// Staging links for testing: -// export const FEATURE_TILE_HIGH_ZOOM_URL = `https://justice40-data.s3.amazonaws.com/data-pipeline-staging/1297/deee14dd93b783c8d366434dc8438a281b5c89df/data/score/tiles/high/${XYZ_SUFFIX}`; -// export const FEATURE_TILE_LOW_ZOOM_URL = `https://justice40-data.s3.amazonaws.com/data-pipeline-staging/1297/deee14dd93b783c8d366434dc8438a281b5c89df/data/score/tiles/low/${XYZ_SUFFIX}`; - - // Performance markers export const PERFORMANCE_MARKER_MAP_IDLE = 'MAP_IDLE'; // ******* PROPERTIES FROM TILE SERVER ************** export type J40Properties = { [key: string]: any }; -// Properties -export const SCORE_PROPERTY_HIGH = 'SM_PFS'; -export const SCORE_PROPERTY_LOW = 'M_SCORE'; + +// ****** SIDE PANEL BACKEND SIGNALS *********** + +// Set the threshold percentile used by most indicators in the side panel +export const DEFAULT_THRESHOLD_PERCENTILE = 90; + +// General Census Track Info export const GEOID_PROPERTY = 'GEOID10'; +export const COUNTY_NAME = 'CF'; +export const STATE_NAME = 'SF'; +export const TOTAL_POPULATION = 'TPF'; + +/** + * The SCORE_BOUNDAY_THRESHOLD will determine if the tract is disadvantaged + * or not. Currently all values are railed to 0 or 1. If the + * SCORE_PROPERTY_HIGH is greater than SCORE_BOUNDARY_THRESHOLD, + * the tract will be considered disadvantaged. + */ +export const SCORE_BOUNDARY_THRESHOLD = 0.6; + +// Determines the X of Y threshold exceeded +export const TOTAL_NUMBER_OF_DISADVANTAGE_INDICATORS = 'TC'; +export const TOTAL_NUMBER_OF_INDICATORS = 'THRHLD'; +export const COUNT_OF_CATEGORIES_DISADV = 'CC'; + export const SIDE_PANEL_STATE = 'UI_EXP'; export const SIDE_PANEL_STATE_VALUES = { NATION: 'Nation', @@ -49,102 +42,142 @@ export const SIDE_PANEL_STATE_VALUES = { ISLAND_AREAS: 'Island Areas', }; -export const THRHLD = 'TERRITORY_THRESHOLD'; - -// Indicator values: -export const ASTHMA_PERCENTILE = 'AF_PFS'; -export const COUNTY_NAME = 'CF'; -export const DIABETES_PERCENTILE = 'DF_PFS'; -export const DIESEL_MATTER_PERCENTILE = 'DSF_PFS'; -export const ENERGY_PERCENTILE = 'EBF_PFS'; -export const HEART_PERCENTILE = 'HDF_PFS'; -export const HIGH_SCHOOL_PROPERTY_PERCENTILE = `HSEF`; -export const HOUSING_BURDEN_PROPERTY_PERCENTILE = 'HBF_PFS'; -export const LEAD_PAINT_PERCENTILE = 'LPF_PFS'; -export const LIFE_PERCENTILE = 'LLEF_PFS'; -export const LINGUISTIC_ISOLATION_PROPERTY_PERCENTILE = 'LIF_PFS'; -export const LOW_MEDIAN_INCOME_PERCENTILE = 'LMI_PFS'; -export const PM25_PERCENTILE = 'PM25F_PFS'; -export const POVERTY_PROPERTY_PERCENTILE = 'P200_PFS'; -export const STATE_NAME = 'SF'; -export const TOTAL_POPULATION = 'TPF'; -export const TRAFFIC_PERCENTILE = 'TF_PFS'; -export const UNEMPLOYMENT_PROPERTY_PERCENTILE = 'UF_PFS'; -export const WASTEWATER_PERCENTILE = 'WF_PFS'; -export const EXP_AGRICULTURE_LOSS_PERCENTILE = 'EALR_PFS'; -export const EXP_BUILDING_LOSS_PERCENTILE = 'EBLR_PFS'; -export const EXP_POPULATION_LOSS_PERCENTILE = 'EPLR_PFS'; -export const MEDIAN_HOME_VALUE_PERCENTILE = 'MHVF_PFS'; -export const POVERTY_BELOW_100_PERCENTILE = 'P100_PFS'; -export const POVERTY_BELOW_200_PERCENTILE = 'P200_PFS'; -export const PROXIMITY_NPL_SITES_PERCENTILE = 'NPL_PFS'; -export const PROXIMITY_RMP_SITES_PERCENTILE = 'RMP_PFS'; -export const PROXIMITY_TSDF_SITES_PERCENTILE = 'TSDF_PFS'; -export const HIGHER_ED_PERCENTILE = 'CA'; - -export const ISLAND_AREAS_UNEMPLOYMENT_LOW_HS_EDU_PERCENTILE_FIELD= 'IAULHSE_PFS'; -export const ISLAND_AREAS_POVERTY_LOW_HS_EDU_PERCENTILE_FIELD= 'IAPLHSE_PFS'; -export const ISLAND_AREAS_LOW_MEDIAN_INCOME_LOW_HS_EDU_PERCENTILE_FIELD= 'IALMILHSE_PFS'; -export const ISLAND_AREAS_LOW_HS_EDU_PERCENTILE_FIELD= 'IALHE_PFS'; -export const ISLAND_AREAS_HS_EDU_PERCENTAGE_FIELD= 'IAHSEF'; - -// Category booleans (disadvantaged or not): +// Climate category export const IS_CLIMATE_FACTOR_DISADVANTAGED_M = 'M_CLT'; -export const IS_ENERGY_FACTOR_DISADVANTAGED_M = 'M_ENY'; -export const IS_TRANSPORT_FACTOR_DISADVANTAGED_M = 'M_TRN'; -export const IS_HOUSING_FACTOR_DISADVANTAGED_M = 'M_HSG'; -export const IS_POLLUTION_FACTOR_DISADVANTAGED_M = 'M_PLN'; -export const IS_WATER_FACTOR_DISADVANTAGED_M = 'M_WTR'; -export const IS_HEALTH_FACTOR_DISADVANTAGED_M = 'M_HLTH'; -export const IS_WORKFORCE_FACTOR_DISADVANTAGED_M = 'M_WKFC'; +export const IS_CLIMATE_EXCEED_ONE_OR_MORE_INDICATORS_M = 'M_CLT_EOMI'; -// Total indicators values: -export const TOTAL_NUMBER_OF_DISADVANTAGE_INDICATORS = 'TC'; -export const TOTAL_NUMBER_OF_INDICATORS = 'THRHLD'; +export const EXP_AGRICULTURE_LOSS_PERCENTILE = 'EALR_PFS'; +export const IS_EXCEEDS_THRESH_FOR_EXP_AGR_LOSS = 'EAL_ET'; -// Indicator booleans (disadvangted or not): (GTE = greater than or equal) -export const IS_GTE_90_EXP_POP_LOSS_AND_IS_LOW_INCOME = 'EPLRLI'; -export const IS_GTE_90_EXP_AGR_LOSS_AND_IS_LOW_INCOME = 'EALRLI'; -export const IS_GTE_90_EXP_BLD_LOSS_AND_IS_LOW_INCOME = 'EBLRLI'; -export const IS_GTE_90_PM25_AND_IS_LOW_INCOME = 'PM25LI'; -export const IS_GTE_90_ENERGY_BURDEN_AND_IS_LOW_INCOME = 'EBLI'; -export const IS_GTE_90_DIESEL_PM_AND_IS_LOW_INCOME = 'DPMLI'; -export const IS_GTE_90_TRAFFIC_PROX_AND_IS_LOW_INCOME = 'TPLI'; -export const IS_GTE_90_LEAD_PAINT_AND_MEDIAN_HOME_VAL_AND_IS_LOW_INCOME = 'LPMHVLI'; -export const IS_GTE_90_HOUSE_BURDEN_AND_IS_LOW_INCOME = 'HBLI'; -export const IS_GTE_90_RMP_AND_IS_LOW_INCOME = 'RMPLI'; -export const IS_GTE_90_SUPERFUND_AND_IS_LOW_INCOME = 'SFLI'; -export const IS_GTE_90_HAZARD_WASTE_AND_IS_LOW_INCOME = 'HWLI'; -export const IS_GTE_90_WASTEWATER_AND_IS_LOW_INCOME = 'WDLI'; -export const IS_GTE_90_DIABETES_AND_IS_LOW_INCOME = 'DLI'; -export const IS_GTE_90_ASTHMA_AND_IS_LOW_INCOME = 'ALI'; -export const IS_GTE_90_HEART_DISEASE_AND_IS_LOW_INCOME = 'HDLI'; -export const IS_GTE_90_LOW_LIFE_EXP_AND_IS_LOW_INCOME = 'LLELI'; -export const IS_GTE_90_LINGUISITIC_ISO_AND_IS_LOW_INCOME = 'LILHSE'; -export const IS_GTE_90_BELOW_100_POVERTY_AND_LOW_HIGH_SCHOOL_EDU = 'PLHSE'; -export const IS_GTE_90_LOW_MEDIAN_INCOME_AND_LOW_HIGH_SCHOOL_EDU = 'LMILHSE'; -export const IS_GTE_90_UNEMPLOYMENT_AND_LOW_HIGH_SCHOOL_EDU = 'ULHSE'; +export const EXP_BUILDING_LOSS_PERCENTILE = 'EBLR_PFS'; +export const IS_EXCEEDS_THRESH_FOR_EXP_BLD_LOSS = 'EBL_ET'; + +export const EXP_POPULATION_LOSS_PERCENTILE = 'EPLR_PFS'; +export const IS_EXCEEDS_THRESH_FOR_EXP_POP_LOSS = 'EPL_ET'; + +export const IS_EXCEED_BOTH_SOCIO_INDICATORS_M = 'M_EBSI'; + +export const POVERTY_BELOW_200_PERCENTILE = 'P200_PFS'; export const IS_FEDERAL_POVERTY_LEVEL_200 = 'FPL200S'; -export const IS_HIGHER_ED_PERCENTILE = 'CA_LT20'; -export const TOTAL_THRESHOLD_CRITERIA = 'TC'; -export const IS_GTE_90_ISLAND_AREA_UNEMPLOYMENT_AND_IS_LOW_HS_EDU_2009 = 'IAULHSE'; -export const IS_GTE_90_ISLAND_AREA_BELOW_100_POVERTY_AND_IS_LOW_HS_EDU_2009 = 'IAPLHSE'; -export const IS_GTE_90_ISLAND_AREA_LOW_MEDIAN_INCOME_AND_IS_LOW_HS_EDU_2009 = 'IALMILHSE'; -export const ISLAND_AREA_LOW_HS_EDU = 'IALHE'; -export const IS_LOW_HS_EDUCATION_LOW_HIGHER_ED_PRIORITIZED = 'LHE'; -// The name of the layer within the tiles that contains the score -export const SCORE_SOURCE_LAYER = 'blocks'; +export const HIGHER_ED_PERCENTILE = 'CA'; +export const IS_HIGHER_ED_PERCENTILE = 'CA_LT20'; + +export const NON_HIGHER_ED_PERCENTILE = 'NCA'; + + +// Energy category +export const IS_ENERGY_FACTOR_DISADVANTAGED_M = 'M_ENY'; +export const IS_ENERGY_EXCEED_ONE_OR_MORE_INDICATORS_M = 'M_ENY_EOMI'; + +export const ENERGY_PERCENTILE = 'EBF_PFS'; +export const IS_EXCEEDS_THRESH_FOR_ENERGY_BURDEN = 'EB_ET'; + +export const PM25_PERCENTILE = 'PM25F_PFS'; +export const IS_EXCEEDS_THRESH_FOR_PM25 = 'PM25_ET'; + + +// Transport category +export const IS_TRANSPORT_FACTOR_DISADVANTAGED_M = 'M_TRN'; +export const IS_TRANSPORT_EXCEED_ONE_OR_MORE_INDICATORS_M = 'M_TRN_EOMI'; + +export const DIESEL_MATTER_PERCENTILE = 'DSF_PFS'; +export const IS_EXCEEDS_THRESH_FOR_DIESEL_PM = 'DS_ET'; + +export const TRAFFIC_PERCENTILE = 'TF_PFS'; +export const IS_EXCEEDS_THRESH_FOR_TRAFFIC_PROX = 'TP_ET'; + + +// Housing category +export const IS_HOUSING_FACTOR_DISADVANTAGED_M = 'M_HSG'; +export const IS_HOUSING_EXCEED_ONE_OR_MORE_INDICATORS_M = 'M_HSG_EOMI'; + +export const HOUSING_BURDEN_PROPERTY_PERCENTILE = 'HBF_PFS'; +export const IS_EXCEEDS_THRESH_FOR_HOUSE_BURDEN = 'HB_ET'; + +export const LEAD_PAINT_PERCENTILE = 'LPF_PFS'; +export const IS_EXCEEDS_THRESH_FOR_LEAD_PAINT_AND_MEDIAN_HOME_VAL = 'LPP_ET'; + +// export const MEDIAN_HOME_VALUE_PERCENTILE = 'MHVF_PFS'; // No longer showing in UI + + +// Pollution category +export const IS_POLLUTION_FACTOR_DISADVANTAGED_M = 'M_PLN'; +export const IS_POLLUTION_EXCEED_ONE_OR_MORE_INDICATORS_M = 'M_PLN_EOMI'; + +export const PROXIMITY_TSDF_SITES_PERCENTILE = 'TSDF_PFS'; +export const IS_EXCEEDS_THRESH_FOR_HAZARD_WASTE = 'TSDF_ET'; + +export const PROXIMITY_NPL_SITES_PERCENTILE = 'NPL_PFS'; +export const IS_EXCEEDS_THRESH_FOR_SUPERFUND = 'NPL_ET'; + +export const PROXIMITY_RMP_SITES_PERCENTILE = 'RMP_PFS'; +export const IS_EXCEEDS_THRESH_FOR_RMP = 'RMP_ET'; + + +// Water category +export const IS_WATER_FACTOR_DISADVANTAGED_M = 'M_WTR'; +export const IS_WATER_EXCEED_ONE_OR_MORE_INDICATORS_M = 'M_WTR_EOMI'; + +export const WASTEWATER_PERCENTILE = 'WF_PFS'; +export const IS_EXCEEDS_THRESH_FOR_WASTEWATER = 'WD_ET'; + + +// Health category +export const IS_HEALTH_FACTOR_DISADVANTAGED_M = 'M_HLTH'; +export const IS_HEALTH_EXCEED_ONE_OR_MORE_INDICATORS_M = 'M_HLTH_EOMI'; + +export const ASTHMA_PERCENTILE = 'AF_PFS'; +export const IS_EXCEEDS_THRESH_FOR_ASTHMA = 'A_ET'; + +export const DIABETES_PERCENTILE = 'DF_PFS'; +export const IS_EXCEEDS_THRESH_FOR_DIABETES = 'DB_ET'; + +export const HEART_PERCENTILE = 'HDF_PFS'; +export const IS_EXCEEDS_THRESH_FOR_HEART_DISEASE = 'HD_ET'; + +export const LIFE_PERCENTILE = 'LLEF_PFS'; +export const IS_EXCEEDS_THRESH_FOR_LOW_LIFE_EXP = 'LLE_ET'; + + +// Workforce category +export const IS_WORKFORCE_FACTOR_DISADVANTAGED_M = 'M_WKFC'; +export const IS_WORKFORCE_EXCEED_ONE_OR_MORE_INDICATORS_M = 'M_WKFC_EOMI'; + +export const LINGUISTIC_ISOLATION_PROPERTY_PERCENTILE = 'LIF_PFS'; +export const IS_EXCEEDS_THRESH_FOR_LINGUISITIC_ISO = 'LISO_ET'; + +export const LOW_MEDIAN_INCOME_PERCENTILE = 'LMI_PFS'; +export const IS_EXCEEDS_THRESH_FOR_LOW_MEDIAN_INCOME = 'LMI_ET'; +export const ISLAND_AREAS_LOW_MEDIAN_INCOME_LOW_HS_EDU_PERCENTILE_FIELD= 'IALMILHSE_PFS'; +export const IS_EXCEEDS_THRESH_FOR_ISLAND_AREA_LOW_MEDIAN_INCOME = 'IA_LMI_ET'; + +export const UNEMPLOYMENT_PROPERTY_PERCENTILE = 'UF_PFS'; +export const IS_EXCEEDS_THRESH_FOR_UNEMPLOYMENT = 'UN_ET'; +export const ISLAND_AREAS_UNEMPLOYMENT_LOW_HS_EDU_PERCENTILE_FIELD= 'IAULHSE_PFS'; +export const IS_EXCEEDS_THRESH_FOR_ISLAND_AREA_UNEMPLOYMENT = 'IA_UN_ET'; + +export const POVERTY_BELOW_100_PERCENTILE = 'P100_PFS'; +export const IS_EXCEEDS_THRESH_FOR_BELOW_100_POVERTY = 'POV_ET'; +export const ISLAND_AREAS_POVERTY_LOW_HS_EDU_PERCENTILE_FIELD= 'IAPLHSE_PFS'; +export const IS_EXCEEDS_THRESH_FOR_ISLAND_AREA_BELOW_100_POVERTY = 'IA_POV_ET'; + +export const IS_WORKFORCE_EXCEED_BOTH_SOCIO_INDICATORS_M = 'M_WKFC_EBSI'; + +export const HIGH_SCHOOL_PROPERTY_PERCENTILE = `HSEF`; +export const IS_LOW_HS_EDUCATION_LOW_HIGHER_ED_PRIORITIZED = 'LHE'; +export const ISLAND_AREAS_HS_EDU_PERCENTAGE_FIELD= 'IAHSEF'; +export const ISLAND_AREA_LOW_HS_EDU = 'IALHE'; // ********** MAP CONSTANTS *************** - // Source name constants export const BASE_MAP_SOURCE_NAME = 'base-map-source-name'; export const HIGH_ZOOM_SOURCE_NAME = 'high-zoom-source-name'; export const LOW_ZOOM_SOURCE_NAME = 'low-zoom-source-name'; // Layer ID constants +export const SCORE_SOURCE_LAYER = 'blocks'; // The name of the layer within the tiles that contains the score export const BASE_MAP_LAYER_ID = 'base-map-layer-id'; export const HIGH_ZOOM_LAYER_ID = 'high-zoom-layer-id'; export const PRIORITIZED_HIGH_ZOOM_LAYER_ID = 'prioritized-high-zoom-layer-id'; @@ -152,6 +185,10 @@ export const LOW_ZOOM_LAYER_ID = 'low-zoom-layer-id'; export const FEATURE_BORDER_LAYER_ID = 'feature-border-layer-id'; export const SELECTED_FEATURE_BORDER_LAYER_ID = 'selected-feature-border-layer-id'; +// Used in layer filters: +export const SCORE_PROPERTY_LOW = 'M_SCORE'; +export const SCORE_PROPERTY_HIGH = 'SM_PFS'; + // Zoom export const GLOBAL_MIN_ZOOM = 3; export const GLOBAL_MAX_ZOOM = 22; @@ -177,13 +214,6 @@ export const PRIORITIZED_FEATURE_FILL_COLOR = '#768FB3'; export const FEATURE_BORDER_WIDTH = 0.8; export const SELECTED_FEATURE_BORDER_WIDTH = 5.0; -/** - * This threshold will determine if the feature is prioritized - * or not. Currently all values are railed to 0 or 1 so this value - * doesn't really matter. - */ -export const SCORE_BOUNDARY_THRESHOLD = 0.6; - // Bounds - these bounds can be obtained by using the getCurrentMapBoundingBox() function in the map export const GLOBAL_MAX_BOUNDS: LngLatBoundsLike = [ [-180.118306, 5.499550], diff --git a/client/src/data/copy/README.md b/client/src/data/copy/README.md new file mode 100644 index 00000000..96c01a9c --- /dev/null +++ b/client/src/data/copy/README.md @@ -0,0 +1,5 @@ +# How to i18n copy for J40 + +1. Note that description fields can not have line feed or carriage returns or they will render a /n in the en.json file. +2. Use bold, italic function in common.tsx +3. Use and for these data types. \ No newline at end of file diff --git a/client/src/data/copy/about.tsx b/client/src/data/copy/about.tsx index af33202f..2f717f5c 100644 --- a/client/src/data/copy/about.tsx +++ b/client/src/data/copy/about.tsx @@ -1,8 +1,8 @@ +/* eslint-disable max-len */ import React from 'react'; import {defineMessages} from 'react-intl'; import {FormattedMessage} from 'gatsby-plugin-intl'; - -import LinkTypeWrapper from '../../components/LinkTypeWrapper'; +import {italicFn, linkFn} from './common'; export const EXEC_ORDER_LINK = 'https://www.federalregister.gov/documents/2021/02/01/2021-02177/tackling-the-climate-crisis-at-home-and-abroad#:~:text=Sec.%20223.%20Justice40,40-percent%20goal.'; @@ -10,28 +10,28 @@ export const PAGE = defineMessages({ TILE: { id: 'about.page.title.text', defaultMessage: 'About', - description: 'about page title text', + description: 'Navigate to the About page. This is the about page title text', }, HEADING: { - id: 'index.heading.about.us', + id: 'about.page.heading.text', defaultMessage: 'About', - description: 'main heading for about page', + description: 'Navigate to the About page. This is the first heading', }, HEADING_1: { - id: 'index.heading.screentool', + id: 'about.page.heading.1.text', defaultMessage: 'Screening tool', - description: 'heading for about screening tool', + description: 'Navigate to the About page. This is the second heading', }, HEADING1_DESCRIPTION2: { id: 'about.page.sub.header.1.text.2', defaultMessage: 'The current version of the tool is in a public beta form and'+ ' will be updated based on feedback and research.', - description: 'about page sub header text', + description: 'Navigate to the About page. This is first heading description', }, HEADING_2: { - id: 'index.heading.justice40', + id: 'about.page.sub.header.2.text', defaultMessage: 'The Justice40 Initiative', - description: 'heading for about justice 40', + description: 'Navigate to the About page. This is the third heading', }, HEADING2_DESCRIPTION1: { id: 'about.page.sub.header.2.text.1', @@ -43,7 +43,7 @@ export const PAGE = defineMessages({ housing, training and workforce development, the remediation and reduction of legacy pollution, and the development of critical clean water infrastructure. `, - description: 'about page sub header text', + description: 'Navigate to the About page. This is the third heading description', }, }); @@ -51,9 +51,9 @@ export const HEADING_1 = { DESCRIPTION_1: Executive Order 14008 on Tackling the Climate Crisis at Home and Abroad, President Biden directed the Council on Environmental Quality (CEQ) to create a Climate and Economic Justice Screening Tool. The purpose of the tool is to help Federal agencies identify disadvantaged communities that are marginalized, underserved, and overburdened by pollution. The current version of the tool provides socioeconomic, environmental, @@ -61,13 +61,8 @@ export const HEADING_1 = { tool identifies disadvantaged communities through publicly-available, nationally-consistent datasets. `} values={{ - eoLink: , - tacklingItalics: Tackling the Climate Crisis at Home and Abroad, + link1: linkFn(EXEC_ORDER_LINK, false, true), + italictag: italicFn, }} />, }; @@ -79,16 +74,11 @@ export const HEADING_2 = { description={'about page sub header text'} defaultMessage={` Read more about the Justice40 Initiative in President Biden’s - {eoLink} on {tacklingItalics}. + Executive Order 14008 on Tackling the Climate Crisis at Home and Abroad. `} values={{ - eoLink: , - tacklingItalics: Tackling the Climate Crisis at Home and Abroad, + link1: linkFn(EXEC_ORDER_LINK, false, true), + italictag: italicFn, }} />, }; @@ -98,81 +88,81 @@ export const GITHUB_LINK = 'https://github.com/usds/justice40-tool'; export const HOW_TO_GET_STARTED = defineMessages({ TITLE: { - id: 'howToGetStarted.title', + id: 'about.page.howToGetStarted.title', defaultMessage: 'How to get started', - description: 'sub heading of page', + description: 'Navigate to the About page. This is the sub heading of page', }, FEDERAL_PM_HEADING: { - id: 'federal.pm.heading', + id: 'about.page.federal.pm.heading', defaultMessage: 'Federal program managers', - description: 'sub heading of page', + description: 'Navigate to the About page. This is the sub heading of page', }, FEDERAL_PM_INFO: { - id: 'federal.pm.info', + id: 'about.page.federal.pm.info', defaultMessage: ` Download the tool’s current list of communities, explore data that may be useful to your program, and provide feedback on the tool. `, - description: 'sub heading of page', + description: 'Navigate to the About page. This is the sub heading of page', }, FEDERAL_PM_LINK_TEXT: { - id: 'federal.pm.link', + id: 'about.page.federal.pm.link', defaultMessage: 'Methodology & data', - description: 'link text to go to methodology page', + description: 'link text to Navigate to the About page. This is the go to methodology page', }, COMMUNITY_MEMBERS_HEADING: { - id: 'community.members.heading', + id: 'about.page.community.members.heading', defaultMessage: 'Community members', - description: 'sub heading of page', + description: 'Navigate to the About page. This is the sub heading of page', }, COMMUNITY_MEMBERS_INFO: { - id: 'community.members.info', + id: 'about.page.community.members.info', defaultMessage: ` Explore data about communities across the U.S., including your own, and provide feedback on the tool. `, - description: 'sub heading of page', + description: 'Navigate to the About page. This is the sub heading of page', }, COMMUNITY_MEMBERS_LINK_TEXT: { - id: 'community.members.link', + id: 'about.page.community.members.link', defaultMessage: 'Explore the tool', - description: 'link to explore the tool page', + description: 'link to Navigate to the About page. This is the explore the tool page', }, }); export const GET_INVOLVED = defineMessages({ TITLE: { - id: 'getInvolved.title', + id: 'about.page.getInvolved.title', defaultMessage: 'Get involved', - description: 'sub heading of page', + description: 'Navigate to the About page. This is the sub heading of page', }, SEND_FEEDBACK_HEADING: { - id: 'send.feedback.heading', + id: 'about.page.send.feedback.heading', defaultMessage: 'Send feedback', - description: 'sending feedback heading', + description: 'Navigate to the About page. This is the sending feedback heading', }, SEND_FEEDBACK_INFO: { - id: 'send.feedback.info', + id: 'about.page.send.feedback.info', defaultMessage: ` Have ideas about data and information that reflect the experiences and conditions of your community? `, - description: 'sending feedback information', + description: 'Navigate to the About page. This is the sending feedback information', }, JOIN_OSC_HEADING: { - id: 'join.opensource.heading', + id: 'about.page.join.opensource.heading', defaultMessage: 'Join the open source community', - description: 'join the community heading', + description: 'Navigate to the About page. This is the join the community heading', }, JOIN_OSC_INFO: { - id: 'join.open.source.info', + id: 'about.page.join.open.source.info', defaultMessage: ` The tool’s code is open source, which means it is available for the public to view and contribute to it. `, - description: 'info on joining open source community', + description: 'info on Navigate to the About page. This is the joining open source community', }, JOIN_OSC_LINK_TEXT: { - id: 'join.open.source.link', + id: 'about.page.join.open.source.link', defaultMessage: 'Check it out on GitHub', - description: 'link to github repository', + description: 'Navigate to the About page. This is the link to github repository', }, }); diff --git a/client/src/data/copy/common.tsx b/client/src/data/copy/common.tsx index 48d3fa2d..d237c63b 100644 --- a/client/src/data/copy/common.tsx +++ b/client/src/data/copy/common.tsx @@ -1,120 +1,162 @@ +/* eslint-disable max-len */ +/* eslint-disable react/display-name */ +import React from 'react'; +import {FormattedMessage} from 'gatsby-plugin-intl'; import {defineMessages} from 'react-intl'; +import LinkTypeWrapper from '../../components/LinkTypeWrapper'; + +/* + * i18n curried functions from react-intl (aka format.js) + * using ver3 of the docs as this is what gatsby-plugin-intl uses: + * https://formatjs.io/docs/react-intl/upgrade-guide-3x#enhanced-formattedmessage--formatmessage-rich-text-formatting + * + * */ +export const italicFn = (str:string) => {str}; +export const boldFn = (str:string) => {str}; +export const simpleLink = (href:string) => (str:string) => {str}; +// eslint-disable-next-line max-len +export const linkFn = (to:string, isInternal:boolean, isOpenNewTab:boolean) => (str:string) => ; + + +export const FEEDBACK_EMAIL = 'Screeningtool-Support@omb.eop.gov'; // Beta Banner export const BETA_BANNER = defineMessages({ TITLE: { - id: 'banner.beta.title', + id: 'common.pages.banner.beta.title', defaultMessage: 'This is a beta site.', - description: 'the main title of the beta banner', + description: 'Navigate to the about page. This is the main title of the beta banner', }, INFO: { - id: 'banner.beta.info', + id: 'common.pages.banner.beta.info', defaultMessage: `It is an early, in-progress version of the tool with limited datasets that will be regularly updated.`, - description: 'the main info of the beta banner', + description: 'Navigate to the about page. This is the main info of the beta banner', }, }); + +// Alerts +// Expiration month is zero-based: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getMonth +export const ALERTS = { + CENSUS_TRACT: defineMessages({ + TITLE: { + id: 'common.pages.alerts.census.tract.title', + defaultMessage: 'Improvements to the map on the Explore the tool page', + description: 'Navigate to any page. This the title of the alert that informs the user that new census tract information is available', + }, + }), + EXPIRATION_DATE: new Date(2022, 3, 15), // Set expiration for Apr 15th 2022. + CENSUS_TRACT_DESCRIPTION: send feedback.`} + description={`Navigate to any page. This the title of the alert that informs the user that new census tract information is available`} + values={{ + link1: linkFn(`mailto:${FEEDBACK_EMAIL}`, false, true), + }} + />, +}; + // Header export const HEADER = defineMessages({ TITLE_LINE_1: { - id: 'header.title.line1', + id: 'common.pages.header.title.line1', defaultMessage: `Climate and Economic Justice`, - description: 'Title in nav header line 1 of 2', + description: 'Navigate to the about page. This is Title in nav header line 1 of 2', }, TITLE_LINE_2: { - id: 'header.title.line2', + id: 'common.pages.header.title.line2', defaultMessage: `Screening Tool`, - description: 'Title in nav header line 2 of 2', + description: 'Navigate to the about page. This is Title in nav header line 2 of 2', }, ABOUT: { - id: 'header.about', + id: 'common.pages.header.about', defaultMessage: 'About', - description: 'Header navigate item to the about page', + description: 'Navigate to the about page. This is Header navigate item to the about page', }, EXPLORE: { - id: 'header.explore', + id: 'common.pages.header.explore', defaultMessage: 'Explore the tool', - description: 'Header navigate item to the Explore the tool page', + description: 'Navigate to the about page. This is Header navigate item to the Explore the tool page', }, METHODOLOGY: { - id: 'header.methodology', + id: 'common.pages.header.methodology', defaultMessage: 'Methodology & data', - description: 'Header navigate item to the Methodology page', + description: 'Navigate to the about page. This is Header navigate item to the Methodology page', }, CONTACT: { - id: 'header.contact', + id: 'common.pages.header.contact', defaultMessage: 'Contact', - description: 'Header navigate item to the Contact page', + description: 'Navigate to the about page. This is Header navigate item to the Contact page', }, }); // Footer export const FOOTER = defineMessages({ ARIA_LABEL: { - id: 'footer.arialabel', + id: 'common.pages.footer.arialabel', defaultMessage: 'Footer navigation', - description: 'aria-label text for whole footer', + description: 'Navigate to the about page. This is aria-label text for whole footer', }, TITLE: { - id: 'footer.logo.title', + id: 'common.pages.footer.logo.title', defaultMessage: 'Council on Environmental Quality', - description: 'Footer under logo', + description: 'Navigate to the about page. This is Footer under logo', }, MORE_INFO: { - id: 'footer.moreinfoheader', + id: 'common.pages.footer.moreinfoheader', defaultMessage: 'More information', - description: 'Footer column header', + description: 'Navigate to the about page. This is Footer column header', }, WHITEHOUSE: { - id: 'footer.whitehouse.text', + id: 'common.pages.footer.whitehouse.text', defaultMessage: 'Whitehouse.gov', - description: 'Footer Whitehouse.gov link text', + description: 'Navigate to the about page. This is Footer Whitehouse.gov link text', }, WHITEHOUSE_LINK: { - id: 'footer.whitehouse.link', + id: 'common.pages.footer.whitehouse.link', defaultMessage: 'https://www.whitehouse.gov/', - description: 'Footer Whitehouse.gov link text', + description: 'Navigate to the about page. This is Footer Whitehouse.gov link text', }, FOIA: { - id: 'footer.foia.text', + id: 'common.pages.footer.foia.text', defaultMessage: 'Freedom of Information Act (FOIA)', - description: 'Footer FOIA link text', + description: 'Navigate to the about page. This is Footer FOIA link text', }, PRIVACY: { - id: 'footer.privacy.text', + id: 'common.pages.footer.privacy.text', defaultMessage: 'Privacy Policy', - description: 'Footer privacy policy link text', + description: 'Navigate to the about page. This is Footer privacy policy link text', }, PRIVACY_LINK: { - id: 'footer.privacy.link', + id: 'common.pages.footer.privacy.link', defaultMessage: 'https://www.whitehouse.gov/privacy/', - description: 'Footer privacy policy link text', + description: 'Navigate to the about page. This is Footer privacy policy link text', }, LOGO_ALT: { - id: 'footer.whitehouselogoalt', + id: 'common.pages.footer.whitehouselogoalt', defaultMessage: 'Whitehouse logo', - description: 'Footer Whitehouse logo alt text', + description: 'Navigate to the about page. This is Footer Whitehouse logo alt text', }, QUESTIONS: { - id: 'footer.questionsheader', + id: 'common.pages.footer.questionsheader', defaultMessage: 'Have a question about government services?', - description: 'Footer column header', + description: 'Navigate to the about page. This is Footer column header', }, FIND_CONTACT: { - id: 'footer.findcontact', + id: 'common.pages.footer.findcontact', defaultMessage: 'Find a contact at USA.gov', - description: 'Footer find contact link text', + description: 'Navigate to the about page. This is Footer find contact link text', }, FIND_CONTACT_LINK: { - id: 'footer.findcontact.link', + id: 'common.pages.footer.findcontact.link', defaultMessage: 'https://www.usa.gov/', - description: 'Footer find contact link text', + description: 'Navigate to the about page. This is Footer find contact link text', }, CONTACT: { - id: 'footer.contactheader', + id: 'common.pages.footer.contactheader', defaultMessage: 'Contact', - description: 'Footer column header', + description: 'Navigate to the about page. This is Footer column header', }, }); @@ -126,4 +168,11 @@ export const FOOTER_CEQ_ADDRESS = { } ; - +export const CONSOLE_ERROR = defineMessages({ + STAGE_URL: { + id: 'common.pages.console.error.stage.url', + defaultMessage: ` + Please check stage_hash value. It must be a 4 digit decimal value / 40 digit hexadecimal value`, + description: 'Navigate to the about page. This is console error staging URL', + }, +}); diff --git a/client/src/data/copy/contact.tsx b/client/src/data/copy/contact.tsx index 751ae2f9..798b54de 100644 --- a/client/src/data/copy/contact.tsx +++ b/client/src/data/copy/contact.tsx @@ -1,33 +1,34 @@ +/* eslint-disable max-len */ import React from 'react'; import {defineMessages} from 'react-intl'; -import {FormattedMessage, Link} from 'gatsby-plugin-intl'; -import LinkTypeWrapper from '../../components/LinkTypeWrapper'; +import {FormattedMessage} from 'gatsby-plugin-intl'; +import * as COMMON_COPY from './common'; export const PAGE_INTRO = defineMessages({ PAGE_TILE: { id: 'contact.page.title.text', defaultMessage: 'Contact', - description: 'contact page title text', + description: 'Navigate to the contact page, this is the contact page title text', }, PAGE_HEADING: { id: 'contact.page.header.text', defaultMessage: 'Contact', - description: 'contact page header text', + description: 'Navigate to the contact page, this is the contact page header text', }, PAGE_SUB_HEADING: { id: 'contact.page.sub.header.text', defaultMessage: 'Email us', - description: 'contact page sub header text', + description: 'Navigate to the contact page, this is the contact page sub header text', }, PAGE_DESCRIPTION: { id: 'contact.page.sub.header.text', defaultMessage: 'Email us', - description: 'contact page sub header text', + description: 'Navigate to the contact page, this is the contact page sub header text', }, SURVEY_TEXT: { - id: 'fab.survey.text', + id: 'contact.page.fab.survey.text', defaultMessage: `Help improve the site & data`, - description: 'text for floating action button', + description: 'Navigate to the contact page, this is the text for floating action button', }, }); @@ -35,18 +36,17 @@ export const CENSUS_TRACT_FEEDBACK = { TITLE: , PARAGRAPH1: Explore the tool page or use the email address provided above. Please include the census tract ID, county, and state or territory information, in addition to your feedback. `} - description={'census tract feedback section'} + description={'Navigate to the contact page, this is the census tract feedback section'} values={{ - exploreLink: Explore the tool, + link1: COMMON_COPY.linkFn('/cejst', true, false), }} />, PARAGRAPH2: , PARAGRAPH3: survey. `} - description={'census tract feedback section'} + description={'Navigate to the contact page, this is the census tract feedback section'} values={{ - improvementSurvey: , + link1: COMMON_COPY.linkFn('https://www.surveymonkey.com/r/cejst-survey', false, true), }} />, }; @@ -79,5 +74,3 @@ export const CONTACT_VIA_EMAIL = { DESCRIPTION: 'Contact page body text', DEFAULT_MESSAGE: `For general feedback, email {general_email_address}.`, }; - -export const FEEDBACK_EMAIL = 'Screeningtool-Support@omb.eop.gov'; diff --git a/client/src/data/copy/explore.tsx b/client/src/data/copy/explore.tsx index 0ccd9930..6b5a9c89 100644 --- a/client/src/data/copy/explore.tsx +++ b/client/src/data/copy/explore.tsx @@ -1,54 +1,54 @@ +/* eslint-disable max-len */ import React from 'react'; import {defineMessages} from 'react-intl'; -import {FormattedMessage, Link} from 'gatsby-plugin-intl'; -import LinkTypeWrapper from '../../components/LinkTypeWrapper'; +import {FormattedDate, FormattedMessage, FormattedNumber} from 'gatsby-plugin-intl'; -import * as CONTACT_COPY from './contact'; +import * as COMMON_COPY from './common'; import * as METHODOLOGY_COPY from './methodology'; +import {simpleLink, linkFn} from './common'; export const PAGE_INTRO = defineMessages({ PAGE_TILE: { - id: 'exploreTool.title.text', + id: 'explore.tool.page.title.text', defaultMessage: 'Explore the tool', - description: 'explore the tool title text', + description: 'On the explore the tool page, the title of the page', }, PAGE_HEADING: { - id: 'exploreTool.heading.text', + id: 'explore.tool.page.heading.text', defaultMessage: 'Explore the tool', - description: 'explore the tool heading text', + description: 'On the explore the tool page, the heading of the page', }, }); export const PAGE_DESCRIPTION = Methodology & data page. `} - description={'page description'} + description={'On the explore the tool page, the description of the page'} values={{ - methodologyLink: Methodology & data, - methodologyLinkEs: Metodología y datos, + link1: linkFn('/methodology', true, false), }} />; export const LEGEND = defineMessages({ PRIORITY_LABEL: { - id: 'legend.info.priority.label', + id: 'explore.tool.page.label.text', defaultMessage: 'Disadvantaged community', - description: 'the label of the prioritized community legend', + description: 'On the explore the tool page, the label of the legend', }, PRIORITY_DESCRIPT: { - id: 'legend.info.threshold.label', + id: 'explore.tool.page.legend.description.text', defaultMessage: ` Communities identified as disadvantaged by the tool are those that are marginalized, underserved, and overburdened by pollution. These communities are at or above the thresholds in one or more of eight categories of criteria. `, - description: 'the label of the threshold community legend', + description: 'On the explore the tool page, the description of the legend', }, }); @@ -56,99 +56,101 @@ export const LEGEND = defineMessages({ // Map export const MAP = defineMessages({ ZOOM_WARNING: { - id: 'map.zoom.warning', + id: 'explore.tool.page.map.zoom.warning', defaultMessage: 'Zoom in to the state or regional level to see prioritized communities on the map.', - description: 'zoom warning on map', + description: 'On the explore the tool page, on the map, the zoom warning on map', }, SEARCH_PLACEHOLDER: { - id: 'map.search.placeholder.text', + id: 'explore.tool.page.map.search.placeholder.text', defaultMessage: 'Enter a city, state or ZIP', - description: 'placeholder text for search', + description: 'On the explore the tool page, on the map, the placeholder text for search', }, SEARCH_RESULTS_EMPTY_MESSAGE: { - id: 'map.search.results.empty.text', + id: 'explore.tool.page.map.search.results.empty.text', defaultMessage: 'No location found. Please try again.', - description: 'text displaying message for no search results found', + description: 'On the explore the tool page, on the map, the text displaying message for no search results found', }, LOWER48_SHORT: { - id: 'map.territoryFocus.lower48.short', + id: 'explore.tool.page.map.territoryFocus.lower48.short', defaultMessage: '48', - description: 'The abbreviated name indicating the bounds of the Lower 48 states', + description: `On the explore the tool page, on the map, the abbreviated name indicating the bounds of + the Lower 48 states + `, }, LOWER48_LONG: { - id: 'map.territoryFocus.lower48.long', + id: 'explore.tool.page.map.territoryFocus.lower48.long', defaultMessage: 'Lower 48', - description: 'The longer name indicating the bounds of the Lower 48 states', + description: `On the explore the tool page, on the map, the longer name indicating the bounds of the Lower 48 states`, }, ALASKA_SHORT: { - id: 'map.territoryFocus.alaska.short', + id: 'explore.tool.page.map.territoryFocus.alaska.short', defaultMessage: 'AK', - description: 'The abbreviated indicating the bounds of Alaska', + description: 'On the explore the tool page, on the map, the abbreviated indicating the bounds of Alaska', }, ALASKA_LONG: { - id: 'map.territoryFocus.alaska.long', + id: 'explore.tool.page.map.territoryFocus.alaska.long', defaultMessage: 'Alaska', - description: 'The full name indicating the bounds of Alaska', + description: 'On the explore the tool page, on the map, the full name indicating the bounds of Alaska', }, HAWAII_SHORT: { - id: 'map.territoryFocus.hawaii.short', + id: 'explore.tool.page.map.territoryFocus.hawaii.short', defaultMessage: 'HI', - description: 'The abbreviated name indicating the bounds of Hawaii', + description: 'On the explore the tool page, on the map, the abbreviated name indicating the bounds of Hawaii', }, HAWAII_LONG: { - id: 'map.territoryFocus.hawaii.long', + id: 'explore.tool.page.map.territoryFocus.hawaii.long', defaultMessage: 'Hawaii', - description: 'The longer name indicating the bounds of Hawaii', + description: 'On the explore the tool page, on the map, the longer name indicating the bounds of Hawaii', }, PR_SHORT: { - id: 'map.territoryFocus.puerto_rico.short', + id: 'explore.tool.page.map.territoryFocus.puerto_rico.short', defaultMessage: 'PR', - description: 'The abbreviated name indicating the bounds of Puerto Rico', + description: 'On the explore the tool page, on the map, the abbreviated name indicating the bounds of Puerto Rico', }, PR_LONG: { - id: 'map.territoryFocus.puerto_rico.long', + id: 'explore.tool.page.map.territoryFocus.puerto_rico.long', defaultMessage: 'Puerto Rico', - description: 'The full name indicating the bounds of Puerto Rico', + description: 'On the explore the tool page, on the map, the full name indicating the bounds of Puerto Rico', }, GU_SHORT: { - id: 'map.territoryFocus.guam.short', + id: 'explore.tool.page.map.territoryFocus.guam.short', defaultMessage: 'GU', - description: 'The abbreviated name indicating the bounds of Guam', + description: 'On the explore the tool page, on the map, the abbreviated name indicating the bounds of Guam', }, GU_LONG: { - id: 'map.territoryFocus.guam.long', + id: 'explore.tool.page.map.territoryFocus.guam.long', defaultMessage: 'Guam', - description: 'The full name indicating the bounds of Guam', + description: 'On the explore the tool page, on the map, the full name indicating the bounds of Guam', }, AS_SHORT: { - id: 'map.territoryFocus.american.samoa.short', + id: 'explore.tool.page.map.territoryFocus.american.samoa.short', defaultMessage: 'AS', - description: 'The abbreviated name indicating the bounds of American Somoa', + description: `On the explore the tool page, on the map, the abbreviated name indicating the bounds of American Somoa`, }, AS_LONG: { - id: 'map.territoryFocus.american.samoa.long', + id: 'explore.tool.page.map.territoryFocus.american.samoa.long', defaultMessage: 'American Samoa', - description: 'The full name indicating the bounds of American Somoa', + description: 'On the explore the tool page, on the map, the full name indicating the bounds of American Somoa', }, MP_SHORT: { - id: 'map.territoryFocus.commonwealth.nmp.short', + id: 'explore.tool.page.map.territoryFocus.commonwealth.nmp.short', defaultMessage: 'MP', - description: 'The abbreviated name indicating the bounds of Commonwealth of Northern Mariana Islands', + description: `On the explore the tool page, on the map, the abbreviated name indicating the bounds of Commonwealth of Northern Mariana Islands`, }, MP_LONG: { - id: 'map.territoryFocus.commonwealth.nmp.long', + id: 'explore.tool.page.map.territoryFocus.commonwealth.nmp.long', defaultMessage: 'Commonwealth of Northern Mariana Islands', - description: 'The full name indicating the bounds of Commonwealth of Northern Mariana Islands', + description: `On the explore the tool page, on the map, the full name indicating the bounds of Commonwealth of Northern Mariana Islands`, }, VI_SHORT: { - id: 'map.territoryFocus.us.virgin.islands.short', + id: 'explore.tool.page.map.territoryFocus.us.virgin.islands.short', defaultMessage: 'VI', - description: 'The abbreviated name indicating the bounds of US Virgin Islands', + description: `On the explore the tool page, on the map, the abbreviated name indicating the bounds of US Virgin Islands`, }, VI_LONG: { - id: 'map.territoryFocus.us.virgin.islands.long', + id: 'explore.tool.page.map.territoryFocus.us.virgin.islands.long', defaultMessage: 'US Virgin Islands', - description: 'The full name indicating the bounds of US Virgin Islands', + description: 'On the explore the tool page, on the map, the full name indicating the bounds of US Virgin Islands', }, }); @@ -156,508 +158,661 @@ export const MAP = defineMessages({ // Side Panel copy export const SIDE_PANEL_INITIAL_STATE = defineMessages({ TITLE: { - id: 'mapIntro.mapIntroHeader', - defaultMessage: 'Zoom and select a census tract to view data', + id: 'explore.tool.page.side.panel.info.title', + defaultMessage: 'Things to know', description: 'introductory text of ways to use the map', }, - DID_YOU_KNOW: { - id: 'mapIntro.didYouKnow', - defaultMessage: ' Did you know?', - description: 'text prompting a cite paragraph', - }, - CBG_DEFINITION: { - id: 'mapIntro.censusBlockGroupDefinition', + PARA1: { + id: 'explore.tool.page.side.panel.info.para1', defaultMessage: ` - A census tract is generally between 1,200 to 8,000 people, with an average size of 4,000 people. - Census tracts are small, relatively permanent subdivisions of a county defined by the - U.S. Census Bureau and usually cover a contiguous area. The census tract level currently represents the - smallest geographical unit for which publicly-available and nationally-consistent datasets can - be consistently displayed on the tool. + This tool identifies communities that are marginalized, underserved, and overburdened by pollution. These communities are located in census tracts that are at or above the thresholds in one or more of eight categories of criteria. `, - description: 'cites the definition and helpful information about census groups', + description: `Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show Things to know, this is the first paragraph of this side panel`, + }, + PARA2: { + id: 'explore.tool.page.side.panel.info.para2', + defaultMessage: ` + The tool uses census tracts that represent about 4,000 people, which is the smallest unit of geography for which consistent data can be displayed on the tool. + `, + description: `Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show Things to know, this is the second paragraph of this side panel`, + }, + PARA3: { + id: 'explore.tool.page.side.panel.info.para3', + defaultMessage: ` + The tool ranks each census tract using percentiles that show how much burden each tract experiences relative to all other tracts, for each criteria. + `, + description: `Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show Things to know, this is the third paragraph of this side panel`, + }, + PARA4: { + id: 'explore.tool.page.side.panel.info.para4', + defaultMessage: ` + Percentages are used for certain variables, i.e. those relating to high school achievement rate and to the share of individuals not currently enrolled in higher education. + `, + description: `Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show Things to know, this is the forth paragraph of this side panel`, + }, + ALT_TEXT_ICON1: { + id: 'explore.tool.page.side.panel.info.alt.text.icon1', + defaultMessage: ` + An icon that has depicts pieces of a block selected mimicing the census block census tracts + `, + description: `Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show Things to know, this is the first icon in this side panel`, + }, + ALT_TEXT_ICON2: { + id: 'explore.tool.page.side.panel.info.alt.text.icon2', + defaultMessage: ` + An icon that a bell curve or gaussian distribution + `, + description: `Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show Things to know, this is the second icon in this side panel`, + }, + ALT_TEXT_ICON3: { + id: 'explore.tool.page.side.panel.info.alt.text.icon3', + defaultMessage: ` + An icon that depicts a part of pie chart being removed + `, + description: `Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show Things to know, this is the third icon in this side panel`, + }, + ALT_TEXT_ICON4: { + id: 'explore.tool.page.side.panel.info.alt.text.icon4', + defaultMessage: ` + An icon that has an up arrow and a down arrow + `, + description: `Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show Things to know, this is the forth icon in this side panel`, }, }); +export const SIDE_PANEL_INITIAL_STATE_PARA5 = ; + export const SIDE_PANEL_VERION = { TITLE: , }} />, }; export const SIDE_PANEL_CBG_INFO = defineMessages({ CENSUS_BLOCK_GROUP: { - id: 'areaDetail.geographicInfo.censusBlockGroup', + id: 'explore.tool.page.side.panel.geographicInfo.censusBlockGroup', defaultMessage: 'Census tract:', - description: 'the census tract id number of the feature selected', + description: `Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show the census tract id number of the feature selected`, }, COUNTY: { - id: 'areaDetail.geographicInfo.county', + id: 'explore.tool.page.side.panel.geographicInfo.county', defaultMessage: 'County:', - description: 'the county of the feature selected', + description: `Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show the county of the feature selected`, }, STATE: { - id: 'areaDetail.geographicInfo.state', + id: 'explore.tool.page.side.panel.geographicInfo.state', defaultMessage: 'State: ', - description: 'the state of the feature selected', + description: `Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show the state of the feature selected`, }, TERRITORY: { - id: 'areaDetail.geographicInfo.territory', + id: 'explore.tool.page.side.panel.geographicInfo.territory', defaultMessage: 'Territory: ', - description: 'the territory of the feature selected', + description: `Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show the territory of the feature selected`, }, POPULATION: { - id: 'areaDetail.geographicInfo.population', + id: 'explore.tool.page.side.panel.geographicInfo.population', defaultMessage: 'Population:', - description: 'the population of the feature selected', + description: `Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show the population of the feature selected`, }, }); export const COMMUNITY = { OF_FOCUS: , NOT_OF_FOCUS: , IS_FOCUS: , SEND_FEEDBACK: { TITLE: , }, }; +export const numberOfCategoriesExceeded = (categoryCount:number) => , + }} +/>; + +export const numberOfThresholdsExceeded = (thresholds:number) => , + }} +/>; + export const SEND_FEEDBACK = defineMessages({ EMAIL_BODY: { - id: 'areaDetail.categorization.send.feedback.email.body', - // eslint-disable-next-line max-len + id: 'explore.tool.page.side.panel.send.feedback.email.body', defaultMessage: `Please provide feedback about this census tract, including about the datasets, the data categories provided for this census tract, the communities who live in this census tract, and anything else relevant that CEQ should know about this census tract. `, - description: 'link to send feedback', + description: `Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show link to send feedback +`, }, }); export const SIDE_PANEL_CATEGORY = defineMessages({ INDICATOR: { - id: 'areaDetail.category.header.indicator', + id: 'explore.tool.page.side.panel.category.header.indicator', defaultMessage: 'Indicator', - description: 'header for each category', + description: `Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show header for each category +`, }, PERCENTILE: { - id: 'areaDetail.category.header.percentile', + id: 'explore.tool.page.side.panel.category.header.percentile', defaultMessage: 'Percentile (0-100)', - description: 'header for each category', + description: `Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show header for each category +`, }, CLIMATE: { - id: 'areaDetail.indicator.title.climate', + id: 'explore.tool.page.side.panel.indicator.title.climate', defaultMessage: 'Climate change', - description: 'Climate change title', + description: `Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show Climate change title +`, }, CLEAN_ENERGY: { - id: 'areaDetail.indicator.title.clean.energy', + id: 'explore.tool.page.side.panel.indicator.title.clean.energy', defaultMessage: 'Clean energy and energy efficiency', - description: 'Clean, efficient energy title', + description: `Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show Clean, efficient energy title +`, }, CLEAN_TRANSPORT: { - id: 'areaDetail.indicator.title.clean.transport', - defaultMessage: 'Clean transportation', - description: 'Clean transportation title', + id: 'explore.tool.page.side.panel.indicator.title.clean.transport', + defaultMessage: 'Clean transit', + description: `Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show Clean transportation title +`, }, SUSTAIN_HOUSE: { - id: 'areaDetail.indicator.title.sustain.house', + id: 'explore.tool.page.side.panel.indicator.title.sustain.house', defaultMessage: 'Sustainable housing', - description: 'Sustainable housing title', + description: `Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show Sustainable housing title +`, }, LEG_POLLUTE: { - id: 'areaDetail.indicator.title.legacy.pollution', + id: 'explore.tool.page.side.panel.indicator.title.legacy.pollution', defaultMessage: 'Legacy pollution', - description: 'Legacy pollution title', + description: `Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show Legacy pollution title +`, }, CLEAN_WATER: { - id: 'areaDetail.indicator.title.clean.water', + id: 'explore.tool.page.side.panel.indicator.title.clean.water', defaultMessage: 'Clean water and waste infrastructure', - description: 'Clean water and waste title', + description: `Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show Clean water and waste title +`, }, HEALTH_BURDEN: { - id: 'areaDetail.indicator.title.health.burden', + id: 'explore.tool.page.side.panel.indicator.title.health.burden', defaultMessage: 'Health burdens', - description: 'Health burdens title', + description: `Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show Health burdens title +`, }, WORK_DEV: { - id: 'areaDetail.indicator.title.work.dev', + id: 'explore.tool.page.side.panel.indicator.title.work.dev', defaultMessage: 'Workforce development', - description: 'Workforce development title', + description: `Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show Workforce development title +`, }, }); export const SIDE_PANEL_INDICATORS = defineMessages({ EXP_AG_LOSS: { - id: 'areaDetail.indicator.exp.ag.loss', + id: 'explore.tool.page.side.panel.indicator.exp.ag.loss', defaultMessage: 'Expected agriculture loss rate', - description: 'agriculture loss rate', + description: `Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show agriculture loss rate +`, }, EXP_BLD_LOSS: { - id: 'areaDetail.indicator.exp.bld.loss', + id: 'explore.tool.page.side.panel.indicator.exp.bld.loss', defaultMessage: 'Expected building loss rate', - description: 'building loss rate', + description: `Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show building loss rate +`, }, EXP_POP_LOSS: { - id: 'areaDetail.indicator.exp.pop.loss', + id: 'explore.tool.page.side.panel.indicator.exp.pop.loss', defaultMessage: 'Expected population loss rate', - description: 'population loss rate', + description: `Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show population loss rate +`, }, LOW_INCOME: { - id: 'areaDetail.indicator.low.income', + id: 'explore.tool.page.side.panel.indicator.low.income', defaultMessage: 'Low income', - description: 'low income', - }, + description: `Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show low income`}, HIGH_ED: { - id: 'areaDetail.indicator.high.ed', - defaultMessage: 'Higher ed enrollment rate', - description: 'Higher ed degree achievement rate', + id: 'explore.tool.page.side.panel.indicator.high.ed', + defaultMessage: 'Higher education non-enrollement', + description: `Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show Higher ed degree achievement rate +`, }, ENERGY_BURDEN: { - id: 'areaDetail.indicator.energyBurden', + id: 'explore.tool.page.side.panel.indicator.energyBurden', defaultMessage: 'Energy burden', - description: 'Average annual energy cost ($) divided by household income', + description: `Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show Energy burden`, }, PM_2_5: { - id: 'areaDetail.indicator.pm25', + id: 'explore.tool.page.side.panel.indicator.pm25', defaultMessage: 'PM2.5 in the air', - description: 'Fine inhalable particles, with diameters that are generally 2.5 micrometers and smaller', + description: `Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show PM2.5 in the air`, }, DIESEL_PARTICULATE_MATTER: { - id: 'areaDetail.indicator.dieselPartMatter', + id: 'explore.tool.page.side.panel.indicator.dieselPartMatter', defaultMessage: 'Diesel particulate matter exposure', - description: 'Diesel particulate matter level in air', + description: `Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show Diesel particulate matter exposure`, }, TRAFFIC_VOLUME: { - id: 'areaDetail.indicator.trafficVolume', + id: 'explore.tool.page.side.panel.indicator.trafficVolume', defaultMessage: 'Traffic proximity and volume', - description: 'Count of vehicles (average annual daily traffic) at major roads within 500 meters,' + - ' divided by distance in meters', + description: `Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show Traffic proximity and volume`, }, LEAD_PAINT: { - id: 'areaDetail.indicator.leadPaint', + id: 'explore.tool.page.side.panel.indicator.leadPaint', defaultMessage: 'Lead paint', - description: 'Housing units built pre-1960, used as an indicator of potential'+ - ' lead paint exposure in homes', + description: `Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show Lead paint`, }, MED_HOME_VAL: { - id: 'areaDetail.indicator.med.home.val', + id: 'explore.tool.page.side.panel.indicator.med.home.val', defaultMessage: 'Median home value', - description: 'Median home value of owner-occupied housing units in the area.', + description: `Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show Housing cost burden`, }, HOUSE_BURDEN: { - id: 'areaDetail.indicator.houseBurden', + id: 'explore.tool.page.side.panel.indicator.houseBurden', defaultMessage: 'Housing cost burden', - description: 'People ages 18 and up who report having been told by a doctor,' + - ' nurse, or other health professionals that they have diabetes other than diabetes during pregnancy', + description: `Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show Housing cost burden`, }, PROX_HAZ: { - id: 'areaDetail.indicator.prox.haz', + id: 'explore.tool.page.side.panel.indicator.prox.haz', defaultMessage: 'Proximity to hazardous waste facilities', - description: 'Count of hazardous waste facilities ', + description: `Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show Proximity to hazardous waste facilities`, }, PROX_NPL: { - id: 'areaDetail.indicator.prox.npl', - defaultMessage: 'Proximity to NPL sites', - description: 'Count of proposed or listed NPL ', + id: 'explore.tool.page.side.panel.indicator.prox.npl', + defaultMessage: 'Proximity to National Priorities List (NPL) sites', + description: `Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show Count of proposed or listed NPL `, }, PROX_RMP: { - id: 'areaDetail.indicator.prox.rmp', - defaultMessage: 'Proximity to RMP facilities', - description: 'Count of proposed or listed RMP', + id: 'explore.tool.page.side.panel.indicator.prox.rmp', + defaultMessage: 'Proximity to Risk Management Plan (RMP) facilities', + description: `Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show Count of proposed or listed RMP`, }, WASTE_WATER: { - id: 'areaDetail.indicator.wasteWater', + id: 'explore.tool.page.side.panel.indicator.wasteWater', defaultMessage: 'Wastewater discharge', - description: 'Toxic concentrations at stream segments within 500 meters divided by distance in' + - ' kilometers', + description: `Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show Wastewater discharge`, }, ASTHMA: { - id: 'areaDetail.indicator.asthma', + id: 'explore.tool.page.side.panel.indicator.asthma', defaultMessage: 'Asthma', - description: 'have asthma or been diagnosed by a doctor to have asthma', + description: `Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show Asthma`, }, DIABETES: { - id: 'areaDetail.indicator.diabetes', + id: 'explore.tool.page.side.panel.indicator.diabetes', defaultMessage: 'Diabetes', - description: 'diabetes from dr or nurse', + description: `Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show Diabetes`, }, HEART_DISEASE: { - id: 'areaDetail.indicator.heartDisease', + id: 'explore.tool.page.side.panel.indicator.heartDisease', defaultMessage: 'Heart disease', - description: 'People ages 18 and up who report ever having been told by a' + - 'doctor, nurse, or other health professionals that they had angina or coronary heart disease', + description: `Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show Heart disease`, }, LIFE_EXPECT: { - id: 'areaDetail.indicator.lifeExpect', + id: 'explore.tool.page.side.panel.indicator.lifeExpect', defaultMessage: 'Low life expectancy', - description: 'Estimated years of life expectancy', + description: `Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show Low life expectancy`, }, LOW_MED_INC: { - id: 'areaDetail.indicator.low.med.income', + id: 'explore.tool.page.side.panel.indicator.low.med.income', defaultMessage: 'Low median income', - description: 'Low median income', + description: `Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show Low median income`, }, LING_ISO: { - id: 'areaDetail.indicator.ling.iso', + id: 'explore.tool.page.side.panel.indicator.ling.iso', defaultMessage: 'Linguistic isolation', - description: 'Linguistic isolation', + description: `Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show Linguistic isolation`, }, UNEMPLOY: { - id: 'areaDetail.indicator.unemploy', + id: 'explore.tool.page.side.panel.indicator.unemploy', defaultMessage: 'Unemployment', - description: 'Unemployment', + description: `Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show Unemployment`, }, POVERTY: { - id: 'areaDetail.indicator.poverty', + id: 'explore.tool.page.side.panel.indicator.poverty', defaultMessage: 'Poverty', - description: 'Unemployment', + description: `Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show Unemployment`, }, HIGH_SCL: { - id: 'areaDetail.indicator.high.school', - defaultMessage: 'High school degree attainment rate', - description: 'High school degree achievement rate', + id: 'explore.tool.page.side.panel.indicator.high.school', + defaultMessage: 'High school degree non-attainment', + description: `Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show High school degree achievement rate`, }, }); +export const SIDE_PANEL_VALUES = { + ABOVE: , + BELOW: , + PERCENT: , + PERCENTILE: , + IMG_ALT_TEXT: defineMessages({ + ARROW_UP: { + id: 'explore.page.side.panel.indicator.value.arrow.up.alt.text', + description: 'image alt text for the up arrow', + defaultMessage: `an icon for the up arrow`, + }, + ARROW_DOWN: { + id: 'explore.page.side.panel.indicator.value.arrow.down.alt.text', + description: 'image alt text for the down arrow', + defaultMessage: `an icon for the down arrow`, + }, + UNAVAILABLE: { + id: 'explore.page.side.panel.indicator.value.unavailable.alt.text', + description: 'image alt text for unavailable icon', + defaultMessage: `an icon to represent data is unavailable`, + }, + }), + UNAVAILBLE_MSG: , +}; + export const SIDE_PANEL_INDICATOR_DESCRIPTION = defineMessages({ EXP_AG_LOSS: { - id: 'areaDetail.indicator.description.exp.ag.loss', - defaultMessage: 'Economic loss rate to agriculture resulting from natural hazards', - description: 'Economic loss rate to agriculture resulting from natural hazards', + id: 'explore.tool.page.side.panel.indicator.description.exp.ag.loss', + defaultMessage: 'Economic loss rate to agricultural value resulting from natural hazards each year', + description: `Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show an indicator desciption of Economic loss rate to agriculture resulting from naturhazards + `, }, EXP_BLD_LOSS: { - id: 'areaDetail.indicator.description.exp.bld.loss', - defaultMessage: 'Economic loss rate to buildings resulting from natural hazards', - description: 'Economic loss rate to buildings resulting from natural hazards', + id: 'explore.tool.page.side.panel.indicator.description.exp.bld.loss', + defaultMessage: 'Economic loss rate to agricultural value resulting from natural hazards each year', + description: `Navigate to the explore the tool page. When the map is in view, click on the map. The side + panel will show an indicator desciption of Economic loss rate to buildings resulting from natural hazards`, }, EXP_POP_LOSS: { - id: 'areaDetail.indicator.description.exp.pop.loss', + id: 'explore.tool.page.side.panel.indicator.description.exp.pop.loss', defaultMessage: ` Rate of fatalities and injuries resulting from natural hazards each year `, - description: 'Economic loss rate to the population in fatalities and injuries resulting from natural hazards', + description: `Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show an indicator desciption of Economic loss rate to the population in fatalities and + injuries resulting from natural hazards`, }, LOW_INCOME: { - id: 'areaDetail.indicator.description.low.income', + id: 'explore.tool.page.side.panel.indicator.description.low.income', defaultMessage: ` Household income is less than or equal to twice the federal poverty level `, - description: 'Household income is less than or equal to twice the federal poverty level', + description: `Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show an indicator desciption of Household income is less than or equal to twice the federal poverty level`, }, HIGH_ED: { - id: 'areaDetail.indicator.description.high.ed', + id: 'explore.tool.page.side.panel.indicator.description.high.ed', defaultMessage: ` - Percent of population enrolled in college, university, or graduate school + Percent of the census tract's population 15 or older not enrolled in college, university, or + graduate school `, - description: 'Percent of people ages 25 years or older whose education level is less than a high school diploma', + description: `Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show an indicator desciption of Percent of the census tract's population 15 or older not + enrolled in college, university, or graduate school`, }, ENERGY_BURDEN: { - id: 'areaDetail.indicator.description.energyBurden', + id: 'explore.tool.page.side.panel.indicator.description.energyBurden', defaultMessage: 'Average annual energy costs divided by household income', - description: 'Energy costs divided by household income', + description: `Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show an indicator desciption of Energy costs divided by household income`, }, PM_2_5: { - id: 'areaDetail.indicator.description.pm25', - defaultMessage: 'Fine inhalable particles, 2.5 micrometers and smaller', - description: 'Fine inhalable particles, 2.5 micrometers and smaller', + id: 'explore.tool.page.side.panel.indicator.description.pm25', + defaultMessage: 'Fine inhalable particles, 2.5 micrometers or smaller', + description: `Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show an indicator desciption of Fine inhalable particles, 2.5 micrometers and smaller`, }, DIESEL_PARTICULATE_MATTER: { - id: 'areaDetail.indicator.description.dieselPartMatter', + id: 'explore.tool.page.side.panel.indicator.description.dieselPartMatter', defaultMessage: 'Diesel exhaust in the air', - description: 'Diesel exhaust in the air', + description: `Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show an indicator desciption of Diesel exhaust in the air`, }, TRAFFIC_VOLUME: { - id: 'areaDetail.indicator.description.trafficVolume', + id: 'explore.tool.page.side.panel.indicator.description.trafficVolume', defaultMessage: 'Count of vehicles at major roads within 500 meters', - description: 'Count of vehicles at major roads within 500 meters', + description: `Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show an indicator desciption of Count of vehicles at major roads within 500 meters`, }, LEAD_PAINT: { - id: 'areaDetail.indicator.description.leadPaint', + id: 'explore.tool.page.side.panel.indicator.description.leadPaint', defaultMessage: ` Percentile of number of homes built before 1960 that are not among the most expensive `, - description: 'Pre-1960 housing', + description: `Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show an indicator desciption of Pre-1960 housing`, }, MED_HOME_VAL: { - id: 'areaDetail.indicator.description.med.home.val', + id: 'explore.tool.page.side.panel.indicator.description.med.home.val', defaultMessage: 'Median home value in area', - description: 'Meidan home value in area', + description: `Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show an indicator desciption of Meidan home value in area`, }, HOUSE_BURDEN: { - id: 'areaDetail.indicator.description.houseBurden', + id: 'explore.tool.page.side.panel.indicator.description.houseBurden', defaultMessage: 'Low income households spending more than 30% of income on housing', - description: 'Low income households spending more than 30% of income on housing', + description: `Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show an indicator desciption of Low income households spending more than 30% of income housing + `, }, PROX_HAZ: { - id: 'areaDetail.indicator.description.prox.haz', + id: 'explore.tool.page.side.panel.indicator.description.prox.haz', defaultMessage: 'Count of hazardous waste facilities within 5 kilometers', - description: 'Count of hazardous waste facilities within 5 kilometers', + description: `Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show an indicator desciption of Count of hazardous waste facilities within 5 kilometers`, }, PROX_NPL: { - id: 'areaDetail.indicator.description.prox.npl', + id: 'explore.tool.page.side.panel.indicator.description.prox.npl', defaultMessage: 'Proposed or listed NPL (Superfund) sites within 5 kilometers', - description: 'Proposed or listed NPL (Superfund) sites within 5 kilometers', + description: `Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show an indicator desciption of Proposed or listed NPL (Superfund) sites within 5 kilometers`, }, PROX_RMP: { - id: 'areaDetail.indicator.description.prox.rmp', - defaultMessage: 'Risk Management Plan facilities within 5 kilometers', - description: 'Risk Management Plan facilities within 5 kilometers', + id: 'explore.tool.page.side.panel.indicator.description.prox.rmp', + defaultMessage: 'RMP facilities within 5 kilometers', + description: `Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show an indicator desciption of Risk Management Plan facilities within 5 kilometers`, }, WASTE_WATER: { - id: 'areaDetail.indicator.description.wasteWater', + id: 'explore.tool.page.side.panel.indicator.description.wasteWater', defaultMessage: 'Toxic concentrations at stream segments within 500 meters', - description: 'Toxic concentrations at stream segments within 500 meters', + description: `Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show an indicator desciption of Toxic concentrations at stream segments within 500 meters`, }, ASTHMA: { - id: 'areaDetail.indicator.description.asthma', + id: 'explore.tool.page.side.panel.indicator.description.asthma', defaultMessage: 'Weighted percent of people who have been told they have asthma', - description: 'Number of people who have been told they have asthma', + description: `Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show an indicator desciption of Number of people who have been told they have asthma`, }, DIABETES: { - id: 'areaDetail.indicator.description.diabetes', + id: 'explore.tool.page.side.panel.indicator.description.diabetes', defaultMessage: ` Weighted percent of people ages 18 years and older who have diabetes other than diabetes during pregnancy `, - description: 'People ages 18 years and older who have diabetes other than diabetes during pregnancy', + description: `Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show an indicator desciption of People ages 18 years and older who have diabetes other than + diabetes during pregnancy`, }, HEART_DISEASE: { - id: 'areaDetail.indicator.description.heartDisease', + id: 'explore.tool.page.side.panel.indicator.description.heartDisease', defaultMessage: ` - Weighted percent of people ages 18 years and older who have been told they have heart disease + Navigate to the explore the tool page. When the map is in view, click on the map. The side panel + will show an indicator desciption of Weighted percent of people ages 18 years and older who have + been told they have heart disease `, - description: 'People ages 18 years and older who have been told they have heart disease', + description: `People ages 18 years and older who have been told they have heart disease`, }, LOW_LIFE_EXPECT: { - id: 'areaDetail.indicator.description.lifeExpect', + id: 'explore.tool.page.side.panel.indicator.description.lifeExpect', defaultMessage: 'Average number of years a person can expect to live', - description: 'Average number of years of life a person can expect to live', + description: `Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show an indicator desciption of Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show an indicator desciption of Average number of years of life a person can expect to live`, }, LOW_MED_INCOME: { - id: 'areaDetail.indicator.description.low.med.income', + id: 'explore.tool.page.side.panel.indicator.description.low.med.income', defaultMessage: 'Median income calculated as a percent of the area’s median income', - description: 'Median income calculated as a percent of the area’s median income', + description: `Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show an indicator desciption of Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show an indicator desciption of Median income calculated as a percent of the area’s median income`, }, LING_ISO: { - id: 'areaDetail.indicator.description.ling.iso', + id: 'explore.tool.page.side.panel.indicator.description.ling.iso', defaultMessage: ` Percent of households where no one over the age 14 speaks English well `, - description: `Households in which no one age 14 and over speaks English only or also speaks - a language other than English`, + description: `Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show an indicator desciption of Households in which no one age 14 and over speaks English only or also speaks a language other than English`, }, UNEMPLOY: { - id: 'areaDetail.indicator.description.unemploy', + id: 'explore.tool.page.side.panel.indicator.description.unemploy', defaultMessage: 'Number of unemployed people as a percentage of the labor force', - description: 'Number of unemployed people as a percentage of the labor force', + description: `Navigate to the explore the tool page. When the map is in view, click on the map. The side + panel will show an indicator desciption of Number of unemployed people as a percentage of the labor force`, }, POVERTY: { - id: 'areaDetail.indicator.description.poverty', + id: 'explore.tool.page.side.panel.indicator.description.poverty', defaultMessage: ` - Percent of a tract's population in households where the household income is at or below 100% of - the Federal poverty level + Percent of a census tract's population in households where the household income is at or below 100% + of the Federal poverty level `, - description: `Percent of individuals in households where the household income is at or - below 100% of the federal poverty level`, + description: `Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show an indicator desciption of Percent of individuals in households where the household income is at or below 100% of the federal poverty level`, }, HIGH_SKL: { - id: 'areaDetail.indicator.description.high.school', + id: 'explore.tool.page.side.panel.indicator.description.high.school', defaultMessage: ` - Proportion of people ages 25 years or older whose education level is less than a high school diploma + Percent of people ages 25 years or older whose education level is less than a high school diploma `, - description: 'Percent of people ages 25 years or older whose education level is less than a high school diploma', + description: `Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show an indicator desciption of Percent of people ages 25 years or older whose education level + is less than a high school diploma`, }, }); +export const SIDE_PANEL_SPACERS = { + EXCEED_ONE_OR_MORE: , + EXCEED_BOTH_SOCIO: , + YES: , + NO: , + AND: , +}; + export const DOWNLOAD_DRAFT = { PARAGRAPH_1: Download the current list of communities and datasets used (ZIP file + will contain one .xlsx and one .csv, with a size of {downloadFileSize} unzipped). Last updated: {dateUpdated}. + `} + description={` + Navigate to the explore the tool page. Under the map, you will see a link that is placed below the + map that will download the data packet `} values={{ - downloadDraft: - - {`Download the current list`} - , - downloadDraftEs: - - {`Descargue la lista preliminar`} - , - dateUpdated: METHODOLOGY_COPY.DOWNLOAD_LAST_UPDATED, - dateUpdatedEs: METHODOLOGY_COPY.DOWNLOAD_LAST_UPDATED_ES, - downloadFileSize: METHODOLOGY_COPY.DOWNLOAD_FILE_SIZE, - }} - />, - PARAGRAPH_2: , + dateUpdated: , }} />, }; export const NOTE_ON_TERRITORIES = { INTRO: , PARA_1: Methodology & data page are used to identify disadvantaged communities in all fifty states and the District of Columbia. However, not all of these data sources are currently available for the U.S. territories. `} - description={`territories paragraph 1`} + description={`Navigate to the explore the tool page. Under the map, you will see territories paragraph 1`} values={{ - dataMethLink: Methodology & data, + link1: linkFn('/methodology', true, false), }} />, PARA_2: , PARA_3: , PARA_4: , }; export const NOTE_ON_TRIBAL_NATIONS = { INTRO: , PARA_1: Methodology & data page for more information). CEQ + is engaging in consultation and coordination with Tribal Nations on the beta version of the tool + to provide Tribal Nations with meaningful opportunities for input, consistent with CEQ’s + Action Plan for Consultation and Coordination with Tribal Nations, + President Biden’s Memorandum on Tribal Consultation and Strengthening + Nation-to-Nation Consultation, and Executive Order 13175 on Consulation and + Coordination With Indian Tribal Governments. `} - description={`tribal nations paragraph 1`} + description={`Navigate to the explore the tool page. Under the map, you will see tribal nations paragraph 1`} values={{ - dataMethLink: Methodology & data, - actionPlanTribalNation: , - bidenMemoNat2Nat: , - coordinateTribal: , + link1: linkFn('/methodology', true, false), + link2: linkFn(`https://www.whitehouse.gov/wp-content/uploads/2022/01/CEQ-Tribal-Consultation-Plan-04.26.2021.pdf`, false, true), + link3: linkFn(`https://www.whitehouse.gov/briefing-room/presidential-actions/2021/01/26/memorandum-on-tribal-consultation-and-strengthening-nation-to-nation-relationships/`, false, true), + link4: linkFn(`https://www.federalregister.gov/documents/2000/11/09/00-29003/consultation-and-coordination-with-indian-tribal-governments`, false, true), }} />, }; export const HOW_YOU_CAN_HELP_LIST_ITEMS = { HEADING: , LIST_ITEM_1: Methodology & data page and send feedback.`} values={{ - dataMeth: - - {'Methodology & data'} - , - dataMethEs: - - {'Metodología y datos'} - , + link1: linkFn('/methodology', true, false), }} />, LIST_ITEM_2: share your feedback.`} values={{ - shareFeedback: - , + link1: linkFn(`mailto:${COMMON_COPY.FEEDBACK_EMAIL}`, false, true), }} />, LIST_ITEM_3: federalregister.gov.`} values={{ - federalRegisterLink: - , + link1: linkFn(`https://www.federalregister.gov/d/2022-03920`, false, true), }} />, diff --git a/client/src/data/copy/methodology.tsx b/client/src/data/copy/methodology.tsx index 61449730..511224b1 100644 --- a/client/src/data/copy/methodology.tsx +++ b/client/src/data/copy/methodology.tsx @@ -1,18 +1,19 @@ +/* eslint-disable max-len */ import React from 'react'; import {defineMessages} from 'react-intl'; -import {FormattedMessage} from 'gatsby-plugin-intl'; -import LinkTypeWrapper from '../../components/LinkTypeWrapper'; +import {FormattedDate, FormattedMessage, FormattedNumber} from 'gatsby-plugin-intl'; +import {boldFn, linkFn, simpleLink} from './common'; export const PAGE = defineMessages({ TILE: { id: 'methodology.page.title.text', defaultMessage: 'Methodology & data', - description: 'methodology page title text', + description: 'Navigate to the methodology page. This is the methodology page title text', }, HEADING: { id: 'methodology.page.header.text', defaultMessage: 'Methodology', - description: 'methodology page header text', + description: 'Navigate to the methodology page. This is the methodology page header text', }, DESCRIPTION: { id: 'methodology.page.paragraph', @@ -24,7 +25,7 @@ export const PAGE = defineMessages({ years. This tool utilizes the census tract boundaries from 2010 because they match the datasets used in the tool. The U.S. Census Bureau will update these census tract boundaries in 2020. `, - description: 'methodology page paragraph', + description: 'Navigate to the methodology page. This is the methodology page paragraph', }, CATEGORY_TEXT: { id: 'methodology.page.categories.title', @@ -33,7 +34,7 @@ export const PAGE = defineMessages({ the Justice40 Initiative if they are located in census tracts that are at or above the thresholds in one or more of eight categories of criteria below. `, - description: 'methodology page explanation of the categories', + description: 'Navigate to the methodology page. This is the methodology page explanation of the categories', }, }); @@ -46,46 +47,34 @@ export const FORMULA = { Under the current formula, a census tract will be identified as disadvantaged in one or more categories of criteria: `} - description={'methodology page introducing the formula'} - values={{ - identifiedDis: identified as disadvantaged, - }} + description={'Navigate to the methodology page. This is the methodology page introducing the formula'} />, IF: IF the census tract is above the threshold for one or more environmental or climate indicators `} - description={'the first part of the formula used in the methodology'} + description={'Navigate to the methodology page. This is the first part of the formula used in the methodology'} values= {{ - if: IF, + boldtag: boldFn, }} />, AND: AND the census tract is above the threshold for the socioeconomic indicators `} - description={'the second part of the formula used in the methodology'} + description={'Navigate to the methodology page. This is the second part of the formula used in the methodology'} values= {{ - and: AND, - }} - />, - THEN: THEN, + boldtag: boldFn, }} />, }; // Download Package -export const DOWNLOAD_FILE_SIZE = '52MB unzipped'; -export const DOWNLOAD_LAST_UPDATED = '2/18/22'; -export const DOWNLOAD_LAST_UPDATED_ES = '18/2/22'; -export const VERSION_NUMBER = '0.1'; +export const DOWNLOAD_FILE_SIZE = 52; +export const DOWNLOAD_LAST_UPDATED = 1645180697000; +export const VERSION_NUMBER = 0.1; export const DOWNLOAD_ZIP_URL = [ process.env.GATSBY_CDN_TILES_BASE_URL, @@ -95,72 +84,64 @@ export const DOWNLOAD_ZIP_URL = [ export const DOWNLOAD_PACKAGE = { TITLE: , + downloadFileSize: , }} />, DESCRIPTION: , }} />, LAST_UPDATED: , }} />, BUTTON_TEXT: , }; - -// Low Income section -export const LOW_INCOME = defineMessages({ - HEADING: { - id: 'low.income.heading', - defaultMessage: 'Low Income', - description: 'title of section describing low income', - }, - INFO: { - id: 'low.income.info', - defaultMessage: ` - At or above 65th percentile for percent of census tract population of households where household - income is at or below 200% of the Federal poverty level - `, - description: 'description of low income', - }, -}); - export const CATEGORY= { HEADING: , ID_AS_DISADV_TEXT: identified as disadvantaged `} - description= {'category heading'} + description= {'Navigate to the methodology page. Navigate to the category section. This is category heading'} values={{ - idAsDisadv: identified as disadvantaged, + boldtag: boldFn, }} />, }; @@ -168,28 +149,26 @@ export const CATEGORY= { // Category AND Clause: export const CATEGORY_AND_CLAUSE = { LOW_INC_65_WHEN_HIGH_ED_LTE_20: AND is above the 65th percentile for low income AND 80% or more of adults 15 or older are not enrolled in higher education `} - description= {'and portion of the formula dealing with lower income and high school degree rate'} + description= {'Navigate to the methodology page. Navigate to the category section. This is category portion of the formula dealing with lower income and high school degree rate'} values= {{ - and: AND, - lowIncome: low income, - highEdEnrollRate: higher ed enrollment rate, + boldtag: boldFn, + link1: simpleLink('#low-income'), + link2: simpleLink('#high-ed-enroll-rate'), }} />, HS_DEG_90_WHEN_HIGH_ED_LTE_20: AND 10% or more of adults 25 or older have not attained a high school degree AND 80% or more of adults 15 or older are not enrolled in higher education `} - description= {'and portion of the formula dealing with higher ed enrollment and high school degree rate'} + description= {'Navigate to the methodology page. Navigate to the category section. This is the portion of the formula dealing with higher ed enrollment and high school degree rate'} values= {{ - and: AND, - highSchoolRate: high school degree attainment rate, - highEdEnrollRate: higher ed enrollment rate, + boldtag: boldFn, + link1: simpleLink('#high-school'), + link2: simpleLink('#high-ed-enroll-rate'), }} />, }; @@ -197,352 +176,271 @@ export const CATEGORY_AND_CLAUSE = { // Indicator Categories copy constants: export const CATEGORIES = { ALL: , ALL_EXCEPT_WORKFORCE: , CLIMATE_CHANGE: { METHODOLOGY: , TITLE: , IF: IF at or above the 90th percentile for expected agriculture loss rate OR expected building loss rate OR expected population loss rate`} + description= {'Navigate to the methodology page. Navigate to the category section. This will set the if portion of the formula'} values= {{ - if: IF, - expAgrLossRate: expected agriculture loss rate, - expbuildLossRate: expected building loss rate, - expPopLossRate: expected population loss rate, + boldtag: boldFn, + link1: simpleLink('#exp-agr-loss-rate'), + link2: simpleLink('#exp-bld-loss-rate'), + link3: simpleLink('#exp-pop-loss-rate'), }} />, AND: CATEGORY_AND_CLAUSE.LOW_INC_65_WHEN_HIGH_ED_LTE_20, - // THEN: THEN, - // asterisk: *, - // }} - // />, }, CLEAN_ENERGY: { METHODOLOGY: , TITLE: , IF: IF at or above the 90th percentile for energy burden OR PM2.5 in the air`} + description= {'Navigate to the methodology page. Navigate to the category section. This will set the if if portion of the formula'} values= {{ - if: IF, - energyCostBur: energy burden, - pm25: PM2.5 in the air, + boldtag: boldFn, + link1: simpleLink('#energy-burden'), + link2: simpleLink('#pm-25'), }} />, AND: CATEGORY_AND_CLAUSE.LOW_INC_65_WHEN_HIGH_ED_LTE_20, - // THEN: THEN, - // asterisk: *, - // }} - // />, }, CLEAN_TRANSPORT: { METHODOLOGY: , TITLE: , IF: IF at or above the 90th percentile for diesel particulate matter exposure or traffic proximity and volume `} - description= {'if portion of the formula'} + description= {'Navigate to the methodology page. Navigate to the category section. This will set the if portion of the formula'} values= {{ - if: IF, - dieselPM: diesel particulate matter exposure, - traffic: traffic proximity and volume, + boldtag: boldFn, + link1: simpleLink('#diesel-pm'), + link2: simpleLink('#traffic-vol'), }} />, AND: CATEGORY_AND_CLAUSE.LOW_INC_65_WHEN_HIGH_ED_LTE_20, - // THEN: THEN, - // asterisk: *, - // }} - // />, }, AFFORDABLE_HOUSING: { METHODOLOGY: , TITLE: , IF: IF at or above the 90th percentile for lead paint AND median home value is at or less than the 90th percentile OR at or above the 90th percentile for the housing cost burden`} + description= {'Navigate to the methodology page. Navigate to the category section. This will set the if portion of the formula'} values= {{ - if: IF, - lead: lead paint, - medianHomeVal: median home value, - houseBur: housing cost burden, + boldtag: boldFn, + link1: simpleLink('#lead-paint'), + link2: simpleLink('#median-home'), + link3: simpleLink('#house-burden'), }} />, AND: CATEGORY_AND_CLAUSE.LOW_INC_65_WHEN_HIGH_ED_LTE_20, - // THEN: THEN, - // asterisk: *, - // }} - // />, }, LEGACY_POLLUTION: { METHODOLOGY: , TITLE: , IF: IF at or above the 90th percentile for proximity to hazardous waste facilities OR proximity to National Priorities List (NPL) sites OR proximity to Risk Management Plan (RMP) facilities`} + description= {'Navigate to the methodology page. Navigate to the category section. This will set the if portion of the formula'} values= {{ - if: IF, - proxHaz: proximity to hazardous waste facilities, - proxNPL: proximity to National Priorities List (NPL) sites, - proxRMP: proximity to Risk Management Plan (RMP) facilities, + boldtag: boldFn, + link1: simpleLink('#prox-haz'), + link2: simpleLink('#prox-npl'), + link3: simpleLink('#prox-rmp'), }} />, AND: CATEGORY_AND_CLAUSE.LOW_INC_65_WHEN_HIGH_ED_LTE_20, - // THEN: THEN, - // asterisk: *, - // }} - // />, }, CLEAN_WATER: { METHODOLOGY: , TITLE: , IF: IF at or above the 90th percentile for wastewater discharge`} + description= {'Navigate to the methodology page. Navigate to the category section. This will set the if portion of the formula'} values= {{ - if: IF, - wasteWater: wastewater discharge, + boldtag: boldFn, + link1: simpleLink('#waste-water'), }} />, AND: CATEGORY_AND_CLAUSE.LOW_INC_65_WHEN_HIGH_ED_LTE_20, - // THEN: THEN, - // asterisk: *, - // }} - // />, }, HEALTH_BURDENS: { METHODOLOGY: , TITLE: , IF: IF at or above the 90th percentile for asthma OR diabetes OR heart disease OR low life expectancy`} + description= {'Navigate to the methodology page. Navigate to the category section. This will set the if portion of the formula'} values= {{ - if: IF, - diabetes: diabetes, - asthma: asthma, - heart: heart disease, - life: low life expectancy, + boldtag: boldFn, + link1: simpleLink('#asthma'), + link2: simpleLink('#diabetes'), + link3: simpleLink('#heart-disease'), + link4: simpleLink('#life-exp'), }} />, AND: CATEGORY_AND_CLAUSE.LOW_INC_65_WHEN_HIGH_ED_LTE_20, - // THEN: THEN, - // asterisk: *, - // }} - // />, }, WORKFORCE_DEV: { METHODOLOGY: , TITLE: , IF: IF at or above the 90th percentile for low median income as a percentage of area median income OR linguistic isolation OR unemployment OR percent individuals in households at or below 100% Federal poverty level `} - description= {'if portion of the formula'} + description= {'Navigate to the methodology page. Navigate to the category section. This will set the if portion of the formula'} values= {{ - if: IF, - lowMedInc: low median income, - linIso: linguistic isolation, - unemploy: unemployment, - poverty: poverty, + boldtag: boldFn, + link1: simpleLink('#low-med-inc'), + link2: simpleLink('#ling-iso'), + link3: simpleLink('#unemploy'), + link4: simpleLink('#poverty'), }} />, AND: CATEGORY_AND_CLAUSE.HS_DEG_90_WHEN_HIGH_ED_LTE_20, - // THEN: THEN, - // asterisk: *, - // }} - // />, }, }; // Dataset section export const DATASETS = defineMessages({ HEADING: { - id: 'datasetContainer.heading', + id: 'methodology.page.datasetContainer.heading', defaultMessage: 'Datasets used in beta methodology', - description: 'section heading of which datasets are used in cumulative score', + description: 'Navigate to the Methodology page. This is the section heading of which datasets are used in cumulative score', }, INFO: { - id: 'datasetContainer.info', + id: 'methodology.page.datasetContainer.info', defaultMessage: ` The datasets used in the current version of the tool come from a variety of sources and were selected based on relevance, availability, and quality. The datasets seek to identify a range of human health, environmental, climate-related, and other impacts on communities. `, - description: 'description of the dataset section', + description: 'Navigate to the Methodology page. This is the description of the dataset section', }, ADDITIONAL_HEADING: { - id: 'datasetContainer.additional.heading', + id: 'methodology.page.datasetContainer.additional.heading', defaultMessage: 'Additional Indicators', - description: 'additional indicators heading', + description: 'Navigate to the Methodology page. This is the additional indicators heading', }, ADDITIONAL_INFO: { - id: 'datasetContainer.additional.info', + id: 'methodology.page.datasetContainer.additional.info', defaultMessage: 'These datasets provide additional information about each community.', - description: 'additional indicator info', + description: 'Navigate to the Methodology page. This is the additional indicator info', }, }); export const DATASET_CARD_LABELS = defineMessages({ USED_IN: { - id: 'datasetCard.used.in', + id: 'methodology.page.datasetCard.used.in', defaultMessage: 'Used in: ', - description: 'label associated with explaining the card', + description: 'Navigate to the Methodology page. This is the label associated with explaining the card', }, RESP_PARTY: { - id: 'datasetCard.responsible.party', + id: 'methodology.page.datasetCard.responsible.party', defaultMessage: 'Responsible Party: ', - description: 'label associated with explaining the card', + description: 'Navigate to the Methodology page. This is the label associated with explaining the card', }, DATE_RANGE: { - id: 'datasetCard.date.range', + id: 'methodology.page.datasetCard.date.range', defaultMessage: 'Date range: ', - description: 'label associated with explaining the card', + description: 'Navigate to the Methodology page. This is the label associated with explaining the card', }, SOURCE: { - id: 'datasetCard.source', + id: 'methodology.page.datasetCard.source', defaultMessage: 'Source: ', - description: 'label associated with source of the card', + description: 'Navigate to the Methodology page. This is the label associated with source of the card', }, AVAILABLE_FOR: { - id: 'datasetCard.available.for', + id: 'methodology.page.datasetCard.available.for', defaultMessage: 'Available for: ', - description: 'label associated with available for which regions of the card', + description: 'Navigate to the Methodology page. This is the label associated with available for which regions of the card', }, }); @@ -573,218 +471,132 @@ export const RESPONSIBLE_PARTIES = { export const SOURCE_LINKS = { CENSUS_ACS_15_19: American Community Survey from {date15_19}'} + description= {'Navigate to the Methodology page. This is the source link for Census ACS'} values= {{ - sourceCensusLink: - , + link1: linkFn('https://www.census.gov/programs-surveys/acs', false, true), date15_19: DATE_RANGE.FIFETEEN_PLUS_4, }} />, CENSUS_ACS_10: American Community Survey from {date10}'} + description= {'Navigate to the Methodology page. This is the source link for Census ACS'} values= {{ - sourceCensusLink: - , + link1: linkFn('https://www.census.gov/data/developers/data-sets/acs-5year/2010.html', false, true), date10: DATE_RANGE.TEN, }} />, FEMA_NRI: National Risk Index from {date14_21}`} + description= {'Navigate to the Methodology page. This is the source link for FEMA'} values={{ - sourceFemaLink: - , + link1: linkFn('https://hazards.fema.gov/nri/expected-annual-loss', false, true), date14_21: DATE_RANGE.FOURTEEN_PLUS_7, }} />, DOE_LEAD: LEAD Score from {date18}`} + description= {'Navigate to the Methodology page. This is the source link for DOE FEMA'} values={{ - sourceDoeLeadLink: - , + link1: linkFn('https://www.energy.gov/eere/slsc/low-income-energy-affordability-data-lead-tool', false, true), date18: DATE_RANGE.EIGHTEEN, }} />, EPA_OAR: Fusion of model and monitor data from {date17} as compiled by EPA’s EJSCREEN, sourced from EPA National Air Toxics Assessment (NATA) and the U.S. Department of Transportation (DOT) traffic data `} - description= {'source link for EPA OAR'} + description= {'Navigate to the Methodology page. This is the source link for EPA OAR'} values={{ - sourceEpaOarLink: - , + link1: linkFn('https://www.epa.gov/ejscreen/technical-documentation-ejscreen', false, true), date17: DATE_RANGE.SEVENTEEN, }} />, EPA_NATA: National Air Toxics Assessment (NATA) from {date14} as compiled by EPA's EJSCREEN`} + description= {'Navigate to the Methodology page. This is the source link for EPA NATA'} values={{ - sourceEpaOarLink: - , + link1: linkFn('https://www.epa.gov/ejscreen/technical-documentation-ejscreen', false, true), date14: DATE_RANGE.FOURTEEN, }} />, DOT_EPA: Traffic Data from {date17} as compiled by EPA's EJSCREEN`} + description= {'Navigate to the Methodology page. This is the source link for DOT EPA'} values={{ - sourceDotEpaLink: - , + link1: linkFn('https://www.epa.gov/ejscreen/technical-documentation-ejscreen', false, true), date17: DATE_RANGE.SEVENTEEN, }} />, HUD: Comprehensive Housing Affordability Strategy dataset from {date14_18}`} + description= {'Navigate to the Methodology page. This is the source link for HUD'} values={{ - sourceHudLink: - , + link1: linkFn('https://www.huduser.gov/portal/datasets/cp.html', false, true), date14_18: DATE_RANGE.FOURTEEN_PLUS_4, }} />, EPA_TSDF: Treatment, Storage, and Disposal Facilities (TSDF) data from {date20} calculated from EPA's RCRA database as compiled by EPA's EJSCREEN `} - description= {'source link for EPA TSDF'} + description= {'Navigate to the Methodology page. This is the source link for EPA TSDF'} values={{ - sourceEpaTsdfLink: - , + link1: linkFn('https://enviro.epa.gov/facts/rcrainfo/search.html', false, true), date20: DATE_RANGE.TWENTY, }} />, EPA_CERCLIS: CERCLIS database from {date20} as compiled by EPA’s EJSCREEN`} + description= {'Navigate to the Methodology page. This is the source link for EPA CERCLIS'} values={{ - sourceEpaCerclisLink: - , + link1: linkFn('https://enviro.epa.gov/facts/rcrainfo/search.html', false, true), date20: DATE_RANGE.TWENTY, }} />, EPA_RMP: RMP database from {date20} as compiled by EPA’s EJSCREEN`} + description= {'Navigate to the Methodology page. This is the source link for EPA RMP'} values={{ - sourceEpaRmpLink: - , + link1: linkFn('https://www.epa.gov/ejscreen/technical-documentation-ejscreen', false, true), date20: DATE_RANGE.TWENTY, }} />, EPA_RSEI: Risk-Screening Environmental Indicators (RSEI) Model from {date20} as compiled by EPA’s EJSCREEN`} + description= {'Navigate to the Methodology page. This is the source link for EPA RSEI'} values={{ - sourceEpaRseiLink: - , + link1: linkFn('https://www.epa.gov/ejscreen/technical-documentation-ejscreen', false, true), date20: DATE_RANGE.TWENTY, }} />, CDC_PLACES: PLACES data from {date16_19}`} + description= {'Navigate to the Methodology page. This is the source link for CDC Places'} values={{ - sourceCdcPlacesLink: - , + link1: linkFn('https://www.cdc.gov/places/index.html', false, true), date16_19: DATE_RANGE.SIXTEEN_PLUS_3, }} />, CDC_SLEEP: U.S. Small-area Life Expectancy Estimates Project (USALEEP) from {date10_15}`} + description= {'Navigate to the Methodology page. This is the source link for CDC Sleep'} values={{ - sourceCdcSleepLink: - , + link1: linkFn('https://www.cdc.gov/nchs/nvss/usaleep/usaleep.html#data', false, true), date10_15: DATE_RANGE.TEN_PLUS_5, }} />, @@ -798,12 +610,13 @@ export const AVAILABLE_FOR = { export interface IIndicators { domID: string, - indicator: string, - description: string, - usedIn: string, + indicator: JSX.Element, + description: JSX.Element, + note?: JSX.Element, + usedIn: JSX.Element, responsibleParty: string, sources: [ { - source: string, + source: JSX.Element, availableFor: string, }] }; @@ -811,14 +624,18 @@ export interface IIndicators { export const INDICATORS = [ { domID: 'low-income', - indicator: 'Low income', + indicator: , description: , usedIn: CATEGORIES.ALL_EXCEPT_WORKFORCE, responsibleParty: RESPONSIBLE_PARTIES.CENSUS, @@ -831,28 +648,36 @@ export const INDICATORS = [ }, { domID: 'high-ed-enroll-rate', - indicator: 'Higher ed enrollment rate', + indicator: , description: , usedIn: CATEGORIES.ALL, responsibleParty: RESPONSIBLE_PARTIES.CENSUS, sources: [ { source: SOURCE_LINKS.CENSUS_ACS_15_19, - availableFor: AVAILABLE_FOR.ALL_US_DC, + availableFor: AVAILABLE_FOR.ALL_US_DC_PR, }, ], }, { domID: 'exp-agr-loss-rate', - indicator: 'Expected agriculture loss rate', + indicator: , description: , usedIn: CATEGORIES.CLIMATE_CHANGE.METHODOLOGY, responsibleParty: RESPONSIBLE_PARTIES.FEMA, @@ -874,9 +699,13 @@ export const INDICATORS = [ }, { domID: 'exp-bld-loss-rate', - indicator: 'Expected building loss rate', + indicator: , description: , usedIn: CATEGORIES.CLIMATE_CHANGE.METHODOLOGY, responsibleParty: RESPONSIBLE_PARTIES.FEMA, @@ -897,9 +726,13 @@ export const INDICATORS = [ }, { domID: 'exp-pop-loss-rate', - indicator: 'Expected population loss rate', + indicator: , description: , usedIn: CATEGORIES.CLIMATE_CHANGE.METHODOLOGY, responsibleParty: RESPONSIBLE_PARTIES.FEMA, @@ -927,11 +760,15 @@ export const INDICATORS = [ }, { domID: 'energy-burden', - indicator: 'Energy burden', + indicator: , description: , usedIn: CATEGORIES.CLEAN_ENERGY.METHODOLOGY, responsibleParty: RESPONSIBLE_PARTIES.DOE, @@ -944,15 +781,19 @@ export const INDICATORS = [ }, { domID: 'pm-25', - indicator: 'PM2.5 in the air', + indicator: , description: , usedIn: CATEGORIES.CLEAN_ENERGY.METHODOLOGY, responsibleParty: RESPONSIBLE_PARTIES.EPA_OAR, @@ -965,14 +806,18 @@ export const INDICATORS = [ }, { domID: 'diesel-pm', - indicator: 'Diesel particulate matter exposure', + indicator: , description: , usedIn: CATEGORIES.CLEAN_TRANSPORT.METHODOLOGY, responsibleParty: RESPONSIBLE_PARTIES.EPA, @@ -985,14 +830,18 @@ export const INDICATORS = [ }, { domID: 'traffic-vol', - indicator: 'Traffic proximity and volume', + indicator: , description: , usedIn: CATEGORIES.CLEAN_TRANSPORT.METHODOLOGY, responsibleParty: RESPONSIBLE_PARTIES.DOT, @@ -1005,14 +854,18 @@ export const INDICATORS = [ }, { domID: 'house-burden', - indicator: 'Housing cost burden', + indicator: , description: , usedIn: CATEGORIES.AFFORDABLE_HOUSING.METHODOLOGY, responsibleParty: RESPONSIBLE_PARTIES.HUD, @@ -1025,14 +878,18 @@ export const INDICATORS = [ }, { domID: 'lead-paint', - indicator: 'Lead paint', + indicator: , description: , usedIn: CATEGORIES.AFFORDABLE_HOUSING.METHODOLOGY, responsibleParty: RESPONSIBLE_PARTIES.CENSUS, @@ -1045,13 +902,17 @@ export const INDICATORS = [ }, { domID: 'median-home', - indicator: 'Median home value', + indicator: , description: , usedIn: CATEGORIES.AFFORDABLE_HOUSING.METHODOLOGY, responsibleParty: RESPONSIBLE_PARTIES.CENSUS, @@ -1064,15 +925,19 @@ export const INDICATORS = [ }, { domID: 'prox-haz', - indicator: 'Proximity to hazardous waste facilities', + indicator: , description: , usedIn: CATEGORIES.LEGACY_POLLUTION.METHODOLOGY, responsibleParty: RESPONSIBLE_PARTIES.EPA, @@ -1085,14 +950,18 @@ export const INDICATORS = [ }, { domID: 'prox-npl', - indicator: 'Proximity to National Priorities List (NPL) sites', + indicator: , description: , usedIn: CATEGORIES.LEGACY_POLLUTION.METHODOLOGY, responsibleParty: RESPONSIBLE_PARTIES.EPA, @@ -1105,14 +974,18 @@ export const INDICATORS = [ }, { domID: 'prox-rmp', - indicator: 'Proximity to Risk Management Plan (RMP) facilities', + indicator: , description: , usedIn: CATEGORIES.LEGACY_POLLUTION.METHODOLOGY, responsibleParty: RESPONSIBLE_PARTIES.EPA, @@ -1125,14 +998,18 @@ export const INDICATORS = [ }, { domID: 'waste-water', - indicator: 'Wastewater discharge', + indicator: , description: , usedIn: CATEGORIES.CLEAN_WATER.METHODOLOGY, responsibleParty: RESPONSIBLE_PARTIES.EPA, @@ -1145,15 +1022,19 @@ export const INDICATORS = [ }, { domID: 'asthma', - indicator: 'Asthma', + indicator: , description: , usedIn: CATEGORIES.HEALTH_BURDENS.METHODOLOGY, responsibleParty: RESPONSIBLE_PARTIES.CDC, @@ -1166,15 +1047,19 @@ export const INDICATORS = [ }, { domID: 'diabetes', - indicator: 'Diabetes', + indicator: , description: , usedIn: CATEGORIES.HEALTH_BURDENS.METHODOLOGY, responsibleParty: RESPONSIBLE_PARTIES.CDC, @@ -1187,15 +1072,19 @@ export const INDICATORS = [ }, { domID: 'heart-disease', - indicator: 'Heart disease', + indicator: , description: , usedIn: CATEGORIES.HEALTH_BURDENS.METHODOLOGY, responsibleParty: RESPONSIBLE_PARTIES.CDC, @@ -1208,23 +1097,26 @@ export const INDICATORS = [ }, { domID: 'life-exp', - indicator: 'Low life expectancy', + indicator: , description: , + note: Note: The percentiles for this dataset have been reversed so that census tracts with lower numbers have higher life expectancies and the census tracts with higher numbers have lower life expectancy when compared to life expectancy in the area. + `} + description= {'Navigate to the Methodology page. This is the note text for low life expectancy'} values= {{ - note:

          Note:{` - Unlike most of the other datasets, high values of this data indicate low burdens. For - percentile calculations of burden, the percentile is calculated in reverse order, so that the - census tract with the highest life expectancy relative to area life expectancy (lowest burden - on this measure) is at the 0th percentile, and the census tract with the lowest life - expectancy relative to area life expectancy (highest burden on this measure) is at the - 100th percentile. Census tracts with the highest number have the lowest life expectancy. - `}

          , + boldtag: boldFn, }} />, usedIn: CATEGORIES.HEALTH_BURDENS.METHODOLOGY, @@ -1238,23 +1130,26 @@ export const INDICATORS = [ }, { domID: 'low-med-inc', - indicator: 'Low median income', + indicator: , description: , + note: Note: The percentiles for this dataset have been reversed so that census tracts with lower numbers have higher median incomes and census tracts with the higher numbers have lower median income when compared to area median income. + `} + description= {'Navigate to the Methodology page. This is the note text for low median expectancy'} values= {{ - note:

          Note:{` - Unlike most of the other datasets, high values of this data indicate low burdens. For - percentile calculations of burden, the percentile is calculated in reverse order, so that the - census tract with the highest median income relative to area median income (lowest burden on this - measure) is at the 0th percentile, and the census tract with the lowest median income relative to - area median income (highest burden on this measure) is at the 100th percentile. Census tracts with - the highest number have the lowest median income. - `}

          , + boldtag: boldFn, }} />, usedIn: CATEGORIES.WORKFORCE_DEV.METHODOLOGY, @@ -1272,13 +1167,17 @@ export const INDICATORS = [ }, { domID: 'ling-iso', - indicator: 'Linguistic isolation', + indicator: , description: , usedIn: CATEGORIES.WORKFORCE_DEV.METHODOLOGY, responsibleParty: RESPONSIBLE_PARTIES.CENSUS, @@ -1291,13 +1190,17 @@ export const INDICATORS = [ }, { domID: 'unemploy', - indicator: 'Unemployment', + indicator: , description: , usedIn: CATEGORIES.WORKFORCE_DEV.METHODOLOGY, responsibleParty: RESPONSIBLE_PARTIES.CENSUS, @@ -1314,14 +1217,18 @@ export const INDICATORS = [ }, { domID: 'poverty', - indicator: 'Poverty', + indicator: , description: , usedIn: CATEGORIES.WORKFORCE_DEV.METHODOLOGY, responsibleParty: RESPONSIBLE_PARTIES.CENSUS, @@ -1338,14 +1245,17 @@ export const INDICATORS = [ }, { domID: 'high-school', - indicator: 'High school degree attainment rate', + indicator: , description: , usedIn: CATEGORIES.WORKFORCE_DEV.METHODOLOGY, responsibleParty: RESPONSIBLE_PARTIES.CENSUS, @@ -1367,6 +1277,6 @@ export const RETURN_TO_TOP = { LINK: , }; diff --git a/client/src/data/copy/publicEngage.tsx b/client/src/data/copy/publicEngage.tsx index a0df64f8..c82fb448 100644 --- a/client/src/data/copy/publicEngage.tsx +++ b/client/src/data/copy/publicEngage.tsx @@ -1,56 +1,66 @@ +/* eslint-disable max-len */ import {defineMessages} from 'react-intl'; import mar9 from '../../images/eventDates/mar9.svg'; import mar10 from '../../images/eventDates/mar10.svg'; import mar16 from '../../images/eventDates/mar16.svg'; import mar22 from '../../images/eventDates/mar22.svg'; +import mar30 from '../../images/eventDates/mar30.svg'; +import mar31 from '../../images/eventDates/mar31.svg'; import apr15 from '../../images/eventDates/apr15.svg'; +import mar9Exp from '../../images/eventDates/mar9-inactive.svg'; +import mar10Exp from '../../images/eventDates/mar10-inactive.svg'; +import mar16Exp from '../../images/eventDates/mar16-inactive.svg'; +import mar22Exp from '../../images/eventDates/mar22-inactive.svg'; +import mar30Exp from '../../images/eventDates/mar30-inactive.svg'; +import mar31Exp from '../../images/eventDates/mar31-inactive.svg'; +import apr15Exp from '../../images/eventDates/apr15-inactive.svg'; export const PAGE_INTRO = defineMessages({ PAGE_TILE: { - id: 'publiceng.page.title.text', + id: 'public.eng.page.title.text', defaultMessage: 'Public engagement opportunities', - description: 'publiceng page title text', + description: 'Navigate to the the public engagement page, this will be the publiceng page title text', }, PAGE_HEADING1: { - id: 'publiceng.page.heading1.text', + id: 'public.eng.page.heading1.text', defaultMessage: 'Public engagement opportunities', - description: 'publiceng page header text', + description: 'Navigate to the the public engagement page, this will be the publiceng page header text', }, PAGE_HEADING2: { - id: 'publiceng.page.sub.header2.text', + id: 'public.eng.page.sub.header2.text', defaultMessage: 'Find an event', - description: 'publiceng page sub header text', + description: 'Navigate to the the public engagement page, this will be the publiceng page sub header text', }, PAGE_DESCRIPTION1: { - id: 'publiceng.page.description1.text', + id: 'public.eng.page.description1.text', defaultMessage: ` CEQ is hosting engagement opportunities to connect with the public about the current version of the tool. These sessions are an opportunity to obtain training on the tool or to provide feedback on the beta version of the tool. CEQ hopes that members of the public will join these engagements to learn about the tool, have their questions answered, and share feedback. `, - description: 'publiceng page description 1 text', + description: 'Navigate to the the public engagement page, this will be the publiceng page description 1 text', }, PAGE_DESCRIPTION2: { - id: 'publiceng.page.description2.text', + id: 'public.eng.page.description2.text', defaultMessage: ` Pre-registration is required to participate and speak at the sessions. `, - description: 'publiceng page description 2 text', + description: 'Navigate to the the public engagement page, this will be the publiceng page description 2 text', }, PAGE_DESCRIPTION3: { - id: 'publiceng.page.description3.text', + id: 'public.eng.page.description3.text', defaultMessage: ` As they become available, additional public trainings and engagement opportunities on the Climate and Economic Justice Screening Tool will also be posted on this page. `, - description: 'publiceng page description 3 text', + description: 'Navigate to the the public engagement page, this will be the publiceng page description 3 text', }, SURVEY_TEXT: { id: 'fab.survey.text', defaultMessage: `Help improve the site & data`, - description: 'text for floating action button', + description: 'Navigate to the the public engagement page, this will be the text for floating action button', }, }); @@ -58,12 +68,12 @@ export const PUBLIC_ENG_BUTTON = defineMessages({ LABEL: { id: 'public.eng.page.button.label', defaultMessage: `Public Engagement`, - description: 'public engagement button label', + description: 'Navigate to the the public engagement page, this will be the public engagement button label', }, TAG_LABEL: { id: 'public.eng.page.tag.label', - defaultMessage: `NEW`, - description: 'public engagement tag label', + defaultMessage: `UPDATED`, + description: 'Navigate to the the public engagement page, this will be the public engagement tag label', }, }); @@ -72,7 +82,7 @@ export const EVENT_TYPES = { NAME: { id: 'public.eng.page.event.training.sess.name', defaultMessage: `training session`, - description: 'public engagement page event training session name', + description: 'Navigate to the the public engagement page, this will be the public engagement page event training session name', }, DESCRIPTION: { id: 'public.eng.page.event.training.description', @@ -83,14 +93,14 @@ export const EVENT_TYPES = { use the current version of the tool. The presenters at these webinars will be available to provide technical support and address issues related to accessing and using the tool. `, - description: 'public engagement page event training session description', + description: 'Navigate to the the public engagement page, this will be the public engagement page event training session description', }, }), LISTENING_SESS: defineMessages({ NAME: { id: 'public.eng.page.event.listening.sess.name', defaultMessage: `listening session`, - description: 'public engagement page event listening session name', + description: 'Navigate to the the public engagement page, this will be the public engagement page event listening session name', }, DESCRIPTION: { id: 'public.eng.page.event.listening.sess.description', @@ -101,52 +111,82 @@ export const EVENT_TYPES = { tool to ensure that it reflects the environmental, climate and other challenges that communities are experiencing. `, - description: 'public engagement page event listening session description', + description: 'Navigate to the the public engagement page, this will be the public engagement page event listening session description', + }, + }), + WHEJAC_DAY1: defineMessages({ + NAME: { + id: 'public.eng.page.event.whejac.meeting.day.1.name', + defaultMessage: `Public WHEJAC meeting day one`, + description: 'public engagement page event WHEJAC meeting day 1 name', + }, + DESCRIPTION: { + id: 'public.eng.page.event.whejac.meeting.day.1.description', + defaultMessage: ` + Members of the public are encouraged to provide comments relevant to the beta version of the Climate and Economic Justice Screening Tool that was developed by CEQ and federal government agencies implementation of the Justice40 Initiative will be considered by the WHEJAC during the public meeting. + `, + description: 'public engagement page event WHEJAC day 1 description', + }, + }), + WHEJAC_DAY2: defineMessages({ + NAME: { + id: 'public.eng.page.event.whejac.meeting.day.2.name', + defaultMessage: `Public WHEJAC meeting day two`, + description: 'public engagement page event WHEJAC meeting day 2 name', + }, + DESCRIPTION: { + id: 'public.eng.page.event.whejac.meeting.day.2.description', + defaultMessage: ` + Members of the public are encouraged to attend and hear updates and discussion from the WHEJAC Climate and Economic Justice Screening Tool workgroup, the Justice40 workgroup, and the WHEJAC business time and meeting conversation during which the WHEJAC will use reflect on the meeting proceedings and public comment period; provide workgroup updates; discuss action items and finalize next steps. + `, + description: 'public engagement page event WHEJAC day 2 description', }, }), }; export const EVENT_FIELDS = defineMessages({ EVENT_INFO: { - id: 'publiceng.page.event.info.label', + id: 'public.eng.page.event.info.label', defaultMessage: 'Event info', - description: 'public engagement page event info label', + description: 'Navigate to the the public engagement page, this will be the public engagement page event info label', }, REG_LINK: { - id: 'publiceng.page.event.reglink.label', + id: 'public.eng.page.event.reglink.label', defaultMessage: 'Registration link', - description: 'public engagment page event registration link label', + description: 'Navigate to the the public engagement page, this will be the public engagment page event registration link label', }, }); export const EVENTS = [ { - DATE: new Date(2022, 9, 3), + DATE: new Date(2022, 2, 9), NAME: EVENT_TYPES.TRAINING_SESS.NAME, DESC: EVENT_TYPES.TRAINING_SESS.DESCRIPTION, NUMBER: 1, IMAGE: mar9, + EXPIRED_IMG: mar9Exp, FIELDS: defineMessages({ INFO: { id: 'public.eng.page.event.training.1.info', defaultMessage: `March 9th (4:00 - 5:00 PM EST)`, - description: 'public engagement page event training session 1 date', + description: 'Navigate to the the public engagement page, this will be the public engagement page event training session 1 date', }, }), REG_LINK: `https://pitc.zoomgov.com/webinar/register/WN_D-Om_xXhTtiLv71y3Rr1CQ`, DATA_CY: `mar-9-reg-link-block`, }, { - DATE: new Date(2022, 10, 3), + DATE: new Date(2022, 2, 10), NAME: EVENT_TYPES.TRAINING_SESS.NAME, DESC: EVENT_TYPES.TRAINING_SESS.DESCRIPTION, NUMBER: 2, IMAGE: mar10, + EXPIRED_IMG: mar10Exp, FIELDS: defineMessages({ INFO: { id: 'public.eng.page.event.training.2.info', defaultMessage: `March 10th (4:00 - 5:00 PM EST)`, - description: 'public engagement page event training session 2 date', + description: 'Navigate to the the public engagement page, this will be the public engagement page event training session 2 date', }, }), REG_LINK: `https://pitc.zoomgov.com/webinar/register/WN_QsSqshI4TpmRBkI6nVlWxQ`, @@ -154,16 +194,17 @@ export const EVENTS = [ }, { - DATE: new Date(2022, 16, 3), + DATE: new Date(2022, 2, 16), NAME: EVENT_TYPES.TRAINING_SESS.NAME, DESC: EVENT_TYPES.TRAINING_SESS.DESCRIPTION, NUMBER: 3, IMAGE: mar16, + EXPIRED_IMG: mar16Exp, FIELDS: defineMessages({ INFO: { id: 'public.eng.page.event.training.3.info', defaultMessage: `March 16th (4:00 - 5:00 PM EST)`, - description: 'public engagement page event training session 3 date', + description: 'Navigate to the the public engagement page, this will be the public engagement page event training session 3 date', }, }), REG_LINK: `https://pitc.zoomgov.com/webinar/register/WN_q86iMtpwTESYa6f0xpIk7g`, @@ -171,16 +212,17 @@ export const EVENTS = [ }, { - DATE: new Date(2022, 22, 3), + DATE: new Date(2022, 2, 22), NAME: EVENT_TYPES.LISTENING_SESS.NAME, DESC: EVENT_TYPES.LISTENING_SESS.DESCRIPTION, NUMBER: 1, IMAGE: mar22, + EXPIRED_IMG: mar22Exp, FIELDS: defineMessages({ INFO: { id: 'public.eng.page.event.listening.1.info', defaultMessage: `March 22nd (4:00 - 5:00 PM EST)`, - description: 'public engagement page event listening session 1 date', + description: 'Navigate to the the public engagement page, this will be the public engagement page event listening session 1 date', }, }), REG_LINK: `https://pitc.zoomgov.com/webinar/register/WN_YT7_uLZqScGHgyAcTCuJjA`, @@ -188,16 +230,51 @@ export const EVENTS = [ }, { - DATE: new Date(2022, 15, 4), + DATE: new Date(2022, 30, 2), + NAME: EVENT_TYPES.WHEJAC_DAY1.NAME, + DESC: EVENT_TYPES.WHEJAC_DAY1.DESCRIPTION, + NUMBER: 0, + IMAGE: mar30, + EXPIRED_IMG: mar30Exp, + FIELDS: defineMessages({ + INFO: { + id: 'public.eng.page.whejac.meeting.day.1.info', + defaultMessage: `March 30th (3:00 - 7:00 PM EST)`, + description: 'public engagement page event WHEJAC', + }, + }), + REG_LINK: `https://usepa.zoomgov.com/webinar/register/WN_wCwVP1dtT0auAR5kfucVtw`, + DATA_CY: `mar-30-reg-link-block`, + }, + { + DATE: new Date(2022, 31, 2), + NAME: EVENT_TYPES.WHEJAC_DAY2.NAME, + DESC: EVENT_TYPES.WHEJAC_DAY2.DESCRIPTION, + NUMBER: 0, + IMAGE: mar31, + EXPIRED_IMG: mar31Exp, + FIELDS: defineMessages({ + INFO: { + id: 'public.eng.page.whejac.meeting.day.1.info', + defaultMessage: `March 31th (3:00 - 7:30 PM EST)`, + description: 'public engagement page event WHEJAC', + }, + }), + REG_LINK: `https://usepa.zoomgov.com/webinar/register/WN_wCwVP1dtT0auAR5kfucVtw`, + DATA_CY: `mar-31-reg-link-block`, + }, + { + DATE: new Date(2022, 3, 15), NAME: EVENT_TYPES.LISTENING_SESS.NAME, DESC: EVENT_TYPES.LISTENING_SESS.DESCRIPTION, NUMBER: 2, IMAGE: apr15, + EXPIRED_IMG: apr15Exp, FIELDS: defineMessages({ INFO: { id: 'public.eng.page.event.listening.2.info', defaultMessage: `April 15th (4:00 - 5:00 PM EST)`, - description: 'public engagement page event listening session 2 date', + description: 'Navigate to the the public engagement page, this will be the public engagement page event listening session 2 date', }, }), REG_LINK: `https://pitc.zoomgov.com/webinar/register/WN_dLw3xChiTlaOLGdHXQWk0w`, diff --git a/client/src/data/getOSBaseMap.tsx b/client/src/data/getOSBaseMap.tsx index 6676e18f..8e756dce 100644 --- a/client/src/data/getOSBaseMap.tsx +++ b/client/src/data/getOSBaseMap.tsx @@ -1,5 +1,6 @@ import {Style} from 'maplibre-gl'; import * as constants from '../data/constants'; +import {featureURLForTilesetName} from '../components/J40Map'; // *********** BASE MAP SOURCES *************** const imageSuffix = constants.isMobile ? '' : '@2x'; @@ -50,7 +51,7 @@ export const getOSBaseMap = () : Style => { // Our current tippecanoe command does not set an id. // The below line promotes the GEOID10 property to the ID 'promoteId': constants.GEOID_PROPERTY, - 'tiles': [constants.FEATURE_TILE_HIGH_ZOOM_URL], + 'tiles': [featureURLForTilesetName('high')], // Setting maxzoom here enables 'overzooming' // e.g. continued zooming beyond the max bounds. // More here: https://docs.mapbox.com/help/glossary/overzoom/ @@ -66,7 +67,7 @@ export const getOSBaseMap = () : Style => { // to give us a favorable tradeoff between performance and fidelity. 'type': 'vector', 'promoteId': constants.GEOID_PROPERTY, - 'tiles': [constants.FEATURE_TILE_LOW_ZOOM_URL], + 'tiles': [featureURLForTilesetName('low')], 'minzoom': constants.GLOBAL_MIN_ZOOM_LOW, 'maxzoom': constants.GLOBAL_MAX_ZOOM_LOW, }, diff --git a/client/src/images/eventDates/apr15-inactive.svg b/client/src/images/eventDates/apr15-inactive.svg new file mode 100644 index 00000000..f53935c0 --- /dev/null +++ b/client/src/images/eventDates/apr15-inactive.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/client/src/images/eventDates/mar10-inactive.svg b/client/src/images/eventDates/mar10-inactive.svg new file mode 100644 index 00000000..e404d6af --- /dev/null +++ b/client/src/images/eventDates/mar10-inactive.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/client/src/images/eventDates/mar15-inactive.svg b/client/src/images/eventDates/mar15-inactive.svg new file mode 100644 index 00000000..a1853baf --- /dev/null +++ b/client/src/images/eventDates/mar15-inactive.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/client/src/images/eventDates/mar16-inactive.svg b/client/src/images/eventDates/mar16-inactive.svg new file mode 100644 index 00000000..8a76fa87 --- /dev/null +++ b/client/src/images/eventDates/mar16-inactive.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/client/src/images/eventDates/mar22-inactive.svg b/client/src/images/eventDates/mar22-inactive.svg new file mode 100644 index 00000000..b1073240 --- /dev/null +++ b/client/src/images/eventDates/mar22-inactive.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/client/src/images/eventDates/mar30-inactive.svg b/client/src/images/eventDates/mar30-inactive.svg new file mode 100644 index 00000000..b483ffd1 --- /dev/null +++ b/client/src/images/eventDates/mar30-inactive.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/client/src/images/eventDates/mar30.svg b/client/src/images/eventDates/mar30.svg new file mode 100644 index 00000000..fe9c2ca7 --- /dev/null +++ b/client/src/images/eventDates/mar30.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/client/src/images/eventDates/mar31-inactive.svg b/client/src/images/eventDates/mar31-inactive.svg new file mode 100644 index 00000000..dbb6a7f4 --- /dev/null +++ b/client/src/images/eventDates/mar31-inactive.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/client/src/images/eventDates/mar31.svg b/client/src/images/eventDates/mar31.svg new file mode 100644 index 00000000..36300259 --- /dev/null +++ b/client/src/images/eventDates/mar31.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/client/src/images/eventDates/mar9-inactive.svg b/client/src/images/eventDates/mar9-inactive.svg new file mode 100644 index 00000000..15fa286c --- /dev/null +++ b/client/src/images/eventDates/mar9-inactive.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/client/src/images/sidePanelIcons/bellCurve.svg b/client/src/images/sidePanelIcons/bellCurve.svg new file mode 100644 index 00000000..d7e8929c --- /dev/null +++ b/client/src/images/sidePanelIcons/bellCurve.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/client/src/images/sidePanelIcons/pieChart.svg b/client/src/images/sidePanelIcons/pieChart.svg new file mode 100644 index 00000000..b9d1d4c4 --- /dev/null +++ b/client/src/images/sidePanelIcons/pieChart.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/client/src/images/sidePanelIcons/puzzle.svg b/client/src/images/sidePanelIcons/puzzle.svg new file mode 100644 index 00000000..1b3fe0c4 --- /dev/null +++ b/client/src/images/sidePanelIcons/puzzle.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/client/src/images/sidePanelIcons/upDown.svg b/client/src/images/sidePanelIcons/upDown.svg new file mode 100644 index 00000000..90e1c12a --- /dev/null +++ b/client/src/images/sidePanelIcons/upDown.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/client/src/intl/en.json b/client/src/intl/en.json index 5728e7b6..7e51c271 100644 --- a/client/src/intl/en.json +++ b/client/src/intl/en.json @@ -1,1003 +1,1219 @@ { + "about.page.community.members.heading": { + "defaultMessage": "Community members", + "description": "Navigate to the About page. This is the sub heading of page" + }, + "about.page.community.members.info": { + "defaultMessage": "Explore data about communities across the U.S., including your own, and provide feedback on the tool.", + "description": "Navigate to the About page. This is the sub heading of page" + }, + "about.page.community.members.link": { + "defaultMessage": "Explore the tool", + "description": "link to Navigate to the About page. This is the explore the tool page" + }, + "about.page.federal.pm.heading": { + "defaultMessage": "Federal program managers", + "description": "Navigate to the About page. This is the sub heading of page" + }, + "about.page.federal.pm.info": { + "defaultMessage": "Download the tool’s current list of communities, explore data that may be useful to your program, and provide feedback on the tool.", + "description": "Navigate to the About page. This is the sub heading of page" + }, + "about.page.federal.pm.link": { + "defaultMessage": "Methodology & data", + "description": "link text to Navigate to the About page. This is the go to methodology page" + }, + "about.page.getInvolved.title": { + "defaultMessage": "Get involved", + "description": "Navigate to the About page. This is the sub heading of page" + }, + "about.page.heading.1.text": { + "defaultMessage": "Screening tool", + "description": "Navigate to the About page. This is the second heading" + }, + "about.page.heading.text": { + "defaultMessage": "About", + "description": "Navigate to the About page. This is the first heading" + }, + "about.page.howToGetStarted.title": { + "defaultMessage": "How to get started", + "description": "Navigate to the About page. This is the sub heading of page" + }, + "about.page.join.open.source.info": { + "defaultMessage": "The tool’s code is open source, which means it is available for the public to view and contribute to it.", + "description": "info on Navigate to the About page. This is the joining open source community" + }, + "about.page.join.open.source.link": { + "defaultMessage": "Check it out on GitHub", + "description": "Navigate to the About page. This is the link to github repository" + }, + "about.page.join.opensource.heading": { + "defaultMessage": "Join the open source community", + "description": "Navigate to the About page. This is the join the community heading" + }, + "about.page.send.feedback.heading": { + "defaultMessage": "Send feedback", + "description": "Navigate to the About page. This is the sending feedback heading" + }, + "about.page.send.feedback.info": { + "defaultMessage": "Have ideas about data and information that reflect the experiences and conditions of your community?", + "description": "Navigate to the About page. This is the sending feedback information" + }, "about.page.sub.header.1.text.1": { - "defaultMessage": "In {eoLink} on {tacklingItalics}, President Biden directed the Council on Environmental Quality (CEQ) to create a Climate and Economic Justice Screening Tool. The purpose of the tool is to help Federal agencies identify disadvantaged communities that are marginalized, underserved, and overburdened by pollution. The current version of the tool provides socioeconomic, environmental, and climate information to inform decisions that may affect these communities. The tool identifies disadvantaged communities through publicly-available, nationally-consistent datasets.", - "description": "about page sub header text" + "defaultMessage": "In Executive Order 14008 on Tackling the Climate Crisis at Home and Abroad, President Biden directed the Council on Environmental Quality (CEQ) to create a Climate and Economic Justice Screening Tool. The purpose of the tool is to help Federal agencies identify disadvantaged communities that are marginalized, underserved, and overburdened by pollution. The current version of the tool provides socioeconomic, environmental, and climate information to inform decisions that may affect these communities. The tool identifies disadvantaged communities through publicly-available, nationally-consistent datasets.", + "description": "Navigate to the About page. This is the second heading description" }, "about.page.sub.header.1.text.2": { "defaultMessage": "The current version of the tool is in a public beta form and will be updated based on feedback and research.", - "description": "about page sub header text" + "description": "Navigate to the About page. This is first heading description" + }, + "about.page.sub.header.2.text": { + "defaultMessage": "The Justice40 Initiative", + "description": "Navigate to the About page. This is the third heading" }, "about.page.sub.header.2.text.1": { "defaultMessage": "The tool will provide important information for the Justice40 Initiative. The goal of the Justice40 Initiative is to provide 40 percent of the overall benefits of certain Federal investments in seven key areas to disadvantaged communities. These seven key areas are: climate change, clean energy and energy efficiency, clean transit, affordable and sustainable housing, training and workforce development, the remediation and reduction of legacy pollution, and the development of critical clean water infrastructure.", - "description": "about page sub header text" + "description": "Navigate to the About page. This is the third heading description" }, "about.page.sub.header.2.text.2": { - "defaultMessage": "Read more about the Justice40 Initiative in President Biden’s {eoLink} on {tacklingItalics}.", + "defaultMessage": "Read more about the Justice40 Initiative in President Biden’s Executive Order 14008 on Tackling the Climate Crisis at Home and Abroad.", "description": "about page sub header text" }, "about.page.title.text": { "defaultMessage": "About", - "description": "about page title text" + "description": "Navigate to the About page. This is the about page title text" }, - "areaDetail.categorization.community.of.focus": { - "defaultMessage": "YES", - "description": "the communities the score currently is focused on" + "common.pages.alerts.census.tract.description": { + "defaultMessage": "View improvements made to the display of the information for each census tract and send feedback.", + "description": "Navigate to any page. This the title of the alert that informs the user that new census tract information is available" }, - "areaDetail.categorization.is.community.of.focus": { - "defaultMessage": "Identified as disadvantaged?", - "description": "asking IF the communities is focused on" + "common.pages.alerts.census.tract.title": { + "defaultMessage": "Improvements to the map on the Explore the tool page", + "description": "Navigate to any page. This the title of the alert that informs the user that new census tract information is available" }, - "areaDetail.categorization.not.community.of.focus": { - "defaultMessage": "No", - "description": "the communities the score currently is not focused on" - }, - "areaDetail.categorization.send.feedback.email.body": { - "defaultMessage": "Please provide feedback about this census tract, including about the datasets, the data categories provided for this census tract, the communities who live in this census tract, and anything else relevant that CEQ should know about this census tract.", - "description": "link to send feedback" - }, - "areaDetail.categorization.send.feedback.title": { - "defaultMessage": "Send feedback", - "description": "link to send feedback" - }, - "areaDetail.category.header.indicator": { - "defaultMessage": "Indicator", - "description": "header for each category" - }, - "areaDetail.category.header.percentile": { - "defaultMessage": "Percentile (0-100)", - "description": "header for each category" - }, - "areaDetail.geographicInfo.censusBlockGroup": { - "defaultMessage": "Census tract:", - "description": "the census tract id number of the feature selected" - }, - "areaDetail.geographicInfo.county": { - "defaultMessage": "County:", - "description": "the county of the feature selected" - }, - "areaDetail.geographicInfo.population": { - "defaultMessage": "Population:", - "description": "the population of the feature selected" - }, - "areaDetail.geographicInfo.state": { - "defaultMessage": "State:", - "description": "the state of the feature selected" - }, - "areaDetail.geographicInfo.territory": { - "defaultMessage": "Territory:", - "description": "the territory of the feature selected" - }, - "areaDetail.indicator.asthma": { - "defaultMessage": "Asthma", - "description": "have asthma or been diagnosed by a doctor to have asthma" - }, - "areaDetail.indicator.description.asthma": { - "defaultMessage": "Weighted percent of people who have been told they have asthma", - "description": "Number of people who have been told they have asthma" - }, - "areaDetail.indicator.description.diabetes": { - "defaultMessage": "Weighted percent of people ages 18 years and older who have diabetes other than diabetes during pregnancy", - "description": "People ages 18 years and older who have diabetes other than diabetes during pregnancy" - }, - "areaDetail.indicator.description.dieselPartMatter": { - "defaultMessage": "Diesel exhaust in the air", - "description": "Diesel exhaust in the air" - }, - "areaDetail.indicator.description.energyBurden": { - "defaultMessage": "Average annual energy costs divided by household income", - "description": "Energy costs divided by household income" - }, - "areaDetail.indicator.description.exp.ag.loss": { - "defaultMessage": "Economic loss rate to agriculture resulting from natural hazards", - "description": "Economic loss rate to agriculture resulting from natural hazards" - }, - "areaDetail.indicator.description.exp.bld.loss": { - "defaultMessage": "Economic loss rate to buildings resulting from natural hazards", - "description": "Economic loss rate to buildings resulting from natural hazards" - }, - "areaDetail.indicator.description.exp.pop.loss": { - "defaultMessage": "Rate of fatalities and injuries resulting from natural hazards each year", - "description": "Economic loss rate to the population in fatalities and injuries resulting from natural hazards" - }, - "areaDetail.indicator.description.heartDisease": { - "defaultMessage": "Weighted percent of people ages 18 years and older who have been told they have heart disease", - "description": "People ages 18 years and older who have been told they have heart disease" - }, - "areaDetail.indicator.description.high.ed": { - "defaultMessage": "Percent of population enrolled in college, university, or graduate school", - "description": "Percent of people ages 25 years or older whose education level is less than a high school diploma" - }, - "areaDetail.indicator.description.high.school": { - "defaultMessage": "Proportion of people ages 25 years or older whose education level is less than a high school diploma", - "description": "Percent of people ages 25 years or older whose education level is less than a high school diploma" - }, - "areaDetail.indicator.description.houseBurden": { - "defaultMessage": "Low income households spending more than 30% of income on housing", - "description": "Low income households spending more than 30% of income on housing" - }, - "areaDetail.indicator.description.leadPaint": { - "defaultMessage": "Percentile of number of homes built before 1960 that are not among the most expensive", - "description": "Pre-1960 housing" - }, - "areaDetail.indicator.description.lifeExpect": { - "defaultMessage": "Average number of years a person can expect to live", - "description": "Average number of years of life a person can expect to live" - }, - "areaDetail.indicator.description.ling.iso": { - "defaultMessage": "Percent of households where no one over the age 14 speaks English well", - "description": "Households in which no one age 14 and over speaks English only or also speaks \n a language other than English" - }, - "areaDetail.indicator.description.low.income": { - "defaultMessage": "Household income is less than or equal to twice the federal poverty level", - "description": "Household income is less than or equal to twice the federal poverty level" - }, - "areaDetail.indicator.description.low.med.income": { - "defaultMessage": "Median income calculated as a percent of the area’s median income", - "description": "Median income calculated as a percent of the area’s median income" - }, - "areaDetail.indicator.description.med.home.val": { - "defaultMessage": "Median home value in area", - "description": "Meidan home value in area" - }, - "areaDetail.indicator.description.pm25": { - "defaultMessage": "Fine inhalable particles, 2.5 micrometers and smaller", - "description": "Fine inhalable particles, 2.5 micrometers and smaller" - }, - "areaDetail.indicator.description.poverty": { - "defaultMessage": "Percent of a tract's population in households where the household income is at or below 100% of the Federal poverty level", - "description": "Percent of individuals in households where the household income is at or \n below 100% of the federal poverty level" - }, - "areaDetail.indicator.description.prox.haz": { - "defaultMessage": "Count of hazardous waste facilities within 5 kilometers", - "description": "Count of hazardous waste facilities within 5 kilometers" - }, - "areaDetail.indicator.description.prox.npl": { - "defaultMessage": "Proposed or listed NPL (Superfund) sites within 5 kilometers", - "description": "Proposed or listed NPL (Superfund) sites within 5 kilometers" - }, - "areaDetail.indicator.description.prox.rmp": { - "defaultMessage": "Risk Management Plan facilities within 5 kilometers", - "description": "Risk Management Plan facilities within 5 kilometers" - }, - "areaDetail.indicator.description.trafficVolume": { - "defaultMessage": "Count of vehicles at major roads within 500 meters", - "description": "Count of vehicles at major roads within 500 meters" - }, - "areaDetail.indicator.description.unemploy": { - "defaultMessage": "Number of unemployed people as a percentage of the labor force", - "description": "Number of unemployed people as a percentage of the labor force" - }, - "areaDetail.indicator.description.wasteWater": { - "defaultMessage": "Toxic concentrations at stream segments within 500 meters", - "description": "Toxic concentrations at stream segments within 500 meters" - }, - "areaDetail.indicator.diabetes": { - "defaultMessage": "Diabetes", - "description": "diabetes from dr or nurse" - }, - "areaDetail.indicator.dieselPartMatter": { - "defaultMessage": "Diesel particulate matter exposure", - "description": "Diesel particulate matter level in air" - }, - "areaDetail.indicator.energyBurden": { - "defaultMessage": "Energy burden", - "description": "Average annual energy cost ($) divided by household income" - }, - "areaDetail.indicator.exp.ag.loss": { - "defaultMessage": "Expected agriculture loss rate", - "description": "agriculture loss rate" - }, - "areaDetail.indicator.exp.bld.loss": { - "defaultMessage": "Expected building loss rate", - "description": "building loss rate" - }, - "areaDetail.indicator.exp.pop.loss": { - "defaultMessage": "Expected population loss rate", - "description": "population loss rate" - }, - "areaDetail.indicator.heartDisease": { - "defaultMessage": "Heart disease", - "description": "People ages 18 and up who report ever having been told by adoctor, nurse, or other health professionals that they had angina or coronary heart disease" - }, - "areaDetail.indicator.high.ed": { - "defaultMessage": "Higher ed enrollment rate", - "description": "Higher ed degree achievement rate" - }, - "areaDetail.indicator.high.school": { - "defaultMessage": "High school degree attainment rate", - "description": "High school degree achievement rate" - }, - "areaDetail.indicator.houseBurden": { - "defaultMessage": "Housing cost burden", - "description": "People ages 18 and up who report having been told by a doctor, nurse, or other health professionals that they have diabetes other than diabetes during pregnancy" - }, - "areaDetail.indicator.leadPaint": { - "defaultMessage": "Lead paint", - "description": "Housing units built pre-1960, used as an indicator of potential lead paint exposure in homes" - }, - "areaDetail.indicator.lifeExpect": { - "defaultMessage": "Low life expectancy", - "description": "Estimated years of life expectancy" - }, - "areaDetail.indicator.ling.iso": { - "defaultMessage": "Linguistic isolation", - "description": "Linguistic isolation" - }, - "areaDetail.indicator.low.income": { - "defaultMessage": "Low income", - "description": "low income" - }, - "areaDetail.indicator.low.med.income": { - "defaultMessage": "Low median income", - "description": "Low median income" - }, - "areaDetail.indicator.med.home.val": { - "defaultMessage": "Median home value", - "description": "Median home value of owner-occupied housing units in the area." - }, - "areaDetail.indicator.pm25": { - "defaultMessage": "PM2.5 in the air", - "description": "Fine inhalable particles, with diameters that are generally 2.5 micrometers and smaller" - }, - "areaDetail.indicator.poverty": { - "defaultMessage": "Poverty", - "description": "Unemployment" - }, - "areaDetail.indicator.prox.haz": { - "defaultMessage": "Proximity to hazardous waste facilities", - "description": "Count of hazardous waste facilities " - }, - "areaDetail.indicator.prox.npl": { - "defaultMessage": "Proximity to NPL sites", - "description": "Count of proposed or listed NPL " - }, - "areaDetail.indicator.prox.rmp": { - "defaultMessage": "Proximity to RMP facilities", - "description": "Count of proposed or listed RMP" - }, - "areaDetail.indicator.title.clean.energy": { - "defaultMessage": "Clean energy and energy efficiency", - "description": "Clean, efficient energy title" - }, - "areaDetail.indicator.title.clean.transport": { - "defaultMessage": "Clean transportation", - "description": "Clean transportation title" - }, - "areaDetail.indicator.title.clean.water": { - "defaultMessage": "Clean water and waste infrastructure", - "description": "Clean water and waste title" - }, - "areaDetail.indicator.title.climate": { - "defaultMessage": "Climate change", - "description": "Climate change title" - }, - "areaDetail.indicator.title.health.burden": { - "defaultMessage": "Health burdens", - "description": "Health burdens title" - }, - "areaDetail.indicator.title.legacy.pollution": { - "defaultMessage": "Legacy pollution", - "description": "Legacy pollution title" - }, - "areaDetail.indicator.title.sustain.house": { - "defaultMessage": "Sustainable housing", - "description": "Sustainable housing title" - }, - "areaDetail.indicator.title.work.dev": { - "defaultMessage": "Workforce development", - "description": "Workforce development title" - }, - "areaDetail.indicator.trafficVolume": { - "defaultMessage": "Traffic proximity and volume", - "description": "Count of vehicles (average annual daily traffic) at major roads within 500 meters, divided by distance in meters" - }, - "areaDetail.indicator.unemploy": { - "defaultMessage": "Unemployment", - "description": "Unemployment" - }, - "areaDetail.indicator.wasteWater": { - "defaultMessage": "Wastewater discharge", - "description": "Toxic concentrations at stream segments within 500 meters divided by distance in kilometers" - }, - "areaDetail.side.panel.version.title": { - "defaultMessage": "Methodology version {version}", - "description": "methodology version number" - }, - "banner.beta.info": { + "common.pages.banner.beta.info": { "defaultMessage": "It is an early, in-progress version of the tool with limited datasets that will be regularly updated.", - "description": "the main info of the beta banner" + "description": "Navigate to the about page. This is the main info of the beta banner" }, - "banner.beta.title": { + "common.pages.banner.beta.title": { "defaultMessage": "This is a beta site.", - "description": "the main title of the beta banner" + "description": "Navigate to the about page. This is the main title of the beta banner" }, - "categories.all.used.in.text": { - "defaultMessage": "All categories", - "description": "used in text for all methodologies" + "common.pages.console.error.stage.url": { + "defaultMessage": "Please check stage_hash value. It must be a 4 digit decimal value / 40 digit hexadecimal value", + "description": "Navigate to the about page. This is console error staging URL" }, - "category.asthma.description.text": { - "defaultMessage": "Weighted percent of people who answer “yes” to both of the following questions: “Have you ever been told by a doctor, nurse, or other health professional that you have asthma?” and “Do you still have asthma?”", - "description": "description text for asthma" + "common.pages.footer.arialabel": { + "defaultMessage": "Footer navigation", + "description": "Navigate to the about page. This is aria-label text for whole footer" }, - "category.diabetes.description.text": { - "defaultMessage": "Weighted percent of people ages 18 years and older who report having ever been told by a doctor, nurse, or other health professionals that they have diabetes other than diabetes during pregnancy.", - "description": "description text for diabetes" + "common.pages.footer.contactheader": { + "defaultMessage": "Contact", + "description": "Navigate to the about page. This is Footer column header" }, - "category.diesel.pm.description.text": { - "defaultMessage": "Mixture of particles that is part of diesel exhaust in the air. The value in the fields is the weight of these particles in micrograms per cubic meter.", - "description": "description text for diesel pm" + "common.pages.footer.findcontact": { + "defaultMessage": "Find a contact at USA.gov", + "description": "Navigate to the about page. This is Footer find contact link text" }, - "category.energy.burden.description.text": { - "defaultMessage": "Average annual energy cost per household ($) divided by average household income.", - "description": "description text for energy burden" + "common.pages.footer.findcontact.link": { + "defaultMessage": "https://www.usa.gov/", + "description": "Navigate to the about page. This is Footer find contact link text" }, - "category.exp.agr.loss.rate.description.text": { - "defaultMessage": "Percent of agriculture value at risk from losses due to fourteen types of natural hazards that have some link to climate change: avalanche, coastal flooding, cold wave, drought, hail, heat wave, hurricane, ice storm, landslide, riverine flooding, strong wind, tornado, wildfire, and winter weather. Rate calculated by dividing the agriculture value at risk in a census tract by the total agriculture value in that census tract.", - "description": "description text for exp agr loss rate" + "common.pages.footer.foia.text": { + "defaultMessage": "Freedom of Information Act (FOIA)", + "description": "Navigate to the about page. This is Footer FOIA link text" }, - "category.exp.bld.loss.rate.description.text": { - "defaultMessage": "Percent of building value at risk from losses due to fourteen types of natural hazards that have some link to climate change: avalanche, coastal flooding, cold wave, drought, hail, heat wave, hurricane, ice storm, landslide, riverine flooding, strong wind, tornado, wildfire, and winter weather. Rate calculated by dividing the building value at risk in a census tract by the total building value in that census tract.", - "description": "description text for exp bld loss rate" + "common.pages.footer.logo.title": { + "defaultMessage": "Council on Environmental Quality", + "description": "Navigate to the about page. This is Footer under logo" }, - "category.exp.pop.loss.rate.description.text": { - "defaultMessage": "Rate relative to the population of fatalities and injuries due to fourteen types of natural hazards each year that have some link to climate change: avalanche, coastal flooding, cold wave, drought, hail, heat wave, hurricane, ice storm, landslide, riverine flooding, strong wind, tornado, wildfire, and winter weather. Population loss is defined as the Spatial Hazard Events and Losses or National Centers for Environmental Information’s (NCEI) reported number of fatalities and injuries caused by the hazard occurrence. To combine fatalities and injuries for the computation of population loss value, an injury is counted as one-tenth (1/10) of a fatality. The NCEI Storm Events Database classifies injuries and fatalities as direct or indirect. Both direct and indirect injuries and fatalities are counted as population loss. This total number of injuries and fatalities is then divided by the population in the census tract to get a per-capita rate of population risk.", - "description": "description text for exp pop loss rate" + "common.pages.footer.moreinfoheader": { + "defaultMessage": "More information", + "description": "Navigate to the about page. This is Footer column header" }, - "category.heart.disease.description.text": { - "defaultMessage": "Weighted percent of people ages 18 years and older who report ever having been told by a doctor, nurse, or other health professionals that they had angina or coronary heart disease.", - "description": "description text for heart disease" + "common.pages.footer.privacy.link": { + "defaultMessage": "https://www.whitehouse.gov/privacy/", + "description": "Navigate to the about page. This is Footer privacy policy link text" }, - "category.high.ed.enroll.rate.description.text": { - "defaultMessage": "Percent of people who are currently enrolled in college or graduate school.", - "description": "description text for low income" + "common.pages.footer.privacy.text": { + "defaultMessage": "Privacy Policy", + "description": "Navigate to the about page. This is Footer privacy policy link text" }, - "category.highschool.description.text": { - "defaultMessage": "Percent of people ages 25 years or older in a census tract whose education level is less than a high school diploma.", - "description": "description text for highschool" + "common.pages.footer.questionsheader": { + "defaultMessage": "Have a question about government services?", + "description": "Navigate to the about page. This is Footer column header" }, - "category.house.burden.description.text": { - "defaultMessage": "Percent of households in a census tract that are both earning less than 80% of HUD Area Median Family Income by county and are spending more than 30% of their income on housing costs.", - "description": "description text for housing burden" + "common.pages.footer.whitehouse.link": { + "defaultMessage": "https://www.whitehouse.gov/", + "description": "Navigate to the about page. This is Footer Whitehouse.gov link text" }, - "category.lead.paint.description.text": { - "defaultMessage": "Percent of housing units built pre-1960, used as an indicator of potential lead paint exposure in census tracts with median home values less than the 90th percentile.", - "description": "description text for lead paint" + "common.pages.footer.whitehouse.text": { + "defaultMessage": "Whitehouse.gov", + "description": "Navigate to the about page. This is Footer Whitehouse.gov link text" }, - "category.linguistic.iso.description.text": { - "defaultMessage": "Percent of households where no one over the age 14 speaks English well.", - "description": "description text for linguistic isolation" + "common.pages.footer.whitehouselogoalt": { + "defaultMessage": "Whitehouse logo", + "description": "Navigate to the about page. This is Footer Whitehouse logo alt text" }, - "category.low.income.description.text": { - "defaultMessage": "Percent of a census tract's population in households where household income is at or below 200% of the Federal poverty level.", - "description": "description text for low income" + "common.pages.header.about": { + "defaultMessage": "About", + "description": "Navigate to the about page. This is Header navigate item to the about page" }, - "category.low.life.expectancy.description.text": { - "defaultMessage": "Average number of years of life a person who has attained a given age can expect to live. {note}", - "description": "description text for low life expectancy" + "common.pages.header.contact": { + "defaultMessage": "Contact", + "description": "Navigate to the about page. This is Header navigate item to the Contact page" }, - "category.median.home.value.description.text": { - "defaultMessage": "Median home value of owner-occupied housing units in the census tract.", - "description": "description text for lead paint" - }, - "category.pm2.5.description.text": { - "defaultMessage": "Fine inhalable particles, with diameters that are generally 2.5 micrometers and smaller. The value in the fields is the weight of these particles in micrograms per cubic meter.", - "description": "description text for pm 2.5" - }, - "category.poverty.description.text": { - "defaultMessage": "Percent of a census tract's population in households where the household income is at or below 100% of the Federal poverty level.", - "description": "description text for poverty" - }, - "category.prox.haz.description.text": { - "defaultMessage": "Count of hazardous waste facilities (Treatment, Storage, and Disposal Facilities and Large Quantity Generators) within 5 kilometers (or nearest beyond 5 kilometers), each divided by distance in kilometers.", - "description": "description text for proximity to hazards" - }, - "category.prox.npl.description.text": { - "defaultMessage": "Count of proposed or listed NPL - also known as Superfund - sites within 5 kilometers (or nearest one beyond 5 kilometers), each divided by distance in kilometers.", - "description": "description text for proximity to npl" - }, - "category.prox.rmp.description.text": { - "defaultMessage": "Count of RMP (potential chemical accident management plan) facilities within 5 kilometers (or nearest one beyond 5 kilometers), each divided by distance in kilometers.", - "description": "description text for proximity to rmp" - }, - "category.source.cdc.places.link": { - "defaultMessage": "{sourceCdcPlacesLink} from {date16_19}", - "description": "source link for CDC Places" - }, - "category.source.cdc.sleep.link": { - "defaultMessage": "{sourceCdcSleepLink} from {date10_15}", - "description": "source link for CDC Sleep" - }, - "category.source.census.link.10": { - "defaultMessage": "{sourceCensusLink} from {date10}", - "description": "source link for Census ACS" - }, - "category.source.census.link.15": { - "defaultMessage": "{sourceCensusLink} from {date15_19}", - "description": "source link for Census ACS" - }, - "category.source.doe.lead.link": { - "defaultMessage": "{sourceDoeLeadLink} from {date18}", - "description": "source link for DOE FEMA" - }, - "category.source.dot.epa.link": { - "defaultMessage": "{sourceDotEpaLink} from {date17} as compiled by EPA's EJSCREEN", - "description": "source link for DOT EPA" - }, - "category.source.epa.cerclis.link": { - "defaultMessage": "{sourceEpaCerclisLink} from {date20} as compiled by EPA’s EJSCREEN", - "description": "source link for EPA CERCLIS" - }, - "category.source.epa.nata.link": { - "defaultMessage": "{sourceEpaOarLink} from {date14} as compiled by EPA's EJSCREEN", - "description": "source link for EPA NATA" - }, - "category.source.epa.oar.link": { - "defaultMessage": "{sourceEpaOarLink} from {date17} as compiled by EPA’s EJSCREEN, sourced from EPA National Air Toxics Assessment (NATA) and the U.S. Department of Transportation (DOT) traffic data", - "description": "source link for EPA OAR" - }, - "category.source.epa.rmp.link": { - "defaultMessage": "{sourceEpaRmpLink} from {date20} as compiled by EPA’s EJSCREEN", - "description": "source link for EPA RMP" - }, - "category.source.epa.rsei.link": { - "defaultMessage": "{sourceEpaRseiLink} from {date20} as compiled by EPA’s EJSCREEN", - "description": "source link for EPA RSEI" - }, - "category.source.epa.tsdf.link": { - "defaultMessage": "{sourceEpaTsdfLink} from {date20} calculated from EPA's RCRA database as compiled by EPA's EJSCREEN", - "description": "source link for EPA TSDF" - }, - "category.source.fema.link": { - "defaultMessage": "{sourceFemaLink} from {date14_21}", - "description": "source link for FEMA" - }, - "category.source.hud.link": { - "defaultMessage": "{sourceHudLink} from {date14_18}", - "description": "source link for HUD" - }, - "category.traffic.vol.description.text": { - "defaultMessage": "Count of vehicles (average annual daily traffic) at major roads within 500 meters, divided by distance in meters.", - "description": "description text for traffic volume" - }, - "category.unemploy.description.text": { - "defaultMessage": "Number of unemployed people as a percentage of the civilian labor force.", - "description": "description text for unemployment" - }, - "category.waste.water.description.text": { - "defaultMessage": "Risk-Screening Environmental Indicators (RSEI) modeled toxic concentrations at stream segments within 500 meters, divided by distance in kilometers.", - "description": "description text for waste water" - }, - "category.workforce.dev.description.text": { - "defaultMessage": "Median income of the census tract calculated as a percent of the area’s median income. {note}", - "description": "description text for workforce dev" - }, - "community.members.heading": { - "defaultMessage": "Community members", - "description": "sub heading of page" - }, - "community.members.info": { - "defaultMessage": "Explore data about communities across the U.S., including your own, and provide feedback on the tool.", - "description": "sub heading of page" - }, - "community.members.link": { + "common.pages.header.explore": { "defaultMessage": "Explore the tool", - "description": "link to explore the tool page" + "description": "Navigate to the about page. This is Header navigate item to the Explore the tool page" + }, + "common.pages.header.methodology": { + "defaultMessage": "Methodology & data", + "description": "Navigate to the about page. This is Header navigate item to the Methodology page" + }, + "common.pages.header.title.line1": { + "defaultMessage": "Climate and Economic Justice", + "description": "Navigate to the about page. This is Title in nav header line 1 of 2" + }, + "common.pages.header.title.line2": { + "defaultMessage": "Screening Tool", + "description": "Navigate to the about page. This is Title in nav header line 2 of 2" }, "contact.page.census.tract.feedback.para1": { - "defaultMessage": "To provide feedback about a specific census tract, either select the send feedback button after selecting a census tract on the {exploreLink} page or use the email address provided above. Please include the census tract ID, county, and state or territory information, in addition to your feedback.", - "description": "census tract feedback section" + "defaultMessage": "To provide feedback about a specific census tract, either select the send feedback button after selecting a census tract on the Explore the tool page or use the email address provided above. Please include the census tract ID, county, and state or territory information, in addition to your feedback.", + "description": "Navigate to the contact page, this is the census tract feedback section" }, "contact.page.census.tract.feedback.para2": { "defaultMessage": "If there are specific data indicators that could be improved or changed, please include that information in the body of the email.", - "description": "census tract feedback section" + "description": "Navigate to the contact page, this is the census tract feedback section" }, "contact.page.census.tract.feedback.para3": { - "defaultMessage": "In addition, you can provide feedback on the tool via this {improvementSurvey}.", - "description": "census tract feedback section" + "defaultMessage": "In addition, you can provide feedback on the tool via this survey.", + "description": "Navigate to the contact page, this is the census tract feedback section" }, "contact.page.census.tract.feedback.title": { "defaultMessage": "Census tract feedback", - "description": "census tract feedback section" + "description": "Navigate to the contact page, this is the census tract feedback section" + }, + "contact.page.fab.survey.text": { + "defaultMessage": "Help improve the site & data", + "description": "Navigate to the contact page, this is the text for floating action button" }, "contact.page.header.text": { "defaultMessage": "Contact", - "description": "contact page header text" + "description": "Navigate to the contact page, this is the contact page header text" }, "contact.page.sub.header.text": { "defaultMessage": "Email us", - "description": "contact page sub header text" + "description": "Navigate to the contact page, this is the contact page sub header text" }, "contact.page.title.text": { "defaultMessage": "Contact", - "description": "contact page title text" + "description": "Navigate to the contact page, this is the contact page title text" }, - "datasetCard.available.for": { - "defaultMessage": "Available for:", - "description": "label associated with available for which regions of the card" + "explore.page.side.panel.at.or.above.at.least.one": { + "defaultMessage": "At or above at least one threshold?", + "description": "Navigate to the explore the tool page. When the map is in view, click on the map. Click on a category to expand. This is the first question text around thresholds." }, - "datasetCard.date.range": { - "defaultMessage": "Date range:", - "description": "label associated with explaining the card" + "explore.page.side.panel.at.or.above.both.thresholds": { + "defaultMessage": "At or above both associated thresholds?", + "description": "Navigate to the explore the tool page. When the map is in view, click on the map. Click on a category to expand. This is the second question text around thresholds." }, - "datasetCard.responsible.party": { - "defaultMessage": "Responsible Party:", - "description": "label associated with explaining the card" + "explore.page.side.panel.exceed.burden.answer.no": { + "defaultMessage": "No", + "description": "Navigate to the explore the tool page. When the map is in view, click on the map. This will display NO if the census tract is disadvantaged" }, - "datasetCard.source": { - "defaultMessage": "Source:", - "description": "label associated with source of the card" + "explore.page.side.panel.exceed.burden.answer.yes": { + "defaultMessage": "Yes", + "description": "Navigate to the explore the tool page. When the map is in view, click on the map. This will display YES if the census tract is disadvantaged" }, - "datasetCard.used.in": { - "defaultMessage": "Used in:", - "description": "label associated with explaining the card" + "explore.page.side.panel.indicator.value.arrow.down.alt.text": { + "defaultMessage": "an icon for the down arrow", + "description": "image alt text for the down arrow" }, - "datasetContainer.additional.heading": { - "defaultMessage": "Additional Indicators", - "description": "additional indicators heading" + "explore.page.side.panel.indicator.value.arrow.up.alt.text": { + "defaultMessage": "an icon for the up arrow", + "description": "image alt text for the up arrow" }, - "datasetContainer.additional.info": { - "defaultMessage": "These datasets provide additional information about each community.", - "description": "additional indicator info" + "explore.page.side.panel.indicator.value.subtext.above": { + "defaultMessage": "above", + "description": "indicating above threshold" }, - "datasetContainer.heading": { - "defaultMessage": "Datasets used in beta methodology", - "description": "section heading of which datasets are used in cumulative score" + "explore.page.side.panel.indicator.value.subtext.below": { + "defaultMessage": "below", + "description": "indicating below threshold" }, - "datasetContainer.info": { - "defaultMessage": "The datasets used in the current version of the tool come from a variety of sources and were selected based on relevance, availability, and quality. The datasets seek to identify a range of human health, environmental, climate-related, and other impacts on communities.", - "description": "description of the dataset section" + "explore.page.side.panel.indicator.value.subtext.percent": { + "defaultMessage": "percent", + "description": "indicating percent units" }, - "download.draft.ptag.1": { - "defaultMessage": "{downloadDraft} of communities and datasets used (ZIP file will contain one .xlsx and one .csv, with a size of {downloadFileSize}). Last updated: {dateUpdated}.", - "description": "Download the current list of communities and datasets used." + "explore.page.side.panel.indicator.value.subtext.percentile": { + "defaultMessage": "percentile", + "description": "indicating percentile units" }, - "download.draft.ptag.2": { - "defaultMessage": "ZIP file will contain one .xlsx, one .csv, and one .pdf ({downloadFileSize}).", - "description": "Information on the contents and type of the download file" + "explore.page.side.panel.indicator.value.subtext.unavailable": { + "defaultMessage": "data is not available", + "description": "subtext for indicator when data is N/A" }, - "downloadPacket.button.text": { - "defaultMessage": "Download package", - "description": "download packet button text" + "explore.page.side.panel.indicator.value.unavailable.alt.text": { + "defaultMessage": "an icon to represent data is unavailable", + "description": "image alt text for unavailable icon" }, - "downloadPacket.header.text": { - "defaultMessage": "Draft communities list v{versionNumber} ({downloadFileSize})", - "description": "download packet header text" + "explore.page.side.panel.spacer.and": { + "defaultMessage": "AND", + "description": "Navigate to the explore the tool page. When the map is in view, click on the map. Click on a category to expand. This is the AND spacer around thresholds." }, - "downloadPacket.info.last.updated": { - "defaultMessage": "Last updated: {downloadLastUpdated}", - "description": "download packet info last updated" + "explore.tool.page.description.text": { + "defaultMessage": "Use the map to see communities that are identified as disadvantaged. The map uses publicly-available, nationally-consistent datasets. Learn more about the methodology and datasets that were used to identify disavantaged communities in the current version of the tool on the Methodology & data page.", + "description": "On the explore the tool page, the description of the page" }, - "downloadPacket.info.text": { - "defaultMessage": "The download package includes draft v{versionNumber} of the list of disadvantaged communities (.csv and .xlsx).", - "description": "download packet info text" + "explore.tool.page.heading.text": { + "defaultMessage": "Explore the tool", + "description": "On the explore the tool page, the heading of the page" }, - "explore.page.note.on.territories.intro": { + "explore.tool.page.label.text": { + "defaultMessage": "Disadvantaged community", + "description": "On the explore the tool page, the label of the legend" + }, + "explore.tool.page.legend.description.text": { + "defaultMessage": "Communities identified as disadvantaged by the tool are those that are marginalized, underserved, and overburdened by pollution. These communities are at or above the thresholds in one or more of eight categories of criteria.", + "description": "On the explore the tool page, the description of the legend" + }, + "explore.tool.page.map.search.placeholder.text": { + "defaultMessage": "Enter a city, state or ZIP", + "description": "On the explore the tool page, on the map, the placeholder text for search" + }, + "explore.tool.page.map.search.results.empty.text": { + "defaultMessage": "No location found. Please try again.", + "description": "On the explore the tool page, on the map, the text displaying message for no search results found" + }, + "explore.tool.page.map.territoryFocus.alaska.long": { + "defaultMessage": "Alaska", + "description": "On the explore the tool page, on the map, the full name indicating the bounds of Alaska" + }, + "explore.tool.page.map.territoryFocus.alaska.short": { + "defaultMessage": "AK", + "description": "On the explore the tool page, on the map, the abbreviated indicating the bounds of Alaska" + }, + "explore.tool.page.map.territoryFocus.american.samoa.long": { + "defaultMessage": "American Samoa", + "description": "On the explore the tool page, on the map, the full name indicating the bounds of American Somoa" + }, + "explore.tool.page.map.territoryFocus.american.samoa.short": { + "defaultMessage": "AS", + "description": "On the explore the tool page, on the map, the abbreviated name indicating the bounds of American Somoa" + }, + "explore.tool.page.map.territoryFocus.commonwealth.nmp.long": { + "defaultMessage": "Commonwealth of Northern Mariana Islands", + "description": "On the explore the tool page, on the map, the full name indicating the bounds of Commonwealth of Northern Mariana Islands" + }, + "explore.tool.page.map.territoryFocus.commonwealth.nmp.short": { + "defaultMessage": "MP", + "description": "On the explore the tool page, on the map, the abbreviated name indicating the bounds of Commonwealth of Northern Mariana Islands" + }, + "explore.tool.page.map.territoryFocus.guam.long": { + "defaultMessage": "Guam", + "description": "On the explore the tool page, on the map, the full name indicating the bounds of Guam" + }, + "explore.tool.page.map.territoryFocus.guam.short": { + "defaultMessage": "GU", + "description": "On the explore the tool page, on the map, the abbreviated name indicating the bounds of Guam" + }, + "explore.tool.page.map.territoryFocus.hawaii.long": { + "defaultMessage": "Hawaii", + "description": "On the explore the tool page, on the map, the longer name indicating the bounds of Hawaii" + }, + "explore.tool.page.map.territoryFocus.hawaii.short": { + "defaultMessage": "HI", + "description": "On the explore the tool page, on the map, the abbreviated name indicating the bounds of Hawaii" + }, + "explore.tool.page.map.territoryFocus.lower48.long": { + "defaultMessage": "Lower 48", + "description": "On the explore the tool page, on the map, the longer name indicating the bounds of the Lower 48 states" + }, + "explore.tool.page.map.territoryFocus.lower48.short": { + "defaultMessage": "48", + "description": "On the explore the tool page, on the map, the abbreviated name indicating the bounds of \n the Lower 48 states\n " + }, + "explore.tool.page.map.territoryFocus.puerto_rico.long": { + "defaultMessage": "Puerto Rico", + "description": "On the explore the tool page, on the map, the full name indicating the bounds of Puerto Rico" + }, + "explore.tool.page.map.territoryFocus.puerto_rico.short": { + "defaultMessage": "PR", + "description": "On the explore the tool page, on the map, the abbreviated name indicating the bounds of Puerto Rico" + }, + "explore.tool.page.map.territoryFocus.us.virgin.islands.long": { + "defaultMessage": "US Virgin Islands", + "description": "On the explore the tool page, on the map, the full name indicating the bounds of US Virgin Islands" + }, + "explore.tool.page.map.territoryFocus.us.virgin.islands.short": { + "defaultMessage": "VI", + "description": "On the explore the tool page, on the map, the abbreviated name indicating the bounds of US Virgin Islands" + }, + "explore.tool.page.map.zoom.warning": { + "defaultMessage": "Zoom in to the state or regional level to see prioritized communities on the map.", + "description": "On the explore the tool page, on the map, the zoom warning on map" + }, + "explore.tool.page.side.panel.category.header.indicator": { + "defaultMessage": "Indicator", + "description": "Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show header for each category\n" + }, + "explore.tool.page.side.panel.category.header.percentile": { + "defaultMessage": "Percentile (0-100)", + "description": "Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show header for each category\n" + }, + "explore.tool.page.side.panel.community.of.focus": { + "defaultMessage": "YES", + "description": "Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show the communities the score currently is focused on" + }, + "explore.tool.page.side.panel.geographicInfo.censusBlockGroup": { + "defaultMessage": "Census tract:", + "description": "Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show the census tract id number of the feature selected" + }, + "explore.tool.page.side.panel.geographicInfo.county": { + "defaultMessage": "County:", + "description": "Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show the county of the feature selected" + }, + "explore.tool.page.side.panel.geographicInfo.population": { + "defaultMessage": "Population:", + "description": "Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show the population of the feature selected" + }, + "explore.tool.page.side.panel.geographicInfo.state": { + "defaultMessage": "State:", + "description": "Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show the state of the feature selected" + }, + "explore.tool.page.side.panel.geographicInfo.territory": { + "defaultMessage": "Territory:", + "description": "Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show the territory of the feature selected" + }, + "explore.tool.page.side.panel.indicator.asthma": { + "defaultMessage": "Asthma", + "description": "Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show Asthma" + }, + "explore.tool.page.side.panel.indicator.description.asthma": { + "defaultMessage": "Weighted percent of people who have been told they have asthma", + "description": "Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show an indicator desciption of Number of people who have been told they have asthma" + }, + "explore.tool.page.side.panel.indicator.description.diabetes": { + "defaultMessage": "Weighted percent of people ages 18 years and older who have diabetes other than diabetes during pregnancy", + "description": "Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show an indicator desciption of People ages 18 years and older who have diabetes other than \n diabetes during pregnancy" + }, + "explore.tool.page.side.panel.indicator.description.dieselPartMatter": { + "defaultMessage": "Diesel exhaust in the air", + "description": "Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show an indicator desciption of Diesel exhaust in the air" + }, + "explore.tool.page.side.panel.indicator.description.energyBurden": { + "defaultMessage": "Average annual energy costs divided by household income", + "description": "Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show an indicator desciption of Energy costs divided by household income" + }, + "explore.tool.page.side.panel.indicator.description.exp.ag.loss": { + "defaultMessage": "Economic loss rate to agricultural value resulting from natural hazards each year", + "description": "Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show an indicator desciption of Economic loss rate to agriculture resulting from naturhazards\n " + }, + "explore.tool.page.side.panel.indicator.description.exp.bld.loss": { + "defaultMessage": "Economic loss rate to agricultural value resulting from natural hazards each year", + "description": "Navigate to the explore the tool page. When the map is in view, click on the map. The side \n panel will show an indicator desciption of Economic loss rate to buildings resulting from natural hazards" + }, + "explore.tool.page.side.panel.indicator.description.exp.pop.loss": { + "defaultMessage": "Rate of fatalities and injuries resulting from natural hazards each year", + "description": "Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show an indicator desciption of Economic loss rate to the population in fatalities and \n injuries resulting from natural hazards" + }, + "explore.tool.page.side.panel.indicator.description.heartDisease": { + "defaultMessage": "Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show an indicator desciption of Weighted percent of people ages 18 years and older who have been told they have heart disease", + "description": "People ages 18 years and older who have been told they have heart disease" + }, + "explore.tool.page.side.panel.indicator.description.high.ed": { + "defaultMessage": "Percent of the census tract's population 15 or older not enrolled in college, university, or graduate school", + "description": "Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show an indicator desciption of Percent of the census tract's population 15 or older not \n enrolled in college, university, or graduate school" + }, + "explore.tool.page.side.panel.indicator.description.high.school": { + "defaultMessage": "Percent of people ages 25 years or older whose education level is less than a high school diploma", + "description": "Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show an indicator desciption of Percent of people ages 25 years or older whose education level \n is less than a high school diploma" + }, + "explore.tool.page.side.panel.indicator.description.houseBurden": { + "defaultMessage": "Low income households spending more than 30% of income on housing", + "description": "Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show an indicator desciption of Low income households spending more than 30% of income housing\n " + }, + "explore.tool.page.side.panel.indicator.description.leadPaint": { + "defaultMessage": "Percentile of number of homes built before 1960 that are not among the most expensive", + "description": "Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show an indicator desciption of Pre-1960 housing" + }, + "explore.tool.page.side.panel.indicator.description.lifeExpect": { + "defaultMessage": "Average number of years a person can expect to live", + "description": "Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show an indicator desciption of Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show an indicator desciption of Average number of years of life a person can expect to live" + }, + "explore.tool.page.side.panel.indicator.description.ling.iso": { + "defaultMessage": "Percent of households where no one over the age 14 speaks English well", + "description": "Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show an indicator desciption of Households in which no one age 14 and over speaks English only or also speaks a language other than English" + }, + "explore.tool.page.side.panel.indicator.description.low.income": { + "defaultMessage": "Household income is less than or equal to twice the federal poverty level", + "description": "Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show an indicator desciption of Household income is less than or equal to twice the federal poverty level" + }, + "explore.tool.page.side.panel.indicator.description.low.med.income": { + "defaultMessage": "Median income calculated as a percent of the area’s median income", + "description": "Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show an indicator desciption of Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show an indicator desciption of Median income calculated as a percent of the area’s median income" + }, + "explore.tool.page.side.panel.indicator.description.med.home.val": { + "defaultMessage": "Median home value in area", + "description": "Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show an indicator desciption of Meidan home value in area" + }, + "explore.tool.page.side.panel.indicator.description.pm25": { + "defaultMessage": "Fine inhalable particles, 2.5 micrometers or smaller", + "description": "Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show an indicator desciption of Fine inhalable particles, 2.5 micrometers and smaller" + }, + "explore.tool.page.side.panel.indicator.description.poverty": { + "defaultMessage": "Percent of a census tract's population in households where the household income is at or below 100% of the Federal poverty level", + "description": "Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show an indicator desciption of Percent of individuals in households where the household income is at or below 100% of the federal poverty level" + }, + "explore.tool.page.side.panel.indicator.description.prox.haz": { + "defaultMessage": "Count of hazardous waste facilities within 5 kilometers", + "description": "Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show an indicator desciption of Count of hazardous waste facilities within 5 kilometers" + }, + "explore.tool.page.side.panel.indicator.description.prox.npl": { + "defaultMessage": "Proposed or listed NPL (Superfund) sites within 5 kilometers", + "description": "Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show an indicator desciption of Proposed or listed NPL (Superfund) sites within 5 kilometers" + }, + "explore.tool.page.side.panel.indicator.description.prox.rmp": { + "defaultMessage": "RMP facilities within 5 kilometers", + "description": "Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show an indicator desciption of Risk Management Plan facilities within 5 kilometers" + }, + "explore.tool.page.side.panel.indicator.description.trafficVolume": { + "defaultMessage": "Count of vehicles at major roads within 500 meters", + "description": "Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show an indicator desciption of Count of vehicles at major roads within 500 meters" + }, + "explore.tool.page.side.panel.indicator.description.unemploy": { + "defaultMessage": "Number of unemployed people as a percentage of the labor force", + "description": "Navigate to the explore the tool page. When the map is in view, click on the map. The side \n panel will show an indicator desciption of Number of unemployed people as a percentage of the labor force" + }, + "explore.tool.page.side.panel.indicator.description.wasteWater": { + "defaultMessage": "Toxic concentrations at stream segments within 500 meters", + "description": "Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show an indicator desciption of Toxic concentrations at stream segments within 500 meters" + }, + "explore.tool.page.side.panel.indicator.diabetes": { + "defaultMessage": "Diabetes", + "description": "Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show Diabetes" + }, + "explore.tool.page.side.panel.indicator.dieselPartMatter": { + "defaultMessage": "Diesel particulate matter exposure", + "description": "Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show Diesel particulate matter exposure" + }, + "explore.tool.page.side.panel.indicator.energyBurden": { + "defaultMessage": "Energy burden", + "description": "Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show Energy burden" + }, + "explore.tool.page.side.panel.indicator.exp.ag.loss": { + "defaultMessage": "Expected agriculture loss rate", + "description": "Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show agriculture loss rate\n" + }, + "explore.tool.page.side.panel.indicator.exp.bld.loss": { + "defaultMessage": "Expected building loss rate", + "description": "Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show building loss rate\n" + }, + "explore.tool.page.side.panel.indicator.exp.pop.loss": { + "defaultMessage": "Expected population loss rate", + "description": "Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show population loss rate\n" + }, + "explore.tool.page.side.panel.indicator.heartDisease": { + "defaultMessage": "Heart disease", + "description": "Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show Heart disease" + }, + "explore.tool.page.side.panel.indicator.high.ed": { + "defaultMessage": "Higher education non-enrollement", + "description": "Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show Higher ed degree achievement rate\n" + }, + "explore.tool.page.side.panel.indicator.high.school": { + "defaultMessage": "High school degree non-attainment", + "description": "Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show High school degree achievement rate" + }, + "explore.tool.page.side.panel.indicator.houseBurden": { + "defaultMessage": "Housing cost burden", + "description": "Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show Housing cost burden" + }, + "explore.tool.page.side.panel.indicator.leadPaint": { + "defaultMessage": "Lead paint", + "description": "Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show Lead paint" + }, + "explore.tool.page.side.panel.indicator.lifeExpect": { + "defaultMessage": "Low life expectancy", + "description": "Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show Low life expectancy" + }, + "explore.tool.page.side.panel.indicator.ling.iso": { + "defaultMessage": "Linguistic isolation", + "description": "Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show Linguistic isolation" + }, + "explore.tool.page.side.panel.indicator.low.income": { + "defaultMessage": "Low income", + "description": "Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show low income" + }, + "explore.tool.page.side.panel.indicator.low.med.income": { + "defaultMessage": "Low median income", + "description": "Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show Low median income" + }, + "explore.tool.page.side.panel.indicator.med.home.val": { + "defaultMessage": "Median home value", + "description": "Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show Housing cost burden" + }, + "explore.tool.page.side.panel.indicator.pm25": { + "defaultMessage": "PM2.5 in the air", + "description": "Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show PM2.5 in the air" + }, + "explore.tool.page.side.panel.indicator.poverty": { + "defaultMessage": "Poverty", + "description": "Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show Unemployment" + }, + "explore.tool.page.side.panel.indicator.prox.haz": { + "defaultMessage": "Proximity to hazardous waste facilities", + "description": "Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show Proximity to hazardous waste facilities" + }, + "explore.tool.page.side.panel.indicator.prox.npl": { + "defaultMessage": "Proximity to National Priorities List (NPL) sites", + "description": "Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show Count of proposed or listed NPL " + }, + "explore.tool.page.side.panel.indicator.prox.rmp": { + "defaultMessage": "Proximity to Risk Management Plan (RMP) facilities", + "description": "Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show Count of proposed or listed RMP" + }, + "explore.tool.page.side.panel.indicator.title.clean.energy": { + "defaultMessage": "Clean energy and energy efficiency", + "description": "Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show Clean, efficient energy title\n" + }, + "explore.tool.page.side.panel.indicator.title.clean.transport": { + "defaultMessage": "Clean transit", + "description": "Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show Clean transportation title\n" + }, + "explore.tool.page.side.panel.indicator.title.clean.water": { + "defaultMessage": "Clean water and waste infrastructure", + "description": "Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show Clean water and waste title\n" + }, + "explore.tool.page.side.panel.indicator.title.climate": { + "defaultMessage": "Climate change", + "description": "Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show Climate change title\n" + }, + "explore.tool.page.side.panel.indicator.title.health.burden": { + "defaultMessage": "Health burdens", + "description": "Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show Health burdens title\n" + }, + "explore.tool.page.side.panel.indicator.title.legacy.pollution": { + "defaultMessage": "Legacy pollution", + "description": "Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show Legacy pollution title\n" + }, + "explore.tool.page.side.panel.indicator.title.sustain.house": { + "defaultMessage": "Sustainable housing", + "description": "Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show Sustainable housing title\n" + }, + "explore.tool.page.side.panel.indicator.title.work.dev": { + "defaultMessage": "Workforce development", + "description": "Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show Workforce development title\n" + }, + "explore.tool.page.side.panel.indicator.trafficVolume": { + "defaultMessage": "Traffic proximity and volume", + "description": "Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show Traffic proximity and volume" + }, + "explore.tool.page.side.panel.indicator.unemploy": { + "defaultMessage": "Unemployment", + "description": "Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show Unemployment" + }, + "explore.tool.page.side.panel.indicator.wasteWater": { + "defaultMessage": "Wastewater discharge", + "description": "Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show Wastewater discharge" + }, + "explore.tool.page.side.panel.info.alt.text.icon1": { + "defaultMessage": "An icon that has depicts pieces of a block selected mimicing the census block census tracts", + "description": "Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show Things to know, this is the first icon in this side panel" + }, + "explore.tool.page.side.panel.info.alt.text.icon2": { + "defaultMessage": "An icon that a bell curve or gaussian distribution", + "description": "Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show Things to know, this is the second icon in this side panel" + }, + "explore.tool.page.side.panel.info.alt.text.icon3": { + "defaultMessage": "An icon that depicts a part of pie chart being removed", + "description": "Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show Things to know, this is the third icon in this side panel" + }, + "explore.tool.page.side.panel.info.alt.text.icon4": { + "defaultMessage": "An icon that has an up arrow and a down arrow", + "description": "Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show Things to know, this is the forth icon in this side panel" + }, + "explore.tool.page.side.panel.info.para1": { + "defaultMessage": "This tool identifies communities that are marginalized, underserved, and overburdened by pollution. These communities are located in census tracts that are at or above the thresholds in one or more of eight categories of criteria.", + "description": "Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show Things to know, this is the first paragraph of this side panel" + }, + "explore.tool.page.side.panel.info.para2": { + "defaultMessage": "The tool uses census tracts that represent about 4,000 people, which is the smallest unit of geography for which consistent data can be displayed on the tool.", + "description": "Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show Things to know, this is the second paragraph of this side panel" + }, + "explore.tool.page.side.panel.info.para3": { + "defaultMessage": "The tool ranks each census tract using percentiles that show how much burden each tract experiences relative to all other tracts, for each criteria.", + "description": "Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show Things to know, this is the third paragraph of this side panel" + }, + "explore.tool.page.side.panel.info.para4": { + "defaultMessage": "Percentages are used for certain variables, i.e. those relating to high school achievement rate and to the share of individuals not currently enrolled in higher education.", + "description": "Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show Things to know, this is the forth paragraph of this side panel" + }, + "explore.tool.page.side.panel.info.para5": { + "defaultMessage": "Thresholds for each category determine if a tract should be identified as disadvantaged because it has exceeded a certain value for the relevant indicators.", + "description": "Navigate to the explore the tool page. When the map is in view, click on the map. The side panelwill show Things to know, this is the fifth paragraph of this side pane" + }, + "explore.tool.page.side.panel.info.title": { + "defaultMessage": "Things to know", + "description": "introductory text of ways to use the map" + }, + "explore.tool.page.side.panel.is.community.of.focus": { + "defaultMessage": "Identified as disadvantaged?", + "description": "Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show asking IF the communities is focused on" + }, + "explore.tool.page.side.panel.not.community.of.focus": { + "defaultMessage": "No", + "description": "Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show the communities the score currently is not focused on" + }, + "explore.tool.page.side.panel.num.categories.exceeded": { + "defaultMessage": "Disadvantaged in {numberOfDisCategories} categories", + "description": "Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show how many categories are exceeded" + }, + "explore.tool.page.side.panel.num.thresholds.exceeded": { + "defaultMessage": "At or above {numberOfThresholdExceed} thresholds", + "description": "Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show how many thresholds are exceeded" + }, + "explore.tool.page.side.panel.send.feedback.email.body": { + "defaultMessage": "Please provide feedback about this census tract, including about the datasets, the data categories provided for this census tract, the communities who live in this census tract, and anything else relevant that CEQ should know about this census tract.", + "description": "Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show link to send feedback\n" + }, + "explore.tool.page.side.panel.send.feedback.title": { + "defaultMessage": "Send feedback", + "description": "Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show link to send feedback" + }, + "explore.tool.page.side.panel.version.title": { + "defaultMessage": "Methodology version {version}", + "description": "Navigate to the explore the tool page. When the map is in view, click on the map. The side panel will show the methodology version number" + }, + "explore.tool.page.title.text": { + "defaultMessage": "Explore the tool", + "description": "On the explore the tool page, the title of the page" + }, + "explore.tool.page.under.map.download.draft.ptag.1": { + "defaultMessage": "Download the current list of communities and datasets used (ZIP file will contain one .xlsx and one .csv, with a size of {downloadFileSize} unzipped). Last updated: {dateUpdated}.", + "description": "\n Navigate to the explore the tool page. Under the map, you will see a link that is placed below the \n map that will download the data packet\n " + }, + "explore.tool.page.under.map.how.you.can.help.heading": { + "defaultMessage": "How you can help improve the tool", + "description": "Navigate to the explore the tool page. Under the map, you will see how one can help us improve the tool" + }, + "explore.tool.page.under.map.how.you.can.help.list.item.1": { + "defaultMessage": "View the Methodology & data page and send feedback.", + "description": "\n Navigate to the explore the tool page. Under the map, you will see give us feedback on our data and methodology\n " + }, + "explore.tool.page.under.map.how.you.can.help.list.item.2": { + "defaultMessage": "Use the tool to find communities and share your feedback.", + "description": "Navigate to the explore the tool page. Under the map, you will see share your feedback" + }, + "explore.tool.page.under.map.how.you.can.help.list.item.3": { + "defaultMessage": "Respond to our Request for Information on federalregister.gov.", + "description": "Navigate to the explore the tool page. Under the map, you will see share your feedback" + }, + "explore.tool.page.under.map.note.on.territories.intro": { "defaultMessage": "A note on the U.S. territories", - "description": "territories intro text" + "description": "Navigate to the explore the tool page. Under the map, you will see territories intro text" }, - "explore.page.note.on.territories.para.1": { - "defaultMessage": "The data sources described on the {dataMethLink} page are used to identify disadvantaged communities in all fifty states and the District of Columbia. However, not all of these data sources are currently available for the U.S. territories.", - "description": "territories paragraph 1" + "explore.tool.page.under.map.note.on.territories.para.1": { + "defaultMessage": "The data sources described on the Methodology & data page are used to identify disadvantaged communities in all fifty states and the District of Columbia. However, not all of these data sources are currently available for the U.S. territories.", + "description": "Navigate to the explore the tool page. Under the map, you will see territories paragraph 1" }, - "explore.page.note.on.territories.para.2": { + "explore.tool.page.under.map.note.on.territories.para.2": { "defaultMessage": "For Puerto Rico, the Census Bureau’s American Community Survey data from 2015-2019 are used for higher ed enrollment rate and all the other fields in the Training and Workforce Development category to identify disadvantaged communities. Data in the other categories are unavailable at this time.", - "description": "territories paragraph 2" + "description": "Navigate to the explore the tool page. Under the map, you will see territories paragraph 2" }, - "explore.page.note.on.territories.para.3": { + "explore.tool.page.under.map.note.on.territories.para.3": { "defaultMessage": "For American Samoa and the Northern Mariana Islands, the data used to identify disadvantaged communities are from the 2010 Decennial Census, the last reported data from the U.S. Census Bureau. Available data for these territories includes unemployment, poverty, low median income, and high school degree achievement rate fields in the Training and Workforce Development category.", - "description": "territories paragraph 3" + "description": "Navigate to the explore the tool page. Under the map, you will see territories paragraph 3" }, - "explore.page.note.on.territories.para.4": { + "explore.tool.page.under.map.note.on.territories.para.4": { "defaultMessage": "Work is currently underway to identify disadvantaged communities and update the tool accordingly for Guam and the U.S. Virgin Islands.", - "description": "territories paragraph 4" + "description": "Navigate to the explore the tool page. Under the map, you will see territories paragraph 4" }, - "explore.page.note.on.tribal.nations.intro": { + "explore.tool.page.under.map.note.on.tribal.nations.intro": { "defaultMessage": "A note on Tribal Nations", - "description": "tribal nations intro text" + "description": "Navigate to the explore the tool page. Under the map, you will see tribal nations intro text" }, - "explore.page.note.on.tribal.nations.para.1": { - "defaultMessage": "The tool covers all U.S. census tracts, including those located within Tribal Nations, to the extent that data is available (see our {dataMethLink} page for more information). CEQ is engaging in consultation and coordination with Tribal Nations on the beta version of the tool to provide Tribal Nations with meaningful opportunities for input, consistent with CEQ’s {actionPlanTribalNation}, {bidenMemoNat2Nat}, and Executive Order 13175 on {coordinateTribal}.", - "description": "tribal nations paragraph 1" - }, - "explore.page.threshold.count.exceed": { - "defaultMessage": "{disadvCount} of {totalCount} thresholds exceeded", - "description": "threshold exceeded count" - }, - "exploreTool.heading.text": { - "defaultMessage": "Explore the tool", - "description": "explore the tool heading text" - }, - "exploreTool.page.description": { - "defaultMessage": "Use the map to see communities that are identified as disadvantaged. The map uses publicly-available, nationally-consistent datasets. Learn more about the methodology and datasets that were used to identify disavantaged communities in the current version of the tool on the {methodologyLink} page.", - "description": "page description" - }, - "exploreTool.title.text": { - "defaultMessage": "Explore the tool", - "description": "explore the tool title text" + "explore.tool.page.under.map.note.on.tribal.nations.para.1": { + "defaultMessage": "The tool covers all U.S. census tracts, including those located within Tribal Nations, to the extent that data is available (see our Methodology & data page for more information). CEQ is engaging in consultation and coordination with Tribal Nations on the beta version of the tool to provide Tribal Nations with meaningful opportunities for input, consistent with CEQ’s Action Plan for Consultation and Coordination with Tribal Nations, President Biden’s Memorandum on Tribal Consultation and Strengthening Nation-to-Nation Consultation, and Executive Order 13175 on Consulation and Coordination With Indian Tribal Governments.", + "description": "Navigate to the explore the tool page. Under the map, you will see tribal nations paragraph 1" }, "fab.survey.text": { "defaultMessage": "Help improve the site & data", - "description": "text for floating action button" - }, - "federal.pm.heading": { - "defaultMessage": "Federal program managers", - "description": "sub heading of page" - }, - "federal.pm.info": { - "defaultMessage": "Download the tool’s current list of communities, explore data that may be useful to your program, and provide feedback on the tool.", - "description": "sub heading of page" - }, - "federal.pm.link": { - "defaultMessage": "Methodology & data", - "description": "link text to go to methodology page" - }, - "footer.arialabel": { - "defaultMessage": "Footer navigation", - "description": "aria-label text for whole footer" - }, - "footer.contactheader": { - "defaultMessage": "Contact", - "description": "Footer column header" - }, - "footer.findcontact": { - "defaultMessage": "Find a contact at USA.gov", - "description": "Footer find contact link text" - }, - "footer.findcontact.link": { - "defaultMessage": "https://www.usa.gov/", - "description": "Footer find contact link text" - }, - "footer.foia.text": { - "defaultMessage": "Freedom of Information Act (FOIA)", - "description": "Footer FOIA link text" - }, - "footer.logo.title": { - "defaultMessage": "Council on Environmental Quality", - "description": "Footer under logo" - }, - "footer.moreinfoheader": { - "defaultMessage": "More information", - "description": "Footer column header" - }, - "footer.privacy.link": { - "defaultMessage": "https://www.whitehouse.gov/privacy/", - "description": "Footer privacy policy link text" - }, - "footer.privacy.text": { - "defaultMessage": "Privacy Policy", - "description": "Footer privacy policy link text" - }, - "footer.questionsheader": { - "defaultMessage": "Have a question about government services?", - "description": "Footer column header" - }, - "footer.whitehouse.link": { - "defaultMessage": "https://www.whitehouse.gov/", - "description": "Footer Whitehouse.gov link text" - }, - "footer.whitehouse.text": { - "defaultMessage": "Whitehouse.gov", - "description": "Footer Whitehouse.gov link text" - }, - "footer.whitehouselogoalt": { - "defaultMessage": "Whitehouse logo", - "description": "Footer Whitehouse logo alt text" - }, - "getInvolved.title": { - "defaultMessage": "Get involved", - "description": "sub heading of page" - }, - "header.about": { - "defaultMessage": "About", - "description": "Header navigate item to the about page" - }, - "header.contact": { - "defaultMessage": "Contact", - "description": "Header navigate item to the Contact page" - }, - "header.explore": { - "defaultMessage": "Explore the tool", - "description": "Header navigate item to the Explore the tool page" - }, - "header.methodology": { - "defaultMessage": "Methodology & data", - "description": "Header navigate item to the Methodology page" - }, - "header.title.line1": { - "defaultMessage": "Climate and Economic Justice", - "description": "Title in nav header line 1 of 2" - }, - "header.title.line2": { - "defaultMessage": "Screening Tool", - "description": "Title in nav header line 2 of 2" - }, - "howToGetStarted.title": { - "defaultMessage": "How to get started", - "description": "sub heading of page" - }, - "index.heading.about.us": { - "defaultMessage": "About", - "description": "main heading for about page" - }, - "index.heading.justice40": { - "defaultMessage": "The Justice40 Initiative", - "description": "heading for about justice 40" - }, - "index.heading.screentool": { - "defaultMessage": "Screening tool", - "description": "heading for about screening tool" - }, - "indicator.categories.afford.house.if": { - "defaultMessage": "{if} at or above the 90th percentile for {lead} AND {medianHomeVal} is at or less than the 90th percentile OR at or above the 90th percentile for the {houseBur}", - "description": "if portion of the formula" + "description": "Navigate to the the public engagement page, this will be the text for floating action button" }, "indicator.categories.afford.house.title": { "defaultMessage": "Affordable and sustainable housing", - "description": "category title" - }, - "indicator.categories.afford.housing.methodology": { - "defaultMessage": "Affordable and sustainable housing category", - "description": "Affordable and sustainable housing methodology" - }, - "indicator.categories.clean.energy.if": { - "defaultMessage": "{if} at or above the 90th percentile for {energyCostBur} OR {pm25}", - "description": "if portion of the formula" - }, - "indicator.categories.clean.energy.methodology": { - "defaultMessage": "Clean energy and energy efficiency category", - "description": "Clean energy and energy efficiency methodology" + "description": "Navigate to the methodology page. Navigate to the category section. This will set the category title" }, "indicator.categories.clean.energy.title": { "defaultMessage": "Clean energy and energy efficiency", - "description": "category title" - }, - "indicator.categories.clean.transport.if": { - "defaultMessage": "{if} at or above the 90th percentile for {dieselPM} or {traffic}", - "description": "if portion of the formula" - }, - "indicator.categories.clean.transport.methodology": { - "defaultMessage": "Clean transit category", - "description": "Clean transportation methodology" + "description": "Navigate to the methodology page. Navigate to the category section. This will set the category title" }, "indicator.categories.clean.transport.title": { "defaultMessage": "Clean transit", - "description": "category title" - }, - "indicator.categories.clean.water.if": { - "defaultMessage": "{if} at or above the 90th percentile for {wasteWater}", - "description": "if portion of the formula" - }, - "indicator.categories.clean.water.methodology": { - "defaultMessage": "Critical clean water and waste infrastructure category", - "description": "Critical clean water and waste infrastructure methodology" + "description": "Navigate to the methodology page. Navigate to the category section. This will set the category title" }, "indicator.categories.clean.water.title": { "defaultMessage": "Critical clean water and waste infrastructure", - "description": "category title" - }, - "indicator.categories.climate.change.if": { - "defaultMessage": "{if} at or above the 90th percentile for {expAgrLossRate} OR {expbuildLossRate} OR {expPopLossRate}", - "description": "if portion of the formula" - }, - "indicator.categories.climate.change.methodology": { - "defaultMessage": "Climate change category", - "description": "climate change methodology" - }, - "indicator.categories.climate.change.title": { - "defaultMessage": "Climate change", - "description": "category title" - }, - "indicator.categories.heading": { - "defaultMessage": "Categories", - "description": "category heading" - }, - "indicator.categories.health.burdens.if": { - "defaultMessage": "{if} at or above the 90th percentile for {asthma} OR {diabetes} OR {heart} OR {life}", - "description": "if portion of the formula" - }, - "indicator.categories.health.burdens.methodology": { - "defaultMessage": "Health burdens category", - "description": "Health burdens methodology" + "description": "Navigate to the methodology page. Navigate to the category section. This will set the category title" }, "indicator.categories.health.burdens.title": { "defaultMessage": "Health burdens", - "description": "category title" - }, - "indicator.categories.legacy.pollute.methodology": { - "defaultMessage": "Reduction and remediation of legacy pollution category", - "description": "Reduction and remediation of legacy pollution methodology" - }, - "indicator.categories.legacy.pollution.if": { - "defaultMessage": "{if} at or above the 90th percentile for {proxHaz} OR {proxNPL} OR {proxRMP}", - "description": "if portion of the formula" + "description": "Navigate to the methodology page. Navigate to the category section. This will set the category title" }, "indicator.categories.legacy.pollution.title": { "defaultMessage": "Reduction and remediation of legacy pollution", - "description": "category title" - }, - "indicator.categories.work.dev.if": { - "defaultMessage": "{if} at or above the 90th percentile for {lowMedInc} as a percentage of area median income OR {linIso} OR {unemploy} OR percent individuals in households at or below 100% Federal {poverty} level", - "description": "if portion of the formula" + "description": "Navigate to the methodology page. Navigate to the category section. This will set the category title" }, "indicator.categories.work.dev.title": { "defaultMessage": "Training and workforce development", - "description": "category title" - }, - "indicator.categories.workforce.dev.methodology": { - "defaultMessage": "Training and workforce development category", - "description": "Training and workforce development" - }, - "join.open.source.info": { - "defaultMessage": "The tool’s code is open source, which means it is available for the public to view and contribute to it.", - "description": "info on joining open source community" - }, - "join.open.source.link": { - "defaultMessage": "Check it out on GitHub", - "description": "link to github repository" - }, - "join.opensource.heading": { - "defaultMessage": "Join the open source community", - "description": "join the community heading" - }, - "legend.info.priority.label": { - "defaultMessage": "Disadvantaged community", - "description": "the label of the prioritized community legend" - }, - "legend.info.threshold.label": { - "defaultMessage": "Communities identified as disadvantaged by the tool are those that are marginalized, underserved, and overburdened by pollution. These communities are at or above the thresholds in one or more of eight categories of criteria.", - "description": "the label of the threshold community legend" - }, - "low.income.heading": { - "defaultMessage": "Low Income", - "description": "title of section describing low income" - }, - "low.income.info": { - "defaultMessage": "At or above 65th percentile for percent of census tract population of households where household income is at or below 200% of the Federal poverty level", - "description": "description of low income" - }, - "map.search.placeholder.text": { - "defaultMessage": "Enter a city, state or ZIP", - "description": "placeholder text for search" - }, - "map.search.results.empty.text": { - "defaultMessage": "No location found. Please try again.", - "description": "text displaying message for no search results found" - }, - "map.territoryFocus.alaska.long": { - "defaultMessage": "Alaska", - "description": "The full name indicating the bounds of Alaska" - }, - "map.territoryFocus.alaska.short": { - "defaultMessage": "AK", - "description": "The abbreviated indicating the bounds of Alaska" - }, - "map.territoryFocus.american.samoa.long": { - "defaultMessage": "American Samoa", - "description": "The full name indicating the bounds of American Somoa" - }, - "map.territoryFocus.american.samoa.short": { - "defaultMessage": "AS", - "description": "The abbreviated name indicating the bounds of American Somoa" - }, - "map.territoryFocus.commonwealth.nmp.long": { - "defaultMessage": "Commonwealth of Northern Mariana Islands", - "description": "The full name indicating the bounds of Commonwealth of Northern Mariana Islands" - }, - "map.territoryFocus.commonwealth.nmp.short": { - "defaultMessage": "MP", - "description": "The abbreviated name indicating the bounds of Commonwealth of Northern Mariana Islands" + "description": "Navigate to the methodology page. Navigate to the category section. This will set the category title" }, "map.territoryFocus.focusOn": { "defaultMessage": "Focus on {territory}", "description": "Focus on the bounds of a specific territory" }, - "map.territoryFocus.guam.long": { - "defaultMessage": "Guam", - "description": "The full name indicating the bounds of Guam" - }, - "map.territoryFocus.guam.short": { - "defaultMessage": "GU", - "description": "The abbreviated name indicating the bounds of Guam" - }, - "map.territoryFocus.hawaii.long": { - "defaultMessage": "Hawaii", - "description": "The longer name indicating the bounds of Hawaii" - }, - "map.territoryFocus.hawaii.short": { - "defaultMessage": "HI", - "description": "The abbreviated name indicating the bounds of Hawaii" - }, - "map.territoryFocus.lower48.long": { - "defaultMessage": "Lower 48", - "description": "The longer name indicating the bounds of the Lower 48 states" - }, - "map.territoryFocus.lower48.short": { - "defaultMessage": "48", - "description": "The abbreviated name indicating the bounds of the Lower 48 states" - }, - "map.territoryFocus.puerto_rico.long": { - "defaultMessage": "Puerto Rico", - "description": "The full name indicating the bounds of Puerto Rico" - }, - "map.territoryFocus.puerto_rico.short": { - "defaultMessage": "PR", - "description": "The abbreviated name indicating the bounds of Puerto Rico" - }, - "map.territoryFocus.us.virgin.islands.long": { - "defaultMessage": "US Virgin Islands", - "description": "The full name indicating the bounds of US Virgin Islands" - }, - "map.territoryFocus.us.virgin.islands.short": { - "defaultMessage": "VI", - "description": "The abbreviated name indicating the bounds of US Virgin Islands" - }, - "map.zoom.warning": { - "defaultMessage": "Zoom in to the state or regional level to see prioritized communities on the map.", - "description": "zoom warning on map" - }, - "mapIntro.censusBlockGroupDefinition": { - "defaultMessage": "A census tract is generally between 1,200 to 8,000 people, with an average size of 4,000 people. Census tracts are small, relatively permanent subdivisions of a county defined by the U.S. Census Bureau and usually cover a contiguous area. The census tract level currently represents the smallest geographical unit for which publicly-available and nationally-consistent datasets can be consistently displayed on the tool.", - "description": "cites the definition and helpful information about census groups" - }, - "mapIntro.didYouKnow": { - "defaultMessage": "Did you know?", - "description": "text prompting a cite paragraph" - }, - "mapIntro.mapIntroHeader": { - "defaultMessage": "Zoom and select a census tract to view data", - "description": "introductory text of ways to use the map" - }, - "methodologies.all.except.workforce.used.in.text": { - "defaultMessage": "All categories except for the training and workforce development catetory", - "description": "used in text for all methodologies" - }, - "methodology.category.card.title": { - "defaultMessage": "Communities are {idAsDisadv}", - "description": "category heading" - }, - "methodology.paage.category.and.clause.hs.ed.higher.ed": { - "defaultMessage": "{and} is at or less than 90% for {highSchoolRate} for adults 25 years and older AND at or below 20% for {highEdEnrollRate}", - "description": "and portion of the formula dealing with higher ed enrollment and high school degree rate" - }, - "methodology.paage.category.and.clause.low.inc.hs.ed": { - "defaultMessage": "{and} is above the 65th percentile for {lowIncome} AND at or below 20% for {highEdEnrollRate}", - "description": "and portion of the formula dealing with lower income and high school degree rate" - }, "methodology.page.categories.title": { "defaultMessage": "Communities are identified as disadvantaged by the current version of the tool for the purposes of the Justice40 Initiative if they are located in census tracts that are at or above the thresholds in one or more of eight categories of criteria below.", - "description": "methodology page explanation of the categories" + "description": "Navigate to the methodology page. This is the methodology page explanation of the categories" + }, + "methodology.page.category.and.clause.hs.ed.higher.ed": { + "defaultMessage": "AND 10% or more of adults 25 or older have not attained a high school degree AND 80% or more of adults 15 or older are not enrolled in higher education", + "description": "Navigate to the methodology page. Navigate to the category section. This is the portion of the formula dealing with higher ed enrollment and high school degree rate" + }, + "methodology.page.category.and.clause.low.inc.hs.ed": { + "defaultMessage": "AND is above the 65th percentile for low income AND 80% or more of adults 15 or older are not enrolled in higher education", + "description": "Navigate to the methodology page. Navigate to the category section. This is category portion of the formula dealing with lower income and high school degree rate" + }, + "methodology.page.category.asthma.description.text": { + "defaultMessage": "Weighted percent of people who answer “yes” to both of the following questions: “Have you ever been told by a doctor, nurse, or other health professional that you have asthma?” and “Do you still have asthma?”", + "description": "Navigate to the Methodology page. This is the description text for asthma" + }, + "methodology.page.category.card.title": { + "defaultMessage": "Communities are identified as disadvantaged", + "description": "Navigate to the methodology page. Navigate to the category section. This is category heading" + }, + "methodology.page.category.diabetes.description.text": { + "defaultMessage": "Weighted percent of people ages 18 years and older who report having ever been told by a doctor, nurse, or other health professionals that they have diabetes other than diabetes during pregnancy.", + "description": "Navigate to the Methodology page. This is the description text for diabetes" + }, + "methodology.page.category.diesel.pm.description.text": { + "defaultMessage": "Mixture of particles that is part of diesel exhaust in the air. The value in the fields is the weight of these particles in micrograms per cubic meter.", + "description": "Navigate to the Methodology page. This is the description text for diesel pm" + }, + "methodology.page.category.energy.burden.description.text": { + "defaultMessage": "Average annual energy cost per household ($) divided by average household income.", + "description": "Navigate to the Methodology page. This is the description text for energy burden" + }, + "methodology.page.category.exp.agr.loss.rate.description.text": { + "defaultMessage": "Percent of agriculture value at risk from losses due to fourteen types of natural hazards that have some link to climate change: avalanche, coastal flooding, cold wave, drought, hail, heat wave, hurricane, ice storm, landslide, riverine flooding, strong wind, tornado, wildfire, and winter weather. Rate calculated by dividing the agriculture value at risk in a census tract by the total agriculture value in that census tract.", + "description": "Navigate to the Methodology page. This is the description text for exp agr loss rate" + }, + "methodology.page.category.exp.bld.loss.rate.description.text": { + "defaultMessage": "Percent of building value at risk from losses due to fourteen types of natural hazards that have some link to climate change: avalanche, coastal flooding, cold wave, drought, hail, heat wave, hurricane, ice storm, landslide, riverine flooding, strong wind, tornado, wildfire, and winter weather. Rate calculated by dividing the building value at risk in a census tract by the total building value in that census tract.", + "description": "Navigate to the Methodology page. This is the description text for exp bld loss rate" + }, + "methodology.page.category.exp.pop.loss.rate.description.text": { + "defaultMessage": "Rate relative to the population of fatalities and injuries due to fourteen types of natural hazards each year that have some link to climate change: avalanche, coastal flooding, cold wave, drought, hail, heat wave, hurricane, ice storm, landslide, riverine flooding, strong wind, tornado, wildfire, and winter weather. Population loss is defined as the Spatial Hazard Events and Losses or National Centers for Environmental Information’s (NCEI) reported number of fatalities and injuries caused by the hazard occurrence. To combine fatalities and injuries for the computation of population loss value, an injury is counted as one-tenth (1/10) of a fatality. The NCEI Storm Events Database classifies injuries and fatalities as direct or indirect. Both direct and indirect injuries and fatalities are counted as population loss. This total number of injuries and fatalities is then divided by the population in the census tract to get a per-capita rate of population risk.", + "description": "Navigate to the Methodology page. This is the description text for exp pop loss rate" + }, + "methodology.page.category.heart.disease.description.text": { + "defaultMessage": "Weighted percent of people ages 18 years and older who report ever having been told by a doctor, nurse, or other health professionals that they had angina or coronary heart disease.", + "description": "Navigate to the Methodology page. This is the description text for heart disease" + }, + "methodology.page.category.high.ed.enroll.rate.description.text": { + "defaultMessage": "Percent of people 15 or older who are not currently enrolled in college, university, or graduate school.", + "description": "Navigate to the Methodology page. This is the description text for high ed enrollment" + }, + "methodology.page.category.highschool.description.text": { + "defaultMessage": "Percent of people age 25 years or older in a census tract whose education level is less than a high school diploma.", + "description": "Navigate to the Methodology page. This is the description text for high school" + }, + "methodology.page.category.house.burden.description.text": { + "defaultMessage": "Percent of households in a census tract that are both earning less than 80% of HUD Area Median Family Income by county and are spending more than 30% of their income on housing costs.", + "description": "Navigate to the Methodology page. This is the description text for housing burden" + }, + "methodology.page.category.lead.paint.description.text": { + "defaultMessage": "Percent of housing units built pre-1960, used as an indicator of potential lead paint exposure in census tracts with median home values less than the 90th percentile.", + "description": "Navigate to the Methodology page. This is the description text for lead paint" + }, + "methodology.page.category.linguistic.iso.description.text": { + "defaultMessage": "Percent of households where no one over the age 14 speaks English well.", + "description": "Navigate to the Methodology page. This is the description text for linguistic isolation" + }, + "methodology.page.category.low.income.description.text": { + "defaultMessage": "Percent of a census tract's population in households where household income is at or below 200% of the Federal poverty level.", + "description": "Navigate to the Methodology page. This is the description text for low income" + }, + "methodology.page.category.low.life.expectancy.description.text": { + "defaultMessage": "Average number of years of life a person who has attained a given age can expect to live.", + "description": "Navigate to the Methodology page. This is the description text for low life expectancy" + }, + "methodology.page.category.low.life.expectancy.note.text": { + "defaultMessage": "Note: The percentiles for this dataset have been reversed so that census tracts with lower numbers have higher life expectancies and the census tracts with higher numbers have lower life expectancy when compared to life expectancy in the area.", + "description": "Navigate to the Methodology page. This is the note text for low life expectancy" + }, + "methodology.page.category.low.median.expectancy.note.text": { + "defaultMessage": "Note: The percentiles for this dataset have been reversed so that census tracts with lower numbers have higher median incomes and census tracts with the higher numbers have lower median income when compared to area median income.", + "description": "Navigate to the Methodology page. This is the note text for low median expectancy" + }, + "methodology.page.category.median.home.value.description.text": { + "defaultMessage": "Median home value of owner-occupied housing units in the census tract.", + "description": "Navigate to the Methodology page. This is the description text for lead paint" + }, + "methodology.page.category.pm2.5.description.text": { + "defaultMessage": "Fine inhalable particles, with diameters that are generally 2.5 micrometers and smaller. The value in the fields is the weight of these particles in micrograms per cubic meter.", + "description": "Navigate to the Methodology page. This is the description text for pm 2.5" + }, + "methodology.page.category.poverty.description.text": { + "defaultMessage": "Percent of a census tract's population in households where the household income is at or below 100% of the Federal poverty level.", + "description": "Navigate to the Methodology page. This is the description text for poverty" + }, + "methodology.page.category.prox.haz.description.text": { + "defaultMessage": "Count of hazardous waste facilities (Treatment, Storage, and Disposal Facilities and Large Quantity Generators) within 5 kilometers (or nearest beyond 5 kilometers), each divided by distance in kilometers.", + "description": "Navigate to the Methodology page. This is the description text for proximity to hazards" + }, + "methodology.page.category.prox.npl.description.text": { + "defaultMessage": "Count of proposed or listed NPL - also known as Superfund - sites within 5 kilometers (or nearest one beyond 5 kilometers), each divided by distance in kilometers.", + "description": "Navigate to the Methodology page. This is the description text for proximity to npl" + }, + "methodology.page.category.prox.rmp.description.text": { + "defaultMessage": "Count of RMP (potential chemical accident management plan) facilities within 5 kilometers (or nearest one beyond 5 kilometers), each divided by distance in kilometers.", + "description": "Navigate to the Methodology page. This is the description text for proximity to rmp" + }, + "methodology.page.category.source.cdc.places.link": { + "defaultMessage": "PLACES data from {date16_19}", + "description": "Navigate to the Methodology page. This is the source link for CDC Places" + }, + "methodology.page.category.source.cdc.sleep.link": { + "defaultMessage": "U.S. Small-area Life Expectancy Estimates Project (USALEEP) from {date10_15}", + "description": "Navigate to the Methodology page. This is the source link for CDC Sleep" + }, + "methodology.page.category.source.census.link.10": { + "defaultMessage": "American Community Survey from {date10}", + "description": "Navigate to the Methodology page. This is the source link for Census ACS" + }, + "methodology.page.category.source.census.link.15": { + "defaultMessage": "American Community Survey from {date15_19}", + "description": "Navigate to the Methodology page. This is the source link for Census ACS" + }, + "methodology.page.category.source.doe.lead.link": { + "defaultMessage": "LEAD Score from {date18}", + "description": "Navigate to the Methodology page. This is the source link for DOE FEMA" + }, + "methodology.page.category.source.dot.epa.link": { + "defaultMessage": "Traffic Data from {date17} as compiled by EPA's EJSCREEN", + "description": "Navigate to the Methodology page. This is the source link for DOT EPA" + }, + "methodology.page.category.source.epa.cerclis.link": { + "defaultMessage": "CERCLIS database from {date20} as compiled by EPA’s EJSCREEN", + "description": "Navigate to the Methodology page. This is the source link for EPA CERCLIS" + }, + "methodology.page.category.source.epa.nata.link": { + "defaultMessage": "National Air Toxics Assessment (NATA) from {date14} as compiled by EPA's EJSCREEN", + "description": "Navigate to the Methodology page. This is the source link for EPA NATA" + }, + "methodology.page.category.source.epa.oar.link": { + "defaultMessage": "Fusion of model and monitor data from {date17} as compiled by EPA’s EJSCREEN, sourced from EPA National Air Toxics Assessment (NATA) and the U.S. Department of Transportation (DOT) traffic data", + "description": "Navigate to the Methodology page. This is the source link for EPA OAR" + }, + "methodology.page.category.source.epa.rmp.link": { + "defaultMessage": "RMP database from {date20} as compiled by EPA’s EJSCREEN", + "description": "Navigate to the Methodology page. This is the source link for EPA RMP" + }, + "methodology.page.category.source.epa.rsei.link": { + "defaultMessage": "Risk-Screening Environmental Indicators (RSEI) Model from {date20} as compiled by EPA’s EJSCREEN", + "description": "Navigate to the Methodology page. This is the source link for EPA RSEI" + }, + "methodology.page.category.source.epa.tsdf.link": { + "defaultMessage": "Treatment, Storage, and Disposal Facilities (TSDF) data from {date20} calculated from EPA's RCRA database as compiled by EPA's EJSCREEN", + "description": "Navigate to the Methodology page. This is the source link for EPA TSDF" + }, + "methodology.page.category.source.fema.link": { + "defaultMessage": "National Risk Index from {date14_21}", + "description": "Navigate to the Methodology page. This is the source link for FEMA" + }, + "methodology.page.category.source.hud.link": { + "defaultMessage": "Comprehensive Housing Affordability Strategy dataset from {date14_18}", + "description": "Navigate to the Methodology page. This is the source link for HUD" + }, + "methodology.page.category.traffic.vol.description.text": { + "defaultMessage": "Count of vehicles (average annual daily traffic) at major roads within 500 meters, divided by distance in meters.", + "description": "Navigate to the Methodology page. This is the description text for traffic volume" + }, + "methodology.page.category.unemploy.description.text": { + "defaultMessage": "Number of unemployed people as a percentage of the civilian labor force.", + "description": "Navigate to the Methodology page. This is the description text for unemployment" + }, + "methodology.page.category.waste.water.description.text": { + "defaultMessage": "Risk-Screening Environmental Indicators (RSEI) modeled toxic concentrations at stream segments within 500 meters, divided by distance in kilometers.", + "description": "Navigate to the Methodology page. This is the description text for waste water" + }, + "methodology.page.category.workforce.dev.description.text": { + "defaultMessage": "Median income of the census tract calculated as a percent of the area’s median income.", + "description": "Navigate to the Methodology page. This is the description text for workforce dev" + }, + "methodology.page.dataset.indicator.asthma.title.text": { + "defaultMessage": "Asthma", + "description": "Navigate to the Methodology page. This is the title text for the asthma dataset" + }, + "methodology.page.dataset.indicator.diabetes.title.text": { + "defaultMessage": "Diabetes", + "description": "Navigate to the Methodology page. This is the title text for the diabetes dataset" + }, + "methodology.page.dataset.indicator.diesel.pm.title.text": { + "defaultMessage": "Diesel particulate matter exposure", + "description": "Navigate to the Methodology page. This is the title text for the diesel pm dataset" + }, + "methodology.page.dataset.indicator.energy.burden.title.text": { + "defaultMessage": "Energy burden", + "description": "Navigate to the Methodology page. This is the title text for the energy burden dataset" + }, + "methodology.page.dataset.indicator.exp.bld.loss.title.text": { + "defaultMessage": "Expected building loss rate", + "description": "Navigate to the Methodology page. This is the title text for the exp bld loss income dataset" + }, + "methodology.page.dataset.indicator.exp.pop.loss.title.text": { + "defaultMessage": "Expected population loss rate", + "description": "Navigate to the Methodology page. This is the title text for the exp pop loss income dataset" + }, + "methodology.page.dataset.indicator.expected.ag.loss.title.text": { + "defaultMessage": "Expected agriculture loss rate", + "description": "Navigate to the Methodology page. This is the title text for the expected agr loss rate income dataset" + }, + "methodology.page.dataset.indicator.heart.disease.title.text": { + "defaultMessage": "Heart disease", + "description": "Navigate to the Methodology page. This is the title text for the heart disease dataset" + }, + "methodology.page.dataset.indicator.high.ed.enroll.title.text": { + "defaultMessage": "Higher education non-enrollment", + "description": "Navigate to the Methodology page. This is the title text for the high ed enrollment dataset" + }, + "methodology.page.dataset.indicator.high.school.title.text": { + "defaultMessage": "High school degree non-attainment", + "description": "Navigate to the Methodology page. This is the title text for the high school dataset" + }, + "methodology.page.dataset.indicator.house.burden.title.text": { + "defaultMessage": "Housing cost burden", + "description": "Navigate to the Methodology page. This is the title text for the house burden dataset" + }, + "methodology.page.dataset.indicator.lead.paint.title.text": { + "defaultMessage": "Lead paint", + "description": "Navigate to the Methodology page. This is the title text for the lead paint dataset" + }, + "methodology.page.dataset.indicator.life.exp.title.text": { + "defaultMessage": "Low life expectancy", + "description": "Navigate to the Methodology page. This is the title text for the life exp dataset" + }, + "methodology.page.dataset.indicator.ling.iso.title.text": { + "defaultMessage": "Linguistic isolation", + "description": "Navigate to the Methodology page. This is the title text for the linguistic isolation dataset" + }, + "methodology.page.dataset.indicator.low.income.title.text": { + "defaultMessage": "Low income", + "description": "Navigate to the Methodology page. This is the title text for the low income dataset" + }, + "methodology.page.dataset.indicator.low.median.income.title.text": { + "defaultMessage": "Low median income", + "description": "Navigate to the Methodology page. This is the title text for the low median income dataset" + }, + "methodology.page.dataset.indicator.median.home.title.text": { + "defaultMessage": "Median home value", + "description": "Navigate to the Methodology page. This is the title text for the median home dataset" + }, + "methodology.page.dataset.indicator.pm25.title.text": { + "defaultMessage": "PM2.5 in the air", + "description": "Navigate to the Methodology page. This is the title text for the pm25 dataset" + }, + "methodology.page.dataset.indicator.poverty.title.text": { + "defaultMessage": "Poverty", + "description": "Navigate to the Methodology page. This is the title text for the poverty dataset" + }, + "methodology.page.dataset.indicator.prox.haz.title.text": { + "defaultMessage": "Proximity to hazardous waste facilities", + "description": "Navigate to the Methodology page. This is the title text for the prox haz dataset" + }, + "methodology.page.dataset.indicator.prox.npl.title.text": { + "defaultMessage": "Proximity to National Priorities List (NPL) sites", + "description": "Navigate to the Methodology page. This is the title text for the prox npl dataset" + }, + "methodology.page.dataset.indicator.prox.rpm.title.text": { + "defaultMessage": "Proximity to Risk Management Plan (RMP) facilities", + "description": "Navigate to the Methodology page. This is the title text for the prox rpm dataset" + }, + "methodology.page.dataset.indicator.traffic.volume.title.text": { + "defaultMessage": "Traffic proximity and volume", + "description": "Navigate to the Methodology page. This is the title text for the traffic.volume dataset" + }, + "methodology.page.dataset.indicator.unemploy.title.text": { + "defaultMessage": "Unemployment", + "description": "Navigate to the Methodology page. This is the title text for the unemployment dataset" + }, + "methodology.page.dataset.indicator.waste.water.title.text": { + "defaultMessage": "Wastewater discharge", + "description": "Navigate to the Methodology page. This is the title text for the waste water dataset" + }, + "methodology.page.datasetCard.available.for": { + "defaultMessage": "Available for:", + "description": "Navigate to the Methodology page. This is the label associated with available for which regions of the card" + }, + "methodology.page.datasetCard.date.range": { + "defaultMessage": "Date range:", + "description": "Navigate to the Methodology page. This is the label associated with explaining the card" + }, + "methodology.page.datasetCard.responsible.party": { + "defaultMessage": "Responsible Party:", + "description": "Navigate to the Methodology page. This is the label associated with explaining the card" + }, + "methodology.page.datasetCard.source": { + "defaultMessage": "Source:", + "description": "Navigate to the Methodology page. This is the label associated with source of the card" + }, + "methodology.page.datasetCard.used.in": { + "defaultMessage": "Used in:", + "description": "Navigate to the Methodology page. This is the label associated with explaining the card" + }, + "methodology.page.datasetContainer.additional.heading": { + "defaultMessage": "Additional Indicators", + "description": "Navigate to the Methodology page. This is the additional indicators heading" + }, + "methodology.page.datasetContainer.additional.info": { + "defaultMessage": "These datasets provide additional information about each community.", + "description": "Navigate to the Methodology page. This is the additional indicator info" + }, + "methodology.page.datasetContainer.heading": { + "defaultMessage": "Datasets used in beta methodology", + "description": "Navigate to the Methodology page. This is the section heading of which datasets are used in cumulative score" + }, + "methodology.page.datasetContainer.info": { + "defaultMessage": "The datasets used in the current version of the tool come from a variety of sources and were selected based on relevance, availability, and quality. The datasets seek to identify a range of human health, environmental, climate-related, and other impacts on communities.", + "description": "Navigate to the Methodology page. This is the description of the dataset section" + }, + "methodology.page.datasets.all.except.workforce.used.in.text": { + "defaultMessage": "All categories except for the training and workforce development catetory", + "description": "Navigate to the methodology page. Navigate to the dataset section. This is the portion of the dataset card Used In text for all methodologies except the workforce development" + }, + "methodology.page.datasets.all.used.in.text": { + "defaultMessage": "All categories", + "description": "Navigate to the methodology page. Navigate to the dataset section. This is the portion of the dataset card Used In text for all methodologies" + }, + "methodology.page.downloadPacket.button.text": { + "defaultMessage": "Download package", + "description": "Navigate to the methodology page. This is the download packet button text" + }, + "methodology.page.downloadPacket.header.text": { + "defaultMessage": "Draft communities list v{version} ({downloadFileSize} unzipped)", + "description": "Navigate to the methodology page. This is the download packet header text" + }, + "methodology.page.downloadPacket.info.last.updated": { + "defaultMessage": "Last updated: {downloadLastUpdated}", + "description": "Navigate to the methodology page. This is the download packet info last updated" + }, + "methodology.page.downloadPacket.info.text": { + "defaultMessage": "The download package includes draft v{version} of the list of disadvantaged communities (.csv and .xlsx).", + "description": "Navigate to the methodology page. This is the download packet info text" }, "methodology.page.formula.first": { - "defaultMessage": "{if} the census tract is above the threshold for one or more environmental or climate indicators", - "description": "the first part of the formula used in the methodology" + "defaultMessage": "IF the census tract is above the threshold for one or more environmental or climate indicators", + "description": "Navigate to the methodology page. This is the first part of the formula used in the methodology" }, "methodology.page.formula.intro": { "defaultMessage": "Under the current formula, a census tract will be identified as disadvantaged in one or more categories of criteria:", - "description": "methodology page introducing the formula" + "description": "Navigate to the methodology page. This is the methodology page introducing the formula" }, "methodology.page.formula.second": { - "defaultMessage": "{and} the census tract is above the threshold for the socioeconomic indicators", - "description": "the second part of the formula used in the methodology" - }, - "methodology.page.formula.third": { - "defaultMessage": "{then} the community is considered disadvantaged.", - "description": "the third part of the formula used in the methodology" + "defaultMessage": "AND the census tract is above the threshold for the socioeconomic indicators", + "description": "Navigate to the methodology page. This is the second part of the formula used in the methodology" }, "methodology.page.header.text": { "defaultMessage": "Methodology", - "description": "methodology page header text" + "description": "Navigate to the methodology page. This is the methodology page header text" + }, + "methodology.page.indicator.categories.afford.house.if": { + "defaultMessage": "IF at or above the 90th percentile for lead paint AND median home value is at or less than the 90th percentile OR at or above the 90th percentile for the housing cost burden", + "description": "Navigate to the methodology page. Navigate to the category section. This will set the if portion of the formula" + }, + "methodology.page.indicator.categories.afford.housing.methodology": { + "defaultMessage": "Affordable and sustainable housing category", + "description": "Navigate to the methodology page. Navigate to the dataset section. This is the portion of the dataset card that populates the Used in section for the Affordable and sustainable housing methodology" + }, + "methodology.page.indicator.categories.clean.energy.if": { + "defaultMessage": "IF at or above the 90th percentile for energy burden OR PM2.5 in the air", + "description": "Navigate to the methodology page. Navigate to the category section. This will set the if if portion of the formula" + }, + "methodology.page.indicator.categories.clean.energy.methodology": { + "defaultMessage": "Clean energy and energy efficiency category", + "description": "Navigate to the methodology page. Navigate to the dataset section. This is the portion of the dataset card that populates the Used in section for the Clean energy and energy efficiency methodology" + }, + "methodology.page.indicator.categories.clean.transport.if": { + "defaultMessage": "IF at or above the 90th percentile for diesel particulate matter exposure or traffic proximity and volume", + "description": "Navigate to the methodology page. Navigate to the category section. This will set the if portion of the formula" + }, + "methodology.page.indicator.categories.clean.transport.methodology": { + "defaultMessage": "Clean transit category", + "description": "Navigate to the methodology page. Navigate to the dataset section. This is the portion of the dataset card that populates the Used in section for the Clean transportation methodology" + }, + "methodology.page.indicator.categories.clean.water.if": { + "defaultMessage": "IF at or above the 90th percentile for wastewater discharge", + "description": "Navigate to the methodology page. Navigate to the category section. This will set the if portion of the formula" + }, + "methodology.page.indicator.categories.clean.water.methodology": { + "defaultMessage": "Critical clean water and waste infrastructure category", + "description": "Navigate to the methodology page. Navigate to the dataset section. This is the portion of the dataset card that populates the Used in section for the Critical clean water and waste infrastructure methodology" + }, + "methodology.page.indicator.categories.climate.change.if": { + "defaultMessage": "IF at or above the 90th percentile for expected agriculture loss rate OR expected building loss rate OR expected population loss rate", + "description": "Navigate to the methodology page. Navigate to the category section. This will set the if portion of the formula" + }, + "methodology.page.indicator.categories.climate.change.methodology": { + "defaultMessage": "Climate change category", + "description": "Navigate to the methodology page. Navigate to the dataset section. This is the portion of the dataset card that populates the Used in section for the climate change methodology" + }, + "methodology.page.indicator.categories.climate.change.title": { + "defaultMessage": "Climate change", + "description": "Navigate to the methodology page. Navigate to the category section. This will set the category title" + }, + "methodology.page.indicator.categories.heading": { + "defaultMessage": "Categories", + "description": "Navigate to the methodology page. Navigate to the category section. This is category heading" + }, + "methodology.page.indicator.categories.health.burdens.if": { + "defaultMessage": "IF at or above the 90th percentile for asthma OR diabetes OR heart disease OR low life expectancy", + "description": "Navigate to the methodology page. Navigate to the category section. This will set the if portion of the formula" + }, + "methodology.page.indicator.categories.health.burdens.methodology": { + "defaultMessage": "Health burdens category", + "description": "Navigate to the methodology page. Navigate to the dataset section. This is the portion of the dataset card that populates the Used in section for the Health burdens methodology" + }, + "methodology.page.indicator.categories.legacy.pollute.methodology": { + "defaultMessage": "Reduction and remediation of legacy pollution category", + "description": "Navigate to the methodology page. Navigate to the dataset section. This is the portion of the dataset card that populates the Used in section for the Reduction and remediation of legacy pollution methodology" + }, + "methodology.page.indicator.categories.legacy.pollution.if": { + "defaultMessage": "IF at or above the 90th percentile for proximity to hazardous waste facilities OR proximity to National Priorities List (NPL) sites OR proximity to Risk Management Plan (RMP) facilities", + "description": "Navigate to the methodology page. Navigate to the category section. This will set the if portion of the formula" + }, + "methodology.page.indicator.categories.work.dev.if": { + "defaultMessage": "IF at or above the 90th percentile for low median income as a percentage of area median income OR linguistic isolation OR unemployment OR percent individuals in households at or below 100% Federal poverty level", + "description": "Navigate to the methodology page. Navigate to the category section. This will set the if portion of the formula" + }, + "methodology.page.indicator.categories.workforce.dev.methodology": { + "defaultMessage": "Training and workforce development category", + "description": "Navigate to the methodology page. Navigate to the dataset section. This is the portion of the dataset card that populates the Used in section for the Training and workforce development" }, "methodology.page.paragraph": { "defaultMessage": "The current version of the tool identifies communities that are disadvantaged for the purposes of the Justice40 Initiative using census tracts, which are the smallest geographic unit for which publicly-available and nationally-consistent datasets can be consistently displayed on the tool. Census tract geographical boundaries are determined by the U.S. Census Bureau once every ten years. This tool utilizes the census tract boundaries from 2010 because they match the datasets used in the tool. The U.S. Census Bureau will update these census tract boundaries in 2020.", - "description": "methodology page paragraph" + "description": "Navigate to the methodology page. This is the methodology page paragraph" }, "methodology.page.return.to.top.link": { "defaultMessage": "Return to top", - "description": "link text to return to top" + "description": "Navigate to the Methodology page. This is the link text to return to top" }, "methodology.page.title.text": { "defaultMessage": "Methodology & data", - "description": "methodology page title text" + "description": "Navigate to the methodology page. This is the methodology page title text" }, "pageNotFound.Guidance.text": { "defaultMessage": "Try creating a page in", @@ -1017,102 +1233,98 @@ }, "public.eng.page.button.label": { "defaultMessage": "Public Engagement", - "description": "public engagement button label" + "description": "Navigate to the the public engagement page, this will be the public engagement button label" + }, + "public.eng.page.description1.text": { + "defaultMessage": "CEQ is hosting engagement opportunities to connect with the public about the current version of the tool. These sessions are an opportunity to obtain training on the tool or to provide feedback on the beta version of the tool. CEQ hopes that members of the public will join these engagements to learn about the tool, have their questions answered, and share feedback.", + "description": "Navigate to the the public engagement page, this will be the publiceng page description 1 text" + }, + "public.eng.page.description2.text": { + "defaultMessage": "Pre-registration is required to participate and speak at the sessions.", + "description": "Navigate to the the public engagement page, this will be the publiceng page description 2 text" + }, + "public.eng.page.description3.text": { + "defaultMessage": "As they become available, additional public trainings and engagement opportunities on the Climate and Economic Justice Screening Tool will also be posted on this page.", + "description": "Navigate to the the public engagement page, this will be the publiceng page description 3 text" + }, + "public.eng.page.event.info.label": { + "defaultMessage": "Event info", + "description": "Navigate to the the public engagement page, this will be the public engagement page event info label" }, "public.eng.page.event.listening.1.info": { "defaultMessage": "March 22nd (4:00 - 5:00 PM EST)", - "description": "public engagement page event listening session 1 date" + "description": "Navigate to the the public engagement page, this will be the public engagement page event listening session 1 date" }, "public.eng.page.event.listening.2.info": { "defaultMessage": "April 15th (4:00 - 5:00 PM EST)", - "description": "public engagement page event listening session 2 date" + "description": "Navigate to the the public engagement page, this will be the public engagement page event listening session 2 date" }, "public.eng.page.event.listening.sess.description": { "defaultMessage": "CEQ is hosting public listening sessions to seek input and feedback on the beta version of the tool, including on the datasets it includes and the methodology it uses. This feedback is critical to the development and enhancement of the tool. This feedback will help CEQ update and refine the tool to ensure that it reflects the environmental, climate and other challenges that communities are experiencing.", - "description": "public engagement page event listening session description" + "description": "Navigate to the the public engagement page, this will be the public engagement page event listening session description" }, "public.eng.page.event.listening.sess.name": { "defaultMessage": "listening session", - "description": "public engagement page event listening session name" + "description": "Navigate to the the public engagement page, this will be the public engagement page event listening session name" + }, + "public.eng.page.event.reglink.label": { + "defaultMessage": "Registration link", + "description": "Navigate to the the public engagement page, this will be the public engagment page event registration link label" }, "public.eng.page.event.training.1.info": { "defaultMessage": "March 9th (4:00 - 5:00 PM EST)", - "description": "public engagement page event training session 1 date" + "description": "Navigate to the the public engagement page, this will be the public engagement page event training session 1 date" }, "public.eng.page.event.training.2.info": { "defaultMessage": "March 10th (4:00 - 5:00 PM EST)", - "description": "public engagement page event training session 2 date" + "description": "Navigate to the the public engagement page, this will be the public engagement page event training session 2 date" }, "public.eng.page.event.training.3.info": { "defaultMessage": "March 16th (4:00 - 5:00 PM EST)", - "description": "public engagement page event training session 3 date" + "description": "Navigate to the the public engagement page, this will be the public engagement page event training session 3 date" }, "public.eng.page.event.training.description": { "defaultMessage": "The White House Council on Environmental Quality (CEQ), in partnership with the U.S. Digital Service, is hosting a series of 'Training Webinars' for users of the Climate and Economic Justice Screening Tool. These webinars are an opportunity for members of the public to learn how to use the current version of the tool. The presenters at these webinars will be available to provide technical support and address issues related to accessing and using the tool.", - "description": "public engagement page event training session description" + "description": "Navigate to the the public engagement page, this will be the public engagement page event training session description" }, "public.eng.page.event.training.sess.name": { "defaultMessage": "training session", - "description": "public engagement page event training session name" + "description": "Navigate to the the public engagement page, this will be the public engagement page event training session name" + }, + "public.eng.page.event.whejac.meeting.day.1.description": { + "defaultMessage": "Members of the public are encouraged to provide comments relevant to the beta version of the Climate and Economic Justice Screening Tool that was developed by CEQ and federal government agencies implementation of the Justice40 Initiative will be considered by the WHEJAC during the public meeting.", + "description": "public engagement page event WHEJAC day 1 description" + }, + "public.eng.page.event.whejac.meeting.day.1.name": { + "defaultMessage": "Public WHEJAC meeting day one", + "description": "public engagement page event WHEJAC meeting day 1 name" + }, + "public.eng.page.event.whejac.meeting.day.2.description": { + "defaultMessage": "Members of the public are encouraged to attend and hear updates and discussion from the WHEJAC Climate and Economic Justice Screening Tool workgroup, the Justice40 workgroup, and the WHEJAC business time and meeting conversation during which the WHEJAC will use reflect on the meeting proceedings and public comment period; provide workgroup updates; discuss action items and finalize next steps.", + "description": "public engagement page event WHEJAC day 2 description" + }, + "public.eng.page.event.whejac.meeting.day.2.name": { + "defaultMessage": "Public WHEJAC meeting day two", + "description": "public engagement page event WHEJAC meeting day 2 name" + }, + "public.eng.page.heading1.text": { + "defaultMessage": "Public engagement opportunities", + "description": "Navigate to the the public engagement page, this will be the publiceng page header text" + }, + "public.eng.page.sub.header2.text": { + "defaultMessage": "Find an event", + "description": "Navigate to the the public engagement page, this will be the publiceng page sub header text" }, "public.eng.page.tag.label": { - "defaultMessage": "NEW", - "description": "public engagement tag label" + "defaultMessage": "UPDATED", + "description": "Navigate to the the public engagement page, this will be the public engagement tag label" }, - "publiceng.page.description1.text": { - "defaultMessage": "CEQ is hosting engagement opportunities to connect with the public about the current version of the tool. These sessions are an opportunity to obtain training on the tool or to provide feedback on the beta version of the tool. CEQ hopes that members of the public will join these engagements to learn about the tool, have their questions answered, and share feedback.", - "description": "publiceng page description 1 text" - }, - "publiceng.page.description2.text": { - "defaultMessage": "Pre-registration is required to participate and speak at the sessions.", - "description": "publiceng page description 2 text" - }, - "publiceng.page.description3.text": { - "defaultMessage": "As they become available, additional public trainings and engagement opportunities on the Climate and Economic Justice Screening Tool will also be posted on this page.", - "description": "publiceng page description 3 text" - }, - "publiceng.page.event.info.label": { - "defaultMessage": "Event info", - "description": "public engagement page event info label" - }, - "publiceng.page.event.reglink.label": { - "defaultMessage": "Registration link", - "description": "public engagment page event registration link label" - }, - "publiceng.page.heading1.text": { + "public.eng.page.title.text": { "defaultMessage": "Public engagement opportunities", - "description": "publiceng page header text" + "description": "Navigate to the the public engagement page, this will be the publiceng page title text" }, - "publiceng.page.sub.header2.text": { - "defaultMessage": "Find an event", - "description": "publiceng page sub header text" - }, - "publiceng.page.title.text": { - "defaultMessage": "Public engagement opportunities", - "description": "publiceng page title text" - }, - "send.feedback.heading": { - "defaultMessage": "Send feedback", - "description": "sending feedback heading" - }, - "send.feedback.info": { - "defaultMessage": "Have ideas about data and information that reflect the experiences and conditions of your community?", - "description": "sending feedback information" - }, - "youCanHelpInfoText.heading": { - "defaultMessage": "How you can help improve the tool", - "description": "how one can help us improve the tool" - }, - "youCanHelpInfoText.list.item.1": { - "defaultMessage": "View the {dataMeth} page and send feedback.", - "description": "give us feedback on our data and methodology" - }, - "youCanHelpInfoText.list.item.2": { - "defaultMessage": "Use the tool to find communities and {shareFeedback}.", - "description": "share your feedback" - }, - "youCanHelpInfoText.list.item.3": { - "defaultMessage": "Respond to our Request for Information on {federalRegisterLink}.", - "description": "share your feedback" + "public.eng.page.whejac.meeting.day.1.info": { + "defaultMessage": "March 31th (3:00 - 7:30 PM EST)", + "description": "public engagement page event WHEJAC" } } diff --git a/client/src/pages/__snapshots__/contact.test.tsx.snap b/client/src/pages/__snapshots__/contact.test.tsx.snap index f0a90416..981fabe3 100644 --- a/client/src/pages/__snapshots__/contact.test.tsx.snap +++ b/client/src/pages/__snapshots__/contact.test.tsx.snap @@ -268,6 +268,40 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis +
          +
          +
          +

          + Improvements to the map on the Explore the tool page +

          +

          + View improvements made to the display of the information for each census tract and + + send feedback + + . +

          +
          +
          +
          - NEW + UPDATED