[Federal Register Volume 80, Number 201 (Monday, October 19, 2015)]
[Proposed Rules]
[Pages 63151-63153]
[FR Doc No: 2015-26230]

-----------------------------------------------------------------------

DEPARTMENT OF TRANSPORTATION

Federal Aviation Administration

14 CFR Part 39

[Docket No. FAA-2015-4213; Directorate Identifier 2015-CE-022-AD]
RIN 2120-AA64

Airworthiness Directives; Piper Aircraft, Inc. Airplanes

AGENCY: Federal Aviation Administration (FAA), DOT.

ACTION: Notice of proposed rulemaking (NPRM).

-----------------------------------------------------------------------

SUMMARY: We propose to adopt a new airworthiness directive (AD) for
certain Piper Aircraft, Inc. Model PA-46-500TP airplanes. This proposed
AD was prompted by a report of the wing upper skin joints being
manufactured without sealant, which allows water to enter and stay in
sealed, bonded stringers. This proposed AD would require inspecting the
upper wing surface for sealant; inspecting the wing stringers for water
intrusion; inspecting for deformation and corrosion if evidence of
water intrusion exists; and taking corrective actions as necessary. We
are proposing this AD to correct the unsafe condition on these
products.

DATES: We must receive comments on this proposed AD by December 3,
2015.

ADDRESSES: You may send comments, using the procedures found in 14 CFR
11.43 and 11.45, by any of the following methods:
     Federal eRulemaking Portal: Go to http://www.regulations.gov. Follow the instructions for submitting comments.
     Fax:<PHONE_NUMBER>.
     Mail: U.S. Department of Transportation, Docket
Operations, M-30, West Building Ground Floor, Room W12-140, 1200 New
Jersey Avenue SE., Washington, DC 20590.
     Hand Delivery: Deliver to Mail address above between 9
a.m. and 5 p.m., Monday through Friday, except Federal holidays.
    For service information identified in this proposed AD, contact
Piper Aircraft, Inc., Customer Service, 2926 Piper Drive, Vero Beach,
Florida 32960; telephone:<PHONE_NUMBER>; fax: none; email:
<EMAIL_ADDRESS>Internet: www.piper.com. You may review the
referenced service information at the FAA, Small Airplane Directorate,
901 Locust, Kansas City, Missouri 64106. For information on the
availability of this material at the FAA, call<PHONE_NUMBER>.

Examining the AD Docket

    You may examine the AD docket on the Internet at http://www.regulations.gov by searching for and locating Docket No. FAA-2015-
4213; or in person at the Docket Management Facility between 9 a.m. and
5 p.m., Monday through Friday, except Federal holidays. The AD docket
contains this proposed AD, the regulatory evaluation, any comments
received, and other information. The street address for the Docket
Office (phone:<PHONE_NUMBER>) is in the ADDRESSES section. Comments will
be available in the AD docket shortly after receipt.

FOR FURTHER INFORMATION CONTACT: Gregory ``Keith'' Noles, Aerospace
Engineer, FAA, Atlanta Aircraft Certification Office, 1701 Columbia
Avenue, College Park, Georgia 30337; phone:<PHONE_NUMBER>; fax: (404)
474-5606; email<EMAIL_ADDRESS>
SUPPLEMENTARY INFORMATION:

Comments Invited

    We invite you to send any written relevant data, views, or
arguments about this proposal. Send your comments to an address listed
under the ADDRESSES section. Include ``Docket No. FAA-2015-4213;
Directorate Identifier 2015-CE-022-AD'' at the beginning of your
comments. We specifically invite comments on the overall regulatory,
economic, environmental, and energy aspects of this proposed AD. We
will consider all comments received by the closing date and may amend
this proposed AD because of those comments.
    We will post all comments we receive, without change, to http://www.regulations.gov, including any personal information you provide. We
will also post a report summarizing each substantive verbal contact we
receive about this proposed AD.

Discussion

    We received a report of wing upper skin joints on Piper Aircraft,
Inc. Model PA-46-500TP airplanes being manufactured without sealant,
which allows water to enter and stay in sealed, bonded stringers. This
condition, if not corrected, could result in water entering the
stringers common to the upper wing skin. Left uncorrected, corrosion
could develop, and freeze/thaw cycles of water at this location could
cause deformation of the skin with follow-on disbonding between the
stringer flanges and the inner surface of the wing skin. Consequently,
the corrosion or disbonding could reduce the structural integrity of
the wing.

Related Service Information Under 1 CFR Part 51

    We reviewed Piper Aircraft, Inc. Service Bulletin No. 1262B, dated
April 23, 2015. The service bulletin provides instructions for
inspecting the upper wing surface for sealant and sealing or resealing
(if necessary). This service bulletin also provides instructions for
inspecting the wing stringers for water intrusion, and, if water
intrusion was found as a result of the inspection, inspecting for
corrosion or deformation. This service information is reasonably
available because the interested parties have access to it through
their normal course of business or by the means identified in the
ADDRESSES section of this NPRM.

FAA's Determination

    We are proposing this AD because we evaluated all the relevant
information and determined the unsafe condition described previously is
likely to exist or develop in other products of the same type design.

Proposed AD Requirements

    This proposed AD would require accomplishing the actions specified
in the service information described previously.

Costs of Compliance

    We estimate that this proposed AD affects 440 airplanes of U.S.
registry.
    We estimate the following costs to comply with this proposed AD:

                                                 Estimated Costs
----------------------------------------------------------------------------------------------------------------
                                                                                Cost per        Cost on U.S.
             Action                      Labor cost            Parts cost          product         operators
----------------------------------------------------------------------------------------------------------------
Inspection for sealant..........  2 work-hours x $85 per   Not Applicable....            $170            $74,800
                                   hour = $170.
----------------------------------------------------------------------------------------------------------------

    We estimate the following costs to do any additional necessary
inspections, rework of the stringers, and installation of sealant that
would be required based on the results of the proposed initial
inspection. We have no way of determining the number of airplanes that
might need this rework of the stringers and installation of sealant:

                                               On-Condition Costs
----------------------------------------------------------------------------------------------------------------
                                                                                Cost per
                   Action                                 Labor cost                Parts cost        product
----------------------------------------------------------------------------------------------------------------
Rework stringers and seal skin joints......  12 work-hours x $85 per hour =                 $200          $1,220
                                              $1,020.
----------------------------------------------------------------------------------------------------------------

    According to the manufacturer, some of the costs of this proposed
AD may be covered under warranty, thereby reducing the cost impact on
affected individuals. We do not control warranty coverage for affected
individuals. As a result, we have included all costs in our cost
estimate.

Authority for This Rulemaking

    Title 49 of the United States Code specifies the FAA's authority to
issue rules on aviation safety. Subtitle I, section 106, describes the
authority of the FAA Administrator. Subtitle VII: Aviation Programs,
describes in more detail the scope of the Agency's authority.
    We are issuing this rulemaking under the authority described in
Subtitle VII, Part A, Subpart III, section 44701: ``General
requirements.'' Under that section, Congress charges the FAA with
promoting safe flight of civil aircraft in air commerce by prescribing
regulations for practices, methods, and procedures the Administrator
finds necessary for safety in air commerce. This regulation is within
the scope of that authority because it addresses an unsafe condition
that is likely to exist or develop on products identified in this
rulemaking action.

