Economic, Environmental, and Benefits Analysis of the Final Metal Products and Machinery Rule Programs and Output Tables for the Final Option February 14, 2003 Prepared for: U. S. Environmental Protection Agency Office of Science and Technology Engineering and Analysis Division 401 M Street, S. W. Washington, D. C. 20460 Dr. Lynne Tudor Task Manager 1 Final Option Benefits MP& M Benefits Programs and Data Sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Estimating MP& M Discharge Loadings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 " Master Benefits Preferred . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 " Generate Discharge Events ( Sub 1). sas" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 " Tally Loadings ( Sub 13) pref. sas" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 " Toxic Weight Loadings ( Sub 18) pref. sas" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 Human Health Benefits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 Cancer from Fish Consumption . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 " Generate Discharge Events ( Sub1). sas" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 " Human Health AWQC Exceedences ( Sub 2). sas" . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 " Cancer fish ( Sub 4). sas" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 Cancer from Drinking Water . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 " Data for Brad preferred. sas" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 Water Quality Modeling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 " Drinking Water Cancer ( Sub 6). sas" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 Systemic Risk from Fish Consumption . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 " Generate Discharge Events ( Sub1). sas" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 " Human Health AWQC Exceedences ( Sub 2). sas" . . . . . . . . . . . . . . . . . . . . . . . . . . 118 " Systemic Cancer ( Sub 5). sas" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 " Hazard ratio Tables. sas" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 Systemic Risk from Drinking Water . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 " Data for Brad preferred. sas" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 Water Quality Modeling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 " Systemic Cancer Assoc DW ( Sub 14). sas" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 " Hazard ratio Tables. sas" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 Lead Benefits for Adults . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 " Cancer fish ( Sub 4). sas" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 " Lead Benefits ( Sub 12). sas" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 " Subsistence Lead Benefits ( Sub 17). sas" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178 Lead Benefits for Children . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202 " Cancer fish ( Sub 4). sas" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203 " NeoNatal Mortality Benefits ( Sub 15). sas" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204 Integrated Exposure Uptake Biokinetic Model ( IEUBK) . . . . . . . . . . . . . . . . . . . . . . 213 " Gen4. txt" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214 " Create Lookup Table. sas" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215 " Ublook4. sd2" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217 " Cnc_ fmt3. sas" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218 " Child Lead Benefits ( Sub 16). sas" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219 2 Recreational Benefits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231 Recreational Fishing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232 " Human Health AWQC Exceedences ( Sub 2). sas" . . . . . . . . . . . . . . . . . . . . . . . . . . 233 " Aquatic Life AWQC Exceedences ( Sub 3). sas" . . . . . . . . . . . . . . . . . . . . . . . . . . . 234 " Fishing Recreation ( Sub 7). sas" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255 Near water Activity and Boating . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267 " Human Health AWQC Exceedences ( Sub 2). sas" . . . . . . . . . . . . . . . . . . . . . . . . . . 268 " Aquatic Life AWQC Exceedences ( Sub 3). sas" . . . . . . . . . . . . . . . . . . . . . . . . . . . 269 " Other Recreation ( Sub 8). sas" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270 POTW Benefits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285 POTW Inhibitions from MP& M Facilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286 " Generate Discharge Events ( Sub1). sas" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287 " POTW Inhibitions ( Sub 9). sas" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288 Sludge Benefits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300 " POTW Inhibitions ( Sub 9). sas" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301 " Sldg MP& M Based ( Sub 10). sas" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302 3 MP& M Benefits Programs and Data Sets Programs Used in the National Benefits Run Program Name Dataset DCN Description " Master Benefits Preferred. sas" Data utilized td_ pf. sd2 ERG Baseline and post compliance pollutant loadings for MP& M facilities.

baseclos. sd2 37652 Facility closures in the baseline and post compliance.

poll2cas. sd2 37653 Crosswalk between the pollutant code index and the pollutant CAS number.

Data created None " Generate Discharge Events ( Sub 1). sas" Data utilized fac_ info. sd2 37654 MP& M facility and discharge RF1 reach information.

facsize. sd2 37655 37656 MP& M facility size ( small, medium, or large) based on discharge flow.

twf_ remr. sd2 37657 MP& M pollutant toxic weighting factors and POTW removal percentages.

Data created potw_ in. sd2 MP& M pollutant discharges to POTWs prior to POTW removals.

event_ ld. sd2 MP& M pollutant discharge events to RF1 reaches from direct dischargers and POTWs ( post removal).

" Tally Loadings ( Sub 13) pref. sas" Data utilized td_ pf. sd2 ERG Baseline and post compliance pollutant loadings for MP& M facilities.

baseclos. sd2 37652 Facility closures in the baseline and post compliance.

twf_ remr. sd2 37657 MP& M pollutant toxic weighting factors and POTW removal percentages.

chemdata. sd2 37660 MP& M pollutant data ( e. g., awqc values, reference dose, cancer slope factor).

Data created None Programs Used in the National Benefits Run Program Name Dataset DCN Description 4 " Toxic Weight Loadings ( Sub 18) pref. sas" Data utilized td_ pf. sd2 ERG Baseline and post compliance pollutant loadings for MP& M facilities.

baseclos. sd2 37652 Facility closures in the baseline and post compliance.

twf_ remr. sd2 37657 MP& M pollutant toxic weighting factors and POTW removal percentages.

chemdata. sd2 37660 MP& M pollutant data ( e. g., awqc values, reference dose, cancer slope factor).

Data created None " Human Health AWQC Exceedences ( Sub 2). sas" Data utilized event_ ld. sd2 MP& M pollutant discharge events to RF1 reaches from direct dischargers and POTWs ( post removal).

chemdata. sd2 37660 MP& M pollutant data ( e. g., awqc values, reference dose, cancer slope factor).

Data created cnc_ hh. sd2 MP& M pollutant in stream concentrations for each RF1 reach.

rec_ hh. sd2 Human health AWQC exceedences for affected RF1 reaches.

" Aquatic Life AWQC Exceedences ( Sub 3). sas" Data utilized event_ ld. sd2 MP& M pollutant discharge events to RF1 reaches from direct dischargers and POTWs ( post removal).

chemdata. sd2 37660 MP& M pollutant data ( e. g., awqc values, reference dose, cancer slope factor).

Data created rec_ al. sd2 Aquatic life AWQC exceedences for affected RF1 reaches.

" Cancer fish ( Sub 4). sas" Data utilized fish_ lic. sd2 37661 County level fishing license data for the United States.

fac_ info. sd2 37654 MP& M facility and discharge RF1 reach information. Programs Used in the National Benefits Run Program Name Dataset DCN Description 5 shoremi. sd2 37662 Number of river and ocean shore miles by state.

fishadv1. sd2 37663 Fishing advisory data by RF1 reach.

us_ rchmi. sd2 37664 Number of river miles by county.

cnc_ hh. sd2 MP& M pollutant in stream concentrations for each RF1 reach.

chemdata. sd2 37660 MP& M pollutant data ( e. g., awqc values, reference dose, cancer slope factor).

Data created lead. sd2 MP& M in stream concentrations for Lead on affected RF1 reaches.

" Systemic Cancer ( Sub 5). sas" Data utilized fish_ lic. sd2 37661 County level fishing license data for the United States.

fac_ info. sd2 37654 MP& M facility and discharge RF1 reach information.

fishadv1. sd2 37663 Fishing advisory data by RF1 reach.

us_ rchmi. sd2 37664 Number of river miles by county.

cnc_ hh. sd2 MP& M pollutant in stream concentrations for each RF1 reach.

chemdata. sd2 37660 MP& M pollutant data ( e. g., awqc values, reference dose, cancer slope factor).

Data created hazrats. sd2 Estimated systemic hazard ratio for affected RF1 reaches.

" Drinking Water Cancer ( Sub 6). sas" Data utilized bradout. sd2 In stream concentrations for six carcinogens on affected RF1 reaches with drinking water intakes and populations exposed.

chemdata. sd2 37660 MP& M pollutant data ( e. g., awqc values, reference dose, cancer slope factor). Programs Used in the National Benefits Run Program Name Dataset DCN Description 6 Data created None " Systemic Cancer Assoc DW ( Sub 14). sas" Data utilized bradout. sd2 In stream concentrations for six carcinogens on affected RF1 reaches with drinking water intakes and populations exposed.

chemdata. sd2 37660 MP& M pollutant data ( e. g., awqc values, reference dose, cancer slope factor).

Data created dwhazrat. sd2 Systemic hazard ratios associated with drinking water for affected RF1 reaches.

" Fishing Recreation ( Sub 7). sas" Data utilized fish_ lic. sd2 37661 County level fishing license data for the United States.

fac_ info. sd2 37654 MP& M facility and discharge RF1 reach information.

us_ rchmi. sd2 37664 Number of river miles by county.

rchstate. sd2 37665 Crosswalk of RF1 reach numbers and the state in which the reach resides.

avgdfish. sd2 37666 Average number of seasonal fishing days for freshwater and saltwater fishing by state.

rec_ hh. sd2 Human health AWQC exceedences for affected RF1 reaches.

rec_ al. sd2 Aquatic life AWQC exceedences for affected RF1 reaches.

Data created None " Other Recreation ( Sub 8). sas" Data utilized fac_ info. sd2 37654 MP& M facility and discharge RF1 reach information.

us_ rchmi. sd2 37664 Number of river miles by county.

cntypop. sd2 37667 Population by county. Programs Used in the National Benefits Run Program Name Dataset DCN Description 7 rchstate. sd2 37665 Crosswalk of RF1 reach numbers and the state in which the reach resides.

recpcts. sd2 37668 Number of boating and nearwater recreation days per season and participation percentages by state.

rec_ hh. sd2 Human health AWQC exceedences for affected RF1 reaches.

rec_ al. sd2 Aquatic life AWQC exceedences for affected RF1 reaches.

Data created exlrec. xls 37673 37676 Program output for recreational benefits.

" POTW Inhibitions ( Sub 9). sas" Data utilized potw_ in. sd2 MP& M pollutant discharges to POTWs prior to POTW removals.

facsize. sd2 37655 37656 MP& M facility size ( small, medium, or large) based on discharge flow.

potwevnt. sd2 MP& M pollutant discharge events to POTWs.

chemdata. sd2 37660 MP& M pollutant data ( e. g., awqc values, reference dose, cancer slope factor).

Data created potwevnt. sd2 MP& M pollutant discharge events to POTWs.

" Sldg MP& M Based ( Sub 10). sas" Data utilized potwevnt. sd2 MP& M pollutant discharge events to POTWs.

sldg_ cri. sd2 37669 Sewage sludge criteria for the eight MP& M sludge pollutants.

twf_ remr. sd2 37657 MP& M pollutant toxic weighting factors and POTW removal percentages.

Data created None " Lead Benefits ( Sub 12). sas" Data utilized lead. sd2 MP& M in stream concentrations for Lead on affected RF1 reaches. Programs Used in the National Benefits Run Program Name Dataset DCN Description 8 Data created None " Subsistence Lead Benefits ( Sub 17). sas" Data utilized lead. sd2 MP& M in stream concentrations for Lead on affected RF1 reaches.

Data created exlleadw. xls 37671 37674 Program output for adult lead benefits.

" NeoNatal Mortality Benefits ( Sub 15). sas" Data utilized lead. sd2 MP& M in stream concentrations for Lead on affected RF1 reaches.

Data created None " Create Lookup Table. sas" Data utilized Gen4. txt 37746 Output dataset from the IEUBK model run.

Data created ublook4. sd2 37670 Crosswalk of lead concentrations in fish tissue and resulting child blood lead levels.

Cnc_ fmt3. sas 20479 SAS program file which will generate a custom format for SAS. This format equates a lead concentration in fish tissue with the correct row in the ublook4 table of resulting blood lead levels.

