1.) (6 points) Understand the AQI and the model necessary to estimate the benefits of a reduction in mortality risk from reduced PM exposure.
a. (3 Points) Go to the AQI site for particle pollution, https://www.airnow.gov/index.cfm?action=pubs.aqguidepart, and familiarize yourself with the AQI for particle pollution. Report the following information from this site:
I.) The lowest AQI value that would trigger an action day alert of “Unhealthy for Sensitive Groups”
Air_Quality_Index = 101
II.) The list of individuals who needs to be concerned on this type of action day.
III.) The list of items suggested under “How can I protect myself?” that these individuals can take regarding outdoor activity when the AQI forecast is unhealthy.
b. (3 points)
I.) The equation for the health impact function (that is the equation for Δy as a function of the ΔPM) for the log-linear model. Include the definition of the variables Δy, ΔPM, y0, and β.
\[\begin{equation} \label{eq1} \begin{split} y &= \beta e^{\beta PM} \\ \beta &= \beta_0 e^{\beta_1 x_1 +...+\beta_n x_n} \end{split} \end{equation}\]
When the concentration of particulate matter (PM) is equal to zero, the parameter is based on the incidence rate of y. That is, this equation is regression of PM on y in natural exponential function.
Whereas, the relationship between Δy and ΔPM is:
\[\begin{equation} \label{eq2} \begin{split} \triangle y &= y_0 - y_c = \beta (e^{\beta PM_0}- e^{\beta PM_c}) \end{split} \end{equation}\]
The y_0 represents the baseline incidence rate of the health effect while y_c represents control pollutant exposure, so their relationship to PM is in exponential form with parameter as a coefficient. The triangle is symbol of rate of change.
II.) Describe how to calculate the “change in the incidence” of mortality. This should be found in the paragraph just below the one where you found your health impact function.
In order for finding an estimation, the change in the incidence of mortality can simply multiply ∆y by the relevant population. This population is based on the rate that changes between number of population and another number of new population. For example, the rate is 100,000 population, and then, 100,000 population is the relevant one.
2.) (31 points) Gather and clean the PM2.5 data needed to estimate the change in the mortality incidence for Riverside, California in 2015.
a. (3 points) Find the State 2-digit FIPS code and the County 3-digit FIPS code for Riverside, California. Large national datasets like the one you are about to work with often identify states and counties using a five-digit Federal Information Processing Standards (FIPS) code. (You can read about them here https://en.wikipedia.org/wiki/FIPS_county_code.) States are identified with a two-digit code and counties with a three-digit code. You can find a list of these codes in a number of places, but one is here https://www.census.gov/prod/techdoc/cbp/cbp95/st-cnty.pdf. Using this data, report the 2-digit FIPS code for California and the 3-digit FIPS code for Riverside, California.
2-digit FIPS code for California is 06 and the 3 digit FIPS code for Riverside County is 065.
b. b. Download the daily PM2.5 concentration for 2015 from EPA’s Air Data site https://www.epa.gov/outdoor-air-quality-data. From the links on the left hand list side of this page, choose “Pre-Generated Data Files” and then go to the section for “Tables of Daily and Daily Summary Data.” Here you will find all the data that has been used to generate the AQI. You should download the file for “PM2.5 non FRM/FEM Mass (88502)” (not the one for PM2.5 FRM/FEM Mass (88101)) for the year 2015. Important information about this step: This is a big file! The data file itself is compressed as a .zip file, so you will need to unzip it first. Windows should be able to do this for you by right clicking the file name and choosing “Extract All…” but please let us know if you have problems. The resulting file will be a roughly 100 MB file in .csv (comma separated values) file. Please make sure that you have enough space on your computer for this and let us know if you have problems.)
read <- paste(getwd(), "/daily_88502_2015.csv",sep="")
read.csv(read) -> dat
c. c. Extract the daily PM2.5 data for Riverside California and put it into a separate spreadsheet or tab. You can open a CSV file in Excel but it may take a while. (There are over 300,000 rows.) You will then need to use FIPS data to find the values for Riverside, California. You can do this in a number of ways, but using Excel’s built in Filter feature may be the easiest. Here is an article if this is new to you https://support.office.com/en-ie/article/filter-data-in-a-range-or-table-01832226-31b5-4568-8806-38c37dcc180e. Once you have the data for Riverside, California, copy it to another spreadsheet or tab so that it is easier to work with. You may find it easier to sort this data by date. Here is an article on how to do this if it is new to you https://support.office.com/en-us/article/sort-data-in-a-range-or-table-62d0b95d-2a90-4610-a6ae-2e545c4a4654.
library(dplyr)
filter(dat,State.Code==6 & County.Code ==65)->Extract
Extract
To see more columns, use the black arrow on up right corner of that data table.
d. d. (3 points) Familiarize yourself with this daily PM2.5 data for Riverside. A description of each column can be found here https://aqs.epa.gov/aqsweb/airdata/FileFormats.html#_daily_summary_files. Notice that a given site can have different instruments to measure the same pollutant. “Site Num” is the unique site ID and “POC” is the Parameter Occurrence Code for different instruments. For this assignment, we will refer to a site/POC combination as a “monitor,” so any give site can have more than one monitor. Report the number of monitors that provided PM2.5 data in 2015 and report the site number and POC for each of these monitors.
library(tidyr)
mutate(Extract,Monitor=paste(paste(0,Extract$State.Code,sep=""),paste(0,Extract$County.Code,sep=""),ifelse(Extract$Site.Num<99,paste("00",Extract$Site.Num,sep=""), paste(Extract$Site.Num,sep="")),Extract$Parameter.Code,Extract$POC,sep="-"))->Extract ## Create new column for monitor identity number
unique(Extract$Monitor)->Monitor
unique(Extract$POC)->POC
unique(Extract$Site.Num)->Site.Num
Total number of monitors is 8 in Riverside, California.
Monitor
## [1] "06-065-0012-88502-3" "06-065-0016-88502-3" "06-065-8001-88502-3"
## [4] "06-065-8001-88502-9" "06-065-8001-88502-11" "06-065-8005-88502-3"
## [7] "06-065-9000-88502-1" "06-065-9001-88502-3"
POC
## [1] 3 9 11 1
Site.Num
## [1] 12 16 8001 8005 9000 9001
And total number of monitors in United States is
mutate(dat,Monitor=paste(dat$State.Code,dat$County.Code,dat$Site.Num,Site.Num,dat$Parameter.Code,dat$POC,sep="-"))->dat
unique(dat$Monitor)%>%length()
## [1] 692
e. (3 points) Determine the concentration of PM2.5 (the 24 hour average, measured in ug/m3) that would trigger an action day alert of “Unhealthy for Sensitive Groups” using this website https://www.airnow.gov/index.cfm?action=airnow.calculator. This is done using the AQI value that you found in part 1.a. Report that concentration here.
f. (5 points) Find all “Unhealthy for Sensitive Groups” action days in 2015. This can be done using either the AQI value column or the Arithmetic Mean column from the daily PM2.5 data. Note that if you use the Arithmetic Mean column, you will get two entries for each day, one for the “1 HOUR” entry and one for the “24-HR BLK AVG” (or “24 HOUR” in one case) in the Sample Duration column; use the entry for 24-HR BLK AVG (or 24 HOUR). Report the site number, POC, date, 24 hour arithmetic mean of the concentration, and the AQI for every monitor that registered an action day in 2015.
filter(dat,150>=AQI& AQI>=101,State.Code==6,County.Code==65)%>%select(Site.Num,POC,Date.Local,Sample.Duration,Arithmetic.Mean,AQI)->For_Sensitive
For_Sensitive
Total number of action days for sensitive groups is 42.
g. Download the hourly PM2.5 concentration for California in 2015. This can be found on the class site in an Excel file named “California, PM 2,5 (88502), Hourly, 2015.xlsx”. Note, this also a big file (27 MB). (This data can actually be found on the “Pre-Generated Data Files” site that you used before here https://aqs.epa.gov/aqsweb/airdata/download_files.html#Raw, but that file is enormous and has 3.5 million rows of data so Excel can’t even load it all. We extracted California for you and posted it on the class site. You’re welcome!) The format of this data can be found here https://aqs.epa.gov/aqsweb/airdata/FileFormats.html#_hourly_data_files.
read <- paste(getwd(),"/hourly_88502_2015.csv",sep="")
read.csv(read)->megadata ## Challenge myself by downloading directly from EPA website.
h. Extract hourly PM2.5 data for Riverside California and sort it. Again, finding the data for Riverside is done using the FIPS code. Once you have this data, put it into a separate spreadsheet or tab. You should then sort the Riverside data by date, site ID, and time, in that order. This is done using Excel’s Sort feature with three levels: the first is “Date Local,” the second is “Site Number,” and the third is “Time Local.” Here is an article if this is new to you https://support.office.com/en-ie/article/sort-data-in-a-table-77b781bf-5074-41b0-897a-dc37d4515f27.
filter(megadata,State.Code==6,County.Code==65)->Riverside_CA # Extracted Riverside data from mega data.
Riverside_CA[,c(10,3,11,1,2,4,5,6,7,8,9,12,13,14,15,16,17,18,19,20,21,22,23,24)]->Riverside_CA
names(Riverside_CA[,c(1,2,3)]) # Now this column has reordered as instructed.
## [1] "Date.Local" "Site.Num" "Time.Local"
For making a clarification, the names show the first three order of table columns.
i. (5 points) Remove any outliers from the hourly data. Given that the highest AQI is 500 and this would be characterized as hazardous air pollution, it is probably safe to assume that and entry of 500 or greater in “Sample Measurement” column is a mistake. If you find an outlier for a monitor for some hour on a given day, replace that outlier value with the average of the other observations for the monitor for that day. Report the Site Number, POC, Local Date, Local Time, the outlier Sample Measurement, and the value you replace the outlier with for all outliers that you find.
as.numeric(Riverside_CA$Sample.Measurement >= 500)%>%sum()
## [1] 1
There is single 500 ug/m3 or greater outlier in column Sample Measurement, which is at 1 pm on April 9, 2015. This can be found in 42,571th row. This number is replaced by aritheritmic mean of obsevation from 0:00 to 23:00, however, the outlier removes from this calculation. As a result:
Riverside_CA[42571,] # Identified mistake.
ifelse(Riverside_CA$Sample.Measurement >= 500,mean(Riverside_CA[c(42570,42572:42593),14]),Riverside_CA$Sample.Measurement)->Riverside_CA$Sample.Measurement
Riverside_CA[42571,] # Replaced by mean of given day without outlier.
j. (3 points) For any monitor that had an outlier, use your hourly data to recalculate the new 24 hour arithmetic average of the PM2.5 concentration for the monitor on that day, using the new value that you replaced the outlier with. Explain if this changes your record of the number of action days for 2015 that you reported in part 2.f.
As indicated by 2015 daily report under 88502, the arithmetric mean is equal to 41.71 and maximum is 962 and minimum is 1, which is in range of AQI Unhealthy for Sensitive Groups. When the erroneous outlier removes, the arithmetric mean is equal to 1.7, which is in range of AQI Good. As a result, the number reduces from 42 to 41 action days for sensitive groups in Riverside, CA.
k. Once you have removed any outliers, re-sort your hourly data for Riverside, California by date, time and site ID in that order. This will structure your data so that you have all the data for each monitors for midnight (Local Time = 0:00) on 1/1/2015 listed first, then all the data for 1:00 on 1/1/2015 second, and so on until you get to 11:00 on 12/31/2015. This data is your Baseline Hourly Data.
Riverside_CA->Baseline_Hourly_Data ## Nothing changes.
Baseline_Hourly_Data
l. (3 points) Using your baseline hourly data, report the mean value of the Sample Measurement column. This is your baseline PM2.5 exposure concentration (Note that this treats each monitor as a single observation and there is more than one observation for each hour. That’s ok.).
mean(Baseline_Hourly_Data$Sample.Measurement)
## [1] 12.84624
i. Copy your Baseline Hourly Data to a new spreadsheet or tab. Using this new data, create your Policy Hourly Data (or your Control Hourly Data, using the terminology from Appendix C) using the following steps
1. Find the AQI action days, excluding those that should not have been listed because of outlier data.
mutate(Baseline_Hourly_Data,Action_Day=ifelse(Baseline_Hourly_Data$Sample.Measurement<=12,"Good",ifelse(12.1<=Baseline_Hourly_Data$Sample.Measurement && Baseline_Hourly_Data$Sample.Measurement<=35.4,"Moderate",ifelse(35.5<=Baseline_Hourly_Data$Sample.Measurement&&Baseline_Hourly_Data$Sample.Measurement<=55.4,"Unhealthy for Sensitive Groups",ifelse(55.5<=Baseline_Hourly_Data$Sample.Measurement&&Baseline_Hourly_Data$Sample.Measurement<=150.4,"Unhealthy",ifelse(150.5<=Baseline_Hourly_Data$Sample.Measurement&&Baseline_Hourly_Data$Sample.Measurement<=250.4,"Very Unhealthy",ifelse(250.5<=Baseline_Hourly_Data$Sample.Measurement&&Baseline_Hourly_Data$Sample.Measurement<=500,"Hazardous","NA")))))))->Control_Hourly_Data ## Copy and create new column Action Days
Control_Hourly_Data
2. For every action day, find the hour between 6:00 and 20:00, inclusive, (that is, after 6:00 am and before 9:00 pm) that has the highest PM2.5 concentration. You don’t need to average across monitors for the hour, just find the highest observed value.
The coding process aims to answer both second and third questions at once.
3. For the hour with the highest observed PM2.5 concentration between 6:00 and 20:00, set the Sample Measure to zero for all monitors during that hour.
group_by(Control_Hourly_Data,Time.Local)%>%summarize(Highest=max(Sample.Measurement))->Assess
Assess # 6:00 am has highest concentration.
arrange(Control_Hourly_Data,Time.Local)->Control_Hourly_Data;Control_Hourly_Data$Sample.Measurement[c(12194:14198)]<-0;arrange(Control_Hourly_Data,Date.Local)->Control_Hourly_Data
Control_Hourly_Data
This is now your Policy Hourly Data.
m. (3 points) Using your policy hourly data, report the mean value of the Sample Measurement column. This is your policy (or control) PM2.5 exposure concentration.
mean(Control_Hourly_Data$Sample.Measurement)
## [1] 12.25902
n. (3 points) Report the change PM2.5 exposure concentration (that is your ΔPM, using the terminology from Appendix C).
round(mean(Baseline_Hourly_Data$Sample.Measurement)-mean(Control_Hourly_Data$Sample.Measurement),digits=2)->PM
PM
## [1] 0.59
That is, ΔPM is equal to 0.59 ug/m3.
3. (15 points) Gather the other data necessary to estimate the change in the mortality incidence.
a. Find the estimated coefficient for the effect of PM2.5 on mortality (that is, find β) using the article by Lepeule et al. posted on the class site and the Appendix C from the user manual for BenMAP-CE.
i. (3 points) Reported the estimated relative risk value and the 95% confidence interval for “All-cause” mortality from the Lepeule et al. article.
The relative risk value with 95% confidence interval in parenthesis for All-cause mortality is 1.14 (1.07,1.22).
ii. (3 points) Using Appendix C from the user manual BenMAP-CE program and the relative risk estimate from Lepeule et al., estimate β (the coefficient for the effect of PM2.5 on mortality) and report your estimate here.
\[\begin{equation} \label{eq3} \begin{split} RR &= e^{\beta \triangle PM} \end{split} \end{equation}\]
Therefore,
\[\begin{equation} \label{eq4} \begin{split} \frac{\ln{RR}}{\triangle PM} &= \beta \end{split} \end{equation}\]
log(1.14)/PM->B
B
## [1] 0.2220818
iii. (3 points) Using Appendix C and the relative risk confidence interval from Lepeule et al., estimate standard error for the β coefficient, σβ, 2.5 percentile and σβ, 97.5 percentile, and report those values here.
Use the confidence interval to find confidence interval of estimator.
# Find two estimators
B025<-log(1.07)/PM # 2.5 percentile of B
B975<-log(1.22)/PM # 97.5 percentile of B
# Find standard error for the coefficient
σB025 <- (B-B025)/qnorm(.975)
σB975 <- (B975-B)/qnorm(.975)
# Answer is:
σB025 # 2.5 percentile of σ
## [1] 0.05480005
σB975 # 97.5 percentile of σ
## [1] 0.05865085
b. (3 points) Find the population of seniors age 65 and older in Riverside, California in 2015 from this site https://factfinder.census.gov/faces/nav/jsf/pages/searchresults.xhtml using the following settings
i. From the left hand side selection tool, set your “Topics” selection as People->Age Group->Older Population.
Done as instructed.
ii. Set your “Geographies” selection as County->California->Riverside County, California.
Done as instructed.
iii. In the “Show results from” box at the top of the table (in very, very small font), choose 2015.
Done as instructed.
iv. Choose table S0103, “Population 65 years and over in the United States” Report the population of estimate and the margin of error for the number of individuals 65 and over in Riverside, California in 2015.
The population for 65 years and over is 294,213 with +/- 67 margin of error.
c. (3 points) Obtain the age-adjusted, all-cause annual mortality rate for individuals age 65 and over in Riverside, California in 2015. This data can be found from this site https://wonder.cdc.gov/ with the following steps:
i. From the list of Online Database choose “Detailed Mortality.”
Done as instructed.
ii. Click the “I Agree” button
Done as instructed.
iii. Fill in the request form with the following information where relevant and using the default values otherwise
1. Group results by “County”
Done as instructed.
2. Select “Age Adjusted Rate” and its “95% Confidence Interval”
Done as instructed.
3. Select “California” as the state
Done as instructed.
4. Choose the age groups “65-74,” “75-84,” and “85+ years”
Done as instructed.
5. Select “2015” as the year
Done as instructed.
6. Select “All Causes of Death” as the ICD-10 Code
Done as instructed.
7. Export the results to your computer. This will produce a tab-delaminated .txt file with quotation marks as the text qualifier that you can open with Excel. When you import this .txt file into Excel, you may want to mark the “County Code” column as “Text” so that it imports the FIPS correctly. Note that the rates reported in this file are the number of deaths per 100,000.
read <- paste(getwd(), "/Underlying Cause of Death, 1999-2018.txt",sep="")
read.delim(read) -> dat
select(dat,-Notes)%>%slice(1:57)->dat
dat
iv. Report the age-adjusted mortality rate for Riverside, California as a percentage. (e.g. If the mortality rate was 4,340.5 per 100,000, you would report this as 0.043405.)
(dat[32,5]/100000)*100->y_0
paste(round(y_0,digits=2),"%",sep="")
## [1] "3.7%"
4. (6 points) Calculate the change in the mortality incidence rate and the number of statistical premature deaths avoided if seniors age 65 and older in Riverside County, California had stayed inside for the worst hour between 6:00 am and 9:00 pm on AQI action days associated with PM2.5 pollution in 2015
a. (3 points) Use your health impact function from part 1.b to estimate the change in the mortality incidence rate for seniors age 65 and older in Riverside, California in 2015 associated with this policy scenario
\[\begin{equation} \label{eq5} \begin{split} \triangle y &= y_0 - y_c = e^{\beta PM_0}-e^{\beta PM_c} \\ y_c &= y_0-\beta (e^{\beta PM_0}-e^{\beta PM_c}) \end{split} \end{equation}\]
y_0-B*(exp(B*mean(Baseline_Hourly_Data$Sample.Measurement))-exp(B*mean(Control_Hourly_Data$Sample.Measurement)))->y_c
y_c
## [1] 3.233817
b. (3 points) Calculate the change in the incidence of mortality associated with this policy scenario. In other words, calculate the number of statistical premature deaths avoided.
y_0-y_c
## [1] 0.470783
5. (9 points) Calculate the monetized benefits if seniors age 65 and older in Riverside County, California had stayed inside for the worst hour between 6:00 am and 9:00 pm on AQI action days associated with PM2.5 pollution in 2015.
You will learn more about this over the next couple of week, but to develop a monetized benefit for something like a risk reduction, economists need to find a way to determine how people value that risk reduction. For mortality risk reduction, like what we have estimated here, economists need and estimate of how much people are willing to pay for small reductions in their risks of dying from adverse health conditions.
a. (3 points) Read the EPA’s page on mortality risk valuation here https://www.epa.gov/environmental-economics/mortality-risk-valuation. Report the central estimate and the base year that EPA recommends for the “value of a statistical life” in the section entitled “What value of statistical life does EPA use?”
Finished reading this passage. The value of statistical life is $4.6 million in 2001.
b. (3 points) Use BLS’s CPI calculator (https://data.bls.gov/cgi-bin/cpicalc.pl) to convert the value of statistical life from the base year for EPA’s value (you just found that in part 5a above) to the buying power in 2015. The CPI calculator asks for a month, so just use January for both the base year and 2015. (This simple inflation adjustment is not fully adequate, but it is adequate for this assignment.)
The CPI calculator shows that value of statistical life in 2015 $6.1 million.
c. (3 points) Estimate the monetized benefits this policy scenario.
The avoided cost is benefit and thus:
6.1*(y_0-y_c)-> dollars
paste(paste("$",round(dollars,digits=2),sep=""),"million")
## [1] "$2.87 million"
6. (10 points) Write a one page summary of the results of your analysis for this policy? How would you explain this to a decision maker who is familiar with economics but is not an economist? What would be the effect of such a policy to an individual? What would be the effect for the county? What would be the monetized benefits? What do the monetized benefits tell you about how much the county might be willing to pay for a program which accurately predicts PM2.5 pollution and encourage seniors to stay inside during the worst hour? Who would likely support such an action and who would likely oppose it? Are there reasons why this policy may or may not be a good idea?
Monetizing benefits and costs consider to be an indirect measurement of social welfare. Insofar as the empirical studies have been undertaken, the individual utility is difficult—if not impossible—to directly quantify and thus, the method is instead to quantify certain values in monetary term, which pertains to concept of opportunity cost. By definition, the opportunity cost is to forgo whatever one decides in order to obtain the next best alternative. The value of statistical life uses this by multiplying 1 million individuals by average Willingness to Pay (WTP) $50 for avoided risk, which is equal to $50 million. This method is in use to consider a proposed policy that might have cost offsetting by benefit. Because the empirical study shows that highest PM2.5 concentration occurred from 5:00 am to 6:00 am, the proposed policy recommends individuals who live in Riverside, California and at least age 65 to stay indoor in that period of time.
As mentioned earlier, the value of statistical life outlined by Environmental Protection Agency (EPA) is that high, and without this proposal, the average individual is likely to inhale 12.85 ug/m3 of PM2.5. The CDC reports shows that the age-adjusted mortality rate is 3.7% so that this proposal is likely to reduce average inhalation by .59 ug/m3 and this rate by 0.47%. Even though change in this policy may seemingly be small, the benefit is likely to reduce $2.87 million cost, avoid premature deaths, and improve social welfare in Riverside, California alone.
There are certain people who might oppose this assessment. They would—for example—criticize that this assessment transgresses ethical generalism or moral principles by estimating the value of life. There is another group who is likely to oppose this for different reason. Their perception on this proposal is a decrease in flow of revenue and market velocity, which is inefficient and erroneous because firms need to rely on them for profit.
On the other hand, there is another group who supports this proposal. Their perception on this is economy-wide benefit when the social welfare improves, and this is likely to move the society closer to Pareto efficient state. The Pareto efficiency means that no one can change allocation to make at least one person better off without making another worse off.
Even though this proposal seems to make sense in analytic sense, the problem is that there is absence of proposal ranking. This ranking is indispensable in order for finding better proposal alternative. Staying indoor may save a number of lives but this analysis may overlook the fact that there is a set of data holding some important information where more lives may save. This is the reason why five or six proposal alternatives should add in order for better policy decision.
7. (5 points) Write a paragraph or two detailing the caveats or uncertainty of this analysis. Is the policy scenario plausible? Is there any reason why the risk change or monetized benefits that you estimated might be under- or over-stated? Would it be possible to extend these results to other sensitive subpopulations, such as children with asthma? Can the monetized benefits for Riverside be used to tell you anything about the benefits for other counties in the U.S.?
As mentioned earlier, this proposal may be understated and it should not be generalized. For example, it does not count for vulnerable groups who have pre-existing condition and temporary disability. The temporary disability refers to whom the employers grant for family and medical leave. The pre-existing condition refers to whom the doctors give medical diagnosis such as cardiovascular disease and lung disease. Both groups should incorporate in this proposal. The finding in this analysis limits to Riverside, California and it should not assume that other counties have similar problems. Besides them, more importantly, the climate change should incorporate in this analysis.
According to one of fifth assessment reports of International Panel on Climate Change, the warmer temperature in earlier spring stimulates species to release more pollen (Settele et al., 2014). Even though the pollen has little contribution to PM2.5 concentration, the people who do not present symptom and do not have record of allergic inheritance pattern are likely to develop allergy, eventually, leading to asthma if untreated. Thus, the number of vulnerable people is more likely to increase over time and thus, they become reactive to PM2.5 concentration. But nonetheless, the understatement of shadow price is difficult to avoid.
Reference (that is not on your reading list):
Settele, J., R. Scholes, R. Betts, S. Bunn, P. Leadley, D. Nepstad, J.T. Overpeck, and M.A. Taboada, 2014: Terrestrial and inland water systems. In: Climate Change 2014: Impacts, Adaptation, and Vulnerability. Part A: Global and Sectoral Aspects. Contribution of Working Group II to the Fifth Assessment Report of the Intergovernmental Panel on Climate Change [Field, C.B., V.R. Barros, D.J. Dokken, K.J. Mach, M.D. Mastrandrea, T.E. Bilir, M. Chatterjee, K.L. Ebi, Y.O. Estrada, R.C. Genova, B. Girma, E.S. Kissel, A.N. Levy, S. MacCracken, P.R. Mastrandrea, and L.L. White (eds.)]. Cambridge University Press, Cambridge, United Kingdom and New York, NY, USA, pp. 271-359.