Regulatory Findings

    We determined that this proposed AD would not have federalism
implications under Executive Order 13132. This proposed AD would not
have a substantial direct effect on the States, on the relationship
between the national Government and the States, or on the distribution
of power and responsibilities among the various levels of government.
    For the reasons discussed above, I certify this proposed
regulation:
    (1) Is not a ``significant regulatory action'' under Executive
Order 12866,
    (2) Is not a ``significant rule'' under the DOT Regulatory Policies
and Procedures (44 FR 11034, February 26, 1979),
    (3) Will not affect intrastate aviation in Alaska, and
    (4) Will not have a significant economic impact, positive or
negative, on a substantial number of small entities under the criteria
of the Regulatory Flexibility Act.

List of Subjects in 14 CFR Part 39

    Air transportation, Aircraft, Aviation safety, Incorporation by
reference, Safety.

The Proposed Amendment

    Accordingly, under the authority delegated to me by the
Administrator, the FAA proposes to amend 14 CFR part 39 as follows:

PART 39--AIRWORTHINESS DIRECTIVES

0
1. The authority citation for part 39 continues to read as follows:

    Authority:  49 U.S.C. 106(g), 40113, 44701.

Sec.  39.13  [Amended]

0
2. The FAA amends Sec.  39.13 by adding the following new airworthiness
directive (AD):

Piper Aircraft, Inc.: Docket No. FAA-2015-4213; Directorate
Identifier 2015-CE-022-AD.

(a) Comments Due Date

    We must receive comments by December 3, 2015.

(b) Affected ADs

    None.

(c) Applicability

    This AD applies to Piper Aircraft, Inc. Model PA-46-500TP
airplanes, serial numbers 4697001 through 4697528, certificated in
any category.

(d) Subject

    Joint Aircraft System Component (JASC)/Air Transport Association
(ATA) of America Code 5700, Wings.

(e) Unsafe Condition

    This AD was prompted by a report of wing upper skin joints being
manufactured without sealant, which allows water to enter and stay
in sealed, bonded stringers. We are issuing this AD to prevent water
from entering the stringers common to the upper wing skin. Left
uncorrected, corrosion could develop, and freeze/thaw cycles of
water at this location could cause deformation of the skin with
follow-on disbonding between the stringer flanges and the inner
surface of the wing skin. Consequently, the corrosion or disbonding
could reduce the structural integrity of the wing.

(f) Compliance

    Comply with this AD within the compliance times specified,
unless already done.

(g) Inspect the Upper Skin Joints for Adequate Sealant

    Within the next 100 hours time-in-service (TIS) after the
effective date of this AD or 12 months after the effective date of
this AD, whichever occurs first, inspect the upper skin joints for
adequate sealant following Part I of Piper Aircraft, Inc. Service
Bulletin No. 1262B, dated April 23, 2015. No further action per this
AD is required if adequate sealant is already applied.

(h) Inspect for Evidence of Water Intrusion/Moisture

    If you find missing or inadequate sealant during the inspection
required by paragraph (g) of this AD, before further flight, inspect
for evidence of water intrusion/moisture following Part II of Piper
Aircraft, Inc. Service Bulletin No. 1262B, dated April 23, 2015.
    (1) If no evidence of water intrusion/moisture is found during
the inspection required in paragraph (h) of this AD, before further
flight, rework the stringers and apply sealant as required in
paragraph (k) of this AD.
    (2) If evidence of water intrusion/moisture is found during the
inspection required in

paragraph (h) of this AD, before further flight, do the actions
required in paragraphs (i) and (j) of this AD.

(i) Inspect for Corrosion

    If you find, as a result of the inspection required by paragraph
(h) of this AD, evidence of water intrusion/moisture, before further
flight, inspect for corrosion following Part II of Piper Aircraft,
Inc. Service Bulletin No. 1262B, dated April 23, 2015.
    (1) If no evidence of corrosion is found during the inspection
required in paragraph (i) of this AD, before further flight, rework
the stringers and apply sealant as required in paragraph (k) of this
AD.
    (2) If evidence of corrosion is found during the inspection
required in paragraph (i) of this AD, before further flight, obtain
and implement an FAA-approved corrective action, approved
specifically for this AD. At the operator's discretion, assistance
may be provided by contacting Piper Aircraft, Inc. at the address
identified in paragraph (o)(2) of this AD. After obtaining and
implementing an FAA-approved corrective action, approved
specifically for this AD, before further flight, rework the
stringers and apply sealant as required in paragraph (k) of this AD.

(j) Inspect for Deformation

    If you find, as a result of the inspection required by paragraph
(h) of this AD, evidence of water intrusion/moisture, before further
flight, do a visual inspection for skin or stringer deformation.
    (1) If no evidence of deformation is found during the inspection
required in paragraph (j) of this AD, before further flight, rework
the stringers and apply sealant as required in paragraph (k) of this
AD.
    (2) If any visible deformation is found during the inspection
required in paragraph (j) of this AD, before further flight, obtain
and implement an FAA-approved corrective action, approved
specifically for this AD. At the operator's discretion, assistance
may be provided by contacting Piper Aircraft, Inc. at the address
identified in paragraph (o)(2) of this AD. After obtaining and
implementing an FAA-approved corrective action, approved
specifically for this AD, before further flight, rework the
stringers and apply sealant as required in paragraph (k) of this AD.

(k) Rework Stringers and Seal Skin Joints

    If any inspection required by paragraphs (g) through (j) of this
AD reveals discrepancies (no sealant/inadequate sealant, evidence of
water intrusion/moisture, corrosion, or deformation), before further
flight, after completing any necessary corrective actions, rework
wing stringers and seal skin joints following Part II of Piper
Aircraft, Inc. Service Bulletin No. 1262B, dated April 23, 2015.

(l) Credit for Actions Done in Accordance With Previous Service
Information

    Actions done before the effective date of this AD following Part
I and Part II of Piper Aircraft, Inc. Service Bulletin No. 1262,
dated October 16, 2013; or Part I and Part II of Piper Aircraft,
Inc. Service Bulletin No. 1262A, dated November 14, 2013, as
applicable, are considered acceptable for compliance with the
corresponding actions specified in paragraphs (g), (h), (i), and (k)
(including subparagraphs) of this AD. Additional inspections beyond
Service Bulletin No. 1262 are required to fully comply with
paragraph (j) of this AD.

(m) Special Flight Permit

    (1) In accordance with 14 CFR 39.23, a single flight is allowed
to a location to do the actions in paragraph (g) of this AD.
    (2) In accordance with 14 CFR 39.23, a single flight is allowed
to a location to do the inspections, rework and installation of
sealant required in paragraphs (h) through (k) of this AD. Prior to
the flight to perform the inspections, rework, and installation of
sealant, the following inspection must be performed: If the
inspection required by paragraph (g) of this AD reveals no sealant,
inspect for evidence of wing damage (skin or stringer deformation,
e.g. buckling). Any wing damage that is found must be repaired
before further flight and before any special flight permit is
authorized.

(n) Alternative Methods of Compliance (AMOCs)

    (1) The Manager, Atlanta Aircraft Certification Office (ACO),
FAA, has the authority to approve AMOCs for this AD, if requested
using the procedures found in 14 CFR 39.19. In accordance with 14
CFR 39.19, send your request to your principal inspector or local
Flight Standards District Office, as appropriate. If sending
information directly to the manager of the ACO, send it to the
attention of the person identified in paragraph (l)(1) of this AD.
    (2) Before using any approved AMOC, notify your appropriate