" Cnc_ fmt3. sas" Data utilized none Data created custom SAS format The custom format ` cnc_ fmt' is created and placed in the formats library.

" Child Lead Benefits ( Sub 16). sas" Data utilized lead. sd2 MP& M in stream concentrations for Lead on affected RF1 reaches.

ublook4. sd2 37670 Crosswalk of lead concentrations in fish tissue and resulting child blood lead levels.

Data created exlchld. xls 37672 37675 Program output for child lead benefits.

" Hazard Ratio Tables. sas" Data utilized hazrats. sd2 Estimated systemic hazard ratio for affected RF1 reaches. Programs Used in the National Benefits Run Program Name Dataset DCN Description 9 dwhazrat. sd2 Systemic hazard ratios associated with drinking water for affected RF1 reaches.

Data created None 10 Estimating MP& M Discharge Loadings 11 " Master Benefits preferred. sas" This program calls on all sub programs and executes their code. 12 /* Program: Master Benefits Preferred. sas Author: Stuart Smith Date: 09/ 26/ 2000 Updated: 3/ 17/ 2002 This is the master benefits program for MP& M benefits calculations under the baseline and the Preferred Option. This program calls on all of the sub programs and executes their code. This allows for the running of one program to accomplish the estimation of each of the subroutines. */

/*****************************************************************************/ /*****************************************************************************/ /* Administrative Requirements */ /*****************************************************************************/ /*****************************************************************************/

/* Static Library */ libname mpm2 ' H:\ ENVR\ Triton05 MP& M\ Benefits\ MP& M Phase 2 Analysis\ Data\ SAS Sets for Analysis\'; /* Static Data Sets */

/* Run Specific Library */ libname rundat ' H:\ ENVR\ Triton05 MP& M\ Benefits\ MP& M Phase 2 Analysis\ Data\ Runs\ td\ Prefered\';

/* Run Specific LOADINGS file in SAS format */ data load; set rundat. td_ pf; run;

/* Set the Overall Title for Output */ title ' MP& M National Benefits Preferred( Opt1= Pref, Opt2= NULL)';

/*****************************************************************************/ /*****************************************************************************/ /* Read in Loadings Data */ /* */ /* This is the main set of loadings from the Access DB. All cutoffs and */ /* various other option settings have been done in Access. */ /*****************************************************************************/ /*****************************************************************************/

/* CALCULATE LOADINGS PER DAY IN UG/ DAY, LOADINGS GIVEN IN LBS/ YEAR CONVERSION FACTOR UG/ KG is 10** 9 CONVERSION FACTOR LB/ KG is 0.4535924 EVENT FREQUENCY FOR HUMAN HEALTH IS 365 DAYS Grab indirect and direct dischargers only I = indirect ( always included) D = direct ( always included) CH = contract hauling ( currently excluded, only 1 facility) Z = zero discharge ( never included) R = recycled ( never included)

Baseline closures are accounted for by including the baseclos dataset. If 13 base = 1 then the facility is open in the baseline and is included in the analysis. Incremental closures are also included by testing to see if opt5 variable is equal to 1. If equal to 1, the facility closes due to the regulation and its loadings are set to 0. */

proc sql; create table loads as select siteid, casnum as casno, (( loads0/ 365) * 0.4535924 * 10** 9) as base, case when loads5 is missing then (( loads0/ 365) * 0.4535924 * 10** 9) when loads5 < 0 or opt5 = 1 then 0 else (( loads5/ 365) * 0.4535924 * 10** 9) end as treat1, 0 as treat2, sitedest, weights from load, mpm2. poll2cas, mpm2. baseclos where loads0 is not missing and pollcode= polluta1 and sitedest in (' I',' D') and load. siteid = baseclos. sid and base = 1 order by siteid; quit;

/* Table Loads is now the base loadings table for use in the analysis. It contains all necessary loadings information for included facilities both indirect and direct dischargers. */

/*****************************************************************************/ /*****************************************************************************/ /* Sub 1: Generate the Discharge Events */ /*****************************************************************************/ /*****************************************************************************/

/* Full name: Generate Discharge Events ( Sub 1). sas */ % include ' H:\ ENVR\ Triton05 MP& M\ Benefits\ MP& M Phase 2 Analysis\ Programs\ subroutines\ Generate Discharge Events ( Sub 1). sas' / source2;

/*****************************************************************************/ /*****************************************************************************/ /* Sub 2: Human Health AWQC Exceedences */ /*****************************************************************************/ /*****************************************************************************/

/* Full name: Human Health AQWC ( Sub 2). sas */ % include ' H:\ ENVR\ Triton05 MP& M\ Benefits\ MP& M Phase 2 Analysis\ Programs\ subroutines\ Human Health AWQC ( Sub 2). sas' / source2;

/*****************************************************************************/ /*****************************************************************************/ /* Sub 3: Aquatic Life AWQC Exceedences */ /*****************************************************************************/ /*****************************************************************************/ 14 /* Full name: Aquatic Life AQWC ( Sub 3). sas */ % include ' H:\ ENVR\ Triton05 MP& M\ Benefits\ MP& M Phase 2 Analysis\ Programs\ subroutines\ Aquatic Life AWQC ( Sub 3). sas' / source2;

/*****************************************************************************/ /*****************************************************************************/ /* Sub 4: Cancer from Fish Consumption */ /*****************************************************************************/ /*****************************************************************************/

/* Full name: Cancer Fish ( Sub 4). sas */ % include ' H:\ ENVR\ Triton05 MP& M\ Benefits\ MP& M Phase 2 Analysis\ Programs\ subroutines\ Cancer fish ( Sub 4). sas' / source2;

/*****************************************************************************/ /*****************************************************************************/ /* Sub 5: Systemic Cancer from Fish Consumption */ /*****************************************************************************/ /*****************************************************************************/

/* Full name: Systemic Cancer ( Sub 5). sas */ % include ' H:\ ENVR\ Triton05 MP& M\ Benefits\ MP& M Phase 2 Analysis\ Programs\ subroutines\ Systemic Cancer ( Sub 5). sas' / source2;

/*****************************************************************************/ /*****************************************************************************/ /* Sub 6: Drinking Water Cancer */ /*****************************************************************************/ /*****************************************************************************/

/* Full name: Drinking Water Cancer ( Sub 6). sas */ % include ' H:\ ENVR\ Triton05 MP& M\ Benefits\ MP& M Phase 2 Analysis\ Programs\ subroutines\ Drinking Water Cancer ( Sub 6). sas' / source2;

/*****************************************************************************/ /*****************************************************************************/ /* Sub 14: Systemic Cancer from Drinking Water */ /*****************************************************************************/ /*****************************************************************************/

/* Full name: Systemic Cancer Assoc DW ( Sub 14). sas */ % include ' H:\ ENVR\ Triton05 MP& M\ Benefits\ MP& M Phase 2 Analysis\ Programs\ subroutines\ Systemic Cancer Assoc DW ( Sub 14). sas' / source2;

/*****************************************************************************/ /*****************************************************************************/ /* Sub 7: Fishing Recreation */ /*****************************************************************************/ /*****************************************************************************/

/* Full name: Fishing Recreation ( Sub 7). sas */ % include ' H:\ ENVR\ Triton05 MP& M\ Benefits\ MP& M Phase 2 Analysis\ Programs\ subroutines\ Fishing Recreation ( Sub 7). sas' / source2; 15 /*****************************************************************************/ /*****************************************************************************/ /* Sub 8: Other Recreation */ /*****************************************************************************/ /*****************************************************************************/

/* Full name: Other Recreation ( Sub 8). sas */ % include ' H:\ ENVR\ Triton05 MP& M\ Benefits\ MP& M Phase 2 Analysis\ Programs\ subroutines\ Other Recreation ( Sub 8). sas' / source2;

/*****************************************************************************/ /*****************************************************************************/ /* Sub 9: POTW Inhibitions */ /*****************************************************************************/ /*****************************************************************************/

/* Full name: POTW Inhibitions ( Sub 9). sas */ % include ' H:\ ENVR\ Triton05 MP& M\ Benefits\ MP& M Phase 2 Analysis\ Programs\ subroutines\ POTW Inhibitions ( Sub 9). sas' / source2;

/*****************************************************************************/ /*****************************************************************************/ /* Sub 10: Sludge  MP& M Based */ /*****************************************************************************/ /*****************************************************************************/

/* Full name: Sldg MP& M Based ( Sub 10). sas */ % include ' H:\ ENVR\ Triton05 MP& M\ Benefits\ MP& M Phase 2 Analysis\ Programs\ subroutines\ Sldg MP& M Based ( Sub 10). sas' / source2;

/*****************************************************************************/ /*****************************************************************************/ /* Sub 12: Lead Benefits  Recreational Fishers */ /*****************************************************************************/ /*****************************************************************************/

/* Full name: Lead Benefits ( Sub 12). sas */ % include ' H:\ ENVR\ Triton05 MP& M\ Benefits\ MP& M Phase 2 Analysis\ Programs\ subroutines\ Lead Benefits ( Sub 12). sas' / source2;

/*****************************************************************************/ /*****************************************************************************/ /* Sub 17: Lead Benefits  Subsistence Fishers */ /*****************************************************************************/ /*****************************************************************************/

/* Full name: Subsistence Lead Benefits ( Sub 17). sas */ % include ' H:\ ENVR\ Triton05 MP& M\ Benefits\ MP& M Phase 2 Analysis\ Programs\ subroutines\ Subsistence Lead Benefits ( Sub 17). sas' / source2;

/*****************************************************************************/ /*****************************************************************************/ /* Sub 15: NeoNatal Mortality Benefits */ 16 /*****************************************************************************/ /*****************************************************************************/

/* Full name: NeoNatal Mortality Benefits ( Sub 15). sas */ % include ' H:\ ENVR\ Triton05 MP& M\ Benefits\ MP& M Phase 2 Analysis\ Programs\ subroutines\ NeoNatal Mortality Benefits ( Sub 15). sas' / source2;

/*****************************************************************************/ /*****************************************************************************/ /* Sub 16: Child Lead Benefits */ /*****************************************************************************/ /*****************************************************************************/

/* Full name: Child Lead Benefits ( Sub 16). sas */ % include ' H:\ ENVR\ Triton05 MP& M\ Benefits\ MP& M Phase 2 Analysis\ Programs\ subroutines\ Child Lead Benefits ( Sub 16). sas' / source2;

/*****************************************************************************/ /*****************************************************************************/ /* Sub 13: Tally Loadings by Chemical Groups */ /*****************************************************************************/ /*****************************************************************************/

/* Full name: Tally Loadings ( Sub 13) pref. sas */ % include ' H:\ ENVR\ Triton05 MP& M\ Benefits\ MP& M Phase 2 Analysis\ Programs\ subroutines\ Tally Loadings ( Sub 13) pref. sas' / source2;

/*****************************************************************************/ /*****************************************************************************/ /* Sub 18: Toxic Weighted Loadings for Lead Only */ /*****************************************************************************/ /*****************************************************************************/

/* Full name: Toxic Weight Loadings ( Sub 18) pref. sas */ % include ' H:\ ENVR\ Triton05 MP& M\ Benefits\ MP& M Phase 2 Analysis\ Programs\ subroutines\ Toxic Weight Loadings ( Sub 18) pref. sas' / source2;

quit;

/* End Master Benefits Preferred. sas */ 17 " Generate Discharge Events ( Sub 1). sas" Using the generated set of MP& M facility loadings, a data set of pollutant loading events and their corresponding weights for each RF1 reach receiving MP& M discharges is created. 18 /* Program: Generate Discharge Events ( Sub 1). sas Author: Abt Associates Inc.; Stuart Smith based on Event1. sas by Rob Sartain Date: 04/ 21/ 2000 Updated: 09/ 04/ 2002 This subroutine calculates the number of discharge events per reach based on loadings and sample facility weights. An event is a combination of direct discharge facilities and indirect facilities total discharges to a given POTW for each pollutant on a given reach. Event weights are assigned per Appendix C of the MP& M Phase 1 analysis.

SAMPLE BASED ANALYSIS  If the run is doing a sample based analysis rather than the national analysis, the weights for the facilities will have been set to 1 in the Master benefits program. Thus, only one event exists per potw/ chemical/ reach combination and the resulting events data set will not contain multiple events for a given chemical reach as would occur if facility weights other than 1 were used. */

title2 ' Generation of Discharge Events Program Output ( Sub 1)';

/* MERGE FACILITY AND LOADINGS TO CREATE THREE FILES.

1. INDIRECT DISCHARGERS 2. DIRECT DISCHARGERS 3. FACILITIES WITH NO REACH INFORMATION ( REACHNMB) */

data facs; set mpm2. fac_ info; run;

proc sort data= facs; by siteid; quit; proc sort data= mpm2. facsize; by siteid; quit;

data facsze; set mpm2. facsize; keep siteid facflow; run;

data facs2; merge facs facsze; by siteid;

/* Correct for missing POTW flow data. Average Flow substituted for missing values, calculated based on flows for POTW dischargers that are classified as non major in PCS database. Flow is in million of gallons per year */ if potwflow = . or potwflow = 0 then potwflow = 171.404;

/* End correction for missing POTW flow data */ 19 /* Correction for missing facility flow data for direct dischargers */

if facflow=. or facflow = 0 then facflow = 10216483.2862; /* gal/ year */

/* End correction for missing Facility flow data */

poflow = ( potwflow/ 365) * 10** 6 * 3.875;/* Convert from mln/ gal/ yr to L/ day*/ fac_ flow = ( facflow/ 365) * 3.875; /* Convert from gal/ yr to L/ day */

npdes = potw_ npd; keep siteid fac_ flow poflow reachnmb npdes segl mnflo svten acute chronic dcp wbtype surface drainage volume; run;

proc sql;

/* Merge loadings and facility data */ create table loads3 as select loads. siteid, casno, base, treat1, treat2, sitedest, weights, reachnmb, fac_ flow, poflow, npdes, segl, mnflo, svten, acute, chronic, dcp, wbtype, surface, drainage, volume from loads, facs2 where loads. siteid = facs2. siteid order by reachnmb, casno;

/* Account for POTW removals for indirect dischargers */ create table loads4 as select reachnmb, casno, weights, sitedest, npdes, fac_ flow, poflow, case when sitedest = ' I' then ( case when potw_ rem is missing then base else base*( 1( potw_ rem/ 100)) end) else base end as base_ rm, case when sitedest = ' I' then ( case when potw_ rem is missing then treat1 else treat1*( 1( potw_ rem/ 100)) end) else treat1 end as treat1rm, case when sitedest = ' I' then ( case when potw_ rem is missing then treat2 else treat2*( 1( potw_ rem/ 100)) end) else treat2 end as treat2rm, siteid, segl, mnflo, svten, acute, chronic, dcp, wbtype, surface, drainage, volume from loads3, mpm2. twf_ remr where loads3. casno = twf_ remr. cas order by reachnmb, casno, weights; quit;

data evntflo1; set loads3; run;

proc sort data= evntflo1; by reachnmb npdes siteid; quit; 20 /* Pull out the flow to a given reach from a facility or the POTW to which it discharges */

data evntflo2; set evntflo1; by reachnmb npdes siteid;

if sitedest = ' I' and not first. npdes then delete; if sitedest = ' D' and not first. siteid then delete;

if sitedest = ' I' then flow = poflow; else flow = fac_ flow;

keep reachnmb flow; run;

proc sql;

/* Sum the loadings for each pollutant to a given reach to obtain the total loadings discharged to the reach */

create table loads5 as select loads4. reachnmb, loads4. casno, weights, sitedest, npdes, fac_ flow, case when sitedest = ' I' then poflow else 0 end as potflow, base_ rm, treat1rm, treat2rm, siteid, sum( base_ rm) as tot_ base, sum( treat1rm) as tot_ trt1, sum( treat2rm) as tot_ trt2, segl, mnflo, svten, acute, chronic, dcp, wbtype, surface, drainage, volume from loads4 group by reachnmb, casno order by reachnmb, casno, weights;

/* Indirects: Sum the loadings for each pollutant on a reach by POTW and sample weight */

create table loads5a as select reachnmb, casno, weights, min( sitedest) as sitedest, npdes, min( fac_ flow) as fac_ flow, min( potflow) as potflow, min( tot_ base) as tot_ base, min( tot_ trt1) as tot_ trt1, min( tot_ trt2) as tot_ trt2, min( segl) as segl, min( mnflo) as mnflo, min( svten) as svten, min( acute) as acute, min( chronic) as chronic, min( dcp) as dcp, min( wbtype) as wbtype, min( surface) as surface, min( drainage) as drainage, min( volume) as volume, sum( base_ rm) as base, sum( treat1rm) as treat1, sum( treat2rm) as treat2 from loads5 where sitedest = ' I' group by reachnmb, casno, npdes, weights order by reachnmb, casno, weights;

/* Pull out the Direct discharge facilities only */ 21 create table loads5b as select reachnmb, casno, weights, sitedest, npdes, fac_ flow, potflow, tot_ base, tot_ trt1, tot_ trt2, segl, mnflo, svten, acute, chronic, dcp, wbtype, surface, drainage, volume, base_ rm as base, treat1rm as treat1, treat2rm as treat2 from loads5 where sitedest = ' D' order by reachnmb, casno, weights;

/* Pull together the Indirects and Directs back into one table */

create table loads5c as select * from loads5a union corresponding select * from loads5b order by reachnmb, casno, weights;

/* Determine the total flow for events on a given reach */

create table evntflo3 as select reachnmb, sum( flow) as evnt_ flo from evntflo2 group by reachnmb order by reachnmb;

/* Merge in the event flow data by reach with the loadings data */

create table loads6 as select loads5c.*, evnt_ flo from loads5c, evntflo3 where loads5c. reachnmb = evntflo3. reachnmb order by loads5c. reachnmb, casno, weights, sitedest; quit;

/* OUTPUT THE INDIRECT TABLE FOR USE IN THE POTW INHIBITION PROGRAM */

data rundat. potw_ in; set loads3;

if reachnmb = . then delete; if sitedest ^= ' I' then delete; /* keep only indirects */ run;

/* CALCULATE THE EVENTS AND LOADINGS */

Data events; set loads6; by reachnmb casno weights; keep outreach outcas outload0 outload1 outload2 outflow outwt segl mnflo svten acute chronic dcp wbtype surface drainage volume; retain oldreach oldcas oldload0 oldload1 oldload2 oldflow oldwt oldnpdes oldpoflo prevwt; 22 if first. casno then do; oldnpdes = npdes; oldpoflo = potflow; oldreach = reachnmb; oldcas = casno; oldload0 = tot_ base; oldload1 = tot_ trt1; oldload2 = tot_ trt2; oldflow = evnt_ flo; oldwt = weights; prevwt = 0;

if last. casno then do; /* SINGLE DISCHARGE EVENT */ outreach = oldreach; outcas = oldcas; outflow = oldflow; outload0 = oldload0; outload1 = oldload1; outload2 = oldload2; outwt = oldwt; output; return; end; end;

/* MULTIPLE EVENTS */ /* OUTPUT THE CURRENT EVENT */ outreach = oldreach; outcas = oldcas; if sitedest = ' I' then do; /* indirect discharger */ if oldnpdes ^= npdes then outflow = oldflow  oldpoflo; else outflow = oldflow; end; else do; /* direct discharger */ if last. casno then outflow = fac_ flow; else outflow = oldflow; end; outload0 = oldload0; outload1 = oldload1; outload2 = oldload2; outwt = weights  prevwt; if outwt = 0 then outwt = weights; output;

/* SUBTRACT CURRENT LOADS FROM TOTAL */ oldnpdes = npdes; oldpoflo = potflow; oldreach = reachnmb; oldcas = casno; oldload0 = oldload0  base; oldload1 = oldload1  treat1; oldload2 = oldload2  treat2; if sitedest = ' D' then 23 oldflow = outflow  fac_ flow; else oldflow = outflow; oldwt = outwt; prevwt = outwt; run;

/* Output the results to the event loadings dataset to be used by other subroutines. */

Data rundat. event_ ld; set events;

if outreach = . then delete; /* delete obs for which reach is unknown */ if outload0 = . then delete; /* delete obs with no base loadings */

if outflow < 0 then outflow = 0; if outload1 < 0 then outload1 = 0; if outload2 < 0 then outload2 = 0;

rename outreach = reachnmb outcas = casno outload0 = base outload1 = treat1 outload2 = treat2 outflow = evnt_ flo outwt = event_ wt;

label outreach = ' RF1 Reach Identifier' outcas = ' CAS Chemical Identifier' outload0 = ' Base loadings in ug/ L' outload1 = ' Treated loadings in ug/ L Option 1' outload2 = ' Treated loadings in ug/ L Option 2' outflow = ' Event Flow rate in L/ day' outwt = ' Event Weight'; run;

proc sort data= rundat. event_ ld nodupkey; by reachnmb casno event_ wt; quit;

title3 ' Events and Loadings ( Sample of 10 obs.)'; Proc print data = rundat. event_ ld( firstobs= 1 obs= 10); quit;

/* End Generate Discharge Events ( Sub 1). sas */ 24 " Tally Loadings ( Sub 13) pref. sas" Using the generated set of MP& M facility loadings, aggregate discharge loads for various pollutants is estimated. 25 /* Program: Tally Loadings ( Sub 13) pref. sas Author: Stuart Smith ( from Load_ fnl. sas Elena Besedin, Ron Sartain) Date Modified: 07/ 15/ 2002 */

title2 ' Tally Loadings Preferred ( Sub 13)';

/* Run Specific LOADINGS file in SAS format */ data load; set rundat. td_ pf; run;

/* Get loadings for sample facilities*/

/* reset loadings for different cutoffs */

proc sql; create table facload as select siteid, casnum as casno, weights as weight, loads0 as baseload, case when loads5 < 0 or opt5 = 1 then 0 else loads5 end as treat1, 0 as treat2, sitedest, potw_ rem from load, mpm2. baseclos, mpm2. twf_ remr where load. siteid = baseclos. sid and base = 1 and load. casnum = twf_ remr. cas order by siteid, casno; quit;

/* POTW Removals for Indirects */

data facloads; set facload;

if sitedest = ' I' then do; baseload = baseload*( 1( potw_ rem/ 100)); treat1 = treat1*( 1( potw_ rem/ 100)); treat2 = treat2*( 1( potw_ rem/ 100)); end; run;

proc sql;

/* calculate total loadings from MP& M Facilities nationwide */

/* Loads from indirects without POTW removals */ create table indload as select sum( baseload* weight) as baseld, sum( treat1* weight) as newld1, sum( treat2* weight) as newld2, sum( baseload) as sample_ b, sum( treat1) as sample_ 1, sum( treat2) as sample_ 2, count( distinct casno) as pollts from facload where sitedest = ' I' and casno not in (' C010',' C003'); /* remove TDS and BOD*/ 26 /* Loads from indirects */ create table ntlload as select sum( baseload* weight) as baseld, sum( treat1* weight) as newld1, sum( treat2* weight) as newld2, sum( baseload) as sample_ b, sum( treat1) as sample_ 1, sum( treat2) as sample_ 2, count( distinct casno) as pollts from facloads where sitedest = ' I' and casno not in (' C010',' C003'); /* remove TDS and BOD*/

/* Loads from directs */ create table ntlloadd as select sum( baseload* weight) as baseld, sum( treat1* weight) as newld1, sum( treat2* weight) as newld2, sum( baseload) as sample_ b, sum( treat1) as sample_ 1, sum( treat2) as sample_ 2, count( distinct casno) as pollts from facloads where sitedest = ' D' and casno not in (' C010',' C003');/* remove TDS and BOD*/

/* Inihibition */ create table inhval as select sum( baseload* weight) as baseld, sum( treat1* weight) as newld1, sum( treat2* weight) as newld2, sum( baseload) as sample_ b, sum( treat1) as sample_ 1, sum( treat2) as sample_ 2, count( distinct facloads. casno) as pollts, count( distinct chemdata. casno) as chems from facloads, mpm2. chemdata where facloads. casno= chemdata. casno and inhibit is not missing;

/* Aquatic toxicity chronic */ create table aqtox_ c as select sum( baseload* weight) as baseld, sum( treat1* weight) as newld1, sum( treat2* weight) as newld2, sum( baseload) as sample_ b, sum( treat1) as sample_ 1, sum( treat2) as sample_ 2, count( distinct facloads. casno) as pollts, count( distinct chemdata. casno) as chems from facloads, mpm2. chemdata where facloads. casno= chemdata. casno and fcval__ i is not missing;

/* Aquatic toxicity acute */ create table aqtox_ a as select sum( baseload* weight) as baseld, sum( treat1* weight) as newld1, sum( treat2* weight) as newld2, sum( baseload) as sample_ b, sum( treat1) as sample_ 1, sum( treat2) as sample_ 2, count( distinct facloads. casno) as pollts, count( distinct chemdata. casno) as chems from facloads, mpm2. chemdata where facloads. casno= chemdata. casno and faval__ i is not missing;

/* Sludge biosolids */ create table biosol as select sum( baseload* weight) as baseld, sum( treat1* weight) as newld1, sum( treat2* weight) as newld2, sum( baseload) as sample_ b, sum( treat1) as sample_ 1, sum( treat2) as 27 sample_ 2, count( distinct facloads. casno) as pollts from facloads where casno=' 7440382' or casno=' 7439976' or casno=' 7782492' or casno=' 7439921' or casno=' 7440020' or casno=' 7440439' or casno=' 7440508' or casno=' 7440666';

/* Human health carcinogens */ create table hh_ car as select sum( baseload* weight) as baseld, sum( treat1* weight) as newld1, sum( treat2* weight) as newld2, sum( baseload) as sample_ b, sum( treat1) as sample_ 1, sum( treat2) as sample_ 2, count( distinct facloads. casno) as pollts, count( distinct chemdata. casno) as chems from facloads, mpm2. chemdata where facloads. casno= chemdata. casno and slope_ fa is not missing;

/* Human health systemic */ create table hh_ sys as select sum( baseload* weight) as baseld, sum( treat1* weight) as newld1, sum( treat2* weight) as newld2, sum( baseload) as sample_ b, sum( treat1) as sample_ 1, sum( treat2) as sample_ 2, count( distinct facloads. casno) as pollts, count( distinct chemdata. casno) as chems from facloads, mpm2. chemdata where facloads. casno= chemdata. casno and referenc is not missing;

/* Hazardous air pollutants */ create table haps as select sum( baseload* weight) as baseld, sum( treat1* weight) as newld1, sum( treat2* weight) as newld2, sum( baseload) as sample_ b, sum( treat1) as sample_ 1, sum( treat2) as sample_ 2, count( distinct facloads. casno) as pollts, count( distinct chemdata. casno) as chems from facloads, mpm2. chemdata where facloads. casno= chemdata. casno and hazardou = 1;

/* Priority pollutants */ create table pps as select sum( baseload* weight) as baseld, sum( treat1* weight) as newld1, sum( treat2* weight) as newld2, sum( baseload) as sample_ b, sum( treat1) as sample_ 1, sum( treat2) as sample_ 2, count( distinct facloads. casno) as pollts, count( distinct chemdata. casno) as chems from facloads, mpm2. chemdata where facloads. casno= chemdata. casno and priority = 1;

/* Conventional pollutants */ create table convp as select facloads. casno, sum( baseload* weight) as baseld, sum( treat1* weight) as newld1, sum( treat2* weight) as newld2, sum( baseload) as sample_ b, sum( treat1) as sample_ 1, sum( treat2) as sample_ 2, count( distinct facloads. casno) as pollts, count( distinct 28 chemdata. casno) as chems from facloads, mpm2. chemdata where facloads. casno= chemdata. casno and ( conventi= 1 or facloads. casno=' C037' or facloads. casno=' C036' or facloads. casno=' C021' or facloads. casno=' C004') group by facloads. casno order by casno;

/* Other pollutants ( non conventional non priority) */ create table otherp as select sum( baseload* weight) as baseld, sum( treat1* weight) as newld1, sum( treat2* weight) as newld2, sum( baseload) as sample_ b, sum( treat1) as sample_ 1, sum( treat2) as sample_ 2, count( distinct facloads. casno) as pollts, count( distinct chemdata. casno) as chems from facloads, mpm2. chemdata where facloads. casno= chemdata. casno and other_ po = 1;

/* Lead only */ create table leadp as select sum( baseload* weight) as baseld, sum( treat1* weight) as newld1, sum( treat2* weight) as newld2, sum( baseload) as sample_ b, sum( treat1) as sample_ 1, sum( treat2) as sample_ 2, count( distinct facloads. casno) as pollts, count( distinct chemdata. casno) as chems from facloads, mpm2. chemdata where facloads. casno= chemdata. casno and facloads. casno = ' 7439921';

/* Generate an output table of all values */

create table master as select ' Sludge Inhibition' as cat, baseld as base, newld1 as opt2, newld2 as opt4, chems as poll from inhval; insert into master select ' Biosolids' as cat, baseld as base, newld1 as opt2, newld2 as opt4, 8 as poll from biosol; insert into master select ' HAPs' as cat, baseld as base, newld1 as opt2, newld2 as opt4, chems as poll from haps; insert into master select ' Acute Toxics' as cat, baseld as base, newld1 as opt2, newld2 as opt4, chems as poll from aqtox_ a; insert into master select ' Chronic Toxics' as cat, baseld as base, newld1 as opt2, newld2 as opt4, chems as poll from aqtox_ c; insert into master select ' Carcinogens' as cat, baseld as base, newld1 as opt2, newld2 as opt4, chems as poll from hh_ car; insert into master 29 select ' Systemic' as cat, baseld as base, newld1 as opt2, newld2 as opt4, chems as poll from hh_ sys; quit;

proc transpose data= master out= master2; id cat; quit;

/* Generate an output table of all Sample values */ proc sql; create table sample as select ' Sludge Inhibition' as cat, sample_ b as base, sample_ 1 as opt2, sample_ 2 as opt4, chems as poll from inhval; insert into sample select ' Biosolids' as cat, sample_ b as base, sample_ 1 as opt2, sample_ 2 as opt4, 8 as poll from biosol; insert into sample select ' HAPs' as cat, sample_ b as base, sample_ 1 as opt2, sample_ 2 as opt4, chems as poll from haps; insert into sample select ' Acute Toxics' as cat, sample_ b as base, sample_ 1 as opt2, sample_ 2 as opt4, chems as poll from aqtox_ a; insert into sample select ' Chronic Toxics' as cat, sample_ b as base, sample_ 1 as opt2, sample_ 2 as opt4, chems as poll from aqtox_ c; insert into sample select ' Carcinogens' as cat, sample_ b as base, sample_ 1 as opt2, sample_ 2 as opt4, chems as poll from hh_ car; insert into sample select ' Systemic' as cat, sample_ b as base, sample_ 1 as opt2, sample_ 2 as opt4, chems as poll from hh_ sys; quit;

proc transpose data= sample out= sample2; id cat; quit;

proc print data= indload; title3 ' National Loads to POTWs ( Indirects)'; title4 '( minus TDS and BOD)  No POTW Removal'; quit; proc print data= ntlload; title3 ' National Loads From Indirects)'; title4 '( minus TDS and BOD) with POTW Removals'; quit; 30 proc print data= ntlloadd; title3 ' National Loads ( Direct Dischargers)'; title4 '( minus TDS and BOD)'; quit; proc print data= master2; title3 ' Master List for Table ( National)'; quit; proc print data= sample2; title3 ' Master List for Table ( Sample)'; quit; proc print data= pps; title3 ' Priority Pollutants'; quit; proc print data= convp; title3 ' Conventional Pollutants'; quit; proc print data= otherp; title3 ' Other Pollutants'; quit; proc print data= leadp; title3 ' Lead Only'; quit;

/* End Tally Loadings ( Sub 13) pref. sas */ 31 Program Output: Traditional Extrapolation 32 MP& M National Benefits Preferred( Opt1= Pref, Opt2= NULL) 87 Tally Loadings Preferred ( Sub 13) National Loads to POTWs ( Indirects) ( minus TDS and BOD)  No POTW Removal 16: 38 Thursday, January 30, 2003 Obs baseld newld1 newld2 sample_ b sample_ 1 sample_ 2 pollts 1 52828607.49 52828607.49 0 4806475.48 4806475.48 0 125 MP& M National Benefits Preferred( Opt1= Pref, Opt2= NULL) 88 Tally Loadings Preferred ( Sub 13) National Loads From Indirects) 16: 38 Thursday, January 30, 2003 ( minus TDS and BOD) with POTW Removals Obs baseld newld1 newld2 sample_ b sample_ 1 sample_ 2 pollts 1 10077218.72 10077218.72 0 913924.42 913924.42 0 125 MP& M National Benefits Preferred( Opt1= Pref, Opt2= NULL) 89 Tally Loadings Preferred ( Sub 13) National Loads ( Direct Dischargers) ( minus TDS and BOD) 16: 38 Thursday, January 30, 2003 Obs baseld newld1 newld2 sample_ b sample_ 1 sample_ 2 pollts 1 6189635.41 776824.53 0 600976.17 15415.79 0 125 MP& M National Benefits Preferred( Opt1= Pref, Opt2= NULL) 90 Tally Loadings Preferred ( Sub 13) Master List for Table ( National) 16: 38 Thursday, January 30, 2003 Sludge_ Acute_ Chronic_ Obs _ NAME_ Inhibition Biosolids HAPs Toxics Toxics Carcinogens Systemic 1 base 1085041.35 252515.38 3077.40 867670.02 1153994.55 757.409 664914.91 2 opt1 1075858.08 250106.36 3019.69 858711.09 1141724.79 739.547 658015.00 3 opt2 0.00 0.00 0.00 0.00 0.00 0.000 0.00 4 poll 86.00 8.00 35.00 106.00 113.00 13.000 76.00 MP& M National Benefits Preferred( Opt1= Pref, Opt2= NULL) 91 Tally Loadings Preferred ( Sub 13) Master List for Table ( Sample) 16: 38 Thursday, January 30, 2003 Sludge_ Acute_ Chronic_ Obs _ NAME_ Inhibition Biosolids HAPs Toxics Toxics Carcinogens Systemic 1 base 84715.54 25152.00 271.186 72949.56 90249.10 53.6325 54303.37 2 opt1 84129.09 24960.10 267.798 72323.29 89423.10 52.5315 53751.77 3 opt2 0.00 0.00 0.000 0.00 0.00 0.0000 0.00 4 poll 86.00 8.00 35.000 106.00 113.00 13.0000 76.00 MP& M National Benefits Preferred( Opt1= Pref, Opt2= NULL) 92 Tally Loadings Preferred ( Sub 13) Priority Pollutants 16: 38 Thursday, January 30, 2003 Obs baseld newld1 newld2 sample_ b sample_ 1 sample_ 2 pollts chems 33 1 203020.90 202312.95 0 20098.93 20029.85 0 42 42 MP& M National Benefits Preferred( Opt1= Pref, Opt2= NULL) 93 Tally Loadings Preferred ( Sub 13) Conventional Pollutants 16: 38 Thursday, January 30, 2003 Obs casno baseld newld1 newld2 sample_ b sample_ 1 sample_ 2 pollts chems 1 C003 1100228.77 1002376.61 0 86962.85 78832.87 0 1 1 2 C004 13292030.29 8545986.29 0 1293954.32 762519.75 0 1 1 3 C009 703343.95 616417.18 0 48447.82 42749.72 0 1 1 4 C021 227814.74 227681.94 0 16542.73 16540.76 0 1 1 5 C036 553480.52 154298.45 0 49088.27 16076.24 0 1 1 6 C037 67427.43 4898.02 0 5329.76 57.54 0 1 1 MP& M National Benefits Preferred( Opt1= Pref, Opt2= NULL) 94 Tally Loadings Preferred ( Sub 13) Other Pollutants 16: 38 Thursday, January 30, 2003 Obs baseld newld1 newld2 sample_ b sample_ 1 sample_ 2 pollts chems 1 14807008.76 9881014.67 0 1397265.57 850484.40 0 81 81 MP& M National Benefits Preferred( Opt1= Pref, Opt2= NULL) 95 Tally Loadings Preferred ( Sub 13) Lead Only 16: 38 Thursday, January 30, 2003 Obs baseld newld1 newld2 sample_ b sample_ 1 sample_ 2 pollts chems 1 9555.45 9436.91 0 992.696 980.188 0 1 1 34 Program Output: Post Stratification Extrapolation 35 MP& M National Benefits Preferred( Opt1= Pref, Opt2= NULL) 87 Tally Loadings Preferred ( Sub 13) National Loads to POTWs ( Indirects) ( minus TDS and BOD)  No POTW Removal 17: 36 Thursday, January 30, 2003 Obs baseld newld1 newld2 sample_ b sample_ 1 sample_ 2 pollts 1 52828607.49 52828607.49 0 4806475.48 4806475.48 0 125 MP& M National Benefits Preferred( Opt1= Pref, Opt2= NULL) 88 Tally Loadings Preferred ( Sub 13) National Loads From Indirects) 17: 36 Thursday, January 30, 2003 ( minus TDS and BOD) with POTW Removals Obs baseld newld1 newld2 sample_ b sample_ 1 sample_ 2 pollts 1 10077218.72 10077218.72 0 913924.42 913924.42 0 125 MP& M National Benefits Preferred( Opt1= Pref, Opt2= NULL) 89 Tally Loadings Preferred ( Sub 13) National Loads ( Direct Dischargers) ( minus TDS and BOD) 17: 36 Thursday, January 30, 2003 Obs baseld newld1 newld2 sample_ b sample_ 1 sample_ 2 pollts 1 5725369.32 1012746.62 0 600976.17 15415.79 0 125 MP& M National Benefits Preferred( Opt1= Pref, Opt2= NULL) 90 Tally Loadings Preferred ( Sub 13) Master List for Table ( National) 17: 36 Thursday, January 30, 2003 Sludge_ Acute_ Chronic_ Obs _ NAME_ Inhibition Biosolids HAPs Toxics Toxics Carcinogens Systemic 1 base 1086264.05 251761.63 3262.62 870958.68 1157347.46 851.868 665579.00 2 opt2 1079748.49 250128.10 3172.27 862949.62 1146586.71 822.015 659439.55 3 opt4 0.00 0.00 0.00 0.00 0.00 0.000 0.00 4 poll 86.00 8.00 35.00 106.00 113.00 13.000 76.00 MP& M National Benefits Preferred( Opt1= Pref, Opt2= NULL) 91 Tally Loadings Preferred ( Sub 13) Master List for Table ( Sample) 17: 36 Thursday, January 30, 2003 Sludge_ Acute_ Chronic_ Obs _ NAME_ Inhibition Biosolids HAPs Toxics Toxics Carcinogens Systemic 1 base 84715.54 25152.00 271.186 72949.56 90249.10 53.6325 54303.37 2 opt2 84129.09 24960.10 267.798 72323.29 89423.10 52.5315 53751.77 3 opt4 0.00 0.00 0.000 0.00 0.00 0.0000 0.00 4 poll 86.00 8.00 35.000 106.00 113.00 13.0000 76.00 MP& M National Benefits Preferred( Opt1= Pref, Opt2= NULL) 92 Tally Loadings Preferred ( Sub 13) Priority Pollutants 17: 36 Thursday, January 30, 2003 Obs baseld newld1 newld2 sample_ b sample_ 1 sample_ 2 pollts chems 36 1 203116.07 202434.96 0 20098.93 20029.85 0 42 42 MP& M National Benefits Preferred( Opt1= Pref, Opt2= NULL) 93 Tally Loadings Preferred ( Sub 13) Conventional Pollutants 17: 36 Thursday, January 30, 2003 Obs casno baseld newld1 newld2 sample_ b sample_ 1 sample_ 2 pollts chems 1 C003 1246235.16 1039122.07 0 86962.85 78832.87 0 1 1 2 C004 12310860.19 8675664.95 0 1293954.32 762519.75 0 1 1 3 C009 736210.08 642115.33 0 48447.82 42749.72 0 1 1 4 C021 227847.16 227686.12 0 16542.73 16540.76 0 1 1 5 C036 789828.78 163590.18 0 49088.27 16076.24 0 1 1 6 C037 116396.91 6841.67 0 5329.76 57.54 0 1 1 MP& M National Benefits Preferred( Opt1= Pref, Opt2= NULL) 94 Tally Loadings Preferred ( Sub 13) Other Pollutants 17: 36 Thursday, January 30, 2003 Obs baseld newld1 newld2 sample_ b sample_ 1 sample_ 2 pollts chems 1 14073433.11 10081824.87 0 1397265.57 850484.40 0 81 81 MP& M National Benefits Preferred( Opt1= Pref, Opt2= NULL) 95 Tally Loadings Preferred ( Sub 13) Lead Only 17: 36 Thursday, January 30, 2003 Obs baseld newld1 newld2 sample_ b sample_ 1 sample_ 2 pollts chems 1 9577.15 9436.02 0 992.696 980.188 0 1 1 37 " Toxic Weight Loadings ( Sub 18) pref. sas" Using the generated set of MP& M facility loadings, aggregate toxic weighted discharge loads for various pollutants is estimated. 38 /* Program: Toxic Weight Loadings ( Sub 18) pref. sas Author: Stuart Smith ( from Load_ fnl. sas Elena Besedin, Ron Sartain) Date Modified: 07/ 15/ 2002 */

title2 ' Toxic Weight Loadings Preferred ( Sub 18) pref';

/* Run Specific LOADINGS file in SAS format */ data load; set rundat. td_ pf; run;

/* Get loadings for sample facilities */

/* reset loadings for different cutoffs */

proc sql; create table facload as select siteid, casnum as casno, weights as weight, loads0 as baseload, case when loads5 < 0 or opt5 = 1 then 0 else loads5 end as treat1, 0 as treat2, sitedest, twf, potw_ rem from load, mpm2. baseclos, mpm2. twf_ remr where load. siteid = baseclos. sid and base = 1 and load. casnum = twf_ remr. cas order by siteid, casno;

quit;

/* POTW Removals for Indirects */

data facloads; set facload;

if sitedest = ' I' then do; baseload = baseload*( 1( potw_ rem/ 100)); treat1 = treat1*( 1( potw_ rem/ 100)); treat2 = treat2*( 1( potw_ rem/ 100)); end; run;

proc sql;

/* Loads from indirects */ create table ntlload as select sum( baseload* weight* twf) as baseld, sum( treat1* weight* twf) as newld1, sum( treat2* weight* twf) as newld2, sum( baseload* twf) as sample_ b, sum( treat1* twf) as sample_ 1, sum( treat2* twf) as sample_ 2, count( distinct casno) as pollts from facloads where sitedest = ' I' and casno not in (' C010',' C003'); /* remove TDS and BOD*/ 39 /* Loads from directs */ create table ntlloadd as select sum( baseload* weight* twf) as baseld, sum( treat1* weight* twf) as newld1, sum( treat2* weight* twf) as newld2, sum( baseload* twf) as sample_ b, sum( treat1* twf) as sample_ 1, sum( treat2* twf) as sample_ 2, count( distinct casno) as pollts from facloads where sitedest = ' D' and casno not in (' C010',' C003');/* remove TDS and BOD*/

/* Human health carcinogens */ create table hh_ car as select sum( baseload* weight* twf) as baseld, sum( treat1* weight* twf) as newld1, sum( treat2* weight* twf) as newld2, sum( baseload* twf) as sample_ b, sum( treat1* twf) as sample_ 1, sum( treat2* twf) as sample_ 2, count( distinct facloads. casno) as pollts, count( distinct chemdata. casno) as chems from facloads, mpm2. chemdata where facloads. casno= chemdata. casno and slope_ fa is not missing;

/* Generate lead loadings */ create table leadp as select sum( baseload* weight* twf) as baseld, sum( treat1* weight* twf) as newld1, sum( treat2* weight* twf) as newld2, sum( baseload* twf) as sample_ b, sum( treat1* twf) as sample_ 1, sum( treat2* twf) as sample_ 2, count( distinct facloads. casno) as pollts, count( distinct chemdata. casno) as chems from facloads, mpm2. chemdata where facloads. casno= chemdata. casno and facloads. casno = ' 7439921'; quit;

proc print data= ntlload; title3 ' Toxic Wght National Loads to POTWs ( Indirects)'; title4 '( minus TDS and BOD)'; quit;

proc print data= ntlloadd; title3 ' Toxic Wght National Loads ( Direct Dischargers)'; title4 '( minus TDS and BOD)'; quit;

proc print data= hh_ car; title3 ' Toxic Wght Carcinogens Only'; quit;

proc print data= leadp; title3 ' Toxic Wght Lead Only'; quit;

/* End Toxic Weight Loadings ( sub18) pref. sas */ 40 Program Output: Traditional Extrapolation 41 MP& M National Benefits Preferred( Opt1= Pref, Opt2= NULL) 96 Toxic Weight Loadings Preferred ( Sub 18) pref Toxic Wght National Loads to POTWs ( Indirects) ( minus TDS and BOD) 16: 38 Thursday, January 30, 2003 Obs baseld newld1 newld2 sample_ b sample_ 1 sample_ 2 pollts 1 173881.13 173881.13 0 17292.04 17292.04 0 125 MP& M National Benefits Preferred( Opt1= Pref, Opt2= NULL) 97 Toxic Weight Loadings Preferred ( Sub 18) pref Toxic Wght National Loads ( Direct Dischargers) ( minus TDS and BOD) 16: 38 Thursday, January 30, 2003 Obs baseld newld1 newld2 sample_ b sample_ 1 sample_ 2 pollts 1 3351.06 667.698 0 296.557 13.5975 0 125 MP& M National Benefits Preferred( Opt1= Pref, Opt2= NULL) 98 Toxic Weight Loadings Preferred ( Sub 18) pref Toxic Wght Carcinogens Only 16: 38 Thursday, January 30, 2003 Obs baseld newld1 newld2 sample_ b sample_ 1 sample_ 2 pollts chems 1 948.160 946.266 0 79.5478 79.4646 0 13 13 MP& M National Benefits Preferred( Opt1= Pref, Opt2= NULL) 99 Toxic Weight Loadings Preferred ( Sub 18) pref Toxic Wght Lead Only 16: 38 Thursday, January 30, 2003 Obs baseld newld1 newld2 sample_ b sample_ 1 sample_ 2 pollts chems 1 21022.00 20761.19 0 2183.93 2156.41 0 1 1 42 Program Output: Post Stratification Extrapolation 43 MP& M National Benefits Preferred( Opt1= Pref, Opt2= NULL) 96 Toxic Weight Loadings Preferred ( Sub 18) pref Toxic Wght National Loads to POTWs ( Indirects) ( minus TDS and BOD) 17: 36 Thursday, January 30, 2003 Obs baseld newld1 newld2 sample_ b sample_ 1 sample_ 2 pollts 1 173881.13 173881.13 0 17292.04 17292.04 0 125 MP& M National Benefits Preferred( Opt1= Pref, Opt2= NULL) 97 Toxic Weight Loadings Preferred ( Sub 18) pref Toxic Wght National Loads ( Direct Dischargers) ( minus TDS and BOD) 17: 36 Thursday, January 30, 2003 Obs baseld newld1 newld2 sample_ b sample_ 1 sample_ 2 pollts 1 2797.85 811.805 0 296.557 13.5975 0 125 MP& M National Benefits Preferred( Opt1= Pref, Opt2= NULL) 98 Toxic Weight Loadings Preferred ( Sub 18) pref Toxic Wght Carcinogens Only 17: 36 Thursday, January 30, 2003 Obs baseld newld1 newld2 sample_ b sample_ 1 sample_ 2 pollts chems 1 975.781 973.313 0 79.5478 79.4646 0 13 13 MP& M National Benefits Preferred( Opt1= Pref, Opt2= NULL) 99 Toxic Weight Loadings Preferred ( Sub 18) pref Toxic Wght Lead Only 17: 36 Thursday, January 30, 2003 Obs baseld newld1 newld2 sample_ b sample_ 1 sample_ 2 pollts chems 1 21069.74 20759.24 0 2183.93 2156.41 0 1 1 44 Human Health Benefits 45 Cancer from Fish Consumption 46 " Generate Discharge Events ( Sub1). sas" Generates a data set of pollutant loading events and their corresponding weights for each RF1 reach receiving MP& M discharges. See Estimating MP& M Discharge Loadings for program code. 47 " Human Health AWQC Exceedences ( Sub 2). sas" Calculates in stream pollutant concentrations and generates a data set of pollutant concentrations for each RF1 reach. 48 /* Program: Human Health AWQC Exceedences ( Sub 2). sas Authors: Abt Associates Inc.; Elena Besedin, Rob Sartain, Stuart Smith Date: 04/ 21/ 2000 Updated: 10/ 31/ 2002 Modified By: Stuart Smith, Abt. Associates, Inc.

This subroutine calculates AWQC exceedences for Human Health. */

title2 ' Human Health AWQC Exceedences Program Output ( Sub 2)';

/* DISCHARGE EVENTS, ASSOCIATED LOADINGS AND WEIGHTS HAVE BEEN CALCULATED BY ANOTHER PROGRAM. ALL UNIT CONVERSIONS HAVE OCCURRED. SEE " Generate Discharge Events and Loadings ( Sub 1). sas" FOR SPECIFIC PROGRAM INFORMATION. */

/* PULL TOGETHER THE EVENTS AND CHEMICAL SPECIFIC PARAMETERS */

Proc sort data = mpm2. chemdata; by casno; quit;

Proc sql; create table stream as select reachnmb, event_ ld. casno, evnt_ flo, base, treat1, treat2, event_ wt, segl, mnflo as mean_ flo, svten as flo7q10, acute as adf, chronic as cdf, dcp, wbtype, biodegre as decay, surface, drainage, volume from rundat. event_ ld, mpm2. chemdata where event_ ld. casno = chemdata. casno order by reachnmb, casno; quit;

/******************************************************************************/ /* */ /* FRESHWATER REACHES  CONCENTRATIONS AND AWQC EXCEEDENCES */ /* */ /******************************************************************************/

/* CALCULATE POLLUTANT CONCENTRATIONS IN LAKES FOR WHICH DILUTION FACTORS ARE AVAILABLE */

data lakes_ dl; set stream; if wbtype = ' glake';

if cdf ^= . then do; cnc_ base = base/( evnt_ flo* cdf); cnc_ trt1 = treat1/( evnt_ flo* cdf); cnc_ trt2 = treat2/( evnt_ flo* cdf); end; else if dcp ^=. then do; benchld = 10000* 907.2;/* BENCHMARK LOAD, 907.2 IS CONVERSION FROM KG TO TONS */ cnc_ base = (( base/ 10** 9)* 365* dcp)/ benchld; cnc_ trt1 = (( treat1/ 10** 9)* 365* dcp)/ benchld; cnc_ trt2 = (( treat2/ 10** 9)* 365* dcp)/ benchld; end; 49 else do; cnc_ base = .; cnc_ trt1 = .; cnc_ trt2 = .; end;

if cnc_ base=. then delete; keep reachnmb casno cnc_ base cnc_ trt1 cnc_ trt2 event_ wt; run;

/* CALCULATE POLLUTANT CONCENTRATIONS IN LAKES FOR WHICH DILUTION FACTORS ARE NOT AVAILABLE BASED ON RESIDENCE TIME AND CHEMICAL DECAY RATE. */

data lakes; set stream; if wbtype = ' lake'; if decay;

/* drainage area and surface area available */ if surface ^= . and drainage ^= . then do; num = drainage; /* drainage area in sq. miles */ denom = surface* 0.0015625; /* convert surface area from acres to sq. miles */ logdays = 4.077  ( 1.177* log10( num/ denom)); restime = 10** logdays; time1 = restime* 24; /* CONVERT HYDRAULIC TIME FROM DAYS INTO HOURS */ cnc_ base = ( base/ evnt_ flo)/( 1+ time1* decay); cnc_ trt1 = ( treat1/ evnt_ flo)/( 1+ time1* decay); cnc_ trt2 = ( treat2/ evnt_ flo)/( 1+ time1* decay); good = 1; end;

/* missing area measure( s), do end of pipe value = loadings/ flow */ else do; cnc_ base = base/ evnt_ flo; cnc_ trt1 = treat1/ evnt_ flo; cnc_ trt2 = treat2/ evnt_ flo; end;

keep reachnmb casno cnc_ base cnc_ trt1 cnc_ trt2 event_ wt; run;

/* CALCULATE POLLUTANT CONCENTRATIONS ( UG/ L) BASED ON HARMONIC MEAN. POLLUTANT LOADINGS ARE GIVEN IN UG. FLOW CHARACTERISTICS ARE GIVEN IN MLN L. */

data stream1; set stream; if wbtype = ' stream';

/* Account for missing 7q10 data */ if flo7q10 = . or flo7q10 = 0 then flo7q10 = 909.7836; if mean_ flo = . or mean_ flo = 0 then mean_ flo = 6711.2411;

/* CALCULATE HARMONIC MEAN AS A FUNCTION OF MEAN FLOW AND 7Q10 50 Flow rates in ft** 3 per second 1 FT3/ Sec = 2446576 L/ Day */ harm1 = ( 1.194* mean_ flo** 0.473* flo7q10** 0.552)* 2446576;

cnc_ base = base/( evnt_ flo+ harm1); cnc_ trt1 = treat1/( evnt_ flo+ harm1); cnc_ trt2 = treat2/( evnt_ flo+ harm1);

keep reachnmb casno cnc_ base cnc_ trt1 cnc_ trt2 event_ wt; run;

/* COMBINE THE FRESHWATER REACHES */

data freshwat; set stream1 lakes_ dl lakes; run;

proc sort data= freshwat; by reachnmb casno;

/* OBTAIN HUMAN HEALTH CRITERIA FOR FRESHWATER REACHES */

proc sql;

/* Merge in the human health freshwater awqc values by pollutant */

create table frshwtr2 as select reachnmb, freshwat. casno, cnc_ base, cnc_ trt1, cnc_ trt2, hhval__ i as hhval, hhorg_ in as hhorg, chemical, event_ wt from freshwat, mpm2. chemdata where freshwat. casno = chemdata. casno order by reachnmb, casno; quit;

/* Compare concentrations to awqc limits and determine exceedences */

data frshwtr3; set frshwtr2;

if cnc_ base > hhval and hhval > 0 then orgh2o_ b= 1; if cnc_ trt1 > hhval and hhval > 0 then orgh2ot1= 1; if cnc_ trt2 > hhval and hhval > 0 then orgh2ot2= 1; if cnc_ base > hhorg and hhorg > 0 then org_ b= 1; if cnc_ trt1 > hhorg and hhorg > 0 then org_ t1= 1; if cnc_ trt2 > hhorg and hhorg > 0 then org_ t2= 1;

if orgh2o_ b > 0 or org_ b > 0 then humanb= 1; if orgh2ot1 > 0 or org_ t1 > 0 then humant1= 1; if orgh2ot2 > 0 or org_ t2 > 0 then humant2= 1;

keep reachnmb casno chemical orgh2o_ b orgh2ot1 orgh2ot2 org_ b org_ t1 org_ t2 humanb humant1 humant2 event_ wt; run; 51 /***********************************************************************/ /* END FRESHWATER REACHES */ /***********************************************************************/

/*****************************************************************************/ /* */ /* SALTWATER REACHES  CONCENTRATIONS AND AWQC EXCEEDENCES */ /* */ /*****************************************************************************/

/* CALCULATE POLLUTANT CONCENTRATIONS IN BAYS, OCEANS, AND ESTUARIES */

data saltwtr; set stream; if wbtype = ' bay';

if cdf ^=. then do; cnc_ base = base/( evnt_ flo* cdf); cnc_ trt1 = treat1/( evnt_ flo* cdf); cnc_ trt2 = treat2/( evnt_ flo* cdf); end; else if dcp ^=. then do; benchld = 10000* 907.2;/* BENCHMARK LOAD, 907.2 IS CONVERSION FROM KG TO TONS */ cnc_ base = (( base/ 10** 9)* 365* dcp)/ benchld; cnc_ trt1 = (( treat1/ 10** 9)* 365* dcp)/ benchld; cnc_ trt2 = (( treat2/ 10** 9)* 365* dcp)/ benchld; end; else do; cnc_ base = .; cnc_ trt1 = .; cnc_ trt2 = .; end;

if cnc_ base=. then delete; keep reachnmb casno cnc_ base cnc_ trt1 cnc_ trt2 event_ wt; run;

/* OBTAIN HUMAN HEALTH CRITERIA FOR SALTWATER REACHES */

proc sql;

/* Merge in the human health saltwater awqc values by pollutant */

create table saltwtr2 as select reachnmb, saltwtr. casno, chemical, cnc_ base, cnc_ trt1, cnc_ trt2, hhval__ i as hhval, hhorg_ in as hhorg, event_ wt from saltwtr, mpm2. chemdata where saltwtr. casno = chemdata. casno order by reachnmb, casno; quit;

/* Compare concentrations to awqc limits and determine exceedences */ 52 data saltwtr3; set saltwtr2;

/* SALTWATER NOT USED AS DRINKING WATER */

orgh2o_ b= 0; orgh2ot1= 0; orgh2ot2= 0; if cnc_ base > hhorg and hhorg > 0 then org_ b= 1; if cnc_ trt1 > hhorg and hhorg > 0 then org_ t1= 1; if cnc_ trt2 > hhorg and hhorg > 0 then org_ t2= 1;

if orgh2o_ b > 0 or org_ b > 0 then humanb= 1; if orgh2ot1 > 0 or org_ t1 > 0 then humant1= 1; if orgh2ot2 > 0 or org_ t2 > 0 then humant2= 1;

keep reachnmb casno chemical orgh2o_ b orgh2ot1 orgh2ot2 org_ b org_ t1 org_ t2 humanb humant1 humant2 event_ wt; run;

/***********************************************************************/ /* END SALTWATER REACHES */ /***********************************************************************/

/* OUTPUT THE ESTIMATED POLLUTANT CONCENTRATIONS FOR FRESH AND SALT WATER REACHES. CNC_ HH IS USED IN THE CANCER ANALYSIS PROGRAM. */

data rundat. cnc_ hh; set freshwat saltwtr; run;

data allreach; set frshwtr3 saltwtr3; awt= 1; /* weight used later, set to 1 for now */ keep reachnmb casno chemical orgh2o_ b orgh2ot1 orgh2ot2 org_ b org_ t1 org_ t2 humanb humant1 humant2 event_ wt awt; run;

/* IDENTIFY REACHES IN WHICH POLLUTANT CONCENTRATIONS EXCEED THE HUMAN HEALTH BASED AWQC LIMITS AND CALCULATE THE NUMBER OF EXCEEDENCE EVENTS. */

proc sql;

create table h_ awqc as select reachnmb, chemical, orgh2o_ b, orgh2ot1, orgh2ot2, org_ b, org_ t1, org_ t2, event_ wt from allreach where humanb > 0 order by reachnmb, chemical;

/* awt replaced with a 1 */ create table hh_ awqc as select reachnmb, sum( orgh2o_ b) as testb1, sum( orgh2ot1) as testt1_ 1, 53 sum( orgh2ot2) as testt2_ 1, sum( org_ b) as testb2, sum( org_ t1) as testt1_ 2, sum( org_ t2) as testt2_ 2, sum( orgh2o_ b* event_ wt* 1) as natexb1, sum( orgh2ot1* event_ wt* 1) as natex1_ 1, sum( orgh2ot2* event_ wt* 1) as natex2_ 1, sum( org_ b* event_ wt* 1) as natexb2, sum( org_ t1* event_ wt* 1) as natex1_ 2, sum( org_ t2* event_ wt* 1) as natex2_ 2, sum( event_ wt) as reachwt, case when sum( orgh2o_ b) >= 1 then 1 else 0 end as rchb, case when sum( orgh2ot1) >= 1 then 1 else 0 end as rch1, case when sum( orgh2ot2) >= 1 then 1 else 0 end as rch2, case when sum( org_ b) >= 1 then 1 else 0 end as orgb, case when sum( org_ t1) >= 1 then 1 else 0 end as org1, case when sum( org_ t2) >= 1 then 1 else 0 end as org2 from h_ awqc group by reachnmb order by reachnmb;

/* CALCULATE THE TOTAL NUMBER OF AFFECTED REACHES ON A NATIONAL BASIS awt replaced with a 1 */ create table rch1 as select sum( distinct event_ wt) as wght1, reachnmb, chemical from h_ awqc where orgh2o_ b > 0 group by reachnmb, chemical order by reachnmb, chemical;

create table base1 as select max( wght1) as t_ ntlb1, reachnmb from rch1 group by reachnmb order by reachnmb;

create table rch2 as select sum( distinct event_ wt) as wght2, reachnmb, chemical from h_ awqc where org_ b > 0 group by reachnmb, chemical order by reachnmb, chemical;

create table base2 as select max( wght2) as t_ ntlb2, reachnmb from rch2 group by reachnmb order by reachnmb;

create table rch3 as select sum( distinct event_ wt) as wght3, reachnmb, chemical from h_ awqc 54 where orgh2ot1 > 0 group by reachnmb, chemical order by reachnmb, chemical;

create table testt1_ 1 as select max( wght3) as t1_ ntlt1, reachnmb from rch3 group by reachnmb order by reachnmb;

create table rch4 as select sum( distinct event_ wt) as wght4, reachnmb, chemical from h_ awqc where org_ t1 > 0 group by reachnmb, chemical order by reachnmb, chemical;

create table testt1_ 2 as select max( wght4) as t1_ ntlt2, reachnmb from rch4 group by reachnmb order by reachnmb;

create table rch5 as select sum( distinct event_ wt) as wght5, reachnmb, chemical from h_ awqc where orgh2ot2 > 0 group by reachnmb, chemical order by reachnmb, chemical;

create table testt2_ 1 as select max( wght5) as t2_ ntlt1, reachnmb from rch5 group by reachnmb order by reachnmb;

create table rch6 as select sum( distinct event_ wt) as wght6, reachnmb, chemical from h_ awqc where org_ t2 > 0 group by reachnmb, chemical order by reachnmb, chemical;

create table testt2_ 2 as select max( wght6) as t2_ ntlt2, reachnmb from rch6 group by reachnmb order by reachnmb;

create table rch7 as 55 select sum( distinct event_ wt) as wght7, reachnmb, chemical from h_ awqc where orgh2o_ b > 0 or org_ b > 0 group by reachnmb, chemical order by reachnmb, chemical;

create table multi_ b as select max( wght7) as multi_ b, reachnmb from rch7 group by reachnmb order by reachnmb;

create table rch8 as select sum( distinct event_ wt) as wght8, reachnmb, chemical from h_ awqc where orgh2ot1 > 0 or org_ t1 > 0 group by reachnmb, chemical order by reachnmb, chemical;

create table multi_ 1 as select max( wght8) as multi_ 1, reachnmb from rch8 group by reachnmb order by reachnmb;

create table rch9 as select sum( distinct event_ wt) as wght9, reachnmb, chemical from h_ awqc where orgh2ot2 > 0 or org_ t2 > 0 group by reachnmb, chemical order by reachnmb, chemical;

create table multi_ 2 as select max( wght9) as multi_ 2, reachnmb from rch9 group by reachnmb order by reachnmb; quit;

data rchwts; merge base1 base2 testt1_ 1 testt1_ 2 testt2_ 1 testt2_ 2 multi_ b multi_ 1 multi_ 2; by reachnmb;

if t_ ntlb1=. then t_ ntlb1= 0; if t_ ntlb2=. then t_ ntlb2= 0; if t1_ ntlt1=. then t1_ ntlt1= 0; if t1_ ntlt2=. then t1_ ntlt2= 0; if t2_ ntlt1=. then t2_ ntlt1= 0; if t2_ ntlt2=. then t2_ ntlt2= 0; if multi_ b=. then multi_ b= 0; 56 if multi_ 1=. then multi_ 1= 0; if multi_ 2=. then multi_ 2= 0; run;

/* CALCULATE THE TOTAL NUMBER OF AWQC EXCEEDENCES BY CHEMICAL ON A SAMPLE AND NATIONAL BASIS. */

proc sql;

create table chm_ awqc as select chemical, sum( orgh2o_ b) as worgb, sum( orgh2ot1) as worgt1, sum( orgh2ot2) as worgt2, sum( org_ b) as orgb, sum( org_ t1) as orgt1, sum( org_ t2) as orgt2, sum( orgh2o_ b* event_ wt* awt) as ntlbw, sum( orgh2ot1* event_ wt* awt) as ntltw1, sum( orgh2ot2* event_ wt* awt) as ntltw2, sum( org_ b* event_ wt* awt) as ntlbo, sum( org_ t1* event_ wt* awt) as ntlto1, sum( org_ t2* event_ wt* awt) as ntlto2, case when sum( orgh2o_ b) >= 1 then 1 else 0 end as chemb, case when sum( orgh2ot1) >= 1 then 1 else 0 end as chem1, case when sum( orgh2ot2) >= 1 then 1 else 0 end as chem2, case when sum( org_ b) >= 1 then 1 else 0 end as chmorgb, case when sum( org_ t1) >= 1 then 1 else 0 end as chmorg1, case when sum( org_ t2) >= 1 then 1 else 0 end as chmorg2 from allreach where humanb > 0 group by chemical order by chemical; quit;

/* Output the affected reaches for the recreational benefits programs */

data rundat. rec_ hh; set allreach; if orgh2o_ b > 0 or org_ b > 0; run;

/* PRINT OUT RESULTS */

proc means sum data= hh_ awqc; var testb1 testt1_ 1 testt2_ 1 testb2 testt1_ 2 testt2_ 2 natexb1 natex1_ 1 natex2_ 1 natexb2 natex1_ 2 natex2_ 2 rchb rch1 rch2 orgb org1 org2; label reachnmb= ' Reach Id' testb1 = ' Exceed, H20 and Organisms ( Smpl/ BL)' testt1_ 1 = ' Exceed, H2O and organisms ( Smpl/ Opt 1)' testt2_ 1 = ' Exceed, H2O and organisms ( Smpl/ Opt 2)' testb2 = ' Exceed, organisms only ( Smpl/ BL)' testt1_ 2 = ' Exceed, organisms only ( Smpl/ Opt 1)' testt2_ 2 = ' Exceed, organisms only ( Smpl/ Opt 2)' natexb1 = ' Exceed, H20 and Organisms ( Ntl/ BL)' natex1_ 1 = ' Exceed, H2O and organisms ( Ntl/ Opt 1)' 57 natex2_ 1 = ' Exceed, H2O and organisms ( Ntl/ Opt 2)' natexb2 = ' Exceed, organisms only ( Ntl/ BL)' natex1_ 2 =' Exceed, organisms only ( Ntl/ Opt 1)' natex2_ 2 =' Exceed, organisms only ( Ntl/ Opt 2)' rchb =' Number of h20 reaches ( BL)' rch1 =' Number of h20 reaches ( Opt 1)' rch2 =' Number of h20 reaches ( Opt 2)' orgb =' Number of org reaches ( BL)' org1 =' Number of org reaches ( Opt1)' org2 =' Number of org reaches ( Opt2)'; title3 ' Exceedence of Human Health AWQC Limits by Option ( Sample, National)';

proc means sum data= chm_ awqc; var worgb worgt1 worgt2 orgb orgt1 orgt2 ntlbw ntltw1 ntltw2 ntlbo ntlto1 ntlto2 chemb chem1 chem2 chmorgb chmorg1 chmorg2; label worgb = ' Exceed, H20 and Organisms ( Smpl/ BL)' worgt1 = ' Exceed, H2O and organisms ( Smpl/ Opt 1)' worgt2 = ' Exceed, H2O and organisms ( Smpl/ Opt 2)' orgb = ' Exceed, organisms only ( Smpl/ BL)' orgt1 = ' Exceed, organisms only ( Smpl/ Opt 1)' orgt2 = ' Exceed, organisms only ( Smpl/ Opt 2)' ntlbw = ' Exceed, H20 and Organisms ( Ntl/ BL)' ntltw1 = ' Exceed, H2O and organisms ( Ntl/ Opt 1)' ntltw2 = ' Exceed, H2O and organisms ( Ntl/ Opt 2)' ntlbo = ' Exceed, organisms only ( Ntl/ BL)' ntlto1 = ' Exceed, organisms only ( Ntl/ Opt 1)' ntlto2 = ' Exceed, organisms only ( Ntl/ Opt 2)' chemb = ' Number of h20/ org poll ( BL)' chem1 = ' Number of h20/ org poll ( Opt1)' chem2 = ' Number of h20/ org poll ( Opt2)' chmorgb = ' Number of org poll ( BL)' chmorg1 = ' Number of org poll ( Opt1)' chmorg2 = ' Number of org poll ( Opt2)'; title3 ' Exceedence of Human Health AWQC Limits by Pollutant ( Sample, National)';

proc means sum data= rchwts; var t_ ntlb1 t_ ntlb2 t1_ ntlt1 t1_ ntlt2 t2_ ntlt1 t2_ ntlt2 multi_ b multi_ 1 multi_ 2; label t_ ntlb1 = ' H20 and Organisms ( Ntl/ BL)' t1_ ntlt1 = ' H20 and Organisms ( Opt 1)' t2_ ntlt1 = ' H20 and Organisms ( Opt 2)' t_ ntlb2 = ' Organisms Only ( Ntl/ BL)' t1_ ntlt2 = ' Organisms Only ( Opt 1)' t2_ ntlt2 = ' Organisms Only ( Opt 2)' multi_ b = ' Either ( BL)' multi_ 1 = ' Either ( Opt 1)' multi_ 2 = ' Either ( Opt 2)';

title3 ' Total Number of Reaches Exceeding AWQC Limits for Consumption of Water'; title4 ' and Organisms/ Organisms only on a National Basis'; quit; 58 /* Sum the number of exceedence events by reach and event weight */ proc sql; create table preme as select reachnmb, event_ wt, sum( orgh2o_ b) as testb1, sum( orgh2ot1) as test1_ 1, sum( orgh2ot2) as test2_ 1, sum( org_ b) as testb2, sum( org_ t1) as test1_ 2, sum( org_ t2) as test2_ 2 from h_ awqc group by reachnmb, event_ wt order by reachnmb, event_ wt; quit;

/* Determine the number of reaches which eliminate all exceedences and the number of reaches which only partially reduce */

data reduc; set preme; if testb1=. then testb1= 0; if test1_ 1=. then test1_ 1= 0; if test2_ 1=. then test2_ 1= 0; if testb2=. then testb2= 0; if test1_ 2=. then test1_ 2= 0; if test2_ 2=. then test2_ 2= 0;

if testb1 >= 1 and test1_ 1 = 0 then elim1_ 1 = 1; else elim1_ 1= 0; if testb1 >= 1 and test2_ 1 = 0 then elim2_ 1 = 1; else elim2_ 1= 0; if testb2 >= 1 and test1_ 2 = 0 then elim1_ 2 = 1; else elim1_ 2= 0; if testb2 >= 1 and test2_ 2 = 0 then elim2_ 2 = 1; else elim2_ 2= 0;

if testb1 >= 1 and test1_ 1 < testb1 and elim1_ 1 = 0 then red1_ 1 = 1; else red1_ 1= 0; if testb1 >= 1 and test2_ 1 < testb1 and elim2_ 1 = 0 then red2_ 1 = 1; else red2_ 1= 0; if testb2 >= 1 and test1_ 2 < testb2 and elim1_ 2 = 0 then red1_ 2 = 1; else red1_ 2= 0; if testb2 >= 1 and test2_ 2 < testb2 and elim2_ 2 = 0 then red2_ 2 = 1; else red2_ 2= 0;

if elim1_ 1= 1 or elim1_ 2= 1 then elim1 = 1; else elim1 = 0; if elim2_ 1= 1 or elim2_ 2= 1 then elim2 = 1; else elim2 = 0; if red1_ 1 = 1 or red1_ 2 = 1 then reduc1 = 1; else reduc1 = 0; if red2_ 1 = 1 or red2_ 2 = 1 then reduc2 = 1; else reduc2 = 0; run;

/* Print out the results */

proc means sum data= reduc; var elim1_ 1 elim2_ 1 elim1_ 2 elim2_ 2 red1_ 1 red2_ 1 red1_ 2 red2_ 2 reduc1 reduc2; label elim1_ 1 = ' Elim. H20 and Organisms ( Opt1)' elim2_ 1 = ' Elim. H20 and Organisms ( Opt2)' elim1_ 2 = ' Elim. Organisms ( Opt1)' 59 elim2_ 2 = ' Elim. Organisms ( Opt2)' red1_ 1 = ' Redu. H20 and Organisms ( Opt1)' red2_ 1 = ' Redu. H20 and Organisms ( Opt2)' red1_ 2 = ' Redu. Organisms ( Opt1)' red2_ 2 = ' Redu. Organisms ( Opt2)' reduc1 = ' Total Reaches Reducing ( Opt1)' reduc2 = ' Total Reaches Reducing ( Opt2)'; title3 ' AWQC Eliminations and Reductions ( Sample)'; title4 ' Number of Sample Reaches'; quit;

proc means sum data= reduc; weight event_ wt; var elim1_ 1 elim2_ 1 elim1_ 2 elim2_ 2 red1_ 1 red2_ 1 red1_ 2 red2_ 2 reduc1 reduc2; label elim1_ 1 = ' Elim. H20 and Organisms ( Opt1)' elim2_ 1 = ' Elim. H20 and Organisms ( Opt2)' elim1_ 2 = ' Elim. Organisms ( Opt1)' elim2_ 2 = ' Elim. Organisms ( Opt2)' red1_ 1 = ' Redu. H20 and Organisms ( Opt1)' red2_ 1 = ' Redu. H20 and Organisms ( Opt2)' red1_ 2 = ' Redu. Organisms ( Opt1)' red2_ 2 = ' Redu. Organisms ( Opt2)' reduc1 = ' Total Reaches Reducing ( Opt1)' reduc2 = ' Total Reaches Reducing ( Opt2)'; title3 ' AWQC Eliminations and Reductions ( National)'; title4 ' Number of National Reaches'; quit;

proc print data= hh_ awqc; quit; proc print data= chm_ awqc; title3 ' Exceedences by Chemical'; quit;

/* End Human Health AWQC ( Sub 2). sas */ 60 Program Output: Traditional Extrapolation 61 MP& M National Benefits Preferred( Opt1= Pref, Opt2= NULL) 2 Human Health AWQC Exceedences Program Output ( Sub 2) Exceedence of Human Health AWQC Limits by Option ( Sample, National) 16: 38 Thursday, January 30, 2003 The MEANS Procedure Variable Label Sum                                                                    testb1 Exceed, H20 and Organisms ( Smpl/ BL) 11.0000000 testt1_ 1 Exceed, H2O and organisms ( Smpl/ Opt 1) 11.0000000 testt2_ 1 Exceed, H2O and organisms ( Smpl/ Opt 2) . testb2 Exceed, organisms only ( Smpl/ BL) 1.0000000 testt1_ 2 Exceed, organisms only ( Smpl/ Opt 1) 1.0000000 testt2_ 2 Exceed, organisms only ( Smpl/ Opt 2) . natexb1 Exceed, H20 and Organisms ( Ntl/ BL) 120.5318734 natex1_ 1 Exceed, H2O and organisms ( Ntl/ Opt 1) 120.5318734 natex2_ 1 Exceed, H2O and organisms ( Ntl/ Opt 2) . natexb2 Exceed, organisms only ( Ntl/ BL) 21.3819383 natex1_ 2 Exceed, organisms only ( Ntl/ Opt 1) 21.3819383 natex2_ 2 Exceed, organisms only ( Ntl/ Opt 2) . rchb Number of h20 reaches ( BL) 6.0000000 rch1 Number of h20 reaches ( Opt 1) 6.0000000 rch2 Number of h20 reaches ( Opt 2) 0 orgb Number of org reaches ( BL) 1.0000000 org1 Number of org reaches ( Opt1) 1.0000000 org2 Number of org reaches ( Opt2) 0                                                                    MP& M National Benefits Preferred( Opt1= Pref, Opt2= NULL) 3 Human Health AWQC Exceedences Program Output ( Sub 2) Exceedence of Human Health AWQC Limits by Pollutant ( Sample, National) 16: 38 Thursday, January 30, 2003 The MEANS Procedure Variable Label Sum                                                                    worgb Exceed, H20 and Organisms ( Smpl/ BL) 11.0000000 worgt1 Exceed, H2O and organisms ( Smpl/ Opt 1) 11.0000000 worgt2 Exceed, H2O and organisms ( Smpl/ Opt 2) . orgb Exceed, organisms only ( Smpl/ BL) 1.0000000 orgt1 Exceed, organisms only ( Smpl/ Opt 1) 1.0000000 orgt2 Exceed, organisms only ( Smpl/ Opt 2) . ntlbw Exceed, H20 and Organisms ( Ntl/ BL) 120.5318734 ntltw1 Exceed, H2O and organisms ( Ntl/ Opt 1) 120.5318734 ntltw2 Exceed, H2O and organisms ( Ntl/ Opt 2) . ntlbo Exceed, organisms only ( Ntl/ BL) 21.3819383 ntlto1 Exceed, organisms only ( Ntl/ Opt 1) 21.3819383 ntlto2 Exceed, organisms only ( Ntl/ Opt 2) . chemb Number of h20/ org poll ( BL) 4.0000000 chem1 Number of h20/ org poll ( Opt1) 4.0000000 chem2 Number of h20/ org poll ( Opt2) 0 chmorgb Number of org poll ( BL) 1.0000000 62 chmorg1 Number of org poll ( Opt1) 1.0000000 chmorg2 Number of org poll ( Opt2) 0                                                                    MP& M National Benefits Preferred( Opt1= Pref, Opt2= NULL) 4 Human Health AWQC Exceedences Program Output ( Sub 2) Total Number of Reaches Exceeding AWQC Limits for Consumption of Water and Organisms/ Organisms only on a National Basis 16: 38 Thursday, January 30, 2003 The MEANS Procedure Variable Label Sum                                                        t_ ntlb1 H20 and Organisms ( Ntl/ BL) 77.7679968 t_ ntlb2 Organisms Only ( Ntl/ BL) 21.3819383 t1_ ntlt1 H20 and Organisms ( Opt 1) 77.7679968 t1_ ntlt2 Organisms Only ( Opt 1) 21.3819383 t2_ ntlt1 H20 and Organisms ( Opt 2) 0 t2_ ntlt2 Organisms Only ( Opt 2) 0 multi_ b Either ( BL) 77.7679968 multi_ 1 Either ( Opt 1) 77.7679968 multi_ 2 Either ( Opt 2) 0                                                        MP& M National Benefits Preferred( Opt1= Pref, Opt2= NULL) 6 Human Health AWQC Exceedences Program Output ( Sub 2) AWQC Eliminations and Reductions ( National) Number of National Reaches 16: 38 Thursday, January 30, 2003 The MEANS Procedure Variable Label Sum                                                            elim1_ 1 Elim. H20 and Organisms ( Opt1) 0 elim2_ 1 Elim. H20 and Organisms ( Opt2) 77.7679968 elim1_ 2 Elim. Organisms ( Opt1) 0 elim2_ 2 Elim. Organisms ( Opt2) 21.3819383 red1_ 1 Redu. H20 and Organisms ( Opt1) 0 red2_ 1 Redu. H20 and Organisms ( Opt2) 0 red1_ 2 Redu. Organisms ( Opt1) 0 red2_ 2 Redu. Organisms ( Opt2) 0 reduc1 Total Reaches Reducing ( Opt1) 0 reduc2 Total Reaches Reducing ( Opt2) 0                                                            MP& M National Benefits Preferred( Opt1= Pref, Opt2= NULL) 7 Human Health AWQC Exceedences Program Output ( Sub 2) AWQC Eliminations and Reductions ( National) Number of National Reaches 16: 38 Thursday, January 30, 2003 R t t t t n n n n E e e e e n a a n a a r A t s s t s s a t t a t t e C e t t e t t t e e t e e a H s t t s t t e x x e x x c r r r o o o 63 O N t 1 2 t 1 2 x 1 2 x 1 2 h c c c r r r b M b _ _ b _ _ b _ _ b _ _ w h h h g g g s B 1 1 1 2 2 2 1 1 1 2 2 2 t b 1 2 b 1 2 1 2050106025 1 1 . . . . 10.7692 10.7692 . . . . 10.7692 1 1 0 0 0 0 2 2050206008 1 1 . . . . 10.7692 10.7692 . . . . 10.7692 1 1 0 0 0 0 3 2050301030 1 1 . . . . 10.7692 10.7692 . . . . 10.7692 1 1 0 0 0 0 4 4040002001 3 3 . . . . 14.9543 14.9543 . . . . 14.9543 1 1 0 0 0 0 5 10170202006 3 3 . 1 1 . 64.1458 64.1458 . 21.3819 21.3819 . 64.1458 1 1 0 1 1 0 6 12040104016 2 2 . . . . 9.1241 9.1241 . . . . 9.1241 1 1 0 0 0 0 MP& M National Benefits Preferred( Opt1= Pref, Opt2= NULL) 8 Human Health AWQC Exceedences Program Output ( Sub 2) Exceedences by Chemical 16: 38 Thursday, January 30, 2003 C H c c c E w w n n n n h h h M w o o o o n t t n t t c c c m m m I o r r o r r t l l t l l h h h o o o O C r g g r g g l t t l t t e e e r r r b A g t t g t t b w w b o o m m m g g g s L b 1 2 b 1 2 w 1 2 o 1 2 b 1 2 b 1 2 1 Arsenic 6 6 . . . . 45.4603 45.4603 . . . . 1 1 0 0 0 0 2 Iron 1 1 . . . . 21.3819 21.3819 . . . . 1 1 0 0 0 0 3 Manganese 1 1 . 1 1 . 21.3819 21.3819 . 21.3819 21.3819 . 1 1 0 1 1 0 4 Nitrosodimethylamine, N 3 3 . . . . 32.3077 32.3077 . . . . 1 1 0 0 0 0 64 Program Output: Post Stratification Extrapolation 65 MP& M National Benefits Preferred( Opt1= Pref, Opt2= NULL) 2 Human Health AWQC Exceedences Program Output ( Sub 2) Exceedence of Human Health AWQC Limits by Option ( Sample, National) 17: 36 Thursday, January 30, 2003 The MEANS Procedure Variable Label Sum                                                                    testb1 Exceed, H20 and Organisms ( Smpl/ BL) 11.0000000 testt1_ 1 Exceed, H2O and organisms ( Smpl/ Opt 1) 11.0000000 testt2_ 1 Exceed, H2O and organisms ( Smpl/ Opt 2) . testb2 Exceed, organisms only ( Smpl/ BL) 1.0000000 testt1_ 2 Exceed, organisms only ( Smpl/ Opt 1) 1.0000000 testt2_ 2 Exceed, organisms only ( Smpl/ Opt 2) . natexb1 Exceed, H20 and Organisms ( Ntl/ BL) 154.8145930 natex1_ 1 Exceed, H2O and organisms ( Ntl/ Opt 1) 154.8145930 natex2_ 1 Exceed, H2O and organisms ( Ntl/ Opt 2) . natexb2 Exceed, organisms only ( Ntl/ BL) 21.3819383 natex1_ 2 Exceed, organisms only ( Ntl/ Opt 1) 21.3819383 natex2_ 2 Exceed, organisms only ( Ntl/ Opt 2) . rchb Number of h20 reaches ( BL) 6.0000000 rch1 Number of h20 reaches ( Opt 1) 6.0000000 rch2 Number of h20 reaches ( Opt 2) 0 orgb Number of org reaches ( BL) 1.0000000 org1 Number of org reaches ( Opt1) 1.0000000 org2 Number of org reaches ( Opt2) 0                                                                    MP& M National Benefits Preferred( Opt1= Pref, Opt2= NULL) 3 Human Health AWQC Exceedences Program Output ( Sub 2) Exceedence of Human Health AWQC Limits by Pollutant ( Sample, National) 17: 36 Thursday, January 30, 2003 The MEANS Procedure Variable Label Sum                                                                    worgb Exceed, H20 and Organisms ( Smpl/ BL) 11.0000000 worgt1 Exceed, H2O and organisms ( Smpl/ Opt 1) 11.0000000 worgt2 Exceed, H2O and organisms ( Smpl/ Opt 2) . orgb Exceed, organisms only ( Smpl/ BL) 1.0000000 orgt1 Exceed, organisms only ( Smpl/ Opt 1) 1.0000000 orgt2 Exceed, organisms only ( Smpl/ Opt 2) . ntlbw Exceed, H20 and Organisms ( Ntl/ BL) 154.8145930 ntltw1 Exceed, H2O and organisms ( Ntl/ Opt 1) 154.8145930 ntltw2 Exceed, H2O and organisms ( Ntl/ Opt 2) . ntlbo Exceed, organisms only ( Ntl/ BL) 21.3819383 ntlto1 Exceed, organisms only ( Ntl/ Opt 1) 21.3819383 ntlto2 Exceed, organisms only ( Ntl/ Opt 2) . chemb Number of h20/ org poll ( BL) 4.0000000 chem1 Number of h20/ org poll ( Opt1) 4.0000000 chem2 Number of h20/ org poll ( Opt2) 0 chmorgb Number of org poll ( BL) 1.0000000 66 chmorg1 Number of org poll ( Opt1) 1.0000000 chmorg2 Number of org poll ( Opt2) 0                                                                    MP& M National Benefits Preferred( Opt1= Pref, Opt2= NULL) 4 Human Health AWQC Exceedences Program Output ( Sub 2) Total Number of Reaches Exceeding AWQC Limits for Consumption of Water and Organisms/ Organisms only on a National Basis 17: 36 Thursday, January 30, 2003 The MEANS Procedure Variable Label Sum                                                        t_ ntlb1 H20 and Organisms ( Ntl/ BL) 112.0507163 t_ ntlb2 Organisms Only ( Ntl/ BL) 21.3819383 t1_ ntlt1 H20 and Organisms ( Opt 1) 112.0507163 t1_ ntlt2 Organisms Only ( Opt 1) 21.3819383 t2_ ntlt1 H20 and Organisms ( Opt 2) 0 t2_ ntlt2 Organisms Only ( Opt 2) 0 multi_ b Either ( BL) 112.0507163 multi_ 1 Either ( Opt 1) 112.0507163 multi_ 2 Either ( Opt 2) 0                                                        MP& M National Benefits Preferred( Opt1= Pref, Opt2= NULL) 6 Human Health AWQC Exceedences Program Output ( Sub 2) AWQC Eliminations and Reductions ( National) Number of National Reaches 17: 36 Thursday, January 30, 2003 The MEANS Procedure Variable Label Sum                                                            elim1_ 1 Elim. H20 and Organisms ( Opt1) 0 elim2_ 1 Elim. H20 and Organisms ( Opt2) 112.0507163 elim1_ 2 Elim. Organisms ( Opt1) 0 elim2_ 2 Elim. Organisms ( Opt2) 21.3819383 red1_ 1 Redu. H20 and Organisms ( Opt1) 0 red2_ 1 Redu. H20 and Organisms ( Opt2) 0 red1_ 2 Redu. Organisms ( Opt1) 0 red2_ 2 Redu. Organisms ( Opt2) 0 reduc1 Total Reaches Reducing ( Opt1) 0 reduc2 Total Reaches Reducing ( Opt2) 0                                                            MP& M National Benefits Preferred( Opt1= Pref, Opt2= NULL) 8 Human Health AWQC Exceedences Program Output ( Sub 2) Exceedences by Chemical 17: 36 Thursday, January 30, 2003 C H c c c E w w n n n n h h h M w o o o o n t t n t t c c c m m m I o r r o r r t l l t l l h h h o o o O C r g g r g g l t t l t t e e e r r r 67 b A g t t g t t b w w b o o m m m g g g s L b 1 2 b 1 2 w 1 2 o 1 2 b 1 2 b 1 2 1 Arsenic 6 6 . . . . 45.4603 45.4603 . . . . 1 1 0 0 0 0 2 Iron 1 1 . . . . 21.3819 21.3819 . . . . 1 1 0 0 0 0 3 Manganese 1 1 . 1 1 . 21.3819 21.3819 . 21.3819 21.3819 . 1 1 0 1 1 0 4 Nitrosodimethylamine, N 3 3 . . . . 66.5904 66.5904 . . . . 1 1 0 0 0 0 68 " Cancer fish ( Sub 4). sas" Uses the data set of pollutant concentrations for each RF1 reach with pollutant specific cancer slope factors to determine risk of cancer on a chemical basis. The computed cancer risk is then applied to the exposed fishing population and the reduced risk of cancer is translated into a monetary value. 69 /* Program: Cancer fish Revised ( Sub 4). sas Authors: Abt Associates, Inc.; Rob Sartain, Elena Besedin, Stuart Smith Date: 04/ 21/ 2000 Updated: 01/ 10/ 2003 This program calculates cancer incidents due to fish consumption by sport and subsistence anglers and their families. Incidents are generated for all reaches for which data is available. */

title2 ' Cancer from Fish Consumption ( Sub 4)';

/* COUNTY LEVEL FISHING LICENSE DATA */

/* Load fishing license data here. Sum over the types by county. Sum over the counties containing a given reach.

Final data set contains reaches with the total possible number of affected anglers. This number will be multiplied by the ratio of reach length to total reach miles in affected counties to obtain an estimate of the number of affected anglers. */

data licens; set mpm2. fish_ lic;

fw_ lic = sum( fw_ res, fw_ reso, fw_ sres, fw_ smres, fw_ dres, trout, fw_ life, fw_ hunt1, fw_ 2hunt, fw_ hunts, fw_ hunt2, fw_ salt1, fw_ trout); sw_ lic = sum( fw_ salt1, sw_ res, sw_ dres);

if fw_ lic=. then fw_ lic= 0; if sw_ lic=. then sw_ lic= 0; cntyfip = fips;

keep cntyfip fw_ lic sw_ lic; run;

proc sort data= licens; by cntyfip; quit;

/* DETERMINE COUNTIES AFFECTED BY REACH */ data facs; set mpm2. fac_ info; run;

proc sort data= facs; by siteid; quit;

data cnty; set facs;

cntyfip1= stco1; cntyfip2= stco2; cntyfip3= stco3; cntyfip4= stco4; cntyfip5= stco5; cntyfip6= stco6; cntyfip7= stco7; cntyfip8= stco8; 70 keep reachnmb cntyfip1 cntyfip8; run;

proc sort nodupkey data= cnty; by reachnmb; quit;

proc transpose data= cnty out= cnty2; by reachnmb; var cntyfip1 cntyfip8; quit;

data cnty3; set cnty2; cntyfip = col1/ 1; if cntyfip=. then delete; keep reachnmb cntyfip; run;

proc sort data= cnty3; by cntyfip; quit;

/* OBTAIN REACH MILES BY COUNTY */

data rchmile; set mpm2. us_ rchmi; cntyfip= fips; keep countymi cntyfip; run;

proc sort data= rchmile; by cntyfip;

/* PULL TOGETHER OUR REACHES WITH ASSOCIATED COUNTIES */

data tot_ mile; merge cnty3 rchmile; by cntyfip;

if reachnmb=. then delete; run;

proc sort data= tot_ mile; by reachnmb cntyfip; quit;

/* SUM REACH MILES OVER COUNTIES CONTAINING THE SAME REACH FINISHED DATA SET CONTAINS TOTAL NUMBER OF REACH MILES IN COUNTIES CONTAINING A GIVEN REACH. BRING IN THE FISHING LICENSE DATA BY COUNTY. */

proc sql;

create table miles as select tot_ mile. reachnmb, sum( countymi) as denom, min( segl) as leng, sum( fw_ lic) as fwlictot, sum( sw_ lic) as swlictot from tot_ mile, facs, licens where tot_ mile. reachnmb = facs. reachnmb and tot_ mile. cntyfip = licens. cntyfip 71 group by tot_ mile. reachnmb order by tot_ mile. reachnmb; quit;

proc sort data= miles; by reachnmb; quit;

/* Merge in Fishing Advisory Data with County mile data */ proc sort data= mpm2. fishadv1; by reachnmb; quit;

data miles2; merge miles mpm2. fishadv1; by reachnmb;

/* Hard Wire Statewide Advisories */ if st = ' MI' or st = ' NJ' or st = ' RI' or st = ' MS' then advisory = ' yes';

/* Multiplier for 20% reduction in fishermen due to advisory */ if advisory = ' yes' or advisory = ' A yes' then advmult = 0.80; else advmult = 1.00; run;

/* ESTIMATE SPORT AND SUBSISTANCE FISHING POPULATIONS */

data pops; set miles2; by reachnmb; if first. reachnmb;

if leng=. then fwspt = fwlictot* 0.06* 2.62* advmult; else fwspt = fwlictot*( leng/ denom)* 2.62* advmult; fwsub = 0.05* fwspt;

if leng=. then swspt = swlictot* 0.06* 2.62* advmult; else swspt = swlictot*( leng/ denom)* 2.62* advmult; swsub = 0.05* swspt;

fwsptpop = round( fwspt); fwsubpop = round( fwsub); swsptpop = round( swspt); swsubpop = round( swsub);

keep reachnmb fwsptpop fwsubpop swsptpop swsubpop; run;

proc sort data= pops; by reachnmb; quit; proc sort data= rundat. cnc_ hh; by reachnmb; quit;

/* MERGE CONCENTRATION DATA BY REACH WITH THE NUMBER OF SPORT AND SUBSISTENCE ANGLERS */

data canc; merge rundat. cnc_ hh pops; by reachnmb; 72 if cnc_ base = . then delete; if fwsptpop=. then delete; run;

proc sort data= canc; by reachnmb casno event_ wt; quit;

/* Output lead concentrations on reaches where the concentration is greater than 1 ug/ l */

data rundat. lead; set canc;

if casno = ' 7439921';

if cnc_ base=. then delete; if cnc_ base < 1 then delete; run;

/* BRING IN SLOPE FACTOR, REFERENCE DOSE, AND BIOCONCENTRATION FROM CHEMDATA */

proc sql;

create table canca as select reachnmb, canc. casno, cnc_ base as base, cnc_ trt1 as treat1, cnc_ trt2 as treat2, fwsptpop, fwsubpop, swsptpop, swsubpop, slope_ fa as sf, referenc as rfd, bioconce as bcfval, event_ wt as weight from canc, mpm2. chemdata where canc. casno = chemdata. casno order by reachnmb, canc. casno, weight; quit;

/* ESTIMATE CANCER EQUATIONS AND CALCULATE CANCER RISK DUE TO FISH CONSUMPTION */

data canc2; set canca; if sf;

/* DEFINE CONSTANTS */

cf1 = 0.001; /* conversion milligrams per microgram */ cf2 = 365; /* conversion 365 days per year */ cr1 = 0.007; /* consumption rate 1 child : 7.27 ( rec.) grams/ day */ cr2 = 0.017; /* consumption rate 2 adult: 17.5 ( rec.) grams/ day */ cr3 = 0.061; /* consumption rate 3 child: 60.58 ( sub.) grams/ day */ cr4 = 0.142; /* consumption rate 4 adult: 142.4 ( sub.) grams/ day */ ef = 365; /* exposure frequency: 365 days per year */ ed1 = 18; /* exposure duration 1 child: 18 years ( rec.) */ ed2 = 52; /* exposure duration 2 adult: 52 years ( rec.) */ ed3 = 18; /* exposure duration 3 child: 18 years ( sub.) */ ed4 = 52; /* exposure duration 4 adult: 52 years ( sub.) */ 73 bw1 = 30; /* body weight 1 child: 30 kg */ bw2 = 70; /* body weight 2 adult: 70 kg */ lt = 70; /* lifetime: 70 years */

/* CALCULATE CANCER RISK */

/* base values */ bsptrisk = ((( base * cf1 * cr1 * bcfval * ef * ed1) / ( bw1 * lt * cf2)) + (( base * cf1 * cr2 * bcfval * ef * ed2) / ( bw2 * lt * cf2))) * sf;

bsubrisk = ((( base * cf1 * cr3 * bcfval * ef * ed3) / ( bw1 * lt * cf2)) + (( base * cf1 * cr4 * bcfval * ef * ed4) / ( bw2 * lt * cf2))) * sf;

/* treatment values */ sptrisk1 = ((( treat1 * cf1 * cr1 * bcfval * ef * ed1) / ( bw1 * lt * cf2)) + (( treat1 * cf1 * cr2 * bcfval * ef * ed2) / ( bw2 * lt * cf2))) * sf;

subrisk1 = ((( treat1 * cf1 * cr3 * bcfval * ef * ed3) / ( bw1 * lt * cf2)) + (( treat1 * cf1 * cr4 * bcfval * ef * ed4) / ( bw2 * lt * cf2))) * sf;

sptrisk2 = ((( treat2 * cf1 * cr1 * bcfval * ef * ed1) / ( bw1 * lt * cf2)) + (( treat2 * cf1 * cr2 * bcfval * ef * ed2) / ( bw2 * lt * cf2))) * sf;

subrisk2 = ((( treat2 * cf1 * cr3 * bcfval * ef * ed3) / ( bw1 * lt * cf2)) + (( treat2 * cf1 * cr4 * bcfval * ef * ed4) / ( bw2 * lt * cf2))) * sf; run;

/* Sum up the risks over the pollutants by reach. Keep the reach statictics */ proc sql;

create table sumrsk as select reachnmb, sum( bsptrisk) as rsk_ bspt, sum( bsubrisk) as rsk_ bsub, sum( sptrisk1) as rsk_ 1spt, sum( subrisk1) as rsk_ 1sub, sum( sptrisk2) as rsk_ 2spt, sum( subrisk2) as rsk_ 2sub from canc2 group by reachnmb order by reachnmb;

create table valspt as select reachnmb, rsk_ bspt, rsk_ 1spt, rsk_ 2spt from sumrsk where reachnmb ^= 4030203006;

create table valsub as select reachnmb, rsk_ bsub, rsk_ 1sub, rsk_ 2sub from sumrsk where reachnmb ^= 4030203006; quit;

/* Print out average lifetime risk */ proc means data= valspt; title3 ' Average Lifetime Cancer Risk Recreational'; 74 quit;

proc means data= valsub; title3 ' Average Lifetime Cancer Risk Subsistance'; quit;

data canc2a; merge canc2 sumrsk; by reachnmb;

lt = 70; /* lifetime*/

/* calc annual cancer cases */ fwsptc_ b = ( bsptrisk * fwsptpop)/ lt; fwsubc_ b = ( bsubrisk * fwsubpop)/ lt; swsptc_ b = ( bsptrisk * swsptpop)/ lt; swsubc_ b = ( bsubrisk * swsubpop)/ lt; fwsptc_ 1 = ( sptrisk1 * fwsptpop)/ lt; fwsubc_ 1 = ( subrisk1 * fwsubpop)/ lt; swsptc_ 1 = ( sptrisk1 * swsptpop)/ lt; swsubc_ 1 = ( subrisk1 * swsubpop)/ lt; fwsptc_ 2 = ( sptrisk2 * fwsptpop)/ lt; fwsubc_ 2 = ( subrisk2 * fwsubpop)/ lt; swsptc_ 2 = ( sptrisk2 * swsptpop)/ lt; swsubc_ 2 = ( subrisk2 * swsubpop)/ lt;

if dropspt = 1 then do; fwsptc_ b = 0; swsptc_ b = 0; fwsptc_ 1 = 0; swsptc_ 1 = 0; fwsptc_ 2 = 0; swsptc_ 2 = 0; end;

if dropsub = 1 then do; fwsubc_ b = 0; swsubc_ b = 0; fwsubc_ 1 = 0; swsubc_ 1 = 0; fwsubc_ 2 = 0; swsubc_ 2 = 0; end;

fwtotc_ b = fwsptc_ b + fwsubc_ b; swtotc_ b = swsptc_ b + swsubc_ b; fwtotc_ 1 = fwsptc_ 1 + fwsubc_ 1; swtotc_ 1 = swsptc_ 1 + swsubc_ 1; fwtotc_ 2 = fwsptc_ 2 + fwsubc_ 2; swtotc_ 2 = swsptc_ 2 + swsubc_ 2;

fwtotpop = fwsptpop + fwsubpop; swtotpop = swsptpop + swsubpop; 75 sptpop = fwsptpop + swsptpop; subpop = fwsubpop + swsubpop;

totc_ b = fwtotc_ b + swtotc_ b; totc_ 1 = fwtotc_ 1 + swtotc_ 1; totc_ 2 = fwtotc_ 2 + swtotc_ 2;

totspt_ b = fwsptc_ b + swsptc_ b; totsub_ b = fwsubc_ b + swsubc_ b; totspt_ 1 = fwsptc_ 1 + swsptc_ 1; totsub_ 1 = fwsubc_ 1 + swsubc_ 1; totspt_ 2 = fwsptc_ 2 + swsptc_ 2; totsub_ 2 = fwsubc_ 2 + swsubc_ 2;

format bsptrisk bsubrisk sptrisk1 subrisk1 sptrisk2 subrisk2 e12.;

label fwsptc_ b = ' Cancer cases, freshwater sport ( BL)' fwsubc_ b = ' Cancer cases, freshwater subsistence ( BL)' swsptc_ b = ' Cancer cases, saltwater sport ( BL)' swsubc_ b = ' Cancer cases, saltwater subsistence ( BL)' fwtotc_ b = ' Total freshwater cancer cases ( BL)' swtotc_ b = ' Total saltwater cancer cases ( BL)' fwsptc_ 1 = ' Cancer cases, freshwater sport ( Opt 1)' fwsubc_ 1 = ' Cancer cases, freshwater subsistence ( Opt 1)' swsptc_ 1 = ' Cancer cases, saltwater sport ( Opt 1)' swsubc_ 1 = ' Cancer cases, saltwater subsistence ( Opt 1)' fwtotc_ 1 = ' Total freshwater cancer cases ( Opt 1)' swtotc_ 1 = ' Total saltwater cancer cases ( Opt 1)' fwsptc_ 2 = ' Cancer cases, freshwater sport ( Opt 2)' fwsubc_ 2 = ' Cancer cases, freshwater subsistence ( Opt 2)' swsptc_ 2 = ' Cancer cases, saltwater sport ( Opt 2)' swsubc_ 2 = ' Cancer cases, saltwater subsistence ( Opt 2)' fwtotc_ 2 = ' Total freshwater cancer cases ( Opt 2)' swtotc_ 2 = ' Total saltwater cancer cases ( Opt 2)' fwsptpop = ' Freshwater sport population' fwsubpop = ' Freshwater subsistence population' swsptpop = ' Saltwater sport population' swsubpop = ' Saltwater subsistence population' totspt_ b = ' Total Sport Cases ( BL)' totsub_ b = ' Total Subsistence Cases ( BL)' totspt_ 1 = ' Total Sport Cases ( Opt 1)' totsub_ 1 = ' Total Subsistence Cases ( Opt1 )' totspt_ 2 = ' Total Sport Cases ( Opt 2)' totsub_ 2 = ' Total Subsistence Cases ( Opt 2)' totc_ b = ' Total Cancer Cases ( BL)' totc_ 1 = ' Total Cancer Cases ( Opt 1)' totc_ 2 = ' Total Cancer Cases ( Opt 2)' fwtotpop = ' Total exposed freshwater population' swtotpop = ' Total exposed saltwater population' sptpop = ' Exposed Sport Population' subpop = ' Exposed Subsistence Population'; run; 76 proc means sum; var totspt_ b totsub_ b totspt_ 1 totsub_ 1 totspt_ 2 totsub_ 2 totc_ b totc_ 1 totc_ 2 sptpop subpop; title3 ' SAMPLE Cancer estimates'; quit;

proc means sum; weight weight; var totspt_ b totsub_ b totspt_ 1 totsub_ 1 totspt_ 2 totsub_ 2 totc_ b totc_ 1 totc_ 2 sptpop subpop; title3 ' NATIONAL Cancer estimates'; quit;

/* Calculate decrease in cancer cases under the options and the monetized benefit based on the value of a statistical life ( in $ 2001)

lower $ 2.6 mln  No longer used upper $ 13.6 mln  No longer used mid $ 6.5 mln */

data cancdiff; set canc2a;

fwsptd1 = fwsptc_ b  fwsptc_ 1; fwsubd1 = fwsubc_ b  fwsubc_ 1; swsptd1 = swsptc_ b  swsptc_ 1; swsubd1 = swsubc_ b  swsubc_ 1;

fwsptd2 = fwsptc_ b  fwsptc_ 2; fwsubd2 = fwsubc_ b  fwsubc_ 2; swsptd2 = swsptc_ b  swsptc_ 2; swsubd2 = swsubc_ b  swsubc_ 2;

fwtotd1 = fwsptd1 + fwsubd1; swtotd1 = swsptd1 + swsubd1; totd1 = fwtotd1 + swtotd1;

fwtotd2 = fwsptd2 + fwsubd2; swtotd2 = swsptd2 + swsubd2; totd2 = fwtotd2 + swtotd2;

fwb1_ lw = fwtotd1* 2500000; fwb1_ hg = fwtotd1* 13600000; swb1_ lw = swtotd1* 2500000; swb1_ hg = swtotd1* 13600000; fwmid1 = fwtotd1* 6500000; swmid1 = swtotd1* 6500000;

fwb2_ lw = fwtotd2* 2500000; fwb2_ hg = fwtotd2* 13600000; swb2_ lw = swtotd2* 2500000; swb2_ hg = swtotd2* 13600000; fwmid2 = fwtotd2* 6500000; 77 swmid2 = swtotd2* 6500000;

totb1_ lw = fwb1_ lw + swb1_ lw; totb1_ hg = fwb1_ hg + swb1_ hg; totb2_ lw = fwb2_ lw + swb2_ lw; totb2_ hg = fwb2_ hg + swb2_ hg;

mid1 = fwmid1 + swmid1; mid2 = fwmid2 + swmid2;

run;

proc means sum; var totb1_ lw totb1_ hg totb2_ lw totb2_ hg mid1 mid2; label totb1_ lw = ' Total Benefits  Low ( Opt 1)' totb1_ hg = ' Total Benefits  High ( Opt 1)' totb2_ lw = ' Total Benefits  Low ( Opt 2)' totb2_ hg = ' Total Benefits  High ( Opt 2)' mid1 = ' Mid Benefits ( Opt1)' mid2 = ' Mid Benefits ( Opt2)'; title3 ' Sample Monetized Benefits'; quit;

proc means sum; weight weight; var totb1_ lw totb1_ hg totb2_ lw totb2_ hg mid1 mid2; label totb1_ lw = ' Total Benefits  Low ( Opt 1)' totb1_ hg = ' Total Benefits  High ( Opt 1)' totb2_ lw = ' Total Benefits  Low ( Opt 2)' totb2_ hg = ' Total Benefits  High ( Opt 2)' mid1 = ' Mid Benefits ( Opt1)' mid2 = ' Mid Benefits ( Opt2)'; title3 ' National Monetized Benefits'; quit;

proc sort; by casno; quit;

proc means sum; by casno; var totd1 totd2 totb1_ lw totb1_ hg totb2_ lw totb2_ hg mid1 mid2; label totb1_ lw = ' Total Benefits  Low ( Opt 1)' totb1_ hg = ' Total Benefits  High ( Opt 1)' totb2_ lw = ' Total Benefits  Low ( Opt 2)' totb2_ hg = ' Total Benefits  High ( Opt 2)' mid1 = ' Mid Benefits ( Opt1)' mid2 = ' Mid Benefits ( Opt2)'; title3 ' Sample Monetized Benefits'; quit;

proc means sum; weight weight; by casno; var totd1 totd2 totb1_ lw totb1_ hg totb2_ lw totb2_ hg mid1 mid2; label 78 totb1_ lw = ' Total Benefits  Low ( Opt 1)' totb1_ hg = ' Total Benefits  High ( Opt 1)' totb2_ lw = ' Total Benefits  Low ( Opt 2)' totb2_ hg = ' Total Benefits  High ( Opt 2)' mid1 = ' Mid Benefits ( Opt1)' mid2 = ' Mid Benefits ( Opt2)'; title3 ' National Monetized Benefits'; quit;

proc sql; create table bychems as select casno, sum( totd1) as diff1, sum( totd2) as diff2, sum( totb1_ lw) as ben1low, sum( totb1_ hg) as ben1hg, sum( totb2_ lw) as ben2low, sum( totb2_ hg) as ben2hg, sum( mid1) as midpt1, sum( mid2) as midpt2 from cancdiff group by casno order by casno;

create table bychemn as select casno, sum( totd1* weight) as diff1, sum( totd2* weight) as diff2, sum( totb1_ lw* weight) as ben1low, sum( totb1_ hg* weight) as ben1hg, sum( totb2_ lw* weight) as ben2low, sum( totb2_ hg* weight) as ben2hg, sum( mid1* weight) as midpt1, sum( mid2* weight) as midpt2 from cancdiff group by casno order by casno; quit;

proc print data= bychems; label diff1 = ' Saved Cases ( opt1)' diff2 = ' Saved Cases ( opt2)' ben1low = ' Total Benefits  Low ( opt1)' ben1hg = ' Total Benefits  High ( opt1)' ben2low = ' Total Benefits  Low ( opt2)' ben2hg = ' Total Benefits  High ( opt2)' midpt1 = ' Midpoint Benefits ( opt1)' midpt2 = ' Midpoint Benefits ( opt2)'; title3 ' Sample by Chemical Casno'; quit;

proc print data= bychemn; label diff1 = ' Saved Cases ( opt1)' diff2 = ' Saved Cases ( opt2)' ben1low = ' Total Benefits  Low ( opt1)' ben1hg = ' Total Benefits  High ( opt1)' ben2low = ' Total Benefits  Low ( opt2)' ben2hg = ' Total Benefits  High ( opt2)' midpt1 = ' Midpoint Benefits ( opt1)' midpt2 = ' Midpoint Benefits ( opt2)'; title3 ' National by Chemical Casno'; quit; 79 /* End Cancer fish ( Sub 4). sas */ 80 Program Output: Traditional Extrapolation 81 MP& M National Benefits Preferred( Opt1= Pref, Opt2= NULL) 16 Cancer from Fish Consumption ( Sub 4) Average Lifetime Cancer Risk Recreational 16: 38 Thursday, January 30, 2003 The MEANS Procedure Variable Label N Mean Std Dev Minimum Maximum                                                                                REACHNMB RF1 Reach Identifier 535 6555195214 4996162384 1020005061 18090208001 rsk_ bspt 535 2.3051111E 8 3.3537986E 7 0 7.3661387E 6 rsk_ 1spt 535 2.3039528E 8 3.3538052E 7 0 7.3661387E 6 rsk_ 2spt 535 0 0 0 0                                                                                MP& M National Benefits Preferred( Opt1= Pref, Opt2= NULL) 17 Cancer from Fish Consumption ( Sub 4) Average Lifetime Cancer Risk Subsistance 16: 38 Thursday, January 30, 2003 The MEANS Procedure Variable Label N Mean Std Dev Minimum Maximum                                                                                REACHNMB RF1 Reach Identifier 535 6555195214 4996162384 1020005061 18090208001 rsk_ bsub 535 1.9297967E 7 2.8077387E 6 0 0.000061668 rsk_ 1sub 535 1.9288271E 7 2.8077442E 6 0 0.000061668 rsk_ 2sub 535 0 0 0 0                                                                                MP& M National Benefits Preferred( Opt1= Pref, Opt2= NULL) 19 Cancer from Fish Consumption ( Sub 4) NATIONAL Cancer estimates 16: 38 Thursday, January 30, 2003 The MEANS Procedure Variable Label Sum                                                             totspt_ b Total Sport Cases ( BL) 0.0236828 totsub_ b Total Subsistence Cases ( BL) 0.0099140 totspt_ 1 Total Sport Cases ( Opt 1) 0.0236731 totsub_ 1 Total Subsistence Cases ( Opt1 ) 0.0099099 totspt_ 2 Total Sport Cases ( Opt 2) 0 totsub_ 2 Total Subsistence Cases ( Opt 2) 0 totc_ b Total Cancer Cases ( BL) 0.0335968 totc_ 1 Total Cancer Cases ( Opt 1) 0.0335830 totc_ 2 Total Cancer Cases ( Opt 2) 0 sptpop Exposed Sport Population 3116104289 subpop Exposed Subsistence Population 155843935                                                             MP& M National Benefits Preferred( Opt1= Pref, Opt2= NULL) 21 Cancer from Fish Consumption ( Sub 4) National Monetized Benefits 16: 38 Thursday, January 30, 2003 The MEANS Procedure 82 Variable Label Sum                                                           totb1_ lw Total Benefits  Low ( Opt 1) 34.5508884 totb1_ hg Total Benefits  High ( Opt 1) 187.9568328 totb2_ lw Total Benefits  Low ( Opt 2) 83992.05 totb2_ hg Total Benefits  High ( Opt 2) 456916.76 mid1 Mid Benefits ( Opt1) 89.8323098 mid2 Mid Benefits ( Opt2) 218379.33                                                           MP& M National Benefits Preferred( Opt1= Pref, Opt2= NULL) 26 Cancer from Fish Consumption ( Sub 4) National Monetized Benefits 16: 38 Thursday, January 30, 2003  CAS Chemical Identifier= 117817

The MEANS Procedure Variable Label Sum                                                           totd1 3.859593E 6 totd2 4.2594894E 6 totb1_ lw Total Benefits  Low ( Opt 1) 9.6489825 totb1_ hg Total Benefits  High ( Opt 1) 52.4904650 totb2_ lw Total Benefits  Low ( Opt 2) 10.6487236 totb2_ hg Total Benefits  High ( Opt 2) 57.9290563 mid1 Mid Benefits ( Opt1) 25.0873546 mid2 Mid Benefits ( Opt2) 27.6866813                                                            CAS Chemical Identifier= 123911

Variable Label Sum                                                           totd1 5.1934298E 9 totd2 1.7790932E 8 totb1_ lw Total Benefits  Low ( Opt 1) 0.0129836 totb1_ hg Total Benefits  High ( Opt 1) 0.0706306 totb2_ lw Total Benefits  Low ( Opt 2) 0.0444773 totb2_ hg Total Benefits  High ( Opt 2) 0.2419567 mid1 Mid Benefits ( Opt1) 0.0337573 mid2 Mid Benefits ( Opt2) 0.1156411                                                            CAS Chemical Identifier= 127184

Variable Label Sum                                                           totd1 4.9093827E 7 totd2 8.5448467E 7 totb1_ lw Total Benefits  Low ( Opt 1) 1.2273457 totb1_ hg Total Benefits  High ( Opt 1) 6.6767605 83 totb2_ lw Total Benefits  Low ( Opt 2) 2.1362117 totb2_ hg Total Benefits  High ( Opt 2) 11.6209915 mid1 Mid Benefits ( Opt1) 3.1910988 mid2 Mid Benefits ( Opt2) 5.5541504                                                            CAS Chemical Identifier= 62533

Variable Label Sum                                                           totd1 3.4996929E 8 totd2 1.211939E 7 totb1_ lw Total Benefits  Low ( Opt 1) 0.0874923 totb1_ hg Total Benefits  High ( Opt 1) 0.4759582 totb2_ lw Total Benefits  Low ( Opt 2) 0.3029847 totb2_ hg Total Benefits  High ( Opt 2) 1.6482370 mid1 Mid Benefits ( Opt1) 0.2274800 mid2 Mid Benefits ( Opt2) 0.7877603                                                           MP& M National Benefits Preferred( Opt1= Pref, Opt2= NULL) 27 Cancer from Fish Consumption ( Sub 4) National Monetized Benefits 16: 38 Thursday, January 30, 2003  CAS Chemical Identifier= 62759

The MEANS Procedure Variable Label Sum                                                           totd1 0 totd2 6.8674045E 6 totb1_ lw Total Benefits  Low ( Opt 1) 0 totb1_ hg Total Benefits  High ( Opt 1) 0 totb2_ lw Total Benefits  Low ( Opt 2) 17.1685114 totb2_ hg Total Benefits  High ( Opt 2) 93.3967018 mid1 Mid Benefits ( Opt1) 0 mid2 Mid Benefits ( Opt2) 44.6381295                                                            CAS Chemical Identifier= 67663

Variable Label Sum                                                           totd1 7.0577004E 9 totd2 1.2284023E 8 totb1_ lw Total Benefits  Low ( Opt 1) 0.0176443 totb1_ hg Total Benefits  High ( Opt 1) 0.0959847 totb2_ lw Total Benefits  Low ( Opt 2) 0.0307101 totb2_ hg Total Benefits  High ( Opt 2) 0.1670627 84 mid1 Mid Benefits ( Opt1) 0.0458751 mid2 Mid Benefits ( Opt2) 0.0798461                                                            CAS Chemical Identifier= 7440382

Variable Label Sum                                                           totd1 7.1199784E 6 totd2 0.0335808 totb1_ lw Total Benefits  Low ( Opt 1) 17.7999461 totb1_ hg Total Benefits  High ( Opt 1) 96.8317065 totb2_ lw Total Benefits  Low ( Opt 2) 83952.03 totb2_ hg Total Benefits  High ( Opt 2) 456699.02 mid1 Mid Benefits ( Opt1) 46.2798597 mid2 Mid Benefits ( Opt2) 218275.27                                                            CAS Chemical Identifier= 75003

Variable Label Sum                                                           totd1 4.5438914E 8 totd2 5.2655964E 8 totb1_ lw Total Benefits  Low ( Opt 1) 0.1135973 totb1_ hg Total Benefits  High ( Opt 1) 0.6179692 totb2_ lw Total Benefits  Low ( Opt 2) 0.1316399 totb2_ hg Total Benefits  High ( Opt 2) 0.7161211 mid1 Mid Benefits ( Opt1) 0.2953529 mid2 Mid Benefits ( Opt2) 0.3422638                                                           MP& M National Benefits Preferred( Opt1= Pref, Opt2= NULL) 28 Cancer from Fish Consumption ( Sub 4) National Monetized Benefits 16: 38 Thursday, January 30, 2003  CAS Chemical Identifier= 75092

The MEANS Procedure Variable Label Sum                                                           totd1 2.1057401E 9 totd2 5.3785951E 7 totb1_ lw Total Benefits  Low ( Opt 1) 0.0052644 totb1_ hg Total Benefits  High ( Opt 1) 0.0286381 totb2_ lw Total Benefits  Low ( Opt 2) 1.3446488 totb2_ hg Total Benefits  High ( Opt 2) 7.3148893 mid1 Mid Benefits ( Opt1) 0.0136873 mid2 Mid Benefits ( Opt2) 3.4960868 85                                                            CAS Chemical Identifier= 75354

Variable Label Sum                                                           totd1 1.0366721E 6 totd2 1.8043417E 6 totb1_ lw Total Benefits  Low ( Opt 1) 2.5916802 totb1_ hg Total Benefits  High ( Opt 1) 14.0987401 totb2_ lw Total Benefits  Low ( Opt 2) 4.5108542 totb2_ hg Total Benefits  High ( Opt 2) 24.5390469 mid1 Mid Benefits ( Opt1) 6.7383684 mid2 Mid Benefits ( Opt2) 11.7282210                                                            CAS Chemical Identifier= 78591

Variable Label Sum                                                           totd1 3.1074473E 9 totd2 4.4458063E 9 totb1_ lw Total Benefits  Low ( Opt 1) 0.0077686 totb1_ hg Total Benefits  High ( Opt 1) 0.0422613 totb2_ lw Total Benefits  Low ( Opt 2) 0.0111145 totb2_ hg Total Benefits  High ( Opt 2) 0.0604630 mid1 Mid Benefits ( Opt1) 0.0201984 mid2 Mid Benefits ( Opt2) 0.0288977                                                            CAS Chemical Identifier= 79016

Variable Label Sum                                                           totd1 3.6777845E 8 totd2 6.9316416E 8 totb1_ lw Total Benefits  Low ( Opt 1) 0.0919446 totb1_ hg Total Benefits  High ( Opt 1) 0.5001787 totb2_ lw Total Benefits  Low ( Opt 2) 0.1732910 totb2_ hg Total Benefits  High ( Opt 2) 0.9427033 mid1 Mid Benefits ( Opt1) 0.2390560 mid2 Mid Benefits ( Opt2) 0.4505567                                                           MP& M National Benefits Preferred( Opt1= Pref, Opt2= NULL) 29 Cancer from Fish Consumption ( Sub 4) National Monetized Benefits 16: 38 Thursday, January 30, 2003  CAS Chemical Identifier= 86306  86 The MEANS Procedure Variable Label Sum                                                           totd1 1.1784956E 6 totd2 1.4088328E 6 totb1_ lw Total Benefits  Low ( Opt 1) 2.9462389 totb1_ hg Total Benefits  High ( Opt 1) 16.0275399 totb2_ lw Total Benefits  Low ( Opt 2) 3.5220820 totb2_ hg Total Benefits  High ( Opt 2) 19.1601263 mid1 Mid Benefits ( Opt1) 7.6602213 mid2 Mid Benefits ( Opt2) 9.1574133                                                           MP& M National Benefits Preferred( Opt1= Pref, Opt2= NULL) 31 Cancer from Fish Consumption ( Sub 4) National by Chemical Casno 16: 38 Thursday, January 30, 2003 Obs CASNO diff1 diff2 ben1low ben1hg ben2low ben2hg midpt1 midpt2 1 117817 .000003860 0.000004 9.6490 52.4905 10.65 57.93 25.0874 27.69 2 123911 .000000005 0.000000 0.0130 0.0706 0.04 0.24 0.0338 0.12 3 127184 .000000491 0.000001 1.2273 6.6768 2.14 11.62 3.1911 5.55 4 62533 .000000035 0.000000 0.0875 0.4760 0.30 1.65 0.2275 0.79 5 62759 0 0.000007 0.0000 0.0000 17.17 93.40 0.0000 44.64 6 67663 .000000007 0.000000 0.0176 0.0960 0.03 0.17 0.0459 0.08 7 7440382 .000007120 0.033581 17.7999 96.8317 83952.03 456699.02 46.2799 218275.27 8 75003 .000000045 0.000000 0.1136 0.6180 0.13 0.72 0.2954 0.34 9 75092 .000000002 0.000001 0.0053 0.0286 1.34 7.31 0.0137 3.50 10 75354 .000001037 0.000002 2.5917 14.0987 4.51 24.54 6.7384 11.73 11 78591 .000000003 0.000000 0.0078 0.0423 0.01 0.06 0.0202 0.03 12 79016 .000000037 0.000000 0.0919 0.5002 0.17 0.94 0.2391 0.45 13 86306 .000001178 0.000001 2.9462 16.0275 3.52 19.16 7.6602 9.16 87 Program Output: Post Stratification Extrapolation 88 MP& M National Benefits Preferred( Opt1= Pref, Opt2= NULL) 16 Cancer from Fish Consumption ( Sub 4) Average Lifetime Cancer Risk Recreational 17: 36 Thursday, January 30, 2003 The MEANS Procedure Variable Label N Mean Std Dev Minimum Maximum                                                                                REACHNMB RF1 Reach Identifier 535 6555195214 4996162384 1020005061 18090208001 rsk_ bspt 535 2.3051111E 8 3.3537986E 7 0 7.3661387E 6 rsk_ 1spt 535 2.3039528E 8 3.3538052E 7 0 7.3661387E 6 rsk_ 2spt 535 0 0 0 0                                                                                MP& M National Benefits Preferred( Opt1= Pref, Opt2= NULL) 17 Cancer from Fish Consumption ( Sub 4) Average Lifetime Cancer Risk Subsistance 17: 36 Thursday, January 30, 2003 The MEANS Procedure Variable Label N Mean Std Dev Minimum Maximum                                                                                REACHNMB RF1 Reach Identifier 535 6555195214 4996162384 1020005061 18090208001 rsk_ bsub 535 1.9297967E 7 2.8077387E 6 0 0.000061668 rsk_ 1sub 535 1.9288271E 7 2.8077442E 6 0 0.000061668 rsk_ 2sub 535 0 0 0 0                                                                                MP& M National Benefits Preferred( Opt1= Pref, Opt2= NULL) 19 Cancer from Fish Consumption ( Sub 4) NATIONAL Cancer estimates 17: 36 Thursday, January 30, 2003 The MEANS Procedure Variable Label Sum                                                             totspt_ b Total Sport Cases ( BL) 0.0237099 totsub_ b Total Subsistence Cases ( BL) 0.0099254 totspt_ 1 Total Sport Cases ( Opt 1) 0.0236955 totsub_ 1 Total Subsistence Cases ( Opt1 ) 0.0099193 totspt_ 2 Total Sport Cases ( Opt 2) 0 totsub_ 2 Total Subsistence Cases ( Opt 2) 0 totc_ b Total Cancer Cases ( BL) 0.0336353 totc_ 1 Total Cancer Cases ( Opt 1) 0.0336148 totc_ 2 Total Cancer Cases ( Opt 2) 0 sptpop Exposed Sport Population 3127936133 subpop Exposed Subsistence Population 156435004                                                             MP& M National Benefits Preferred( Opt1= Pref, Opt2= NULL) 21 Cancer from Fish Consumption ( Sub 4) National Monetized Benefits 17: 36 Thursday, January 30, 2003 The MEANS Procedure 89 Variable Label Sum                                                           totb1_ lw Total Benefits  Low ( Opt 1) 51.3839933 totb1_ hg Total Benefits  High ( Opt 1) 279.5289237 totb2_ lw Total Benefits  Low ( Opt 2) 84088.32 totb2_ hg Total Benefits  High ( Opt 2) 457440.48 mid1 Mid Benefits ( Opt1) 133.5983826 mid2 Mid Benefits ( Opt2) 218629.64                                                           MP& M National Benefits Preferred( Opt1= Pref, Opt2= NULL) 26 Cancer from Fish Consumption ( Sub 4) National Monetized Benefits 17: 36 Thursday, January 30, 2003  CAS Chemical Identifier= 117817

The MEANS Procedure Variable Label Sum                                                           totd1 7.1676378E 6 totd2 7.908662E 6 totb1_ lw Total Benefits  Low ( Opt 1) 17.9190946 totb1_ hg Total Benefits  High ( Opt 1) 97.4798744 totb2_ lw Total Benefits  Low ( Opt 2) 19.7716549 totb2_ hg Total Benefits  High ( Opt 2) 107.5578029 mid1 Mid Benefits ( Opt1) 46.5896458 mid2 Mid Benefits ( Opt2) 51.4063028                                                            CAS Chemical Identifier= 123911

Variable Label Sum                                                           totd1 1.0064827E 8 totd2 3.3652147E 8 totb1_ lw Total Benefits  Low ( Opt 1) 0.0251621 totb1_ hg Total Benefits  High ( Opt 1) 0.1368817 totb2_ lw Total Benefits  Low ( Opt 2) 0.0841304 totb2_ hg Total Benefits  High ( Opt 2) 0.4576692 mid1 Mid Benefits ( Opt1) 0.0654214 mid2 Mid Benefits ( Opt2) 0.2187390                                                            CAS Chemical Identifier= 127184

Variable Label Sum                                                           totd1 4.4913382E 7 totd2 1.1227999E 6 totb1_ lw Total Benefits  Low ( Opt 1) 1.1228346 totb1_ hg Total Benefits  High ( Opt 1) 6.1082200 90 totb2_ lw Total Benefits  Low ( Opt 2) 2.8069998 totb2_ hg Total Benefits  High ( Opt 2) 15.2700790 mid1 Mid Benefits ( Opt1) 2.9193698 mid2 Mid Benefits ( Opt2) 7.2981995                                                            CAS Chemical Identifier= 62533

Variable Label Sum                                                           totd1 3.2016856E 8 totd2 2.0507121E 7 totb1_ lw Total Benefits  Low ( Opt 1) 0.0800421 totb1_ hg Total Benefits  High ( Opt 1) 0.4354292 totb2_ lw Total Benefits  Low ( Opt 2) 0.5126780 totb2_ hg Total Benefits  High ( Opt 2) 2.7889685 mid1 Mid Benefits ( Opt1) 0.2081096 mid2 Mid Benefits ( Opt2) 1.3329629                                                           MP& M National Benefits Preferred( Opt1= Pref, Opt2= NULL) 27 Cancer from Fish Consumption ( Sub 4) National Monetized Benefits 17: 36 Thursday, January 30, 2003  CAS Chemical Identifier= 62759

The MEANS Procedure Variable Label Sum                                                           totd1 0 totd2 0.000011694 totb1_ lw Total Benefits  Low ( Opt 1) 0 totb1_ hg Total Benefits  High ( Opt 1) 0 totb2_ lw Total Benefits  Low ( Opt 2) 29.2337709 totb2_ hg Total Benefits  High ( Opt 2) 159.0317135 mid1 Mid Benefits ( Opt1) 0 mid2 Mid Benefits ( Opt2) 76.0078042                                                            CAS Chemical Identifier= 67663

Variable Label Sum                                                           totd1 6.4567221E 9 totd2 1.6141307E 8 totb1_ lw Total Benefits  Low ( Opt 1) 0.0161418 totb1_ hg Total Benefits  High ( Opt 1) 0.0878114 totb2_ lw Total Benefits  Low ( Opt 2) 0.0403533 totb2_ hg Total Benefits  High ( Opt 2) 0.2195218 91 mid1 Mid Benefits ( Opt1) 0.0419687 mid2 Mid Benefits ( Opt2) 0.1049185                                                            CAS Chemical Identifier= 7440382

Variable Label Sum                                                           totd1 9.880834E 6 totd2 0.0336089 totb1_ lw Total Benefits  Low ( Opt 1) 24.7020851 totb1_ hg Total Benefits  High ( Opt 1) 134.3793428 totb2_ lw Total Benefits  Low ( Opt 2) 84022.20 totb2_ hg Total Benefits  High ( Opt 2) 457080.76 mid1 Mid Benefits ( Opt1) 64.2254212 mid2 Mid Benefits ( Opt2) 218457.71                                                            CAS Chemical Identifier= 75003

Variable Label Sum                                                           totd1 5.5681675E 8 totd2 6.9055157E 8 totb1_ lw Total Benefits  Low ( Opt 1) 0.1392042 totb1_ hg Total Benefits  High ( Opt 1) 0.7572708 totb2_ lw Total Benefits  Low ( Opt 2) 0.1726379 totb2_ hg Total Benefits  High ( Opt 2) 0.9391501 mid1 Mid Benefits ( Opt1) 0.3619309 mid2 Mid Benefits ( Opt2) 0.4488585                                                           MP& M National Benefits Preferred( Opt1= Pref, Opt2= NULL) 28 Cancer from Fish Consumption ( Sub 4) National Monetized Benefits 17: 36 Thursday, January 30, 2003  CAS Chemical Identifier= 75092

The MEANS Procedure Variable Label Sum                                                           totd1 1.9264318E 9 totd2 5.3901037E 7 totb1_ lw Total Benefits  Low ( Opt 1) 0.0048161 totb1_ hg Total Benefits  High ( Opt 1) 0.0261995 totb2_ lw Total Benefits  Low ( Opt 2) 1.3475259 totb2_ hg Total Benefits  High ( Opt 2) 7.3305411 mid1 Mid Benefits ( Opt1) 0.0125218 mid2 Mid Benefits ( Opt2) 3.5035674 92                                                            CAS Chemical Identifier= 75354

Variable Label Sum                                                           totd1 9.4839721E 7 totd2 2.3709199E 6 totb1_ lw Total Benefits  Low ( Opt 1) 2.3709930 totb1_ hg Total Benefits  High ( Opt 1) 12.8982021 totb2_ lw Total Benefits  Low ( Opt 2) 5.9272998 totb2_ hg Total Benefits  High ( Opt 2) 32.2445107 mid1 Mid Benefits ( Opt1) 6.1645819 mid2 Mid Benefits ( Opt2) 15.4109794                                                            CAS Chemical Identifier= 78591

Variable Label Sum                                                           totd1 4.9928113E 9 totd2 7.5227127E 9 totb1_ lw Total Benefits  Low ( Opt 1) 0.0124820 totb1_ hg Total Benefits  High ( Opt 1) 0.0679022 totb2_ lw Total Benefits  Low ( Opt 2) 0.0188068 totb2_ hg Total Benefits  High ( Opt 2) 0.1023089 mid1 Mid Benefits ( Opt1) 0.0324533 mid2 Mid Benefits ( Opt2) 0.0488976                                                            CAS Chemical Identifier= 79016