Climate Ready Coast - Southern Maine PDF Free Download

1 / 287
0 views287 pages

Climate Ready Coast - Southern Maine PDF Free Download

Climate Ready Coast - Southern Maine PDF free Download. Think more deeply and widely.

Climate Ready Coast - Southern Maine
A Regional GIS-based Suitability Analysis for Nature-based Approaches
Layer and Data Information
Prepared by:
Christopher Shipley & Stefan Claesson, Ph.D.
Nearview, LLC
36 Maplewood Ave., Portsmouth, NH 03801
Telephone: (207) 200-7879
www.nearview.net
Submitted to:
Jacob Aman
Wells National Estuarine Research Reserve (WNERR)
342 Laudholm Farm Road, Wells, ME, 04090
Telephone: (207) 646-1555
www.wellsreserve.org
Version: 1.0 (beta 5)
Timestamp: 2025-04-09 10:02:13
Climate Ready Coast - Layer and Data Information 2025-04-09
2
Climate Ready Coast - Layer and Data Information 2025-04-09
3
Table of Contents
Site Suitability Assessment ................................................................................................................................... 9
Site Suitability Assessment Source Data ...................................................................................................... 12
Beach Priority.......................................................................................................................................................... 14
Beach Priority Source Data ................................................................................................................................ 16
Non-Scoring Layers ............................................................................................................................................... 18
Non-Scoring Layers Source Data ..................................................................................................................... 19
Layers Table ............................................................................................................................................................. 21
Table Descriptions ................................................................................................................................................ 24
Details Table ....................................................................................................................................................... 24
Layers Table ........................................................................................................................................................ 33
Decode Table ...................................................................................................................................................... 35
Decoding Details ................................................................................................................................................ 36
Data Table ................................................................................................................................................................. 41
Layers ......................................................................................................................................................................... 50
w00 Shoreline Document .............................................................................................................................. 50
w01 Aspect Document .................................................................................................................................... 52
w02 Beach Erosion Rate Document .......................................................................................................... 54
w03 Beach Width Document ....................................................................................................................... 56
w04 Dune Height Relative to Base Flood Elevation Document ..................................................... 58
w05 Dune Erosion Rate Document ........................................................................................................... 60
w06 Coastal Dune and Structure Distance Document ....................................................................... 62
w07 Annualized Fetch Document .............................................................................................................. 64
w08 Southeast Fetch Document ................................................................................................................. 67
w11 FEMA Zone Document .......................................................................................................................... 69
w12 Eelgrass Habitat Proximity Document ........................................................................................... 71
w13 Shellfish Habitat Proximity Document .......................................................................................... 73
w14 TWWH Area Proximity Document .................................................................................................. 75
w15 Landward Relief Height Document ................................................................................................. 77
w17 Saltmarsh Migration Document ........................................................................................................ 80
w18 Tidal Crossings Document .................................................................................................................. 82
w19 Boat Wakes Document ......................................................................................................................... 84
Climate Ready Coast - Layer and Data Information 2025-04-09
4
w20 Landward Habitat Document ............................................................................................................ 86
w21 Seaward Habitat Document ................................................................................................................ 89
w22 Landward Slope Document ................................................................................................................ 93
w23 Intertidal Slope Document .................................................................................................................. 95
w24 Bathymetric Slope Document ............................................................................................................ 98
w25 Coastal Structures Document ......................................................................................................... 101
w27 Northeast Fetch Document .............................................................................................................. 103
w28 Seaward Habitat Extra Document ................................................................................................ 105
w29 Soils Erodibility Document .............................................................................................................. 109
w31 Landcover Document ......................................................................................................................... 111
w32 Dry Beach Erosion Rate Document .............................................................................................. 114
w33 Total Beach Width Document ......................................................................................................... 116
w37 Aquaculture Document ..................................................................................................................... 119
w38 Conservation Land Document ........................................................................................................ 121
w39 CCAP Impervious cover Document .............................................................................................. 123
w40 Buildings Vulnerability Document ............................................................................................... 125
w41 Parcels Buildout Document ............................................................................................................. 127
w42 Wildlife and Habitats Vulnerability Assessment Document .............................................. 129
w44 Priority Watersheds Document ..................................................................................................... 131
w48 MGS Coastal Bluffs Document ........................................................................................................ 133
w49 Roads Vulnerability Assessment Document ............................................................................. 135
Appendix 2 - Data Metadata .......................................................................................................................... 137
d00 Area of Interest Metadata .................................................................................................................. 137
d01 DEM Metadata ........................................................................................................................................ 138
d02 CUDEM Metadata .................................................................................................................................. 140
d03 HAT Metadata ......................................................................................................................................... 142
d04 Continuous Winds Metadata ............................................................................................................ 144
d05 Dunes Metadata ..................................................................................................................................... 145
d06 Bird Metadata ......................................................................................................................................... 147
d07 Shellfish Metadata ................................................................................................................................ 149
d08 Eelgrass Metadata ................................................................................................................................ 150
d09 Channel Metadata ................................................................................................................................. 152
d10 Saltmarsh Metadata ............................................................................................................................. 153
Climate Ready Coast - Layer and Data Information 2025-04-09
5
d11 Environmental Sensitivity Index Metadata................................................................................ 155
d12 C-CAP High-Resolution Land Cover Metadata .......................................................................... 157
d13 Structures, Hardening Type Metadata ......................................................................................... 159
d14 Beach, Width Metadata ...................................................................................................................... 160
d15 Tidal Restrictions Metadata ............................................................................................................. 161
d16 Beach Erosion Metadata .................................................................................................................... 163
d17 Dune Erosion Metadata ...................................................................................................................... 164
d18 FEMA Insurance Rate Database Metadata ................................................................................. 165
d19 Conserved Lands Metadata .............................................................................................................. 166
d20 Building Vulnerability Assessment Metadata ........................................................................... 167
d22 Parcel Zoning Metadata...................................................................................................................... 168
d23 Coastal Bluffs Metadata ...................................................................................................................... 170
d24 Beach Shoreline Types Metadata ................................................................................................... 171
d25 Aquaculture Leases and LPA Sites Metadata ............................................................................ 173
d26 Wildlife and Habitats Vulnerability Assessment Metadata ................................................. 175
d28 Beach Location Polygons Metadata ............................................................................................... 176
d29 Impaired and Threatened Watersheds Metadata ................................................................... 178
d31 Land Cover Metadata .......................................................................................................................... 180
d32 Beach Location Extra Polygons Metadata .................................................................................. 182
d33 Dry Beach Erosion Metadata ............................................................................................................ 183
d34 Erodibility Index Metadata ............................................................................................................... 184
d35 Roads Vulnerability Metadata ......................................................................................................... 186
Appendix 3 - Data Schemas ............................................................................................................................ 187
w00 Shoreline Schema ................................................................................................................................ 187
w01 Aspect Schema ...................................................................................................................................... 188
w02 Beach Erosion Rate Schema ............................................................................................................ 189
w03 Beach Width Schema .......................................................................................................................... 190
w04 Dune Height Relative to Base Flood Elevation Schema ....................................................... 191
w05 Dune Erosion Rate Schema .............................................................................................................. 192
w06 Coastal Dune and Structure Distance Schema ......................................................................... 193
w07 Annualized Fetch Schema ................................................................................................................ 194
w08 Southeast Fetch Schema ................................................................................................................... 195
w11 FEMA Zone Schema............................................................................................................................. 196
Climate Ready Coast - Layer and Data Information 2025-04-09
6
w12 Eelgrass Habitat Proximity Schema ............................................................................................. 197
w13 Shellfish Habitat Proximity Schema ............................................................................................. 198
w14 TWWH Area Proximity Schema ..................................................................................................... 199
w15 Landward Relief Height Schema ................................................................................................... 200
w17 Saltmarsh Migration Schema .......................................................................................................... 201
w18 Tidal Crossings Schema ..................................................................................................................... 202
w19 Boat Wakes Schema ............................................................................................................................ 203
w20 Landward Habitat Schema ............................................................................................................... 204
w21 Seaward Habitat Schema .................................................................................................................. 205
w22 Landward Slope Schema ................................................................................................................... 206
w23 Intertidal Slope Schema .................................................................................................................... 207
w24 Bathymetric Slope Schema .............................................................................................................. 209
w25 Coastal Structures Schema............................................................................................................... 211
w27 Northeast Fetch Schema ................................................................................................................... 212
w28 Seaward Habitat Extra Schema ...................................................................................................... 213
w29 Soils Erodibility Schema ................................................................................................................... 214
w31 Landcover Schema .............................................................................................................................. 215
w32 Dry Beach Erosion Rate Schema.................................................................................................... 216
w33 Total Beach Width Schema .............................................................................................................. 217
w37 Aquaculture Schema ........................................................................................................................... 218
w38 Conservation Land Schema ............................................................................................................. 219
w39 CCAP Impervious cover Schema .................................................................................................... 220
w40 Buildings Vulnerability Schema ..................................................................................................... 221
w41 Parcels Buildout Schema .................................................................................................................. 222
w42 Wildlife and Habitats Vulnerability Assessment Schema ................................................... 223
w44 Priority Watersheds Schema .......................................................................................................... 224
w48 MGS Coastal Bluffs Schema .............................................................................................................. 225
w49 Roads Vulnerability Assessment Schema .................................................................................. 227
Appendix 4 - Automated QA ........................................................................................................................... 228
w00 Shoreline Automated QA .................................................................................................................. 228
w01 Aspect Automated QA ........................................................................................................................ 229
w02 Beach Erosion Rate Automated QA .............................................................................................. 230
w03 Beach Width Automated QA ............................................................................................................ 231
Climate Ready Coast - Layer and Data Information 2025-04-09
7
w04 Dune Height Relative to Base Flood Elevation Automated QA ......................................... 232
w05 Dune Erosion Rate Automated QA................................................................................................ 233
w06 Coastal Dune and Structure Distance Automated QA ........................................................... 234
w07 Annualized Fetch Automated QA .................................................................................................. 235
w08 Southeast Fetch Automated QA ..................................................................................................... 236
w11 FEMA Zone Automated QA .............................................................................................................. 237
w12 Eelgrass Habitat Proximity Automated QA ............................................................................... 238
w13 Shellfish Habitat Proximity Automated QA............................................................................... 239
w14 TWWH Area Proximity Automated QA ....................................................................................... 240
w15 Landward Relief Height Automated QA ..................................................................................... 241
w17 Saltmarsh Migration Automated QA ............................................................................................ 242
w18 Tidal Crossings Automated QA ...................................................................................................... 243
w19 Boat Wakes Automated QA .............................................................................................................. 244
w20 Landward Habitat Automated QA ................................................................................................ 245
w21 Seaward Habitat Automated QA .................................................................................................... 246
w22 Landward Slope Automated QA .................................................................................................... 247
w23 Intertidal Slope Automated QA ...................................................................................................... 249
w24 Bathymetric Slope Automated QA ................................................................................................ 250
w25 Coastal Structures Automated QA ................................................................................................ 251
w27 Northeast Fetch Automated QA ..................................................................................................... 252
w28 Seaward Habitat Extra Automated QA........................................................................................ 253
w29 Soils Erodibility Automated QA ..................................................................................................... 254
w31 Landcover Automated QA ................................................................................................................ 256
w32 Dry Beach Erosion Rate Automated QA ..................................................................................... 258
w33 Total Beach Width Automated QA ................................................................................................ 260
w37 Aquaculture Automated QA ............................................................................................................ 262
w38 Conservation Land Automated QA ............................................................................................... 264
w39 CCAP Impervious cover Automated QA ..................................................................................... 266
w40 Buildings Vulnerability Automated QA ...................................................................................... 268
w41 Parcels Buildout Automated QA .................................................................................................... 270
w42 Wildlife and Habitats Vulnerability Assessment Automated QA ..................................... 272
w44 Priority Watersheds Automated QA ............................................................................................ 274
w48 MGS Coastal Bluffs Automated QA ................................................................................................ 276
Climate Ready Coast - Layer and Data Information 2025-04-09
8
w49 Roads Vulnerability Assessment Automated QA .................................................................... 278
Appendix 5 - Automated QA Results........................................................................................................... 281
Climate Ready Coast - Layer and Data Information 2025-04-09
9
Site Suitability Assessment
ID
Weight
Name
Info
w01
1
Aspect
The dominant direction that the shoreline
faces.
w07
3
Annualized Fetch
The length of water over which the
predominant wind blows without
obstruction, which is the main factor that
creates storm surge leading to coastal
erosion and flooding. Fetch length, along
with the wind speed (or strength), and
duration, determines the size of the waves
produced (i.e., sea state).
w08
3
Southeast Fetch
Southeast is a predominant fetch direction
representing exposure to damaging storms.
w11
3
FEMA Zone
The FEMA flood zones where the shoreline
point is located. FEMA Flood Zones take
into account a variety of factors including
surge, wave height, and base flood
elevation.
w15
2
Landward Relief Height
This is the height of the highest point
(relative to the shoreline elevation) 50 feet
landward of the shoreline.
w17
2
Saltmarsh Migration
Areas mapped by Maine Natural Areas
Program (MNAP) to accommodate future
tidal wetland habitat, based on sea level
rise models from the 2017 National Climate
Assessment.
w18
1
Tidal Crossings
Proximity to current tidal road crossing
points from the Maine Tidal Restriction
Atlas. The criteria is based on the proximity
of the shoreline to a nearby tidal road
crossing structure, such as a culvert or
bridge, that may increase erosion of the
nearby shoreline.
w19
1
Boat Wakes
Proximity to the nearest federal navigation
channel. These channels may serve as a
Climate Ready Coast - Layer and Data Information 2025-04-09
10
proxy for exposure to erosive waves from
boat wakes.
w20
2
Landward Habitat
The landward habitat type identified in the
NOAA Environmental Sensitivity Index
(ESI).
w21
1
Seaward Habitat
The seaward habitat type identified in the
NOAA Environmental Sensitivity Index
(ESI).
w22
4
Landward Slope
The percent slope (based on height) of the
shoreline elevation to a point 50 ft
landward of the shoreline. Based on the
Maine Geological Survey (MGS) Living
Shorelines tool, and modified to include
Northeast Regional Ocean Council (NROC)
slope classes.
w23
4
Intertidal Slope
The percent slope (based on height) of the
shoreline elevation to a point 50 ft seaward
of the shoreline. Based on the Maine
Geological Survey (MGS) Living Shorelines
tool, and modified to include Northeast
Regional Ocean Council (NROC) slope
classes.
w24
4
Bathymetric Slope
The bathymetric slope is the change in
height from the shoreline elevation to the -
10-foot elevation/bathymetric contour
(NAVD88). Based on the Maine Geological
Survey (MGS) Living Shorelines tool, and
modified to include Northeast Regional
Ocean Council (NROC) slope classes.
w25
3
Coastal Structures
Types of coastal structures identified by
Maine Geological Survey (MGS).
w27
3
Northeast Fetch
Northeast fetch is a predominant fetch
direction representing exposure to
damaging storms.
w28
1
Seaward Habitat Extra
The extra seaward habitat type identified
in the NOAA Environmental Sensitivity
Index (ESI).
Climate Ready Coast - Layer and Data Information 2025-04-09
11
w29
3
Soils Erodibility
Soils erodibility values from the USDA
SSURGO. This dataset evaluates soils
erodibility on the basis of raindrop impact
and runoff potential and is calculated using
the Universal Soil Loss Equation (USLE).
w31
3
Landcover
Land cover classes based on NOAA C-CAP
10-meter data (2016). Land cover classes
designed to compliment ESI data, and
provide coarse information about habitat at
the shoreline, rather than landward or
seaward of the shoreline.
Climate Ready Coast - Layer and Data Information 2025-04-09
12
Site Suitability Assessment Source Data
Layer
Name
URL
Highest Astronomical Tide
n/a
3D Elevation Program (3DEP)
https://www.usgs.gov/3d-elevation-program
Highest Astronomical Tide
n/a
National Buoy Data Center
https://www.ndbc.noaa.gov/
Highest Astronomical Tide
n/a
FEMA Flood Insurance Rate Map
Database
https://msc.fema.gov/portal/home
3D Elevation Program (3DEP)
https://www.usgs.gov/3d-elevation-program
MNAP 2023 Saltmarsh Migration
Data
https://www.maine.gov/dacf/mnap/assistanc
e/marsh_migration.htm
Maine Tidal Restrictions Atlas
https://maine.hub.arcgis.com/maps/maine::m
ainecp-tidal-restriction-atlas/about
U.S. Army Corps of Engineers
Geospatial, National Channel
Framework, ChannelArea
https://geospatial-
usace.opendata.arcgis.com/datasets/9227967a
2748410983352b501c0c7b39_1/about
Maine Coastal Structure and Dune
Crest Inventory and Overtopping
Potential - Dune Crest Points
https://mgs-
maine.opendata.arcgis.com/datasets/maine::m
aine-coastal-structure-and-dune-crest-
inventory-and-overtopping-potential-dune-
crest-points/about
Environmental Sensitivity Index
(ESI) Maps and Data
https://response.restoration.noaa.gov/resourc
es/environmental-sensitivity-index-esi-maps
Maine Coastal Structure and Dune
Crest Inventory and Overtopping
https://mgs-
maine.opendata.arcgis.com/datasets/maine::m
Climate Ready Coast - Layer and Data Information 2025-04-09
13
Potential - Dune Crest Points
aine-coastal-structure-and-dune-crest-
inventory-and-overtopping-potential-dune-
crest-points/about
Environmental Sensitivity Index
(ESI) Maps and Data
https://response.restoration.noaa.gov/resourc
es/environmental-sensitivity-index-esi-maps
3D Elevation Program (3DEP)
https://www.usgs.gov/3d-elevation-program
3D Elevation Program (3DEP)
https://www.usgs.gov/3d-elevation-program
Continuously Updated Digital
Elevation Model (CUDEM)
https://www.ncei.noaa.gov/access/metadata/l
anding-
page/bin/iso?id=gov.noaa.ngdc.mgg.dem:9999
19
Maine Coastal Structure and Dune
Crest Inventory and Overtopping
Potential - Structure Points
https://mgs-
maine.opendata.arcgis.com/datasets/maine::m
aine-coastal-structure-and-dune-crest-
inventory-and-overtopping-potential-
structure-points/about
Highest Astronomical Tide
n/a
Maine Coastal Structure and Dune
Crest Inventory and Overtopping
Potential - Dune Crest Points
https://mgs-
maine.opendata.arcgis.com/datasets/maine::m
aine-coastal-structure-and-dune-crest-
inventory-and-overtopping-potential-dune-
crest-points/about
Environmental Sensitivity Index
(ESI) Maps and Data
https://response.restoration.noaa.gov/resourc
es/environmental-sensitivity-index-esi-maps
Soil Survey Geographic Database
(SSURGO)
https://websoilsurvey.nrcs.usda.gov/
NOAA C-CAP Derived Land Cover
Beta
https://coast.noaa.gov/digitalcoast/data/ccap
derived.html
Climate Ready Coast - Layer and Data Information 2025-04-09
14
Beach Priority
ID
Weight
Name
Info
w02
1
Beach Erosion Rate
Rate of change calculated by MGS based on
approximate position of the mean high
water line (1.4 meter NAVD88 contour),
data from 2016 to 2024, not available for
all beaches.
w03
1
Beach Width
Calculated by MGS as the distance between
the seaward edge of dune vegetation or
seawall and the approximate position of
the MHW contour (1.4 meter NAVD88).
w04
1
Dune Height Relative to
Base Flood Elevation
Point file representing points
(approximately 5 meter spacing) along the
digitized dune crest line where elevations
were extracted from available LiDAR data
and compared with available preliminary
FEMA 100-year BFE values.
w05
1
Dune Erosion Rate
Rate of change calculated by MGS based on
the approximate location of the seaward
edge of the dominant dune vegetation type.
Data from 2005 to 2024.
Not necessarily mapped in engineered
shoreline areas unless they have dune
grass in front of the structures.
Data will include prior human dune
building or beach nourishment efforts.
Data gaps may occur where physical access
is limited by fencing or where RTK
reception is poor.
w06
1
Coastal Dune and
Structure Distance
Coastal Structures Points from MGS,
including the type of structure.
w32
1
Dry Beach Erosion Rate
Rate of change calculated by MGS based on
the distance between the seaward edge of
Climate Ready Coast - Layer and Data Information 2025-04-09
15
dune vegetation or seawall and the
approximate position of the MHW contour
(1.4 meter NAVD88).
w33
1
Total Beach Width
The distance measure from the 1.4 m
NAVD88 contour to the nearest impervious
cover (CCAP).
Climate Ready Coast - Layer and Data Information 2025-04-09
16
Beach Priority Source Data
Layer
Name
URL
Highest Astronomical Tide
n/a
Maine Beach Mapping DSAS Beach
Change
https://mgs-
maine.opendata.arcgis.com/datasets/maine-
beach-mapping-dsas-beach-change/explore
Southern Maine Beach Location
Polygons
See d14_beach_width
See d16_beach_erosion
See d17_dune_erosion
See d24_beach_shoreline_types
See d32_beach_location_extra
Maine Beach Mapping DSAS Dry
Beach Width
https://maine.hub.arcgis.com/datasets/c03b6
aa5f81b492f8deedbcd21accc10_3/about
Southern Maine Beach Location
Polygons
See d14_beach_width
See d16_beach_erosion
See d17_dune_erosion
See d24_beach_shoreline_types
See d32_beach_location_extra
Maine Coastal Structure and Dune
Crest Inventory and Overtopping
Potential - Dune Crest Points
https://mgs-
maine.opendata.arcgis.com/datasets/maine::m
aine-coastal-structure-and-dune-crest-
inventory-and-overtopping-potential-dune-
crest-points/about
Southern Maine Beach Location
Polygons
See d14_beach_width
See d16_beach_erosion
See d17_dune_erosion
See d24_beach_shoreline_types
See d32_beach_location_extra
Maine Beach Mapping DSAS Dune
Change
https://mgs-
maine.opendata.arcgis.com/datasets/maine::m
aine-beach-mapping-dsas-dune-change/about
Southern Maine Beach Location
Polygons
See d14_beach_width
See d16_beach_erosion
See d17_dune_erosion
See d24_beach_shoreline_types
Climate Ready Coast - Layer and Data Information 2025-04-09
17
See d32_beach_location_extra
Maine Coastal Structure and Dune
Crest Inventory and Overtopping
Potential - Structure Points
https://mgs-
maine.opendata.arcgis.com/datasets/maine::m
aine-coastal-structure-and-dune-crest-
inventory-and-overtopping-potential-
structure-points/about
Southern Maine Beach Location
Polygons
See d14_beach_width
See d16_beach_erosion
See d17_dune_erosion
See d24_beach_shoreline_types
See d32_beach_location_extra
Southern Maine Beach Location
Polygons
See d14_beach_width
See d16_beach_erosion
See d17_dune_erosion
See d24_beach_shoreline_types
See d32_beach_location_extra
Maine Beach Mapping DSAS Beach
Change
https://www.maine.gov/dacf/mgs/hazards/be
ach_mapping/index.shtml
Coastal Change Analysis Program
(C-CAP) High Resolution Land
Cover and Change Data
https://coast.noaa.gov/digitalcoast/data/ccap
highres.html
Maine Beach Mapping Shoreline
Types
https://mgs-
maine.opendata.arcgis.com/datasets/maine-
beach-mapping-shoreline-types/about
Southern Maine Beach Location
Polygons
See d14_beach_width
See d16_beach_erosion
See d17_dune_erosion
See d24_beach_shoreline_types
See d32_beach_location_extra
Climate Ready Coast - Layer and Data Information 2025-04-09
18
Non-Scoring Layers
ID
Weight
Name
Info
w12
0
Eelgrass Habitat
Proximity
Distance to the nearest eelgrass bed if less
than 1000 feet.
w13
0
Shellfish Habitat
Proximity
Distance to the nearest shellfish bed and
type.
w14
0
TWWH Area Proximity
Proximity to nearest Tidal Waterfowl and
Wading bird Habitat area.
w37
0
Aquaculture
Distance to nearest aquaculture lease and
type.
w38
0
Conservation Land
The name of the owner of conservation
land.
w39
0
CCAP Impervious cover
Distance to nearest developed cover class.
w40
0
Buildings Vulnerability
Climate Ready Coast vulnerability
assessment score.
w41
0
Parcels Buildout
Climate Ready Coast buildout analysis.
w42
0
Wildlife and Habitats
Vulnerability
Assessment
Climate Ready Coast wildlife score.
w44
0
Priority Watersheds
Watershed boundaries.
w48
0
MGS Coastal Bluffs
Coastal bluffs including attribute
classification of shoreline type, stability,
and hazard.
w49
0
Roads Vulnerability
Assessment
Climate Ready Coast vulnerability
assessment score.
Climate Ready Coast - Layer and Data Information 2025-04-09
19
Non-Scoring Layers Source Data
Layer
Name
URL
Highest Astronomical Tide
n/a
MaineDMR - Eelgrass (2010);
MaineDEP Seagrass 2021 (South
Coast - Elliot to Cape Elizabeth)
https://dmr-
maine.opendata.arcgis.com/maps/25d11cbf47
6944bc8dc985d2454d01d6/about;
https://hub.arcgis.com/datasets/maine::maine
dep-seagrass-2021-south-coast-elliot-to-cape-
elizabeth/about
MaineDMR Molluscan Shellfish
2010
https://dmr-
maine.opendata.arcgis.com/datasets/maine::m
ainedmr-molluscan-shellfish-2010/about
Tidal Waterfowl and Wading Bird
Habitat
https://www.arcgis.com/home/item.html?id=
376e82589e1e472b9d9993ed09d20622
Maine DMR Aquaculture Leases and
LPA Sites
https://dmr-
maine.opendata.arcgis.com/maps/a0b3c775cf
c243a2b92df328ad85c642/about;
https://dmr-
maine.opendata.arcgis.com/datasets/70f569fc
c0214ce09e30fcd7099e5c88_1/about
Maine Beach Mapping DSAS Beach
Change
https://www.maine.gov/dacf/mgs/hazards/be
ach_mapping/index.shtml
Maine Conserved Lands
https://hub.arcgis.com/datasets/maine::maine
-conserved-lands-1/about
Coastal Change Analysis Program
(C-CAP) High Resolution Land
Cover and Change Data
https://coast.noaa.gov/digitalcoast/data/ccap
highres.html
Building Footprints Vulnerability
Assessment
https://data-
smpdc.opendata.arcgis.com/datasets/ad8737c
6bf044214a80b674e001fba4d_0/about
Climate Ready Coast - Layer and Data Information 2025-04-09
20
CRC Build-out Analysis
https://smpdc.maps.arcgis.com/apps/webapp
viewer/index.html?id=cb487168a65f4c74909
76c60e8119fe5
Wildlife and Habitats Vulnerability
Assessment
https://www.arcgis.com/home/item.html?id=f
1bb258bd9dc436597fd0b84047ad8eb
NPS Priority Impaired and
Threatened Watersheds
https://www.arcgis.com/home/item.html?id=
6f99b8413fae4e9e9d5f6e9ab686c310
Maine Coastal Bluffs
https://mgs-
maine.opendata.arcgis.com/datasets/maine-
coastal-bluffs/explore
SMPDC CRC Roads Vulnerability
Assessment
https://data-
smpdc.opendata.arcgis.com/datasets/2e83b0f
9b09245a7995df297c9c6a13e_0/about
Climate Ready Coast - Layer and Data Information 2025-04-09
21
Layers Table
ID
Token
Alias
Weight
Class
w00
shoreline
Shoreline
0
all
w01
aspect
Aspect
1
ssa
w02
beach_erosion
Beach Erosion
Rate
1
bp
w03
beach_width
Beach Width
1
bp
w04
dune_crest_proximity
Dune Height
Relative to
Base Flood
Elevation
1
bp
w05
dune_erosion
Dune Erosion
Rate
1
bp
w06
dune_structure_proximity
Coastal Dune
and Structure
Distance
1
bp
w07
fetch_annualized
Annualized
Fetch
3
ssa
w08
fetch_southeast
Southeast
Fetch
3
ssa
w11
fema_zone
FEMA Zone
3
ssa
w12
habitat_eelgrass
Eelgrass
Habitat
Proximity
0
ns
w13
habitat_shellfish
Shellfish
Habitat
Proximity
0
ns
w14
habitat_bird
TWWH Area
Proximity
0
ns
w15
relief
Landward
Relief Height
2
ssa
w17
saltmarsh_migration
Saltmarsh
2
ssa
Climate Ready Coast - Layer and Data Information 2025-04-09
22
Migration
w18
tidal_crossing
Tidal Crossings
1
ssa
w19
erosion_nav_channel
Boat Wakes
1
ssa
w20
shoreline_landward
Landward
Habitat
2
ssa
w21
shoreline_seaward
Seaward
Habitat
1
ssa
w22
slope_landward
Landward
Slope
4
ssa
w23
slope_seaward_intertidal
Intertidal
Slope
4
ssa
w24
slope_seaward_bathymetric
Bathymetric
Slope
4
ssa
w25
structures_hardening
Coastal
Structures
3
ssa
w27
fetch_northeast
Northeast
Fetch
3
ssa
w28
shoreline_seaward_extra
Seaward
Habitat Extra
1
ssa
w29
erodibility
Soils
Erodibility
3
ssa
w31
landcover
Landcover
3
ssa
w32
dry_beach_erosion
Dry Beach
Erosion Rate
1
bp
w33
total_beach_width
Total Beach
Width
1
bp
w37
aquaculture
Aquaculture
0
ns
w38
conservation_land
Conservation
Land
0
ns
w39
impervious_cover
CCAP
Impervious
0
ns
Climate Ready Coast - Layer and Data Information 2025-04-09
23
cover
w40
buildings_vulnerability
Buildings
Vulnerability
0
ns
w41
parcels_buildout
Parcels
Buildout
0
ns
w42
wildlife
Wildlife and
Habitats
Vulnerability
Assessment
0
ns
w44
priority_watersheds
Priority
Watersheds
0
ns
w48
coastal_bluffs
MGS Coastal
Bluffs
0
ns
w49
roads_vulnerability
Roads
Vulnerability
Assessment
0
ns
Climate Ready Coast - Layer and Data Information 2025-04-09
24
Table Descriptions
Details Table
Details Table
id
Unique Point Location ID
elv_dem_NAVD88
Sample Location Elevation From DEM (NAVD88, Meters)
elv_dem_NAVD88_ft
Sample Location Elevation From DEM (NAVD88, Feet)
elv_hat_NAVD88
Sample Location Elevation From HAT Model (NAVD88, Meters)
elv_hat_NAVD88_ft
Sample Location Elevation From HAT Model (NAVD88, Feet)
geom
Projected Location (Point, Projected, EPSG:26919, UTM Zone 19N, NAD83)
geom_geo
Geographic Location (Point, Geographic, EPSG:4269, NAD83)
w00_wgt_score_ssa_ws
Site Suitability Assessment Weighted Score (With Structures)
w00_wgt_ssa_ws
Site Suitability Assessment Weight (With Structures)
w00_nrm_score_ssa_ws
Site Suitability Assessment Normalized Score (With Structures)
w00_wgt_score_ssa_ns
Site Suitability Assessment Weighted Score (Without Structures)
w00_wgt_ssa_ns
Site Suitability Assessment Weight (Without Structures)
w00_nrm_score_ssa_ns
Site Suitability Assessment Normalized Score (Without Structures)
w00_wgt_score_ssa_env_ws
Site Suitability Assessment Environmental Weighted Score (With Structures)
w00_wgt_ssa_env_ws
Site Suitability Assessment Environmental Weight (With Structures)
w00_nrm_score_ssa_env_ws
Site Suitability Assessment Environmental Normalized Score (With Structures)
w00_wgt_score_ssa_env_ns
Site Suitability Assessment Environmental Weighted Score (Without Structures)
w00_wgt_ssa_env_ns
Site Suitability Assessment Environmental Weight (Without Structures)
w00_nrm_score_ssa_env_ns
Site Suitability Assessment Environmental Normalized Score (Without Structures)
Climate Ready Coast - Layer and Data Information 2025-04-09
25
w00_wgt_score_ssa_wav
Site Suitability Assessment Wave Exposure Weighted Score
w00_wgt_ssa_wav
Site Suitability Assessment Wave Exposure Weight
w00_nrm_score_ssa_wav
Site Suitability Assessment Wave Exposure Normalized Score
w00_wgt_score_ssa_tpo
Site Suitability Assessment Topography/Bathymetry Weighted Score
w00_wgt_ssa_tpo
Site Suitability Assessment Topography/Bathymetry Weight
w00_nrm_score_ssa_tpo
Site Suitability Assessment Topography/Bathymetry Normalized Score
w00_wgt_score_ssa_ero
Site Suitability Assessment Erosion Weighted Score
w00_wgt_ssa_ero
Site Suitability Assessment Erosion Weight
w00_nrm_score_ssa_ero
Site Suitability Assessment Erosion Normalized Score
w00_cls_ssa_env_ws
Site Suitability Assessment Class Environmental Summary (With Structures)
w00_cls_ssa_env_ns
Site Suitability Assessment Class Environmental Summary (Without Structures)
w00_cls_ssa_wav
Site Suitability Assessment Class Wave Exposure Summary
w00_cls_ssa_tpo
Site Suitability Assessment Class Topography/Bathymetry Summary
w00_cls_ssa_ero
Site Suitability Assessment Class Erosion Summary
w00_wgt_score_bp
Beach Priority Weighted Score
w00_wgt_bp
Beach Priority Weight
w00_nrm_score_bp
Beach Priority Normalized Score
w01_aspect_class
Aspect Class
w01_aspect_score
Aspect Numeric Score
w01_aspect_wgt_score
Aspect Weighted Numeric Score
w01_aspect_value
Aspect Layer Value
w02_beach_erosion_class
Beach Erosion Rate Class
Climate Ready Coast - Layer and Data Information 2025-04-09
26
w02_beach_erosion_score
Beach Erosion Rate Numeric Score
w02_beach_erosion_wgt_score
Beach Erosion Rate Weighted Numeric Score
w02_beach_erosion_value
Beach Erosion Rate Layer Value
w03_beach_width_class
Beach Width Class
w03_beach_width_score
Beach Width Numeric Score
w03_beach_width_wgt_score
Beach Width Weighted Numeric Score
w03_beach_width_value
Beach Width Layer Value
w04_dune_crest_proximity_class
Dune Height Relative To Base Flood Elevation Class
w04_dune_crest_proximity_score
Dune Height Relative To Base Flood Elevation Numeric Score
w04_dune_crest_proximity_wgt_score
Dune Height Relative To Base Flood Elevation Weighted Numeric Score
w04_dune_crest_proximity_value
Dune Height Relative To Base Flood Elevation Layer Value
w05_dune_erosion_class
Dune Erosion Rate Class
w05_dune_erosion_score
Dune Erosion Rate Numeric Score
w05_dune_erosion_wgt_score
Dune Erosion Rate Weighted Numeric Score
w05_dune_erosion_value
Dune Erosion Rate Layer Value
w06_dune_structure_proximity_class
Coastal Dune And Structure Distance Class
w06_dune_structure_proximity_score
Coastal Dune And Structure Distance Numeric Score
w06_dune_structure_proximity_wgt_score
Coastal Dune And Structure Distance Weighted Numeric Score
w06_dune_structure_proximity_value
Coastal Dune And Structure Distance Layer Value
w07_fetch_annualized_class
Annualized Fetch Class
w07_fetch_annualized_score
Annualized Fetch Numeric Score
w07_fetch_annualized_wgt_score
Annualized Fetch Weighted Numeric Score
w07_fetch_annualized_value
Climate Ready Coast - Layer and Data Information 2025-04-09
27
Annualized Fetch Layer Value
w08_fetch_southeast_class
Southeast Fetch Class
w08_fetch_southeast_score
Southeast Fetch Numeric Score
w08_fetch_southeast_wgt_score
Southeast Fetch Weighted Numeric Score
w08_fetch_southeast_value
Southeast Fetch Layer Value
w11_fema_zone_class
FEMA Zone Class
w11_fema_zone_score
FEMA Zone Numeric Score
w11_fema_zone_wgt_score
FEMA Zone Weighted Numeric Score
w11_fema_zone_value
FEMA Zone Layer Value
w12_habitat_eelgrass_class
Eelgrass Habitat Proximity Class
w12_habitat_eelgrass_score
Eelgrass Habitat Proximity Numeric Score
w12_habitat_eelgrass_wgt_score
Eelgrass Habitat Proximity Weighted Numeric Score
w12_habitat_eelgrass_value
Eelgrass Habitat Proximity Layer Value
w13_habitat_shellfish_class
Shellfish Habitat Proximity Class
w13_habitat_shellfish_score
Shellfish Habitat Proximity Numeric Score
w13_habitat_shellfish_wgt_score
Shellfish Habitat Proximity Weighted Numeric Score
w13_habitat_shellfish_value
Shellfish Habitat Proximity Layer Value
w14_habitat_bird_class
TWWH Area Proximity Class
w14_habitat_bird_score
TWWH Area Proximity Numeric Score
w14_habitat_bird_wgt_score
TWWH Area Proximity Weighted Numeric Score
w14_habitat_bird_value
TWWH Area Proximity Layer Value
w15_relief_class
Landward Relief Height Class
w15_relief_score
Climate Ready Coast - Layer and Data Information 2025-04-09
28
Landward Relief Height Numeric Score
w15_relief_wgt_score
Landward Relief Height Weighted Numeric Score
w15_relief_value
Landward Relief Height Layer Value
w17_saltmarsh_migration_class
Saltmarsh Migration Class
w17_saltmarsh_migration_score
Saltmarsh Migration Numeric Score
w17_saltmarsh_migration_wgt_score
Saltmarsh Migration Weighted Numeric Score
w17_saltmarsh_migration_value
Saltmarsh Migration Layer Value
w18_tidal_crossing_class
Tidal Crossings Class
w18_tidal_crossing_score
Tidal Crossings Numeric Score
w18_tidal_crossing_wgt_score
Tidal Crossings Weighted Numeric Score
w18_tidal_crossing_value
Tidal Crossings Layer Value
w19_erosion_nav_channel_class
Boat Wakes Class
w19_erosion_nav_channel_score
Boat Wakes Numeric Score
w19_erosion_nav_channel_wgt_score
Boat Wakes Weighted Numeric Score
w19_erosion_nav_channel_value
Boat Wakes Layer Value
w20_shoreline_landward_class
Landward Habitat Class
w20_shoreline_landward_score
Landward Habitat Numeric Score
w20_shoreline_landward_wgt_score
Landward Habitat Weighted Numeric Score
w20_shoreline_landward_value
Landward Habitat Layer Value
w21_shoreline_seaward_class
Seaward Habitat Class
w21_shoreline_seaward_score
Seaward Habitat Numeric Score
w21_shoreline_seaward_wgt_score
Seaward Habitat Weighted Numeric Score
w21_shoreline_seaward_value
Seaward Habitat Layer Value
Climate Ready Coast - Layer and Data Information 2025-04-09
29
w22_slope_landward_class
Landward Slope Class
w22_slope_landward_score
Landward Slope Numeric Score
w22_slope_landward_wgt_score
Landward Slope Weighted Numeric Score
w22_slope_landward_value
Landward Slope Layer Value
w23_slope_seaward_intertidal_class
Intertidal Slope Class
w23_slope_seaward_intertidal_score
Intertidal Slope Numeric Score
w23_slope_seaward_intertidal_wgt_score
Intertidal Slope Weighted Numeric Score
w23_slope_seaward_intertidal_value
Intertidal Slope Layer Value
w24_slope_seaward_bathymetric_class
Bathymetric Slope Class
w24_slope_seaward_bathymetric_score
Bathymetric Slope Numeric Score
w24_slope_seaward_bathymetric_wgt_score
Bathymetric Slope Weighted Numeric Score
w24_slope_seaward_bathymetric_value
Bathymetric Slope Layer Value
w25_structures_hardening_class
Coastal Structures Class
w25_structures_hardening_score
Coastal Structures Numeric Score
w25_structures_hardening_wgt_score
Coastal Structures Weighted Numeric Score
w25_structures_hardening_value
Coastal Structures Layer Value
w27_fetch_northeast_class
Northeast Fetch Class
w27_fetch_northeast_score
Northeast Fetch Numeric Score
w27_fetch_northeast_wgt_score
Northeast Fetch Weighted Numeric Score
w27_fetch_northeast_value
Northeast Fetch Layer Value
w28_shoreline_seaward_extra_class
Seaward Habitat Extra Class
w28_shoreline_seaward_extra_score
Seaward Habitat Extra Numeric Score
Climate Ready Coast - Layer and Data Information 2025-04-09
30
w28_shoreline_seaward_extra_wgt_score
Seaward Habitat Extra Weighted Numeric Score
w28_shoreline_seaward_extra_value
Seaward Habitat Extra Layer Value
w29_erodibility_class
Soils Erodibility Class
w29_erodibility_score
Soils Erodibility Numeric Score
w29_erodibility_wgt_score
Soils Erodibility Weighted Numeric Score
w29_erodibility_value
Soils Erodibility Layer Value
w31_landcover_class
Landcover Class
w31_landcover_score
Landcover Numeric Score
w31_landcover_wgt_score
Landcover Weighted Numeric Score
w31_landcover_value
Landcover Layer Value
w32_dry_beach_erosion_class
Dry Beach Erosion Rate Class
w32_dry_beach_erosion_score
Dry Beach Erosion Rate Numeric Score
w32_dry_beach_erosion_wgt_score
Dry Beach Erosion Rate Weighted Numeric Score
w32_dry_beach_erosion_value
Dry Beach Erosion Rate Layer Value
w33_total_beach_width_class
Total Beach Width Class
w33_total_beach_width_score
Total Beach Width Numeric Score
w33_total_beach_width_wgt_score
Total Beach Width Weighted Numeric Score
w33_total_beach_width_value
Total Beach Width Layer Value
w37_aquaculture_class
Aquaculture Class
w37_aquaculture_score
Aquaculture Numeric Score
w37_aquaculture_wgt_score
Aquaculture Weighted Numeric Score
w37_aquaculture_value
Aquaculture Layer Value
Climate Ready Coast - Layer and Data Information 2025-04-09
31
w38_conservation_land_class
Conservation Land Class
w38_conservation_land_score
Conservation Land Numeric Score
w38_conservation_land_wgt_score
Conservation Land Weighted Numeric Score
w38_conservation_land_value
Conservation Land Layer Value
w39_impervious_cover_class
CCAP Impervious Cover Class
w39_impervious_cover_score
CCAP Impervious Cover Numeric Score
w39_impervious_cover_wgt_score
CCAP Impervious Cover Weighted Numeric Score
w39_impervious_cover_value
CCAP Impervious Cover Layer Value
w40_buildings_vulnerability_class
Buildings Vulnerability Class
w40_buildings_vulnerability_score
Buildings Vulnerability Numeric Score
w40_buildings_vulnerability_wgt_score
Buildings Vulnerability Weighted Numeric Score
w40_buildings_vulnerability_value
Buildings Vulnerability Layer Value
w41_parcels_buildout_class
Parcels Buildout Class
w41_parcels_buildout_score
Parcels Buildout Numeric Score
w41_parcels_buildout_wgt_score
Parcels Buildout Weighted Numeric Score
w41_parcels_buildout_value
Parcels Buildout Layer Value
w42_wildlife_class
Wildlife And Habitats Vulnerability Assessment Class
w42_wildlife_score
Wildlife And Habitats Vulnerability Assessment Numeric Score
w42_wildlife_wgt_score
Wildlife And Habitats Vulnerability Assessment Weighted Numeric Score
w42_wildlife_value
Wildlife And Habitats Vulnerability Assessment Layer Value
w44_priority_watersheds_class
Priority Watersheds Class
w44_priority_watersheds_score
Priority Watersheds Numeric Score
w44_priority_watersheds_wgt_score
Climate Ready Coast - Layer and Data Information 2025-04-09
32
Priority Watersheds Weighted Numeric Score
w44_priority_watersheds_value
Priority Watersheds Layer Value
w48_coastal_bluffs_class
MGS Coastal Bluffs Class
w48_coastal_bluffs_score
MGS Coastal Bluffs Numeric Score
w48_coastal_bluffs_wgt_score
MGS Coastal Bluffs Weighted Numeric Score
w48_coastal_bluffs_value
MGS Coastal Bluffs Layer Value
w49_roads_vulnerability_class
Roads Vulnerability Assessment Class
w49_roads_vulnerability_score
Roads Vulnerability Assessment Numeric Score
w49_roads_vulnerability_wgt_score
Roads Vulnerability Assessment Weighted Numeric Score
w49_roads_vulnerability_value
Roads Vulnerability Assessment Layer Value');
Climate Ready Coast - Layer and Data Information 2025-04-09
33
Layers Table
Layer Table
id
Unique layer number / id.
token
Unique token name used primarily for file naming
alias
Full layer name
weight
Numeric layer weight multiplied (if applicable).
class
ssa - Site Suitability Assessment
bp - Beach Priority Assessment
ns - Socio-political Site Feasibility Assessment
subclass
environmental - Environmental layer
energy - Wave Exposure layer
topo - Topography/Bathymetry layer
erosion - Erosion layer
info
Full text description of the layer
value_type
Describes the value type, either a single type or a json dictionary of types.
value_units
Describes the value units, either a single units type or a json dictionary of units.
value_alias
Describes the alias for each value, either a single alias or a json dictionary of aliases.
The value_type, value_units, and value_alias are used to describe the extra 'value' fields for
each layer. Most layers have just one value field but some have multiple values.
Examples:
Aspect - the single value field is the aspect direction.
value_type = "double precision"
value_units = "degrees"
value_alias = "Aspect"
Climate Ready Coast - Layer and Data Information 2025-04-09
34
w01_aspect_value
340.17276176576458
Display Example
Aspect: 340 degrees
Dune Structure Proximity - the two value fields are dune and structure distances.
value_type = "json"
value_units
{
"dune_distance": "meters",
"structure_distance": "meters"
}
value_alias
{
"dune_distance": "Dune Distance",
"structure_distance": "Structure Distance"
}
w06_dune_structure_proximity_value
{
"dune_distance": 979.2861483066507,
"structure_distance": 85.17276176576458
}
Display Example
Dune Distance: 979.3 meters
Structure Distance: 85.2 meters
Climate Ready Coast - Layer and Data Information 2025-04-09
35
Decode Table
Decode table
id
Unique field number / id.
field
Details table field name.
layer_id
Layer ID, see Layers table.
class
Layer Class text, see Layers table.
subclass
Layer subclass, see Layers table.
value
Name of what is stored in the field.
description
Text description of the field contents.
Climate Ready Coast - Layer and Data Information 2025-04-09
36
Decoding Details
Shoreline sample details are stored in the w00_export_details_ssa_us,
w00_export_details_bp_us, and w00_export_details_ns_us tables. The table field names,
purposes, and hierarchical structure can be decoded using the following supplied tables:
w00_export_detals_decoding
w00_export_layers_us
The first step for decoding is to look up the field name in the w00_export_detals_decoding
table. This will provide both name aliases and hierarchical group information. The field
name is located in the 'field' field. See Decode Table Section for details on the
w00_export_detals_decoding table fields.
Once the decode record has been retrieved, the decode fields will provide:
Layer id
Field class name
Field subclass name
Field value description
Full field description
Example 1:
w00_nrm_score_ssa_env_ws
Layer id: 0
Class name: Site Suitability Assessment
Subclass name: Environmental
Field value: Normalized Score (with structures)
Full description: Site Suitability Assessment Environmental Normalized Score (With
Structures)
Example 2:
w03_beach_width_wgt_score
Layer id: 3
Class name: Layer
Subclass name: Data
Field value: Weighted Score
Full description: Beach Width Weighted Numeric Score
If the decoded class is Layer Data, the layer_id field can be used to look up the layer
information in the w00_export_layers_us table. See Layers Table Section for what layer
information is available and how to use this information for name aliases and data
decoding.
Once the layer record has been retrieved, the layer fields will provide:
Full layer name
Climate Ready Coast - Layer and Data Information 2025-04-09
37
Numeric layer weight multiplied (if applicable).
Layer class name (ssa, bp, ns)
Layer subclass name (environmental, energy, topo, erosion)
Full text description of the layer
Describes the value type, either a single type or a json dictionary of types.
Describes the value units, either a single units type or a json dictionary of units.
Describes the alias for each value, either a single alias or a json dictionary of aliases.
Example (from Example 1 show above, id = 3)
alias: Beach Width
weight: 1,
class: bp
subclass: None
info: 'Calculated by MGS as the distance between the seaward edge of dune vegetation
or seawall and the approximate position of the MHW contour (1.4 meter NAVD88).'
value_type: 'double precision'
value_field: 'w03_beach_width.width'
value_units: 'meters'
value_alias: 'Beach Width'
======================================================================
This section provides a reverse look at the data hierarchy/tree starting with the top level
sections and showing the field names at the bottom/leaves.
Class Sections
DEM Elevation Meters
elv_dem_NAVD88
DEM Elevation Feet
elv_dem_NAVD88_ft
HAT Elevation Meters
elv_hat_NAVD88
HAT Elevation Feet
elv_hat_NAVD88_ft
Coordinates
geom
Coordinates
geom_geo
Site Suitability Assessment
Summary
Weighted Score (with structures)
w00_wgt_score_ssa_ws
Weight (with structures)
w00_wgt_ssa_ws
Normalized Score (with structures)
w00_nrm_score_ssa_ws
Climate Ready Coast - Layer and Data Information 2025-04-09
38
Weighted Score (without structures)
w00_wgt_score_ssa_ns
Weight (without structures)
w00_wgt_ssa_ns
Normalized Score (without structures)
w00_nrm_score_ssa_ns
Environmental
Weighted Score (with structures)
w00_wgt_score_ssa_env_ws
Weight (with structures)
w00_wgt_ssa_env_ws
Normalized Score (with structures)
w00_nrm_score_ssa_env_ws
Weighted Score (without structures)
w00_wgt_score_ssa_env_ns
Weight (without structures)
w00_wgt_ssa_env_ns
Normalized Score (without structures)
w00_nrm_score_ssa_env_ns
Summary (with structures)
w00_cls_ssa_env_ws
Summary (without structures)
w00_cls_ssa_env_ns
Wave Exposure
Weighted Score
w00_wgt_score_ssa_wav
Weight
w00_wgt_ssa_wav
Normalized Score
w00_nrm_score_ssa_wav
Summary
w00_cls_ssa_wav
Topography/Bathymetry
Weighted Score
w00_wgt_score_ssa_tpo
Weight
w00_wgt_ssa_tpo
Normalized Score
w00_nrm_score_ssa_tpo
Summary
w00_cls_ssa_tpo
Erosion
Weighted Score
w00_wgt_score_ssa_ero
Weight
w00_wgt_ssa_ero
Climate Ready Coast - Layer and Data Information 2025-04-09
39
Normalized Score
w00_nrm_score_ssa_ero
Summary
w00_cls_ssa_ero
Beach Priority
Summary
Weighted Score
w00_wgt_score_bp
Weight
w00_wgt_bp
Normalized Score
w00_nrm_score_bp
Layer Data
Layer 1
Class
w01_aspect_class
Score
w01_aspect_score
Weighted Score
w01_aspect_wgt_score
Value
w01_aspect_value
Layer 2
Class
w02_beach_erosion_class
Score
w02_beach_erosion_score
Weighted Score
w02_beach_erosion_wgt_score
Value
w02_beach_erosion_value
Layer 3
Class
w03_beach_width_class
Score
w03_beach_width_score
Weighted Score
w03_beach_width_wgt_score
Value
w03_beach_width_value
...
Layer 44
Class
Climate Ready Coast - Layer and Data Information 2025-04-09
40
w44_priority_watersheds_class
Score
w44_priority_watersheds_score
Weighted Score
w44_priority_watersheds_wgt_score
Value
w44_priority_watersheds_value
Layer 48
Class
w48_coastal_bluffs_class
Score
w48_coastal_bluffs_score
Weighted Score
w48_coastal_bluffs_wgt_score
Value
w48_coastal_bluffs_value
Layer 49
Class
w49_roads_vulnerability_class
Score
w49_roads_vulnerability_score
Weighted Score
w49_roads_vulnerability_wgt_score
Value
w49_roads_vulnerability_value
Example:
The field "w00_nrm_score_ssa_env_ws" hierarchy is listed as follows:
Site Suitability Assessment
Environmental
Normalized Score (with structures)
w00_nrm_score_ssa_env_ws
Climate Ready Coast - Layer and Data Information 2025-04-09
41
Data Table
Field
Value
Id
d00
Token
aoi
Name
Area of Interest
Source Name
Wells AOI polygon
Source URL
n/a
Data URL
n/a
Field
Value
Id
d01
Token
dem
Name
DEM
Source Name
3D Elevation Program (3DEP)
Source URL
https://www.usgs.gov/3d-elevation-program
Data URL
https://prd-
tnm.s3.amazonaws.com/index.html?prefix=StagedProducts/Elevation/1
m/Projects
Field
Value
Id
d02
Token
cudem
Name
CUDEM
Source Name
Continuously Updated Digital Elevation Model (CUDEM)
Source URL
https://www.ncei.noaa.gov/access/metadata/landing-
page/bin/iso?id=gov.noaa.ngdc.mgg.dem:999919
Data URL
https://noaa-nos-coastal-lidar-pds.s3.us-east-
1.amazonaws.com/dem/NCEI_ninth_Topobathy_2014_8483/MA_NH_ME/
Field
Value
Id
d03
Token
hat
Name
HAT
Source Name
Highest Astronomical Tide
Source URL
n/a
Data URL
n/a
Field
Value
Id
d04
Token
buoy
Name
Continuous Winds
Source Name
National Buoy Data Center
Source URL
https://www.ndbc.noaa.gov/
Data URL
https://www.ndbc.noaa.gov/to_station.shtml
Climate Ready Coast - Layer and Data Information 2025-04-09
42
Field
Value
Id
d05
Token
dunes
Name
Dunes
Source Name
Maine Coastal Structure and Dune Crest Inventory and Overtopping
Potential - Dune Crest Points
Source URL
https://mgs-maine.opendata.arcgis.com/datasets/maine::maine-coastal-
structure-and-dune-crest-inventory-and-overtopping-potential-dune-
crest-points/about
Data URL
https://services1.arcgis.com/RbMX0mRVOFNTdLzd/ArcGIS/rest/service
s/MGS_Structure_and_Dune_Crest/FeatureServer/3
Field
Value
Id
d06
Token
bird
Name
Bird
Source Name
Tidal Waterfowl and Wading Bird Habitat
Source URL
https://www.arcgis.com/home/item.html?id=376e82589e1e472b9d999
3ed09d20622
Data URL
https://services1.arcgis.com/RbMX0mRVOFNTdLzd/arcgis/rest/services
/MaineDIFW_TWWH/FeatureServer
Field
Value
Id
d07
Token
shellfish
Name
Shellfish
Source Name
MaineDMR Molluscan Shellfish 2010
Source URL
https://dmr-maine.opendata.arcgis.com/datasets/maine::mainedmr-
molluscan-shellfish-2010/about
Data URL
https://services1.arcgis.com/RbMX0mRVOFNTdLzd/arcgis/rest/services
/MolluscanShellfish/FeatureServer
Field
Value
Id
d08
Token
eelgrass
Name
Eelgrass
Source Name
MaineDMR - Eelgrass (2010); MaineDEP Seagrass 2021 (South Coast -
Elliot to Cape Elizabeth)
Source URL
https://dmr-
maine.opendata.arcgis.com/maps/25d11cbf476944bc8dc985d2454d01d
6/about; https://hub.arcgis.com/datasets/maine::mainedep-seagrass-
2021-south-coast-elliot-to-cape-elizabeth/about
Data URL
https://services1.arcgis.com/RbMX0mRVOFNTdLzd/arcgis/rest/services
/MaineDMR_Eelgrass/FeatureServer;
https://gis.maine.gov/arcgis/rest/services/dep/Eelgrass/MapServer/2
Climate Ready Coast - Layer and Data Information 2025-04-09
43
Field
Value
Id
d09
Token
channel
Name
Channel
Source Name
U.S. Army Corps of Engineers Geospatial, National Channel Framework,
ChannelArea
Source URL
https://geospatial-
usace.opendata.arcgis.com/datasets/9227967a2748410983352b501c0c7
b39_1/about
Data URL
https://services7.arcgis.com/n1YM8pTrFmm7L4hs/arcgis/rest/services
/National_Channel_Framework/FeatureServer
Field
Value
Id
d10
Token
saltmarsh
Name
Saltmarsh
Source Name
MNAP 2023 Saltmarsh Migration Data
Source URL
https://www.maine.gov/dacf/mnap/assistance/marsh_migration.htm
Data URL
https://services1.arcgis.com/RbMX0mRVOFNTdLzd/arcgis/rest/services
/Marsh_Migration/FeatureServer/0;
https://services1.arcgis.com/RbMX0mRVOFNTdLzd/arcgis/rest/services
/Marsh_Migration/FeatureServer/3
Field
Value
Id
d11
Token
esi
Name
Environmental Sensitivity Index
Source Name
Environmental Sensitivity Index (ESI) Maps and Data
Source URL
https://response.restoration.noaa.gov/resources/environmental-
sensitivity-index-esi-maps
Data URL
https://response.restoration.noaa.gov/sites/default/files/esimaps/gisdat
a/ME_NH_2016_GDB.zip
Field
Value
Id
d12
Token
impervious
Name
C-CAP High-Resolution Land Cover
Source Name
Coastal Change Analysis Program (C-CAP) High Resolution Land Cover
and Change Data
Source URL
https://coast.noaa.gov/digitalcoast/data/ccaphighres.html
Data URL
https://coastalimagery.blob.core.windows.net/ccap-
landcover/CCAP_bulk_download/High_Resolution_Land_Cover/Phase_1_I
nitial_Layers/Impervious/me_2021_ccap_v2_hires_impervious_20231019.
zip
Climate Ready Coast - Layer and Data Information 2025-04-09
44
Field
Value
Id
d13
Token
hardening
Name
Structures, Hardening Type
Source Name
Maine Coastal Structure and Dune Crest Inventory and Overtopping
Potential - Structure Points
Source URL
https://mgs-maine.opendata.arcgis.com/datasets/maine::maine-coastal-
structure-and-dune-crest-inventory-and-overtopping-potential-structure-
points/about
Data URL
https://services1.arcgis.com/RbMX0mRVOFNTdLzd/ArcGIS/rest/service
s/MGS_Structure_and_Dune_Crest/FeatureServer/2
Field
Value
Id
d14
Token
beach_width
Name
Beach, Width
Source Name
Maine Beach Mapping DSAS Dry Beach Width
Source URL
https://maine.hub.arcgis.com/datasets/c03b6aa5f81b492f8deedbcd21ac
cc10_3/about
Data URL
https://services1.arcgis.com/RbMX0mRVOFNTdLzd/ArcGIS/rest/service
s/MGS_Beach_Mapping/FeatureServer/3
Field
Value
Id
d15
Token
restrictions
Name
Tidal Restrictions
Source Name
Maine Tidal Restrictions Atlas
Source URL
https://maine.hub.arcgis.com/maps/maine::mainecp-tidal-restriction-
atlas/about
Data URL
https://services1.arcgis.com/RbMX0mRVOFNTdLzd/ArcGIS/rest/service
s/MaineCP_Tidal_Restriction_Atlas/FeatureServer/0;
https://services1.arcgis.com/RbMX0mRVOFNTdLzd/ArcGIS/rest/service
s/MaineCP_Tidal_Restriction_Atlas/FeatureServer/2;
https://services1.arcgis.com/RbMX0mRVOFNTdLzd/ArcGIS/rest/service
s/MaineCP_Tidal_Restriction_Atlas/FeatureServer/3;
https://services1.arcgis.com/RbMX0mRVOFNTdLzd/ArcGIS/rest/service
s/MaineCP_Tidal_Restriction_Atlas/FeatureServer/5
Field
Value
Id
d16
Token
beach_erosion
Name
Beach Erosion
Source Name
Maine Beach Mapping DSAS Beach Change
Source URL
https://mgs-maine.opendata.arcgis.com/datasets/maine-beach-mapping-
dsas-beach-change/explore
Data URL
https://services1.arcgis.com/RbMX0mRVOFNTdLzd/ArcGIS/rest/service
s/MGS_Beach_Mapping/FeatureServer/2
Climate Ready Coast - Layer and Data Information 2025-04-09
45
Field
Value
Id
d17
Token
dune_erosion
Name
Dune Erosion
Source Name
Maine Beach Mapping DSAS Dune Change
Source URL
https://mgs-maine.opendata.arcgis.com/datasets/maine::maine-beach-
mapping-dsas-dune-change/about
Data URL
https://services1.arcgis.com/RbMX0mRVOFNTdLzd/ArcGIS/rest/service
s/MGS_Beach_Mapping/FeatureServer/1
Field
Value
Id
d18
Token
fema
Name
FEMA Insurance Rate Database
Source Name
FEMA Flood Insurance Rate Map Database
Source URL
https://msc.fema.gov/portal/home
Data URL
https://msc.fema.gov/portal/downloadProduct?productTypeID=FINAL_P
RODUCT&productSubTypeID=FIRM_DB&productID=23031C_2024-07-17;
https://msc.fema.gov/portal/downloadProduct?productTypeID=FINAL_P
RODUCT&productSubTypeID=FIRM_DB&productID=23005C_2024-06-20
Field
Value
Id
d19
Token
conserved
Name
Conserved Lands
Source Name
Maine Conserved Lands
Source URL
https://hub.arcgis.com/datasets/maine::maine-conserved-lands-1/about
Data URL
https://services1.arcgis.com/RbMX0mRVOFNTdLzd/arcgis/rest/services
/Maine_Conserved_Lands_All/FeatureServer
Field
Value
Id
d20
Token
building_fva
Name
Building Vulnerability Assessment
Source Name
Building Footprints Vulnerability Assessment
Source URL
https://data-
smpdc.opendata.arcgis.com/datasets/ad8737c6bf044214a80b674e001fb
a4d_0/about
Data URL
https://services.arcgis.com/EDmXP1QjmSmZlvBw/arcgis/rest/services/
Building_Footprints_Vulnerability_Assessment/FeatureServer/0
Field
Value
Id
d22
Token
parcels_zoning
Climate Ready Coast - Layer and Data Information 2025-04-09
46
Name
Parcel Zoning
Source Name
CRC Build-out Analysis
Source URL
https://smpdc.maps.arcgis.com/apps/webappviewer/index.html?id=cb4
87168a65f4c7490976c60e8119fe5
Data URL
https://services.arcgis.com/EDmXP1QjmSmZlvBw/ArcGIS/rest/services/
Biddeford_Parcels_Zoning/FeatureServer
https://services.arcgis.com/EDmXP1QjmSmZlvBw/ArcGIS/rest/services/
Kennebunk_Parcels_Zoning/FeatureServer
https://services.arcgis.com/EDmXP1QjmSmZlvBw/ArcGIS/rest/services/
Kennebunkport_Parcels_Zoning/FeatureServer
https://services.arcgis.com/EDmXP1QjmSmZlvBw/ArcGIS/rest/services/
Kittery_Parcels_Zoning/FeatureServer
https://services.arcgis.com/EDmXP1QjmSmZlvBw/ArcGIS/rest/services/
Ogunquit_Parcels_Zoning/FeatureServer
https://services.arcgis.com/EDmXP1QjmSmZlvBw/ArcGIS/rest/services/
OldOrchardBeach_Parcels_Zoning/FeatureServer
https://services.arcgis.com/EDmXP1QjmSmZlvBw/ArcGIS/rest/services/
Saco_Parcels_Zoning/FeatureServer
https://services.arcgis.com/EDmXP1QjmSmZlvBw/ArcGIS/rest/services/
Scarborough_Parcels_Zoning/FeatureServer
https://services.arcgis.com/EDmXP1QjmSmZlvBw/ArcGIS/rest/services/
Wells_Parcels_Zoning/FeatureServer
https://services.arcgis.com/EDmXP1QjmSmZlvBw/ArcGIS/rest/services/
York_Parcels_Zoning/FeatureServe
Field
Value
Id
d23
Token
coastal_bluffs
Name
Coastal Bluffs
Source Name
Maine Coastal Bluffs
Source URL
https://mgs-maine.opendata.arcgis.com/datasets/maine-coastal-
bluffs/explore
Data URL
https://services1.arcgis.com/RbMX0mRVOFNTdLzd/ArcGIS/rest/service
s/MGS_Coastal_Bluffs_Landslides/FeatureServer/0
Field
Value
Id
d24
Token
beach_shoreline_types
Name
Beach Shoreline Types
Source Name
Maine Beach Mapping Shoreline Types
Source URL
https://mgs-maine.opendata.arcgis.com/datasets/maine-beach-mapping-
shoreline-types/about
Data URL
https://services1.arcgis.com/RbMX0mRVOFNTdLzd/ArcGIS/rest/service
s/MGS_Beach_Mapping/FeatureServer/0
Field
Value
Id
d25
Climate Ready Coast - Layer and Data Information 2025-04-09
47
Token
aquaculture
Name
Aquaculture Leases and LPA Sites
Source Name
Maine DMR Aquaculture Leases and LPA Sites
Source URL
https://dmr-
maine.opendata.arcgis.com/maps/a0b3c775cfc243a2b92df328ad85c642
/about; https://dmr-
maine.opendata.arcgis.com/datasets/70f569fcc0214ce09e30fcd7099e5c
88_1/about
Data URL
https://gis.maine.gov/arcgis/rest/services/dmr/DMR_Aquaculture/Map
Server/1;
https://gis.maine.gov/arcgis/rest/services/dmr/DMR_Aquaculture/Map
Server/2
Field
Value
Id
d26
Token
wildlife
Name
Wildlife and Habitats Vulnerability Assessment
Source Name
Wildlife and Habitats Vulnerability Assessment
Source URL
https://www.arcgis.com/home/item.html?id=f1bb258bd9dc436597fd0b
84047ad8eb
Data URL
https://services.arcgis.com/EDmXP1QjmSmZlvBw/arcgis/rest/services/
Wildlife_and_Habitats_Vulnerability_Assessment/FeatureServer
Field
Value
Id
d28
Token
beach_location
Name
Beach Location Polygons
Source Name
Southern Maine Beach Location Polygons
Source URL
See d14_beach_width
See d16_beach_erosion
See d17_dune_erosion
See d24_beach_shoreline_types
See d32_beach_location_extra
Data URL
See d14_beach_width
See d16_beach_erosion
See d17_dune_erosion
See d24_beach_shoreline_types
See d32_beach_location_extra
Field
Value
Id
d29
Token
nps_watersheds
Name
Impaired and Threatened Watersheds
Source Name
NPS Priority Impaired and Threatened Watersheds
Source URL
https://www.arcgis.com/home/item.html?id=6f99b8413fae4e9e9d5f6e9
ab686c310
Data URL
https://services1.arcgis.com/RbMX0mRVOFNTdLzd/arcgis/rest/services
Climate Ready Coast - Layer and Data Information 2025-04-09
48
/Maine_NPS_Priority_Watersheds_WFL1/FeatureServer/4;
https://services1.arcgis.com/RbMX0mRVOFNTdLzd/arcgis/rest/services
/Maine_NPS_Priority_Watersheds_WFL1/FeatureServer/5
Field
Value
Id
d31
Token
landcover
Name
Land Cover
Source Name
NOAA C-CAP Derived Land Cover Beta
Source URL
https://coast.noaa.gov/digitalcoast/data/ccapderived.html
Data URL
https://coastalimagery.blob.core.windows.net/ccap-
landcover/CCAP_bulk_download/BETA_Derived_Land_Cover/Land_Cover
_10meter/me_2015_ccap_beta_10meter_landcover.tif
Field
Value
Id
d32
Token
beach_location_extra
Name
Beach Location Extra Polygons
Source Name
Southern Maine Beach Location Extra Polygons
Source URL
n/a
Data URL
n/a
Field
Value
Id
d33
Token
dry_beach_erosion
Name
Dry Beach Erosion
Source Name
Maine Beach Mapping DSAS Beach Change
Source URL
https://www.maine.gov/dacf/mgs/hazards/beach_mapping/index.shtml
Data URL
https://services1.arcgis.com/RbMX0mRVOFNTdLzd/ArcGIS/rest/service
s/MGS_Beach_Mapping/FeatureServer/4
Field
Value
Id
d34
Token
ssurgo_erodibility
Name
Erodibility Index
Source Name
Soil Survey Geographic Database (SSURGO)
Source URL
https://websoilsurvey.nrcs.usda.gov/
Data URL
https://websoilsurvey.sc.egov.usda.gov/DSD/Download/Cache/SSA/wss_
SSA_ME031_soildb_ME_2003_\[2024-08-26\].zip;
https://websoilsurvey.sc.egov.usda.gov/DSD/Download/Cache/SSA/wss_
SSA_ME005_soildb_ME_2003_\[2024-08-26\].zip
Field
Value
Id
d35
Token
roads_vulnerability
Climate Ready Coast - Layer and Data Information 2025-04-09
49
Name
Roads Vulnerability
Source Name
SMPDC CRC Roads Vulnerability Assessment
Source URL
https://data-
smpdc.opendata.arcgis.com/datasets/2e83b0f9b09245a7995df297c9c6a
13e_0/about
Data URL
https://services.arcgis.com/EDmXP1QjmSmZlvBw/arcgis/rest/services/
Roads_Vulnerability_Assessment/FeatureServer/0
Climate Ready Coast - Layer and Data Information 2025-04-09
50
Layers
w00 Shoreline Document
Layer ID
00
Layer Name
Shoreline
Layer Token
shoreline
Layer Table
w00_shoreline
Layer Data Fields
id - unique id, matches ids in base point layer (w00).
elv_dem_navd88 - Point elevation from DEM (NAVD88 vertical datum)
elv_hat_navd88 - Point elevation from HAT model (NAVD88 vertical datum)
geom - Point location for CRC data site (EPSG: 26919)
Layer Data Field Constraints
id unique, not null
geom is non-null, EPSG:26919
Source data
See D00_AOI for area of interest polygon.
See D01_DEM for DEM elevations.
See D03_HAT for Highest Astronomical Tide metadata.
Processing steps
Clipped data from the full HAT data set to cover just the AOI as specified in the D00_AOI
data set.
Removed all polygons less than 1000 square meters.
Isolated by exterior (mainland, ocean islands, lake islands) and interior (lakes, island
lakes) line rings.
Converted line rings back to simple polygons.
Simplified polygons by removing all points subject to the criteria that the removal will
not shift any line segments by more than 6 inches.
Break all polygon perimeters up such that all line nodes are approximately 10 feet apart.
Isolate just the point nodes and remove the line segments.
Climate Ready Coast - Layer and Data Information 2025-04-09
51
Remove all points from artificial lines that are not part of the natural coastline (AOI
polygon lines).
Add a unique ID to each point and store in the output table. This unique ID will tie
shoreline point records to all of the individual layer records.
Retrieved point position elevation in d01_dem data set and stored.
Retrieved HAT model elevation and stored.
Create a spatial index for the point set.
QA, Automated
Perform sanity check on number of points. Verify greater than 350,000 and less than
400,000 points.
Verify that all points are in the Wells CRC AOI.
QA, manual
Compared the HAT to georeferenced aerial imagery and other tidal shorelines such as
NOAA's MHHW tidal datum shoreline.
Compared point elevation to DEM elevation.
Compared point HAT elevation to HAT model elevation.
Looked for inland water and low areas that should have been excluded.
Class coding
n/a
Numeric coding
n/a
Weights
n/a
Climate Ready Coast - Layer and Data Information 2025-04-09
52
w01 Aspect Document
Layer ID
01
Layer Name
Aspect
Layer Token
aspect
Layer Table
w01_aspect
Layer Data Fields
id - unique id, matches ids in base point layer (w00).
aspect - floating point aspect value (0 .. 360). 0 is north, running clockwise.
Layer Data Field Constraints
id unique, not null
aspect is non-null
Layer Score Table
w01_aspect_score
Layer Score Table Fields
class - text field with classification name
score - integer field with score value
Source data
See data layer D01 (DEMs)
Processing steps
Identified all source DEMs that intersect the AOI.
Created a version of each DEM with elevation values converted to pixel values.
GDALDEM was used for this conversion.
Created a VRT of the entire coverage area.
Looping over all of the DEMS, enumerated all points within the W00 layer list for that
DEM. For each point, retrieved the aspect value from the VRT using GDAL file
operations. AT the end of the enumeration, created a single batch update file and added
all aspect values to the database table.
Entire update operation took about 2 minutes.
QA, Automated
Climate Ready Coast - Layer and Data Information 2025-04-09
53
Verify aspect >= 0.0 and aspect < 360
Verify 1:1 matching of id values and base layer id values.
QA, manual
Reviewed aspect values along the coastline. Spot checked aspect in various locations
and predicted aspect values to ensure that the computed aspect value matched the
predicted value. The only problems seen were a set of points near the end of the
shoreline in South Berwick. In this location, the shoreline points continue past the end
of shoreline into the river. These points should not be part of the shoreline data set and
need to be discarded the next time W00 is created.
A second test was performed in QGIS where the aspect scores were plotted using a light
to dark color scheme. This had the effect of showing the southern exposures in a light
color and the northern exposures in a dark color. This gave the shoreline a 3D look and
made it easy to scan 1000s of samples at once. No apparent errors found when
scanning the point locations.
Class coding
WHEN aspect < 22.5 THEN 'North (0-22.5)'
WHEN aspect < 67.5 THEN 'Northeast (22.5-67.5)'
WHEN aspect < 112.5 THEN 'East (67.5-112.5)'
WHEN aspect < 157.5 THEN 'Southeast (112.5-157.5)'
WHEN aspect < 202.5 THEN 'South (157.5-202.5)'
WHEN aspect < 247.5 THEN 'Southwest (202.5-247.5)'
WHEN aspect < 292.5 THEN 'West (247.5-292.5)'
WHEN aspect < 292.5 THEN 'Northwest (292.5-292.5)'
ELSE 'North (337.5-360)'
Numeric coding
WHEN aspect < 22.5 THEN 3
WHEN aspect < 67.5 THEN 3
WHEN aspect < 112.5 THEN 4
WHEN aspect < 157.5 THEN 5
WHEN aspect < 202.5 THEN 6
WHEN aspect < 247.5 THEN 6
WHEN aspect < 292.5 THEN 5
WHEN aspect < 292.5 THEN 4
ELSE 3
Weights
A weight of "1" is used when adding aspect scores to final score.
Climate Ready Coast - Layer and Data Information 2025-04-09
54
w02 Beach Erosion Rate Document
Layer ID
02
Layer Name
Beach, Erosion
Layer Token
beach_erosion
Layer Table
w02_beach_erosion
Layer Data Fields
id unique id, matches ids in base point layer (w00).
distance distance to closest transect location in meters
rate mean yearly beach width change in meters
Layer Data Field Constraints
distance is not null, >= 0, <= 18 km
rate > -28 and rate < 10
Layer Score Table
w02_beach_erosion_score
Layer Score Table Fields
class - text field with classification name
score - integer field with score value
Source data
See data layer D03 (HAT)
See data layer D16 (Beach Erosion)
Processing steps
All D16_Beach_Erosion data was downloaded and loaded into a database for processing.
A database table was created with all sample locations. These sample locations where
then joined with the beach width change rate table by closest proximity. Beach width
change rate and distance to beach measurement location were stored in the table.
QA, Automated
Verify 1:1 matching of id values and base layer id values.
QA, manual
Performed sanity test on raw beach_width database:
Climate Ready Coast - Layer and Data Information 2025-04-09
55
Verified beach change ranges
Verified general location of data set
Spot checked the shoreline sample locations to verify they were using the closest
transect.
Spot checked computed distance values.
Turned on scoring codes and spot verified that the distances matched the coding and
scores as defined by the scoring and coding rules. In addition, make sure that sample
points located more than 150 feet from a transect are marked with a null score.
Class coding
WHEN beach_distance > 0 THEN 'Not a beach'
WHEN erosion_ft >= 10 THEN '> 10 feet per year'
WHEN erosion_ft > 6 THEN '> 6 ft and < 10 ft per year'
WHEN erosion_ft > 2 THEN '> 2 ft and < 6 ft per year'
WHEN erosion_ft > -2 THEN '> -2 ft and < 2 ft per year'
WHEN erosion_ft > -6 THEN '> -6 ft and < -2 ft per year'
WHEN erosion_ft > -10 THEN '> -10 ft and < -6 ft per year'
ELSE '<= -10 ft per year'
Numeric coding
WHEN beach_distance > 0 THEN null
WHEN erosion_ft >= 10 THEN 1
WHEN erosion_ft > 5 THEN 2
WHEN erosion_ft > 0 THEN 3
WHEN erosion_ft > -5 THEN 4
WHEN erosion_ft > -10 THEN 5
else 6
Weights
A weight of "1" is used when adding scores to final score.
Climate Ready Coast - Layer and Data Information 2025-04-09
56
w03 Beach Width Document
Layer ID
03
Layer Name
Beach, Width
Layer Token
beach_width
Layer Table
w03_beach_width
Layer Data Fields
id unique id, matches ids in base point layer (w00).
distance distance to closest transect location in meters
width mean dry beach width in feet
Layer Data Field Constraints
distance is not null, >= 0, <= 18 km
width > -10 and width < 400
Layer Score Table
w03_beach_width_score
Layer Score Table Fields
class - text field with classification name
score - integer field with score value
Source data
See data layer D03 (HAT)
See data layer D14 (Beach Width)
Processing steps
All D14_Beach_Width data was downloaded and loaded into a database for processing.
A database table was created with all sample locations. These sample locations where
then joined with the beach width table by closest proximity. Beach width and distance
to beach measurement location were stored in the table.
QA, Automated
Verify 1:1 matching of id values and base layer id values.
QA, manual
Performed sanity test on raw beach_width database:
Climate Ready Coast - Layer and Data Information 2025-04-09
57
Verified width ranges
Verified general location of data set
Spot checked the shoreline sample locations to verify they were using the closest
transect.
Spot checked computed distance values.
Turned on scoring codes and spot verified that the distances matched the coding and
scores as defined by the scoring and coding rules. In addition, make sure that sample
points located more than 150 feet from a transect are marked with a null score.
Class coding
WHEN beach_distance > 0 THEN 'Not a beach'
WHEN width_ft >= 120 THEN '> 120 ft'
WHEN width_ft >= 100 THEN '> 100 ft and < 120 ft'
WHEN width_ft >= 80 THEN '> 80 ft and <= 100 ft'
WHEN width_ft >= 60 THEN '> 60 ft and <= 80 ft'
WHEN width_ft >= 40 THEN '> 40 ft and <= 60 ft'
ELSE '<= 40'
Numeric coding
WHEN beach_distance > 0 THEN null
WHEN width_ft >= 120 THEN 1
WHEN width_ft >= 100 THEN 2
WHEN width_ft >= 80 THEN 3
WHEN width_ft >= 60 THEN 4
WHEN width_ft >= 40 THEN 5
ELSE 6
Weights
A weight of "1" is used when adding scores to final score.
Climate Ready Coast - Layer and Data Information 2025-04-09
58
w04 Dune Height Relative to Base Flood Elevation Document
Layer ID
04
Layer Name
Dune, Crest Proximity
Layer Token
dune_crest_proximity
Layer Table
w04_dune_crest_proximity
Layer Data Fields
id unique id, matches ids in base point layer (w00).
dune_id unique dune id
dune_distance distance to dune in meters at shoreline points
dune_bfe_elevation_compare elevation difference between dune crest and BFE in
meters
Layer Data Field Constraints
dune_distance is not null, >= 0, <= 20 km
dune_bfe_elevation_compare > -15.0 and dune_bfe_elevation_compare < 15.0
Layer Score Table
w04_dune_crest_proximity_score
Layer Score Table Fields
class - text field with classification name
score - integer field with score value
Source data
See data layer D03 (HAT)
See data layer D05 (Dunes)
Processing steps
All D05_Dune data was downloaded, decompressed, and loaded into a database for
processing.
A database table was created with all sample locations. These sample locations where
then joined with the dune crest table by closest proximity.
QA, Automated
Verify 1:1 matching of id values and base layer id values.
QA, manual
Climate Ready Coast - Layer and Data Information 2025-04-09
59
Performed sanity test on raw dune crest proximity database:
Verified elevation ranges
Verified BFE ranges
Verified general location of data set
Spot checked the shoreline sample locations to verify they were using the closest dune
crest point.
Spot checked stored distance values.
Spot checked Dune elevation values vs DEM data.
Spot checked BFE values vs FEMA database.
Turned on scoring codes and spot verified that the distances matched the coding and
scores as defined by the scoring and coding rules.
Class coding
WHEN beach_distance > 0 THEN 'Not a beach'
WHEN distance_ft > 400 THEN '> 400 feet from dune'
WHEN delta_ft >= 2.0 THEN '>= 2 ft'
WHEN delta_ft >= 1.0 THEN '>= 1 ft and < 2 ft'
WHEN delta_ft >= 0.0 THEN '>= 0 ft and <= 1 ft'
WHEN delta_ft >= -1.0 THEN '>= -1 ft and <= 0 ft'
WHEN delta_ft >= -2.0 THEN '>= -2 ft and <= -1 ft'
ELSE '< -2.0 ft'
Numeric coding
WHEN beach_distance > 0 THEN null
WHEN distance_ft > 400 THEN null
WHEN delta_ft >= 2.0 THEN 1
WHEN delta_ft >= 1.0 THEN 2
WHEN delta_ft >= 0.0 THEN 3
WHEN delta_ft >= -1.0 THEN 4
WHEN delta_ft >= -2.0 THEN 5
ELSE 6
Weights
A weight of "1" is used when adding scores to final score.
Climate Ready Coast - Layer and Data Information 2025-04-09
60
w05 Dune Erosion Rate Document
Layer ID
05
Layer Name
Dune, Erosion
Layer Token
dune_erosion
Layer Table
w05_dune_erosion
Layer Data Fields
id unique id, matches ids in base point layer (w00).
distance distance to closest transect location in meters
rate mean yearly dune width change in feet
Layer Data Field Constraints
distance is not null, >= 0, <= 18 km
rate > -15 and rate < 60
Layer Score Table
w05_dune_erosion_score
Layer Score Table Fields
class - text field with classification name
score - integer field with score value
Source data
See data layer D03 (HAT)
See data layer D17 (Dune Erosion)
Processing steps
All D17_Dune_Erosion data was downloaded and loaded into a database for processing.
A database table was created with all sample locations. These sample locations where
then joined with the dune width change rate table by closest proximity. Dune width
change rate and distance to dune measurement location were stored in the table. The
dune width change rate was taken from lrr_ft if not null. If lrr_ft was null, epr_ft was
used. If both values were null, the transect was not used.
QA, Automated
Verify 1:1 matching of id values and base layer id values.
QA, manual
Climate Ready Coast - Layer and Data Information 2025-04-09
61
Performed sanity test on raw beach_width database:
Verified beach change ranges
Verified general location of data set
Spot checked the shoreline sample locations to verify they were using the closest
transect.
Spot checked computed distance values.
Turned on scoring codes and spot verified that the distances matched the coding and
scores as defined by the scoring and coding rules. In addition, make sure that sample
points located more than 150 feet from a transect are marked with a null score.
Class coding
WHEN beach_distance > 0 THEN 'Not a beach'
WHEN erosion_ft >= 6 THEN '> 6 ft per year'
WHEN erosion_ft >= 3 THEN '> 3 ft and < 6 ft per year'
WHEN erosion_ft >= 0 THEN '> 0 ft and < 3 ft per year'
WHEN erosion_ft >= -3 THEN '> -3 ft and < 0 ft per year'
WHEN erosion_ft >= -6 THEN '> -6 ft and < -3 ft per year'
else '< -6 ft per year'
Numeric coding
WHEN beach_distance > 0 THEN null
WHEN erosion_ft >= 6 THEN 1
WHEN erosion_ft >= 3 THEN 2
WHEN erosion_ft >= 0 THEN 3
WHEN erosion_ft >= -3 THEN 4
WHEN erosion_ft >= -6 THEN 5
else 6
Weights
A weight of "1" is used when adding scores to final score.
Climate Ready Coast - Layer and Data Information 2025-04-09
62
w06 Coastal Dune and Structure Distance Document
Layer ID
06
Layer Name
Dune, Structure Proximity
Layer Token
dune_structure_proximity
Layer Table
w06_dune_structure_proximity
Layer Data Fields
id unique id, matches ids in base point layer (w00)
structure_distance distance to closest structure in meters
structure_id structure id of closest structure
Layer Data Field Constraints
structure_distance is not null, >= 0, <= 20 km
structure_id is not null
Layer Score Table
w06_dune_structure_proximity_score
Layer Score Table Fields
class - text field with classification name
score - integer field with score value
Source data
See data layer D03 (HAT)
See data layer D13_hardening for Maine Coastal Structure metadata.
Processing steps
All D13_hardening data was downloaded and loaded into a database for processing.
A database table was created with all sample locations. These sample locations where
then joined with the structure inventory by closest proximity. Structure ID and distance
to structure location were stored in the table.
QA, Automated
Verify 1:1 matching of id values and base layer id values.
QA, manual
Performed sanity test on raw source data (d13_hardening):
Spot checked structure locations
Climate Ready Coast - Layer and Data Information 2025-04-09
63
Spot checked structure types (rip-rap, breakwater, bulkhead, etc.)
Spot checked the shoreline sample locations to verify they were using the closest
structure.
Spot checked computed distance values.
Turned on scoring codes and spot verified that the distances matched the coding and
scores as defined by the scoring and coding rules.
Class coding
WHEN beach_distance > 0 THEN 'Not a beach'
WHEN structure_distance_ft < 400 AND dune_distance_ft < 400 THEN 'Dune and
Structure'
WHEN structure_distance_ft < 400 THEN 'Structure'
WHEN dune_distance_ft < 400 THEN 'Dune'
ELSE 'No Structure nor Dune'
Numeric coding
WHEN beach_distance > 0 THEN null
WHEN structure_distance_ft < 400 AND dune_distance_ft < 400 THEN 3
WHEN structure_distance_ft < 400 THEN 6
WHEN dune_distance_ft < 400 THEN 1
ELSE null
Weights
A weight of "1" is used when adding scores to final score.
Climate Ready Coast - Layer and Data Information 2025-04-09
64
w07 Annualized Fetch Document
Layer ID
07
Layer Name
Fetch, annualized
Layer Token
fetch_annualized
Layer Table
w07_fetch_annualized
Layer Data Fields
id unique id, matches ids in base point layer (w00).
dist fetch distance in meters at shoreline points
Layer Data Field Constraints
dist is not null, >= 0, <= 10 mi
Layer Score Table
w07_fetch_annualized_score
Layer Score Table Fields
class - text field with classification name
score - integer field with score value
Source data
See data layer D03 (HAT)
See data layer D04 (Buoy)
Processing steps
Created a HAT outline for a portion of New Hampshire since annualized fetch
calculations require surrounding coastlines in all directions. No coastline was added
east of the AOI since there is no coastline that is close enough to cause changes in the
data.
All D04_Buoy data was downloaded, decompressed, and loaded into a database for
processing. The data was then sorted by buoy id and sector count. The number of
sectors determines the number of percentages that will be calculated for different wind
directions. The initial tests were done with 24 sectors.
After the buoy wind direction percentages were computed, a raster fetch grid was
created for each direction. This grid determined the fetch distances in that sector
direction. A total of 24 raster grid measurements was computed. After the sectors were
computed, they were combined into a single distance calculation by taking the
Climate Ready Coast - Layer and Data Information 2025-04-09
65
percentage of time the wind came in that sector direction and computing a normalized
sum of all rasters.
A database table is created with all sample locations. The locations are then looked up
in the raster image and the cell values are assigned as the fetch distances.
QA, Automated
Verify 1:1 matching of id values and base layer id values.
QA, manual
Performed sanity test on raw buoy data vs database:
Number of lines of raw buoy data matched number of records in database
(2,582,203).
Buoy sample year, month, and day ranges all appeared to be legal.
Number of sample number of days in a year was 366.
Hand Verified about 30 different entries taken from raw text matched records in
database table.
Verified top wind speed (not including missing data entry '99') was reasonable
(33.2).
Note that some of these test could be added to the automated SQL testing.
Verified that the shoreline sample locations were using the correct (closest) fetch
computation files for setting distance values.
Reviewed fetch_annualized values along coastline. With a measuring tool, spot verified
that the distance reported for each point seemed reasonable for the surrounding land
assuming roughly equal radial percentages. Tested along the open shoreline as well as
within areas bounded by land on all sides. Tested in the lee of islands as well as on the
seaward sides. All observed values matched expected and measured results.
Brought up a raster fetch data file that was used to create the point distances. Spot
verified that the point distances matched the raster cell values.
Created a database query to verify the expected range and distribution of fetch
distances
Turned on scoring codes and spot verified that the fetch distances matched the coding
and scores as defined by the scoring and coding rules.
Class coding
WHEN fetch_mi <= 0.5 THEN '0.0 - 0.5 mi'
WHEN fetch_mi <= 1.0 THEN '0.5 - 1.0 mi'
WHEN fetch_mi <= 2.0 THEN '1.0 - 2.0 mi'
WHEN fetch_mi <= 3.0 THEN '2.0 - 3.0 mi'
Climate Ready Coast - Layer and Data Information 2025-04-09
66
WHEN fetch_mi <= 5.0 THEN '3.0 - 5.0 mi'
WHEN unbounded THEN 'unbounded'
ELSE '> 5 mi'
Numeric coding
WHEN fetch_mi <= 0.5 THEN 6
WHEN fetch_mi <= 1.0 THEN 5
WHEN fetch_mi <= 2.0 THEN 4
WHEN fetch_mi <= 3.0 THEN 3
WHEN fetch_mi <= 5.0 THEN 2
WHEN unbounded THEN 0.5
ELSE 1
Weights
A weight of "3" is used when adding scores to final score.
Climate Ready Coast - Layer and Data Information 2025-04-09
67
w08 Southeast Fetch Document
Layer ID
08
Layer Name
Fetch, Southeast
Layer Token
fetch_southeast
Layer Table
w08_fetch_southeast
Layer Data Fields
id unique id, matches ids in base point layer (w00).
dist fetch distance in meters at shoreline points
Layer Data Field Constraints
dist is not null, >= 0, <= 10 mi
Layer Score Table
w08_fetch_southeast_score
Layer Score Table Fields
class - text field with classification name
score - integer field with score value
Source data
See data layer D03 (HAT)
Processing steps
Create a raster fetch file where the cell values in the raster are the distance waves can
travel from the southeast to that cell location. Distance values are calculated in meters
and capped at 10 miles. Distance calculations are performed using a modified version of
a python module called WindFetch (https://github.com/KennethTM/WindFetch.git).
Sources have been modified to support unbounded ocean distances and some options
for filling and normalizing distance values. For each cell value, the fetch distances from
9 wind angles (3 degrees apart) are calculated and then combined using a weighted
average based on the cosine of the wind angle off of the center heading.
A database table is created with all sample locations. The locations are then looked up
in the raster image and the cell values are assigned as the fetch distances.
QA, Automated
Verify 1:1 matching of id values and base layer id values.
QA, manual
Climate Ready Coast - Layer and Data Information 2025-04-09
68
Reviewed fetch_southeast values along coastline. With a measuring tool, spot verified
that the distance reported for each point matched the 135 bearing distance until land
was hit. Where the maximum fetch value was observed for the point, verified that no
land existed in the 135 degree direction. Tested along the open shore as well as within
areas bounded by land on all sides. Tested in the lee of islands as well as on the side
facing the 135 degree fetch direction. All observed values matched expected and
measured results.
Brought up a raster fetch data file that was used to create the point distances. Spot
verified that the point distances matched the raster cell values. Also verified that the
spread (9 radials) was observed in the raster cells. Measured spread values to verify
fetch falloff as the angle increased.
Created a database query to verify the expected range and distribution of fetch
distances
Turned on scoring codes and spot verified that the fetch distances matched the coding
and scores as defined by the scoring and coding rules.
Class coding
WHEN fetch_mi <= 0.5 THEN '0.0 - 0.5 mi'
WHEN fetch_mi <= 1.0 THEN '0.5 - 1.0 mi'
WHEN fetch_mi <= 2.0 THEN '1.0 - 2.0 mi'
WHEN fetch_mi <= 3.0 THEN '2.0 - 3.0 mi'
WHEN fetch_mi <= 5.0 THEN '3.0 - 5.0 mi'
WHEN unbounded THEN 'unbounded'
ELSE '> 5 mi'
Numeric coding
WHEN fetch_mi <= 0.5 THEN 6
WHEN fetch_mi <= 1.0 THEN 5
WHEN fetch_mi <= 2.0 THEN 4
WHEN fetch_mi <= 3.0 THEN 3
WHEN fetch_mi <= 5.0 THEN 2
WHEN unbounded THEN 0.5
ELSE 1
Weights
A weight of "3" is used when adding relief scores to final score.
Climate Ready Coast - Layer and Data Information 2025-04-09
69
w11 FEMA Zone Document
Layer ID
11
Layer Name
Flooding, FEMA Zone
Layer Token
fema_zone
Layer Table
w11_fema_zone
Layer Data Fields
id unique id, matches ids in base point layer (w00)
zone character zone identifier
distance distance to nearest zone containing BFE in meters
Layer Data Field Constraints
distance is not null, distance >= 0.0m, distance < 2500
zone is not null
zone == 'A' or zone == 'AE' or zone == 'OPEN WATER' or zone == 'VE' or zone == 'X'
Layer Score Table
w11_fema_zone_score
Layer Score Table Fields
class - text field with classification name
score - integer field with score value
Source data
See data layer D03 (HAT)
See data layer D18_fema for FEMA Flood Insurance Rate Map Database
Processing steps
All D18_fema data was downloaded, decompressed, and loaded into a database for
processing. This data is in two source files which cover all data for York and
Cumberland County Maine.
A database table was created with all sample locations. These sample locations where
then joined with the FEMA zone polygons by proximity. Zone ID and distance to zone
polygon were stored in the table.
In the event that a sample location is not covered by a FEMA zone, this sample location
is given a non-zero distance value. This only happens in one spot in the coverage area,
Boon Island. Sample locations not covered by a zone are not included in the final
scoring.
Climate Ready Coast - Layer and Data Information 2025-04-09
70
QA, Automated
Verify 1:1 matching of id values and base layer id values.
QA, manual
Performed sanity test on raw source data (d18_fema):
Spot checked zone locations
Spot checked the shoreline sample locations to verify they were using the closest FEMA
zone/bfe value.
Spot checked computed distance values. These values should all be zero except in spots
not covered by FEMA data. Boon island is the only spot that is expected to be
uncovered. Boon Island sample locations are not included for this layer and are given a
null score.
Turned on scoring codes and spot verified that the distances matched the coding and
scores as defined by the scoring and coding rules.
Class coding
WHEN distance_ft > 0 THEN 'No FEMA data'
WHEN zone like 'A' THEN 'Zone A'
WHEN zone like 'AE' THEN '1 Percent Annual Chance'
WHEN zone like 'VE' THEN 'Coastal High Hazard Area'
WHEN zone like 'X' THEN 'Zone X'
Numeric coding
WHEN distance_ft > 0 THEN null
WHEN zone like 'A' THEN 6
WHEN zone like 'AE' THEN 6
WHEN zone like 'VE' THEN 0
WHEN zone like 'X' THEN 6
Weights
A weight of "3" is used when adding scores to final score.
Climate Ready Coast - Layer and Data Information 2025-04-09
71
w12 Eelgrass Habitat Proximity Document
Layer ID
12
Layer Name
Habitat, Eelgrass
Layer Token
habitat_eelgrass
Layer Table
w12_habitat_eelgrass
Layer Data Fields
id Unique id, matches ids in base point layer (w00).
dmr_set DMR Data set by year (2010, 2013, 2018, 2021, 2022, 2023)
dmr_year DMR Collection year
dmr_id OBJECTID/OBJECTID_1 field from DMR Eelgrass / D08_eelgress
dmr_global_id GlobalID from DMR Eelgrass (perhaps should be UUID/GUID)
distance distance to DMR Eelgrass polygon from sample point (meters)
Layer Data Field Constraints
distance is not null, >= 0, <= 13 km
Layer Score Table
w12_habitat_eelgrass_score
Layer Score Table Fields
class - text field with classification name
score - integer field with score value
Source data
See data layer D03 (HAT)
See data layer D08 (Eelgrass)
Processing steps
D08_eelgrass data was downloaded as geojson and loaded into a database for
processing.
Data sets for years 2010 - 2023 were combined into a single table.
A database table was created with all sample locations. These sample locations where
then joined with the D08_eelgrass polygon table by closest proximity.
QA, Automated
Verify 1:1 matching of id values and base layer id values.
Climate Ready Coast - Layer and Data Information 2025-04-09
72
QA, manual
Spot checked the shoreline sample locations to verify they were using the closest
polygon.
Spot checked distances from sample locations to closest polygon.
Turned on scoring codes and spot verified that the distances matched the coding and
scores as defined by the scoring and coding rules.
Class coding
WHEN distance_ft <= 1000 THEN '<= 1000 ft'
ELSE '> 1000 ft'
Numeric coding
This layer is a non-scoring layer so no score value was computed.
Weights
A weight of "0" is used when adding scores to final score. Eelgrass scores are not
included in the final score summation.
Climate Ready Coast - Layer and Data Information 2025-04-09
73
w13 Shellfish Habitat Proximity Document
Layer ID
13
Layer Name
Habitat, Shellfish
Layer Token
habitat_shellfish
Layer Table
w13_habitat_shellfish
Layer Data Fields
id Unique id, matches ids in base point layer (w00).
dmr_id OBJECTID_1 field from DMR Shellfish / d07_shelfish
dmr_global_id GlobalID from DMR Shellfish (perhaps should be UUID/GUID)
distance distance to DMR Shellfish polygon from sample point (meters)
Layer Data Field Constraints
distance is not null, >= 0, <= 12 km
Layer Score Table
w13_habitat_shellfish_score
Layer Score Table Fields
class - text field with classification name
score - integer field with score value
Source data
See data layer D03 (HAT)
See data layer D07 (Shellfish)
Processing steps
D07_Shellfish data was downloaded as geojson and loaded into a database for
processing.
A database table was created with all sample locations. These sample locations where
then joined with the D07_shellfish polygon table by closest proximity.
QA, Automated
Verify 1:1 matching of id values and base layer id values.
QA, manual
Spot checked the shoreline sample locations to verify they were using the closest
polygon.
Climate Ready Coast - Layer and Data Information 2025-04-09
74
Spot checked distances from sample locations to closest polygon.
Turned on scoring codes and spot verified that the distances matched the coding and
scores as defined by the scoring and coding rules.
Class coding
WHEN distance_ft <= 1000 THEN '<= 1000 ft'
ELSE '> 1000 feet'
Numeric coding
This layer is a non-scoring layer so no score value was computed.
Weights
A weight of "0" is used when adding scores to final score. Shellfish scores are not
included in the
final score summation.
Climate Ready Coast - Layer and Data Information 2025-04-09
75
w14 TWWH Area Proximity Document
Layer ID
14
Layer Name
Habitat, Tidal Wading Bird and Waterfowl Proximity
Layer Token
habitat_bird
Layer Table
w14_habitat_bird
Layer Data Fields
id Unique id, matches ids in base point layer (w00).
twwh_id twwh_id field from TWWH / d06_bird
twwh_global_id GlobalID from TWWH (perhaps should be UUID/GUID)
distance distance to TWWH polygon from sample point (meters)
Layer Data Field Constraints
distance is not null, >= 0, <= 13 km
Layer Score Table
w14_habitat_bird_score
Layer Score Table Fields
class - text field with classification name
score - integer field with score value
Source data
See data layer D03 (HAT)
See data layer D06 (Bird)
Processing steps
D05_Bird data was downloaded as geojson and loaded into a database for processing.
A database table was created with all sample locations. These sample locations where
then joined with the D06_bird polygon table by closest proximity.
QA, Automated
Verify 1:1 matching of id values and base layer id values.
QA, manual
Spot checked the shoreline sample locations to verify they were using the closest
polygon.
Spot checked distances from sample locations to closest polygon.
Climate Ready Coast - Layer and Data Information 2025-04-09
76
Turned on scoring codes and spot verified that the distances matched the coding and
scores as defined by the scoring and coding rules.
Class coding
WHEN distance_ft <= 400 THEN 'Present'
ELSE ''
Numeric coding
This layer is a non-scoring layer so no score value was computed.
Weights
A weight of "0" is used when adding scores to final score. Tidal Wading Bird and
Waterfowl Proximity
scores are not included in the final score summation.
Climate Ready Coast - Layer and Data Information 2025-04-09
77
w15 Landward Relief Height Document
Layer ID
15
Layer Name
Relief, Landward
Layer Token
relief
Layer Table
w15_relief
Layer Data Fields
id unique id, matches ids in base point layer (w00).
elv elevation in meters at shoreline point
max_elv maximum elevation between shoreline point and projected point (in
meters)
max_geom point location of maximum elevation value (EPSG:26919)
prj_elv elevation at projected point location (in meters)
prj_geom point location projected 50 feet from shoreline location (EPSG:26919)
relief difference between maximum elevation and shoreline elevation (in meters)
Layer Data Field Constraints
relief is not null
elv is not null
prj_elv is not null
max_elv is not null
prj_geom must be of type POINT with CRS of 26919
max_geom must be of type POINT with CRS of 26919
Layer Score Table
w15_relief_score
Layer Score Table Fields
class - text field with classification name
score - integer field with score value
Source data
See data layer D01 (DEMs)
Processing steps
Identified all source DEMs that intersect the AOI.
Created a VRT of all DEMs for the entire coverage area.
Climate Ready Coast - Layer and Data Information 2025-04-09
78
Looped over a 5km square grid, enumerated all points within the W00 layer list for that
square. For each point, retrieved aspect value from layer w01 to serve as the vector
direction. Using this vector, a new point was created by projecting 50 feet along the
vector direction landward. Using this point, a line is created between the shoreline
point and the projected point. This line is broken into 1-meter sections. The segmented
line is then broken into indevidual points. All indevidual points are then looked up in
the VRT and the maximum elevation is obtained. The difference between this value and
the shoreline elevation is then stored.
Entire update operation took less than 2 minute.
QA, Automated
Verify 1:1 matching of id values and base layer id values.
QA, manual
Reviewed relief values along coastline. Brought up point locations for shoreline point,
projected point, and maximum elevation point. Looked for areas with known
topographic profiles to ensure expected relief was observed. This included beaches,
wetlands, dunes, rocky coastlines, and railroad and highway crossings. All relief values
were consistent with expected profiles.
Loaded one of the source DEM files and spot checked that shoreline, maximum, and
projected point elevation values matched the elevation values found in the DEM file. All
checks passed. Note that initially the values did not appear to match up but this was
because QGIS was showing the point elevation and the nearest DEM elevation. If the
cursor was not precisely over the point, they would not match. This can easily be
achieved by zooming in a lot before measuring the point value.
Spot checked the distance between shoreline points and projected points to ensure that
the projected distance was 50 feet.
Created a database query to identify areas with particularly high and low (negative)
relief values. Checked those areas manually. The high values were all found around the
Cliff House which is consistent with the land profile in that area. The lowest relief
values were found in front of the drydock doors at the Portsmouth Naval Yard. Again,
consistent with the land profile at that spot.
Turned on scoring codes as well as maximum elevations. Verified that the different
between the shoreline and maximum elevations agreed with the coding at various spot
locations.
Class coding
WHEN relief_ft <= 5 THEN '0-5 ft'
WHEN relief_ft <= 10 THEN '5-10 ft'
WHEN relief_ft <= 15 THEN '10-15 ft'
WHEN relief_ft <= 20 THEN '15-20 ft'
ELSE '> 20 ft'
Numeric coding
WHEN relief_ft <= 5 THEN 6
Climate Ready Coast - Layer and Data Information 2025-04-09
79
WHEN relief_ft <= 10 THEN 5
WHEN relief_ft <= 15 THEN 3
WHEN relief_ft <= 20 THEN 2
ELSE 1
Weights
A weight of "2" is used when adding relief scores to final score.
Climate Ready Coast - Layer and Data Information 2025-04-09
80
w17 Saltmarsh Migration Document
Layer ID
17
Layer Name
Saltmarsh, Migration
Layer Token
saltmarsh_migration
Layer Table
w17_saltmarsh_migration
Layer Data Fields
id Unique id, matches ids in base point layer (w00).
cur_saltmarsh boolean -- intersection between sample point and current saltmarsh
(D10)
fut_saltmarsh boolean -- intersection between sample point and future saltmarsh
(D10)
Layer Data Field Constraints
cur_saltmarsh not null
fut_saltmarsh not null
Layer Score Table
w17_saltmarsh_migration_score
Layer Score Table Fields
class - text field with classification name
score - integer field with score value
Source data
See data layer D03 (HAT)
See data layer D10 (Saltmarsh)
Processing steps
D10_saltmarsh data (current and future [1.6 ft rise]) was downloaded as geojson and
loaded into a database for processing.
Intersections between the shoreline samples and the two saltmarsh migration tables
were then computed and stored in a database table.
After all intersections were stored in a database, intersections were coded into class
names using the following classification method:
QA, Automated
Verify 1:1 matching of id values and base layer id values.
Climate Ready Coast - Layer and Data Information 2025-04-09
81
QA, manual
Bring up Current and Future saltmarsh polygon data. Spot verify that shoreline points
outside all polygons are scored as 0.
Spot verify that shoreline points inside just Current polygons are scored as 6.
Spot verify that shoreline points inside just Future polygons are scored as 6.
Spot verify that shoreline points inside both Current and Future polygons are scored as
6.
Class coding
WHEN cur_saltmarsh THEN 'Salt Marsh persistent'
WHEN fut_saltmarsh THEN 'Salt Marsh potential'
ELSE 'No Data'
Numeric coding
WHEN cur_saltmarsh THEN 6
WHEN fut_saltmarsh THEN 6
ELSE 0
Weights
A weight of "2" is used when adding layer scores to final score.
Climate Ready Coast - Layer and Data Information 2025-04-09
82
w18 Tidal Crossings Document
Layer ID
18
Layer Name
Shoreline Erosion, Tidal Crossing Proximity
Layer Token
tidal_crossing
Layer Table
w18_tidal_crossing
Layer Data Fields
id unique id, matches ids in base point layer (w00).
src source table: road, future_road, other, future_other.
crosstype text description of crossing type from original tables
distance distance to crossing in meters at shoreline points.
Layer Data Field Constraints
src type is not null, must be equal to one of the following: road, future_road, other,
future_other
crosstype is not null
distance is not null, >= 0, <= 13 km
Layer Score Table
w18_tidal_crossing_score
Layer Score Table Fields
class - text field with classification name
score - integer field with score value
Source data
See data layer D03 (HAT)
See data layer D15 (Restrictions)
Processing steps
All D15_Restrictions data was downloaded and loaded into a database for processing.
This included the Road Crossing layer, the Future Road Crossing layer, the Other
Crossing layer, and the Future Other Crossings layer.
A database table was created with all sample locations. These sample locations where
then joined with the crossings table by closest proximity. Crossing table, crossing type,
and distance to crossing location were stored in the table.
Climate Ready Coast - Layer and Data Information 2025-04-09
83
QA, Automated
Verify 1:1 matching of id values and base layer id values.
QA, manual
Performed sanity test on raw crossing tables:
Verified location accuracy
Verified crossing type
Spot checked the shoreline sample locations to verify they were using the closest
crossing point.
Spot checked stored distance values.
Turned on scoring codes and spot verified that the distances matched the coding and
scores as defined by the scoring and coding rules.
Class coding
WHEN distance_ft <= 50 THEN '<= 50 feet to tidal crossing'
ELSE '> 50 feet to tidal crossing'
Numeric coding
when distance_ft <= 50 THEN 3
ELSE 6
Weights
A weight of "1" is used when adding scores to final score.
Climate Ready Coast - Layer and Data Information 2025-04-09
84
w19 Boat Wakes Document
Layer ID
19
Layer Name
Shoreline Erosion, Navigation Channel Proximity
Layer Token
erosion_nav_channel
Layer Table
w19_erosion_nav_channel
Layer Data Fields
id Unique id, matches ids in base point layer (w00).
src_id fgc_fid field from USACE National Channel Framework (D09_channel)
distance distance to source geometry from sample point (meters)
Layer Data Field Constraints
distance is not null, >= 0, <= 14 km
Layer Score Table
w19_erosion_nav_channel_score
Layer Score Table Fields
class - text field with classification name
score - integer field with score value
Source data
See data layer D03 (HAT)
See data layer D09 (Channel)
Processing steps
D09_Channel data was downloaded as geojson and loaded into a database for
processing.
A database table was created with all sample locations. These sample locations where
then joined with the source geometry table by closest proximity.
QA, Automated
Verify 1:1 matching of id values and base layer id values.
QA, manual
Spot checked the shoreline sample locations to verify they were using the closest source
geometry.
Spot checked distances from sample locations to closest source geometry.
Climate Ready Coast - Layer and Data Information 2025-04-09
85
Turned on scoring codes and spot verified that the distances matched the coding and
scores as defined by the scoring and coding rules.
Class coding
WHEN distance_ft < 500 THEN '< 500 ft'
WHEN distance_ft < 1000 THEN '>= 500 ft and < 1000 ft'
WHEN distance_ft < 1500 THEN '>= 1000 ft and < 1500 ft'
WHEN distance_ft < 2000 THEN '>= 1500 ft and < 2000 ft'
WHEN distance_ft < 2500 THEN '>= 2000 ft and < 2500 ft'
ELSE '>= 2500 ft'
Numeric coding
WHEN distance_ft < 500 THEN 1
WHEN distance_ft < 1000 THEN 2
WHEN distance_ft < 1500 THEN 3
WHEN distance_ft < 2000 THEN 4
WHEN distance_ft < 2500 THEN 5
ELSE 6
Weights
A weight of "1" is used when adding layer scores to final score.
Climate Ready Coast - Layer and Data Information 2025-04-09
86
w20 Landward Habitat Document
Layer ID
20
Layer Name
Shoreline Type, Landward
Layer Token
shoreline_landward
Layer Table
w20_shoreline_landward
Layer Data Fields
id Unique id, matches ids in base point layer (w00).
distance Distance from sample point to ESI line (D11)
landward_stype Landward ESI type
seaward_stype_1 Seaward ESI type 1
seaward_stype_2 Seaward ESI type 2
Layer Data Field Constraints
distance is not null, >= 0, <= 11 km
landward_stype is not null and is not 'None'
seaward_stype_1 is not null, might be 'None'
seaward_stype_2 is not null, might be 'None'
Layer Score Table
w20_shoreline_landward_score
Layer Score Table Fields
class - text field with classification name
score - integer field with score value
Source data
See data layer D03 (HAT)
See data layer D11 (ESI)
Processing steps
D11_esi data was downloaded in GeoDatabase format from
https://response.restoration.noaa.gov/esi_download#Maine.
Data was decompressed using a python script.
Data was converted to Shapefile format using GDAL ogr2ogr.
The ESIL layer was loaded into a PostGIS database.
Climate Ready Coast - Layer and Data Information 2025-04-09
87
The ESIL layer was converted from multiline to line. The Z and M measurements were
dropped from the geometry and the coordinates were converted to NAD83 Zone 19N.
A database table was created with all sample locations. These sample locations where
then joined with the D11_esi ESIL geometry table by closest proximity.
QA, Automated
Verify 1:1 matching of id values and base layer id values.
QA, manual
Spot checked the shoreline sample locations to verify they were using the closest source
geometry.
Spot check locations with structures are classified as None.
Spot check locations with 400 feet or dunes classified as Dune (unless classified as
structure).
Spot checked distances from sample locations to closest source geometry.
Turned on scoring codes and spot verified that the distances matched the coding and
scores as defined by the scoring and coding rules.
Class coding
IF landward type name starts with any of the following, then class set to 'None'
'1B'
'6B'
'8B'
'8C'
ELSE IF distance within 400 feet of the ESIL line class set to 'Dune'
ELSE class set to ESIL name
Numeric coding
WHEN dune_distance_ft < 400 THEN 6
WHEN landward_stype starts with '2A' THEN 2
WHEN landward_stype starts with '3A' THEN 5
WHEN landward_stype starts with '4' THEN 4
WHEN landward_stype starts with '5' THEN 3
WHEN landward_stype starts with '8A' THEN 2
WHEN landward_stype starts with '9B' THEN 5
WHEN landward_stype starts with '10A' THEN 6
WHEN landward_stype starts with '10B' THEN 6
WHEN landward_stype starts with '10C' THEN 6
WHEN landward_stype starts with '10D' THEN 6
WHEN landward_stype starts with '1B' THEN 0
WHEN landward_stype starts with '6B' THEN 0
Climate Ready Coast - Layer and Data Information 2025-04-09
88
WHEN landward_stype starts with '8B' THEN 0
WHEN landward_stype starts with '8C' THEN 0
WHEN landward_stype starts with '1A' THEN 0
WHEN landward_stype starts with '6A' THEN 0
WHEN landward_stype starts with '8A: Sheltered Scarps (Bedrock/Mud/Clay)' THEN 0
ELSE 0
Weights
A weight of "2" is used when adding layer scores to final score.
Climate Ready Coast - Layer and Data Information 2025-04-09
89
w21 Seaward Habitat Document
Layer ID
21
Layer Name
Shoreline Type, Seaward
Layer Token
shoreline_seaward
Layer Table
w21_shoreline_seaward
Layer Data Fields
id Unique id, matches ids in base point layer (w00).
distance Distance from sample point to ESI line (D11)
landward_stype Landward ESI type
seaward_stype_1 Seaward ESI type 1
seaward_stype_2 Seaward ESI type 2
Layer Data Field Constraints
distance is not null, >= 0, <= 11 km
landward_stype is not null and is not 'None'
seaward_stype_1 might be 'None'
seaward_stype_2 might be 'None'
Layer Score Table
w21_shoreline_seaward_score
Layer Score Table Fields
class - text field with classification name
score - integer field with score value
Source data
See data layer D03 (HAT)
See data layer D05 (Dunes)
See data layer D11 (ESI)
Processing steps
D11_esi data was downloaded in GeoDatabase format from
https://response.restoration.noaa.gov/esi_download#Maine.
Data was decompressed using a python script.
Data was converted to Shapefile format using GDAL ogr2ogr.
The ESIL layer was loaded into a PostGIS database.
Climate Ready Coast - Layer and Data Information 2025-04-09
90
The ESIL layer was converted from multiline to line. The Z and M measurements were
dropped from the geometry and the coordinates were converted to NAD83 Zone 19N.
Categories
ESI Rank Estuarine Lacustrine Riverine
1A Exposed rocky shores
Exposed rocky shores Exposed rocky banks
1B Exposed, solid man-made structures
Exposed, solid man-made structures Exposed, solid man-made
structures
1C Exposed rocky cliffs with boulder talus base
Exposed rocky cliffs with boulder talus base Exposed rocky cliffs with boulder
talus base
2A Exposed wave-cut platforms in bedrock, mud, or clay
Shelving bedrock shores Rocky shoals, bedrock ledges
2B Exposed scarps and steep slopes in clay
Picture Picture
3A Fine to medium-grained sand beaches
Picture Picture
3B Scarps and steep slopes in sand
Eroding scarps in unconsolidated sediment Exposed, eroding banks in
unconsolidated sediments
3C Tundra cliffs Picture
Picture
4 Coarse-grained sand beaches
Sand beaches Sandy bars and gently sloping
banks
5 Mixed sand and gravel beaches
Mixed sand and gravel beaches Mixed sand and gravel bars
and gently sloping banks
6A Gravel beaches Gravel
beaches Gravel bars and gently sloping banks
Gravel beaches (granules and pebbles)*
6B Riprap Riprap
Riprap
Gravel beaches (cobbles and boulders)*
6C* Riprap Picture
Picture
7 Exposed tidal flats
Exposed tidal flats Picture
8A Sheltered scarps in bedrock, mud, or clay
Sheltered scarps in bedrock, mud, or clay Picture
Sheltered rocky shores (impermeable)*
8B Sheltered, solid man-made structures
Sheltered, solid man-made structures Sheltered, solid man-made
structures
Sheltered rocky shores (permeable)*
8C Sheltered riprap
Sheltered riprap Sheltered riprap
Climate Ready Coast - Layer and Data Information 2025-04-09
91
8D Sheltered rocky rubble shores Picture
Picture
8E Peat shorelines Picture
Picture
8F Picture Picture
Vegetated, steeply-sloping bluffs
9A Sheltered tidal flats
Sheltered sand/mud flats Picture
9B Vegetated low banks
Vegetated low banks Vegetated low banks
9 Hypersaline tidal flats Picture
Picture
10A Salt- and brackish-water marshes
Picture Picture
10B Freshwater marshes
Freshwater marshes Freshwater marshes
10C Swamps
Swamps Swamps
10D Scrub-shrub wetlands; Mangroves**
Scrub-shrub wetlands Scrub-shrub wetlands
10E Inundated low-lying tundra
Picture Picture
A database table was created with all sample locations. These sample locations where
then joined with the D11_esi ESIL geometry table by closest proximity.
To this table was added a measure of distance to the closest dune crest (D05_dunes).
QA, Automated
Verify 1:1 matching of id values and base layer id values.
QA, manual
Spot checked the shoreline sample locations to verify they were using the closest source
geometry.
Spot check locations with structures are classified as None.
Spot check locations with 400 feet or dunes classified as Dune (unless classified as
structure).
Spot checked distances from sample locations to closest source geometry.
Turned on scoring codes and spot verified that the distances matched the coding and
scores as defined by the scoring and coding rules.
Class coding
IF seaward_style_1 type name starts with any of the following, then class set to 'None'
'1B'
'6B'
'8B'
Climate Ready Coast - Layer and Data Information 2025-04-09
92
'8C'
ELSE IF distance within 400 feet of the ESIL line class set to 'Dune'
ELSE class set to ESIL name
Numeric coding
-- UNH 'shoreline structure was present'
WHEN seaward_stype_1 like '1B%' THEN null
WHEN seaward_stype_1 like '6B%' THEN null
WHEN seaward_stype_1 like '8B%' THEN null
WHEN seaward_stype_1 like '8C%' THEN null
-- UNH
WHEN dune_distance_ft < 400 THEN 6
-- UNH
WHEN seaward_stype_1 like '2A%' THEN 2
WHEN seaward_stype_1 like '3A%' THEN 5
WHEN seaward_stype_1 like '4%' THEN 4
WHEN seaward_stype_1 like '5%' THEN 3
WHEN seaward_stype_1 like '8A%' THEN 2
WHEN seaward_stype_1 like '9B%' THEN 5
WHEN seaward_stype_1 like '10A%' THEN 6
WHEN seaward_stype_1 like '10B%' THEN 6
WHEN seaward_stype_1 like '10C%' THEN 6
WHEN seaward_stype_1 like '10D%' THEN 6
-- UNH, from seaward
WHEN seaward_stype_1 like '%8A: Sheltered Scarps (Bedrock/Mud/Clay)' THEN 4
-- Not present in UNH data
WHEN seaward_stype_1 like '1A%' THEN 2
WHEN seaward_stype_1 like '6A%' THEN 2
-- used for detecting missing types
ELSE -1
Note that if the score was set to null, neither the score nor the layer weight contributes
to the total combined score for the sample point.
Also note that if the ESI type marks the location as having a structure, but the point is
within 400 feet of a sand dune, the scoring for the structure takes precedence and the
sample point is scored as null/none.
Weights
A weight of "1" is used when adding layer scores to final score.
Climate Ready Coast - Layer and Data Information 2025-04-09
93
w22 Landward Slope Document
Layer ID
22
Layer Name
Slope, Landward
Layer Token
slope_landward
Layer Table
w22_slope_landward
Layer Data Fields
id unique id, matches ids in base point layer (w00).
slope calculated slope (difference in elevation / projected distance)
prj_geom location of the projected point (EPSG: 26919)
elv elevation of the shoreline point (NAVD88)
prj_elv elevation of the projected point (NAVD88)
Layer Data Field Constraints
id unique, not null
slope is not null
prj_geom is not null, type POINT, EPSG: 26919
elv is not null
prj_elv is not null
Layer Score Table
w22_slope_landward_score
Layer Score Table Fields
class - text field with classification name
score - integer field with score value
Source data
See data layer D01 (DEMs)
Processing steps
Identified all source DEMs that intersect the AOI.
Created a VRT of all DEMs for the entire coverage area.
Looped over a 5km square grid, enumerated all points within the W00 layer list for that
square. For each point, retrieved aspect value from layer w01 to serve as the vector
direction. Using this vector, a new point was created by projecting 50 feet along the
vector direction landward. Using the VRT, the elevation of the point was retrieved and
the elevation and projected distance were used to compute the slope.
Climate Ready Coast - Layer and Data Information 2025-04-09
94
Entire update operation took less than 2 minute.
QA, Automated
Verify slope > -1.00 and slope < 1.5
Verify elv > -0.42 and elv < 6.50
Verify prj_elv > -12.0 and prj_elv < 22
Verify 1:1 matching of id values and base layer id values.
QA, manual
Reviewed slope values along coastline. Brought up point locations for shoreline point
and projected point. Looked for areas with known topographic profiles to ensure
expected slope was observed. This included beaches, wetlands, dunes, rocky coastlines,
and railroad and highway crossings. All slope values were consistent with expected
profiles.
Loaded one of the source DEM files and spot checked that shoreline and projected point
elevation values matched the elevation values found in the DEM file. All checks passed.
Spot checked the distance between shoreline points and projected points to ensure that
the projected distance was 50 feet.
Created a database query to identify areas with particularly high and low (negative)
slope values. Checked those areas manually. All checked locations appears to be
accurate and agreed with DEM data.
Turned on labels for scoring codes, score values, and slope. Verified that the coding
appears to be correct and various different spot locations.
Class coding
WHEN slope_percent <= 3 THEN '0-3 %'
WHEN slope_percent <= 10 THEN '3-10 %'
WHEN slope_percent <= 15 THEN '10-15 %'
WHEN slope_percent <= 30 THEN '15-30%'
ELSE '> 30 %'
Numeric coding
WHEN slope_percent <= 3 THEN 6
WHEN slope_percent <= 10 THEN 5
WHEN slope_percent <= 15 THEN 4
WHEN slope_percent <= 30 THEN 2
ELSE 1
Weights
A weight of "4" is used when adding landward slope scores to final score.
Climate Ready Coast - Layer and Data Information 2025-04-09
95
w23 Intertidal Slope Document
Layer ID
23
Layer Name
Slope, Seaward (intertidal)
Layer Token
slope_seaward_intertidal
Layer Table
w23_slope_seaward_intertidal
Layer Data Fields
id unique id, matches ids in base point layer (w00).
slope calculated slope (delta (elevation or depth) / projected distance)
cnt_geom location of the projected point (EPSG: 26919)
elv elevation of the shoreline point (NAVD88)
cnt_elv elevation of the projected point (fixed at 0) (NAVD88)
Layer Data Field Constraints
id unique, not null
slope is not null
cnt_geom is not null, type POINT, EPSG: 26919
elv is not null
cnt_elv is not null, must be 0.0
Layer Score Table
w23_slope_seaward_intertidal_score
Layer Score Table Fields
class - text field with classification name
score - integer field with score value
Source data
See data layer D01 (DEMs)
Processing steps
Identified all source DEMs that intersect the AOI.
Created a VRT of all DEMs for the entire coverage area.
Created a 0-level contour of the entire AOI.
Because of the size of the contour and shoreline database tables, the slope was
computed in chunks. Looping over a 4k x 4k grid that covers the AOI, enumerated all
points within the W00 layer list for that grid. For the same grid only this time increased
Climate Ready Coast - Layer and Data Information 2025-04-09
96
by 1500 meters, the 0-contour lines were created and stored in a temporary table. For
each point in the grid, the closest contour line location was identified. The slope was
then computed by dividing the elevation of the shoreline point by the distance to the
nearest contour line. The slope, elevations, and contour point were then store in the
output table.
Entire update operation took around 40 minutes.
QA, Automated
Verify slope > -0.80 and slope < 9.0
Verify elv > -1.0 and elv < 10
Verify cnt_elv >= 0.0 and cnt_elv <= 0.0
Verify 1:1 matching of id values and base layer id values.
QA, manual
Reviewed slope values along coastline. Brought up point locations for shoreline point
and projected point. Looked for areas with known topographic profiles to ensure
expected slope was observed. This included beaches, wetlands, dunes, rocky coastlines,
and railroad and highway crossings. Except as noted in Problems section, all slope
values were consistent with expected profiles.
Loaded one of the source DEM files and spot checked that shoreline and projected point
elevation values matched the elevation values found in the DEM file. Also verified that
the projected point locations were at the 0-level. All checks passed.
Brought up the 0-level contour. Spot checked the distance between shoreline points
and projected point to verify that the chosen point was the closest point that could have
been chosen.
Created a database query to identify areas with particularly high and low (negative)
slope values. Checked those areas manually. All checked locations appears to be
accurate and agreed with DEM data. The most negative was on a drydock at the
Portsmouth Navy Shipyard and the most positive was near the Cliff House.
Turned on labels for scoring codes, score values, and slope. Verified that the coding
appears to be correct and various different spot locations.
Class coding
WHEN slope <= 0.2 THEN 'Flat Slope (<= 0.2)'
WHEN slope > 0.2 and slope <= 0.333 THEN 'Moderate slope (> 0.2 and <= 0.333)'
WHEN slope > 0.333 THEN 'Steep Slope (>0.333)'
Numeric coding
WHEN slope <= 0.2 THEN 6
WHEN slope > 0.2 and slope <= 0.333 THEN 2
WHEN slope > 0.333 THEN 0
Climate Ready Coast - Layer and Data Information 2025-04-09
97
Weights
A weight of "4" is used when adding seaward intertidal slope scores to final score.
Climate Ready Coast - Layer and Data Information 2025-04-09
98
w24 Bathymetric Slope Document
Layer ID
24
Layer Name
Slope, Seaward (bathymetric)
Layer Token
slope_seaward_bathymetric
Layer Table
w24_slope_seaward_bathymetric
Layer Data Fields
id unique id, matches ids in base point layer (w00).
slope calculated slope (delta (elevation or depth) / projected distance)
prj_geom location of the projected point (EPSG: 26919)
elv elevation of the shoreline point (NAVD88)
prj_elv elevation of the projected point (NAVD88)
Layer Data Field Constraints
id unique, not null
slope is not null
prj_geom is not null, type POINT, EPSG: 26919
elv is not null
prj_elv is not null
Layer Score Table
w24_slope_seaward_bathymetric_score
Layer Score Table Fields
class - text field with classification name
score - integer field with score value
Source data
See data layer D02 (CUDEMs)
Processing steps
Identified all source DEMs that intersect the AOI. Created a VRT of all DEMs for the
entire coverage area.
Isolated the zero-level crossing from the VRT and stored as lines.
Identified all source CUDEM files and retrieved them from NOAA. Downloaded all
identified source files from:
https://chs.coast.noaa.gov/htdata/raster2/elevation/NCEI_ninth_Topobathy_2014_
8483/MA_NH_ME
Climate Ready Coast - Layer and Data Information 2025-04-09
99
Created a VRT of all CUDEM files.
Looped over a 5km square grid, enumerated all points within the W00 layer list for that
square. Retrieved the elevation for each point from w00. Created a contour table with
just the contour lines for this block plus a small buffer. For all points, figure out the
closest contour point and save location, distance, azimuth. Project a vector 100 feet past
this intersection point along the same azimuth. Store all points Lookup elevations in
CUDEM and compute differences. Wrote all values to table.
QA, Automated
Verify slope > -0.75 and slope < 0.65
Verify elv > -15.0 and elv < 22
Verify prj_elv > prj_elv > -20.0 and prj_elv < 22
Verify 1:1 matching of id values and base layer id values.
QA, manual
Reviewed slope values along coastline. Brought up point locations for shoreline point
and projected point. Looked for areas with known topographic profiles to ensure
expected slope was observed. This included beaches, wetlands, dunes, rocky coastlines,
and railroad and highway crossings. All slope values were consistent with expected
profiles.
Loaded one of the source CUDEM files and spot checked that shoreline and projected
point elevation values matched the elevation values found in the DEM file. All checks
passed.
Spot checked the distance between shoreline points and projected points to ensure that
the projected distance was 100 feet.
Created a database query to identify areas with particularly high and low (negative)
slope values. Checked those areas manually. All checked locations appears to be
accurate and agreed with DEM data. While the most negative slope was real (Piscataqua
channel), the most positive one was caused by bad geometry showing a projected point
up by the Cliff House. This bad projection was caused by a narrow inlet.
Turned on labels for scoring codes, score values, and slope. Verified that the coding
appears to be correct and various different spot locations.
Class coding
WHEN slope_percent < 0 THEN 'No Data'
WHEN slope_percent <= 3 THEN '0-3 %'
WHEN slope_percent <= 10 THEN '3-10 %'
WHEN slope_percent <= 20 THEN '10-20 %'
WHEN slope_percent <= 33 THEN '20-33 %'
ELSE '> 33 %'
Climate Ready Coast - Layer and Data Information 2025-04-09
100
Numeric coding
WHEN slope_percent < 0 THEN null
WHEN slope_percent <= 3 THEN 6
WHEN slope_percent <= 10 THEN 4
WHEN slope_percent <= 20 THEN 3
WHEN slope_percent <= 33 THEN 2
ELSE 1
Weights
A weight of "4" is used when adding seaward bathymetric slope scores to final score.
Climate Ready Coast - Layer and Data Information 2025-04-09
101
w25 Coastal Structures Document
Layer ID
25
Layer Name
Structures, Hardening Types
Layer Token
structures_hardening
Layer Table
w25_structures_hardening
Layer Data Fields
id Unique id, matches ids in base point layer (w00).
distance double precision -- distance from sample location to closest structure
point (D13_hardening).
structure1 Primary structure type
structure2 Secondary structure type
Layer Data Field Constraints
distance >= 0
distance <= 11,000 meters
distance is not null
structure1 is not null
Layer Score Table
w25_structures_hardening_score
Layer Score Table Fields
class - text field with classification name
score - integer field with score value
Source data
See data layer D03 (HAT)
See data layer D13 (Hardening)
Processing steps
D13_hardening source data was downloaded as a geojson file.
The source data was loaded into a database.
A database table was created with all sample locations. Proximity measurements were
computed between all sample points and the closest structure point. This distance
along with the structure types were stored in the table.
QA, Automated
Climate Ready Coast - Layer and Data Information 2025-04-09
102
Verify 1:1 matching of id values and base layer id values.
QA, manual
Spot checked distance from sample locations to nearest structure points to verify
distance calculations.
Spot checked sample locations which were over 100 feet from structure points to verify
they are set to null.
Spot checked class values to ensure class matched correct classification of closest
structure type.
Spot checked score values to ensure scores matched correct classification score of
nearest structure type.
Class coding
WHEN distance_ft > 100 THEN 'No structures'
ELSE structure1
Numeric coding
WHEN distance_ft > 100 THEN null
WHEN structure1 like 'beach' THEN 3
WHEN structure1 like 'bluff' THEN 2
WHEN structure1 like 'breakwater' THEN 1
WHEN structure1 like 'bridge abutment' THEN 1
WHEN structure1 like 'bulkhead' THEN 2
WHEN structure1 like 'gabion' THEN 2
WHEN structure1 like 'geotube' THEN 1
WHEN structure1 like 'jetty' THEN 1
WHEN structure1 like 'ledge' THEN 1
WHEN structure1 like 'rip-rap' THEN 3
ELSE -1
Weights
A weight of "3" is used when adding layer scores to final score.
Climate Ready Coast - Layer and Data Information 2025-04-09
103
w27 Northeast Fetch Document
Layer ID
27
Layer Name
Fetch, Northeast
Layer Token
fetch_northeast
Layer Table
w27_fetch_northeast
Layer Data Fields
id unique id, matches ids in base point layer (w00).
dist fetch distance in meters at shoreline points
Layer Data Field Constraints
dist is not null, >= 0, <= 10 mi
Layer Score Table
w27_fetch_northeast_score
Layer Score Table Fields
class - text field with classification name
score - integer field with score value
Source data
See data layer D03 (HAT)
Processing steps
Create a raster fetch file where the cell values in the raster are the distance waves can
travel from the northeast to that cell location. Distance values are calculated in meters
and capped at 10 miles. Distance calculations are performed using a modified version of
a python module called WindFetch (https://github.com/KennethTM/WindFetch.git).
Sources have been modified to support unbounded ocean distances and some options
for filling and normalizing distance values. For each cell value, the fetch distances from
9 wind angles (3 degrees apart) are calculated and then combined using a weighted
average based on the cosine of the wind angle off of the center heading.
A database table is created with all sample locations. The locations are then looked up
in the raster image and the cell values are assigned as the fetch distances.
QA, Automated
Verify 1:1 matching of id values and base layer id values.
QA, manual
Climate Ready Coast - Layer and Data Information 2025-04-09
104
Reviewed fetch_northeast values along coastline. With a measuring tool, spot verified
that the distance reported for each point matched the 45 bearing distance until land was
hit. Where the maximum fetch value was observed for the point, verified that no land
existed in the 45 degree direction. Tested along the open shore as well as within areas
bounded by land on all sides. Tested in the lee of islands as well as on the side facing the
45 degree fetch direction. All observed values matched expected and measured results.
Brought up a raster fetch data file that was used to create the point distances. Spot
verified that the point distances matched the raster cell values. Also verified that the
spread (9 radials) was observed in the raster cells. Measured spread values to verify
fetch falloff as the angle increased.
Created a database query to verify the expected range and distribution of fetch
distances
Turned on scoring codes and spot verified that the fetch distances matched the coding
and scores as defined by the scoring and coding rules.
Class coding
WHEN fetch_mi <= 0.5 THEN '0.0 - 0.5 mi'
WHEN fetch_mi <= 1.0 THEN '0.5 - 1.0 mi'
WHEN fetch_mi <= 2.0 THEN '1.0 - 2.0 mi'
WHEN fetch_mi <= 3.0 THEN '2.0 - 3.0 mi'
WHEN fetch_mi <= 5.0 THEN '3.0 - 5.0 mi'
WHEN unbounded THEN 'unbounded'
ELSE '> 5 mi'
Numeric coding
WHEN fetch_mi <= 0.5 THEN 6
WHEN fetch_mi <= 1.0 THEN 5
WHEN fetch_mi <= 2.0 THEN 4
WHEN fetch_mi <= 3.0 THEN 3
WHEN fetch_mi <= 5.0 THEN 2
WHEN unbounded THEN 0.5
ELSE 1
Weights
A weight of "3" is used when adding relief scores to final score.
Climate Ready Coast - Layer and Data Information 2025-04-09
105
w28 Seaward Habitat Extra Document
Layer ID
28
Layer Name
Shoreline Type, Seaward Extra
Layer Token
shoreline_seaward_extra
Layer Table
w28_shoreline_seaward_extra
Layer Data Fields
id Unique id, matches ids in base point layer (w00).
distance Distance from sample point to ESI line (D11)
landward_stype Landward ESI type
seaward_stype_1 Seaward ESI type 1
seaward_stype_2 Seaward ESI type 2
Layer Data Field Constraints
distance is not null, >= 0, <= 11 km
landward_stype is not null and is not 'None'
seaward_stype_1 might be 'None'
seaward_stype_2 might be 'None'
Layer Score Table
w28_shoreline_seaward_extra_score
Layer Score Table Fields
class - text field with classification name
score - integer field with score value
Source data
See data layer D03 (HAT)
See data layer D05 (Dunes)
See data layer D11 (ESI)
Processing steps
D11_esi data was downloaded in GeoDatabase format from
https://response.restoration.noaa.gov/esi_download#Maine.
Data was decompressed using a python script.
Data was converted to Shapefile format using GDAL ogr2ogr.
The ESIL layer was loaded into a PostGIS database.
Climate Ready Coast - Layer and Data Information 2025-04-09
106
The ESIL layer was converted from multiline to line. The Z and M measurements were
dropped from the geometry and the coordinates were converted to NAD83 Zone 19N.
Categories
ESI Rank Estuarine Lacustrine Riverine
1A Exposed rocky shores
Exposed rocky shores Exposed rocky banks
1B Exposed, solid man-made structures
Exposed, solid man-made structures Exposed, solid man-made
structures
1C Exposed rocky cliffs with boulder talus base
Exposed rocky cliffs with boulder talus base Exposed rocky cliffs with boulder
talus base
2A Exposed wave-cut platforms in bedrock, mud, or clay
Shelving bedrock shores Rocky shoals, bedrock ledges
2B Exposed scarps and steep slopes in clay
Picture Picture
3A Fine to medium-grained sand beaches
Picture Picture
3B Scarps and steep slopes in sand
Eroding scarps in unconsolidated sediment Exposed, eroding banks in
unconsolidated sediments
3C Tundra cliffs Picture
Picture
4 Coarse-grained sand beaches
Sand beaches Sandy bars and gently sloping
banks
5 Mixed sand and gravel beaches
Mixed sand and gravel beaches Mixed sand and gravel bars
and gently sloping banks
6A Gravel beaches Gravel
beaches Gravel bars and gently sloping banks
Gravel beaches (granules and pebbles)*
6B Riprap Riprap
Riprap
Gravel beaches (cobbles and boulders)*
6C* Riprap Picture
Picture
7 Exposed tidal flats
Exposed tidal flats Picture
8A Sheltered scarps in bedrock, mud, or clay
Sheltered scarps in bedrock, mud, or clay Picture
Sheltered rocky shores (impermeable)*
8B Sheltered, solid man-made structures
Sheltered, solid man-made structures Sheltered, solid man-made
structures
Sheltered rocky shores (permeable)*
8C Sheltered riprap
Sheltered riprap Sheltered riprap
Climate Ready Coast - Layer and Data Information 2025-04-09
107
8D Sheltered rocky rubble shores Picture
Picture
8E Peat shorelines Picture
Picture
8F Picture Picture
Vegetated, steeply-sloping bluffs
9A Sheltered tidal flats
Sheltered sand/mud flats Picture
9B Vegetated low banks
Vegetated low banks Vegetated low banks
9 Hypersaline tidal flats Picture
Picture
10A Salt- and brackish-water marshes
Picture Picture
10B Freshwater marshes
Freshwater marshes Freshwater marshes
10C Swamps
Swamps Swamps
10D Scrub-shrub wetlands; Mangroves**
Scrub-shrub wetlands Scrub-shrub wetlands
10E Inundated low-lying tundra
Picture Picture
A database table was created with all sample locations. These sample locations where
then joined with the D11_esi ESIL geometry table by closest proximity.
To this table was added a measure of distance to the closest dune crest (D05_dunes).
QA, Automated
Verify 1:1 matching of id values and base layer id values.
QA, manual
Spot checked the shoreline sample locations to verify they were using the closest source
geometry.
Spot check locations with structures are classified as None.
Spot check locations with 400 feet or dunes classified as Dune (unless classified as
structure).
Spot checked distances from sample locations to closest source geometry.
Turned on scoring codes and spot verified that the distances matched the coding and
scores as defined by the scoring and coding rules.
Class coding
IF seaward_stype_2 type name starts with any of the following, then class set to 'None'
'1B'
'6B'
'8B'
Climate Ready Coast - Layer and Data Information 2025-04-09
108
'8C'
ELSE IF distance within 400 feet of the ESIL line class set to 'Dune'
ELSE class set to ESIL name
Numeric coding
-- UNH 'shoreline structure was present'
WHEN seaward_stype_2 like '1B%' THEN null
WHEN seaward_stype_2 like '6B%' THEN null
WHEN seaward_stype_2 like '8B%' THEN null
WHEN seaward_stype_2 like '8C%' THEN null
-- UNH
WHEN dune_distance_ft < 400 THEN 6
-- UNH
WHEN seaward_stype_2 like '2A%' THEN 2
WHEN seaward_stype_2 like '3A%' THEN 5
WHEN seaward_stype_2 like '4%' THEN 4
WHEN seaward_stype_2 like '5%' THEN 3
WHEN seaward_stype_2 like '8A%' THEN 2
WHEN seaward_stype_2 like '9B%' THEN 5
WHEN seaward_stype_2 like '10A%' THEN 6
WHEN seaward_stype_2 like '10B%' THEN 6
WHEN seaward_stype_2 like '10C%' THEN 6
WHEN seaward_stype_2 like '10D%' THEN 6
-- UNH, from seaward
WHEN seaward_stype_2 like '%8A: Sheltered Scarps (Bedrock/Mud/Clay)' THEN 4
-- Not present in UNH data
WHEN seaward_stype_2 like '1A%' THEN 2
WHEN seaward_stype_2 like '6A%' THEN 2
-- used for detecting missing types
ELSE -1
Note that if the score was set to null, neither the score nor the layer weight contributes
to the total combined score for the sample point.
Also note that if the ESI type marks the location as having a structure, but the point is
within 400 feet of a sand dune, the scoring for the structure takes precedence and the
sample point is scored as null/none.
Weights
A weight of "1" is used when adding layer scores to final score.
Climate Ready Coast - Layer and Data Information 2025-04-09
109
w29 Soils Erodibility Document
Layer ID
29
Layer Name
Erodibility
Layer Token
erodibility
Layer Table
w29_erodibility
Layer Data Fields
id Unique id, matches ids in base point layer (w00).
value Erodibility value (0.00 - 0.64)
distance Distance to nearest ssurgo polygon
Layer Data Field Constraints
value >= 0.0 and value <= 0.64 (or null)
distance not null and distance >= 0
Layer Score Table
w29_erodibility_score
Layer Score Table Fields
class - text field with classification name
score - integer field with score value
Source data
See data layer D03 (HAT)
See data layer D34 (SURGO Erodibility) NRCS Soils Erodibility Factor
Processing steps
A database table was created with all sample locations. For each sample location, the
closest mapunit polygon in the
D34_ssurgo_rodibility table was found. One found, the distance was set and the kffact
value was copied to the value field.
QA, Automated
Verify 1:1 matching of id values and base layer id values.
Verified erodibility values in the proper range (0.00 - 0.64)
QA, manual
Spot checked shoreline sample location spots to ensure that the nearest SSURGO
polygon was being used.
Climate Ready Coast - Layer and Data Information 2025-04-09
110
Spot checked shoreline sample location spots to ensure that the correct value (from the
nearest polygon) was being saved.
Turned on class and scoring codes and spot verified that the class/score values matched
the coding and scores as defined by the scoring and coding rules.
Class coding
WHEN value is null THEN 'None'
WHEN value <= 0.1 THEN '0.0 - 0.1'
WHEN value <= 0.2 THEN '0.1 - 0.2'
WHEN value <= 0.3 THEN '0.2 - 0.3'
WHEN value <= 0.4 THEN '0.3 - 0.4'
WHEN value <= 0.5 THEN '0.4 - 0.5'
WHEN value <= 0.64 THEN '0.5 - 0.64'
Numeric coding
WHEN value is null THEN null
WHEN value <= 0.1 THEN 2
WHEN value <= 0.2 THEN 4
WHEN value <= 0.3 THEN 5
WHEN value <= 0.4 THEN 4
WHEN value <= 0.5 THEN 3
WHEN value <= 0.64 THEN 2
Note that if the score was set to null, neither the score nor the layer weight contributes
to the total combined score for the sample point.
Weights
A weight of "3" is used when adding layer scores to final score.
Climate Ready Coast - Layer and Data Information 2025-04-09
111
w31 Landcover Document
Layer ID
31
Layer Name
Land Cover
Layer Token
landcover
Layer Table
w31_landcover
Layer Data Fields
id Unique id, matches ids in base point layer (w00).
category Land cover category class number
Layer Data Field Constraints
category >= 0 and category <= 32
category not null
Layer Score Table
w31_landscape_score
Layer Score Table Fields
class - text field with classification name
score - integer field with score value
Source data
See data layer D03 (HAT)
See data layer D31 (Land Cover)
Processing steps
D31_landcover data was downloaded as a single TIFF file.
The AOI polygon envelope was transformed to EPSG 5070 which is the native projection
of the TIFF file.
This polygon was then used to clip the AOI region out of the TIFF file and reproject to
EPSH 26919 (NAD83 UTM Zone 19N).
A database table was created with all sample locations. Each sample location was then
looked up in the TIFF file and the category class number at that cell location was stored
with the sample information.
The following values were set when accessing the D31_landcover data set:
category
Climate Ready Coast - Layer and Data Information 2025-04-09
112
Entire update operation took about 1 minute.
QA, Automated
Verify 1:1 matching of id values and base layer id values.
Verified category in the proper range (0 - 32)
QA, manual
Verified that the processed raster data covered the entire project AOI.
Spot checked the shoreline sample locations to verify the value at the sample location
matched the value from the raster source. This included verifying that locations with no
raster value (offshore islands) were marked with a 0/null value.
Turned on class and scoring codes and spot verified that the class/score values matched
the coding and scores as defined by the scoring and coding rules.
Class coding
WHEN category = 0 THEN 'Background'
WHEN category = 2 THEN 'Developed Impervious'
WHEN category = 8 THEN 'Upland Herbaceous'
WHEN category = 11 THEN 'Upland Forest'
WHEN category = 12 THEN 'Scrub/Shrub'
WHEN category = 13 THEN 'Palustrine Forested Wetland'
WHEN category = 14 THEN 'Palustrine Scrub/Shrub Wetland'
WHEN category = 15 THEN 'Palustrine Emergent Wetland (Persistent)'
WHEN category = 17 THEN 'Estuarine Scrub/Shrub Wetland'
WHEN category = 18 THEN 'Estuarine Emergent Wetland'
WHEN category = 19 THEN 'Unconsolidated Shore'
WHEN category = 20 THEN 'Barren Land'
WHEN category = 21 THEN 'Open Water'
WHEN category = 23 THEN 'Estuarine Aquatic Bed'
Numeric coding
WHEN category = 0 THEN null
WHEN category = 2 THEN 1
WHEN category = 8 THEN 6
WHEN category = 11 THEN 6
WHEN category = 12 THEN 6
WHEN category = 13 THEN 5
WHEN category = 14 THEN 5
WHEN category = 15 THEN 5
WHEN category = 17 THEN 5
WHEN category = 18 THEN 5
WHEN category = 19 THEN 2
WHEN category = 20 THEN 2
WHEN category = 21 THEN 3
WHEN category = 23 THEN 4
Climate Ready Coast - Layer and Data Information 2025-04-09
113
Note that if the score was set to null, neither the score nor the layer weight contributes
to the total combined score for the sample point.
Weights
A weight of "3" is used when adding layer scores to final score.
Climate Ready Coast - Layer and Data Information 2025-04-09
114
w32 Dry Beach Erosion Rate Document
Layer ID
32
Layer Name
Dry Beach, Erosion
Layer Token
dry_beach_erosion
Layer Table
w32_dry_beach_erosion
Layer Data Fields
id unique id, matches ids in base point layer (w00).
distance distance to closest transect location in meters
rate mean yearly beach width change in meters
beach_distance distance to nearest beach (d28_beach_location)
Layer Data Field Constraints
distance is not null, >= 0, <= 18 km
rate > -35 and rate < 68
Layer Score Table
w32_dry_beach_erosion_score
Layer Score Table Fields
class - text field with classification name
score - integer field with score value
Source data
See data layer D03 (HAT)
See data layer D33 (Dry Beach Erosion)
See data layer D28 (Beach Location)
Processing steps
All D33_Dry_Beach_Erosion data was downloaded and loaded into a database for
processing.
A database table was created with all sample locations. These sample locations where
then joined with the dry beach width change rate table by closest proximity. Beach
width change rate and distance to beach measurement location were stored in the table.
The beach width change erosion rate was taken from DBW_Change if the value was not
null.
Climate Ready Coast - Layer and Data Information 2025-04-09
115
The beach_distance field was filled by computing the distance to d28_beach_location
polygons.
QA, Automated
Verify 1:1 matching of id values and base layer id values.
Verify that all points within d28_beach_location have a beach_distance of 0
QA, manual
Performed sanity test on raw dry_beach_width database:
Verified beach change ranges
Verified general location of data set
Spot checked the shoreline sample locations to verify they were using the closest (non-
null rate change) transect.
Spot checked computed distance values.
Turned on scoring codes and spot verified that the distances matched the coding and
scores as defined by the scoring and coding rules.
Class coding
WHEN beach_distance > 0 THEN 'Not a beach'
WHEN erosion_ft >= 20 THEN '> 20 feet per year'
WHEN erosion_ft > 10 THEN '> 10 ft and < 20 ft per year'
WHEN erosion_ft > 0 THEN '> 0 ft and < 10 ft per year'
WHEN erosion_ft > -10 THEN '> -10 ft and < 0 ft per year'
WHEN erosion_ft > -20 THEN '> -20 ft and < -10 ft per year'
ELSE '<= -20 ft per year'
Numeric coding
WHEN beach_distance > 0 THEN null
WHEN erosion_ft >= 20 THEN 1
WHEN erosion_ft > 10 THEN 2
WHEN erosion_ft > 0 THEN 3
WHEN erosion_ft > -10 THEN 4
WHEN erosion_ft > -20 THEN 5
ELSE 6
Weights
A weight of "1" is used when adding scores to final score.
Climate Ready Coast - Layer and Data Information 2025-04-09
116
w33 Total Beach Width Document
Layer ID
33
Layer Name
Beach, Total Width
Layer Token
total_beach_width
Layer Table
w33_total_beach_width
Layer Data Fields
id unique id, matches ids in base point layer (w00).
distance_hwl distance to high water line (meters)
distance_imp distance to impervious surface (meters)
beach_distance distance to d28_beach_location polygon
hwl_point location of nearest HWL point
imp_point location of nearest impervious surface point
reversed flag to signal HAT point below HWL point
width total beach width in meters
Layer Data Field Constraints
distance_hwl < 63 or distance_beach > 0
distance_imp <= 40 or distance_beach > 0
width < 103 or distance_beach > 0
Layer Score Table
w33_total_beach_width_score
Layer Score Table Fields
class - text field with classification name
score - integer field with score value
Source data
See d03_hat for HAT metadata.
See d12_impervious for NOAA C-CAP High Resolution Impervious Data
See d24_beach_shoreline_types for MGS Beach Mapping Shoreline Types
See d28_beach_location Maine Beach Locations
Processing steps
All d12_impervious and d24_beach_shoreline_types data was downloaded and loaded
into a database for processing.
Climate Ready Coast - Layer and Data Information 2025-04-09
117
A database table was created with all sample locations. From the
d24_beach_shoreline_types, the most recent high water lines were extracted for every
beach. Using these high water lines, the distance from the sample points to the closest
high water line was computed and stored (distance_hwl). From the d12_impervious
data set, the distance from each sample point to the nearest impervious surface was
computed and stored (distance_imp). Note that because the maximum class distance
was > 120 feet, the maximum distance to the nearest impervious surface was capped at
40 meters to ease in processing.
Because the HAT and HWL data came from different data sets, there are some sample
locations where the HAT point location had a lower vertical elevation than the HWL. In
this case the HWL point was not between sample point and the ocean. These locations
were marked as 'reversed'.
To compute the total beach width, the distance_hwl was added to the distance_imp
except in those cases marked as reversed. In the reversed cases, the total beach width
was composed of the distance_imp subtracting the distance_hwl.
The beach_distance field was filled by computing the distance to nearest
d28_beach_location polygon.
QA, Automated
Verify 1:1 matching of id values and base layer id values.
Verify total width = distance_hwl + distance_imp (if not reversed)
Verify total width = distance_imp (if reversed)
QA, manual
Performed sanity tests on NOAA C-CAP High Resolution Impervious Data
(d12_impervious) and NOAA C-CAP High Resolution Impervious Data (d12_impervious).
This was primarily to verify the coverage of the data.
Spot checked the distance_hwl and hwl_point to ensure the closest HWL was being used
and the distances to the transect lines were accurate.
Spot checked the distance_imp and imp_point to ensure the closest impervious surface
was being used and the distance to the location was accurate.
Turned on scoring codes and spot verified that the distances matched the coding and
scores as defined by the scoring and coding rules. In addition, make sure that sample
points located more than 150 feet from a transect are marked with a null score.
Class coding
WHEN beach_distance > 0 THEN 'Not a beach'
WHEN width_ft >= 120 THEN '> 120 ft'
WHEN width_ft >= 100 THEN '> 100 ft and < 120 ft'
WHEN width_ft >= 80 THEN '> 80 ft and <= 100 ft'
WHEN width_ft >= 60 THEN '> 60 ft and <= 80 ft'
Climate Ready Coast - Layer and Data Information 2025-04-09
118
WHEN width_ft >= 40 THEN '> 40 ft and <= 60 ft'
ELSE '<= 40'
Numeric coding
WHEN beach_distance > 0 THEN null
WHEN width_ft >= 120 THEN 1
WHEN width_ft >= 100 THEN 2
WHEN width_ft >= 80 THEN 3
WHEN width_ft >= 60 THEN 4
WHEN width_ft >= 40 THEN 5
ELSE 6
Weights
A weight of "1" is used when adding scores to final score.
Climate Ready Coast - Layer and Data Information 2025-04-09
119
w37 Aquaculture Document
Layer ID
37
Layer Name
Aquaculture
Layer Token
aquaculture
Layer Table
w37_aquaculture
Layer Data Fields
id Unique id, matches ids in base point layer (w00).
site_type AS = Aquaculture Leases, LPAS = Limited Purpose Aquaculture Sites
species Species name, might be multiple
distance Distance to aquaculture site in meters.
Layer Data Field Constraints
distance is not null, >= 0, <= 19 km
Layer Class/Score Table
w37_aquaculture_score
Layer Class/Score Table Fields
class - text field with classification name ("<Species name>" or ">= 1000 ft to
aquaculture site")
Source data
See data layer D03 (HAT)
See data layer D25 (aquaculture)
Processing steps
D25_aquaculture data was downloaded as GeoJSON files (AS and LPAS) with CRS of
EPSG::26919 (NAD83 UTM Zone 19 North)
GeoJSON files were loaded into tables (AS and LPAS)
A table was generated which merged the contents of the two source tables. This merged
table included
site type (AS or LPAS)
site species
site geometry
For LPAS sites, geometry was a small (1m) polygon surrounding the point location.
Climate Ready Coast - Layer and Data Information 2025-04-09
120
For AS sites, geometry was a set of polygons creating by fixing illegal geometry and
exploding multipart geometry into individual polygons.
A database table was created with all sample locations. These sample locations where
then joined with the D25_aquaculture polygon table by closest proximity.
QA, Automated
Verify 1:1 matching of id values and base layer id values.
Verify no null distance.
Verify distance < 19 km.
Verify exactly two site types.
QA, manual
Spot checked to verify closest geometry was chosen (as and lpas)
Spot checked distance calculations (as and lpas).
Spot checked correct species pulled from source tables for class field (as and lpas).
Spot check that sites marked as (T / terminated) are ignored.
Verified that invalid geometry was successfully converted to valid geometry for
processing.
Verified that class field was filled with proper information ("Aquaculture > 1000 ft" or
<Species name>).
Class coding
WHEN distance_ft <= 1000 THEN species
ELSE 'Aquaculture > 1000 ft'
Numeric coding
This layer is a non-scoring layer so no score value was computed.
Weights
No score is computed and no score is added to the final sum.
Climate Ready Coast - Layer and Data Information 2025-04-09
121
w38 Conservation Land Document
Layer ID
38
Layer Name
Conservation Land
Layer Token
conservation_land
Layer Table
w38_conservation_land
Layer Data Fields
id Unique id, matches ids in base point layer (w00).
project Project name used to group parcels (if applicable), e.g. Seboeis Public
Reserve Lands; Merrymeeting Bay WMA
hold1_name The primary owner (if a conservation landowner) or easement
holder.
hold1_type Category of the primary owner or easement holder
distance Distance in meters from point location to closest easement polygon
point.
Layer Data Field Constraints
distance is not null, >= 0, <= 12 km
Layer Score Table
w38_conservation_land_score
Layer Score Table Fields
class - text field with classification name
Source data
See data layer D03 (HAT)
See data layer D19 (Conserve)
Processing steps
D19_Conserved data was downloaded as geojson and loaded into a database for
processing.
A database table was created with all sample locations. These sample locations where
then joined with the D19_Conserved polygon table by closest proximity.
The following fields were copied from D19_Conserved:
project
hold1_name
hold1_type
Climate Ready Coast - Layer and Data Information 2025-04-09
122
QA, Automated
Verify 1:1 matching of id values and base layer id values.
Verify no null distance.
Verify distance < 12 km.
QA, manual
Spot checked the shoreline sample locations to verify they were using the closest
polygon.
Spot checked distances from sample locations to closest polygon to verify the correct
distance cutoff.
Verified that class field was filled with proper name/type information.
Class coding
WHEN distance_ft <= 100 THEN hold1_name || ', ' || hold1_type
ELSE ''
Numeric coding
This layer is a non-scoring layer so no score value was computed.
Weights
No score is computed and no score is added to the final sum.
Climate Ready Coast - Layer and Data Information 2025-04-09
123
w39 CCAP Impervious cover Document
Layer ID
39
Layer Name
Impervious Cover
Layer Token
impervious_cover
Layer Table
w39_impervious_cover
Layer Data Fields
id Unique id, matches ids in base point layer (w00).
distance Distance in meters from point location to closest impervious cover location.
Layer Data Field Constraints
distance is not null, >= 0, <= 11 km
Layer Class/Score Table
w39_impervious_cover_score
Layer Class/Score Table Fields
class - text field with classification name (< 1000 ft to impervious cover / >= 1000 ft to
impervious cover)
Source data
See data layer D03 (HAT)
See data layer D12 (impervious)
Processing steps
D12_impervious data was downloaded as a ZIP file.
ZIP file was decompressed to a GeoTIFF file (Albers CONUS projection, EPSG:5070)
TIFF file was clipped to the project AOI.
TIFF file was reprojected to NAD83 UTM Zone 19N (EPSG:26919).
TIFF file was convert from boolean grid impervious surface file to floating point grid
distance to impervious surface file. GDAL ComputeProximity function was used for this
operation.
A database table was created with all sample locations. For each sample location, that
location was looked up in the proximity file and the distance from the location to the
nearest impervious surface was recorded.
Climate Ready Coast - Layer and Data Information 2025-04-09
124
QA, Automated
Verify 1:1 matching of id values and base layer id values.
Verify no null distance.
Verify distance < 11 km.
Verify exactly two classes.
QA, manual
Spot checked the shoreline sample locations to verify calculation for distance to closest
impervious cover.
Spot checked distances from sample locations to impervious cover to verify the correct
distance cutoff.
Verified that class field was filled with proper type information (> 1000 ft, < 1000 ft).
Class coding
WHEN distance_ft < 1000 THEN '< 1000 ft to impervious cover'
ELSE '>= 1000 ft to impervious cover'
Numeric coding
This layer is a non-scoring layer so no score value was computed.
Weights
No score is computed and no score is added to the final sum.
Climate Ready Coast - Layer and Data Information 2025-04-09
125
w40 Buildings Vulnerability Document
Layer ID
40
Layer Name
Buildings Vulnerability
Layer Token
buildings_vulnerability
Layer Table
w40_buildings_vulnerability
Layer Data Fields
id Unique id, matches ids in base point layer (w00).
va_score Vulnerability assessment score.
distance Distance in meters from point location to closest easement polygon
point.
Layer Data Field Constraints
distance is not null, >= 0, <= 12 km
Layer Score Table
w40_buildings_vulnerability_score
Layer Score Table Fields
class - text field with classification name
Source data
See data layer D03 (HAT)
See data layer D20 (building_fva)
Processing steps
D20_building_fva data was downloaded as geojson and loaded into a database for
processing.
A database table was created with all sample locations. These sample locations where
then joined with the D20_building_fva polygon table by closest proximity.
The following field were copied from D20_building_fva:
va_score
QA, Automated
Verify 1:1 matching of id values and base layer id values.
Verify no null distance.
Climate Ready Coast - Layer and Data Information 2025-04-09
126
Verify distance < 12 km.
QA, manual
Spot checked the shoreline sample locations to verify they were using the closest
polygon.
Spot checked distances from sample locations to closest polygon to verify the correct
distance cutoff.
Spot checked that the data set covered the project AOI. Note that there are missing data
areas as detailed in the QA file for w40.
Verified that class field was filled with proper vulnerability assessment score
information.
Class coding
WHEN distance_ft <= 400 THEN va_score
ELSE ''
Numeric coding
This layer is a non-scoring layer so no score value was computed.
Weights
No score is computed and no score is added to the final sum.
Climate Ready Coast - Layer and Data Information 2025-04-09
127
w41 Parcels Buildout Document
Layer ID
41
Layer Name
Parcels Buildout
Layer Token
parcels_buildout
Layer Table
w41_parcels_buildout
Layer Data Fields
id Unique id, matches ids in base point layer (w00).
bldout Buildout assessment value.
distance Distance in meters from point location to closest easement polygon
point.
Layer Data Field Constraints
distance is not null, >= 0, <= 12 km
Layer Score Table
w41_parcels_buildout_score
Layer Score Table Fields
class - text field with classification value
Source data
See data layer D03 (HAT)
See data layer D22 (parcels_zoning)
Processing steps
D22_parcels_zoning data was downloaded as geojson (10 files) and loaded into a
database for processing.
A database table was created with all sample locations. These sample locations where
then joined with the D22_parcels_zoning polygon table by closest proximity. Only
polygons with non-zero 'bldout' values OR non-zero 'map' values were used.
The following field were copied from D22_parcels_zoning:
bldout
QA, Automated
Verify 1:1 matching of id values and base layer id values.
Climate Ready Coast - Layer and Data Information 2025-04-09
128
Verify no null distance.
Verify distance < 12 km.
QA, manual
Verify that parcels with bldout value 0 and map value 0 (ocean, roads, etc.) were
ignored.
Spot checked the shoreline sample locations to verify they were using the closest
geometry.
Verified that class field was filled with proper (inside or closest) bldout information.
Class coding
class = bldout value as text
Numeric coding
This layer is a non-scoring layer so no score value was computed.
Weights
No score is computed and no score is added to the final sum.
Climate Ready Coast - Layer and Data Information 2025-04-09
129
w42 Wildlife and Habitats Vulnerability Assessment Document
Layer ID
42
Layer Name
Wildlife Score
Layer Token
wildlife
Layer Table
w42_wildlife
Layer Data Fields
id Unique id, matches ids in base point layer (w00).
va_score Wildlife score [1 .. 32]
distance Distance in meters from point location to closest wildlife geometry. Only
distance of zero is scored.
Layer Data Field Constraints
distance is not null, >= 0, <= 11 km
Layer Class/Score Table
w42_wildlife_score
Layer Class/Score Table Fields
class - text field with classification text (5 range labels or No Data)
Source data
See data layer D03 (HAT)
See data layer D26 (wildlife)
Processing steps
D26_wildlife data was downloaded as geojson and loaded into a database for
processing.
A database table was created with all sample locations. These sample locations where
then joined with the D26_wildlife table by proximity.
The following fields were copied from D26_wildlife:
va_score
QA, Automated
Verify 1:1 matching of id values and base layer id values.
Verify no null distance.
Climate Ready Coast - Layer and Data Information 2025-04-09
130
Verify distance < 11 km.
Verify va_score between 1 and 32
QA, manual
Verified that invalid geometry was successfully converted to valid geometry for
processing.
Spot checked to verify sample and proper intersecting geometry was chosen.
Spot checked correct wildlife value was set.
Verified that class field was filled with proper text based on wildlife value.
Class coding
WHEN distance_ft > 0 THEN 'No wildlife value'
WHEN va_score >= 26 THEN 'Very high value'
WHEN va_score >= 20 THEN 'High value'
WHEN va_score >= 14 THEN 'Medium value'
WHEN va_score >= 8 THEN 'Low value'
ELSE 'Very low value'
Numeric coding
This layer is a non-scoring layer so no score value was computed.
Weights
No score is computed and no score is added to the final sum.
Climate Ready Coast - Layer and Data Information 2025-04-09
131
w44 Priority Watersheds Document
Layer ID
44
Layer Name
NPS Priority Watersheds
Layer Token
priority_watersheds
Layer Table
w44_priority_watersheds
Layer Data Fields
id Unique id, matches ids in base point layer (w00).
threat_imp Category copied from source data
distance Distance in meters from point location to closest source geometry.
Layer Data Field Constraints
distance is not null, >= 0, <= 11 km
Layer Class/Score Table
w44_priority_watershed_score
Layer Class/Score Table Fields
class - text field with classification text
Source data
See data layer D03 (HAT)
See data layer D29 (nps_watersheds)
Processing steps
D29_nps_watersheds data was downloaded as geojson and loaded into a database for
processing.
A database table was created with all sample locations. These sample locations where
then joined with the D26_priority_watershed table by proximity.
The following fields were copied from D26_priority_watershed:
threat_imp
QA, Automated
Verify 1:1 matching of id values and base layer id values.
Verify no null distance.
Verify distance < 15 km.
Climate Ready Coast - Layer and Data Information 2025-04-09
132
Verify all geometry is valid
QA, manual
Verified that invalid geometry was successfully converted to valid geometry for
processing.
Spot checked to verify sample and proper intersecting geometry was chosen.
Spot checked correct threat_imp value was set.
Verified that class field was filled with proper text based on distance (0) and
priority_watershed threat_imp.
Class coding
WHEN distance_ft <= 0 THEN threat_imp
ELSE 'Not Impaired/Threatened'
Numeric coding
This layer is a non-scoring layer so no score value was computed.
Weights
No score is computed and no score is added to the final sum.
Climate Ready Coast - Layer and Data Information 2025-04-09
133
w48 MGS Coastal Bluffs Document
Layer ID
48
Layer Name
Coastal Bluffs
Layer Token
coastal_bluffs
Layer Table
w48_coastal_bluffs
Layer Data Fields
id Unique id, matches ids in base point layer (w00).
bluff Shoreline segments are classified as either being bluff, non-bluff, or
unmapped or undetermined
stability The relative stability of a buff face is classified as being either (1) not a bluff,
(2) stable,
(3) unstable, (4) highly unstable, or (5) unmapped or undetermined
type Bluffs are classified as either (1) ledge (exposed bedrock outcrops); (2)
armored (seawall,
riprap, gabion, bulkhead, etc.); (3) salt marsh; (4) beach, mud flat, or other
loose sediment; or (5),
unmapped or undetermined.
distance Distance in meters from point location to closest polygon point.
Layer Data Field Constraints
distance is not null, >= 0, <= 12 km
Layer Class/Score Table
w48_coastal_bluffs_score
Layer Class/Score Table Fields
class - text field with classification name (Bluff / No Bluff)
Source data
See data layer D03 (HAT)
See data layer D23 (coastal_bluffs)
Processing steps
D23_coastal_bluffs data was downloaded as geojson and loaded into a database for
processing.
A database table was created with all sample locations. These sample locations where
then joined with the D23_coastal_bluffs table by closest proximity.
Climate Ready Coast - Layer and Data Information 2025-04-09
134
The following fields were copied from D23_coastal_bluffs:
bluff
stability
type
hazard
QA, Automated
Verify 1:1 matching of id values and base layer id values.
Verify no null distance.
Verify distance < 12 km.
QA, manual
Spot checked the shoreline sample locations to verify they were using the closest point.
Spot checked distances from sample locations to closest point to verify the correct
distance cutoff.
Verified that class field was filled with proper type information (Bluff / No Bluff).
There are some spots where the closest bluff line is from the wrong shoreline. Ex: -
70.3231031,43.5466486
Data is missing from some islands: Ex: Isles of Shoals
Class coding
WHEN bluff = 'Bluff' AND distance_ft < 400 THEN 'Bluff (<stability>)'
WHEN bluff = 'Non-bluff' AND distance_ft < 400 THEN 'Non-Bluff'
ELSE 'Data Unavailable'
Numeric coding
This layer is a non-scoring layer so no score value was computed.
Weights
No score is computed and no score is added to the final sum.
Climate Ready Coast - Layer and Data Information 2025-04-09
135
w49 Roads Vulnerability Assessment Document
Layer ID
49
Layer Name
Roads Vulnerability Assessment
Layer Token
roads_vulnerability
Layer Table
w49_roads_vulnerability
Layer Data Fields
id Unique id, matches ids in base point layer (w00).
va_score Vulnerability assessment score (0 .. 32).
evacuation_route Marks road segment as an evacuation route (Yes/No).
distance Distance in meters from point location to closest polygon point.
Layer Data Field Constraints
distance is not null, >= 0, <= 12 km
va_score not null, >= 0, <= 32
evacuation_route not null, Yes or No
Layer Class/Score Table
w49_roads_bulnerability_score
Layer Class/Score Table Fields
class - text field with classification (score/evacuation_route)
Source data
See data layer D03 (HAT)
See data layer D35 (roads_vulnerability)
Processing steps
D35_roads_vulnerability data was downloaded as geojson and loaded into a database
for processing.
A database table was created with all sample locations. These sample locations where
then joined with the D35_roads_vulnerability table by closest proximity.
The following fields were copied from D35_roads_vulnerability based on closest
geometry. Note that because the geometry overlaps in places, it's often the case the
geometry distance is tied with multiple possible records. In this case, the geometry that
is also an evacuation route is selected if possible:
va_score
evacuation_route
Climate Ready Coast - Layer and Data Information 2025-04-09
136
distance (computed)
QA, Automated
Verify 1:1 matching of id values and base layer id values.
Verify no null distance.
Verify distance < 12 km.
va_score not null, va_score >= 0, va_score <= 32
evacuation_route is not null
geometry is valid
QA, manual
Spot checked the shoreline sample locations to verify they were using the closest roads
geometry.
Spot checked distances from sample locations to closest point to verify the correct
distance cutoff.
Spot checked to ensure that evacuation route flags properly set based on nearest
geometry type.
Verified that class field was filled with proper type information.
Class coding
WHEN distance_ft <= 400 and evacuation_route = 'Yes' THEN '<va_score> (Evacuation
Route)'
WHEN distance_ft <= 400 THEN 'va_score'
ELSE 'No nearby vulnerable roads'
Numeric coding
This layer is a non-scoring layer so no score value was computed.
Weights
No score is computed and no score is added to the final sum.
Climate Ready Coast - Layer and Data Information 2025-04-09
137
Appendix 2 - Data Metadata
d00 Area of Interest Metadata
Title
Wells AOI polygon
Methods
Hand drawn in QGIS and exported to shapefile.
Starts at the South Berwick Dam. Follows the Maine / New Hampshire state line down
the Salmon Falls and Piscataqua Rivers. Exits Portsmouth Harbour and goes out to the
Isle of Shoals to pick up Appledore, Smuttynose, and Cedar Islands. Then follows the
coastline north to pick up all islands along the way. At Cape Elizabeth, the line goes
ashore at (43.5620018, -70.2009624) and circles back overland to South Berwick
staying inland far enough to pick up all possible HAT areas.
License (Limitation and Notes)
None
Source Version
1.0 (3/16/2025)
Online Link
None
Download URL
None
ISO19139
None
FGDC
None
Climate Ready Coast - Layer and Data Information 2025-04-09
138
d01 DEM Metadata
Title
USGS Lidar
Summary (from download site)
This is a tile of the standard one-meter resolution digital elevation model (DEM)
produced through the 3D Elevation Program (3DEP). The elevations in this DEM
represent the topographic bare-earth surface. USGS standard one-meter DEMs are
produced exclusively from high resolution light detection and ranging (lidar) source
data of one-meter or higher resolution. One-meter DEM surfaces are seamless within
collection projects, but, not necessarily seamless across projects. The spatial reference
used for tiles of the one-meter DEM within the conterminous United States (CONUS) is
Universal Transverse Mercator (UTM) in units of meters, and in conformance with the
North American Datum of 1983 (NAD83). All bare earth elevation values are in meters
and are referenced to the North American Vertical Datum of 1988 (NAVD88). Each tile is
distributed in the UTM Zone in which it lies. If a tile crosses two UTM zones, it is
delivered in both zones. The one-meter DEM is the highest resolution standard DEM
offered in the 3DEP product suite. Other 3DEP products are nationally seamless DEMs
in resolutions of 1/3, 1, and 2 arc seconds. These seamless DEMs were referred to as the
National Elevation Dataset (NED) from about 2000 through 2015 at which time they
became the seamless DEM layers under the 3DEP program and lost the NED branding.
Other 3DEP products include five-meter DEMs in Alaska as well as various source
datasets including the lidar point cloud and interferometric synthetic aperture radar
(Ifsar) digital surface models and intensity images. All 3DEP products are public
domain.
Source
NOAA Office for Coastal Management (NOAA/OCM)
coastal.info@noaa.gov
Source Version
2017-2021
License
Access Constraints
None. Any downloading and use of these data signifies a user's agreement to
comprehension and compliance of the USGS Standard Disclaimer. Insure all portions
of metadata are read and clearly understood before using these data in order to
protect both user and USGS interests.
Use Constraints
There is no guarantee or warranty concerning the accuracy of the data. Users should
be aware that temporal changes may have occurred since these data were collected
and that some parts of these data may no longer represent actual surface conditions.
Users should not use these data for critical applications without a full awareness of
its limitations. Acknowledgement of the originating agencies would be appreciated
in products derived from these data. Any user who modifies the data is obligated to
Climate Ready Coast - Layer and Data Information 2025-04-09
139
describe the types of modifications they perform. User specifically agrees not to
misrepresent the data, nor to imply that changes made were approved or endorsed
by the USGS. Please refer to http://www.usgs.gov/privacy.html for the USGS
disclaimer.
REST URLs
https://prd-
tnm.s3.amazonaws.com/index.html?prefix=StagedProducts/Elevation/1m/Projects/M
E_Eastern_B2_2017/
https://prd-
tnm.s3.amazonaws.com/index.html?prefix=StagedProducts/Elevation/1m/Projects/M
E_MidCoast_2021_B21/
https://prd-
tnm.s3.amazonaws.com/index.html?prefix=StagedProducts/Elevation/1m/Projects/M
E_SouthCoastal_2020_A20/
https://prd-
tnm.s3.amazonaws.com/index.html?prefix=StagedProducts/Elevation/1m/Projects/NH
_Coastal_2019_B19/
Metadata
https://prd-
tnm.s3.amazonaws.com/index.html?prefix=StagedProducts/Elevation/1m/Projects/M
E_Eastern_B2_2017/metadata/
https://prd-
tnm.s3.amazonaws.com/index.html?prefix=StagedProducts/Elevation/1m/Projects/M
E_MidCoast_2021_B21/metadata/
https://prd-
tnm.s3.amazonaws.com/index.html?prefix=StagedProducts/Elevation/1m/Projects/M
E_SouthCoastal_2020_A20/metadata/
https://prd-
tnm.s3.amazonaws.com/index.html?prefix=StagedProducts/Elevation/1m/Projects/NH
_Coastal_2019_B19/metadata/
Climate Ready Coast - Layer and Data Information 2025-04-09
140
d02 CUDEM Metadata
Title
Continuously Updated Digital Elevation Model (CUDEM)
Summary (from website)
NOAA's National Centers for Environmental Information (NCEI) is developing a suite of
digital elevation models (DEMs) for the U.S. coast to support a variety of NOAA missions,
including improved inundation modeling and mapping, habitat characterization, and
visualization of Earth's surface. The DEMs are being developed according to a 0.25
degree tiling scheme. The spatial resolution of the tiles "telescopes" from the coastal
zone to the deep ocean floor at 1/9, 1/3, and 3 arc-second grid resolution. Only the 1/9
arc-second DEM tiles integrate both bathymetric and topographic data; all other
resolutions map bathymetry only. The tiling of the DEMs facilitates targeted, rapid
updates as new coastal and marine elevation data are acquired and become available.
Bathymetric and topographic data utilized for DEM creation originate from a variety of
sources, including (but not limited to) the NOAA Office of Coast Survey, NOAA National
Geodetic Survey, NOAA Office for Coastal Management, U.S. Geological Survey, and the
U.S. Army Corps of Engineers.
Source
Cooperative Institute for Research in Environmental Sciences (CIRES) at the University
of Colorado, Boulder.
2014: Continuously Updated Digital Elevation Model (CUDEM) - 1/9 Arc-Second
Resolution Bathymetric-Topographic Tiles.
MA_NH_ME
NOAA National Centers for Environmental Information.
https://doi.org/10.25921/ds9v-ky35.
Accessed 3/2/2024
Source Version
2014
License
Use Constraints
Use liability: NOAA and NCEI cannot provide any warranty as to the accuracy,
reliability, or completeness of furnished data. Users assume responsibility to
determine the usability of these data. The user is responsible for the results of any
application of this data for other than its intended purpose.
Access Constraints
Distribution liability: NOAA and NCEI make no warranty, expressed or implied,
regarding these data, nor does the fact of distribution constitute such a warranty.
NOAA and NCEI cannot assume liability for any damages caused by any errors or
omissions in these data. If appropriate, NCEI can only certify that the data it
distributes are an authentic copy of the records that were accepted for inclusion in
the NCEI archives.
Index URL
Climate Ready Coast - Layer and Data Information 2025-04-09
141
https://chs.coast.noaa.gov/htdata/raster2/elevation/NCEI_ninth_Topobathy_2014_848
3/tileindex_NCEI_ninth_Topobathy_2014.zip
Source URL
https://noaa-nos-coastal-lidar-pds.s3.us-east-
1.amazonaws.com/dem/NCEI_ninth_Topobathy_2014_8483/MA_NH_ME/
Metadata
HTML
https://www.ncei.noaa.gov/access/metadata/landing-
page/bin/iso?id=gov.noaa.ngdc.mgg.dem:999919
ISO19115-2
https://www.ncei.noaa.gov/access/metadata/landing-
page/bin/iso?id=gov.noaa.ngdc.mgg.dem:999919;view=xml;responseType=text/xm
l
Climate Ready Coast - Layer and Data Information 2025-04-09
142
d03 HAT Metadata
Title
Highest Astronomical Tide
Summary
The Highest Astronomical Tide (HAT) refers to the highest predicted tide level that can
occur under normal meteorological conditions, driven by gravitational interactions
between the Earth, Moon, and Sun. It is the peak water level reached during the largest
tidal cycles, which typically result from the combined effects of the Earth's rotation,
lunar and solar orbits, and other astronomical factors. HAT is crucial for coastal
planning, engineering, and navigation, as it helps determine flood risks and
infrastructure requirements. However, it does not account for storm surges or unusual
weather events, which can cause water levels to exceed HAT predictions.
Source
Nearview, LLC
Source Version
2/29/2024
License
Data has been provided under license from Nearview, LLC (Nearview). Licensee has
been granted a limited, non-exclusive right to use the data strictly for the purposes of
fulfilling agreed-upon services.
All provided data remains the sole property of Nearview. Licensee shall not claim
ownership, reuse, sell, or distribute the data without explicit prior written consent from
Nearview.
Nearview assumes no responsibility or liability for any damages, losses, or
consequences arising from the use, interpretation, or reliance on the provided data. All
data is supplied "as is," without warranties or guarantees of accuracy, completeness, or
fitness for any particular purpose.
Licensee is solely responsible for verifying the suitability and compliance of the data for
their intended use. Nearview explicitly disclaims all liability for any direct, indirect,
incidental, consequential, or special damages resulting from the use of the data.
Online Link
None
Processing steps
Processes to generate a HAT tidal surface generally follow the methods used by NOAA
to derive a Mean Higher High Water (MHHW) tidal datum inland beyond VDatum’s
conversion extent (see “Inundation Mapping Tidal Surface - Mean Higher High Water,”
https://www.fisheries.noaa.gov/inport/item/48104).
Buffered Census Counties offshore by 5.5km. Collected Highest Astronomical Tide
(HAT) offsets for all tide stations that are included in the Area of Interest (AOI), which
have HAT datum information available. Removed tide station Salmon Falls ME
Climate Ready Coast - Layer and Data Information 2025-04-09
143
(8419997), and replaced it with Cocheco NH (8420411), which was just outside the AOI.
HAT offsets from NAVD88 were used as the elevation value for each tidal station.
Created a 100-meter grid that covered all tide station locations. Interpolated the HAT
value across the grid using cubic inverse weighted distance. Output as a .GTX file
compatible with VDatum. The resulting orthometric-referenced tidal grid was converted
to a point file, where each cell's centroid is a point containing the value of the cell. The
point data were then clipped to the buffered census county boundaries that extend ~5.5
km offshore to limit the number of points in the interpolation below.
Using the Inverse Distance Weighted interpolation method, the point data were
interpolated to the NAVD88-based tidal surface inland, using the 10 and 12-digit
hydrologic unit code (HUC) boundaries as barriers to interpolation. This approach limits
the interpolation to points and areas only within these watersheds. This process was
done for both HUC 10 and 12 watersheds. The resulting interpolated surfaces were then
nested or mosaicked, where the HUC 12 interpolated surface was the primary raster
and the HUC 10 surface the secondary. A Euclidean Allocation approach was then used
to extend the conversion further inland to areas where the HUC 10 watersheds did not
cover the study area. County boundaries were used as the inland limit instead of HUC
watersheds since most topographic (i.e., lidar) data are collected and/or available on a
county basis.
The final interpolated surface was then used to vertically shift a set of USGS 3DEP DEM
files from the NAVD88 orthometric datum to the HAT tidal datum. The surface was first
interpolated from a 100-meter to a 1-meter grid using bilinear interpolation. This was
then applied to the 1-meter DEMs. These adjusted DEM files were then combined into a
single VRT (Virtual GDAL Format) file, and a zero crossing algorithm was run to
compute the location of the zero elevation and output as vector files.
REST URLs
None
FGDC
None
Climate Ready Coast - Layer and Data Information 2025-04-09
144
d04 Continuous Winds Metadata
National Data Buoy Center
https://www.ndbc.noaa.gov/
Data collected
Continuous Winds
Source Version
n/a
Stations used
44007 (1996-2020)
iosn3 (1996-2023)
Station details
https://www.ndbc.noaa.gov/station_page.php?station=44007
https://www.ndbc.noaa.gov/station_page.php?station=iosn3
Historic station details
https://www.ndbc.noaa.gov/station_history.php?station=44007
https://www.ndbc.noaa.gov/station_history.php?station=iosn3
Measurement Descriptions and Units (Continuous Winds)
https://www.ndbc.noaa.gov/faq/measdes.shtml
Climate Ready Coast - Layer and Data Information 2025-04-09
145
d05 Dunes Metadata
Title
Maine Coastal Structure and Dune Crest Inventory and Overtopping Potential - Dune
Crest Points
Summary (copied from online link)
This feature class displays sand dune elevations in relation to preliminary published
FEMA Base Flood Elevations (BFEs) for areas of the York and Cumberland County
shorelines (from Kittery north to Willard Beach, South Portland).
Feature class that compares the elevations between sand dune crests (extracted from
available LiDAR datasets from 2010 and 2013) with published FEMA Base Flood
Elevations (BFEs) from preliminary FEMA DFIRMS (Panels issued in 2018 and 2019) in
coastal York and Cumberland counties (up through Willard Beach in South Portland).
Source
Halsted, Christian H
State of Maine
Source Version
Info Updated: February 27, 2020
Data Updated: August 4, 2023
Published Date: February 27, 2020
License
access: Public Use: Users must assume responsibility in determining the usability of
this data for their purposes. Digital maps retain the accuracy of their source
materials. When using of Maine Geological Survey data, check sources, scale,
accuracy, currentness, citations and other available information. Confirm that you
are using the correct copy of both data and metadata from the Maine Geological
Survey.
Online Link
https://mgs-maine.opendata.arcgis.com/datasets/maine::maine-coastal-structure-and-
dune-crest-inventory-and-overtopping-potential-dune-crest-points/about
REST URL
https://services1.arcgis.com/RbMX0mRVOFNTdLzd/ArcGIS/rest/services/MGS_Struct
ure_and_Dune_Crest/FeatureServer/3
ISO19139
https://services1.arcgis.com/RbMX0mRVOFNTdLzd/ArcGIS/rest/services/MGS_Struct
ure_and_Dune_Crest/FeatureServer/info/metadata?format=iso19139
FGDC
https://services1.arcgis.com/RbMX0mRVOFNTdLzd/ArcGIS/rest/services/MGS_Struct
ure_and_Dune_Crest/FeatureServer/info/metadata?format=fgdc
Climate Ready Coast - Layer and Data Information 2025-04-09
146
Climate Ready Coast - Layer and Data Information 2025-04-09
147
d06 Bird Metadata
Title
Tidal Waterfowl and Wading Bird Habitat
Description (from website)
This dataset was developed in accordance with Maine's Natural Resources Protection
Act (NRPA). Under this Act, the Maine Department of Inland Fisheries and Wildlife
(MDIFW) is designated as the authority for determining Significant Wildlife Habitats
(SWHs). This dataset represents Tidal Waterfowl and Wading bird Habitat (TWWH).
This coastal habitat that supports tidal waterfowl and wading birds is composed of four
habitat components: mudflats, emergent wetlands (salt marshes), aquatic beds
(eelgrass), and reefs (mussel bars). In 2016 MDIFW remapped the mudflat and salt
marsh components from high-resolution aerial imagery and incorporated the most
current mapping of eelgrass and mussel bars by the Department of Marine Resources.
Rating of these habitats under NRPA is based on size of the habitat area and proximity
to other tidal habitats. Contact Maine Department of Inland Fisheries and Wildlife for
information on a specific TWWH polygon.
Source
Feature layer from State of Maine
Managed by Jason.Czapiga@maine.gov_maine
Source Version
Item created: Aug 22, 2019
Item updated: Jan 12, 2023
Data updated: May 18, 2021
Schema updated: May 18, 2021
Terms of Use
These data may not be distributed or sold to other users.
Use of these data for any purpose other than its intended one as described above is
unauthorized.
MDIFW strongly recommends a follow-up consultation with Department staff for more
information and site-specific assistance.
Online Link
https://www.arcgis.com/home/item.html?id=376e82589e1e472b9d9993ed09d20622
REST URL
https://services1.arcgis.com/RbMX0mRVOFNTdLzd/arcgis/rest/services/MaineDIFW_
TWWH/FeatureServer
ISO19139
Climate Ready Coast - Layer and Data Information 2025-04-09
148
https://services1.arcgis.com/RbMX0mRVOFNTdLzd/arcgis/rest/services/MaineDIFW_
TWWH/FeatureServer/info/metadata?format=iso19139
FGDC
https://services1.arcgis.com/RbMX0mRVOFNTdLzd/arcgis/rest/services/MaineDIFW_
TWWH/FeatureServer/info/metadata?format=fgdc
Climate Ready Coast - Layer and Data Information 2025-04-09
149
d07 Shellfish Metadata
Title
MaineDMR Molluscan Shellfish 2010
Summary
Distributions of molluscan shellfish species in Maine as determined by Maine DMR in
2010.
Source
DeVoe, William
State of Maine
Source Version
Info Updated: March 21, 2019
Data Updated: June 10, 2019
Published Date: January 24, 2019
License
MaineDMR provides this data for informative purposes and as a service to the research
community. Users are free to use this data for analysis provided credit is given to
MaineDMR. Users are requested to seek permission before republishing the data in its
entirety. Not to be used for marine navigation. User assumes all liability for the use of
this data.
Online Link
https://dmr-maine.opendata.arcgis.com/datasets/maine::mainedmr-molluscan-
shellfish-2010/about
REST URL
https://services1.arcgis.com/RbMX0mRVOFNTdLzd/arcgis/rest/services/MolluscanSh
ellfish/FeatureServer
ISO19139
https://services1.arcgis.com/RbMX0mRVOFNTdLzd/arcgis/rest/services/MolluscanSh
ellfish/FeatureServer/info/metadata?format=iso19139
FGDC
https://services1.arcgis.com/RbMX0mRVOFNTdLzd/arcgis/rest/services/MolluscanSh
ellfish/FeatureServer/info/metadata?format=fgdc
Climate Ready Coast - Layer and Data Information 2025-04-09
150
d08 Eelgrass Metadata
Title
MaineDMR - Eelgrass (2010)
Summary
Maine's eelgrass meadows form an important marine and estuarine coastal aquatic
habitat for the state. Along with other plants, eelgrass forms the base of food production
in the sea. Eelgrass provides shelter for juvenile fish, and invertebrates, is a site for
primary settlement of the larvae of some bivalve mollusks, and in certain locations helps
to stabilize unconsolidated sediments and shorelines. Between 1992 and 2013, various
regions of the coast were flown and photographed. Photography was timed near low
tides with low wind velocity, good water clarity, and maximum biomass of eelgrass.
These factors aid in the detection of the subtidal portion a bed. Polygons delineating
stands of eelgrass were screen digitized and coded using a four category scale of percent
cover. Verification was carried out by boat, on foot, and by plane. Though dense patches
of eelgrass approximately 6 meters in diameter and less can be identified under good
conditions and in some cases were mapped, a conservative estimate of the minimum
mapping unit is 150 square meters. This represents a stand of approximately 14 meters
in diameter.
Source
DeVoe, William
State of Maine
Source Version
2010:
Date Updated: May 30, 2023
Published Date: September 24, 2018
2021:
Info Updated:August 19, 2022
Data Updated: August 19, 2022
Published Date: August 19, 2022
License
MaineDMR provides this data for informative purposes and as a service to the research
community. Users are free to use this data for analysis provided credit is given to
MaineDMR. Users are requested to seek permission before republishing the data in its
entirety. Not to be used for marine navigation. User assumes all liability for the use of
this data.
Online Link
2010: https://dmr-
maine.opendata.arcgis.com/maps/25d11cbf476944bc8dc985d2454d01d6/about
REST URL
Climate Ready Coast - Layer and Data Information 2025-04-09
151
2010:
https://services1.arcgis.com/RbMX0mRVOFNTdLzd/arcgis/rest/services/MaineDMR_
Eelgrass/FeatureServer/2
ISO19139
https://services1.arcgis.com/RbMX0mRVOFNTdLzd/arcgis/rest/services/MaineDMR_
Eelgrass/FeatureServer/info/metadata?format=iso19139
FGDC
https://services1.arcgis.com/RbMX0mRVOFNTdLzd/arcgis/rest/services/MaineDMR_
Eelgrass/FeatureServer/info/metadata?format=fgdc
======================================================================
Title
MaineDEP Seagrass 2013-2023 (South Coast - Elliot to Cape Elizabeth)
Summary
[See website URL for summary for each year]
Source
Lynam, John
State of Maine
License
No License Provided
Online Link
https://gis.maine.gov/arcgis/rest/services/dep/Eelgrass/MapServer
https://hub.arcgis.com/datasets/maine::mainedep-seagrass-2021-south-coast-elliot-
to-cape-elizabeth/about
REST URL
2013: https://gis.maine.gov/arcgis/rest/services/dep/Eelgrass/MapServer/0
2018: https://gis.maine.gov/arcgis/rest/services/dep/Eelgrass/MapServer/1
2021: https://gis.maine.gov/arcgis/rest/services/dep/Eelgrass/MapServer/2
2022: https://gis.maine.gov/arcgis/rest/services/dep/Eelgrass/MapServer/3
2023: https://gis.maine.gov/arcgis/rest/services/dep/Eelgrass/MapServer/4
ISO19139
https://gis.maine.gov/arcgis/rest/services/dep/Eelgrass/MapServer/info/metadata?f
ormat=iso19139
FGDC
https://gis.maine.gov/arcgis/rest/services/dep/Eelgrass/MapServer/info/metadata?f
ormat=fgdc
Climate Ready Coast - Layer and Data Information 2025-04-09
152
d09 Channel Metadata
Title
USACE - ChannelArea
Summary (from website)
This service shows all navigation channels maintained by USACE districts that have
completed all or portions of the National Channel Framework through eHydro.
Polygon representing Congressionally authorized navigation channels maintained by
the U.S. Army Corps of Engineers (USACE). This polygon feature class represents the
Channels at the Project level. This is the highest order among the three feature classes
participating in the National Channel Framework: Channel Area, Channel Reach,
Channel Quarter.
Source
U.S. Army Corps of Engineers Geospatial
National Channel Framework
ChannelArea
Source Version
Published Date: March 15, 2017
License
These data were compiled for government use and represent the results of data
collection/processing for a specific U.S. Army Corps of Engineers (USACE) activity. The
USACE makes no representation as to the suitability or accuracy of these data for any
other purpose and disclaims any liability for errors that the data may contain. As such, it
is only valid for its intended use, content, time, and accuracy specifications. While there
are no explicit constraints on the use of the data, please exercise appropriate and
professional judgment in the use and interpretation of these data.
Online Link
https://geospatial-
usace.opendata.arcgis.com/datasets/9227967a2748410983352b501c0c7b39_1/about
REST URL
https://services7.arcgis.com/n1YM8pTrFmm7L4hs/arcgis/rest/services/National_Cha
nnel_Framework/FeatureServer
ISO19139
https://services7.arcgis.com/n1YM8pTrFmm7L4hs/arcgis/rest/services/National_Cha
nnel_Framework/FeatureServer/info/metadata?format=iso19139
FGDC
https://services7.arcgis.com/n1YM8pTrFmm7L4hs/arcgis/rest/services/National_Cha
nnel_Framework/FeatureServer/info/metadata?format=fgdc
Climate Ready Coast - Layer and Data Information 2025-04-09
153
d10 Saltmarsh Metadata
Title
MNAP 2023 Saltmarsh Migration Data
Summary (from website)
These eight datasets identify current tidal marshes and non-tidal lands within existing
tidal estuaries that could be inundated and facilitate the development of new areas of
tidal marsh if sea level rises by 0, 1.2, 1.6, 3.9, 6.1, 8.8, or 10.9 feet above current highest
astronomical tide (HAT). The data were developed using a static ("bathtub") inundation
model that uses LiDAR topographic data as a base digital elevation model, and then 1)
adjusts HAT tidal predictions to take into account variability in the water surface
elevations along the Maine coastline, and 2) adds scenarios of 0, 1.2, 1.6, 3.9, 6.1, 8.8, or
10.9 feet of sea level rise to that initial starting elevation. The primary purpose of these
data is to enable appropriate land use planning for lands that may become future tidal
marshes, and to inform other investigations as to the impacts of and strategic
conservation, restoration, and management planning for predicted sea level rise on
critical coastal habitats.
Source
Maine Department of Agriculture,
Conservation and Forestry (Maine Geological Survey and Maine Natural Areas
Program), 2023
Source Version:
Updated: 4/16/2024
License
These data were compiled for government use and represent the results of data
collection/processing for a specific U.S. Army Corps of Engineers (USACE) activity. The
USACE makes no representation as to the suitability or accuracy of these data for any
other purpose and disclaims any liability for errors that the data may contain. As such, it
is only valid for its intended use, content, time, and accuracy specifications. While there
are no explicit constraints on the use of the data, please exercise appropriate and
professional judgment in the use and interpretation of these data.
Online Link
https://www.maine.gov/dacf/mnap/assistance/marsh_migration.htm
REST URLs
https://services1.arcgis.com/RbMX0mRVOFNTdLzd/arcgis/rest/services/Marsh_Migr
ation/FeatureServer/0
https://services1.arcgis.com/RbMX0mRVOFNTdLzd/arcgis/rest/services/Marsh_Migr
ation/FeatureServer/3
ISO19139
https://services1.arcgis.com/RbMX0mRVOFNTdLzd/arcgis/rest/services/Marsh_Migr
ation/FeatureServer/0/metadata?format=iso19139
Climate Ready Coast - Layer and Data Information 2025-04-09
154
https://services1.arcgis.com/RbMX0mRVOFNTdLzd/arcgis/rest/services/Marsh_Migr
ation/FeatureServer/3/metadata?format=iso19139
FGDC
https://services1.arcgis.com/RbMX0mRVOFNTdLzd/arcgis/rest/services/Marsh_Migr
ation/FeatureServer/0/metadata?format=fgdc
https://services1.arcgis.com/RbMX0mRVOFNTdLzd/arcgis/rest/services/Marsh_Migr
ation/FeatureServer/3/metadata?format=fgdc
Climate Ready Coast - Layer and Data Information 2025-04-09
155
d11 Environmental Sensitivity Index Metadata
Title
Environmental Sensitivity Index (ESI) Maps and Data
Summary (from website)
Environmental Sensitivity Index (ESI) maps provide a concise summary of coastal
resources that are at risk if an oil or chemical spill occurs nearby. Examples of at-risk
resources include biological resources (such as birds and shellfish beds), sensitive
shorelines (such as marshes and tidal flats), and human-use resources (such as public
beaches and parks).
When a spill occurs, ESI maps can help responders meet one of the main response
objectives: reducing the environmental consequences of the spill and the cleanup
efforts. Additionally, ESI maps can be used by plannersbefore a spill happensto
identify vulnerable locations, establish protection priorities, and identify cleanup
strategies.
ESI maps and data are created by NOAA OR&R researchers, working with colleagues in
state government agencies, federal government agencies, and industry. These maps and
data would not be possible without the support of these regional resource experts.
Source
National Oceanic and Atmospheric Administration
Office of Response and Restoration
Source Version
Publication Date: 2016
License
None found
Online Link
https://response.restoration.noaa.gov/resources/environmental-sensitivity-index-esi-
maps
Download URL
https://response.restoration.noaa.gov/sites/default/files/esimaps/gisdata/ME_NH_20
16_GDB.zip
InPort Metadata
https://response.restoration.noaa.gov/sites/default/files/Template_ESIL_table-
entity.pdf
https://www.fisheries.noaa.gov/inport/item/43676
ISO19139
None found so far
Climate Ready Coast - Layer and Data Information 2025-04-09
156
FGDC
None found so far
Climate Ready Coast - Layer and Data Information 2025-04-09
157
d12 C-CAP High-Resolution Land Cover Metadata
Title
C-CAP High-Resolution Land Cover
Summary (from website)
NOAA is phasing in the next generation of high-resolution land cover data for the
nation’s coastal areas. The new 1-meter products are useful at the local level in ways not
previously possible with national-level data. Advanced artificial intelligence combined
with expert human analysis, review, and editing are used to produce these high-quality,
standardized, raster-based map products.
The new data products will be phased in through 2025. Initial data layers will focus on
impervious, canopy, and water features. Later work will include up to 20 land cover
categories, with regular data refresh schedules anticipated.
Source
National Oceanic and Atmospheric Administration,
Office for Coastal Management.
Coastal Change Analysis Program (C-CAP) High-Resolution Land Cover.
Charleston, SC: NOAA Office for Coastal Management.
Accessed 5 2024 at
www.coast.noaa.gov/htdata/raster1/landcover/bulkdownload/hires/.
Source Version
File: me_2021_ccap_v2_hires_impervious_20231019.zip
License
Use Restriction: This land cover data may not be used for the purpose of creating,
training, improving, modifying, validating, testing, or evaluating machine learning
algorithms nor may the product otherwise be leveraged for the purposes of machine
learning for a period of five years from its date of creation. By downloading this data
you are agreeing to this restriction.
Limitations: The data sets are not jurisdictional or intended for use in litigation. While
efforts have been made to ensure that these data are accurate and reliable within the
limits of current technology, NOAA cannot assume liability for any damages or
misrepresentations caused by inaccuracies in the data, or as a result of the data used on
a particular system. NOAA makes no warranty, expressed or implied, nor does the fact
of distribution constitute such a warranty.
Online Link
https://coast.noaa.gov/digitalcoast/data/ccaphighres.html
Download URL
https://coastalimagery.blob.core.windows.net/ccap-
landcover/CCAP_bulk_download/High_Resolution_Land_Cover/Phase_1_Initial_Layers/
Impervious/me_2021_ccap_v2_hires_impervious_20231019.zip
Climate Ready Coast - Layer and Data Information 2025-04-09
158
InPort Metadata
https://www.fisheries.noaa.gov/inport/item/48232
ISO19139
None found so far
FGDC
None found so far
Climate Ready Coast - Layer and Data Information 2025-04-09
159
d13 Structures, Hardening Type Metadata
Title
Maine Coastal Structure and Dune Crest Inventory and Overtopping Potential -
Structure Points
Summary (from website)
The dataset included the development of an inventory of coastal armor structures from
a range of different datasets.
Source
Halsted, Christian H
State of Maine
Source Version
Info Updated: February 27, 2020
Data Updated: August 4, 2023
Published Date: February 27, 2020
License
None listed
Online Link
https://mgs-maine.opendata.arcgis.com/datasets/maine::maine-coastal-structure-and-
dune-crest-inventory-and-overtopping-potential-structure-points/about
REST URLs
https://services1.arcgis.com/RbMX0mRVOFNTdLzd/ArcGIS/rest/services/MGS_Struct
ure_and_Dune_Crest/FeatureServer/2
ISO19139
https://services1.arcgis.com/RbMX0mRVOFNTdLzd/ArcGIS/rest/services/MGS_Struct
ure_and_Dune_Crest/FeatureServer/2/metadata?format=iso19139
FGDC
https://services1.arcgis.com/RbMX0mRVOFNTdLzd/ArcGIS/rest/services/MGS_Struct
ure_and_Dune_Crest/FeatureServer/2/metadata?format=fgdc
Climate Ready Coast - Layer and Data Information 2025-04-09
160
d14 Beach, Width Metadata
Title
Maine Beach Mapping DSAS Dry Beach Width
Summary (from website)
This layer includes transects that represent dry beach width statistics calculated from
shoreline positions (Beach_Mapping_Shorelines) through the current year using a MGS
developed database version of the USGS Digital Shoreline Analysis System.
Source
Halsted, Christian H
State of Maine
Source Version
Info Updated: August 28, 2019
Data Updated: October 7, 2024
Published Date: October 23, 2017
License
None available
Online Link
https://maine.hub.arcgis.com/datasets/c03b6aa5f81b492f8deedbcd21accc10_3/about
REST URLs
https://services1.arcgis.com/RbMX0mRVOFNTdLzd/ArcGIS/rest/services/MGS_Beach
_Mapping/FeatureServer/3
ISO19139
https://services1.arcgis.com/RbMX0mRVOFNTdLzd/ArcGIS/rest/services/MGS_Beach
_Mapping/FeatureServer/info/metadata?format=iso19139
FGDC
https://services1.arcgis.com/RbMX0mRVOFNTdLzd/ArcGIS/rest/services/MGS_Beach
_Mapping/FeatureServer/info/metadata?format=fgdc
Climate Ready Coast - Layer and Data Information 2025-04-09
161
d15 Tidal Restrictions Metadata
Title
Maine Tidal Restrictions Atlas
Summary (from website)
The Tidal Restriction Atlas maps road crossings and dams that are subject to tidal flows.
Through application of a remote restriction assessment protocol, the Atlas provides
information on which of these structures are tidal restrictions.
In collaboration with partners, Maine Coastal Program created this online tool to help
communities, road owners, conservation groups, and others identify tidal restrictions
including culverts, bridges, and dams, in their region. This Atlas is intended to facilitate
efforts of community resilience and habitat restoration throughout Maine. The Atlas
also maps structures that are not currently in the tidal zone, but may become influenced
by tidal waters given any of the 6 sea level rise scenarios developed by Maine Geological
Survey.
Source
State of Maine
Source Version
Date Updated: May 2, 2024
Published Date: August 24, 2020
License
No License provided
Online Link
https://maine.hub.arcgis.com/maps/maine::mainecp-tidal-restriction-atlas/about
REST URLs
https://services1.arcgis.com/RbMX0mRVOFNTdLzd/ArcGIS/rest/services/MaineCP_Ti
dal_Restriction_Atlas/FeatureServer/0
https://services1.arcgis.com/RbMX0mRVOFNTdLzd/ArcGIS/rest/services/MaineCP_Ti
dal_Restriction_Atlas/FeatureServer/2
https://services1.arcgis.com/RbMX0mRVOFNTdLzd/ArcGIS/rest/services/MaineCP_Ti
dal_Restriction_Atlas/FeatureServer/3
https://services1.arcgis.com/RbMX0mRVOFNTdLzd/ArcGIS/rest/services/MaineCP_Ti
dal_Restriction_Atlas/FeatureServer/5
ISO19139
https://services1.arcgis.com/RbMX0mRVOFNTdLzd/ArcGIS/rest/services/MaineCP_Ti
dal_Restriction_Atlas/FeatureServer/info/metadata?format=iso19139
FGDC
https://services1.arcgis.com/RbMX0mRVOFNTdLzd/ArcGIS/rest/services/MaineCP_Ti
dal_Restriction_Atlas/FeatureServer/info/metadata?format=fgdc
Climate Ready Coast - Layer and Data Information 2025-04-09
162
Climate Ready Coast - Layer and Data Information 2025-04-09
163
d16 Beach Erosion Metadata
Title
Maine Beach Mapping DSAS Beach Change
Summary (from website)
This layer includes transects that represent beach change rate statistics calculated from
shoreline positions (Beach_Mapping_Shorelines) through the current year using a MGS
developed database version of the USGS Digital Shoreline Analysis System.
Source
Halsted, Christian H
State of Maine
Source Version
Info Updated: August 28, 2019
Data Updated: October 7, 2024
Published Date: October 23, 2017
License
None available
Online Link
https://mgs-maine.opendata.arcgis.com/datasets/maine::maine-beach-mapping-dsas-
beach-change/about
REST URLs
https://services1.arcgis.com/RbMX0mRVOFNTdLzd/ArcGIS/rest/services/MGS_Beach
_Mapping/FeatureServer/2
ISO19139
https://services1.arcgis.com/RbMX0mRVOFNTdLzd/ArcGIS/rest/services/MGS_Beach
_Mapping/FeatureServer/info/metadata?format=iso19139
FGDC
https://services1.arcgis.com/RbMX0mRVOFNTdLzd/ArcGIS/rest/services/MGS_Beach
_Mapping/FeatureServer/info/metadata?format=fgdc
Climate Ready Coast - Layer and Data Information 2025-04-09
164
d17 Dune Erosion Metadata
Title
Maine Beach Mapping DSAS Dune Change
Summary (from website)
This layer includes transects that represent dune change rate statistics calculated from
shoreline positions (Beach_Mapping_Shorelines) through the current year using a MGS
developed database version of the USGS Digital Shoreline Analysis System.
Source
Halsted, Christian H
State of Maine
Source Version:
Info Updated: August 28, 2019
Data Updated: October 7, 2024
Published Date: October 19, 2017
License
None available
Online Link
https://mgs-maine.opendata.arcgis.com/datasets/maine::maine-beach-mapping-dsas-
dune-change/about
REST URL
https://services1.arcgis.com/RbMX0mRVOFNTdLzd/ArcGIS/rest/services/MGS_Beach
_Mapping/FeatureServer/1
ISO19139
https://services1.arcgis.com/RbMX0mRVOFNTdLzd/ArcGIS/rest/services/MGS_Beach
_Mapping/FeatureServer/info/metadata?format=iso19139
FGDC
https://services1.arcgis.com/RbMX0mRVOFNTdLzd/ArcGIS/rest/services/MGS_Beach
_Mapping/FeatureServer/info/metadata?format=fgdc
Climate Ready Coast - Layer and Data Information 2025-04-09
165
d18 FEMA Insurance Rate Database Metadata
Title
FEMA Flood Insurance Rate Map Database
Summary (from website)
The FEMA Flood Map Service Center (MSC) is the official public source for flood hazard
information produced in support of the National Flood Insurance Program (NFIP). Use
the MSC to find your official flood map, access a range of other flood hazard products,
and take advantage of tools for better understanding flood risk.
FEMA flood maps are continually updated through a variety of processes. Effective
information that you download or print from this site may change or become
superseded by new maps over time. For additional information, please see the Flood
Hazard Mapping Updates Overview Fact Sheet
Source
Federal Emergency Management Agency (FEMA)
FEMA Flood Map Service Center
Source Version
File: 23031C_2024-07-17.zip
File: 23005C_2024-06-20.zip
License
None found
Online Link
https://msc.fema.gov/portal/home
Download URLs
FEMA (York Co)
https://msc.fema.gov/portal/downloadProduct?productTypeID=FINAL_PRODUCT&pro
ductSubTypeID=FIRM_DB&productID=23031C_2024-07-17
FEMA (Cumberland Co)
https://msc.fema.gov/portal/downloadProduct?productTypeID=FINAL_PRODUCT&pro
ductSubTypeID=FIRM_DB&productID=23005C_2024-06-20"
Technical References
https://www.fema.gov/flood-maps/guidance-reports/guidelines-standards/technical-
references-flood-risk-analysis-and-mapping
Metadata
https://hazards.fema.gov/filedownload/metadata/NFHL/NFHL_metadata.xml
Climate Ready Coast - Layer and Data Information 2025-04-09
166
d19 Conserved Lands Metadata
Title
Maine Conserved Lands
Summary
Conserved Lands was created to provide GIS coverage for the conservation lands
database. The ownership lines do not represent legal boundaries nor are the ownership
lines a survey. The data contained in Conserved Lands is an inventory only.
Source
State of Maine
Source Version
11.2
License
The ownership lines do not represent legal boundaries nor are the ownership lines a
survey. Conserved Lands is an inventory of approximate property boundaries. Access to
these lands is not implied. Permissions should always be granted by the landowner.
Online Link
https://hub.arcgis.com/datasets/maine::maine-conserved-lands-1/about
REST URL
https://services1.arcgis.com/RbMX0mRVOFNTdLzd/arcgis/rest/services/Maine_Cons
erved_Lands_All/FeatureServer
ISO19139
https://services1.arcgis.com/RbMX0mRVOFNTdLzd/arcgis/rest/services/Maine_Cons
erved_Lands_All/FeatureServer/info/metadata?format=iso19139
(unavailable on 1/2/2025)
FGDC
https://services1.arcgis.com/RbMX0mRVOFNTdLzd/arcgis/rest/services/Maine_Cons
erved_Lands_All/FeatureServer/info/metadata?format=fgdc
(unavailable on 1/2/2025)
Climate Ready Coast - Layer and Data Information 2025-04-09
167
d20 Building Vulnerability Assessment Metadata
Title
Building Footprints Vulnerability Assessment
Summary
Vulnerability assessment of building footprints.
Source Version
Info Updated: June 22, 2022
Data Updated: June 22, 2022
Published Date: June 22, 2022
Source
Climate Ready Coast
Southern Maine Planning & Development Commission
License
No License Provided
Request permission to use
Online Link
https://data-
smpdc.opendata.arcgis.com/datasets/ad8737c6bf044214a80b674e001fba4d_0/about
REST URL
https://services.arcgis.com/EDmXP1QjmSmZlvBw/arcgis/rest/services/Building_Foot
prints_Vulnerability_Assessment/FeatureServer/0
ISO19139
https://www.arcgis.com/sharing/rest/content/items/ad8737c6bf044214a80b674e00
1fba4d/info/metadata/metadata.xml?format=default&output=html
FGDC
https://www.arcgis.com/sharing/rest/content/items/ad8737c6bf044214a80b674e00
1fba4d/info/metadata/metadata.xml?format=fgdc&output=html
Climate Ready Coast - Layer and Data Information 2025-04-09
168
d22 Parcel Zoning Metadata
Title
'Municipality name' build-out analysis
Summary
Estimated development potential within each study community based on existing parcel
size and the current zoning requirements for minimum lot size in each of the 10 project
municipalities. Note that the analysis is only a rough estimate and does not account for
other development restrictions, such as setbacks from natural resources, steep slopes,
etc. The development potential value also does not account for the current land use,
such as whether or not the parcel is conserved or has other deeded development
restrictions.
Source
Climate Ready Coast
Southern Maine Planning & Development Commission
Source Version
11.2
License
(None found)
Online Link
https://smpdc.maps.arcgis.com/apps/webappviewer/index.html?id=cb487168a65f4c7
490976c60e8119fe5
REST URLs
https://services.arcgis.com/EDmXP1QjmSmZlvBw/ArcGIS/rest/services/Biddeford_Pa
rcels_Zoning/FeatureServer
https://services.arcgis.com/EDmXP1QjmSmZlvBw/ArcGIS/rest/services/Kennebunk_P
arcels_Zoning/FeatureServer
https://services.arcgis.com/EDmXP1QjmSmZlvBw/ArcGIS/rest/services/Kennebunkp
ort_Parcels_Zoning/FeatureServer
https://services.arcgis.com/EDmXP1QjmSmZlvBw/ArcGIS/rest/services/Kittery_Parce
ls_Zoning/FeatureServer
https://services.arcgis.com/EDmXP1QjmSmZlvBw/ArcGIS/rest/services/Ogunquit_Par
cels_Zoning/FeatureServer
https://services.arcgis.com/EDmXP1QjmSmZlvBw/ArcGIS/rest/services/OldOrchardB
each_Parcels_Zoning/FeatureServer
https://services.arcgis.com/EDmXP1QjmSmZlvBw/ArcGIS/rest/services/Saco_Parcels_
Zoning/FeatureServer
https://services.arcgis.com/EDmXP1QjmSmZlvBw/ArcGIS/rest/services/Scarborough_
Parcels_Zoning/FeatureServer
https://services.arcgis.com/EDmXP1QjmSmZlvBw/ArcGIS/rest/services/Wells_Parcels
_Zoning/FeatureServer
Climate Ready Coast - Layer and Data Information 2025-04-09
169
https://services.arcgis.com/EDmXP1QjmSmZlvBw/ArcGIS/rest/services/York_Parcels_
Zoning/FeatureServe
ISO19139
(None found)
FGDC
(None found)
Climate Ready Coast - Layer and Data Information 2025-04-09
170
d23 Coastal Bluffs Metadata
Title
Maine Coastal Bluffs
Summary
This data can help identify shorelines with increased risk of coastal erosion or
landslides.
Source
Halsted, Christian H
State of Maine
Source Version
Last Edit Date: 8/31/2020 5:14:57 PM
Schema Last Edit Date: 8/31/2020 5:14:57 PM
Data Last Edit Date: 8/31/2020 5:14:57 PM
License
Users must assume responsibility in determining the usability of this data for their
purposes. Digital maps retain the accuracy of their source materials. When using Maine
Geological Survey data, check sources, scale, accuracy, currentness, citations and other
available information. Confirm that you are using the correct copy of both data and
metadata from the Maine Geological Survey. User must include full citation when using
the data in printed or digital form.
Online Link
https://mgs-maine.opendata.arcgis.com/datasets/maine-coastal-bluffs/explore
REST URLs
https://services1.arcgis.com/RbMX0mRVOFNTdLzd/ArcGIS/rest/services/MGS_Coasta
l_Bluffs_Landslides/FeatureServer/0
ISO19139
https://services1.arcgis.com/RbMX0mRVOFNTdLzd/ArcGIS/rest/services/MGS_Coasta
l_Bluffs_Landslides/FeatureServer/info/metadata?format=iso19139
FGDC
https://services1.arcgis.com/RbMX0mRVOFNTdLzd/ArcGIS/rest/services/MGS_Coasta
l_Bluffs_Landslides/FeatureServer/info/metadata?format=fgdc
Climate Ready Coast - Layer and Data Information 2025-04-09
171
d24 Beach Shoreline Types Metadata
Title
Maine Beach Mapping Shoreline Types
Summary
GIS dataset includes surveyed shoreline positions for most of the larger beach systems
along the southern to mid-coast Maine coastline in York, Cumberland, and Sagadahoc
counties. Data were collected using a Leica GS-15 network Real Time Kinematic Global
Positioning System (RTK-GPS), and in areas with poor cellular coverage, an Ashtech Z-
Xtreme RTK-GPS. Both systems typically have horizontal and vertical accuracies of less
than 5 cm. In general, surveys are attempted to be repeated at approximately the same
month in each consecutive survey year, however this is not always possible. As a result,
the number of available shoreline positions may vary by beach. The line feature class
includes the following attributes:
BEACH_NAME: The name of the beach where a shoreline was surveyed.
SURVEY_DATE: The date (year, month, day; for example 20160901 would be
September 1, 2016) upon which a shoreline was surveyed.
SURVEY_YEAR: The year (e.g., 2016) within which a shoreline was surveyed.
SHAPE_LENGTH: The length, in meters, of the surveyed shoreline.
Source
Slovinsky, P.A.
Maine Geological Survey
Source Version
Last Edit Date: 10/7/2024 5:59:44 PM
Schema Last Edit Date: 10/7/2024 5:59:44 PM
Data Last Edit Date: 10/7/2024 5:59:44 PM
License
The Maine Geological Survey created this data. It should be referenced as:
Slovinsky, P.A., 2017, Shoreline positions through 2016 for Maine beaches monitored as
part of the Maine Beach Mapping Program (MBMAP), Maine Geological Survey,
Department of Agriculture, Conservation and Forestry, Augusta, ME.
Online Link
https://mgs-maine.opendata.arcgis.com/datasets/maine-beach-mapping-shoreline-
types/about
REST URLs
https://services1.arcgis.com/RbMX0mRVOFNTdLzd/ArcGIS/rest/services/MGS_Beach
_Mapping/FeatureServer/0
ISO19139
https://services1.arcgis.com/RbMX0mRVOFNTdLzd/ArcGIS/rest/services/MGS_Beach
_Mapping/FeatureServer/info/metadata?format=iso19139
Climate Ready Coast - Layer and Data Information 2025-04-09
172
FGDC
https://services1.arcgis.com/RbMX0mRVOFNTdLzd/ArcGIS/rest/services/MGS_Beach
_Mapping/FeatureServer/info/metadata?format=fgdc
Climate Ready Coast - Layer and Data Information 2025-04-09
173
d25 Aquaculture Leases and LPA Sites Metadata
Title
Maine DMR Aquaculture Leases
Maine DMR Limited Purpose Aquaculture Sites
Summary (Aquaculture Leases)
Locations of aquaculture leases in Maine. This is a continually updated dataset. To see
the last updated date, please visit the MaineDMR Map Page
AQUACULT_POLY contains the geographic locations of marine aquaculture lease sites
along the coast of Maine. Details regarding lease specific culture activities and contact
information are included. Please note: Because their locations are defined by a single
center point, Limited Purpose Aquaculture (LPA) licenses are not included in this data .
Please refer to AQUACULT_PTS for a complete listing of LPAs. See
http://www.maine.gov/dmr/aquaculture/index.html for more information.
Summary (Limited Purpose Aquaculture Sites)
Locations of limited purpose aquaculture licenses in Maine. This is a continually
updated dataset. To see the last updated date, please visit the MaineDMR Map Page
Contains the geographic locations of marine limited purpose aquaculture (LPA) lease
sites along the coast of Maine. Details regarding lease specific culture activities and
contact information are included. See
http://www.maine.gov/dmr/aquaculture/index.html for more information.
Source
DeVoe, William
State of Maine
Source Version
Website says
Info Updated: March 21, 2019
Data Updated: March 21, 2019
Published Date: February 12, 2018
But data appears to be current 2024-2025
License
MaineDMR provides this data for informative purposes and as a service to the research
community. Users are free to use this data for analysis provided credit is given to
MaineDMR. Users are requested to seek permission before republishing the data in its
entirety. Not to be used for marine navigation. User assumes all liability for the use of
this data.
Online Links
https://dmr-
maine.opendata.arcgis.com/maps/a0b3c775cfc243a2b92df328ad85c642/about
Climate Ready Coast - Layer and Data Information 2025-04-09
174
https://dmr-
maine.opendata.arcgis.com/datasets/70f569fcc0214ce09e30fcd7099e5c88_1/about
REST URLs
https://gis.maine.gov/arcgis/rest/services/dmr/DMR_Aquaculture/MapServer/1
https://gis.maine.gov/arcgis/rest/services/dmr/DMR_Aquaculture/MapServer/2
ISO19139
https://gis.maine.gov/arcgis/rest/services/dmr/DMR_Aquaculture/MapServer/info/m
etadata?format=iso19139
FGDC
https://gis.maine.gov/arcgis/rest/services/dmr/DMR_Aquaculture/MapServer/info/m
etadata?format=fgdc
Climate Ready Coast - Layer and Data Information 2025-04-09
175
d26 Wildlife and Habitats Vulnerability Assessment Metadata
Title
Wildlife and Habitats Vulnerability Assessment
Summary
This feature class was created to document tidal marsh natural communities for use in
status assessment, species management, and habitat conservation of rare plant species
and rare and exemplary natural communities and ecosystems in Maine. Features were
digitized using best available low tide aerial imagery in 2013 and 2014. A subset of
mapped marshes were field verified and classified using Gawler and Cutko (2015) "The
Natural Landscapes of Maine." Other tidal marshes were classified based on proximity
to field verified features. The minimum mapping unit for tidal marshes was 5 acres
though most, but not all marshes between 2.5 and 5 acres were also included.
Source
Maine Department of Agriculture, Conservation and Forestry, Maine Natural Areas
Program
Source Version
From metadata:
Photos: 2013-2014
Last update: 2022-06-23
License
No special restrictions or limitations on using the item's content have been provided.
Online Link
https://www.arcgis.com/home/item.html?id=f1bb258bd9dc436597fd0b84047ad8eb
REST URL
https://services.arcgis.com/EDmXP1QjmSmZlvBw/arcgis/rest/services/Wildlife_and_
Habitats_Vulnerability_Assessment/FeatureServer
ISO19139
https://www.arcgis.com/sharing/rest/content/items/f1bb258bd9dc436597fd0b8404
7ad8eb/info/metadata/metadata.xml?format=default&output=html
FGDC
https://www.arcgis.com/sharing/rest/content/items/f1bb258bd9dc436597fd0b8404
7ad8eb/info/metadata/metadata.xml?format=fgdc&output=html
Climate Ready Coast - Layer and Data Information 2025-04-09
176
d28 Beach Location Polygons Metadata
Title
Southern Maine Beach Location Polygons
Summary
A set of polygons created in order to determine areas of southern Maine that would be
included in the Beach Priority analysis. Polygons created by creating a buffer around
beach transect measurements which had been selected by intersection with a beach
high water line data set.
Source
Halsted, Christian H, State of Maine
Slovinsky, P.A., Maine Geological Survey
Nearview, LLC.
Source Version
See d14_beach_width
See d16_beach_erosion
See d17_dune_erosion
See d24_beach_shoreline_types
License
See d14_beach_width
See d16_beach_erosion
See d17_dune_erosion
See d24_beach_shoreline_types
See d32_beach_location_extra
Online Link
See d14_beach_width
See d16_beach_erosion
See d17_dune_erosion
See d24_beach_shoreline_types
See d32_beach_location_extra
Processing steps
Data for the following data sets was downloaded in geojson format and then loaded into
a database.
d24_beach_shoreline_types
d14_beach_width
d16_beach_erosion
d17_dune_erosion
The High Water Line for years 2023-2024 were then collected from data source
d24_beach_shoreline_types choosing the maximum available year for each location.
Climate Ready Coast - Layer and Data Information 2025-04-09
177
The transect lines for the following three data sets were then filtered by intersection
with 2023-2024 High Water Line.
d14_beach_width
d16_beach_erosion
d17_dune_erosion
The filtered transect lines were then buffered by 10 meters to create polygons. The
polygons were then unioned/exploded to remove duplicates and break apart
multipolygons.
Data set d32_beach_location_extra was then used to include/exclude certain sections of
beach. Primarily this was to remove transects that crossed channels to land on the
other side and transects that splayed by large angle and left gaps in the buffer.
REST URLs
See d14_beach_width
See d16_beach_erosion
See d17_dune_erosion
See d24_beach_shoreline_types
See d32_beach_location_extra
ISO19139
See d14_beach_width
See d16_beach_erosion
See d17_dune_erosion
See d24_beach_shoreline_types
See d32_beach_location_extra
FGDC
See d14_beach_width
See d16_beach_erosion
See d17_dune_erosion
See d24_beach_shoreline_types
See d32_beach_location_extra
Climate Ready Coast - Layer and Data Information 2025-04-09
178
d29 Impaired and Threatened Watersheds Metadata
Title
NPS Priority Impaired Watersheds
NPS Priority Threatened Watersheds
Summary
River/stream, Lake, and Marine Watersheds considered to be the current priority
watersheds that are threatened or impaired by non-point sources (NPS) .
The State’s Nonpoint Source Management Program maintains a Priority List intended to
target funding to waterbodies that are most likely to benefit from 319 grant funding.
The List includes impaired and threatened lakes, streams, and marine waters.
Impaired: Water bodies impacted by non-point source pollution that do not currently
meet state water quality standards.
Threatened: Water bodies that currently meet state water quality standards, but are at
risk of water quality decline due to nonpoint source pollution.
Impaired waterbodies are identified as those listed in the Integrated Report as having
NPS as a primary pollutant. Threatened waterbodies must meet certain criteria to be
included, such as a development threat. More information can be found here:
https://www.maine.gov/dep/land/watershed/nps_priority_list/index.html
Source
Schaffner, Becky
Becky.Schaffner@maine.gov_maine
MaineDEP, GIS Coordinator
Source Version
Last Edit Date: 8/23/2023 11:56:54 AM
Schema Last Edit Date: 8/23/2023 11:56:54 AM
Data Last Edit Date: 8/23/2023 11:56:54 AM
License
No special restrictions or limitations on using the item's content have been provided.
Online Link
https://www.arcgis.com/home/item.html?id=6f99b8413fae4e9e9d5f6e9ab686c310
REST URLs
https://services1.arcgis.com/RbMX0mRVOFNTdLzd/arcgis/rest/services/Maine_NPS_
Priority_Watersheds_WFL1/FeatureServer/4
https://services1.arcgis.com/RbMX0mRVOFNTdLzd/arcgis/rest/services/Maine_NPS_
Priority_Watersheds_WFL1/FeatureServer/5
ISO19139
Climate Ready Coast - Layer and Data Information 2025-04-09
179
https://services1.arcgis.com/RbMX0mRVOFNTdLzd/arcgis/rest/services/Maine_NPS_
Priority_Watersheds_WFL1/FeatureServer/info/metadata?format=iso19139
FGDC
https://services1.arcgis.com/RbMX0mRVOFNTdLzd/arcgis/rest/services/Maine_NPS_
Priority_Watersheds_WFL1/FeatureServer/info/metadata?format=fgdc
Climate Ready Coast - Layer and Data Information 2025-04-09
180
d31 Land Cover Metadata
Title
NOAA C-CAP Derived Land Cover Beta
Summary (from website)
These raster-based land cover products are developed through entirely automated
methods. Initial mapping was conducted at 1-meter resolution using aerial imagery,
lidar elevation, and ancillary information. The result was a six-category land cover that
was resampled to 10 meters and combined with wetland information from the National
Wetland Inventory (NWI) to produce this BETA-level product, with up to 15 categories
of land cover. Three file types are available: a 10-meter resolution land cover, a 30-
meter percent man-made impervious layer, and a 30-meter percent canopy layer.
While produced as part of the Coastal Change Analysis Program (C-CAP), these products
should not be compared directly to past dates of 30-meter C-CAP to identify change, as
there will be vast differences caused by the different methods and the classes mapped.
Source
National Oceanic and Atmospheric Administration,
Office for Coastal Management.
Digital Coast
Data source accessed 12/2024
https://coastalimagery.blob.core.windows.net/ccap-
landcover/CCAP_bulk_download/BETA_Derived_Land_Cover/Land_Cover_10meter/me
_2015_ccap_beta_10meter_landcover.tif
Source Version
2015
License (Limitation and Notes)
These data should be considered to be BETA-level or draft products. They are based on
1-meter land cover mapping that were entirely automated and the relationship of those
data to existing wetlands data. As such, there may be issues that result from the
different vintages of these products, as well as the errors included in each. While not
perfect, the data should provide an example of what level of detail would be possible
through such higher-resolution mapping.
These data are not jurisdictional or intended for use in litigation. NOAA does not assume
liability for any damages or misrepresentations caused by inaccuracies in the data, or as
a result of the data used on a particular system. NOAA makes no warranty, expressed or
implied, nor does the fact of distribution constitute such a warranty.
Online Link
https://coast.noaa.gov/digitalcoast/data/ccapderived.html
Download URL
Climate Ready Coast - Layer and Data Information 2025-04-09
181
https://coastalimagery.blob.core.windows.net/ccap-
landcover/CCAP_bulk_download/BETA_Derived_Land_Cover/Land_Cover_10meter/me
_2015_ccap_beta_10meter_landcover.tif
InPort Metadata
https://coastalimagery.blob.core.windows.net/ccap-
landcover/CCAP_bulk_download/BETA_Derived_Land_Cover/Land_Cover_10meter/20
15_ccap_10m_beta.xml
ISO19139
None found so far
FGDC
None found so far
Climate Ready Coast - Layer and Data Information 2025-04-09
182
d32 Beach Location Extra Polygons Metadata
Title
Southern Maine Beach Location Extra Polygons
Summary
Two sets of polygons used to augment data set d28_beach_location.
d28_beach_inclusion and d28_beach_exclusion. d28_beach_inclusion lists polygons for
beach locations that should be included in d28_beach_location but are missing, using
because of splayed transect lines that create gaps in the beach data.
d28_beach_exclusion lists polygons that should not be included in d28_beach_location,
usually because the transect line reaches areas far beyond the intended beach area.
Source
Nearview, LLC
Version
1.0 (3/17/2025)
License
None
Online Link
None
Processing steps
Polygons were created by hand by manual review of all d28_beach_location polygons.
Inclusion polygons were created for gaps and Exclusion polygons were created for areas
outside of intended beach locations.
REST URLs
None
ISO19139
None
FGDC
None
Climate Ready Coast - Layer and Data Information 2025-04-09
183
d33 Dry Beach Erosion Metadata
Title
Maine Beach Mapping DSAS Beach Change
Summary (from website)
This layer includes transects that represent dry beach width statistics calculated from
shoreline positions (Beach_Mapping_Shorelines) through the current year using a MGS
developed database version of the USGS Digital Shoreline Analysis System.
Source
Halsted, Christian H
State of Maine
Source Version
Published Date: October 23, 2017
Info Updated: August 28, 2019
Data Updated: October 7, 2024
License
None available
Online Link
https://mgs-maine.opendata.arcgis.com/datasets/maine::maine-beach-mapping-dsas-
beach-change/about
REST URLs
https://services1.arcgis.com/RbMX0mRVOFNTdLzd/ArcGIS/rest/services/MGS_Beach
_Mapping/FeatureServer/4
ISO19139
https://services1.arcgis.com/RbMX0mRVOFNTdLzd/ArcGIS/rest/services/MGS_Beach
_Mapping/FeatureServer/info/metadata?format=iso19139
FGDC
https://services1.arcgis.com/RbMX0mRVOFNTdLzd/ArcGIS/rest/services/MGS_Beach
_Mapping/FeatureServer/info/metadata?format=fgdc
Climate Ready Coast - Layer and Data Information 2025-04-09
184
d34 Erodibility Index Metadata
Title
Soil Survey Geographic Database (SSURGO)
Summary (from website)
The Soil Survey Geographic Database (SSURGO) contains information about soil as
collected by the National Cooperative Soil Survey over the course of a century. The
information was gathered by walking over the land and observing the soil. Many soil
samples were analyzed in laboratories.
Source
Soil Survey Staff
Natural Resources Conservation Service
United States Department of Agriculture
Web Soil Survey
Available online at https://websoilsurvey.nrcs.usda.gov/
Accessed 3/12/2025
Source Version
2024-08-26 (from filename)
Processing steps
Downloaded county data from websoilsurvey.sc.egov.usda.gov and decompressed data
into shapefiles and tabular data.
Loaded shapefile containing mapunits into database.
Joined mapunits with tabular component and horizon tables using mukey and cokey.
Selected component with the highest percentage of mapunit which also had kffact data
available.
Normalized kffact data across all horizon records based on thickness of horizon.
Saved normalized kffact value in database with each mapunit geometry record.
License
None available
Online Link
https://websoilsurvey.nrcs.usda.gov/
URLs
https://websoilsurvey.sc.egov.usda.gov/DSD/Download/Cache/SSA/wss_SSA_ME031_s
oildb_ME_2003_\[2024-08-26\].zip
https://websoilsurvey.sc.egov.usda.gov/DSD/Download/Cache/SSA/wss_SSA_ME005_s
oildb_ME_2003_\[2024-08-26\].zi
Climate Ready Coast - Layer and Data Information 2025-04-09
185
Metadata
https://www.nrcs.usda.gov/resources/data-and-reports/ssurgo/stats2go-metadata
ISO19139
Unavailable
FGDC
Unavailable
Climate Ready Coast - Layer and Data Information 2025-04-09
186
d35 Roads Vulnerability Metadata
Title
SMPDC CRC Roads Vulnerability Assessment
Summary (from website)
Vulnerability assessment of roads.
Source
Climate Ready Coast
Southern Maine Planning & Development Commission
Source Version
Info Updated: June 22, 2022
Data Updated: June 22, 2022
Published Date: June 22, 2022
License
No License Provided
Online Link
https://data-
smpdc.opendata.arcgis.com/datasets/2e83b0f9b09245a7995df297c9c6a13e_0/about
REST URLs
https://services.arcgis.com/EDmXP1QjmSmZlvBw/arcgis/rest/services/Roads_Vulner
ability_Assessment/FeatureServer/0
ISO19139
https://services.arcgis.com/EDmXP1QjmSmZlvBw/arcgis/rest/services/Roads_Vulner
ability_Assessment/FeatureServer/info/metadata?format=iso19139
FGDC
https://services.arcgis.com/EDmXP1QjmSmZlvBw/arcgis/rest/services/Roads_Vulner
ability_Assessment/FeatureServer/info/metadata?format=fgdc
Climate Ready Coast - Layer and Data Information 2025-04-09
187
Appendix 3 - Data Schemas
w00 Shoreline Schema
-- table: w00_shoreline
-- primary key: id
-- geometry SRID: 26919 (EPSG, UTM, Zone 19N, NAD83)
-- Geometry type: POINT
-- ========================== table definition ==========================
CREATE TABLE dst.w00_shoreline (
id serial primary key,
geom geometry not null
CHECK(st_srid(geom) = 26919)
);
-- ========================== table constraints ==========================
-- only geometry with SRID EPSG:26919 (UTM, Zone 19 North, NAD83) allowed
ALTER TABLE dst.w00_shoreline
ADD CONSTRAINT check_srid
CHECK (st_srid(geom) = 26919);
-- only geometry type POINT allowed
ALTER TABLE dst.w00_shoreline
ADD CONSTRAINT check_geometry_type
CHECK (st_geometrytype(geom) = 'ST_Point');
Climate Ready Coast - Layer and Data Information 2025-04-09
188
w01 Aspect Schema
-- table: w01_aspect
-- primary key: id
-- ========================== table definition ==========================
CREATE TABLE dst.w01_aspect (
id serial primary key,
aspect double precision not null;
);
-- ========================== table constraints ==========================
-- aspect must be between 0 and 360
ALTER TABLE dst.w01_aspect
ADD CONSTRAINT fk_w01_aspect
CHECK(aspect >= 0.0 and aspect < 360);
-- every point in the aspect table must match a point in the shoreline table
ALTER TABLE dst.w01_aspect
ADD CONSTRAINT fk_w01_shoreline
FOREIGN KEY(id) REFERENCES w00_shoreline(id);
Climate Ready Coast - Layer and Data Information 2025-04-09
189
w02 Beach Erosion Rate Schema
-- table: w02_beach_erosion
-- primary key: id
-- ========================== table definition ==========================
CREATE TABLE dst.w02_beach_erosion (
id serial primary key,
rate double prevision, -- mean yearly beach width change in feet
distance double precision -- distance to closest transect
);
-- ========================== table constraints ==========================
-- distance should be fixed between 0 and 18km (South Berwick to the coast)
-- rate should be fixed between -28 ft and 10 meters
ALTER TABLE dst.w02_beach_erosion
ADD CONSTRAINT fk_w02_beach_erosion
CHECK(distance >= 0.0 and distance < 18000 and rate > -28 and rate < 10);
-- every point in the w02_beach_erosion table must match a point in the
shoreline table
ALTER TABLE dst.w02_beach_erosion
ADD CONSTRAINT fk_w02_shoreline
FOREIGN KEY(id) REFERENCES w00_shoreline(id);
Climate Ready Coast - Layer and Data Information 2025-04-09
190
w03 Beach Width Schema
-- table: w03_beach_width
-- primary key: id
-- ========================== table definition ==========================
CREATE TABLE dst.w03_beach_width (
id serial primary key,
width integer, -- mean beach width in feet
distance double precision -- distance to closest transect
);
-- ========================== table constraints ==========================
-- distance should be fixed between 0 and 18km (South Berwick to the coast)
-- width should be fixed between -10 and 400 feet
ALTER TABLE dst.w03_beach_width
ADD CONSTRAINT fk_w03_beach_width
CHECK(distance >= 0.0 and distance < 18000 and width >= -10 and width <
400);
-- every point in the w03_beach_width table must match a point in the shoreline
table
ALTER TABLE dst.w03_beach_width
ADD CONSTRAINT fk_w03_shoreline
FOREIGN KEY(id) REFERENCES w00_shoreline(id);
Climate Ready Coast - Layer and Data Information 2025-04-09
191
w04 Dune Height Relative to Base Flood Elevation Schema
-- table: w04_dune_crest_proximity
-- primary key: id
-- ========================== table definition ==========================
CREATE TABLE dst.w04_dune_crest_proximity (
id serial primary key,
dune_id integer, -- unique dune id
dune_distance double precision -- distance to dune in meters
dune_bfe_elevation_compare double precision -- elevation difference between
dune crest and bfe in meters
);
-- ========================== table constraints ==========================
-- dune distance should be fixed between 0 and 20km (South Berwick to the
coast)
ALTER TABLE dst.w04_dune_crest_proximity
ADD CONSTRAINT fk_w04_dune_crest_proximity
CHECK(dune_distance >= 0.0 and dune_distance < 20000);
-- bfe/elevation range should be between 15 and -15
ALTER TABLE dst.w04_dune_crest_proximity
ADD CONSTRAINT fk_w04_dune_crest_proximity_bfe_ele_range
CHECK(dune_bfe_elevation_compare > -15.0 and dune_bfe_elevation_compare <
15.0);
-- every point in the w04_dune_crest_proximity table must match a point in the
shoreline table
ALTER TABLE dst.w04_dune_crest_proximity
ADD CONSTRAINT fk_w04_shoreline
FOREIGN KEY(id) REFERENCES w00_shoreline(id);
Climate Ready Coast - Layer and Data Information 2025-04-09
192
w05 Dune Erosion Rate Schema
-- table: w05_dune_erosion
-- primary key: id
-- ========================== table definition ==========================
CREATE TABLE dst.w05_dune_erosion (
id serial primary key,
rate double prevision, -- mean yearly dune width change in feet
distance double precision -- distance to closest transect
);
-- ========================== table constraints ==========================
-- distance should be fixed between 0 and 18km (South Berwick to the coast)
-- rate should be fixed between -15 ft and 60 feet
ALTER TABLE dst.w05_dune_erosion
ADD CONSTRAINT fk_w05_dune_erosion
CHECK(distance >= 0.0 and distance < 18000 and rate > -15 and rate < 60);
-- every point in the w05_dune_erosion table must match a point in the
shoreline table
ALTER TABLE dst.w05_dune_erosion
ADD CONSTRAINT fk_w05_shoreline
FOREIGN KEY(id) REFERENCES w00_shoreline(id);
Climate Ready Coast - Layer and Data Information 2025-04-09
193
w06 Coastal Dune and Structure Distance Schema
-- table: w06_dune_structure_proximity
-- primary key: id
-- ========================== table definition ==========================
CREATE TABLE dst.w06_dune_structure_proximity (
id serial primary key,
structure_id integer, -- unique structure id
structure_distance double precision -- distance to structure in meters
);
-- ========================== table constraints ==========================
-- structure distance should be fixed between 0 and 20km (South Berwick to the
coast)
ALTER TABLE dst.w06_dune_structure_proximity
ADD CONSTRAINT fk_w06_dune_structure_proximity
CHECK(structure_distance is not null and structure_distance >= 0.0 and
structure_distance < 20000 and structure_id is not null);
-- every point in the w06_dune_structure_proximity table must match a point in
the shoreline table
ALTER TABLE dst.w06_dune_structure_proximity
ADD CONSTRAINT fk_w06_shoreline
FOREIGN KEY(id) REFERENCES w00_shoreline(id);
Climate Ready Coast - Layer and Data Information 2025-04-09
194
w07 Annualized Fetch Schema
-- table: w07_fetch_annualized
-- primary key: id
-- ========================== table definition ==========================
CREATE TABLE dst.w07_fetch_annualized (
id serial primary key,
-- fetch distance in meters
dist double precision not null
);
-- ========================== table constraints ==========================
-- fetch distance should be fixed between 0 and 5 miles
ALTER TABLE dst.w07_fetch_annualized
ADD CONSTRAINT fk_w07_fetch_annualized
CHECK(dist >= 0.0 and < 5 * 5280 * 12 * 2.54 / 100 + 1);
-- every point in the w07_fetch_annualized table must match a point in the
shoreline table
ALTER TABLE dst.w07_fetch_annualized
ADD CONSTRAINT fk_w07_shoreline
FOREIGN KEY(id) REFERENCES w00_shoreline(id);
Climate Ready Coast - Layer and Data Information 2025-04-09
195
w08 Southeast Fetch Schema
-- table: w08_fetch_northeast
-- primary key: id
-- ========================== table definition ==========================
CREATE TABLE dst.w08_fetch_southeast (
id serial primary key,
-- fetch distance in meters
dist double precision not null
);
-- ========================== table constraints ==========================
-- fetch distance should be fixed between 0 and 5 miles
ALTER TABLE dst.w08_fetch_northeast
ADD CONSTRAINT fk_w08_fetch_northeast
CHECK(dist >= 0.0 and < 5 * 5280 * 12 * 2.54 / 100 + 1);
-- every point in the w08_fetch_northeast table must match a point in the
shoreline table
ALTER TABLE dst.w08_fetch_northeast
ADD CONSTRAINT fk_w08_shoreline
FOREIGN KEY(id) REFERENCES w00_shoreline(id);
Climate Ready Coast - Layer and Data Information 2025-04-09
196
w11 FEMA Zone Schema
-- table: w11_fema_zone
-- primary key: id
-- ========================== table definition ==========================
CREATE TABLE dst.w11_fema_zone (
id serial primary key,
zone text, -- FEMA zone id
distance double precision -- distance to nearest FEMA zone in meters
);
-- ========================== table constraints ==========================
-- distance should be 0 for all points within FEMA zones and less than 2500
meters for islands outside fema zones
-- zone will be one of a fixed set of possible coastal zones: "A", "AE", "OPEN
WATER", "VE", "X".
ALTER TABLE dst.w11_fema_zone
ADD CONSTRAINT fk_w11_fema_zone
CHECK(distance >= 0.0 and distance < 2500 and (zone == 'A' or zone == 'AE'
or zone == 'OPEN WATER' or zone == 'VE' or zone == 'X');
-- every point in the w11_fema_zone table must match a point in the shoreline
table
ALTER TABLE dst.w11_fema_zone
ADD CONSTRAINT fk_w11_shoreline
FOREIGN KEY(id) REFERENCES w00_shoreline(id);
Climate Ready Coast - Layer and Data Information 2025-04-09
197
w12 Eelgrass Habitat Proximity Schema
-- table: w12_habitat_eelgrass
-- primary key: id
-- ========================== table definition ==========================
CREATE TABLE dst.w12_habitat_eelgrass (
id serial primary key,
dmr_id integer -- OBJECTID/OBJECTID_1 field from DMR
Eelgrass / d08_eelgrass
dmr_set integer -- DMR data set year
dmr_year integer -- DMR collection year
dmr_global_id character varying -- GlobalID from DMR Eelgrass (perhaps
should be UUID/GUID)
distance double precision -- distance to DMR Eelgrass polygon from
sample point (meters)
);
-- ========================== table constraints ==========================
-- eelgrass habitat distance should be fixed between 0 and 13km (Boon Island to
coast)
ALTER TABLE dst.w12_habitat_eelgrass
ADD CONSTRAINT fk_w12_habitat_eelgrass
CHECK(distance >= 0.0 and distance < 13000);
-- every point in the w12_habitat_eelgrass table must match a point in the
shoreline table
ALTER TABLE dst.w12_habitat_eelgrass
ADD CONSTRAINT fk_w12_shoreline
FOREIGN KEY(id) REFERENCES w00_shoreline(id);
Climate Ready Coast - Layer and Data Information 2025-04-09
198
w13 Shellfish Habitat Proximity Schema
-- table: w13_habitat_shellfish
-- primary key: id
-- ========================== table definition ==========================
CREATE TABLE dst.w13_habitat_shellfish (
id serial primary key,
dmr_id integer -- OBJECTID_1 field from DMR Shellfish /
d07_shelfish
dmr_global_id character varying -- GlobalID from DMR Shellfish (perhaps
should be UUID/GUID)
distance double precision -- distance to DMR Shellfish polygon from
sample point (meters)
);
-- ========================== table constraints ==========================
-- shellfish habitat distance should be fixed between 0 and 12km (Boon Island
to coast)
ALTER TABLE dst.w13_habitat_shellfish
ADD CONSTRAINT fk_w13_habitat_shellfish
CHECK(distance >= 0.0 and distance < 12000);
-- every point in the w13_habitat_shellfish table must match a point in the
shoreline table
ALTER TABLE dst.w13_habitat_shellfish
ADD CONSTRAINT fk_w13_shoreline
FOREIGN KEY(id) REFERENCES w00_shoreline(id);
Climate Ready Coast - Layer and Data Information 2025-04-09
199
w14 TWWH Area Proximity Schema
-- table: w14_habitat_bird
-- primary key: id
-- ========================== table definition ==========================
CREATE TABLE dst.w14_habitat_bird (
id serial primary key,
twwh_id integer -- twwh_id field from TWWH / d06_bird
twwh_global_id character varying -- GlobalID from TWWH (perhaps should
be UUID/GUID)
distance double precision -- distance to TWWH polygon from sample point
(meters)
);
-- ========================== table constraints ==========================
-- bird habitat distance should be fixed between 0 and 13km (Boon Island to
coast)
ALTER TABLE dst.w14_habitat_bird
ADD CONSTRAINT fk_w14_habitat_bird
CHECK(distance >= 0.0 and distance < 13000);
-- every point in the w14_habitat_bird table must match a point in the
shoreline table
ALTER TABLE dst.w14_habitat_bird
ADD CONSTRAINT fk_w14_shoreline
FOREIGN KEY(id) REFERENCES w00_shoreline(id);
Climate Ready Coast - Layer and Data Information 2025-04-09
200
w15 Landward Relief Height Schema
-- table: w15_relief
-- primary key: id
-- ========================== table definition ==========================
CREATE TABLE dst.w15_relief (
id serial primary key,
prj_geom geometry not null
max_geom geometry not null
relief double precision not null,
elv double precision not null,
prj_elv double precision not null,
max_elv double precision not null
CHECK(st_srid(prj_geom) = 26919)
CHECK(st_srid(prj_geom) like 'ST_Point')
CHECK(st_srid(max_geom) = 26919)
CHECK(st_srid(max_geom) like 'ST_Point')
);
-- ========================== table constraints ==========================
-- relief must be between 0 and 25 (~20.05 highest seen so far)
ALTER TABLE dst.w15_relief
ADD CONSTRAINT fk_w15_relief
CHECK(relief >= 0.0 and relief < 25);
-- max_elv must be between 0 and 25 (~21 highest seen so far)
ALTER TABLE dst.w15_relief
ADD CONSTRAINT fk_w15_max_elv
CHECK(max_elv > 0.0 and max_elv < 25);
-- max_elv must be greater than or equal to elv and prj_elv
ALTER TABLE dst.w15_relief
ADD CONSTRAINT fk_w15_max_elv_prj
CHECK(max_elv >= elv and max_elv >= prj_elv);
-- elv must be between -0.5 and 10 (~ -0.4 / ~6.4 range seen so far)
ALTER TABLE dst.w15_relief
ADD CONSTRAINT fk_w15_elv
CHECK(elv > -0.5 and elv < 10);
-- prj_elv must be between -15 and 25 (~-10/~21 max range seen so far)
ALTER TABLE dst.w15_relief
ADD CONSTRAINT fk_w15_prj_elv
CHECK(prj_elv > -15 and prj_elv < 25);
-- every point in the relief table must match a point in the shoreline table
ALTER TABLE dst.w15_relief
ADD CONSTRAINT fk_w15_shoreline
FOREIGN KEY(id) REFERENCES w00_shoreline(id);
Climate Ready Coast - Layer and Data Information 2025-04-09
201
w17 Saltmarsh Migration Schema
-- table: w17_saltmarsh_migration
-- primary key: id
-- ========================== table definition ==========================
CREATE TABLE dst.w17_saltmarsh_migration (
id serial primary key,
cur_saltmarsh boolean -- intersection between sample point and current
saltmarsh (D10)
fut_saltmarsh boolean -- intersection between sample point and future
saltmarsh (D10)
);
-- ========================== table constraints ==========================
-- neither current not future intersection flags should be unfilled
ALTER TABLE dst.w17_saltmarsh_migration
ADD CONSTRAINT fk_w17_saltmarsh_migration
CHECK(cur_saltmarsh is not null and fut_saltmarsh is not null);
-- every point in the w17_saltmarsh_migration table must match a point in the
shoreline table
ALTER TABLE dst.w17_saltmarsh_migration
ADD CONSTRAINT fk_w17_shoreline
FOREIGN KEY(id) REFERENCES w00_shoreline(id);
Climate Ready Coast - Layer and Data Information 2025-04-09
202
w18 Tidal Crossings Schema
-- table: w18_tidal_crossing
-- primary key: id
-- ========================== table definition ==========================
CREATE TABLE dst.w18_tidal_crossing (
id serial primary key,
src character varying, -- source table: road, future_road, other
crosstype character varying, -- 'crosstype' description from source data
distance double precision -- distance to closest tidal crossing (in meters)
);
-- ========================== table constraints ==========================
-- distance should be fixed between 0 and 13km (offshore island)
-- crosstype is one of 16 different types (including 'Unknown')
ALTER TABLE dst.w18_tidal_crossing
ADD CONSTRAINT fk_w18_tidal_crossing
CHECK(distance >= 0.0 and distance < 13000);
-- every point in the w18_tidal_crossing table must match a point in the
shoreline table
ALTER TABLE dst.w18_tidal_crossing
ADD CONSTRAINT fk_w18_shoreline
FOREIGN KEY(id) REFERENCES w00_shoreline(id);
Climate Ready Coast - Layer and Data Information 2025-04-09
203
w19 Boat Wakes Schema
-- table: w19_erosion_nav_channel
-- primary key: id
-- ========================== table definition ==========================
CREATE TABLE dst.w19_erosion_nav_channel (
id serial primary key,
src_id integer -- Primary key in USACE National Channel
Framework (D09) table (ogc_fid)
distance double precision -- distance to D09 geometry from sample point
(meters)
);
-- ========================== table constraints ==========================
-- distance should be fixed between 0 and 14km (Boone Island to coast
ALTER TABLE dst.w19_erosion_nav_channel
ADD CONSTRAINT fk_w19_erosion_nav_channel
CHECK(distance >= 0.0 and distance < 14000);
-- every point in the w19_erosion_nav_channel table must match a point in the
shoreline table
ALTER TABLE dst.w19_erosion_nav_channel
ADD CONSTRAINT fk_w19_shoreline
FOREIGN KEY(id) REFERENCES w00_shoreline(id);
Climate Ready Coast - Layer and Data Information 2025-04-09
204
w20 Landward Habitat Schema
-- table: w20_shoreline_landward
-- primary key: id
-- ========================== table definition ==========================
CREATE TABLE dst.w20_shoreline_landward (
id serial primary key,
distance double precision, -- distance from sample point to ESI line
(D11)
landward_stype character varying, -- landward ESI type
seaward_stype_1 character varying, -- seaward ESI type 1
seaward_stype_2 character varying -- seaward ESI type 1
);
-- ========================== table constraints ==========================
-- might want to verify that ESI types come from a specific legal set of
values, could create
-- a foreign key to another table
-- distance is a real value, not too large
-- landward_style is a real value (and not 'None')
ALTER TABLE dst.w20_shoreline_landward
ADD CONSTRAINT fk_w20_shoreline_landward
CHECK(
distance is not null and
distance < 11000 and
landward_stype is not null and
landward_stype not like 'None'
);
-- every point in the w20_shoreline_landward table must match a point in the
shoreline table
ALTER TABLE dst.w20_shoreline_landward
ADD CONSTRAINT fk_w20_shoreline
FOREIGN KEY(id) REFERENCES w00_shoreline(id);
Climate Ready Coast - Layer and Data Information 2025-04-09
205
w21 Seaward Habitat Schema
-- table: w21_shoreline_seaward
-- primary key: id
-- ========================== table definition ==========================
CREATE TABLE dst.w21_shoreline_seaward (
id serial primary key,
distance double precision, -- distance from sample point to ESI line
(D11)
landward_stype character varying, -- landward ESI type
seaward_stype_1 character varying, -- seaward ESI type 1
seaward_stype_2 character varying -- seaward ESI type 1
);
-- ========================== table constraints ==========================
-- might want to verify that ESI types come from a specific legal set of
values, could create
-- a foreign key to another table
-- distance is a real value, not too large
ALTER TABLE dst.w21_shoreline_seaward
ADD CONSTRAINT fk_w21_shoreline_seaward
CHECK(
distance is not null and
distance < 11000
);
-- every point in the w21_shoreline_seaward table must match a point in the
shoreline table
ALTER TABLE dst.w21_shoreline_seaward
ADD CONSTRAINT fk_w21_shoreline
FOREIGN KEY(id) REFERENCES w00_shoreline(id);
Climate Ready Coast - Layer and Data Information 2025-04-09
206
w22 Landward Slope Schema
-- table: w22_slope_landward
-- primary key: id
-- ========================== table definition ==========================
CREATE TABLE dst.w22_slope_landward (
id serial primary key,
prj_geom geometry not null
slope double precision not null,
elv double precision not null,
prj_elv double precision not null,
CHECK(st_srid(prj_geom) = 26919)
CHECK(st_srid(prj_geom) like 'ST_Point')
);
-- ========================== table constraints ==========================
-- slope min/max (-0.8204047604808657, 1.3159092818814626) (Navy Yard Dry
Docks to Cliff House)
ALTER TABLE dst.w22_slope_landward
ADD CONSTRAINT fk_w22_slope
CHECK(slope > -1.00 and slope < 1.5);
-- elv min/max (-0.4058777689933777, 6.401947975158691)
ALTER TABLE dst.w22_slope_landward
ADD CONSTRAINT fk_w22_elv
CHECK(elv > -0.42 and elv < 6.50);
-- prj_elv min/max (-10.12044620513916, 20.996980667114258)
ALTER TABLE dst.w22_slope_landward
ADD CONSTRAINT fk_w22_prj_elv
CHECK(prj_elv > -12.0 and prj_elv < 22);
-- every point in the slope table must match a point in the shoreline table
ALTER TABLE dst.w22_slope_landward
ADD CONSTRAINT fk_w22_shoreline
FOREIGN KEY(id) REFERENCES w00_shoreline(id);
Climate Ready Coast - Layer and Data Information 2025-04-09
207
w23 Intertidal Slope Schema
-- table: w23_slope_seaward_intertidal
-- primary key: id
-- ========================== table definition ==========================
CREATE TABLE dst.w23_slope_seaward_intertidal (
id serial primary key,
slope double precision not null,
cnt_geom geometry not null
elv double precision not null,
cnt_elv double precision not null,
CHECK(st_srid(cnt_geom) = 26919)
CHECK(st_srid(cnt_geom) like 'ST_Point')
CHECK(cnt_elv = 0)
);
-- ========================== table constraints ==========================
-- slope min/max (-0.7843046208111697 8.128596808215173) (Cliff House /
Piscataqua River)
ALTER TABLE dst.w23_slope_seaward_intertidal
DROP CONSTRAINT IF EXISTS fk_w23_slope;
ALTER TABLE dst.w23_slope_seaward_intertidal
ADD CONSTRAINT fk_w23_slope
CHECK(slope > -0.80 and slope < 9.0);
-- elv min/max (-0.4058777689933777 6.401947975158691)
ALTER TABLE dst.w23_slope_seaward_intertidal
DROP CONSTRAINT IF EXISTS fk_w23_elv;
ALTER TABLE dst.w23_slope_seaward_intertidal
ADD CONSTRAINT fk_w23_elv
CHECK(elv > -1.0 and elv < 10);
-- cnt_elv min/max (0 0)
ALTER TABLE dst.w23_slope_seaward_intertidal
DROP CONSTRAINT IF EXISTS fk_w23_cnt_elv;
ALTER TABLE dst.w23_slope_seaward_intertidal
ADD CONSTRAINT fk_w23_cnt_elv
CHECK(cnt_elv >= 0.0 and cnt_elv <= 0.0);
-- every point in the slope table must match a point in the shoreline table
ALTER TABLE dst.w23_slope_seaward_intertidal
DROP CONSTRAINT IF EXISTS fk_w23_shoreline;
ALTER TABLE dst.w23_slope_seaward_intertidal
ADD CONSTRAINT fk_w23_shoreline
FOREIGN KEY(id) REFERENCES w00_shoreline(id);
Climate Ready Coast - Layer and Data Information 2025-04-09
208
Climate Ready Coast - Layer and Data Information 2025-04-09
209
w24 Bathymetric Slope Schema
-- table: w24_slope_seaward_100
-- primary key: id
-- ========================== table definition ==========================
CREATE TABLE dst.w24_slope_seaward_100 (
id serial primary key,
prj_geom geometry not null
slope double precision not null,
elv double precision not null,
prj_elv double precision not null,
CHECK(st_srid(prj_geom) = 26919)
CHECK(st_srid(prj_geom) like 'ST_Point')
);
-- ========================== table constraints ==========================
-- slope min/max (-0.7163501630617877 0.6222594245838056) (Cliff House /
Piscataqua River)
ALTER TABLE dst.w24_slope_seaward_100
DROP CONSTRAINT IF EXISTS fk_w24_slope;
ALTER TABLE dst.w24_slope_seaward_100
ADD CONSTRAINT fk_w24_slope
CHECK(slope > -0.75 and slope < 0.65);
-- elv min/max (-11.95870590209961 19.00250816345215)
ALTER TABLE dst.w24_slope_seaward_100
DROP CONSTRAINT IF EXISTS fk_w24_elv;
ALTER TABLE dst.w24_slope_seaward_100
ADD CONSTRAINT fk_w24_elv
CHECK(elv > -15.0 and elv < 22);
-- prj_elv min/max (-18.891939163208008 20.64995765686035)
ALTER TABLE dst.w24_slope_seaward_100
DROP CONSTRAINT IF EXISTS fk_w24_prj_elv;
ALTER TABLE dst.w24_slope_seaward_100
ADD CONSTRAINT fk_w24_prj_elv
CHECK(prj_elv > -20.0 and prj_elv < 22);
-- every point in the slope table must match a point in the shoreline table
ALTER TABLE dst.w24_slope_seaward_100
DROP CONSTRAINT IF EXISTS fk_w24_shoreline;
ALTER TABLE dst.w24_slope_seaward_100
ADD CONSTRAINT fk_w24_shoreline
FOREIGN KEY(id) REFERENCES w00_shoreline(id);
Climate Ready Coast - Layer and Data Information 2025-04-09
210
Climate Ready Coast - Layer and Data Information 2025-04-09
211
w25 Coastal Structures Schema
-- table: w25_structures_hardening
-- primary key: id
-- ========================== table definition ==========================
CREATE TABLE dst.w25_structures_hardening (
id serial primary key,
distance double precision, -- distance to impervious surface (in meters)
structure1 character varying, -- primary hardened structure type
structure2 character varying -- secondary hardened structure type
);
-- ========================== table constraints ==========================
-- distance should be >= 0, < 11 km, and not null
-- structure1 should not be null
ALTER TABLE dst.w25_structures_hardening
ADD CONSTRAINT fk_w25_structures_hardening
CHECK(distance is not null and distance >= 0 and distance < 11000 and
structure1 is not null);
-- every point in the w25_structures_hardening table must match a point in the
shoreline table
ALTER TABLE dst.w25_structures_hardening
ADD CONSTRAINT fk_w25_shoreline
FOREIGN KEY(id) REFERENCES w00_shoreline(id);
Climate Ready Coast - Layer and Data Information 2025-04-09
212
w27 Northeast Fetch Schema
-- table: w27_fetch_northeast
-- primary key: id
-- ========================== table definition ==========================
CREATE TABLE dst.w27_fetch_northeast (
id serial primary key,
dist double precision not null -- fetch distance in meters
);
-- ========================== table constraints ==========================
-- fetch distance should be fixed between 0 and 10 miles
ALTER TABLE dst.w27_fetch_northeast
ADD CONSTRAINT fk_w27_fetch_northeast
CHECK(dist >= 0.0 and < 10 * 5280 * 12 * 2.54 / 100 + 1);
-- every point in the w27_fetch_northeast table must match a point in the
shoreline table
ALTER TABLE dst.w27_fetch_northeast
ADD CONSTRAINT fk_w27_shoreline
FOREIGN KEY(id) REFERENCES w00_shoreline(id);
Climate Ready Coast - Layer and Data Information 2025-04-09
213
w28 Seaward Habitat Extra Schema
-- table: w28_shoreline_seaward_extra
-- primary key: id
-- ========================== table definition ==========================
CREATE TABLE dst.w28_shoreline_seaward_extra (
id serial primary key,
distance double precision, -- distance from sample point to ESI line
(D11)
landward_stype character varying, -- landward ESI type
seaward_stype_1 character varying, -- seaward ESI type 1
seaward_stype_2 character varying -- seaward ESI type 1
);
-- ========================== table constraints ==========================
-- might want to verify that ESI types come from a specific legal set of
values, could create
-- a foreign key to another table
-- distance is a real value, not too large
ALTER TABLE dst.w28_shoreline_seaward_extra
ADD CONSTRAINT fk_w28_shoreline_seaward_extra
CHECK(
distance is not null and
distance < 11000
);
-- every point in the w28_shoreline_seaward_extra table must match a point in
the shoreline table
ALTER TABLE dst.w28_shoreline_seaward_extra
ADD CONSTRAINT fk_w28_shoreline
FOREIGN KEY(id) REFERENCES w00_shoreline(id);
Climate Ready Coast - Layer and Data Information 2025-04-09
214
w29 Soils Erodibility Schema
-- table: w29_erodibility
-- primary key: id
-- ========================== table definition ==========================
CREATE TABLE dst.w29_erodibility (
id serial primary key,
value double precision, -- Soils Erodibility Factor value (0.00 -
0.64)
distance double precision -- distance from sample point to mapunit polygon
(in meters)
);
-- ========================== table constraints ==========================
-- possible value range is 0.00 to 0.64
ALTER TABLE dst.w29_erodibility
ADD CONSTRAINT fk_w29_erodibility_value
CHECK(
value is not null and
value >= 0.00 and
value <= 0.64
);
-- distance cannot be too large 11k
ALTER TABLE dst.w29_erodibility
ADD CONSTRAINT fk_w29_erodibility_distance
CHECK(
distance < 11000
);
-- every point in the w29_erodibility table must match a point in the shoreline
table
ALTER TABLE dst.w29_erodibility
ADD CONSTRAINT fk_w29_shoreline
FOREIGN KEY(id) REFERENCES w00_shoreline(id);
Climate Ready Coast - Layer and Data Information 2025-04-09
215
w31 Landcover Schema
-- table: w31_landcover
-- primary key: id
-- ========================== table definition ==========================
CREATE TABLE dst.w31_landcover (
id serial primary key,
category integer, -- landcover category class number (0 - 23)
);
-- ========================== table constraints ==========================
-- possible value range is 0 to 23
ALTER TABLE dst.w31_landcover
ADD CONSTRAINT fk_31_landcover_category
CHECK(
category is not null and
category >= 0 and
category <= 23
);
-- every point in the w31_landcover table must match a point in the shoreline
table
ALTER TABLE dst.w31_landcover
ADD CONSTRAINT fk_w31_landcover
FOREIGN KEY(id) REFERENCES w00_shoreline(id);
Climate Ready Coast - Layer and Data Information 2025-04-09
216
w32 Dry Beach Erosion Rate Schema
-- table: w32_dry_beach_erosion
-- primary key: id
-- ========================== table definition ==========================
CREATE TABLE dst.w32_dry_beach_erosion (
id serial primary key,
distance double precision -- distance to closest transect
beach_distance double precision -- distance to nearest beach
(d28_beach_location)
rate double prevision, -- mean yearly beach width change in meters
);
-- ========================== table constraints ==========================
-- distance should be fixed between 0 and 18km (South Berwick to the coast)
-- rate should be fixed between -35 ft and 68 feet
ALTER TABLE dst.w32_dry_beach_erosion
ADD CONSTRAINT fk_w32_dry_beach_erosion
CHECK(distance >= 0.0 and distance < 18000 and rate > -35 and rate < 68);
-- every point in the w32_dry_beach_erosion table must match a point in the
shoreline table
ALTER TABLE dst.w32_dry_beach_erosion
ADD CONSTRAINT fk_w32_shoreline
FOREIGN KEY(id) REFERENCES w00_shoreline(id);
Climate Ready Coast - Layer and Data Information 2025-04-09
217
w33 Total Beach Width Schema
-- table: w33_total_beach_width
-- primary key: id
-- ========================== table definition ==========================
CREATE TABLE dst.w33_total_beach_width (
id serial primary key,
distance_hwl double precision, -- distance to high water line (meters)
distance_imp double precision, -- distance to impervious surface (meters)
beach_distance double precision, -- distance to d28_beach_location
polygon
hwl_point geometry, -- location of nearest hwl point
imp_point geometry, -- location of nearest impervious surface
point
reversed boolean, -- flag to signal HAT point below HWL point
width integer, -- total beach width in meters
);
-- ========================== table constraints ==========================
-- when beach_distance is zero, distance_hwl should be less than 63
ALTER TABLE dst.w33_total_beach_width
ADD CONSTRAINT fk_w33_distance_hwl
CHECK(distance_hwl < 63 or distance_beach > 0);
-- when beach_distance is zero, distance_imp should be less than 40
ALTER TABLE dst.w33_total_beach_width
ADD CONSTRAINT fk_w33_distance_imp
CHECK(distance_imp <= 40 or distance_beach > 0);
-- when beach_distance is zero, distance_hwl should be less than 103
ALTER TABLE dst.w33_total_beach_width
ADD CONSTRAINT fk_w33_width
CHECK(width < 103);
-- every point in the w33_total_beach_width table must match a point in the
shoreline table
ALTER TABLE dst.w33_total_beach_width
ADD CONSTRAINT fk_w33_shoreline
FOREIGN KEY(id) REFERENCES w00_shoreline(id);
Climate Ready Coast - Layer and Data Information 2025-04-09
218
w37 Aquaculture Schema
-- table: w37_aquaculture
-- primary key: id
-- ========================== table definition ==========================
CREATE TABLE dst.w37_aquaculture (
id serial primary key,
site_type character varying, -- AS or LPAS
species character varying,
distance double precision -- meters
);
-- ========================== table constraints ==========================
-- distance should be fixed between 0 and 19km (Boon Island to Portsmouth)
ALTER TABLE dst.w37_aquaculture
ADD CONSTRAINT fk_w37_aquaculture
CHECK(distance >= 0.0 and distance < 19000);
-- every point in the w37_aquaculture table must match a point in the shoreline
table
ALTER TABLE dst.w37_aquaculture
ADD CONSTRAINT fk_w37_shoreline
FOREIGN KEY(id) REFERENCES w00_shoreline(id);
Climate Ready Coast - Layer and Data Information 2025-04-09
219
w38 Conservation Land Schema
-- table: w38_conservation_land
-- primary key: id
-- ========================== table definition ==========================
CREATE TABLE dst.w38_conservation_land (
id serial primary key,
project character varying, -- Project name used to group parcels (if
applicable), e.g. Seboeis Public Reserve Lands; Merrymeeting Bay WMA
hold1_name character varying, -- The primary owner (if a conservation
landowner) or easement holder.
hold1_type character varying, -- Category of the primary owner
or easement holder
distance double precision -- Distance in meters from point location to
closest easement polygon point.
);
-- ========================== table constraints ==========================
-- conservation distance should be fixed between 0 and 12km (Boon Island to
coast)
ALTER TABLE dst.w38_conservation_land
ADD CONSTRAINT fk_w38_conservation_land
CHECK(distance >= 0.0 and distance < 12000);
-- every point in the w38_conservation_land table must match a point in the
shoreline table
ALTER TABLE dst.w38_conservation_land
ADD CONSTRAINT fk_w38_shoreline
FOREIGN KEY(id) REFERENCES w00_shoreline(id);
Climate Ready Coast - Layer and Data Information 2025-04-09
220
w39 CCAP Impervious cover Schema
-- table: w39_impervious_cover
-- primary key: id
-- ========================== table definition ==========================
CREATE TABLE dst.w39_impervious_cover (
id serial primary key,
distance double precision
);
-- ========================== table constraints ==========================
-- distance should be fixed between 0 and 11km (Boon Island to shore)
ALTER TABLE dst.w39_impervious_cover
ADD CONSTRAINT fk_w39_impervious_cover
CHECK(distance >= 0.0 and distance < 11000);
-- every point in the w39_impervious_cover table must match a point in the
shoreline table
ALTER TABLE dst.w39_impervious_cover
ADD CONSTRAINT fk_w39_shoreline
FOREIGN KEY(id) REFERENCES w00_shoreline(id);
Climate Ready Coast - Layer and Data Information 2025-04-09
221
w40 Buildings Vulnerability Schema
-- table: w40_buildings_vulnerability
-- primary key: id
-- ========================== table definition ==========================
CREATE TABLE dst.w40_buildings_vulnerability (
id serial primary key,
va_score integer, -- Vulnerability assessment score.
distance double precision -- Distance in meters from point location to
closest polygon point.
);
-- ========================== table constraints ==========================
-- distance should be fixed between 0 and 12km (Boon Island to coast)
ALTER TABLE dst.w40_buildings_vulnerability
ADD CONSTRAINT fk_w40_buildings_vulnerability
CHECK(distance >= 0.0 and distance < 12000);
-- every point in the w40_buildings_vulnerability table must match a point in
the shoreline table
ALTER TABLE dst.w40_buildings_vulnerability
ADD CONSTRAINT fk_w40_shoreline
FOREIGN KEY(id) REFERENCES w00_shoreline(id);
Climate Ready Coast - Layer and Data Information 2025-04-09
222
w41 Parcels Buildout Schema
-- table: w41_parcels_buildout
-- primary key: id
-- ========================== table definition ==========================
CREATE TABLE dst.w41_parcels_buildout (
id serial primary key,
bldout double precision, -- CRC Buildout assessment value.
distance double precision -- Distance in meters from point location to
closest polygon point.
);
-- ========================== table constraints ==========================
-- distance should be fixed between 0 and 12km (Boon Island to coast)
ALTER TABLE dst.w41_parcels_buildout
ADD CONSTRAINT fk_w41_parcels_buildout
CHECK(distance >= 0.0 and distance < 12000);
-- every point in the w41_parcels_buildout table must match a point in the
shoreline table
ALTER TABLE dst.w41_parcels_buildout
ADD CONSTRAINT fk_w41_shoreline
FOREIGN KEY(id) REFERENCES w00_shoreline(id);
Climate Ready Coast - Layer and Data Information 2025-04-09
223
w42 Wildlife and Habitats Vulnerability Assessment Schema
-- table: w42_wildlife
-- primary key: id
-- ========================== table definition ==========================
CREATE TABLE dst.w42_wildlife (
id serial primary key,
va_score double precision,
distance double precision
);
-- ========================== table constraints ==========================
-- distance should be fixed between 0 and 11km (Boon Island to Portsmouth)
ALTER TABLE dst.w42_wildlife
ADD CONSTRAINT fk_w42_wildlife
CHECK(distance >= 0.0 and distance < 11000);
-- every point in the w42_wildlife table must match a point in the shoreline
table
ALTER TABLE dst.w42_wildlife
ADD CONSTRAINT fk_w42_shoreline
FOREIGN KEY(id) REFERENCES w00_shoreline(id);
Climate Ready Coast - Layer and Data Information 2025-04-09
224
w44 Priority Watersheds Schema
-- table: w44_priority_watersheds
-- primary key: id
-- ========================== table definition ==========================
CREATE TABLE dst.w44_priority_watersheds (
id serial primary key,
threat_imp character varying,
distance double precision
);
-- ========================== table constraints ==========================
-- distance should be fixed between 0 and 15km (Boon Island to Portsmouth)
ALTER TABLE dst.w44_priority_watersheds
ADD CONSTRAINT fk_w44_priority_watersheds
CHECK(distance >= 0.0 and distance < 15000);
-- every point in the w44_priority_watersheds table must match a point in the
shoreline table
ALTER TABLE dst.w44_priority_watersheds
ADD CONSTRAINT fk_w44_shoreline
FOREIGN KEY(id) REFERENCES w00_shoreline(id);
Climate Ready Coast - Layer and Data Information 2025-04-09
225
w48 MGS Coastal Bluffs Schema
-- table: w48_coastal_bluffs
-- primary key: id
-- ========================== table definition ==========================
-- bluff
-- Y bluff
-- N non-bluff
-- X unmapped or undetermined
-- stability
-- N not a bluff
-- S stable
-- U unstable
-- H highly unstable
-- X unmapped or undetermined
-- type
-- L ledge (exposed bedrock outcrops)
-- A armored (seawall, riprap, gabion, bulkhead, etc.)
-- V salt marsh
-- N beach, mud flat, or other loose sediment
-- X unmapped or undetermined
-- hazard
-- RPH the bluff is the site of a past historical or photo-interpreted
landslide
-- RF the bluff has an elevated risk of a landslide based on field
observation
-- RA the bluff has an elevated risk of a landslide based on aerial photo
interpretation, but needs field assessment
-- BN there is no landslide potential
-- X the landslide potential is unmapped or undetermined
CREATE TABLE dst.w48_coastal_bluffs (
id serial primary key,
bluff character variable, -- Shoreline segments are classified as either
being bluff, non-bluff, or unmapped or undetermined
stability character variable, -- The relative stability of a buff face (see
above)
type character variable, -- Bluff type (See above)
hazard character variable, -- Hazard type (See above)
distance double precision -- Distance in meters from point location to
closest source geometry
);
-- ========================== table constraints ==========================
-- distance should be fixed between 0 and 12km (Isles of Shoals to Kittery)
ALTER TABLE dst.w48_coastal_bluffs
ADD CONSTRAINT fk_w48_coastal_bluffs
CHECK(distance >= 0.0 and distance < 12000);
-- every point in the w48_coastal_bluffs table must match a point in the
shoreline table
Climate Ready Coast - Layer and Data Information 2025-04-09
226
ALTER TABLE dst.w48_coastal_bluffs
ADD CONSTRAINT fk_w48_shoreline
FOREIGN KEY(id) REFERENCES w00_shoreline(id);
Climate Ready Coast - Layer and Data Information 2025-04-09
227
w49 Roads Vulnerability Assessment Schema
-- table: w49_roads_vulnerability
-- primary key: id
-- ========================== table definition ==========================
CREATE TABLE dst.w49_roads_vulnerability (
id serial primary key,
va_score character integer,
evacuation_route character varying,
distance double precision
);
-- ========================== table constraints ==========================
-- distance should be fixed between 0 and 12km (Boon Island to land)
ALTER TABLE dst.w49_roads_vulnerability
ADD CONSTRAINT w49_roads_vulnerability
CHECK(distance >= 0.0 and distance < 12000);
-- va_score should be fixed between 0 and 32
ALTER TABLE dst.w49_roads_vulnerability
ADD CONSTRAINT w49_roads_vulnerability
CHECK(va_score >= 0.0 and va_score <= 32);
-- evacuation_route should be 'Yes' or 'No'
ALTER TABLE dst.w49_roads_vulnerability
ADD CONSTRAINT w49_roads_vulnerability
CHECK(evacuation_route == 'Yes' or evacuation_route == 'No');
-- every point in the w49_roads_vulnerability table must match a point in the
shoreline table
ALTER TABLE dst.w49_roads_vulnerability
ADD CONSTRAINT fk_w49_roads_vulnerability
FOREIGN KEY(id) REFERENCES w00_shoreline(id);
Climate Ready Coast - Layer and Data Information 2025-04-09
228
Appendix 4 - Automated QA
w00 Shoreline Automated QA
drop function if exists qa_w00_shoreline;
CREATE OR REPLACE FUNCTION qa_w00_shoreline()
RETURNS TABLE(
layer_id text,
layer_name text,
qa_test_status boolean,
qa_test_name text)
AS
$func$
BEGIN
return QUERY
-- test 1: make sure we have a lot of points
select
'w00' as layer_id,
'shoreline' as layer_name,
(count(*) > 350000 and count(*) < 400000) as qa_test_status,
'Test that point count is greater than 350,000 and less than 400,000
in the output set' as qa_test_name
from w00_shoreline
union all
-- test 2: make sure all points are inside Wells AOI
select
'w00' as layer_id,
'shoreline' as layer_name,
count(*) = 0 as qa_test_status,
'Test that all shoreline points fall within Wells AOI' as
qa_test_name
from w00_shoreline points, wells_aoi area
where not st_within(points.geom, area.geom);
END
$func$ LANGUAGE plpgsql;
Climate Ready Coast - Layer and Data Information 2025-04-09
229
w01 Aspect Automated QA
drop function if exists qa_w01_aspect;
CREATE OR REPLACE FUNCTION qa_w01_aspect()
RETURNS TABLE(
layer_id text,
layer_name text,
qa_test_status boolean,
qa_test_name text)
AS
$func$
BEGIN
return QUERY
-- test 1: all aspect point in shoreline
select
'w01' as layer_id,
'aspect' as layer_name,
count(*) = 0,
'Test that all aspect points are also within shoreline table' as
qa_test_name
FROM w01_aspect t1
LEFT JOIN w00_shoreline t2 ON t2.id = t1.id
WHERE t2.id IS NULL
union all
-- test 2: all shoreline points in aspect
select
'w01' as layer_id,
'aspect' as layer_name,
count(*) = 0,
'Test that all shoreline points are also within aspect table' as
qa_test_name
FROM w00_shoreline t1
LEFT JOIN w01_aspect t2 ON t2.id = t1.id
WHERE t2.id IS NULL;
END
$func$ LANGUAGE plpgsql;
Climate Ready Coast - Layer and Data Information 2025-04-09
230
w02 Beach Erosion Rate Automated QA
drop function if exists qa_w02_beach_erosion;
CREATE OR REPLACE FUNCTION qa_w02_beach_erosion()
RETURNS TABLE(
layer_id text,
layer_name text,
qa_test_status boolean,
qa_test_name text)
AS
$func$
BEGIN
return QUERY
-- test 1: all beach_erosion point in shoreline
select
'w02' as layer_id,
'beach_erosion' as layer_name,
count(*) = 0,
'Test that all beach_erosion points are also within shoreline table'
as qa_test_name
FROM w02_beach_erosion t1
LEFT JOIN w00_shoreline t2 ON t2.id = t1.id
WHERE t2.id IS NULL
union all
-- test 2: all shoreline points in beach_erosion
select
'w02' as layer_id,
'beach_erosion' as layer_name,
count(*) = 0,
'Test that all shoreline points are also within beach_erosion table'
as qa_test_name
FROM w00_shoreline t1
LEFT JOIN w02_beach_erosion t2 ON t2.id = t1.id
WHERE t2.id IS NULL;
END
$func$ LANGUAGE plpgsql;
Climate Ready Coast - Layer and Data Information 2025-04-09
231
w03 Beach Width Automated QA
drop function if exists qa_w03_beach_width;
CREATE OR REPLACE FUNCTION qa_w03_beach_width()
RETURNS TABLE(
layer_id text,
layer_name text,
qa_test_status boolean,
qa_test_name text)
AS
$func$
BEGIN
return QUERY
-- test 1: all beach_width point in shoreline
select
'w03' as layer_id,
'beach_width' as layer_name,
count(*) = 0,
'Test that all beach_width points are also within shoreline table' as
qa_test_name
FROM w03_beach_width t1
LEFT JOIN w00_shoreline t2 ON t2.id = t1.id
WHERE t2.id IS NULL
union all
-- test 2: all shoreline points in beach_width
select
'w03' as layer_id,
'beach_width' as layer_name,
count(*) = 0,
'Test that all shoreline points are also within beach_width table' as
qa_test_name
FROM w00_shoreline t1
LEFT JOIN w03_beach_width t2 ON t2.id = t1.id
WHERE t2.id IS NULL;
END
$func$ LANGUAGE plpgsql;
Climate Ready Coast - Layer and Data Information 2025-04-09
232
w04 Dune Height Relative to Base Flood Elevation Automated QA
drop function if exists qa_w04_dune_crest_proximity;
CREATE OR REPLACE FUNCTION qa_w04_dune_crest_proximity()
RETURNS TABLE(
layer_id text,
layer_name text,
qa_test_status boolean,
qa_test_name text)
AS
$func$
BEGIN
return QUERY
-- test 1: all dune_crest_proximity point in shoreline
select
'w04' as layer_id,
'dune_crest_proximity' as layer_name,
count(*) = 0,
'Test that all dune_crest_proximity points are also within shoreline
table' as qa_test_name
FROM w04_dune_crest_proximity t1
LEFT JOIN w00_shoreline t2 ON t2.id = t1.id
WHERE t2.id IS NULL
union all
-- test 2: all shoreline points in dune_crest_proximity
select
'w04' as layer_id,
'dune_crest_proximity' as layer_name,
count(*) = 0,
'Test that all shoreline points are also within dune_crest_proximity
table' as qa_test_name
FROM w00_shoreline t1
LEFT JOIN w04_dune_crest_proximity t2 ON t2.id = t1.id
WHERE t2.id IS NULL;
END
$func$ LANGUAGE plpgsql;
Climate Ready Coast - Layer and Data Information 2025-04-09
233
w05 Dune Erosion Rate Automated QA
drop function if exists qa_w05_dune_erosion;
CREATE OR REPLACE FUNCTION qa_w05_dune_erosion()
RETURNS TABLE(
layer_id text,
layer_name text,
qa_test_status boolean,
qa_test_name text)
AS
$func$
BEGIN
return QUERY
-- test 1: all dune_erosion point in shoreline
select
'w05' as layer_id,
'dune_erosion' as layer_name,
count(*) = 0,
'Test that all dune_erosion points are also within shoreline table'
as qa_test_name
FROM w05_dune_erosion t1
LEFT JOIN w00_shoreline t2 ON t2.id = t1.id
WHERE t2.id IS NULL
union all
-- test 2: all shoreline points in dune_erosion
select
'w05' as layer_id,
'dune_erosion' as layer_name,
count(*) = 0,
'Test that all shoreline points are also within dune_erosion table'
as qa_test_name
FROM w00_shoreline t1
LEFT JOIN w05_dune_erosion t2 ON t2.id = t1.id
WHERE t2.id IS NULL;
END
$func$ LANGUAGE plpgsql;
Climate Ready Coast - Layer and Data Information 2025-04-09
234
w06 Coastal Dune and Structure Distance Automated QA
drop function if exists qa_w06_dune_structure_proximity;
CREATE OR REPLACE FUNCTION qa_w06_dune_structure_proximity()
RETURNS TABLE(
layer_id text,
layer_name text,
qa_test_status boolean,
qa_test_name text)
AS
$func$
BEGIN
return QUERY
-- test 1: all dune_structure_proximity point in shoreline
select
'w06' as layer_id,
'dune_structure_proximity' as layer_name,
count(*) = 0,
'Test that all dune_structure_proximity points are also within
shoreline table' as qa_test_name
FROM w06_dune_structure_proximity t1
LEFT JOIN w00_shoreline t2 ON t2.id = t1.id
WHERE t2.id IS NULL
union all
-- test 2: all shoreline points in dune_structure_proximity
select
'w06' as layer_id,
'dune_structure_proximity' as layer_name,
count(*) = 0,
'Test that all shoreline points are also within
dune_structure_proximity table' as qa_test_name
FROM w00_shoreline t1
LEFT JOIN w06_dune_structure_proximity t2 ON t2.id = t1.id
WHERE t2.id IS NULL;
END
$func$ LANGUAGE plpgsql;
Climate Ready Coast - Layer and Data Information 2025-04-09
235
w07 Annualized Fetch Automated QA
drop function if exists qa_w07_fetch_annualized;
CREATE OR REPLACE FUNCTION qa_w07_fetch_annualized()
RETURNS TABLE(
layer_id text,
layer_name text,
qa_test_status boolean,
qa_test_name text)
AS
$func$
BEGIN
return QUERY
-- test 1: all fetch_annualized point in shoreline
select
'w07' as layer_id,
'fetch_annualized' as layer_name,
count(*) = 0,
'Test that all fetch_annualized points are also within shoreline
table' as qa_test_name
FROM w07_fetch_annualized t1
LEFT JOIN w00_shoreline t2 ON t2.id = t1.id
WHERE t2.id IS NULL
union all
-- test 2: all shoreline points in fetch_annualized
select
'w07' as layer_id,
'fetch_annualized' as layer_name,
count(*) = 0,
'Test that all shoreline points are also within fetch_annualized
table' as qa_test_name
FROM w00_shoreline t1
LEFT JOIN w07_fetch_annualized t2 ON t2.id = t1.id
WHERE t2.id IS NULL;
END
$func$ LANGUAGE plpgsql;
Climate Ready Coast - Layer and Data Information 2025-04-09
236
w08 Southeast Fetch Automated QA
drop function if exists qa_w08_fetch_southeast;
CREATE OR REPLACE FUNCTION qa_w08_fetch_southeast()
RETURNS TABLE(
layer_id text,
layer_name text,
qa_test_status boolean,
qa_test_name text)
AS
$func$
BEGIN
return QUERY
-- test 1: all fetch_southeast point in shoreline
select
'w08' as layer_id,
'fetch_southeast' as layer_name,
count(*) = 0,
'Test that all fetch_southeast points are also within shoreline
table' as qa_test_name
FROM w08_fetch_southeast t1
LEFT JOIN w00_shoreline t2 ON t2.id = t1.id
WHERE t2.id IS NULL
union all
-- test 2: all shoreline points in fetch_southeast
select
'w08' as layer_id,
'fetch_southeast' as layer_name,
count(*) = 0,
'Test that all shoreline points are also within fetch_southeast
table' as qa_test_name
FROM w00_shoreline t1
LEFT JOIN w08_fetch_southeast t2 ON t2.id = t1.id
WHERE t2.id IS NULL;
END
$func$ LANGUAGE plpgsql;
Climate Ready Coast - Layer and Data Information 2025-04-09
237
w11 FEMA Zone Automated QA
drop function if exists qa_w11_fema_zone;
CREATE OR REPLACE FUNCTION qa_w11_fema_zone()
RETURNS TABLE(
layer_id text,
layer_name text,
qa_test_status boolean,
qa_test_name text)
AS
$func$
BEGIN
return QUERY
-- test 1: all fema_zone point in shoreline
select
'w11' as layer_id,
'fema_zone' as layer_name,
count(*) = 0,
'Test that all fema_zone points are also within shoreline table' as
qa_test_name
FROM w11_fema_zone t1
LEFT JOIN w00_shoreline t2 ON t2.id = t1.id
WHERE t2.id IS NULL
union all
-- test 2: all shoreline points in fema_zone
select
'w11' as layer_id,
'fema_zone' as layer_name,
count(*) = 0,
'Test that all shoreline points are also within fema_zone table' as
qa_test_name
FROM w00_shoreline t1
LEFT JOIN w11_fema_zone t2 ON t2.id = t1.id
WHERE t2.id IS NULL;
END
$func$ LANGUAGE plpgsql;
Climate Ready Coast - Layer and Data Information 2025-04-09
238
w12 Eelgrass Habitat Proximity Automated QA
drop function if exists qa_w12_habitat_eelgrass;
CREATE OR REPLACE FUNCTION qa_w12_habitat_eelgrass()
RETURNS TABLE(
layer_id text,
layer_name text,
qa_test_status boolean,
qa_test_name text)
AS
$func$
BEGIN
return QUERY
-- test 1: all habitat_eelgrass point in shoreline
select
'w12' as layer_id,
'habitat_eelgrass' as layer_name,
count(*) = 0,
'Test that all habitat_eelgrass points are also within shoreline
table' as qa_test_name
FROM w12_habitat_eelgrass t1
LEFT JOIN w00_shoreline t2 ON t2.id = t1.id
WHERE t2.id IS NULL
union all
-- test 2: all shoreline points in habitat_eelgrass
select
'w12' as layer_id,
'habitat_eelgrass' as layer_name,
count(*) = 0,
'Test that all shoreline points are also within habitat_eelgrass
table' as qa_test_name
FROM w00_shoreline t1
LEFT JOIN w12_habitat_eelgrass t2 ON t2.id = t1.id
WHERE t2.id IS NULL;
END
$func$ LANGUAGE plpgsql;
Climate Ready Coast - Layer and Data Information 2025-04-09
239
w13 Shellfish Habitat Proximity Automated QA
drop function if exists qa_w13_habitat_shellfish;
CREATE OR REPLACE FUNCTION qa_w13_habitat_shellfish()
RETURNS TABLE(
layer_id text,
layer_name text,
qa_test_status boolean,
qa_test_name text)
AS
$func$
BEGIN
return QUERY
-- test 1: all habitat_shellfish point in shoreline
select
'w13' as layer_id,
'habitat_shellfish' as layer_name,
count(*) = 0,
'Test that all habitat_shellfish points are also within shoreline
table' as qa_test_name
FROM w13_habitat_shellfish t1
LEFT JOIN w00_shoreline t2 ON t2.id = t1.id
WHERE t2.id IS NULL
union all
-- test 2: all shoreline points in habitat_shellfish
select
'w13' as layer_id,
'habitat_shellfish' as layer_name,
count(*) = 0,
'Test that all shoreline points are also within habitat_shellfish
table' as qa_test_name
FROM w00_shoreline t1
LEFT JOIN w13_habitat_shellfish t2 ON t2.id = t1.id
WHERE t2.id IS NULL;
END
$func$ LANGUAGE plpgsql;
Climate Ready Coast - Layer and Data Information 2025-04-09
240
w14 TWWH Area Proximity Automated QA
drop function if exists qa_w14_habitat_bird;
CREATE OR REPLACE FUNCTION qa_w14_habitat_bird()
RETURNS TABLE(
layer_id text,
layer_name text,
qa_test_status boolean,
qa_test_name text)
AS
$func$
BEGIN
return QUERY
-- test 1: all habitat_bird point in shoreline
select
'w14' as layer_id,
'habitat_bird' as layer_name,
count(*) = 0,
'Test that all habitat_bird points are also within shoreline table'
as qa_test_name
FROM w14_habitat_bird t1
LEFT JOIN w00_shoreline t2 ON t2.id = t1.id
WHERE t2.id IS NULL
union all
-- test 2: all shoreline points in habitat_bird
select
'w14' as layer_id,
'habitat_bird' as layer_name,
count(*) = 0,
'Test that all shoreline points are also within habitat_bird table'
as qa_test_name
FROM w00_shoreline t1
LEFT JOIN w14_habitat_bird t2 ON t2.id = t1.id
WHERE t2.id IS NULL;
END
$func$ LANGUAGE plpgsql;
Climate Ready Coast - Layer and Data Information 2025-04-09
241
w15 Landward Relief Height Automated QA
drop function if exists qa_w15_relief;
CREATE OR REPLACE FUNCTION qa_w15_relief()
RETURNS TABLE(
layer_id text,
layer_name text,
qa_test_status boolean,
qa_test_name text)
AS
$func$
BEGIN
return QUERY
-- test 1: all relief point in shoreline
select
'w15' as layer_id,
'relief' as layer_name,
count(*) = 0,
'Test that all relief points are also within shoreline table' as
qa_test_name
FROM w15_relief t1
LEFT JOIN w00_shoreline t2 ON t2.id = t1.id
WHERE t2.id IS NULL
union all
-- test 2: all shoreline points in relief
select
'w15' as layer_id,
'relief' as layer_name,
count(*) = 0,
'Test that all shoreline points are also within relief table' as
qa_test_name
FROM w00_shoreline t1
LEFT JOIN w15_relief t2 ON t2.id = t1.id
WHERE t2.id IS NULL;
END
$func$ LANGUAGE plpgsql;
Climate Ready Coast - Layer and Data Information 2025-04-09
242
w17 Saltmarsh Migration Automated QA
drop function if exists qa_w17_saltmarsh_migration;
CREATE OR REPLACE FUNCTION qa_w17_saltmarsh_migration()
RETURNS TABLE(
layer_id text,
layer_name text,
qa_test_status boolean,
qa_test_name text)
AS
$func$
BEGIN
return QUERY
-- test 1: all saltmarsh_migration point in shoreline
select
'w17' as layer_id,
'saltmarsh_migration' as layer_name,
count(*) = 0,
'Test that all saltmarsh_migration points are also within shoreline
table' as qa_test_name
FROM w17_saltmarsh_migration t1
LEFT JOIN w00_shoreline t2 ON t2.id = t1.id
WHERE t2.id IS NULL
union all
-- test 2: all shoreline points in saltmarsh_migration
select
'w17' as layer_id,
'saltmarsh_migration' as layer_name,
count(*) = 0,
'Test that all shoreline points are also within saltmarsh_migration
table' as qa_test_name
FROM w00_shoreline t1
LEFT JOIN w17_saltmarsh_migration t2 ON t2.id = t1.id
WHERE t2.id IS NULL;
END
$func$ LANGUAGE plpgsql;
Climate Ready Coast - Layer and Data Information 2025-04-09
243
w18 Tidal Crossings Automated QA
drop function if exists qa_w18_tidal_crossing;
CREATE OR REPLACE FUNCTION qa_w18_tidal_crossing()
RETURNS TABLE(
layer_id text,
layer_name text,
qa_test_status boolean,
qa_test_name text)
AS
$func$
BEGIN
return QUERY
-- test 1: all tidal_crossing point in shoreline
select
'w18' as layer_id,
'tidal_crossing' as layer_name,
count(*) = 0,
'Test that all tidal_crossing points are also within shoreline table'
as qa_test_name
FROM w18_tidal_crossing t1
LEFT JOIN w00_shoreline t2 ON t2.id = t1.id
WHERE t2.id IS NULL
union all
-- test 2: all shoreline points in tidal_crossing
select
'w18' as layer_id,
'tidal_crossing' as layer_name,
count(*) = 0,
'Test that all shoreline points are also within tidal_crossing table'
as qa_test_name
FROM w00_shoreline t1
LEFT JOIN w18_tidal_crossing t2 ON t2.id = t1.id
WHERE t2.id IS NULL;
END
$func$ LANGUAGE plpgsql;
Climate Ready Coast - Layer and Data Information 2025-04-09
244
w19 Boat Wakes Automated QA
drop function if exists qa_w19_erosion_nav_channel;
CREATE OR REPLACE FUNCTION qa_w19_erosion_nav_channel()
RETURNS TABLE(
layer_id text,
layer_name text,
qa_test_status boolean,
qa_test_name text)
AS
$func$
BEGIN
return QUERY
-- test 1: all erosion_nav_channel point in shoreline
select
'w19' as layer_id,
'erosion_nav_channel' as layer_name,
count(*) = 0,
'Test that all erosion_nav_channel points are also within shoreline
table' as qa_test_name
FROM w19_erosion_nav_channel t1
LEFT JOIN w00_shoreline t2 ON t2.id = t1.id
WHERE t2.id IS NULL
union all
-- test 2: all shoreline points in erosion_nav_channel
select
'w19' as layer_id,
'erosion_nav_channel' as layer_name,
count(*) = 0,
'Test that all shoreline points are also within erosion_nav_channel
table' as qa_test_name
FROM w00_shoreline t1
LEFT JOIN w19_erosion_nav_channel t2 ON t2.id = t1.id
WHERE t2.id IS NULL;
END
$func$ LANGUAGE plpgsql;
Climate Ready Coast - Layer and Data Information 2025-04-09
245
w20 Landward Habitat Automated QA
drop function if exists qa_w20_shoreline_landward;
CREATE OR REPLACE FUNCTION qa_w20_shoreline_landward()
RETURNS TABLE(
layer_id text,
layer_name text,
qa_test_status boolean,
qa_test_name text)
AS
$func$
BEGIN
return QUERY
-- test 1: all shoreline_landward point in shoreline
select
'w20' as layer_id,
'shoreline_landward' as layer_name,
count(*) = 0,
'Test that all shoreline_landward points are also within shoreline
table' as qa_test_name
FROM w20_shoreline_landward t1
LEFT JOIN w00_shoreline t2 ON t2.id = t1.id
WHERE t2.id IS NULL
union all
-- test 2: all shoreline points in shoreline_landward
select
'w20' as layer_id,
'shoreline_landward' as layer_name,
count(*) = 0,
'Test that all shoreline points are also within shoreline_landward
table' as qa_test_name
FROM w00_shoreline t1
LEFT JOIN w20_shoreline_landward t2 ON t2.id = t1.id
WHERE t2.id IS NULL;
END
$func$ LANGUAGE plpgsql;
Climate Ready Coast - Layer and Data Information 2025-04-09
246
w21 Seaward Habitat Automated QA
drop function if exists qa_w21_shoreline_seaward;
CREATE OR REPLACE FUNCTION qa_w21_shoreline_seaward()
RETURNS TABLE(
layer_id text,
layer_name text,
qa_test_status boolean,
qa_test_name text)
AS
$func$
BEGIN
return QUERY
-- test 1: all shoreline_seaward point in shoreline
select
'w21' as layer_id,
'shoreline_seaward' as layer_name,
count(*) = 0,
'Test that all shoreline_seaward points are also within shoreline
table' as qa_test_name
FROM w21_shoreline_seaward t1
LEFT JOIN w00_shoreline t2 ON t2.id = t1.id
WHERE t2.id IS NULL
union all
-- test 2: all shoreline points in shoreline_seaward
select
'w21' as layer_id,
'shoreline_seaward' as layer_name,
count(*) = 0,
'Test that all shoreline points are also within shoreline_seaward
table' as qa_test_name
FROM w00_shoreline t1
LEFT JOIN w21_shoreline_seaward t2 ON t2.id = t1.id
WHERE t2.id IS NULL;
END
$func$ LANGUAGE plpgsql;
Climate Ready Coast - Layer and Data Information 2025-04-09
247
w22 Landward Slope Automated QA
drop function if exists qa_w22_slope_landward;
CREATE OR REPLACE FUNCTION qa_w22_slope_landward()
RETURNS TABLE(
layer_id text,
layer_name text,
qa_test_status boolean,
qa_test_name text)
AS
$func$
BEGIN
return QUERY
-- test 1: all slope_landward point in shoreline
select
'w22' as layer_id,
'slope_landward' as layer_name,
count(*) = 0,
'Test that all slope_landward points are also within shoreline table'
as qa_test_name
FROM w22_slope_landward t1
LEFT JOIN w00_shoreline t2 ON t2.id = t1.id
WHERE t2.id IS NULL
union all
-- test 2: all shoreline points in slope_landward
select
'w22' as layer_id,
'slope_landward' as layer_name,
count(*) = 0,
'Test that all shoreline points are also within slope_landward table'
as qa_test_name
FROM w00_shoreline t1
LEFT JOIN w22_slope_landward t2 ON t2.id = t1.id
WHERE t2.id IS NULL
union all
-- test 3: Because slope is based on the 50-ft point, and relief on
maximum, check slope is <= (relief / 50).
-- This will test both slope and relief for consistency. The
small value added in is to prevent roundoff
- error.
select
'w22' as layer_id,
'slope_landward' as layer_name,
Climate Ready Coast - Layer and Data Information 2025-04-09
248
count(*) = 0,
'Test that all slope values are less than or equal to slopes created
using relief' as qa_test_name
FROM w22_slope_landward t1
inner join w15_relief t2 on t1.id = t2.id
WHERE t1.slope > 0.000000001 + t2.relief / ((50 * 12 * 2.54) / 100);
END
$func$ LANGUAGE plpgsql;
Climate Ready Coast - Layer and Data Information 2025-04-09
249
w23 Intertidal Slope Automated QA
drop function if exists qa_w23_slope_seaward_intertidal;
CREATE OR REPLACE FUNCTION qa_w23_slope_seaward_intertidal()
RETURNS TABLE(
layer_id text,
layer_name text,
qa_test_status boolean,
qa_test_name text)
AS
$func$
BEGIN
return QUERY
-- test 1: all slope_seaward_intertidal point in shoreline
select
'w23' as layer_id,
'slope_seaward_intertidal' as layer_name,
count(*) = 0,
'Test that all slope_seaward_intertidal points are also within
shoreline table' as qa_test_name
FROM w23_slope_seaward_intertidal t1
LEFT JOIN w00_shoreline t2 ON t2.id = t1.id
WHERE t2.id IS NULL
union all
-- test 2: all shoreline points in slope_seaward_intertidal
select
'w23' as layer_id,
'slope_seaward_intertidal' as layer_name,
count(*) = 0,
'Test that all shoreline points are also within
slope_seaward_intertidal table' as qa_test_name
FROM w00_shoreline t1
LEFT JOIN w23_slope_seaward_intertidal t2 ON t2.id = t1.id
WHERE t2.id IS NULL;
END
$func$ LANGUAGE plpgsql;
Climate Ready Coast - Layer and Data Information 2025-04-09
250
w24 Bathymetric Slope Automated QA
drop function if exists qa_w24_slope_seaward_bathymetric;
CREATE OR REPLACE FUNCTION qa_w24_slope_seaward_bathymetric()
RETURNS TABLE(
layer_id text,
layer_name text,
qa_test_status boolean,
qa_test_name text)
AS
$func$
BEGIN
return QUERY
-- test 1: all slope_seaward_bathymetric point in shoreline
select
'w24' as layer_id,
'slope_seaward_bathymetric' as layer_name,
count(*) = 0,
'Test that all slope_seaward_bathymetric points are also within
shoreline table' as qa_test_name
FROM w24_slope_seaward_bathymetric t1
LEFT JOIN w00_shoreline t2 ON t2.id = t1.id
WHERE t2.id IS NULL
union all
-- test 2: all shoreline points in slope_seaward_bathymetric
select
'w24' as layer_id,
'slope_seaward_bathymetric' as layer_name,
count(*) = 0,
'Test that all shoreline points are also within
slope_seaward_bathymetric table' as qa_test_name
FROM w00_shoreline t1
LEFT JOIN w24_slope_seaward_bathymetric t2 ON t2.id = t1.id
WHERE t2.id IS NULL;
END
$func$ LANGUAGE plpgsql;
Climate Ready Coast - Layer and Data Information 2025-04-09
251
w25 Coastal Structures Automated QA
drop function if exists qa_w25_structures_hardening;
CREATE OR REPLACE FUNCTION qa_w25_structures_hardening()
RETURNS TABLE(
layer_id text,
layer_name text,
qa_test_status boolean,
qa_test_name text)
AS
$func$
BEGIN
return QUERY
-- test 1: all structures_hardening point in shoreline
select
'w25' as layer_id,
'structures_hardening' as layer_name,
count(*) = 0,
'Test that all structures_hardening points are also within shoreline
table' as qa_test_name
FROM w25_structures_hardening t1
LEFT JOIN w00_shoreline t2 ON t2.id = t1.id
WHERE t2.id IS NULL
union all
-- test 2: all shoreline points in structures_hardening
select
'w25' as layer_id,
'structures_hardening' as layer_name,
count(*) = 0,
'Test that all shoreline points are also within structures_hardening
table' as qa_test_name
FROM w00_shoreline t1
LEFT JOIN w25_structures_hardening t2 ON t2.id = t1.id
WHERE t2.id IS NULL;
END
$func$ LANGUAGE plpgsql;
Climate Ready Coast - Layer and Data Information 2025-04-09
252
w27 Northeast Fetch Automated QA
drop function if exists qa_w27_fetch_southeast;
CREATE OR REPLACE FUNCTION qa_w27_fetch_northeast()
RETURNS TABLE(
layer_id text,
layer_name text,
qa_test_status boolean,
qa_test_name text)
AS
$func$
BEGIN
return QUERY
-- test 1: all fetch_northeast point in shoreline
select
'w27' as layer_id,
'fetch_northeast' as layer_name,
count(*) = 0,
'Test that all fetch_northeast points are also within shoreline
table' as qa_test_name
FROM w27_fetch_northeast t1
LEFT JOIN w00_shoreline t2 ON t2.id = t1.id
WHERE t2.id IS NULL
union all
-- test 2: all shoreline points in fetch_northeast
select
'w27' as layer_id,
'fetch_northeast' as layer_name,
count(*) = 0,
'Test that all shoreline points are also within fetch_northeast
table' as qa_test_name
FROM w00_shoreline t1
LEFT JOIN w27_fetch_northeast t2 ON t2.id = t1.id
WHERE t2.id IS NULL;
END
$func$ LANGUAGE plpgsql;
Climate Ready Coast - Layer and Data Information 2025-04-09
253
w28 Seaward Habitat Extra Automated QA
drop function if exists qa_w28_shoreline_seaward_extra;
CREATE OR REPLACE FUNCTION qa_w28_shoreline_seaward_extra()
RETURNS TABLE(
layer_id text,
layer_name text,
qa_test_status boolean,
qa_test_name text)
AS
$func$
BEGIN
return QUERY
-- test 1: all shoreline_seaward_extra point in shoreline
select
'w28' as layer_id,
'shoreline_seaward_extra' as layer_name,
count(*) = 0,
'Test that all shoreline_seaward_extra points are also within
shoreline table' as qa_test_name
FROM w28_shoreline_seaward_extra t1
LEFT JOIN w00_shoreline t2 ON t2.id = t1.id
WHERE t2.id IS NULL
union all
-- test 2: all shoreline points in shoreline_seaward_extra
select
'w28' as layer_id,
'shoreline_seaward_extra' as layer_name,
count(*) = 0,
'Test that all shoreline points are also within
shoreline_seaward_extra table' as qa_test_name
FROM w00_shoreline t1
LEFT JOIN w28_shoreline_seaward_extra t2 ON t2.id = t1.id
WHERE t2.id IS NULL;
END
$func$ LANGUAGE plpgsql;
Climate Ready Coast - Layer and Data Information 2025-04-09
254
w29 Soils Erodibility Automated QA
drop function if exists qa_w29_erodibility;
CREATE OR REPLACE FUNCTION qa_w29_erodibility()
RETURNS TABLE(
layer_id text,
layer_name text,
qa_test_status boolean,
qa_test_name text)
AS
$func$
BEGIN
return QUERY
-- test 1: all erodibility points in shoreline
select
'w29' as layer_id,
'erodibility' as layer_name,
count(*) = 0,
'Test that all erodibility points are also within shoreline table' as
qa_test_name
FROM w29_erodibility t1
LEFT JOIN w00_shoreline t2 ON t2.id = t1.id
WHERE t2.id IS NULL
union all
-- test 2: all shoreline points in erodibility
select
'w29' as layer_id,
'erodibility' as layer_name,
count(*) = 0,
'Test that all shoreline points are also within erodibility table' as
qa_test_name
FROM w00_shoreline t1
LEFT JOIN w29_erodibility t2 ON t2.id = t1.id
WHERE t2.id IS NULL
union all
-- test 3: verify value range
select
'w29' as layer_id,
'erodibility' as layer_name,
min(value) >= 0.0 and max(value) <= 0.64,
'Test that all erodibility values are in proper range' as
qa_test_name
Climate Ready Coast - Layer and Data Information 2025-04-09
255
FROM w29_erodibility
WHERE id IS not NULL;
END
$func$ LANGUAGE plpgsql;
Climate Ready Coast - Layer and Data Information 2025-04-09
256
w31 Landcover Automated QA
drop function if exists qa_w31_landcover;
CREATE OR REPLACE FUNCTION qa_w31_landcover()
RETURNS TABLE(
layer_id text,
layer_name text,
qa_test_status boolean,
qa_test_name text)
AS
$func$
BEGIN
return QUERY
-- test 1: all landcover points in shoreline
select
'w31' as layer_id,
'landcover' as layer_name,
count(*) = 0,
'Test that all landcover points are also within shoreline table' as
qa_test_name
FROM w31_landcover t1
LEFT JOIN w00_shoreline t2 ON t2.id = t1.id
WHERE t2.id IS NULL
union all
-- test 2: all shoreline points in landcover
select
'w31' as layer_id,
'landcover' as layer_name,
count(*) = 0,
'Test that all shoreline points are also within landcover table' as
qa_test_name
FROM w00_shoreline t1
LEFT JOIN w31_landcover t2 ON t2.id = t1.id
WHERE t2.id IS NULL
union all
-- test 3: verify category range
select
'w31' as layer_id,
'landcover' as layer_name,
min(category) >= 0 and max(category) <= 23,
'Test that all landcover category class values are in proper range'
as qa_test_name
Climate Ready Coast - Layer and Data Information 2025-04-09
257
FROM w31_landcover
WHERE id IS not NULL;
END
$func$ LANGUAGE plpgsql;
Climate Ready Coast - Layer and Data Information 2025-04-09
258
w32 Dry Beach Erosion Rate Automated QA
drop function if exists qa_w32_dry_beach_erosion;
CREATE OR REPLACE FUNCTION qa_w32_dry_beach_erosion()
RETURNS TABLE(
layer_id text,
layer_name text,
qa_test_status boolean,
qa_test_name text)
AS
$func$
BEGIN
return QUERY
-- test 1: all dry_beach_erosion point in shoreline
select
'w32' as layer_id,
'dry_beach_erosion' as layer_name,
count(*) = 0,
'Test that all dry_beach_erosion points are also within shoreline
table' as qa_test_name
FROM w32_dry_beach_erosion t1
LEFT JOIN w00_shoreline t2 ON t2.id = t1.id
WHERE t2.id IS NULL
union all
-- test 2: all shoreline points in dry_beach_erosion
select
'w32' as layer_id,
'dry_beach_erosion' as layer_name,
count(*) = 0,
'Test that all shoreline points are also within dry_beach_erosion
table' as qa_test_name
FROM w00_shoreline t1
LEFT JOIN w32_dry_beach_erosion t2 ON t2.id = t1.id
WHERE t2.id IS NULL
union all
-- test that all points within d28_beach_location have a beach_distance
of 0
select
'w32' as layer_id,
'dry_beach_erosion' as layer_name,
sum(sub.beach_distance) = 0,
Climate Ready Coast - Layer and Data Information 2025-04-09
259
'Test that all points within d28_beach_location have a beach_distance
of 0' as qa_test_name
from (
select * from w32_dry_beach_erosion a
inner join w00_shoreline b
on a.id = b.id) sub, d28_beach_location
where st_intersects(sub.geom, d28_beach_location.geom);
END
$func$ LANGUAGE plpgsql;
Climate Ready Coast - Layer and Data Information 2025-04-09
260
w33 Total Beach Width Automated QA
drop function if exists qa_w33_total_beach_width;
CREATE OR REPLACE FUNCTION qa_w33_total_beach_width()
RETURNS TABLE(
layer_id text,
layer_name text,
qa_test_status boolean,
qa_test_name text)
AS
$func$
BEGIN
return QUERY
-- test 1: all total_beach_width point in shoreline
select
'w33' as layer_id,
'total_beach_width' as layer_name,
count(*) = 0,
'Test that all total_beach_width points are also within shoreline
table' as qa_test_name
FROM w33_total_beach_width t1
LEFT JOIN w00_shoreline t2 ON t2.id = t1.id
WHERE t2.id IS NULL
union all
-- test 2: all shoreline points in total_beach_width
select
'w33' as layer_id,
'total_beach_width' as layer_name,
count(*) = 0,
'Test that all shoreline points are also within total_beach_width
table' as qa_test_name
FROM w00_shoreline t1
LEFT JOIN w33_total_beach_width t2 ON t2.id = t1.id
WHERE t2.id IS NULL
union all
-- test 3: test total width calculation
select
'w33' as layer_id,
'total_beach_width' as layer_name,
count(*) = 0,
'Test that total width calculation its correct' as qa_test_name
Climate Ready Coast - Layer and Data Information 2025-04-09
261
FROM w33_total_beach_width
where
(reversed is true and distance_imp != width) or
(not reversed and distance_hwl + distance_imp != width);
END
$func$ LANGUAGE plpgsql;
Climate Ready Coast - Layer and Data Information 2025-04-09
262
w37 Aquaculture Automated QA
drop function if exists qa_w37_aquaculture;
CREATE OR REPLACE FUNCTION qa_w37_aquaculture()
RETURNS TABLE(
layer_id text,
layer_name text,
qa_test_status boolean,
qa_test_name text)
AS
$func$
BEGIN
return QUERY
-- test 1: all aquaculture point in shoreline
select
'w37' as layer_id,
'aquaculture' as layer_name,
count(*) = 0,
'Test that all aquaculture points are also within shoreline table' as
qa_test_name
FROM w37_aquaculture t1
LEFT JOIN w00_shoreline t2 ON t2.id = t1.id
WHERE t2.id IS NULL
union all
-- test 2: all shoreline points in aquaculture
select
'w37' as layer_id,
'aquaculture' as layer_name,
count(*) = 0,
'Test that all shoreline points are also within aquaculture table' as
qa_test_name
FROM w00_shoreline t1
LEFT JOIN w37_aquaculture t2 ON t2.id = t1.id
WHERE t2.id IS NULL
union all
-- test 3: no null distances
select
'w37' as layer_id,
'aquaculture' as layer_name,
count(*) = 0,
'Test that there are no NULL distance values' as qa_test_name
Climate Ready Coast - Layer and Data Information 2025-04-09
263
FROM w37_aquaculture t2
WHERE t2.distance IS NULL
union all
-- test 4: distance not too far (> 19 km)
select
'w37' as layer_id,
'aquaculture' as layer_name,
count(*) = 0,
'Test that there are no distances larger than 19 km' as qa_test_name
FROM w37_aquaculture t2
WHERE t2.distance > 19000
union all
-- test 5: two types
select
'w37' as layer_id,
'aquaculture' as layer_name,
(count(*) = 2),
'Test that there are exactly two site types in use' as qa_test_name
from (select site_type from w37_aquaculture group by site_type)
classes;
END
$func$ LANGUAGE plpgsql;
Climate Ready Coast - Layer and Data Information 2025-04-09
264
w38 Conservation Land Automated QA
drop function if exists qa_w38_conservation_land;
CREATE OR REPLACE FUNCTION qa_w38_conservation_land()
RETURNS TABLE(
layer_id text,
layer_name text,
qa_test_status boolean,
qa_test_name text)
AS
$func$
BEGIN
return QUERY
-- test 1: all conservation_land point in shoreline
select
'w38' as layer_id,
'conservation_land' as layer_name,
count(*) = 0,
'Test that all conservation_land points are also within shoreline
table' as qa_test_name
FROM w38_conservation_land t1
LEFT JOIN w00_shoreline t2 ON t2.id = t1.id
WHERE t2.id IS NULL
union all
-- test 2: all shoreline points in conservation_land
select
'w38' as layer_id,
'conservation_land' as layer_name,
count(*) = 0,
'Test that all shoreline points are also within conservation_land
table' as qa_test_name
FROM w00_shoreline t1
LEFT JOIN w38_conservation_land t2 ON t2.id = t1.id
WHERE t2.id IS NULL
union all
-- test 3: no null distances
select
'w38' as layer_id,
'conservation_land' as layer_name,
count(*) = 0,
'Test that there are no NULL distance values' as qa_test_name
Climate Ready Coast - Layer and Data Information 2025-04-09
265
FROM w38_conservation_land t2
WHERE t2.distance IS NULL
union all
-- test 4: distance not too far (> 12 km)
select
'w38' as layer_id,
'conservation_land' as layer_name,
count(*) = 0,
'Test that there are no distances larger than 12 km' as qa_test_name
FROM w38_conservation_land t2
WHERE t2.distance > 12000;
END
$func$ LANGUAGE plpgsql;
Climate Ready Coast - Layer and Data Information 2025-04-09
266
w39 CCAP Impervious cover Automated QA
drop function if exists qa_w39_impervious_cover;
CREATE OR REPLACE FUNCTION qa_w39_impervious_cover()
RETURNS TABLE(
layer_id text,
layer_name text,
qa_test_status boolean,
qa_test_name text)
AS
$func$
BEGIN
return QUERY
-- test 1: all impervious_cover point in shoreline
select
'w39' as layer_id,
'impervious_cover' as layer_name,
count(*) = 0,
'Test that all impervious_cover points are also within shoreline
table' as qa_test_name
FROM w39_impervious_cover t1
LEFT JOIN w00_shoreline t2 ON t2.id = t1.id
WHERE t2.id IS NULL
union all
-- test 2: all shoreline points in impervious_cover
select
'w39' as layer_id,
'impervious_cover' as layer_name,
count(*) = 0,
'Test that all shoreline points are also within impervious_cover
table' as qa_test_name
FROM w00_shoreline t1
LEFT JOIN w39_impervious_cover t2 ON t2.id = t1.id
WHERE t2.id IS NULL
union all
-- test 3: no null distances
select
'w39' as layer_id,
'impervious_cover' as layer_name,
count(*) = 0,
'Test that there are no NULL distance values' as qa_test_name
Climate Ready Coast - Layer and Data Information 2025-04-09
267
FROM w39_impervious_cover t2
WHERE t2.distance IS NULL
union all
-- test 4: distance not too far (> 11 km)
select
'w39' as layer_id,
'impervious_cover' as layer_name,
count(*) = 0,
'Test that there are no distances larger than 11 km' as qa_test_name
FROM w39_impervious_cover t2
WHERE t2.distance > 11000
union all
-- test 5: exactly two classes
select
'w39' as layer_id,
'impervious_cover' as layer_name,
(count(*) = 2),
'Test that there are exactly two classes in use' as qa_test_name
from (select class from w39_impervious_cover_score group by class)
classes;
END
$func$ LANGUAGE plpgsql;
Climate Ready Coast - Layer and Data Information 2025-04-09
268
w40 Buildings Vulnerability Automated QA
drop function if exists qa_w40_buildings_vulnerability;
CREATE OR REPLACE FUNCTION qa_w40_buildings_vulnerability()
RETURNS TABLE(
layer_id text,
layer_name text,
qa_test_status boolean,
qa_test_name text)
AS
$func$
BEGIN
return QUERY
-- test 1: all buildings_vulnerability point in shoreline
select
'w40' as layer_id,
'buildings_vulnerability' as layer_name,
count(*) = 0,
'Test that all buildings_vulnerability points are also within
shoreline table' as qa_test_name
FROM w40_buildings_vulnerability t1
LEFT JOIN w00_shoreline t2 ON t2.id = t1.id
WHERE t2.id IS NULL
union all
-- test 2: all shoreline points in buildings_vulnerability
select
'w40' as layer_id,
'buildings_vulnerability' as layer_name,
count(*) = 0,
'Test that all shoreline points are also within
buildings_vulnerability table' as qa_test_name
FROM w00_shoreline t1
LEFT JOIN w40_buildings_vulnerability t2 ON t2.id = t1.id
WHERE t2.id IS NULL
union all
-- test 3: no null distances
select
'w40' as layer_id,
'buildings_vulnerability' as layer_name,
count(*) = 0,
'Test that there are no NULL distance values' as qa_test_name
Climate Ready Coast - Layer and Data Information 2025-04-09
269
FROM w40_buildings_vulnerability t2
WHERE t2.distance IS NULL
union all
-- test 4: distance not too far (> 11 km)
select
'w40' as layer_id,
'buildings_vulnerability' as layer_name,
count(*) = 0,
'Test that there are no distances larger than 11 km' as qa_test_name
FROM w40_buildings_vulnerability t2
WHERE t2.distance > 11000
union all
-- test 5: va_score range 0 .. 4
select
'w40' as layer_id,
'buildings_vulnerability' as layer_name,
count(*) = 0,
'Test that va_score in proper range' as qa_test_name
FROM w40_buildings_vulnerability t2
WHERE t2.va_score < 0 or t2.va_score > 4;
END
$func$ LANGUAGE plpgsql;
Climate Ready Coast - Layer and Data Information 2025-04-09
270
w41 Parcels Buildout Automated QA
drop function if exists qa_w41_parcels_buildout;
CREATE OR REPLACE FUNCTION qa_w41_parcels_buildout()
RETURNS TABLE(
layer_id text,
layer_name text,
qa_test_status boolean,
qa_test_name text)
AS
$func$
BEGIN
return QUERY
-- test 1: all parcels_buildout point in shoreline
select
'w41' as layer_id,
'parcels_buildout' as layer_name,
count(*) = 0,
'Test that all parcels_buildout points are also within shoreline
table' as qa_test_name
FROM w41_parcels_buildout t1
LEFT JOIN w00_shoreline t2 ON t2.id = t1.id
WHERE t2.id IS NULL
union all
-- test 2: all shoreline points in parcels_buildout
select
'w41' as layer_id,
'parcels_buildout' as layer_name,
count(*) = 0,
'Test that all shoreline points are also within parcels_buildout
table' as qa_test_name
FROM w00_shoreline t1
LEFT JOIN w41_parcels_buildout t2 ON t2.id = t1.id
WHERE t2.id IS NULL
union all
-- test 3: no null distances
select
'w41' as layer_id,
'parcels_buildout' as layer_name,
count(*) = 0,
'Test that there are no NULL distance values' as qa_test_name
Climate Ready Coast - Layer and Data Information 2025-04-09
271
FROM w41_parcels_buildout t2
WHERE t2.distance IS NULL
union all
-- test 4: distance not too far (> 12 km, database does not cover Boon
Island)
select
'w41' as layer_id,
'parcels_buildout' as layer_name,
count(*) = 0,
'Test that there are no distances larger than 12 km' as qa_test_name
FROM w41_parcels_buildout t2
WHERE t2.distance > 12000;
END
$func$ LANGUAGE plpgsql;
Climate Ready Coast - Layer and Data Information 2025-04-09
272
w42 Wildlife and Habitats Vulnerability Assessment Automated QA
drop function if exists qa_w42_wildlife;
CREATE OR REPLACE FUNCTION qa_w42_wildlife()
RETURNS TABLE(
layer_id text,
layer_name text,
qa_test_status boolean,
qa_test_name text)
AS
$func$
BEGIN
return QUERY
-- test 1: all wildlife point in shoreline
select
'w42' as layer_id,
'wildlife' as layer_name,
count(*) = 0,
'Test that all wildlife points are also within shoreline table' as
qa_test_name
FROM w42_wildlife t1
LEFT JOIN w00_shoreline t2 ON t2.id = t1.id
WHERE t2.id IS NULL
union all
-- test 2: all shoreline points in wildlife
select
'w42' as layer_id,
'wildlife' as layer_name,
count(*) = 0,
'Test that all shoreline points are also within wildlife table' as
qa_test_name
FROM w00_shoreline t1
LEFT JOIN w42_wildlife t2 ON t2.id = t1.id
WHERE t2.id IS NULL
union all
-- test 3: no null distances
select
'w42' as layer_id,
'wildlife' as layer_name,
count(*) = 0,
'Test that there are no NULL distance values' as qa_test_name
Climate Ready Coast - Layer and Data Information 2025-04-09
273
FROM w42_wildlife t2
WHERE t2.distance IS NULL
union all
-- test 4: distance not too far (> 11 km)
select
'w42' as layer_id,
'wildlife' as layer_name,
count(*) = 0,
'Test that there are no distances larger than 11 km' as qa_test_name
FROM w42_wildlife t2
WHERE t2.distance > 11000
union all
-- test 5: va_score between 1 and 32
select
'w42' as layer_id,
'wildlife' as layer_name,
(mn >= 1 and mx <= 32),
'Test that va_score >= 1 and va_score <= 32' as qa_test_name
from (select min(va_score) as mn, max(va_score) as mx from
w42_wildlife) data
union all
-- test 6: validate source geometry (if count > 1, geom might be null or
invalid)
select
'w42' as layer_id,
'wildlife' as layer_name,
(count(*) = 1),
'Test that geometry is valid' as qa_test_name
from (select st_isvalid(geom) valid from tmp_w42_wildlife group by
valid) data;
END
$func$ LANGUAGE plpgsql;
Climate Ready Coast - Layer and Data Information 2025-04-09
274
w44 Priority Watersheds Automated QA
drop function if exists qa_w44_priority_watersheds;
CREATE OR REPLACE FUNCTION qa_w44_priority_watersheds()
RETURNS TABLE(
layer_id text,
layer_name text,
qa_test_status boolean,
qa_test_name text)
AS
$func$
BEGIN
return QUERY
-- test 1: all priority_watersheds point in shoreline
select
'w44' as layer_id,
'priority_watersheds' as layer_name,
count(*) = 0,
'Test that all priority_watersheds points are also within shoreline
table' as qa_test_name
FROM w44_priority_watersheds t1
LEFT JOIN w00_shoreline t2 ON t2.id = t1.id
WHERE t2.id IS NULL
union all
-- test 2: all shoreline points in priority_watersheds
select
'w44' as layer_id,
'priority_watersheds' as layer_name,
count(*) = 0,
'Test that all shoreline points are also within priority_watersheds
table' as qa_test_name
FROM w00_shoreline t1
LEFT JOIN w44_priority_watersheds t2 ON t2.id = t1.id
WHERE t2.id IS NULL
union all
-- test 3: no null distances
select
'w44' as layer_id,
'priority_watersheds' as layer_name,
count(*) = 0,
'Test that there are no NULL distance values' as qa_test_name
Climate Ready Coast - Layer and Data Information 2025-04-09
275
FROM w44_priority_watersheds t2
WHERE t2.distance IS NULL
union all
-- test 4: distance not too far (> 15 km)
select
'w44' as layer_id,
'priority_watersheds' as layer_name,
count(*) = 0,
'Test that there are no distances larger than 15 km' as qa_test_name
FROM w44_priority_watersheds t2
WHERE t2.distance > 15000
union all
-- test 5: validate source geometry (if count > 1, geom might be null or
invalid)
select
'w44' as layer_id,
'priority_watersheds' as layer_name,
(count(*) = 1),
'Test that geometry is valid' as qa_test_name
from (select st_isvalid(geom) valid from tmp_w44_priority_watersheds
group by valid) data;
END
$func$ LANGUAGE plpgsql;
Climate Ready Coast - Layer and Data Information 2025-04-09
276
w48 MGS Coastal Bluffs Automated QA
drop function if exists qa_w48_coastal_bluffs;
CREATE OR REPLACE FUNCTION qa_w48_coastal_bluffs()
RETURNS TABLE(
layer_id text,
layer_name text,
qa_test_status boolean,
qa_test_name text)
AS
$func$
BEGIN
return QUERY
-- test 1: all coastal_bluffs point in shoreline
select
'w48' as layer_id,
'coastal_bluffs' as layer_name,
count(*) = 0,
'Test that all coastal_bluffs points are also within shoreline table'
as qa_test_name
FROM w48_coastal_bluffs t1
LEFT JOIN w00_shoreline t2 ON t2.id = t1.id
WHERE t2.id IS NULL
union all
-- test 2: all shoreline points in coastal_bluffs
select
'w48' as layer_id,
'coastal_bluffs' as layer_name,
count(*) = 0,
'Test that all shoreline points are also within coastal_bluffs table'
as qa_test_name
FROM w00_shoreline t1
LEFT JOIN w48_coastal_bluffs t2 ON t2.id = t1.id
WHERE t2.id IS NULL
union all
-- test 3: no null distances
select
'w48' as layer_id,
'coastal_bluffs' as layer_name,
count(*) = 0,
'Test that there are no NULL distance values' as qa_test_name
Climate Ready Coast - Layer and Data Information 2025-04-09
277
FROM w48_coastal_bluffs t2
WHERE t2.distance IS NULL
union all
-- test 4: distance not too far (> 12 km)
select
'w48' as layer_id,
'coastal_bluffs' as layer_name,
count(*) = 0,
'Test that there are no distances larger than 12 km' as qa_test_name
FROM w48_coastal_bluffs t2
WHERE t2.distance > 12000
union all
-- test 5: all fields not null
select
'w48' as layer_id,
'coastal_bluffs' as layer_name,
bool_and(bluff is not null and stability is not null and type is not
null),
'Test that there are no fields with null values' as qa_test_name
FROM w48_coastal_bluffs t2
union all
-- test 6: validate source geometry (if count > 1, geom might be null or
invalid)
select
'w48' as layer_id,
'coastal_bluffs' as layer_name,
(count(*) = 1),
'Test that geometry is valid' as qa_test_name
from (select st_isvalid(geom) valid from tmp_w48_coastal_bluffs group
by valid) data;
END
$func$ LANGUAGE plpgsql;
Climate Ready Coast - Layer and Data Information 2025-04-09
278
w49 Roads Vulnerability Assessment Automated QA
drop function if exists qa_w49_roads_vulnerability;
CREATE OR REPLACE FUNCTION qa_w49_roads_vulnerability()
RETURNS TABLE(
layer_id text,
layer_name text,
qa_test_status boolean,
qa_test_name text)
AS
$func$
BEGIN
return QUERY
-- test 1: all roads_vulnerability point in shoreline
select
'w49' as layer_id,
'roads_vulnerability' as layer_name,
count(*) = 0,
'Test that all roads_vulnerability points are also within shoreline
table' as qa_test_name
FROM w49_roads_vulnerability t1
LEFT JOIN w00_shoreline t2 ON t2.id = t1.id
WHERE t2.id IS NULL
union all
-- test 2: all shoreline points in roads_vulnerability
select
'w49' as layer_id,
'roads_vulnerability' as layer_name,
count(*) = 0,
'Test that all shoreline points are also within roads_vulnerability
table' as qa_test_name
FROM w00_shoreline t1
LEFT JOIN w49_roads_vulnerability t2 ON t2.id = t1.id
WHERE t2.id IS NULL
union all
-- test 3: no null distances
select
'w49' as layer_id,
'roads_vulnerability' as layer_name,
count(*) = 0,
'Test that there are no NULL distance values' as qa_test_name
Climate Ready Coast - Layer and Data Information 2025-04-09
279
FROM w49_roads_vulnerability t2
WHERE t2.distance IS NULL
union all
-- test 4: distance not too far (> 12 km)
select
'w49' as layer_id,
'roads_vulnerability' as layer_name,
count(*) = 0,
'Test that there are no distances larger than 12 km' as qa_test_name
FROM w49_roads_vulnerability t2
WHERE t2.distance > 12000
union all
-- test 5: all fields not null
select
'w49' as layer_id,
'roads_vulnerability' as layer_name,
bool_and(va_score is not null and evacuation_route is not null),
'Test that there are no fields with null values' as qa_test_name
FROM w49_roads_vulnerability t2
union all
-- test 6: validate source geometry (if count > 1, geom might be null or
invalid)
select
'w49' as layer_id,
'roads_vulnerability' as layer_name,
(count(*) = 1),
'Test that geometry is valid' as qa_test_name
from (select st_isvalid(geom) valid from tmp_w49_roads_vulnerability
group by valid) data
union all
-- test 7: validate score range (0 to 32)
select
'w49' as layer_id,
'roads_vulnerability' as layer_name,
(count(*) = 0),
'Test that score is in proper range' as qa_test_name
FROM w49_roads_vulnerability t2
where va_score < 0 and va_score > 32;
Climate Ready Coast - Layer and Data Information 2025-04-09
280
END
$func$ LANGUAGE plpgsql;
Climate Ready Coast - Layer and Data Information 2025-04-09
281
Appendix 5 - Automated QA Results
ID
Token
Passed
Description
d03
hat
Passed
Test that all geometry types are multipolygon
d03
hat
Passed
Test that all hat polygons are valid
d03
hat
Passed
Test that all polygons are non-empty
d03
hat
Passed
Test that all geometry is epsg:26919
d28
beach_location
Passed
Test that all transects are within beach polygons
d34
ssurgo_erodibility
Passed
Test that kffact value is in the correct range
d34
ssurgo_erodibility
Passed
Test that county is not null
w00
shoreline
Passed
Test that all shoreline points fall within Wells AOI
w00
shoreline
Passed
Test that there are more than 350,000 points in the
output set
w01
aspect
Passed
Test that all aspect points are also within shoreline
table
w01
aspect
Passed
Test that all shoreline points are also within aspect
table
w02
beach_erosion
Passed
Test that all beach_erosion points are also within
shoreline table
w02
beach_erosion
Passed
Test that all shoreline points are also within
beach_erosion table
w03
beach_width
Passed
Test that all beach_width points are also within
shoreline table
w03
beach_width
Passed
Test that all shoreline points are also within
beach_width table
w04
dune_crest_proximity
Passed
Test that all shoreline points are also within
dune_crest_proximity table
w04
dune_crest_proximity
Passed
Test that all dune_crest_proximity points are also
within shoreline table
Climate Ready Coast - Layer and Data Information 2025-04-09
282
w05
dune_erosion
Passed
Test that all shoreline points are also within
dune_erosion table
w05
dune_erosion
Passed
Test that all dune_erosion points are also within
shoreline table
w06
dune_structure_proximit
y
Passed
Test that all shoreline points are also within
dune_structure_proximity table
w06
dune_structure_proximit
y
Passed
Test that all dune_structure_proximity points are
also within shoreline table
w07
fetch_annualized
Passed
Test that all shoreline points are also within
fetch_annualized table
w07
fetch_annualized
Passed
Test that all fetch_annualized points are also within
shoreline table
w08
fetch_southeast
Passed
Test that all shoreline points are also within
fetch_southeast table
w08
fetch_southeast
Passed
Test that all fetch_southeast points are also within
shoreline table
w11
fema_zone
Passed
Test that all shoreline points are also within
fema_zone table
w11
fema_zone
Passed
Test that all fema_zone points are also within
shoreline table
w12
habitat_eelgrass
Passed
Test that all shoreline points are also within
habitat_eelgrass table
w12
habitat_eelgrass
Passed
Test that all habitat_eelgrass points are also within
shoreline table
w13
habitat_shellfish
Passed
Test that all habitat_shellfish points are also within
shoreline table
w13
habitat_shellfish
Passed
Test that all shoreline points are also within
habitat_shellfish table
w14
habitat_bird
Passed
Test that all shoreline points are also within
habitat_bird table
w14
habitat_bird
Passed
Test that all habitat_bird points are also within
shoreline table
Climate Ready Coast - Layer and Data Information 2025-04-09
283
w15
relief
Passed
Test that all shoreline points are also within relief
table
w15
relief
Passed
Test that all relief points are also within shoreline
table
w17
saltmarsh_migration
Passed
Test that all shoreline points are also within
saltmarsh_migration table
w17
saltmarsh_migration
Passed
Test that all saltmarsh_migration points are also
within shoreline table
w18
tidal_crossing
Passed
Test that all shoreline points are also within
tidal_crossing table
w18
tidal_crossing
Passed
Test that all tidal_crossing points are also within
shoreline table
w19
erosion_nav_channel
Passed
Test that all shoreline points are also within
erosion_nav_channel table
w19
erosion_nav_channel
Passed
Test that all erosion_nav_channel points are also
within shoreline table
w20
shoreline_landward
Passed
Test that all shoreline points are also within
shoreline_landward table
w20
shoreline_landward
Passed
Test that all shoreline_landward points are also
within shoreline table
w21
shoreline_seaward
Passed
Test that all shoreline points are also within
shoreline_seaward table
w21
shoreline_seaward
Passed
Test that all shoreline_seaward points are also
within shoreline table
w22
slope_landward
Passed
Test that all slope_landward points are also within
shoreline table
w22
slope_landward
Passed
Test that all shoreline points are also within
slope_landward table
w22
slope_landward
Passed
Test that all slope values are less than or equal to
slopes created using relief
w23
slope_seaward_intertidal
Passed
Test that all shoreline points are also within
slope_seaward_intertidal table
Climate Ready Coast - Layer and Data Information 2025-04-09
284
w23
slope_seaward_intertidal
Passed
Test that all slope_seaward_intertidal points are
also within shoreline table
w24
slope_seaward_bathymet
ric
Passed
Test that all shoreline points are also within
slope_seaward_bathymetric table
w24
slope_seaward_bathymet
ric
Passed
Test that all slope_seaward_bathymetric points are
also within shoreline table
w25
structures_hardening
Passed
Test that all shoreline points are also within
structures_hardening table
w25
structures_hardening
Passed
Test that all structures_hardening points are also
within shoreline table
w27
fetch_northeast
Passed
Test that all shoreline points are also within
fetch_northeast table
w27
fetch_northeast
Passed
Test that all fetch_northeast points are also within
shoreline table
w28
shoreline_seaward_extra
Passed
Test that all shoreline points are also within
shoreline_seaward_extra table
w28
shoreline_seaward_extra
Passed
Test that all shoreline_seaward_extra points are
also within shoreline table
w29
erodibility
Passed
Test that all erodibility values are in proper range
w29
erodibility
Passed
Test that all shoreline points are also within
erodibility table
w29
erodibility
Passed
Test that all erodibility points are also within
shoreline table
w31
landcover
Passed
Test that all landcover category class values are in
proper range
w31
landcover
Passed
Test that all shoreline points are also within
landcover table
w31
landcover
Passed
Test that all landcover points are also within
shoreline table
w32
dry_beach_erosion
Passed
Test that all shoreline points are also within
dry_beach_erosion table
w32
dry_beach_erosion
Passed
Test that all points within d28_beach_location have
Climate Ready Coast - Layer and Data Information 2025-04-09
285
a beach_distance of 0
w32
dry_beach_erosion
Passed
Test that all dry_beach_erosion points are also
within shoreline table
w33
total_beach_width
Passed
Test that total width calculation its correct
w33
total_beach_width
Passed
Test that all total_beach_width points are also
within shoreline table
w33
total_beach_width
Passed
Test that all shoreline points are also within
total_beach_width table
w37
aquaculture
Passed
Test that there are no NULL distance values
w37
aquaculture
Passed
Test that there are exactly two classes in use
w37
aquaculture
Passed
Test that there are no distances larger than 19 km
w37
aquaculture
Passed
Test that all shoreline points are also within
aquaculture table
w37
aquaculture
Passed
Test that all aquaculture points are also within
shoreline table
w38
conservation_land
Passed
Test that there are no NULL distance values
w38
conservation_land
Passed
Test that there are no distances larger than 12 km
w38
conservation_land
Passed
Test that all conservation_land points are also
within shoreline table
w38
conservation_land
Passed
Test that all shoreline points are also within
conservation_land table
w39
impervious_cover
Passed
Test that there are no NULL distance values
w39
impervious_cover
Passed
Test that there are no distances larger than 11 km
w39
impervious_cover
Passed
Test that there are extactly two classes in use
w39
impervious_cover
Passed
Test that all impervious_cover points are also
within shoreline table
w39
impervious_cover
Passed
Test that all shoreline points are also within
impervious_cover table
w40
buildings_vulnerability
Passed
Test that there are no NULL distance values
Climate Ready Coast - Layer and Data Information 2025-04-09
286
w40
buildings_vulnerability
Passed
Test that there are no distances larger than 11 km
w40
buildings_vulnerability
Passed
Test that va_score in proper range
w40
buildings_vulnerability
Passed
Test that all shoreline points are also within
buildings_vulnerability table
w40
buildings_vulnerability
Passed
Test that all buildings_vulnerability points are also
within shoreline table
w41
parcels_buildout
Passed
Test that there are no NULL distance values
w41
parcels_buildout
Passed
Test that there are no distances larger than 12 km
w41
parcels_buildout
Passed
Test that all parcels_buildout points are also within
shoreline table
w41
parcels_buildout
Passed
Test that all shoreline points are also within
parcels_buildout table
w42
wildlife
Passed
Test that all wildlife points are also within shoreline
table
w42
wildlife
Passed
Test that all shoreline points are also within wildlife
table
w42
wildlife
Passed
Test that there are no NULL distance values
w42
wildlife
Passed
Test that there are no distances larger than 11 km
w42
wildlife
Passed
Test that va_score >= 1 and va_score <= 32
w42
wildlife
Passed
Test that geometry is valid
w44
priority_watersheds
Passed
Test that there are no NULL distance values
w44
priority_watersheds
Passed
Test that there are no distances larger than 15 km
w44
priority_watersheds
Passed
Test that geometry is valid
w44
priority_watersheds
Passed
Test that all priority_watersheds points are also
within shoreline table
w44
priority_watersheds
Passed
Test that all shoreline points are also within
priority_watersheds table
w48
coastal_bluffs
Passed
Test that all coastal_bluffs points are also within
shoreline table
Climate Ready Coast - Layer and Data Information 2025-04-09
287
w48
coastal_bluffs
Passed
Test that all shoreline points are also within
coastal_bluffs table
w48
coastal_bluffs
Passed
Test that there are no NULL distance values
w48
coastal_bluffs
Passed
Test that there are no distances larger than 12 km
w48
coastal_bluffs
Passed
Test that there are no fields with null values
w48
coastal_bluffs
Passed
Test that geometry is valid
w49
roads_vulnerability
Passed
Test that there are no NULL distance values
w49
roads_vulnerability
Passed
Test that there are no fields with null values
w49
roads_vulnerability
Passed
Test that there are no distances larger than 12 km
w49
roads_vulnerability
Passed
Test that score is in proper range
w49
roads_vulnerability
Passed
Test that all roads_vulnerability points are also
within shoreline table
w49
roads_vulnerability
Passed
Test that geometry is valid
w49
roads_vulnerability
Passed
Test that all shoreline points are also within
roads_vulnerability table