principal inspector, or lacking a principal inspector, the manager
of the local flight standards district office/certificate holding
district office.

(o) Related Information

    (1) For more information about this AD, contact Gregory
``Keith'' Noles, Aerospace Engineer, FAA, Atlanta ACO, 1701 Columbia
Avenue, College Park, Georgia 30337; phone:<PHONE_NUMBER>; fax:
(404) 474-5606; email<EMAIL_ADDRESS>    (2) For service information identified in this AD, contact Piper
Aircraft, Inc., Customer Service, 2926 Piper Drive, Vero Beach,
Florida 32960; telephone:<PHONE_NUMBER>; fax: none; email:
<EMAIL_ADDRESS>Internet: www.piper.com. You may view
this referenced service information at the FAA, Small Airplane
Directorate, 901 Locust, Kansas City, Missouri 64106. For
information on the availability of this material at the FAA, call
(816) 329-4148.

    Issued in Kansas City, Missouri, on October 7, 2015.
Pat Mullen,
Acting Manager, Small Airplane Directorate, Aircraft Certification
Service.
[FR Doc. 2015-26230 Filed 10-16-15; 8:45 am]
 BILLING CODE 4910-13-P


## Define input and output file paths - REVISE to reflect user's working directory
in_path <- "C:/Users/51235/ICF/WOTUS Reconsideration (ICF Internal Site) - Distributional Impacts/Inputs/"
out_path <- "C:/Users/51235/ICF/WOTUS Reconsideration (ICF Internal Site) - Distributional Impacts/Outputs/"
date <- "10082021"

# Input 404 project data, filtered to fields of interest
filtered404_input <- read.csv(paste0(in_path,"404data_filtered_input.csv"))
#create new column to pull the first worktype listed:
# install.packages(stringi)
library(stringi)
# install.packages("stringr")
library(stringr)
library(dplyr)
library(data.table)
library(reshape2)

## Creat unique ID ############
filtered404_input$PERMIT_ID <- paste0(filtered404_input$ï..ACTION_FOLDER_ID,"_",filtered404_input$ACTION_ID)

########## Clean worktype ########################

#The back slash (\) is not showing up as a character in the string. There are also some other odd special characters in the worktype field. Code below creates a new clean field, devoid of special characters, with words separated by blank space:

filtered404_input$WORKTYPE_clean <- gsub("[[:punct:]]", " ", filtered404_input$WORKTYPE)

#create new columns representing the primary and secondary worktype:
filtered404_input$character1 <- sapply(strsplit(as.character(filtered404_input$WORKTYPE), "\\\\"), `[`, 2)
filtered404_input$character2 <- sapply(strsplit(as.character(filtered404_input$WORKTYPE), "\\\\"), `[`, 3)
filtered404_input$character2 <- gsub(",","",filtered404_input$character2)
#remove blank spaces:
trim <- function (x) gsub("^\\s+|\\s+$", "", x)

filtered404_input$character1 <- str_trim(filtered404_input$character1)
filtered404_input$character2 <- str_trim(filtered404_input$character2)

filtered404_input$WORKTYPE_clean <- str_trim(filtered404_input$WORKTYPE_clean) #removes leading and trailing whitespace

#convert to all lowercase
filtered404_input$WORKTYPE_clean <- tolower(filtered404_input$WORKTYPE_clean)
filtered404_input$PROJECT_NAME_clean <- tolower(filtered404_input$PROJECT_NAME)
filtered404_input$PROJECT_DESCRIPTION_clean <- tolower(filtered404_input$PROJECT_DESCRIPTION)

#### Create working df####
filtered404 <- filtered404_input

#### Merge with final ORM data processing output
final_ORM_output <- read.csv(paste0(orm_qa_path,"ORM_Dataset_Final_MirandaSubset.csv"))
final_ORM_output <- final_ORM_output[,c(1,3)]
#filtered404 <- merge(final_ORM_output,filtered404,all.x=TRUE)
final_permit_id <- unique(final_ORM_output$PERMIT_ID)
filtered404 <- filtered404[filtered404$PERMIT_ID %in% final_permit_id,]
filtered404 <- merge(filtered404,final_ORM_output)

######## Identify public projects ##############
filtered404$w_id_1 <- ifelse(grepl("city of|town of|county of|state|parish|township|municipality|municipal|department of|dept. of| dot |dot|usdot|usda|dept of|dpw|village of|village|caltrans|nysdot|division of|dnr|odnr|md sha|kdfwr|agfc|ag&fc|ahtd|nceep|achd|adcnr",filtered404$PROJECT_NAME_clean),"Public",NA)

##Indian Tribe or State 404 Program
filtered404$w_id_1 <- ifelse(is.na(filtered404$w_id_1) & grepl("indian tribe or state 404 program", filtered404$WORKTYPE_clean), "TSP", filtered404$w_id_1)

############### DEVELOPMENT ####################
filtered404$w_id_1 <- ifelse(is.na(filtered404$w_id_1) & filtered404$character1 == "DEVELOPMENT", "D", filtered404$w_id_1)
filtered404$w_id_1 <- ifelse(is.na(filtered404$w_id_1) & filtered404$character1 == "TRANSPORTATION" & grepl("development",filtered404$WORKTYPE_clean), "D", filtered404$w_id_1)
filtered404$D_C <- ifelse(filtered404$w_id_1 == "D" & grepl("commercial",filtered404$WORKTYPE_clean),"C","") #commercial
filtered404$D_I <- ifelse(filtered404$w_id_1 == "D" & grepl("industrial",filtered404$WORKTYPE_clean),"I","") #industrial
filtered404$D_R <- ifelse(filtered404$w_id_1 == "D" & grepl("residential",filtered404$WORKTYPE_clean),"R","") #residential
filtered404$D_AI <- ifelse(filtered404$w_id_1 == "D" & grepl("associated infrastructure",filtered404$WORKTYPE_clean),"AI","") #associated infrastructure
filtered404$D_Rec <- ifelse(filtered404$w_id_1 == "D" & grepl("recreational",filtered404$WORKTYPE_clean),"Rec","") #recreational
filtered404$D_M <- ifelse(filtered404$w_id_1 == "D" & grepl("multi family|multi  family",filtered404$WORKTYPE_clean),"M","") #multi-family
filtered404$D_S <- ifelse(filtered404$w_id_1 == "D" & (grepl("single family|single  family",filtered404$WORKTYPE_clean)|grepl("single-family",filtered404$WORKTYPE_clean)),"S","") #single family
filtered404$C_I_R_count <- ifelse(filtered404$D_C == "C",1,0)+ifelse(filtered404$D_I == "I",1,0)+ifelse(filtered404$D_R == "R",1,0)
filtered404$res_use <- ifelse(filtered404$D_M == "M" & filtered404$D_S == "S","X",
                              ifelse(filtered404$D_M == "" & filtered404$D_S == "", "UK",paste0(filtered404$D_M,filtered404$D_S)))
filtered404$D_final <- ifelse(filtered404$w_id_1 == "D" & filtered404$D_C == "" & filtered404$D_I == "" & filtered404$D_R == "" & filtered404$D_AI == "AI" &
                                filtered404$D_Rec == "","AI",
                              ifelse(filtered404$w_id_1 == "D" & filtered404$D_R == "" & filtered404$D_Rec == "Rec","C",
                              ifelse(filtered404$w_id_1 == "D" & filtered404$D_R == "R" & filtered404$D_Rec == "Rec", paste0("R-",filtered404$res_use),
                              ifelse(filtered404$w_id_1 == "D" & filtered404$C_I_R_count > 1, "X",
                              ifelse(filtered404$w_id_1 == "D" & filtered404$D_C == "C","C",
                              ifelse(filtered404$w_id_1 == "D" & filtered404$D_I == "I","I",
                              ifelse(filtered404$w_id_1 == "D" & filtered404$D_R == "R",paste0("R-",filtered404$res_use),
                              ifelse(filtered404$w_id_1 == "D" & filtered404$D_Rec == "Rec","Rec",
                              ifelse(filtered404$w_id_1 == "D", "UK",NA)))))))))
filtered404$w_id_1 <- ifelse(filtered404$w_id_1 == "D" & !is.na(filtered404$D_final),paste0(filtered404$w_id_1,"-",filtered404$D_final),filtered404$w_id_1)

#### When Industrial or Commercial or AI development is listed with Agriculture, Logging, Mining and Drilling,
#### Energy Production (including generation, pipelines, transmission/distribution), Airport, Marina, or Landfill
#### then "D-I" or "D-C" or "D-AI" are considered secondary

## AGRICULTURE
filtered404$w_id_1 <- ifelse((filtered404$w_id_1 == "D-C" | filtered404$w_id_1 == "D-I" | filtered404$w_id_1 == "D-AI") & grepl("agriculture",filtered404$WORKTYPE_clean), "Ag", filtered404$w_id_1)

## LOGGING
filtered404$w_id_1 <- ifelse((filtered404$w_id_1 == "D-C" | filtered404$w_id_1 == "D-I" | filtered404$w_id_1 == "D-AI") & grepl("logging",filtered404$WORKTYPE_clean), "Logging", filtered404$w_id_1)

## MINING AND DRILLING
filtered404$mining <- str_locate(filtered404$WORKTYPE_clean,"mining and drilling   mining")[,1]
filtered404$mining <- ifelse(is.na(filtered404$mining),0,filtered404$mining)
filtered404$drilling <- str_locate(filtered404$WORKTYPE_clean,"mining and drilling   drilling")[,1]
filtered404$drilling <- ifelse(is.na(filtered404$drilling),0,filtered404$drilling)
filtered404$w_id_1 <- ifelse((filtered404$w_id_1 == "D-C" | filtered404$w_id_1 == "D-I" | filtered404$w_id_1 == "D-AI") & grepl("mining and drilling   mining",filtered404$WORKTYPE_clean) & grepl("mining and drilling   drilling",filtered404$WORKTYPE_clean),
                             ifelse(filtered404$mining < filtered404$drilling,"MD-M", "MD-D"),filtered404$w_id_1)
filtered404$w_id_1 <- ifelse((filtered404$w_id_1 == "D-C" | filtered404$w_id_1 == "D-I" | filtered404$w_id_1 == "D-AI") & grepl("mining and drilling   mining",filtered404$WORKTYPE_clean), "MD-M", filtered404$w_id_1)
filtered404$w_id_1 <- ifelse((filtered404$w_id_1 == "D-C" | filtered404$w_id_1 == "D-I" | filtered404$w_id_1 == "D-AI") & grepl("mining and drilling   drilling",filtered404$WORKTYPE_clean), "MD-D", filtered404$w_id_1)
filtered404$w_id_1 <- ifelse((filtered404$w_id_1 == "D-C" | filtered404$w_id_1 == "D-I" | filtered404$w_id_1 == "D-AI") & grepl("mining and drilling",filtered404$WORKTYPE_clean), "MD-UK", filtered404$w_id_1)

## ENERGY PRODUCTION (generation, pipeline, transmission/distribution)
#filtered404$w_id_1 <- ifelse((filtered404$w_id_1 == "D-C" | filtered404$w_id_1 == "D-I") & (grepl("energy generation|power|electric|generation|substation|energy|kv|entergy|national grid",filtered404$WORKTYPE_clean)|grepl("energy generation|power|electric|generation|substation|energy|kv|entergy|national grid",filtered404$PROJECT_NAME_clean)|grepl("energy generation|power|electric|generation|substation|energy|kv|entergy|national grid",filtered404$PROJECT_DESCRIPTION_clean)), "EG", filtered404$w_id_1)
filtered404$w_id_1 <- ifelse((filtered404$w_id_1 == "D-C" | filtered404$w_id_1 == "D-I" | filtered404$w_id_1 == "D-AI") & (grepl("energy generation",filtered404$WORKTYPE_clean)), "EG", filtered404$w_id_1)
filtered404$w_id_1 <- ifelse((filtered404$w_id_1 == "D-C" | filtered404$w_id_1 == "D-I" | filtered404$w_id_1 == "D-AI") & (grepl("pipeline",filtered404$WORKTYPE_clean)|grepl("pipeline",filtered404$PROJECT_NAME_clean)|grepl("pipeline",filtered404$PROJECT_DESCRIPTION_clean)), "PL", filtered404$w_id_1)
filtered404$w_id_1 <- ifelse((filtered404$w_id_1 == "D-C" | filtered404$w_id_1 == "D-I" | filtered404$w_id_1 == "D-AI") & (grepl("transmission",filtered404$WORKTYPE_clean)|grepl("transmission",filtered404$PROJECT_NAME_clean)|grepl("transmission",filtered404$PROJECT_DESCRIPTION_clean)), "Trans", filtered404$w_id_1)
filtered404$w_id_1 <- ifelse((filtered404$w_id_1 == "D-C" | filtered404$w_id_1 == "D-I" | filtered404$w_id_1 == "D-AI") & grepl("distribution",filtered404$WORKTYPE_clean), "Dist", filtered404$w_id_1)

# Airport
filtered404$w_id_1 <- ifelse((filtered404$w_id_1 == "D-C" | filtered404$w_id_1 == "D-I" | filtered404$w_id_1 == "D-AI") & (grepl("airport",filtered404$WORKTYPE_clean)|grepl("air|airport",filtered404$PROJECT_NAME_clean)|grepl("air|airport",filtered404$PROJECT_DESCRIPTION_clean)), "Airport", filtered404$w_id_1)

# Marina
filtered404$w_id_1 <- ifelse((filtered404$w_id_1 == "D-C" | filtered404$w_id_1 == "D-I" | filtered404$w_id_1 == "D-AI") & (grepl("yacht club|marina",filtered404$WORKTYPE_clean)|grepl("yacht club|marina",filtered404$PROJECT_NAME_clean)|grepl("yacht club|marina",filtered404$PROJECT_DESCRIPTION_clean)), "Marina", filtered404$w_id_1)
filtered404$w_id_1 <- ifelse((filtered404$w_id_1 == "D-C" | filtered404$w_id_1 == "D-I" | filtered404$w_id_1 == "D-AI") & ((grepl("boat|dock",filtered404$WORKTYPE_clean)&grepl("non-residential",filtered404$WORKTYPE_clean))|(grepl("boat|dock",filtered404$PROJECT_NAME_clean)&grepl("non-residential",filtered404$PROJECT_NAME_clean))|(grepl("boat|dock",filtered404$PROJECT_DESCRIPTION_clean)&grepl("non-residential",filtered404$PROJECT_DESCRIPTION_clean))),"Marina",filtered404$w_id_1)
filtered404$w_id_1 <- ifelse((filtered404$w_id_1 == "D-C" | filtered404$w_id_1 == "D-I" | filtered404$w_id_1 == "D-AI") & ((grepl("boat|dock",filtered404$WORKTYPE_clean)&!grepl("residential",filtered404$WORKTYPE_clean))|(grepl("boat|dock",filtered404$PROJECT_NAME_clean)&!grepl("residential",filtered404$PROJECT_NAME_clean))|(grepl("boat|dock",filtered404$PROJECT_DESCRIPTION_clean)&!grepl("residential",filtered404$PROJECT_DESCRIPTION_clean))),"Marina",filtered404$w_id_1)

# Landfill
filtered404$w_id_1 <- ifelse((filtered404$w_id_1 == "D-C" | filtered404$w_id_1 == "D-I" | filtered404$w_id_1 == "D-AI") & (grepl("landfill",filtered404$WORKTYPE_clean)|grepl("landfill",filtered404$PROJECT_NAME_clean)|grepl("landfill",filtered404$PROJECT_DESCRIPTION_clean)),"Landfill",filtered404$w_id_1)

##### Remaining categories assigned based on 1st or 2nd work type listed, or project name/description #######################

## AGRICULTURE
filtered404$w_id_1 <- ifelse(is.na(filtered404$w_id_1) & filtered404$character1 == "AGRICULTURE", "Ag", filtered404$w_id_1)

## AQUACULTURE
filtered404$w_id_1 <- ifelse(is.na(filtered404$w_id_1) & filtered404$character1 == "AQUACULTURE",
                             ifelse(grepl("plant", filtered404$WORKTYPE_clean), "Aquaculture-Plants",
                             ifelse(grepl("finfish", filtered404$WORKTYPE_clean), "Aquaculture-Finfish",
                             ifelse(grepl("shellfish", filtered404$WORKTYPE_clean), "Aquaculture-Shellfish", "Aquaculture-X"))),filtered404$w_id_1)

## Energy generation
filtered404$w_id_1 <- ifelse(is.na(filtered404$w_id_1) & filtered404$character1 == "ENERGY GENERATION", "EG", filtered404$w_id_1)
#filtered404$w_id_1 <- ifelse(is.na(filtered404$w_id_1) & (grepl("energy generation|power|electric|generation|substation|energy|kv|entergy|national grid",filtered404$WORKTYPE_clean)|grepl("energy generation|power|electric|generation|substation|energy|kv|entergy|national grid",filtered404$PROJECT_NAME_clean)|grepl("energy generation|power|electric|generation|substation|energy|kv|entergy|national grid",filtered404$PROJECT_DESCRIPTION_clean)), "EG", filtered404$w_id_1)

## Mining and Drilling
filtered404$w_id_1 <- ifelse(is.na(filtered404$w_id_1) & grepl("mining and drilling   mining",filtered404$WORKTYPE_clean) & grepl("mining and drilling   drilling",filtered404$WORKTYPE_clean),
                             ifelse(filtered404$mining < filtered404$drilling,"MD-M", "MD-D"),filtered404$w_id_1)
filtered404$w_id_1 <- ifelse(is.na(filtered404$w_id_1) & grepl("mining and drilling   mining",filtered404$WORKTYPE_clean), "MD-M", filtered404$w_id_1)
filtered404$w_id_1 <- ifelse(is.na(filtered404$w_id_1) & grepl("mining and drilling   drilling",filtered404$WORKTYPE_clean), "MD-D", filtered404$w_id_1)
filtered404$w_id_1 <- ifelse(is.na(filtered404$w_id_1) & grepl("mining and drilling",filtered404$WORKTYPE_clean), "MD-UK", filtered404$w_id_1)

## Transmission
filtered404$w_id_1 <- ifelse(is.na(filtered404$w_id_1) & (grepl("transmission",filtered404$WORKTYPE_clean) | grepl("transmission",filtered404$PROJECT_NAME_clean)),"Trans",filtered404$w_id_1)

## Rail
filtered404$w_id_1 <- ifelse(is.na(filtered404$w_id_1) & ((filtered404$character1 == "TRANSPORTATION" & filtered404$character2 == "RAIL") | grepl("rail|railway| rr|rr ",filtered404$PROJECT_NAME_clean)), "Rail", filtered404$w_id_1)

## Cleanup of hazardous or toxic waste
filtered404$w_id_1 <- ifelse(is.na(filtered404$w_id_1) & grepl("cleanup hazardous or toxic wastes",filtered404$WORKTYPE_clean), "CHTW", filtered404$w_id_1)

## Pipeline
filtered404$w_id_1 <- ifelse(is.na(filtered404$w_id_1) & ((filtered404$character1 == "TRANSPORTATION" & filtered404$character2 == "PIPELINE")|grepl("pipeline",filtered404$WORKTYPE_clean)|grepl("pipeline",filtered404$PROJECT_NAME_clean)|grepl("pipeline",filtered404$PROJECT_DESCRIPTION_clean)), "PL", filtered404$w_id_1)

## Utility
#filtered404$w_id_1 <- ifelse(is.na(filtered404$w_id_1) & (filtered404$character2 == "UTILITY" | filtered404$character2 == "UTILITY LINE OR STRUCTURE"| filtered404$character2 == "UTILITY LINE OR STRUCTURE,"), "UL", filtered404$w_id_1)
filtered404$utility <- ifelse(grepl("utility",filtered404$WORKTYPE_clean), "UL", NA)
filtered404$w_id_1 <- ifelse(!is.na(filtered404$utility) & filtered404$w_id_1 == "EG","UL-EG",
                             ifelse(!is.na(filtered404$utility) & filtered404$w_id_1 == "Trans","UL-TD",
                             ifelse(!is.na(filtered404$utility) & filtered404$w_id_1 == "PL","UL-PL",
                             ifelse(is.na(filtered404$w_id_1) & !is.na(filtered404$utility) & (grepl("water|wwtp|interceptor",filtered404$WORKTYPE_clean)|grepl("water|wwtp|interceptor",filtered404$PROJECT_DESCRIPTION_clean)|grepl("water|wwtp|interceptor",filtered404$PROJECT_NAME_clean)),"UL-W",
                             ifelse(is.na(filtered404$w_id_1) & !is.na(filtered404$utility) & (grepl("sewage|sewer",filtered404$WORKTYPE_clean)|grepl("sewage|sewer",filtered404$PROJECT_DESCRIPTION_clean)|grepl("sewage|sewer",filtered404$PROJECT_NAME_clean)),"UL-S",
                             ifelse(is.na(filtered404$w_id_1) & !is.na(filtered404$utility) & (grepl("gas|pipeline",filtered404$WORKTYPE_clean)|grepl("gas|pipeline",filtered404$PROJECT_DESCRIPTION_clean)|grepl("gas|pipeline",filtered404$PROJECT_NAME_clean)),"UL-NG",
                             ifelse(is.na(filtered404$w_id_1) & !is.na(filtered404$utility) & (grepl("energy generation|power|electric|generation|substation|energy|kv|entergy|national grid",filtered404$WORKTYPE_clean)|grepl("energy generation|power|electric|generation|substation|energy|kv|entergy|national grid",filtered404$PROJECT_NAME_clean)|grepl("energy generation|power|electric|generation|substation|energy|kv|entergy|national grid",filtered404$PROJECT_DESCRIPTION_clean)),"UL-EG",
                             ifelse(is.na(filtered404$w_id_1) & !is.na(filtered404$utility),"UL-Unknown",filtered404$w_id_1))))))))

## Yacht club/marina
filtered404$w_id_1 <- ifelse(is.na(filtered404$w_id_1) & (grepl("yacht club|marina",filtered404$WORKTYPE_clean)|grepl("yacht club|marina",filtered404$PROJECT_NAME_clean)|grepl("yacht club|marina",filtered404$PROJECT_DESCRIPTION_clean)),"Marina",filtered404$w_id_1)
filtered404$w_id_1 <- ifelse(is.na(filtered404$w_id_1) & ((grepl("boat|dock",filtered404$WORKTYPE_clean)&grepl("non-residential",filtered404$WORKTYPE_clean))|(grepl("boat|dock",filtered404$PROJECT_NAME_clean)&grepl("non-residential",filtered404$PROJECT_NAME_clean))|(grepl("boat|dock",filtered404$PROJECT_DESCRIPTION_clean)&grepl("non-residential",filtered404$PROJECT_DESCRIPTION_clean))),"Marina",filtered404$w_id_1)
filtered404$w_id_1 <- ifelse(is.na(filtered404$w_id_1) & ((grepl("boat|dock",filtered404$WORKTYPE_clean)&!grepl("residential",filtered404$WORKTYPE_clean))|(grepl("boat|dock",filtered404$PROJECT_NAME_clean)&!grepl("residential",filtered404$PROJECT_NAME_clean))|(grepl("boat|dock",filtered404$PROJECT_DESCRIPTION_clean)&!grepl("residential",filtered404$PROJECT_DESCRIPTION_clean))),"Marina",filtered404$w_id_1)

## Airport
filtered404$w_id_1 <- ifelse(is.na(filtered404$w_id_1) & (grepl("airport|air",filtered404$WORKTYPE_clean)|grepl("airport|air",filtered404$PROJECT_NAME_clean)|grepl("airport|air",filtered404$PROJECT_DESCRIPTION_clean)),"Airport",filtered404$w_id_1)

## Landfill
filtered404$w_id_1 <- ifelse(is.na(filtered404$w_id_1) & (grepl("landfill",filtered404$WORKTYPE_clean)|grepl("landfill",filtered404$PROJECT_NAME_clean)|grepl("landfill",filtered404$PROJECT_DESCRIPTION_clean)),"Landfill",filtered404$w_id_1)

## Dredging
filtered404$w_id_1 <- ifelse(is.na(filtered404$w_id_1) & (filtered404$character1 == "DREDGING" | grepl("bank stabilization|channelization", filtered404$WORKTYPE_clean)), "Dr", filtered404$w_id_1)

## Highway, Street, Bridge
filtered404$w_id_1 <- ifelse(is.na(filtered404$w_id_1) & (grepl("highway|hwy|road|rd|roads|street|st|bridge|culvert",filtered404$WORKTYPE_clean)|grepl("highway|hwy|road|rd|roads|street|st|bridge|culvert",filtered404$PROJECT_NAME_clean)|grepl("highway|hwy|road|rd|roads|street|st|bridge|culvert",filtered404$PROJECT_DESCRIPTION_clean)),"HSB",filtered404$w_id_1)

##### Assign energy source to relevant categories (generation, transmission, pipeline, distribution, mining & drilling, utility)

# Mining & drilling
filtered404$energy_source <- ifelse((filtered404$w_id_1 == "MD-M" | filtered404$w_id_1 == "MD-D"),
                                    ifelse(grepl("shale gas",filtered404$WORKTYPE_clean) | grepl("shale gas",filtered404$PROJECT_DESCRIPTION_clean) | grepl("shale gas",filtered404$PROJECT_NAME_clean),"-SHALE GAS",
                                    ifelse(grepl("oil",filtered404$WORKTYPE_clean) | grepl("oil",filtered404$PROJECT_DESCRIPTION_clean) | grepl("oil",filtered404$PROJECT_NAME_clean),"-OIL",
                                    ifelse(grepl("gas",filtered404$WORKTYPE_clean) | grepl("gas",filtered404$PROJECT_DESCRIPTION_clean) | grepl("gas",filtered404$PROJECT_NAME_clean),"-GAS",
                                    ifelse(grepl("coal",filtered404$WORKTYPE_clean) | grepl("coal",filtered404$PROJECT_DESCRIPTION_clean) | grepl("coal",filtered404$PROJECT_NAME_clean),"-COAL",
                                    ifelse(grepl("gravel",filtered404$WORKTYPE_clean) | grepl("gravel",filtered404$PROJECT_DESCRIPTION_clean) | grepl("gravel",filtered404$PROJECT_NAME_clean),"-GRAVEL",
                                    ifelse(grepl("peat",filtered404$WORKTYPE_clean) | grepl("peat",filtered404$PROJECT_DESCRIPTION_clean) | grepl("peat",filtered404$PROJECT_NAME_clean),"-PEAT",
                                    ifelse(grepl("phosphate",filtered404$WORKTYPE_clean) | grepl("phosphate",filtered404$PROJECT_DESCRIPTION_clean) | grepl("phosphate",filtered404$PROJECT_NAME_clean),"-PHOSPHATE",
                                    ifelse(grepl("rock",filtered404$WORKTYPE_clean) | grepl("rock",filtered404$PROJECT_DESCRIPTION_clean) | grepl("rock",filtered404$PROJECT_NAME_clean),"-ROCK",
                                    ifelse(grepl("sand",filtered404$WORKTYPE_clean) | grepl("sand",filtered404$PROJECT_DESCRIPTION_clean) | grepl("sand",filtered404$PROJECT_NAME_clean),"-SAND",
                                    ifelse(grepl("other mineral",filtered404$WORKTYPE_clean) | grepl("other mineral",filtered404$PROJECT_DESCRIPTION_clean) | grepl("other mineral",filtered404$PROJECT_NAME_clean),"-OTHER MINERAL","-UK")))))))))),NA)

# Energy generation
filtered404$energy_source <- ifelse(!is.na(filtered404$energy_source),filtered404$energy_source,
                                    ifelse(filtered404$w_id_1 == "EG" | filtered404$w_id_1 == "UL-EG",
                                    ifelse(grepl("coal",filtered404$WORKTYPE_clean) | grepl("coal",filtered404$PROJECT_DESCRIPTION_clean) | grepl("coal",filtered404$PROJECT_NAME_clean),"-COAL",
                                    ifelse(grepl("cogen",filtered404$WORKTYPE_clean) | grepl("cogen",filtered404$PROJECT_DESCRIPTION_clean) | grepl("cogen",filtered404$PROJECT_NAME_clean),"-COGEN",
                                    ifelse(grepl("geothermal",filtered404$WORKTYPE_clean) | grepl("geothermal",filtered404$PROJECT_DESCRIPTION_clean) | grepl("geothermal",filtered404$PROJECT_NAME_clean),"-GEOTHERMAL",
                                    ifelse(grepl("hydropower",filtered404$WORKTYPE_clean) | grepl("hydropower",filtered404$PROJECT_DESCRIPTION_clean) | grepl("hydropower",filtered404$PROJECT_NAME_clean),"-HYDROPOWER",
                                    ifelse(grepl("natural gas",filtered404$WORKTYPE_clean) | grepl("natural gas",filtered404$PROJECT_DESCRIPTION_clean) | grepl("natural gas",filtered404$PROJECT_NAME_clean),"-NATURAL GAS",
                                    ifelse(grepl("nuclear",filtered404$WORKTYPE_clean) | grepl("nuclear",filtered404$PROJECT_DESCRIPTION_clean) | grepl("nuclear",filtered404$PROJECT_NAME_clean),"-NUCLEAR",
                                    ifelse(grepl("oil",filtered404$WORKTYPE_clean) | grepl("oil",filtered404$PROJECT_DESCRIPTION_clean) | grepl("oil",filtered404$PROJECT_NAME_clean),"-OIL",
                                    ifelse(grepl("solar",filtered404$WORKTYPE_clean) | grepl("solar",filtered404$PROJECT_DESCRIPTION_clean) | grepl("solar",filtered404$PROJECT_NAME_clean),"-SOLAR",
                                    ifelse(grepl("wind",filtered404$WORKTYPE_clean) | grepl("wind",filtered404$PROJECT_DESCRIPTION_clean) | grepl("wind",filtered404$PROJECT_NAME_clean),"-WIND","-UK"))))))))),NA))

# Pipeline
filtered404$energy_source <- ifelse(!is.na(filtered404$energy_source),filtered404$energy_source,
                                    ifelse(filtered404$w_id_1 == "PL" | filtered404$w_id_1 == "UL-PL",
                                    ifelse((grepl("gas",filtered404$WORKTYPE_clean) | grepl("gas",filtered404$PROJECT_DESCRIPTION_clean) | grepl("gas",filtered404$PROJECT_NAME_clean)) &
                                             (grepl("oil",filtered404$WORKTYPE_clean) | grepl("oil",filtered404$PROJECT_DESCRIPTION_clean) | grepl("oil",filtered404$PROJECT_NAME_clean)),"-X",
                                    ifelse(grepl("gas",filtered404$WORKTYPE_clean) | grepl("gas",filtered404$PROJECT_DESCRIPTION_clean) | grepl("gas",filtered404$PROJECT_NAME_clean),"-NG",
                                    ifelse(grepl("oil",filtered404$WORKTYPE_clean) | grepl("oil",filtered404$PROJECT_DESCRIPTION_clean) | grepl("oil",filtered404$PROJECT_NAME_clean),"-OIL","-UK"))),NA))

# Append energy source to w_id_1
filtered404$w_id_1 <- ifelse(!is.na(filtered404$energy_source),paste0(filtered404$w_id_1,filtered404$energy_source),filtered404$w_id_1)

# Change NA to "Unknown"
filtered404$w_id_1 <- ifelse(is.na(filtered404$w_id_1),"Unknown",filtered404$w_id_1)

###Merge with NAICS#######################################
w_id_naics_broad <- read.csv(paste0(in_path,"w_id_broad_naics_xwalk.csv"))
names(w_id_naics_broad) <- c("w_id_1","NAICS","NAICS Industry Description")
filtered404_naics <- merge(filtered404,w_id_naics_broad)

#### SUMMARIZE RESULTS ##################################
proj_by_sector <- data.frame(table(filtered404$w_id_1))

# Permits by sector
proj_by_naics <- aggregate(filtered404_naics$PERMIT_ID,by = list(filtered404_naics$NAICS,filtered404_naics$`NAICS Industry Description`),FUN=length)
names(proj_by_naics) <- c("NAICS","NAICS Industry Description","Number of permits")
proj_by_naics <- arrange(proj_by_naics,NAICS)
write.csv(proj_by_naics,paste0(out_path,"proj_by_naics.csv"),row.names=FALSE)

# Permits by sector and state
proj_by_naics_state <- aggregate(filtered404_naics$PERMIT_ID,by = list(filtered404_naics$STATE_FINAL,filtered404_naics$NAICS,filtered404_naics$`NAICS Industry Description`),FUN=length)
names(proj_by_naics_state) <- c("State","NAICS","NAICS Industry Description","Number of permits")

# Permits by water type and state
proj_by_water_state <- aggregate(filtered404_naics$PERMIT_ID,by = list(filtered404_naics$STATE_FINAL,filtered404_naics$COWARDIN_CATEGORY),FUN=length)
names(proj_by_water_state) <- c("State","Water_Type","Number of permits")

# Percent of projects by state, water type, sector
proj_by_state_water_sector <- aggregate(filtered404_naics$PERMIT_ID,by = list(filtered404_naics$STATE_FINAL,filtered404_naics$COWARDIN_CATEGORY,filtered404_naics$NAICS,filtered404_naics$`NAICS Industry Description`), FUN = length)
names(proj_by_state_water_sector) <- c("State","Water_Type","NAICS","NAICS Industry Description","Count")
proj_by_state_water_sector <- merge(proj_by_state_water_sector,proj_by_water_state,all.x=TRUE)
proj_by_state_water_sector$perc_of_permits <- proj_by_state_water_sector$Count / proj_by_state_water_sector$`Number of permits`
proj_by_state_water_sector$Industry <- paste0(proj_by_state_water_sector$NAICS)
proj_by_state_water_sector_summ <- proj_by_state_water_sector[,c(1,2,7,8)]
proj_by_state_water_sector_final <- dcast(proj_by_state_water_sector_summ,State+Water_Type~Industry,value.var="perc_of_permits",fun.aggregate = sum)

# Percent of projects by sector and state
proj_by_naics_state_perc <- proj_by_naics_state
proj_by_state <- aggregate(proj_by_naics_state$`Number of permits`,by=list(proj_by_naics_state$State),FUN=sum)
names(proj_by_state) <- c("State","Total state permits")
proj_by_naics_state_perc <- merge(proj_by_naics_state_perc,proj_by_state,all.x=TRUE)
proj_by_naics_state_perc$perc_of_permits <- proj_by_naics_state_perc$`Number of permits` / proj_by_naics_state_perc$`Total state permits`
proj_by_naics_state_perc$Industry <- paste0(proj_by_naics_state_perc$NAICS)
proj_by_naics_state_perc_summ <- proj_by_naics_state_perc[,c(1,6,7)]
proj_by_naics_state_perc_final <- dcast(proj_by_naics_state_perc_summ,State~Industry,value.var="perc_of_permits",fun.aggregate = sum)
proj_by_naics_state_perc_final$Water_Type <- "All water types"
proj_by_naics_state_perc_final <- proj_by_naics_state_perc_final[,c(1,24,2:23)]

# Add row with all water types to percent of projects by state, water type, sector
proj_by_state_water_sector_final <- rbind(proj_by_state_water_sector_final,proj_by_naics_state_perc_final)
proj_by_state_water_sector_final <- arrange(proj_by_state_water_sector_final,State)
write.csv(proj_by_state_water_sector_final,paste0(out_path,"proj_by_state_water_naics.csv"),row.names = FALSE)

# Percent of projects by sector and water type
proj_by_sector_water <- aggregate(filtered404_naics$PERMIT_ID,by=list(filtered404_naics$NAICS,filtered404_naics$`NAICS Industry Description`,filtered404_naics$COWARDIN_CATEGORY),FUN=length)
names(proj_by_sector_water) <- c("NAICS","NAICS_Industry_Description","Water_Type","Count")
proj_by_sector_water <- merge(proj_by_sector_water,proj_by_naics,all.x=TRUE)
proj_by_sector_water$`NAICS Industry Description` <- NULL
proj_by_sector_water$perc_of_permits <- proj_by_sector_water$Count / proj_by_sector_water$`Number of permits`
proj_by_sector_water$Count <- NULL
proj_by_sector_water$`Number of permits` <- NULL
proj_by_sector_water_final <- dcast(proj_by_sector_water,NAICS+NAICS_Industry_Description~Water_Type,value.var="perc_of_permits",fun.aggregate = sum)
write.csv(proj_by_sector_water_final,paste0(out_path,"proj_by_naics_water.csv"),row.names = FALSE)

# Costs by sector and water type
perc_costs_by_sector_water_final <- proj_by_sector_water_final


[Federal Register Volume 76, Number 193 (Wednesday, October 5, 2011)]
[Notices]
[Pages 61695-61696]
[FR Doc No: 2011-25769]

-----------------------------------------------------------------------

ENVIRONMENTAL PROTECTION AGENCY

[EPA-HQ-OA-2011-0798; FRL-9475-6]

Gulf of Mexico Regional Ecosystem Restoration Strategy
(Preliminary)

AGENCY: Environmental Protection Agency (EPA).

ACTION: Notice of Availability.

-----------------------------------------------------------------------

SUMMARY: This notice announces the availability of the Gulf of Mexico
Regional Ecosystem Restoration Strategy (Preliminary) for public review
and feedback. The document is available at http://www.regulations.gov
in the docket identified by Docket ID No. EPA-HQ-OA-2011-0798.
President Barack Obama established the Gulf Coast Ecosystem Restoration
Task Force (Task Force) on October 5, 2010 through Executive Order
13554 for the purpose of coordinating the long-term conservation and
restoration of America's Gulf Coast. The Task Force is an
intergovernmental advisory body comprised of senior officials from 11
federal cabinet level agencies and the Executive Office of the
President, and one representative from each of the five Gulf Coast
states, Alabama, Florida, Louisiana, Mississippi, and Texas. The
President charged the Task Force to work with state and federal
agencies, tribes, communities, stakeholders and the public throughout
the Gulf Coast to develop a Gulf of Mexico Ecosystem Restoration
Strategy. Additionally, the Task Force was instructed to build upon
existing research and ecosystem restoration plans, and to learn from
those who are actively involved in ecosystem restoration.
    Over the past year the Task Force has engaged with various
stakeholders and the public as well as coordinated with other entities
that share the Task Force's important goals. The Task Force held at
least one public meeting in each of the five Gulf states, which
included a public listening session to gather individual input from
those most connected to the Gulf ecosystem. In addition to the
listening sessions that took place during public meetings, the Task
Force held multiple listening sessions throughout the Gulf in
partnership with local government leadership, academics, and non-
governmental organizations. The culmination of these efforts has led to
the development of the Gulf of Mexico Regional Ecosystem Restoration
Strategy (Preliminary), which is being released for public review and
feedback.

DATES: Comments must be received on or before October 26, 2011.

ADDRESSES: Submit your comments, identified by Docket ID No. EPA-HQ-OA-
2011-0798, by one of the following methods:
     http://www.regulations.gov: Follow the on-line
instructions for submitting comments.
     E-mail<EMAIL_ADDRESS>     Fax:<PHONE_NUMBER>.
     Mail: U.S. Environmental Protection Agency, EPA Docket
Center, Office of Environmental Information Docket, Mail Code 28221T,
1200 Pennsylvania Ave., NW., Washington, DC 20460.
     Hand Delivery: U.S. Environmental Protection Agency, EPA
Docket Center, EPA West Building, Room 3334, 1301 Constitution Ave.,
NW., Washington, DC 20004. Such deliveries are only accepted during the
Docket's normal hours of operation, and special arrangements should be
made for deliveries of boxed information.
    Instructions: Direct your comments to Docket ID No. EPA-HQ-OA-2011-
0798. EPA's policy is that all comments received will be included in
the public

docket without change and may be made available online at http://www.regulations.gov, including any personal information provided,
unless the comment includes information claimed to be Confidential
Business Information (CBI) or other information whose disclosure is
restricted by statute. Do not submit information that you consider to
be CBI or otherwise protected through http://www.regulations.gov or e-
mail. The http://www.regulations.gov Web site is an ``anonymous
access'' system, which means EPA will not know your identity or contact
information unless you provide it in the body of your comment. If you
send an e-mail comment directly to EPA without going through http://www.regulations.gov your e-mail address will be automatically captured
and included as part of the comment that is placed in the public docket
and made available on the Internet. If you submit an electronic
comment, EPA recommends that you include your name and other contact
information in the body of your comment and with any disk or CD-ROM you
submit. If EPA cannot read your comment due to technical difficulties
and cannot contact you for clarification, EPA may not be able to
consider your comment. Electronic files should avoid the use of special
characters, any form of encryption, and be free of any defects or
viruses. For additional information about EPA's public docket visit the
EPA Docket Center homepage at http://www.epa.gov/epahome/dockets.htm.
    Docket: All documents in the docket are listed in the http://www.regulations.gov index. Although listed in the index, some
information is not publicly available, e.g., CBI or other information
whose disclosure is restricted by statute. Certain other material, such
as copyrighted material, will be available to the public only at the
EPA Docket Center. Publicly available docket materials are available
either electronically in http://www.regulations.gov or in hard copy at
the Office of Environmental Information Docket, EPA/DC, EPA West, Room
3334, 1301 Constitution Ave., NW., Washington, DC. The Public Reading
Room is open from 8:30 a.m. to 4:30 p.m., Monday through Friday,
excluding legal holidays. The telephone number for the Public Reading
Room is<PHONE_NUMBER>, and the telephone number for the Office of
Environmental Information Docket is<PHONE_NUMBER>.

FOR FURTHER INFORMATION CONTACT: Carolyn Scully, Gulf Coast Ecosystem
Restoration Task Force, Mail Code 1101R, Environmental Protection
Agency, 1300 Pennsylvania Ave., NW., Washington, DC 20460; telephone
number:<PHONE_NUMBER>; e-mail address<EMAIL_ADDRESS>
SUPPLEMENTARY INFORMATION:

What should I consider as I prepare my feedback for the Gulf Coast
Ecosystem Restoration Task Force?

    Tips for Preparing Your Feedback. When preparing your feedback, you
may find the following suggestions helpful:
     Explain why you agree or disagree; suggest alternatives
and substitute language for your requested changes.
     Describe any assumptions and provide any technical
information and/or data that you used.
     Provide specific examples to illustrate your concerns, and
suggest alternatives.
     Explain your views as clearly as possible, avoiding the
use of profanity or personal threats.
     Make sure to submit your comments by the comment period
deadline identified under DATES.

    Dated: September 26, 2011.
John H. Hankinson, Jr.,
Executive Director, Gulf Coast Ecosystem Restoration Task Force.
    Dated: September 26, 2011.
John E. Reeder,
Deputy Chief of Staff to the Administrator, U.S. Environmental
Protection Agency.
[FR Doc. 2011-25769 Filed 10-4-11; 8:45 am]
BILLING CODE 6560-50-P