<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://grasswiki.osgeo.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=%E2%9A%A0%EF%B8%8FHamishBowman</id>
	<title>GRASS-Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://grasswiki.osgeo.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=%E2%9A%A0%EF%B8%8FHamishBowman"/>
	<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/wiki/Special:Contributions/%E2%9A%A0%EF%B8%8FHamishBowman"/>
	<updated>2026-05-26T01:59:39Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.41.0</generator>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=ADCIRC&amp;diff=26456</id>
		<title>ADCIRC</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=ADCIRC&amp;diff=26456"/>
		<updated>2021-01-06T01:17:12Z</updated>

		<summary type="html">&lt;p&gt;⚠️HamishBowman: /* Boundary node attribute preparation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Interfacing with the [http://adcirc.org ADCIRC] coastal ocean model ==&lt;br /&gt;
&lt;br /&gt;
=== Grid preparation ===&lt;br /&gt;
&lt;br /&gt;
==== OceanMesh2D ====&lt;br /&gt;
&lt;br /&gt;
[https://github.com/CHLNDDEV/OceanMesh2D OceanMesh2D] is an open source (GPL3) generator of 2D [[Triangle_Mesh|triangular finite element meshes]] suitable for use with [http://adcirc.org ADCIRC] that performs an adaptive Delaunay triangulation, iteratively, providing fine mesh detail in areas of numerical complexity.&lt;br /&gt;
It likes to work in lat/lon coordinate system.&lt;br /&gt;
&lt;br /&gt;
You can output your DEM as NetCDF format with r.out.gdal.&lt;br /&gt;
&lt;br /&gt;
You can create a domain boundary polyline with r.contour. You can then output the domain boundary polyline either as Shapefiles with v.out.ogr, or as two column x,y ASCII data with the {{AddonCmd|v.out.ascii.mat}} addon module for GRASS 6.&lt;br /&gt;
&lt;br /&gt;
==== Finding a coastline to use ====&lt;br /&gt;
&lt;br /&gt;
You can use the r.contour module with your DEM to create a level=0 shoreline.&lt;br /&gt;
&lt;br /&gt;
For those working in areas covering the USA, see the [[CUSP Coastline]] wiki page.&lt;br /&gt;
&lt;br /&gt;
==== Boundary node attribute preparation ====&lt;br /&gt;
&lt;br /&gt;
You can extract the tidal forcing factor amplitude and phase for boundary nodes needed in the fort.15 setup file from raster maps already loaded into GRASS. In the following example the [https://www.aviso.altimetry.fr/en/data/products/auxiliary-products/global-tide-fes/description-fes2004.html FES2004] dataset is used. (FES2002 for the K2 constituent as K2 is reputed to be broken in the 2004 edition)&lt;br /&gt;
: ''See also the [http://volkov.oce.orst.edu/tides/global.html TPXO NetCDF global tide dataset] from OSU.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Import FES tidal database data:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# import and split phase into components&lt;br /&gt;
r.in.gdal in=NETCDF:&amp;quot;tide.fes2004.nc&amp;quot;:spectrum out=fes2004.spectrum -ol&lt;br /&gt;
&lt;br /&gt;
MAPS=`g.mlist rast patt=&amp;quot;fes2004*&amp;quot; | sort -n -k 3 -t .`&lt;br /&gt;
for MAP in $MAPS ; do&lt;br /&gt;
    echo &amp;quot;[$MAP]&amp;quot;&lt;br /&gt;
    r.region $MAP s=-90 w=-180&lt;br /&gt;
    eval `r.info -s $MAP`&lt;br /&gt;
    g.region rast=$MAP&lt;br /&gt;
    g.region n=n-$nsres s=s+$nsres w=w+$ewres&lt;br /&gt;
    r.mapcalc &amp;quot;$MAP.crop = $MAP&amp;quot;&lt;br /&gt;
    r.region $MAP.crop n=89.9375 s=-89.9375 w=0.0625 e=360.0625&lt;br /&gt;
    g.region rast=$MAP.crop&lt;br /&gt;
    g.remove $MAP&lt;br /&gt;
    g.rename $MAP.crop,$MAP.fixed&lt;br /&gt;
    echo&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
spectrum=&amp;quot;2N2 K1 K2 M2 M4 Mf Mm Msqm Mtm N2 O1 P1 Q1 S2&amp;quot;&lt;br /&gt;
for i in `seq 1 14` ; do&lt;br /&gt;
    constit=`echo &amp;quot;$spectrum&amp;quot; | tr ' ' '\n' | head -n $i | tail -n 1`&lt;br /&gt;
    g.rename fes2004.Ha.$i.fixed,fes2004.$constit.amplitude&lt;br /&gt;
    g.rename fes2004.Hg.$i.fixed,fes2004.$constit.phase&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
g.rename fes2004.K2.amplitude,fes2004.K2.amplitude.bad&lt;br /&gt;
g.rename fes2004.K2.phase,fes2004.K2.phase.bad&lt;br /&gt;
&lt;br /&gt;
for map in `g.mlist rast patt=&amp;quot;*.phase&amp;quot; | grep -v bad` ; do&lt;br /&gt;
    r.mapcalc &amp;lt;&amp;lt; EOF&lt;br /&gt;
     $map.u = 1 * cos($map)&lt;br /&gt;
     $map.v = 1 * sin($map)&lt;br /&gt;
EOF&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Extract amplitude and phase at open boundary nodes:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
constits=&amp;quot;M2  N2  S2  K1  O1  P1  K2  2N2  Q1  M4&amp;quot;&lt;br /&gt;
&lt;br /&gt;
for const in $constits ; do&lt;br /&gt;
  MAP=fes2004.$const&lt;br /&gt;
  if [ $const = K2 ] ; then&lt;br /&gt;
    MAP=fes2002.K2&lt;br /&gt;
  fi&lt;br /&gt;
  echo &amp;quot;[$MAP]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  v.what.rast vect=adcirc_grid_open_bdy_nodes \&lt;br /&gt;
    rast=$MAP.amplitude -pi --q | sort -n &amp;gt; $MAP.ampl.prn&lt;br /&gt;
&lt;br /&gt;
  v.what.rast vect=adcirc_grid_open_bdy_nodes \&lt;br /&gt;
    rast=$MAP.phase -p --q | sort -n &amp;gt;  $MAP.phase_raw.prn&lt;br /&gt;
  v.what.rast vect=adcirc_grid_open_bdy_nodes \&lt;br /&gt;
    rast=$MAP.phase.u -pi --q | sort -n &amp;gt;  $MAP.phase.u.prn&lt;br /&gt;
  v.what.rast vect=adcirc_grid_open_bdy_nodes \&lt;br /&gt;
    rast=$MAP.phase.v -pi --q | sort -n &amp;gt;  $MAP.phase.v.prn&lt;br /&gt;
&lt;br /&gt;
  echo &amp;quot;% $const: grid open boundary nodes&amp;quot; &amp;gt; $MAP.tidal.prn&lt;br /&gt;
  echo &amp;quot;% node ampl phase phase.u phase.v&amp;quot; &amp;gt;&amp;gt; $MAP.tidal.prn&lt;br /&gt;
  paste -d'|' $MAP.ampl.prn $MAP.phase_raw.prn \&lt;br /&gt;
      $MAP.phase.u.prn $MAP.phase.v.prn | \&lt;br /&gt;
    cut -f1,2,4,6,8 -d'|' | \&lt;br /&gt;
    tr '|' '\t' &amp;gt;&amp;gt; $MAP.tidal.prn&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
# check for nulls in the source data.&lt;br /&gt;
# Manually replace with values from nearby raster cells using d.what.rast&lt;br /&gt;
grep '*' *.tidal.prn&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then, in Matlab or Octave:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;matlab&amp;quot;&amp;gt;&lt;br /&gt;
M2 = load('fes2004.M2.tidal.prn');&lt;br /&gt;
N2 = load('fes2004.N2.tidal.prn');&lt;br /&gt;
S2 = load('fes2004.S2.tidal.prn');&lt;br /&gt;
K1 = load('fes2004.K1.tidal.prn');&lt;br /&gt;
O1 = load('fes2004.O1.tidal.prn');&lt;br /&gt;
K2 = load('fes2002.K2.tidal.prn');&lt;br /&gt;
P1 = load('fes2004.P1.tidal.prn');&lt;br /&gt;
Q1 = load('fes2004.Q1.tidal.prn');&lt;br /&gt;
&lt;br /&gt;
c2N2 = load('fes2004.2N2.tidal.prn');&lt;br /&gt;
M4 = load('fes2004.M4.tidal.prn');&lt;br /&gt;
&lt;br /&gt;
% compare nearest neighbor phase angle vs. interpolated phase angle reconstructed from components&lt;br /&gt;
[M2(:,3)  cart2pol(M2(:,4), M2(:,5)) * 180/pi]&lt;br /&gt;
&lt;br /&gt;
delta = M2(:,3) - (cart2pol(M2(:,4), M2(:,5)) * 180/pi);&lt;br /&gt;
[M2(:,1) delta]&lt;br /&gt;
plot(M2(:,1), delta), grid on&lt;br /&gt;
xlabel('boundary node')&lt;br /&gt;
ylabel('degrees')&lt;br /&gt;
&lt;br /&gt;
[M2(:,1) M2(:,3) (cart2pol(M2(:,4), M2(:,5)) * 180/pi) delta]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
%%%&lt;br /&gt;
constits={ 'M2' 'N2' 'S2' 'K1' 'O1' 'P1' 'K2' 'c2N2' 'Q1' 'M4' }&lt;br /&gt;
&lt;br /&gt;
fid = fopen('grid_constits.prn', 'w')&lt;br /&gt;
&lt;br /&gt;
for i = 1: length(constits)&lt;br /&gt;
  const = char(constits(i));&lt;br /&gt;
  eval(['data = ' const ';'])&lt;br /&gt;
  new_phase = cart2pol(data(:,4), data(:,5)) * 180/pi;&lt;br /&gt;
  for j = 1:length(new_phase)&lt;br /&gt;
    if (new_phase(j) &amp;lt; 0)&lt;br /&gt;
      new_phase(j) = new_phase(j) + 360;&lt;br /&gt;
    end&lt;br /&gt;
  end&lt;br /&gt;
  fprintf(fid, ' %s\n', const);&lt;br /&gt;
  for j = 1:length(new_phase)&lt;br /&gt;
    fprintf(fid, '   %8.6f  %9.5f\n', data(j,2), new_phase(j));&lt;br /&gt;
  end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
fclose(fid)&lt;br /&gt;
&lt;br /&gt;
% then manually fix c2N2 -&amp;gt; 2N2&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Creating Manning's n nodal attributes ====&lt;br /&gt;
&lt;br /&gt;
* See [[NLCD Land Cover]] for instructions on importing the base data&lt;br /&gt;
&lt;br /&gt;
You can load in your fort.14 mesh as points with &amp;lt;tt&amp;gt;v.in.adcirc_grid&amp;lt;/tt&amp;gt;, then pull it into the Albers location with &amp;lt;tt&amp;gt;v.proj&amp;lt;/tt&amp;gt;, then create a column of ''n'' values with '&amp;lt;tt&amp;gt;v.what.rast -i -p&amp;lt;/tt&amp;gt;' that you can then form into a fort.13 file with UNIX command line power tools such as 'cut' and 'paste'.&lt;br /&gt;
&lt;br /&gt;
=== Post processing output data ===&lt;br /&gt;
&lt;br /&gt;
==== Importing the fort.14 mesh grid ====&lt;br /&gt;
&lt;br /&gt;
The {{AddonCmd|v.in.adcirc_grid}} addon module for GRASS 6 will import a 2.5D triangular mesh from the [[ADCIRC]] coastal ocean model into a 3D GRASS vector map.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;v.in.adcirc_grid&amp;lt;/tt&amp;gt; does not yet support loading in node type (boundary, etc.) as point attributes -- database tables can be a bit slow for maps with potentially millions of features. In the mean time here is a little shell script to extract the boundary nodes on the ''first'' open boundary into a separate vector points map:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 infile=fort.14&lt;br /&gt;
 inmap=mesh_grid_pts&lt;br /&gt;
 bdymap=mesh_bdy_pts&lt;br /&gt;
 &lt;br /&gt;
 v.in.adcirc_grid -p in=$infile out=$inmap&lt;br /&gt;
 num_pts=`grep ' = Number of nodes for open boundary' &amp;quot;$infile&amp;quot; | head -n 1 | awk '{print $1}'`&lt;br /&gt;
 cat_list=`grep -A&amp;quot;$num_pts&amp;quot; ' = Number of nodes for open boundary' &amp;quot;$infile&amp;quot; | \&lt;br /&gt;
    tail -n +2 | tr '\n' ',' | sed -e 's/ //g' -e 's/,$//'`&lt;br /&gt;
 v.extract in=$inmap out=$bdymap list=&amp;quot;$cat_list&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Importing elevation or velocity reporting stations ====&lt;br /&gt;
&lt;br /&gt;
With a little awk you can load in the elevation reporting stations for unit 61 with v.in.ascii.&lt;br /&gt;
&lt;br /&gt;
These shell script commands will take the station positions found in a `elev_stat.151` file and create a text file of points which you can import.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
FILE=elev_stat.151&lt;br /&gt;
OUT=`basename &amp;quot;$FILE&amp;quot; .151`.dat&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;# $FILE  `date`&amp;quot; &amp;gt; &amp;quot;$OUT&amp;quot;&lt;br /&gt;
head -n1 &amp;quot;$FILE&amp;quot; | sed -e 's/^/#/' &amp;gt;&amp;gt; &amp;quot;$OUT&amp;quot;&lt;br /&gt;
tail -n+2 &amp;quot;$FILE&amp;quot; | sed -e 's/^ //' -e 's/ /|/' -e 's/[ ]*! /|/' &amp;gt;&amp;gt; &amp;quot;$OUT&amp;quot;&lt;br /&gt;
&lt;br /&gt;
v.in.ascii in=&amp;quot;$OUT&amp;quot; out=adcirc_stations \&lt;br /&gt;
   x=1 y=2 col='lon double, lat double, name varchar(64)'&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Visualizing sub-domains ====&lt;br /&gt;
&lt;br /&gt;
If you wish to have a look at where the sub-domains of a parallel run are, you can use the following Bash script:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
mkdir fort14s&lt;br /&gt;
for DIR in PE00?? ; do&lt;br /&gt;
   cp -a $DIR/fort.14 fort14s/${DIR}.14&lt;br /&gt;
done&lt;br /&gt;
 &lt;br /&gt;
cd fort14s&lt;br /&gt;
for file in *.14 ; do&lt;br /&gt;
   base=`echo &amp;quot;$file&amp;quot; | sed -e 's/PE00//' -e 's/\.14//'`&lt;br /&gt;
   echo -n &amp;quot;[$base]&amp;quot;&lt;br /&gt;
   v.in.adcirc_grid in=&amp;quot;$file&amp;quot; out=&amp;quot;submesh_$base&amp;quot; --quiet&lt;br /&gt;
   v.in.adcirc_grid -p in=&amp;quot;$file&amp;quot; out=&amp;quot;submesh_${base}_pts&amp;quot; --quiet&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here is a loop for displaying 80 sub-meshes, with random dark colors:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
for PE in {00..79} ; do&lt;br /&gt;
  echo -n &amp;quot;[$PE]&amp;quot;&lt;br /&gt;
  R=`expr $RANDOM / 256`&lt;br /&gt;
  G=`expr $RANDOM / 256`&lt;br /&gt;
  B=`expr $RANDOM / 256`&lt;br /&gt;
&lt;br /&gt;
  d.vect &amp;quot;submesh_$PE&amp;quot; color=&amp;quot;$R:$G:$B&amp;quot;&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
d.vect US_medium_shoreline color=black width=2&lt;br /&gt;
&lt;br /&gt;
d.vect station_map color=black fcolor=red size=8 icon=basic/circle&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Importing unit 61, 62, 63, 64 results ====&lt;br /&gt;
&lt;br /&gt;
For this a useful approach is to import lat/lon coordinates of the nodes (as points) with the v.in.adcirc_grid AddOn module for GRASS 6, switch over to your target map projection in another GRASS location, pull in the points vector map from the lat/lon location with v.proj, export them with v.out.ascii only keeping the projected points' x and y coordinate columns, tab separated (node order is preserved through all of this), this only needs to be done once.&lt;br /&gt;
: Next using `ncdump` extract the 'z' or 'u' and 'v' values at each node point, and `paste` those (using the `paste` Unix command line tool) together with the x and y coordinates into a file ready for v.in.ascii or r.in.xyz. Repeat as necessary if the NetCDF output file includes multiple timsteps. All of this can be and should be scripted to save you time.&lt;br /&gt;
&lt;br /&gt;
- addme: bash code + r.in.xyz + {{AddonCmd|r.surf.nnbathy}}&lt;br /&gt;
&lt;br /&gt;
{{AddonCmd|d.barb}} addon module for GRASS 6 for rendering u,v vector arrows&lt;br /&gt;
&lt;br /&gt;
[[Category: Geodata]]&lt;br /&gt;
[[Category: Import]]&lt;/div&gt;</summary>
		<author><name>⚠️HamishBowman</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=ADCIRC&amp;diff=26455</id>
		<title>ADCIRC</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=ADCIRC&amp;diff=26455"/>
		<updated>2021-01-06T01:07:14Z</updated>

		<summary type="html">&lt;p&gt;⚠️HamishBowman: /* Importing elevation or velocity reporting stations */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Interfacing with the [http://adcirc.org ADCIRC] coastal ocean model ==&lt;br /&gt;
&lt;br /&gt;
=== Grid preparation ===&lt;br /&gt;
&lt;br /&gt;
==== OceanMesh2D ====&lt;br /&gt;
&lt;br /&gt;
[https://github.com/CHLNDDEV/OceanMesh2D OceanMesh2D] is an open source (GPL3) generator of 2D [[Triangle_Mesh|triangular finite element meshes]] suitable for use with [http://adcirc.org ADCIRC] that performs an adaptive Delaunay triangulation, iteratively, providing fine mesh detail in areas of numerical complexity.&lt;br /&gt;
It likes to work in lat/lon coordinate system.&lt;br /&gt;
&lt;br /&gt;
You can output your DEM as NetCDF format with r.out.gdal.&lt;br /&gt;
&lt;br /&gt;
You can create a domain boundary polyline with r.contour. You can then output the domain boundary polyline either as Shapefiles with v.out.ogr, or as two column x,y ASCII data with the {{AddonCmd|v.out.ascii.mat}} addon module for GRASS 6.&lt;br /&gt;
&lt;br /&gt;
==== Boundary node attribute preparation ====&lt;br /&gt;
&lt;br /&gt;
You can extract the tidal forcing factor amplitude and phase for boundary nodes needed in the fort.15 setup file from raster maps already loaded into GRASS. In the following example the [https://www.aviso.altimetry.fr/en/data/products/auxiliary-products/global-tide-fes/description-fes2004.html FES2004] dataset is used. (FES2002 for the K2 constituent as K2 is reputed to be broken in the 2004 edition)&lt;br /&gt;
: ''See also the [http://volkov.oce.orst.edu/tides/global.html TPXO NetCDF global tide dataset] from OSU.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Import FES tidal database data:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# import and split phase into components&lt;br /&gt;
r.in.gdal in=NETCDF:&amp;quot;tide.fes2004.nc&amp;quot;:spectrum out=fes2004.spectrum -ol&lt;br /&gt;
&lt;br /&gt;
MAPS=`g.mlist rast patt=&amp;quot;fes2004*&amp;quot; | sort -n -k 3 -t .`&lt;br /&gt;
for MAP in $MAPS ; do&lt;br /&gt;
    echo &amp;quot;[$MAP]&amp;quot;&lt;br /&gt;
    r.region $MAP s=-90 w=-180&lt;br /&gt;
    eval `r.info -s $MAP`&lt;br /&gt;
    g.region rast=$MAP&lt;br /&gt;
    g.region n=n-$nsres s=s+$nsres w=w+$ewres&lt;br /&gt;
    r.mapcalc &amp;quot;$MAP.crop = $MAP&amp;quot;&lt;br /&gt;
    r.region $MAP.crop n=89.9375 s=-89.9375 w=0.0625 e=360.0625&lt;br /&gt;
    g.region rast=$MAP.crop&lt;br /&gt;
    g.remove $MAP&lt;br /&gt;
    g.rename $MAP.crop,$MAP.fixed&lt;br /&gt;
    echo&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
spectrum=&amp;quot;2N2 K1 K2 M2 M4 Mf Mm Msqm Mtm N2 O1 P1 Q1 S2&amp;quot;&lt;br /&gt;
for i in `seq 1 14` ; do&lt;br /&gt;
    constit=`echo &amp;quot;$spectrum&amp;quot; | tr ' ' '\n' | head -n $i | tail -n 1`&lt;br /&gt;
    g.rename fes2004.Ha.$i.fixed,fes2004.$constit.amplitude&lt;br /&gt;
    g.rename fes2004.Hg.$i.fixed,fes2004.$constit.phase&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
g.rename fes2004.K2.amplitude,fes2004.K2.amplitude.bad&lt;br /&gt;
g.rename fes2004.K2.phase,fes2004.K2.phase.bad&lt;br /&gt;
&lt;br /&gt;
for map in `g.mlist rast patt=&amp;quot;*.phase&amp;quot; | grep -v bad` ; do&lt;br /&gt;
    r.mapcalc &amp;lt;&amp;lt; EOF&lt;br /&gt;
     $map.u = 1 * cos($map)&lt;br /&gt;
     $map.v = 1 * sin($map)&lt;br /&gt;
EOF&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Extract amplitude and phase at open boundary nodes:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
constits=&amp;quot;M2  N2  S2  K1  O1  P1  K2  2N2  Q1  M4&amp;quot;&lt;br /&gt;
&lt;br /&gt;
for const in $constits ; do&lt;br /&gt;
  MAP=fes2004.$const&lt;br /&gt;
  if [ $const = K2 ] ; then&lt;br /&gt;
    MAP=fes2002.K2&lt;br /&gt;
  fi&lt;br /&gt;
  echo &amp;quot;[$MAP]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  v.what.rast vect=adcirc_grid_open_bdy_nodes \&lt;br /&gt;
    rast=$MAP.amplitude -pi --q | sort -n &amp;gt; $MAP.ampl.prn&lt;br /&gt;
&lt;br /&gt;
  v.what.rast vect=adcirc_grid_open_bdy_nodes \&lt;br /&gt;
    rast=$MAP.phase -p --q | sort -n &amp;gt;  $MAP.phase_raw.prn&lt;br /&gt;
  v.what.rast vect=adcirc_grid_open_bdy_nodes \&lt;br /&gt;
    rast=$MAP.phase.u -pi --q | sort -n &amp;gt;  $MAP.phase.u.prn&lt;br /&gt;
  v.what.rast vect=adcirc_grid_open_bdy_nodes \&lt;br /&gt;
    rast=$MAP.phase.v -pi --q | sort -n &amp;gt;  $MAP.phase.v.prn&lt;br /&gt;
&lt;br /&gt;
  echo &amp;quot;% $const: grid open boundary nodes&amp;quot; &amp;gt; $MAP.tidal.prn&lt;br /&gt;
  echo &amp;quot;% node ampl phase phase.u phase.v&amp;quot; &amp;gt;&amp;gt; $MAP.tidal.prn&lt;br /&gt;
  paste -d'|' $MAP.ampl.prn $MAP.phase_raw.prn \&lt;br /&gt;
      $MAP.phase.u.prn $MAP.phase.v.prn | \&lt;br /&gt;
    cut -f1,2,4,6,8 -d'|' | \&lt;br /&gt;
    tr '|' '\t' &amp;gt;&amp;gt; $MAP.tidal.prn&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
# check for nulls in the source data.&lt;br /&gt;
# Manually replace with values from nearby raster cells using d.what.rast&lt;br /&gt;
grep '*' *.tidal.prn&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then, in Matlab or Octave:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;matlab&amp;quot;&amp;gt;&lt;br /&gt;
M2 = load('fes2004.M2.tidal.prn');&lt;br /&gt;
N2 = load('fes2004.N2.tidal.prn');&lt;br /&gt;
S2 = load('fes2004.S2.tidal.prn');&lt;br /&gt;
K1 = load('fes2004.K1.tidal.prn');&lt;br /&gt;
O1 = load('fes2004.O1.tidal.prn');&lt;br /&gt;
K2 = load('fes2002.K2.tidal.prn');&lt;br /&gt;
P1 = load('fes2004.P1.tidal.prn');&lt;br /&gt;
Q1 = load('fes2004.Q1.tidal.prn');&lt;br /&gt;
&lt;br /&gt;
c2N2 = load('fes2004.2N2.tidal.prn');&lt;br /&gt;
M4 = load('fes2004.M4.tidal.prn');&lt;br /&gt;
&lt;br /&gt;
% compare nearest neighbor phase angle vs. interpolated phase angle reconstructed from components&lt;br /&gt;
[M2(:,3)  cart2pol(M2(:,4), M2(:,5)) * 180/pi]&lt;br /&gt;
&lt;br /&gt;
delta = M2(:,3) - (cart2pol(M2(:,4), M2(:,5)) * 180/pi);&lt;br /&gt;
[M2(:,1) delta]&lt;br /&gt;
plot(M2(:,1), delta), grid on&lt;br /&gt;
xlabel('boundary node')&lt;br /&gt;
ylabel('degrees')&lt;br /&gt;
&lt;br /&gt;
[M2(:,1) M2(:,3) (cart2pol(M2(:,4), M2(:,5)) * 180/pi) delta]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
%%%&lt;br /&gt;
constits={ 'M2' 'N2' 'S2' 'K1' 'O1' 'P1' 'K2' 'c2N2' 'Q1' 'M4' }&lt;br /&gt;
&lt;br /&gt;
fid = fopen('grid_constits.prn', 'w')&lt;br /&gt;
&lt;br /&gt;
for i = 1: length(constits)&lt;br /&gt;
  const = char(constits(i));&lt;br /&gt;
  eval(['data = ' const ';'])&lt;br /&gt;
  new_phase = cart2pol(data(:,4), data(:,5)) * 180/pi;&lt;br /&gt;
  for j = 1:length(new_phase)&lt;br /&gt;
    if (new_phase(j) &amp;lt; 0)&lt;br /&gt;
      new_phase(j) = new_phase(j) + 360;&lt;br /&gt;
    end&lt;br /&gt;
  end&lt;br /&gt;
  fprintf(fid, ' %s\n', const);&lt;br /&gt;
  for j = 1:length(new_phase)&lt;br /&gt;
    fprintf(fid, '   %8.6f  %9.5f\n', data(j,2), new_phase(j));&lt;br /&gt;
  end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
fclose(fid)&lt;br /&gt;
&lt;br /&gt;
% then manually fix c2N2 -&amp;gt; 2N2&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Creating Manning's n nodal attributes ====&lt;br /&gt;
&lt;br /&gt;
* See [[NLCD Land Cover]] for instructions on importing the base data&lt;br /&gt;
&lt;br /&gt;
You can load in your fort.14 mesh as points with &amp;lt;tt&amp;gt;v.in.adcirc_grid&amp;lt;/tt&amp;gt;, then pull it into the Albers location with &amp;lt;tt&amp;gt;v.proj&amp;lt;/tt&amp;gt;, then create a column of ''n'' values with '&amp;lt;tt&amp;gt;v.what.rast -i -p&amp;lt;/tt&amp;gt;' that you can then form into a fort.13 file with UNIX command line power tools such as 'cut' and 'paste'.&lt;br /&gt;
&lt;br /&gt;
=== Post processing output data ===&lt;br /&gt;
&lt;br /&gt;
==== Importing the fort.14 mesh grid ====&lt;br /&gt;
&lt;br /&gt;
The {{AddonCmd|v.in.adcirc_grid}} addon module for GRASS 6 will import a 2.5D triangular mesh from the [[ADCIRC]] coastal ocean model into a 3D GRASS vector map.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;v.in.adcirc_grid&amp;lt;/tt&amp;gt; does not yet support loading in node type (boundary, etc.) as point attributes -- database tables can be a bit slow for maps with potentially millions of features. In the mean time here is a little shell script to extract the boundary nodes on the ''first'' open boundary into a separate vector points map:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 infile=fort.14&lt;br /&gt;
 inmap=mesh_grid_pts&lt;br /&gt;
 bdymap=mesh_bdy_pts&lt;br /&gt;
 &lt;br /&gt;
 v.in.adcirc_grid -p in=$infile out=$inmap&lt;br /&gt;
 num_pts=`grep ' = Number of nodes for open boundary' &amp;quot;$infile&amp;quot; | head -n 1 | awk '{print $1}'`&lt;br /&gt;
 cat_list=`grep -A&amp;quot;$num_pts&amp;quot; ' = Number of nodes for open boundary' &amp;quot;$infile&amp;quot; | \&lt;br /&gt;
    tail -n +2 | tr '\n' ',' | sed -e 's/ //g' -e 's/,$//'`&lt;br /&gt;
 v.extract in=$inmap out=$bdymap list=&amp;quot;$cat_list&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Importing elevation or velocity reporting stations ====&lt;br /&gt;
&lt;br /&gt;
With a little awk you can load in the elevation reporting stations for unit 61 with v.in.ascii.&lt;br /&gt;
&lt;br /&gt;
These shell script commands will take the station positions found in a `elev_stat.151` file and create a text file of points which you can import.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
FILE=elev_stat.151&lt;br /&gt;
OUT=`basename &amp;quot;$FILE&amp;quot; .151`.dat&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;# $FILE  `date`&amp;quot; &amp;gt; &amp;quot;$OUT&amp;quot;&lt;br /&gt;
head -n1 &amp;quot;$FILE&amp;quot; | sed -e 's/^/#/' &amp;gt;&amp;gt; &amp;quot;$OUT&amp;quot;&lt;br /&gt;
tail -n+2 &amp;quot;$FILE&amp;quot; | sed -e 's/^ //' -e 's/ /|/' -e 's/[ ]*! /|/' &amp;gt;&amp;gt; &amp;quot;$OUT&amp;quot;&lt;br /&gt;
&lt;br /&gt;
v.in.ascii in=&amp;quot;$OUT&amp;quot; out=adcirc_stations \&lt;br /&gt;
   x=1 y=2 col='lon double, lat double, name varchar(64)'&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Visualizing sub-domains ====&lt;br /&gt;
&lt;br /&gt;
If you wish to have a look at where the sub-domains of a parallel run are, you can use the following Bash script:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
mkdir fort14s&lt;br /&gt;
for DIR in PE00?? ; do&lt;br /&gt;
   cp -a $DIR/fort.14 fort14s/${DIR}.14&lt;br /&gt;
done&lt;br /&gt;
 &lt;br /&gt;
cd fort14s&lt;br /&gt;
for file in *.14 ; do&lt;br /&gt;
   base=`echo &amp;quot;$file&amp;quot; | sed -e 's/PE00//' -e 's/\.14//'`&lt;br /&gt;
   echo -n &amp;quot;[$base]&amp;quot;&lt;br /&gt;
   v.in.adcirc_grid in=&amp;quot;$file&amp;quot; out=&amp;quot;submesh_$base&amp;quot; --quiet&lt;br /&gt;
   v.in.adcirc_grid -p in=&amp;quot;$file&amp;quot; out=&amp;quot;submesh_${base}_pts&amp;quot; --quiet&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here is a loop for displaying 80 sub-meshes, with random dark colors:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
for PE in {00..79} ; do&lt;br /&gt;
  echo -n &amp;quot;[$PE]&amp;quot;&lt;br /&gt;
  R=`expr $RANDOM / 256`&lt;br /&gt;
  G=`expr $RANDOM / 256`&lt;br /&gt;
  B=`expr $RANDOM / 256`&lt;br /&gt;
&lt;br /&gt;
  d.vect &amp;quot;submesh_$PE&amp;quot; color=&amp;quot;$R:$G:$B&amp;quot;&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
d.vect US_medium_shoreline color=black width=2&lt;br /&gt;
&lt;br /&gt;
d.vect station_map color=black fcolor=red size=8 icon=basic/circle&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Importing unit 61, 62, 63, 64 results ====&lt;br /&gt;
&lt;br /&gt;
For this a useful approach is to import lat/lon coordinates of the nodes (as points) with the v.in.adcirc_grid AddOn module for GRASS 6, switch over to your target map projection in another GRASS location, pull in the points vector map from the lat/lon location with v.proj, export them with v.out.ascii only keeping the projected points' x and y coordinate columns, tab separated (node order is preserved through all of this), this only needs to be done once.&lt;br /&gt;
: Next using `ncdump` extract the 'z' or 'u' and 'v' values at each node point, and `paste` those (using the `paste` Unix command line tool) together with the x and y coordinates into a file ready for v.in.ascii or r.in.xyz. Repeat as necessary if the NetCDF output file includes multiple timsteps. All of this can be and should be scripted to save you time.&lt;br /&gt;
&lt;br /&gt;
- addme: bash code + r.in.xyz + {{AddonCmd|r.surf.nnbathy}}&lt;br /&gt;
&lt;br /&gt;
{{AddonCmd|d.barb}} addon module for GRASS 6 for rendering u,v vector arrows&lt;br /&gt;
&lt;br /&gt;
[[Category: Geodata]]&lt;br /&gt;
[[Category: Import]]&lt;/div&gt;</summary>
		<author><name>⚠️HamishBowman</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=CUSP_Coastline&amp;diff=26411</id>
		<title>CUSP Coastline</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=CUSP_Coastline&amp;diff=26411"/>
		<updated>2020-12-01T05:17:50Z</updated>

		<summary type="html">&lt;p&gt;⚠️HamishBowman: /* Lines to area */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== NOAA's CUSP: Continually Updated Shoreline for the USA and its territories ==&lt;br /&gt;
&lt;br /&gt;
* [https://shoreline.noaa.gov/data/datasheets/cusp.html Description]&lt;br /&gt;
: ''&amp;quot;This data set was created to deliver continuous shoreline with frequent updates to support various GIS applications including coastal and marine spatial planning, tsunami and storm surge modeling, hazard delineation and mitigation, environmental studies and may assist in nautical chart updates.&amp;quot;''&lt;br /&gt;
&lt;br /&gt;
=== Retrieving data ===&lt;br /&gt;
&lt;br /&gt;
* Visit NOAA's [https://www.ngs.noaa.gov/CUSP/ CUSP data access site]&lt;br /&gt;
* Zoom into your area of interest&lt;br /&gt;
: (since it's running OpenLayers you can do the nice shift+left-mouse-drag trick to quickly zoom into a box of interest)&lt;br /&gt;
* Along the top of the map is a tool bar, click on &amp;quot;Download&amp;quot; on the right end and then select CUSP&lt;br /&gt;
* You can now either select by rectangle, or by named region if you want a large area&lt;br /&gt;
* Draw a box on the map, it will then ask you if you want a Shapefile or KML&lt;br /&gt;
* Select Shapefile and the .zip data will be prepared for download&lt;br /&gt;
&lt;br /&gt;
=== Import and cleanup ===&lt;br /&gt;
&lt;br /&gt;
You can import the Shapefile or KML into a lat/long location with {{cmd|v.in.ogr}}.&lt;br /&gt;
&lt;br /&gt;
The data comes as many discrete line segments. It may be useful to combine those into individual polylines. Fortunately they all seem to touch so doing that is fairly simple with the {{cmd|v.build.polylines}} module. If in some areas they aren't exactly touching the {{cmd|v.clean}} module's ''snap'' tool can be used with a very small threshold value to fix that.&lt;br /&gt;
&lt;br /&gt;
* {{cmd|d.vect}}'s '-c' flag can be used to color each of the various line segments with a different random color.&lt;br /&gt;
&lt;br /&gt;
==== Combine line segments into continuous islands ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Import the Shapefile. The '-o' flag is used here to ignore NAD83 -&amp;gt; WGS84 datum mismatch&lt;br /&gt;
v.in.ogr dsn=CUSPLine.shp out=CUSP_coastline_extract_raw -o&lt;br /&gt;
&lt;br /&gt;
# if needed:   (wasn't for me)&lt;br /&gt;
# v.clean tool=snap threshold=0.000001&lt;br /&gt;
&lt;br /&gt;
# n.b. there's a bug in GRASS v6.4; use GRASS v7 or apply bugfix of Jan. 5, 2013&lt;br /&gt;
v.build.polylines cats=first type=line --verbose \&lt;br /&gt;
  in=CUSP_coastline_extract_raw out=CUSP_coastline_extract_polyline&lt;br /&gt;
&lt;br /&gt;
# you can keep the table if you like, but note the values are only valid for the first segment&lt;br /&gt;
v.db.droptable -f CUSP_coastline_extract_polyline&lt;br /&gt;
&lt;br /&gt;
# export again as a Shapefile&lt;br /&gt;
v.out.ogr format=ESRI_Shapefile \&lt;br /&gt;
  in=CUSP_coastline_extract_polyline dsn=CUSP_coastline_extract.shp&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Lines to area ===&lt;br /&gt;
&lt;br /&gt;
If you want filled areas not lines you can use the following commands:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# convert lines to boundaries&lt;br /&gt;
v.type from_type=line to_type=boundary&lt;br /&gt;
&lt;br /&gt;
# remove line segment category numbers from boundaries&lt;br /&gt;
v.category option=del&lt;br /&gt;
&lt;br /&gt;
# create areas (adds centroids)&lt;br /&gt;
v.category option=add type=area&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can also use {{cmd|v.centroids}} to add area centroids (thus turning a boundary map into an area map) and {{cmd|v.dissolve}} to remove any inland lakes.&lt;br /&gt;
To use v.dissolve first set &amp;lt;tt&amp;gt;step=0&amp;lt;/tt&amp;gt; in v.centroids or {{cmd|v.category}} so that all areas are the same category number.&lt;br /&gt;
&lt;br /&gt;
Sometimes the coastline is broken, either where the lines end somewhere up a river, or else just a small misalignment somewhere.&lt;br /&gt;
You can use the {{cmd|v.clean}} module with a reasonably small snapping threshold or for regional coastline extracts just edit the boundary vector map by hand with {{cmd|v.digit}} in GRASS 6 or the vector editing tool in GRASS 7 before converting the boundary map to an area map. (Area maps are simply boundary maps with centroids added. The centroids carry the category number, the boundaries should not contain category numbers in most cases.)&lt;br /&gt;
&lt;br /&gt;
=== See also ===&lt;br /&gt;
&lt;br /&gt;
* The {{cmd|v.clean}} module's 'tool=rmsa' to remove small angles (spikes)&lt;br /&gt;
* The [[V.generalize tutorial|v.generalize]] module to simplify the coastline&lt;br /&gt;
* [[Global datasets]]&lt;br /&gt;
&lt;br /&gt;
[[Category: Geodata]]&lt;br /&gt;
[[Category: Import]]&lt;/div&gt;</summary>
		<author><name>⚠️HamishBowman</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=CUSP_Coastline&amp;diff=26410</id>
		<title>CUSP Coastline</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=CUSP_Coastline&amp;diff=26410"/>
		<updated>2020-12-01T05:17:06Z</updated>

		<summary type="html">&lt;p&gt;⚠️HamishBowman: /* Lines to area */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== NOAA's CUSP: Continually Updated Shoreline for the USA and its territories ==&lt;br /&gt;
&lt;br /&gt;
* [https://shoreline.noaa.gov/data/datasheets/cusp.html Description]&lt;br /&gt;
: ''&amp;quot;This data set was created to deliver continuous shoreline with frequent updates to support various GIS applications including coastal and marine spatial planning, tsunami and storm surge modeling, hazard delineation and mitigation, environmental studies and may assist in nautical chart updates.&amp;quot;''&lt;br /&gt;
&lt;br /&gt;
=== Retrieving data ===&lt;br /&gt;
&lt;br /&gt;
* Visit NOAA's [https://www.ngs.noaa.gov/CUSP/ CUSP data access site]&lt;br /&gt;
* Zoom into your area of interest&lt;br /&gt;
: (since it's running OpenLayers you can do the nice shift+left-mouse-drag trick to quickly zoom into a box of interest)&lt;br /&gt;
* Along the top of the map is a tool bar, click on &amp;quot;Download&amp;quot; on the right end and then select CUSP&lt;br /&gt;
* You can now either select by rectangle, or by named region if you want a large area&lt;br /&gt;
* Draw a box on the map, it will then ask you if you want a Shapefile or KML&lt;br /&gt;
* Select Shapefile and the .zip data will be prepared for download&lt;br /&gt;
&lt;br /&gt;
=== Import and cleanup ===&lt;br /&gt;
&lt;br /&gt;
You can import the Shapefile or KML into a lat/long location with {{cmd|v.in.ogr}}.&lt;br /&gt;
&lt;br /&gt;
The data comes as many discrete line segments. It may be useful to combine those into individual polylines. Fortunately they all seem to touch so doing that is fairly simple with the {{cmd|v.build.polylines}} module. If in some areas they aren't exactly touching the {{cmd|v.clean}} module's ''snap'' tool can be used with a very small threshold value to fix that.&lt;br /&gt;
&lt;br /&gt;
* {{cmd|d.vect}}'s '-c' flag can be used to color each of the various line segments with a different random color.&lt;br /&gt;
&lt;br /&gt;
==== Combine line segments into continuous islands ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Import the Shapefile. The '-o' flag is used here to ignore NAD83 -&amp;gt; WGS84 datum mismatch&lt;br /&gt;
v.in.ogr dsn=CUSPLine.shp out=CUSP_coastline_extract_raw -o&lt;br /&gt;
&lt;br /&gt;
# if needed:   (wasn't for me)&lt;br /&gt;
# v.clean tool=snap threshold=0.000001&lt;br /&gt;
&lt;br /&gt;
# n.b. there's a bug in GRASS v6.4; use GRASS v7 or apply bugfix of Jan. 5, 2013&lt;br /&gt;
v.build.polylines cats=first type=line --verbose \&lt;br /&gt;
  in=CUSP_coastline_extract_raw out=CUSP_coastline_extract_polyline&lt;br /&gt;
&lt;br /&gt;
# you can keep the table if you like, but note the values are only valid for the first segment&lt;br /&gt;
v.db.droptable -f CUSP_coastline_extract_polyline&lt;br /&gt;
&lt;br /&gt;
# export again as a Shapefile&lt;br /&gt;
v.out.ogr format=ESRI_Shapefile \&lt;br /&gt;
  in=CUSP_coastline_extract_polyline dsn=CUSP_coastline_extract.shp&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Lines to area ===&lt;br /&gt;
&lt;br /&gt;
If you want filled areas not lines you can use the following commands:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# convert lines to boundaries&lt;br /&gt;
v.type from_type=line to_type=boundary&lt;br /&gt;
&lt;br /&gt;
# remove line segment category numbers from boundaries&lt;br /&gt;
v.category option=del&lt;br /&gt;
&lt;br /&gt;
# create areas (adds centroids)&lt;br /&gt;
v.category option=add type=area&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can also use {{cmd|v.centroids}} to add area centroids (thus turning a boundary map into an area map) and {{cmd|v.dissolve}} to remove any inland lakes.&lt;br /&gt;
To use v.dissolve first set &amp;lt;tt&amp;gt;step=0&amp;lt;/tt&amp;gt; in v.centroids or {{cmd|v.category}} so that all areas are the same category number.&lt;br /&gt;
&lt;br /&gt;
Sometimes the coastline is broken, either where the lines end somewhere up a river, or else just a small misalignment somewhere.&lt;br /&gt;
You can use the {{cmd|v.clean}} module with a reasonably small snapping threshold or for regional coastline extracts just edit the boundary vector map by hand with {{cmd|v.digit}} before converting the boundary map to an area map. (Area maps are simply boundary maps with centroids added. The centroids carry the category number, the boundaries should not contain category numbers in most cases.)&lt;br /&gt;
&lt;br /&gt;
=== See also ===&lt;br /&gt;
&lt;br /&gt;
* The {{cmd|v.clean}} module's 'tool=rmsa' to remove small angles (spikes)&lt;br /&gt;
* The [[V.generalize tutorial|v.generalize]] module to simplify the coastline&lt;br /&gt;
* [[Global datasets]]&lt;br /&gt;
&lt;br /&gt;
[[Category: Geodata]]&lt;br /&gt;
[[Category: Import]]&lt;/div&gt;</summary>
		<author><name>⚠️HamishBowman</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=CUSP_Coastline&amp;diff=26409</id>
		<title>CUSP Coastline</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=CUSP_Coastline&amp;diff=26409"/>
		<updated>2020-12-01T05:12:04Z</updated>

		<summary type="html">&lt;p&gt;⚠️HamishBowman: /* Lines to area */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== NOAA's CUSP: Continually Updated Shoreline for the USA and its territories ==&lt;br /&gt;
&lt;br /&gt;
* [https://shoreline.noaa.gov/data/datasheets/cusp.html Description]&lt;br /&gt;
: ''&amp;quot;This data set was created to deliver continuous shoreline with frequent updates to support various GIS applications including coastal and marine spatial planning, tsunami and storm surge modeling, hazard delineation and mitigation, environmental studies and may assist in nautical chart updates.&amp;quot;''&lt;br /&gt;
&lt;br /&gt;
=== Retrieving data ===&lt;br /&gt;
&lt;br /&gt;
* Visit NOAA's [https://www.ngs.noaa.gov/CUSP/ CUSP data access site]&lt;br /&gt;
* Zoom into your area of interest&lt;br /&gt;
: (since it's running OpenLayers you can do the nice shift+left-mouse-drag trick to quickly zoom into a box of interest)&lt;br /&gt;
* Along the top of the map is a tool bar, click on &amp;quot;Download&amp;quot; on the right end and then select CUSP&lt;br /&gt;
* You can now either select by rectangle, or by named region if you want a large area&lt;br /&gt;
* Draw a box on the map, it will then ask you if you want a Shapefile or KML&lt;br /&gt;
* Select Shapefile and the .zip data will be prepared for download&lt;br /&gt;
&lt;br /&gt;
=== Import and cleanup ===&lt;br /&gt;
&lt;br /&gt;
You can import the Shapefile or KML into a lat/long location with {{cmd|v.in.ogr}}.&lt;br /&gt;
&lt;br /&gt;
The data comes as many discrete line segments. It may be useful to combine those into individual polylines. Fortunately they all seem to touch so doing that is fairly simple with the {{cmd|v.build.polylines}} module. If in some areas they aren't exactly touching the {{cmd|v.clean}} module's ''snap'' tool can be used with a very small threshold value to fix that.&lt;br /&gt;
&lt;br /&gt;
* {{cmd|d.vect}}'s '-c' flag can be used to color each of the various line segments with a different random color.&lt;br /&gt;
&lt;br /&gt;
==== Combine line segments into continuous islands ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Import the Shapefile. The '-o' flag is used here to ignore NAD83 -&amp;gt; WGS84 datum mismatch&lt;br /&gt;
v.in.ogr dsn=CUSPLine.shp out=CUSP_coastline_extract_raw -o&lt;br /&gt;
&lt;br /&gt;
# if needed:   (wasn't for me)&lt;br /&gt;
# v.clean tool=snap threshold=0.000001&lt;br /&gt;
&lt;br /&gt;
# n.b. there's a bug in GRASS v6.4; use GRASS v7 or apply bugfix of Jan. 5, 2013&lt;br /&gt;
v.build.polylines cats=first type=line --verbose \&lt;br /&gt;
  in=CUSP_coastline_extract_raw out=CUSP_coastline_extract_polyline&lt;br /&gt;
&lt;br /&gt;
# you can keep the table if you like, but note the values are only valid for the first segment&lt;br /&gt;
v.db.droptable -f CUSP_coastline_extract_polyline&lt;br /&gt;
&lt;br /&gt;
# export again as a Shapefile&lt;br /&gt;
v.out.ogr format=ESRI_Shapefile \&lt;br /&gt;
  in=CUSP_coastline_extract_polyline dsn=CUSP_coastline_extract.shp&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Lines to area ===&lt;br /&gt;
&lt;br /&gt;
If you want filled areas not lines you can use the following commands:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# convert lines to boundaries&lt;br /&gt;
v.type from_type=line to_type=boundary&lt;br /&gt;
&lt;br /&gt;
# remove line segment category numbers from boundaries&lt;br /&gt;
v.category option=del&lt;br /&gt;
&lt;br /&gt;
# create areas (adds centroids)&lt;br /&gt;
v.category option=add type=area&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can also use {{cmd|v.centroids}} to add area centroids and {{cmd|v.dissolve}} to remove any inland lakes.&lt;br /&gt;
To use v.dissolve first set &amp;lt;tt&amp;gt;step=0&amp;lt;/tt&amp;gt; in v.centroids or {{cmd|v.category}} so that all areas are the same category number.&lt;br /&gt;
&lt;br /&gt;
=== See also ===&lt;br /&gt;
&lt;br /&gt;
* The {{cmd|v.clean}} module's 'tool=rmsa' to remove small angles (spikes)&lt;br /&gt;
* The [[V.generalize tutorial|v.generalize]] module to simplify the coastline&lt;br /&gt;
* [[Global datasets]]&lt;br /&gt;
&lt;br /&gt;
[[Category: Geodata]]&lt;br /&gt;
[[Category: Import]]&lt;/div&gt;</summary>
		<author><name>⚠️HamishBowman</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=CUSP_Coastline&amp;diff=26408</id>
		<title>CUSP Coastline</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=CUSP_Coastline&amp;diff=26408"/>
		<updated>2020-12-01T05:10:54Z</updated>

		<summary type="html">&lt;p&gt;⚠️HamishBowman: /* Lines to area */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== NOAA's CUSP: Continually Updated Shoreline for the USA and its territories ==&lt;br /&gt;
&lt;br /&gt;
* [https://shoreline.noaa.gov/data/datasheets/cusp.html Description]&lt;br /&gt;
: ''&amp;quot;This data set was created to deliver continuous shoreline with frequent updates to support various GIS applications including coastal and marine spatial planning, tsunami and storm surge modeling, hazard delineation and mitigation, environmental studies and may assist in nautical chart updates.&amp;quot;''&lt;br /&gt;
&lt;br /&gt;
=== Retrieving data ===&lt;br /&gt;
&lt;br /&gt;
* Visit NOAA's [https://www.ngs.noaa.gov/CUSP/ CUSP data access site]&lt;br /&gt;
* Zoom into your area of interest&lt;br /&gt;
: (since it's running OpenLayers you can do the nice shift+left-mouse-drag trick to quickly zoom into a box of interest)&lt;br /&gt;
* Along the top of the map is a tool bar, click on &amp;quot;Download&amp;quot; on the right end and then select CUSP&lt;br /&gt;
* You can now either select by rectangle, or by named region if you want a large area&lt;br /&gt;
* Draw a box on the map, it will then ask you if you want a Shapefile or KML&lt;br /&gt;
* Select Shapefile and the .zip data will be prepared for download&lt;br /&gt;
&lt;br /&gt;
=== Import and cleanup ===&lt;br /&gt;
&lt;br /&gt;
You can import the Shapefile or KML into a lat/long location with {{cmd|v.in.ogr}}.&lt;br /&gt;
&lt;br /&gt;
The data comes as many discrete line segments. It may be useful to combine those into individual polylines. Fortunately they all seem to touch so doing that is fairly simple with the {{cmd|v.build.polylines}} module. If in some areas they aren't exactly touching the {{cmd|v.clean}} module's ''snap'' tool can be used with a very small threshold value to fix that.&lt;br /&gt;
&lt;br /&gt;
* {{cmd|d.vect}}'s '-c' flag can be used to color each of the various line segments with a different random color.&lt;br /&gt;
&lt;br /&gt;
==== Combine line segments into continuous islands ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Import the Shapefile. The '-o' flag is used here to ignore NAD83 -&amp;gt; WGS84 datum mismatch&lt;br /&gt;
v.in.ogr dsn=CUSPLine.shp out=CUSP_coastline_extract_raw -o&lt;br /&gt;
&lt;br /&gt;
# if needed:   (wasn't for me)&lt;br /&gt;
# v.clean tool=snap threshold=0.000001&lt;br /&gt;
&lt;br /&gt;
# n.b. there's a bug in GRASS v6.4; use GRASS v7 or apply bugfix of Jan. 5, 2013&lt;br /&gt;
v.build.polylines cats=first type=line --verbose \&lt;br /&gt;
  in=CUSP_coastline_extract_raw out=CUSP_coastline_extract_polyline&lt;br /&gt;
&lt;br /&gt;
# you can keep the table if you like, but note the values are only valid for the first segment&lt;br /&gt;
v.db.droptable -f CUSP_coastline_extract_polyline&lt;br /&gt;
&lt;br /&gt;
# export again as a Shapefile&lt;br /&gt;
v.out.ogr format=ESRI_Shapefile \&lt;br /&gt;
  in=CUSP_coastline_extract_polyline dsn=CUSP_coastline_extract.shp&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Lines to area ===&lt;br /&gt;
&lt;br /&gt;
If you want filled areas not lines you can use the following commands:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# convert lines to boundaries&lt;br /&gt;
v.type from_type=line to_type=boundary&lt;br /&gt;
&lt;br /&gt;
# remove line segment category numbers from boundaries&lt;br /&gt;
v.category option=del&lt;br /&gt;
&lt;br /&gt;
# create areas (adds centroids)&lt;br /&gt;
v.category option=add type=area&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can also use v.centroids to add area centroids and v.dissolve to remove any inland lakes.&lt;br /&gt;
To use v.dissolve first set &amp;lt;tt&amp;gt;step=0&amp;lt;/tt&amp;gt; in v.centroids or v.category so that all areas are the same category number.&lt;br /&gt;
&lt;br /&gt;
=== See also ===&lt;br /&gt;
&lt;br /&gt;
* The {{cmd|v.clean}} module's 'tool=rmsa' to remove small angles (spikes)&lt;br /&gt;
* The [[V.generalize tutorial|v.generalize]] module to simplify the coastline&lt;br /&gt;
* [[Global datasets]]&lt;br /&gt;
&lt;br /&gt;
[[Category: Geodata]]&lt;br /&gt;
[[Category: Import]]&lt;/div&gt;</summary>
		<author><name>⚠️HamishBowman</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=CUSP_Coastline&amp;diff=26407</id>
		<title>CUSP Coastline</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=CUSP_Coastline&amp;diff=26407"/>
		<updated>2020-12-01T04:43:21Z</updated>

		<summary type="html">&lt;p&gt;⚠️HamishBowman: /* Combine line segments into continuous islands */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== NOAA's CUSP: Continually Updated Shoreline for the USA and its territories ==&lt;br /&gt;
&lt;br /&gt;
* [https://shoreline.noaa.gov/data/datasheets/cusp.html Description]&lt;br /&gt;
: ''&amp;quot;This data set was created to deliver continuous shoreline with frequent updates to support various GIS applications including coastal and marine spatial planning, tsunami and storm surge modeling, hazard delineation and mitigation, environmental studies and may assist in nautical chart updates.&amp;quot;''&lt;br /&gt;
&lt;br /&gt;
=== Retrieving data ===&lt;br /&gt;
&lt;br /&gt;
* Visit NOAA's [https://www.ngs.noaa.gov/CUSP/ CUSP data access site]&lt;br /&gt;
* Zoom into your area of interest&lt;br /&gt;
: (since it's running OpenLayers you can do the nice shift+left-mouse-drag trick to quickly zoom into a box of interest)&lt;br /&gt;
* Along the top of the map is a tool bar, click on &amp;quot;Download&amp;quot; on the right end and then select CUSP&lt;br /&gt;
* You can now either select by rectangle, or by named region if you want a large area&lt;br /&gt;
* Draw a box on the map, it will then ask you if you want a Shapefile or KML&lt;br /&gt;
* Select Shapefile and the .zip data will be prepared for download&lt;br /&gt;
&lt;br /&gt;
=== Import and cleanup ===&lt;br /&gt;
&lt;br /&gt;
You can import the Shapefile or KML into a lat/long location with {{cmd|v.in.ogr}}.&lt;br /&gt;
&lt;br /&gt;
The data comes as many discrete line segments. It may be useful to combine those into individual polylines. Fortunately they all seem to touch so doing that is fairly simple with the {{cmd|v.build.polylines}} module. If in some areas they aren't exactly touching the {{cmd|v.clean}} module's ''snap'' tool can be used with a very small threshold value to fix that.&lt;br /&gt;
&lt;br /&gt;
* {{cmd|d.vect}}'s '-c' flag can be used to color each of the various line segments with a different random color.&lt;br /&gt;
&lt;br /&gt;
==== Combine line segments into continuous islands ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Import the Shapefile. The '-o' flag is used here to ignore NAD83 -&amp;gt; WGS84 datum mismatch&lt;br /&gt;
v.in.ogr dsn=CUSPLine.shp out=CUSP_coastline_extract_raw -o&lt;br /&gt;
&lt;br /&gt;
# if needed:   (wasn't for me)&lt;br /&gt;
# v.clean tool=snap threshold=0.000001&lt;br /&gt;
&lt;br /&gt;
# n.b. there's a bug in GRASS v6.4; use GRASS v7 or apply bugfix of Jan. 5, 2013&lt;br /&gt;
v.build.polylines cats=first type=line --verbose \&lt;br /&gt;
  in=CUSP_coastline_extract_raw out=CUSP_coastline_extract_polyline&lt;br /&gt;
&lt;br /&gt;
# you can keep the table if you like, but note the values are only valid for the first segment&lt;br /&gt;
v.db.droptable -f CUSP_coastline_extract_polyline&lt;br /&gt;
&lt;br /&gt;
# export again as a Shapefile&lt;br /&gt;
v.out.ogr format=ESRI_Shapefile \&lt;br /&gt;
  in=CUSP_coastline_extract_polyline dsn=CUSP_coastline_extract.shp&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Lines to area ===&lt;br /&gt;
&lt;br /&gt;
If you want filled areas not lines you can use the following commands:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# convert lines to boundaries&lt;br /&gt;
v.type from_type=line to_type=boundary&lt;br /&gt;
&lt;br /&gt;
# remove line segment category numbers from boundaries&lt;br /&gt;
v.category option=del&lt;br /&gt;
&lt;br /&gt;
# create areas (adds centroids)&lt;br /&gt;
v.category option=add type=area&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== See also ===&lt;br /&gt;
&lt;br /&gt;
* The {{cmd|v.clean}} module's 'tool=rmsa' to remove small angles (spikes)&lt;br /&gt;
* The [[V.generalize tutorial|v.generalize]] module to simplify the coastline&lt;br /&gt;
* [[Global datasets]]&lt;br /&gt;
&lt;br /&gt;
[[Category: Geodata]]&lt;br /&gt;
[[Category: Import]]&lt;/div&gt;</summary>
		<author><name>⚠️HamishBowman</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=Geomorphometry&amp;diff=26395</id>
		<title>Geomorphometry</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=Geomorphometry&amp;diff=26395"/>
		<updated>2020-11-13T04:52:28Z</updated>

		<summary type="html">&lt;p&gt;⚠️HamishBowman: /* Deriving geomorphometric variables */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Geomorphometry in GRASS ==&lt;br /&gt;
&lt;br /&gt;
Geomorphometry is viewed as the science of quantitative analysis of earth surface shape (Pike, 2000).&lt;br /&gt;
&lt;br /&gt;
An usual workflow in Geomorphometry is broken in three main sections: input, analysis and output (Hengl and Evans, 2009). Input operations refer to the import of altitude data or DEMs, or to DEM generation. Analysis operations refer to the preprocessing of DEMs for extraction of geomorphometric variables and geomorphometric objects. Output operations refer to the use of geomorphometric data for various applications.&lt;br /&gt;
&lt;br /&gt;
=== Import of DEMs ===&lt;br /&gt;
&lt;br /&gt;
* Grid-based DEMs in various formats can be imported using the {{cmd|r.in.gdal}} command.&lt;br /&gt;
&lt;br /&gt;
=== Import of elevation data ===&lt;br /&gt;
&lt;br /&gt;
* Elevation data represented by digitized contours or measured points can be imported using the {{cmd|v.in.ogr}} command that supports numerous vector formats &lt;br /&gt;
* Data given as an ASCII list of (x, y, z) coordinates can be imported with {{cmd|v.in.ascii}}&lt;br /&gt;
* Very dense ASCII point data (e.g. from LiDAR), can be directly converted to raster using {{cmd|r.in.xyz}} by performing a binning procedure based on different statistical measures (min, max, mean, range, etc.).&lt;br /&gt;
&lt;br /&gt;
=== Generation of DEMs ===&lt;br /&gt;
&lt;br /&gt;
* Elevation data used in DEM generation represent an sampling of elevations from a certain surface. This discrete data need to be transformed into a continuous representation by using interpolators.&lt;br /&gt;
* Interpolation of DEMs from elevation data functions can be called from Raster / Interpolate Surfaces&lt;br /&gt;
&lt;br /&gt;
=== Preprocessing of DEMs ===&lt;br /&gt;
&lt;br /&gt;
* DEMs generated from elevation data often contains errors or have a model of representation which is not suitable for a certain applications, so some operation are needed for obtaining a valid DEM.&lt;br /&gt;
&lt;br /&gt;
=== Deriving geomorphometric variables ===&lt;br /&gt;
&lt;br /&gt;
* {{cmd|r.param.scale}}: Use the param=feature option&lt;br /&gt;
* {{cmd|r.watershed}}: Determines watersheds&lt;br /&gt;
* {{cmd|r.basin.fill}}: Generates watershed subbasins raster map&lt;br /&gt;
* {{cmd|r.flow}}: Computes flow-lines, flow-path lengths, and flow-accumulation (contributing areas)&lt;br /&gt;
&lt;br /&gt;
* '''{{AddonCmd|r.geomorphon}}''' addon module: Calculates geomorphons (terrain forms) and associated geometry using machine vision approach&lt;br /&gt;
* {{AddonCmd|r.basin}} addon module: morphometric characterization of river basins&lt;br /&gt;
* {{AddonCmd|r.valley.bottom}} addon module: Calculation of Multi-resolution Valley Bottom Flatness (MrVBF) index&lt;br /&gt;
&lt;br /&gt;
=== Deriving objects variables ===&lt;br /&gt;
&lt;br /&gt;
=== Useful commands ===&lt;br /&gt;
* {{cmd|d.polar}}&lt;br /&gt;
* {{cmd|r.drain}}&lt;br /&gt;
* {{cmd|r.flow}}&lt;br /&gt;
* {{cmd|r.mapcalc}}&lt;br /&gt;
* {{cmd|r.slope.aspect}}&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
* Grohmann, C.H., 2004. Morphometric analysis in geographic information systems: applications of free software GRASS and R. Computers &amp;amp; Geosciences, 30(9-10), pp.1055-1067. http://dx.doi.org/10.1016/j.cageo.2004.08.002&lt;br /&gt;
* Grohmann, C.H., 2005. Trend-surfaces analysis of morphometric parameters: A case study in southeastern Brazil Computers &amp;amp; Geosciences, 31, 1005-1014. http://dx.doi.org/10.1016/j.cageo.2005.02.011&lt;br /&gt;
* Grohmann, C. H.; Riccomini, C. &amp;amp; Alves, F. M. , 2007. SRTM-based morphotectonic analysis of the Pocos de Caldas Alkaline Massif, southeastern Brazil Computers &amp;amp; Geosciences, 33, 10-19. http://dx.doi.org/10.1016/j.cageo.2006.05.002&lt;br /&gt;
* Grohmann, C. H. &amp;amp; Riccomini, C., 2009. Comparison of roving-window and search-window techniques for characterising landscape morphometry Computers &amp;amp; Geosciences, 35, 2164-2169. http://dx.doi.org/10.1016/j.cageo.2008.12.014&lt;br /&gt;
* Grohmann, C. H.; Smith, M. J. &amp;amp; Riccomini, C., 2010. Multiscale Analysis of Topographic Surface Roughness in the Midland Valley, Scotland Geoscience and Remote Sensing, IEEE Transactions on, 49, 1200-1213. http://dx.doi.org/10.1109/TGRS.2010.2053546&lt;br /&gt;
* Grohmann, C. H.; Riccomini, C. &amp;amp; Chamani, M. A. C., 2011. Regional scale analysis of landform configuration with base-level (isobase) maps Hydrology and Earth System Sciences, 15, 1493-1504. http://dx.doi.org/10.5194/hess-15-1493-2011&lt;br /&gt;
* Hengl, T. &amp;amp; Reuter, H.I., 2009. Geomorphometry: concepts, software, applications, Amsterdam; Oxford: Elsevier. http://geomorphometry.org/book&lt;br /&gt;
* Hofierka, J., Mitasova, H. &amp;amp; Neteler, M., 2009. Geomorphometry in GRASS GIS. In Developments in Soil Science.  Elsevier, pp. 387-410. Available at: http://dx.doi.org/10.1016/S0166-2481(08)00017-2.&lt;br /&gt;
* Le Coz, M. et al., 2009. Assessment of Digital Elevation Model (DEM) aggregation methods for hydrological modeling: Lake Chad basin, Africa. Computers &amp;amp; Geosciences, 35(8), pp.1661-1670.&lt;br /&gt;
* Pike, Richard J., 2000.Geomorphometry - diversity in quantitative surface analysis, Progress in Physical Geography, 1-20.&lt;br /&gt;
&lt;br /&gt;
[[Category: Applications]]&lt;/div&gt;</summary>
		<author><name>⚠️HamishBowman</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=Geomorphometry&amp;diff=26394</id>
		<title>Geomorphometry</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=Geomorphometry&amp;diff=26394"/>
		<updated>2020-11-13T04:48:43Z</updated>

		<summary type="html">&lt;p&gt;⚠️HamishBowman: /* Deriving geomorphometric variables */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Geomorphometry in GRASS ==&lt;br /&gt;
&lt;br /&gt;
Geomorphometry is viewed as the science of quantitative analysis of earth surface shape (Pike, 2000).&lt;br /&gt;
&lt;br /&gt;
An usual workflow in Geomorphometry is broken in three main sections: input, analysis and output (Hengl and Evans, 2009). Input operations refer to the import of altitude data or DEMs, or to DEM generation. Analysis operations refer to the preprocessing of DEMs for extraction of geomorphometric variables and geomorphometric objects. Output operations refer to the use of geomorphometric data for various applications.&lt;br /&gt;
&lt;br /&gt;
=== Import of DEMs ===&lt;br /&gt;
&lt;br /&gt;
* Grid-based DEMs in various formats can be imported using the {{cmd|r.in.gdal}} command.&lt;br /&gt;
&lt;br /&gt;
=== Import of elevation data ===&lt;br /&gt;
&lt;br /&gt;
* Elevation data represented by digitized contours or measured points can be imported using the {{cmd|v.in.ogr}} command that supports numerous vector formats &lt;br /&gt;
* Data given as an ASCII list of (x, y, z) coordinates can be imported with {{cmd|v.in.ascii}}&lt;br /&gt;
* Very dense ASCII point data (e.g. from LiDAR), can be directly converted to raster using {{cmd|r.in.xyz}} by performing a binning procedure based on different statistical measures (min, max, mean, range, etc.).&lt;br /&gt;
&lt;br /&gt;
=== Generation of DEMs ===&lt;br /&gt;
&lt;br /&gt;
* Elevation data used in DEM generation represent an sampling of elevations from a certain surface. This discrete data need to be transformed into a continuous representation by using interpolators.&lt;br /&gt;
* Interpolation of DEMs from elevation data functions can be called from Raster / Interpolate Surfaces&lt;br /&gt;
&lt;br /&gt;
=== Preprocessing of DEMs ===&lt;br /&gt;
&lt;br /&gt;
* DEMs generated from elevation data often contains errors or have a model of representation which is not suitable for a certain applications, so some operation are needed for obtaining a valid DEM.&lt;br /&gt;
&lt;br /&gt;
=== Deriving geomorphometric variables ===&lt;br /&gt;
&lt;br /&gt;
* {{cmd|r.param.scale}}: Use the param=feature option&lt;br /&gt;
* ''r.geomorphon'' addon module: Calculates geomorphons (terrain forms) and associated geometry using machine vision approach&lt;br /&gt;
* {{cmd|r.watershed}}: Determines watersheds&lt;br /&gt;
* ''r.basin'' addon module: morphometric characterization of river basins&lt;br /&gt;
* {{cmd|r.basin.fill}}: Generates watershed subbasins raster map&lt;br /&gt;
* ''r.valley.bottom'' addon module: Calculation of Multi-resolution Valley Bottom Flatness (MrVBF) index&lt;br /&gt;
* {{cmd|r.flow}}: Computes flow-lines, flow-path lengths, and flow-accumulation (contributing areas)&lt;br /&gt;
&lt;br /&gt;
=== Deriving objects variables ===&lt;br /&gt;
&lt;br /&gt;
=== Useful commands ===&lt;br /&gt;
* {{cmd|d.polar}}&lt;br /&gt;
* {{cmd|r.drain}}&lt;br /&gt;
* {{cmd|r.flow}}&lt;br /&gt;
* {{cmd|r.mapcalc}}&lt;br /&gt;
* {{cmd|r.slope.aspect}}&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
* Grohmann, C.H., 2004. Morphometric analysis in geographic information systems: applications of free software GRASS and R. Computers &amp;amp; Geosciences, 30(9-10), pp.1055-1067. http://dx.doi.org/10.1016/j.cageo.2004.08.002&lt;br /&gt;
* Grohmann, C.H., 2005. Trend-surfaces analysis of morphometric parameters: A case study in southeastern Brazil Computers &amp;amp; Geosciences, 31, 1005-1014. http://dx.doi.org/10.1016/j.cageo.2005.02.011&lt;br /&gt;
* Grohmann, C. H.; Riccomini, C. &amp;amp; Alves, F. M. , 2007. SRTM-based morphotectonic analysis of the Pocos de Caldas Alkaline Massif, southeastern Brazil Computers &amp;amp; Geosciences, 33, 10-19. http://dx.doi.org/10.1016/j.cageo.2006.05.002&lt;br /&gt;
* Grohmann, C. H. &amp;amp; Riccomini, C., 2009. Comparison of roving-window and search-window techniques for characterising landscape morphometry Computers &amp;amp; Geosciences, 35, 2164-2169. http://dx.doi.org/10.1016/j.cageo.2008.12.014&lt;br /&gt;
* Grohmann, C. H.; Smith, M. J. &amp;amp; Riccomini, C., 2010. Multiscale Analysis of Topographic Surface Roughness in the Midland Valley, Scotland Geoscience and Remote Sensing, IEEE Transactions on, 49, 1200-1213. http://dx.doi.org/10.1109/TGRS.2010.2053546&lt;br /&gt;
* Grohmann, C. H.; Riccomini, C. &amp;amp; Chamani, M. A. C., 2011. Regional scale analysis of landform configuration with base-level (isobase) maps Hydrology and Earth System Sciences, 15, 1493-1504. http://dx.doi.org/10.5194/hess-15-1493-2011&lt;br /&gt;
* Hengl, T. &amp;amp; Reuter, H.I., 2009. Geomorphometry: concepts, software, applications, Amsterdam; Oxford: Elsevier. http://geomorphometry.org/book&lt;br /&gt;
* Hofierka, J., Mitasova, H. &amp;amp; Neteler, M., 2009. Geomorphometry in GRASS GIS. In Developments in Soil Science.  Elsevier, pp. 387-410. Available at: http://dx.doi.org/10.1016/S0166-2481(08)00017-2.&lt;br /&gt;
* Le Coz, M. et al., 2009. Assessment of Digital Elevation Model (DEM) aggregation methods for hydrological modeling: Lake Chad basin, Africa. Computers &amp;amp; Geosciences, 35(8), pp.1661-1670.&lt;br /&gt;
* Pike, Richard J., 2000.Geomorphometry - diversity in quantitative surface analysis, Progress in Physical Geography, 1-20.&lt;br /&gt;
&lt;br /&gt;
[[Category: Applications]]&lt;/div&gt;</summary>
		<author><name>⚠️HamishBowman</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=Geomorphometry&amp;diff=26393</id>
		<title>Geomorphometry</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=Geomorphometry&amp;diff=26393"/>
		<updated>2020-11-13T04:47:45Z</updated>

		<summary type="html">&lt;p&gt;⚠️HamishBowman: /* Deriving geomorphometric variables */ +&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Geomorphometry in GRASS ==&lt;br /&gt;
&lt;br /&gt;
Geomorphometry is viewed as the science of quantitative analysis of earth surface shape (Pike, 2000).&lt;br /&gt;
&lt;br /&gt;
An usual workflow in Geomorphometry is broken in three main sections: input, analysis and output (Hengl and Evans, 2009). Input operations refer to the import of altitude data or DEMs, or to DEM generation. Analysis operations refer to the preprocessing of DEMs for extraction of geomorphometric variables and geomorphometric objects. Output operations refer to the use of geomorphometric data for various applications.&lt;br /&gt;
&lt;br /&gt;
=== Import of DEMs ===&lt;br /&gt;
&lt;br /&gt;
* Grid-based DEMs in various formats can be imported using the {{cmd|r.in.gdal}} command.&lt;br /&gt;
&lt;br /&gt;
=== Import of elevation data ===&lt;br /&gt;
&lt;br /&gt;
* Elevation data represented by digitized contours or measured points can be imported using the {{cmd|v.in.ogr}} command that supports numerous vector formats &lt;br /&gt;
* Data given as an ASCII list of (x, y, z) coordinates can be imported with {{cmd|v.in.ascii}}&lt;br /&gt;
* Very dense ASCII point data (e.g. from LiDAR), can be directly converted to raster using {{cmd|r.in.xyz}} by performing a binning procedure based on different statistical measures (min, max, mean, range, etc.).&lt;br /&gt;
&lt;br /&gt;
=== Generation of DEMs ===&lt;br /&gt;
&lt;br /&gt;
* Elevation data used in DEM generation represent an sampling of elevations from a certain surface. This discrete data need to be transformed into a continuous representation by using interpolators.&lt;br /&gt;
* Interpolation of DEMs from elevation data functions can be called from Raster / Interpolate Surfaces&lt;br /&gt;
&lt;br /&gt;
=== Preprocessing of DEMs ===&lt;br /&gt;
&lt;br /&gt;
* DEMs generated from elevation data often contains errors or have a model of representation which is not suitable for a certain applications, so some operation are needed for obtaining a valid DEM.&lt;br /&gt;
&lt;br /&gt;
=== Deriving geomorphometric variables ===&lt;br /&gt;
&lt;br /&gt;
* {{cmd|r.param.scale}}: Use the param=feature option&lt;br /&gt;
* ''r.geomorphon'' addon module: Calculates geomorphons (terrain forms) and associated geometry using machine vision approach&lt;br /&gt;
* {{cmd|r.watershed}}: Determines watersheds&lt;br /&gt;
* ''r.basin'' addon module: morphometric characterization of river basins&lt;br /&gt;
* {{cmd|r.basin.fill}}: Generates watershed subbasins raster map&lt;br /&gt;
* ''r.valley.bottom'' addon module: Calculation of Multi-resolution Valley Bottom Flatness (MrVBF) index&lt;br /&gt;
&lt;br /&gt;
=== Deriving objects variables ===&lt;br /&gt;
&lt;br /&gt;
=== Useful commands ===&lt;br /&gt;
* {{cmd|d.polar}}&lt;br /&gt;
* {{cmd|r.drain}}&lt;br /&gt;
* {{cmd|r.flow}}&lt;br /&gt;
* {{cmd|r.mapcalc}}&lt;br /&gt;
* {{cmd|r.slope.aspect}}&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
* Grohmann, C.H., 2004. Morphometric analysis in geographic information systems: applications of free software GRASS and R. Computers &amp;amp; Geosciences, 30(9-10), pp.1055-1067. http://dx.doi.org/10.1016/j.cageo.2004.08.002&lt;br /&gt;
* Grohmann, C.H., 2005. Trend-surfaces analysis of morphometric parameters: A case study in southeastern Brazil Computers &amp;amp; Geosciences, 31, 1005-1014. http://dx.doi.org/10.1016/j.cageo.2005.02.011&lt;br /&gt;
* Grohmann, C. H.; Riccomini, C. &amp;amp; Alves, F. M. , 2007. SRTM-based morphotectonic analysis of the Pocos de Caldas Alkaline Massif, southeastern Brazil Computers &amp;amp; Geosciences, 33, 10-19. http://dx.doi.org/10.1016/j.cageo.2006.05.002&lt;br /&gt;
* Grohmann, C. H. &amp;amp; Riccomini, C., 2009. Comparison of roving-window and search-window techniques for characterising landscape morphometry Computers &amp;amp; Geosciences, 35, 2164-2169. http://dx.doi.org/10.1016/j.cageo.2008.12.014&lt;br /&gt;
* Grohmann, C. H.; Smith, M. J. &amp;amp; Riccomini, C., 2010. Multiscale Analysis of Topographic Surface Roughness in the Midland Valley, Scotland Geoscience and Remote Sensing, IEEE Transactions on, 49, 1200-1213. http://dx.doi.org/10.1109/TGRS.2010.2053546&lt;br /&gt;
* Grohmann, C. H.; Riccomini, C. &amp;amp; Chamani, M. A. C., 2011. Regional scale analysis of landform configuration with base-level (isobase) maps Hydrology and Earth System Sciences, 15, 1493-1504. http://dx.doi.org/10.5194/hess-15-1493-2011&lt;br /&gt;
* Hengl, T. &amp;amp; Reuter, H.I., 2009. Geomorphometry: concepts, software, applications, Amsterdam; Oxford: Elsevier. http://geomorphometry.org/book&lt;br /&gt;
* Hofierka, J., Mitasova, H. &amp;amp; Neteler, M., 2009. Geomorphometry in GRASS GIS. In Developments in Soil Science.  Elsevier, pp. 387-410. Available at: http://dx.doi.org/10.1016/S0166-2481(08)00017-2.&lt;br /&gt;
* Le Coz, M. et al., 2009. Assessment of Digital Elevation Model (DEM) aggregation methods for hydrological modeling: Lake Chad basin, Africa. Computers &amp;amp; Geosciences, 35(8), pp.1661-1670.&lt;br /&gt;
* Pike, Richard J., 2000.Geomorphometry - diversity in quantitative surface analysis, Progress in Physical Geography, 1-20.&lt;br /&gt;
&lt;br /&gt;
[[Category: Applications]]&lt;/div&gt;</summary>
		<author><name>⚠️HamishBowman</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=Toolboxes&amp;diff=26392</id>
		<title>Toolboxes</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=Toolboxes&amp;diff=26392"/>
		<updated>2020-11-13T04:43:54Z</updated>

		<summary type="html">&lt;p&gt;⚠️HamishBowman: /* List of toolboxes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''Note that this page is outdated since recently (Apr 2013) new toolboxes for GRASS wxGUI were introduced. See [http://trac.osgeo.org/grass/wiki/wxGUIDevelopment/Toolboxes Trac wiki] for development issues.''&lt;br /&gt;
&lt;br /&gt;
''The old content of this page was moved to the [http://trac.osgeo.org/grass/wiki/Toolboxes Trac wiki]. The only things which remains here are the tables which are almost empty, not completed or copied to trac anyway. The only useful tables are those about toolboxes in addons.''&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=== List of toolboxes ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|'''Toolbox name''' || '''Toolbox code''' || '''Description'''||'''Correlate toolbox'''&lt;br /&gt;
|-&lt;br /&gt;
| ''3D Raster''&lt;br /&gt;
| R3&lt;br /&gt;
| All `r3.*` modules&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| ''3D Visualization''&lt;br /&gt;
| V3&lt;br /&gt;
| {{cmd|nviz_cmd|version=70}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| ''Atmospheric tools''&lt;br /&gt;
| AT&lt;br /&gt;
| Subset of image processing tool&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| ''Cartography''&lt;br /&gt;
| CA&lt;br /&gt;
| {{cmd|ps.map|version=70}}, {{AddonCmd|ps.output}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| ''Database''&lt;br /&gt;
| DB&lt;br /&gt;
| All `db.*` modules&lt;br /&gt;
| ''Vector analysis''&lt;br /&gt;
|-&lt;br /&gt;
| ''Geostatistcal''&lt;br /&gt;
| GS&lt;br /&gt;
| {{cmd|v.krige|version=70}} maybe other&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| ''GUI''&lt;br /&gt;
| GI&lt;br /&gt;
| [[wxGUI]]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| ''Hydrology''&lt;br /&gt;
| HY&lt;br /&gt;
| {{cmd|r.watershed|version=70}}, {{cmd|r.terraflow|version=70}}, `r.stream.*` modules in addons, maybe other, r.flow, r.sim.water, r.sim.sediment&lt;br /&gt;
| ''Raster analysis''&lt;br /&gt;
|-&lt;br /&gt;
| ''Image Processing''&lt;br /&gt;
| IM&lt;br /&gt;
| All `i.*` modules, selected r.* modules&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| ''Interoperability tools''&lt;br /&gt;
| IO&lt;br /&gt;
| All the various import/export modules except for GDAL/OGR&lt;br /&gt;
| ''Raster analysis'', ''Vector analysis'', ''Image Processing'', ''Database''&lt;br /&gt;
|-&lt;br /&gt;
| ''Landscape analysis''&lt;br /&gt;
| LA&lt;br /&gt;
| All `r.li.*` modules, maybe other&lt;br /&gt;
| ''Raster analysis''&lt;br /&gt;
|-&lt;br /&gt;
| ''Lidar analysis''&lt;br /&gt;
| LI&lt;br /&gt;
| All `v.lidar.*` modules, {{cmd|v.surf.bspline|version=70}}, r.in.xyz&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| ''Linear Reference Systems''&lt;br /&gt;
| LS&lt;br /&gt;
| All `v.lrs.*` modules&lt;br /&gt;
| ''Vector analysis''&lt;br /&gt;
|-&lt;br /&gt;
| ''Network analysis''&lt;br /&gt;
| NA&lt;br /&gt;
| All `v.net.*` modules, maybe other&lt;br /&gt;
| ''Vector analysis''&lt;br /&gt;
|-&lt;br /&gt;
| ''Raster analysis''&lt;br /&gt;
| RA&lt;br /&gt;
| A lot of basic `r.*` modules (like {{cmd|r.buffer,|version=70}} {{cmd|r.reclass|version=70}}, {{cmd|r.fillnull|version=70}}...)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| ''Terrain analysis''&lt;br /&gt;
| TA&lt;br /&gt;
| Different kind of analysis: soil ({{cmd|r.sun|version=70}}), terrain ({{cmd|r.slope.aspect|version=70}}, {{cmd|r.los|version=70}}), geomorphometry ({{cmd|r.param.scale|version=70}})&lt;br /&gt;
| ''Raster analysis''&lt;br /&gt;
|-&lt;br /&gt;
| ''Vector analysis''&lt;br /&gt;
| VA&lt;br /&gt;
| A lot of basic `v.*` modules (like {{cmd|v.buffer|version=70}}, {{cmd|v.centroid|version=70}}, {{cmd|v.overlay|version=70}}...)&lt;br /&gt;
| ''Database''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== List of modules (trunk) ==&lt;br /&gt;
&lt;br /&gt;
=== Display ===&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|'''Module''' || '''Core/Tools/Addons''' || '''Toolbox(es)'''&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|d.barscale|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|d.colorlist|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|d.colortable|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|d.correlate|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|d.erase|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|d.font|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|d.fontlist|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|d.geodesic|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|d.graph|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|d.grid|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|d.his|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|d.histogram|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|d.info|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|d.labels|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|d.legend|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|d.linegraph|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|d.nviz|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|d.path|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|d.polar|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|d.profile|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|d.rast|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|d.rast.arrow|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|d.rast.edit|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|d.rast.leg|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|d.rast.num|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|d.rgb|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|d.rhumbline|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|d.shadedmap|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|d.text|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|d.thematic.area|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|d.title|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|d.vect|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|d.vect.chart|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|d.vect.thematic|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|d.where|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Database ===&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|'''Module''' || '''Core/Tools/Addons''' || '''Toolbox(es)'''&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|db.columns|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|db.connect|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|db.copy|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|db.createdb|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|db.databases|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|db.describe|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|db.drivers|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|db.dropcolumn|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|db.dropdb|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|db.droptable|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|db.droptable|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|db.execute|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|db.in.ogr|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|db.login|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|db.out.ogr|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|db.select|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|db.tables|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|db.test|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== General ===&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|'''Module''' || '''Core/Tools/Addons''' || '''Toolbox(es)'''&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|g.access|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|g.cairocomp|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|g.copy|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|g.dirseps|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|g.extension|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|g.filename|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|g.findetc|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|g.findfile|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|g.gisenv|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|g.gui|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|g.list|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|g.manual|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|g.mapset|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|g.mapsets|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|g.message|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|g.mkfontcap|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|g.mlist|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|g.mremove|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|g.parser|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|g.pnmcomp|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|g.ppmtopng|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|g.proj|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|g.region|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|g.remove|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|g.rename|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|g.tempfile|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|g.transform|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|g.version|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Imagery ===&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|'''Module''' || '''Core/Tools/Addons''' || '''Toolbox(es)'''&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|i.albedo|version=70}} || T || IM&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|i.atcorr|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|i.biomass|version=70}} || T || IM&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|i.cca|version=70}} || T || IM&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|i.colors.enhance|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|i.cluster|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|i.eb.eta|version=70}} || T || IM&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|i.eb.evapfr|version=70}} || T || IM&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|i.eb.hsebal01|version=70}} || T || IM&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|i.eb.soilheatflux|version=70}} || T || IM&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|i.emissivity|version=70}} || T || IM&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|i.evapo.time|version=70}} || T || IM&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|i.fft|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|i.fusion.brovey|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|i.gensig|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|i.gensigset|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|i.group|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|i.his.rgb|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|i.ifft|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|i.image.mosaic|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|i.in.spotvgt|version=70}} || T || IO&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|i.latlong|version=70}} || T || IM&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|i.maxlik|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|i.modis.qc|version=70}} || T || IM&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|i.oif|version=70}} || T || IM&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|i.pca|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|i.rectify|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|i.rgb.his|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|i.smap|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|i.spectral|version=70}} || T || IM&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|i.sunhours|version=70}} || T || IM&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|i.target|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|i.tasscap|version=70}} || T || IM&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|i.vi|version=70}} || T || IM&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|i.zc|version=70}} || T || IM&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Misc ===&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|'''Module''' || '''Core/Tools/Addons''' || '''Toolbox(es)'''&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|m.cogo|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|m.measure|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|m.proj|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Postscript ===&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|'''Module''' || '''Core/Tools/Addons''' || '''Toolbox(es)'''&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|ps.map|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Raster ===&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|'''Module''' || '''Core/Tools/Addons''' || '''Toolbox(es)'''&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.basins.fill|version=70}} || T ||TA&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.bitpattern|version=70}} || T || IM&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.blend|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.buffer|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.buffer2|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.carve|version=70}} || T || TA&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.category|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.circle|version=70}} || T || RA&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.clump|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.coin|version=70}} || T || RA&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.colors|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.colors.out|version=70}} || T || RA&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.colors.stddev|version=70}} || T || RA&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.composite|version=70}} || T || IM&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.compress|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.contour|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.cost|version=70}} || T || RA&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.covar|version=70}} || T || RA&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.cross|version=70}} || T || RA&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.describe|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.distance|version=70}} || T || RA&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.drain|version=70}} || T || RA&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.external|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.external.out|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.fill.dir|version=70}} || T || HY&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.fillnulls|version=70}} || T || RA&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.flow|version=70}} || T || HY&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.grow|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.grow.distance|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.gwflow|version=70}} || T || HY&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.his|version=70}} || T || IM&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.horizon|version=70}} || T || TA&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.in.arc|version=70}} || T || IO&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.in.ascii|version=70}} || T || IO&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.in.aster|version=70}} || T || IO&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.in.bin|version=70}} || T || IO&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.in.gdal|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.in.gridatb|version=70}} || T || IO&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.in.mat|version=70}} || T || IO&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.in.png|version=70}} || T || IO&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.in.poly|version=70}} || T || IO&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.in.srtm|version=70}} || T || IO&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.in.wms|version=70}} || T || IO&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.in.xyz|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.info|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.kappa|version=70}} || T || RA&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.lake|version=70}} || T ||HY&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.li.cwed|version=70}} || T || LA&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.li.dominance|version=70}} || T || LA&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.li.edgedensity|version=70}} || T || LA&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.li.mpa|version=70}} || T || LA&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.li.mps|version=70}} || T || LA&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.li.padcv|version=70}} || T || LA&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.li.padrange|version=70}} || T || LA&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.li.padsd|version=70}} || T || LA&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.li.patchdensity|version=70}} || T || LA&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.li.patchnum|version=70}} || T || LA&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.li.richness|version=70}} || T || LA&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.li.shannon|version=70}} || T || LA&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.li.shape|version=70}} || T || LA&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.li.simpson|version=70}} || T || LA&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.los|version=70}} || T||TA&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.mapcalc|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.mask|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.mfilter|version=70}} || T || RA&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.mode|version=70}} || T || RA&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.neighbors|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.null|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.out.arc|version=70}} || T || IO&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.out.ascii|version=70}} || T || IO&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.out.bin|version=70}} || T || IO&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.out.gdal|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.out.gridatb|version=70}} || T || IO&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.out.mat|version=70}} || T || IO&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.out.mpeg|version=70}} || T || IO&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.out.png|version=70}} || T || IO&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.out.pov|version=70}} || T || IO&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.out.ppm|version=70}} || T || IO&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.out.ppm3|version=70}} || T || IO&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.out.tiff|version=70}} || T || IO&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.out.vrml|version=70}} || T || IO&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.out.vtk|version=70}} || T || IO&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.out.xyz|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.param.scale|version=70}} || T ||TA&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.patch|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.plane|version=70}} || T || RA&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.profile|version=70}} || T || TA&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.proj|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.quant|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.quantile|version=70}} || T || RA&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.random|version=70}} || T || RA&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.random.cells|version=70}} || T || RA&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.random.surface|version=70}} || T || RA&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.reclass|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.reclass.area|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.recode|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.region|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.regression.line|version=70}} || T || RA&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.report|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.resamp.bspline|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.resamp.filter|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.resamp.interp|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.resamp.rst|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.resamp.stats|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.resample|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.rescale|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.rescale.eq|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.ros|version=70}} || T || RA&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.series|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.shaded.relief|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.sim.sediment|version=70}} || T || HY&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.sim.water|version=70}} || T || HY&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.slope.aspect|version=70}} || T || TA&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.solute.transport|version=70}} || T || HY&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.spread|version=70}} || T || RA&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.spreadpath|version=70}} || T || RA&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.statistics|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.statistics2|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.statistics3|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.stats|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.sun|version=70}} || T ||TA&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.sunmask|version=70}} || T || TA&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.support|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.support.stats|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.surf.area|version=70}} || T || TA&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.surf.contour|version=70}} || T || TA&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.surf.fractal|version=70}} || T || TA&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.surf.gauss|version=70}} || T || RA&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.surf.idw|version=70}} || T || RA&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.surf.idw2|version=70}} || T || RA&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.surf.random|version=70}} || T || RA&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.terraflow|version=70}} || T ||HY&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.texture|version=70}} || T || RA&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.thin|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.tileset|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.timestamp|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.to.rast3|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.to.rast3elev|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.to.vect|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.topidx|version=70}} || T ||HY&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.topmodel|version=70}} || T ||HY&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.transect|version=70}} || T || RA&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.univar|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.uslek|version=70}} || T ||HY&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.usler|version=70}} || T ||HY&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.volume|version=70}} || T || RA&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.walk|version=70}} || T || TA&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.water.outlet|version=70}} || T|| HY&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.watershed|version=70}} || T || HY&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.what|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.what.color|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 3D raster (voxel) ===&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|'''Module''' || '''Core/Tools/Addons''' || '''Toolbox(es)'''&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r3.cross.rast|version=70}} || T || 3D Raster&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r3.gwflow|version=70}} || T || 3D Raster&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r3.in.ascii|version=70}} || T || 3D Raster&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r3.in.v5d|version=70}} || T || 3D Raster&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r3.info|version=70}} || T || 3D Raster&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r3.mapcalc|version=70}} || T || 3D Raster&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r3.mask|version=70}} || T || 3D Raster&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r3.mkdspf|version=70}} || T || 3D Raster&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r3.null|version=70}} || T || 3D Raster&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r3.out.ascii|version=70}} || T || 3D Raster&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r3.out.v5d|version=70}} || T || 3D Raster&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r3.out.vtk|version=70}} || T || 3D Raster&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r3.stats|version=70}} || T || 3D Raster&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r3.timestamp|version=70}} || T || 3D Raster&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r3.to.rast|version=70}} || T || 3D Raster&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r3.univar|version=70}} || T || 3D Raster&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Vector ===&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|'''Module''' || '''Core/Tools/Addons''' || '''Toolbox(es)'''&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.autokrige|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.buffer|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.build|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.build.all|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.build.polylines|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.category|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.centroids|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.class|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.clean|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.colors|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.convert|version=70}} || T || IO&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.convert.all|version=70}} || T || IO&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.db.addcolumn|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.db.addtable|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.db.connect|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.db.dropcolumn|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.db.droprow|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.db.droptable|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.db.join|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.db.reconnect.all|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.db.renamecolumn|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.db.select|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.db.univar|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.db.update|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.delaunay|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.dissolve|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.distance|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.drape|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.edit|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.external|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.extract|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.extrude|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.generalize|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.hull|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.in.ascii|version=70}} || T || IO&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.in.db|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.in.dxf|version=70}} || T || IO&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.in.e00|version=70}} || T || IO&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.in.geonames|version=70}} || T || IO&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.in.gns|version=70}} || T || IO&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.in.lines|version=70}} || T || IO&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.in.mapgen|version=70}} || T || IO&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.in.ogr|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.in.postgis|version=70}} || T || IO&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.in.region|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.in.sites|version=70}} || T || IO&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.in.sites.all|version=70}} || T || IO&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.in.wfs|version=70}} || T || IO&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.info|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.kcv|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.kernel|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.krige|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.label|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.lidar.correction|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.lidar.edgedetection|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.lidar.growing|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.lrs.create|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.lrs.label|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.lrs.segment|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.lrs.where|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.mkgrid|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.neighbors|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.net|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.net.alloc|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.net.allpairs|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.net.bridge|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.net.centrality|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.net.components|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.net.connectivity|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.net.distance|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.net.flow|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.net.iso|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.net.path|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.net.salesman|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.net.spanningtree|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.net.steiner|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.net.timetable|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.net.visibility|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.normal|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.out.ascii|version=70}} || T || IO&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.out.dxf|version=70}} || T || IO&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.out.gps|version=70}} || T || IO&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.out.ogr|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.out.postgis|version=70}} || T || IO&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.out.pov|version=70}} || T || IO&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.out.svg|version=70}} || T || IO&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.out.vtk|version=70}} || T || IO&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.outlier|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.overlay|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.parallel|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.patch|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.perturb|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.proj|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.qcount|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.random|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.rast.stats|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.reclass|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.report|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.sample|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.segment|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.select|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.split|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.support|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.surf.bspline|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.surf.idw|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.surf.rst|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.to.3d|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.to.db|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.to.points|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.to.rast|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.to.rast3|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.transform|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.type|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.univar|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.vol.rst|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.voronoi|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.what|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.what.rast|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.what.vect|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Various ===&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|'''Module''' || '''Core/Tools/Addons''' || '''Toolbox(es)'''&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|nviz|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|nviz_cmd|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|wximgview|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|wxpyimgview|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|xganim|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|ximgview|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== List of selected AddOns modules ==&lt;br /&gt;
&lt;br /&gt;
See [[GRASS AddOns]] for full list of available modules. Feel free to extend this list.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|'''Module''' || '''Core/Tools/Addons''' || '''Toolbox(es)''' || '''Note'''&lt;br /&gt;
|-&lt;br /&gt;
| {{AddonCmd|r.stream.channel}} || T || HY || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| {{AddonCmd|r.stream.distance}} || T || HY || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| {{AddonCmd|r.stream.extract}} || T || HY || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| {{AddonCmd|r.stream.order}} || T || HY || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| {{AddonCmd|r.stream.segment}} || T || HY || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| {{AddonCmd|r.stream.slope}} || T || HY || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| {{AddonCmd|r.stream.snap}} || T || HY || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| {{AddonCmd|r.stream.stats}} || T || HY || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| {{AddonCmd|r.seg}} || T || IM || It could be rename to `i.seg`&lt;br /&gt;
|-&lt;br /&gt;
| {{AddonCmd|i.topocorr}} || T || IM ||&lt;br /&gt;
|-&lt;br /&gt;
| {{AddonCmd|r.diversity}} || T || LA ||&lt;br /&gt;
|-&lt;br /&gt;
| {{AddonCmd|Ps.output}} || ? || || &lt;br /&gt;
|-&lt;br /&gt;
| ... || ? || ||&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:GRASS 7]]&lt;/div&gt;</summary>
		<author><name>⚠️HamishBowman</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=Geomorphometry&amp;diff=26391</id>
		<title>Geomorphometry</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=Geomorphometry&amp;diff=26391"/>
		<updated>2020-11-13T04:41:13Z</updated>

		<summary type="html">&lt;p&gt;⚠️HamishBowman: /* Deriving geomorphometric variables */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Geomorphometry in GRASS ==&lt;br /&gt;
&lt;br /&gt;
Geomorphometry is viewed as the science of quantitative analysis of earth surface shape (Pike, 2000).&lt;br /&gt;
&lt;br /&gt;
An usual workflow in Geomorphometry is broken in three main sections: input, analysis and output (Hengl and Evans, 2009). Input operations refer to the import of altitude data or DEMs, or to DEM generation. Analysis operations refer to the preprocessing of DEMs for extraction of geomorphometric variables and geomorphometric objects. Output operations refer to the use of geomorphometric data for various applications.&lt;br /&gt;
&lt;br /&gt;
=== Import of DEMs ===&lt;br /&gt;
&lt;br /&gt;
* Grid-based DEMs in various formats can be imported using the {{cmd|r.in.gdal}} command.&lt;br /&gt;
&lt;br /&gt;
=== Import of elevation data ===&lt;br /&gt;
&lt;br /&gt;
* Elevation data represented by digitized contours or measured points can be imported using the {{cmd|v.in.ogr}} command that supports numerous vector formats &lt;br /&gt;
* Data given as an ASCII list of (x, y, z) coordinates can be imported with {{cmd|v.in.ascii}}&lt;br /&gt;
* Very dense ASCII point data (e.g. from LiDAR), can be directly converted to raster using {{cmd|r.in.xyz}} by performing a binning procedure based on different statistical measures (min, max, mean, range, etc.).&lt;br /&gt;
&lt;br /&gt;
=== Generation of DEMs ===&lt;br /&gt;
&lt;br /&gt;
* Elevation data used in DEM generation represent an sampling of elevations from a certain surface. This discrete data need to be transformed into a continuous representation by using interpolators.&lt;br /&gt;
* Interpolation of DEMs from elevation data functions can be called from Raster / Interpolate Surfaces&lt;br /&gt;
&lt;br /&gt;
=== Preprocessing of DEMs ===&lt;br /&gt;
&lt;br /&gt;
* DEMs generated from elevation data often contains errors or have a model of representation which is not suitable for a certain applications, so some operation are needed for obtaining a valid DEM.&lt;br /&gt;
&lt;br /&gt;
=== Deriving geomorphometric variables ===&lt;br /&gt;
&lt;br /&gt;
* ''r.basin'' addon module: morphometric characterization of river basins&lt;br /&gt;
* {{cmd|r.param.scale}}: Use the param=feature option&lt;br /&gt;
&lt;br /&gt;
=== Deriving objects variables ===&lt;br /&gt;
&lt;br /&gt;
=== Useful commands ===&lt;br /&gt;
* {{cmd|d.polar}}&lt;br /&gt;
* {{cmd|r.drain}}&lt;br /&gt;
* {{cmd|r.flow}}&lt;br /&gt;
* {{cmd|r.mapcalc}}&lt;br /&gt;
* {{cmd|r.slope.aspect}}&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
* Grohmann, C.H., 2004. Morphometric analysis in geographic information systems: applications of free software GRASS and R. Computers &amp;amp; Geosciences, 30(9-10), pp.1055-1067. http://dx.doi.org/10.1016/j.cageo.2004.08.002&lt;br /&gt;
* Grohmann, C.H., 2005. Trend-surfaces analysis of morphometric parameters: A case study in southeastern Brazil Computers &amp;amp; Geosciences, 31, 1005-1014. http://dx.doi.org/10.1016/j.cageo.2005.02.011&lt;br /&gt;
* Grohmann, C. H.; Riccomini, C. &amp;amp; Alves, F. M. , 2007. SRTM-based morphotectonic analysis of the Pocos de Caldas Alkaline Massif, southeastern Brazil Computers &amp;amp; Geosciences, 33, 10-19. http://dx.doi.org/10.1016/j.cageo.2006.05.002&lt;br /&gt;
* Grohmann, C. H. &amp;amp; Riccomini, C., 2009. Comparison of roving-window and search-window techniques for characterising landscape morphometry Computers &amp;amp; Geosciences, 35, 2164-2169. http://dx.doi.org/10.1016/j.cageo.2008.12.014&lt;br /&gt;
* Grohmann, C. H.; Smith, M. J. &amp;amp; Riccomini, C., 2010. Multiscale Analysis of Topographic Surface Roughness in the Midland Valley, Scotland Geoscience and Remote Sensing, IEEE Transactions on, 49, 1200-1213. http://dx.doi.org/10.1109/TGRS.2010.2053546&lt;br /&gt;
* Grohmann, C. H.; Riccomini, C. &amp;amp; Chamani, M. A. C., 2011. Regional scale analysis of landform configuration with base-level (isobase) maps Hydrology and Earth System Sciences, 15, 1493-1504. http://dx.doi.org/10.5194/hess-15-1493-2011&lt;br /&gt;
* Hengl, T. &amp;amp; Reuter, H.I., 2009. Geomorphometry: concepts, software, applications, Amsterdam; Oxford: Elsevier. http://geomorphometry.org/book&lt;br /&gt;
* Hofierka, J., Mitasova, H. &amp;amp; Neteler, M., 2009. Geomorphometry in GRASS GIS. In Developments in Soil Science.  Elsevier, pp. 387-410. Available at: http://dx.doi.org/10.1016/S0166-2481(08)00017-2.&lt;br /&gt;
* Le Coz, M. et al., 2009. Assessment of Digital Elevation Model (DEM) aggregation methods for hydrological modeling: Lake Chad basin, Africa. Computers &amp;amp; Geosciences, 35(8), pp.1661-1670.&lt;br /&gt;
* Pike, Richard J., 2000.Geomorphometry - diversity in quantitative surface analysis, Progress in Physical Geography, 1-20.&lt;br /&gt;
&lt;br /&gt;
[[Category: Applications]]&lt;/div&gt;</summary>
		<author><name>⚠️HamishBowman</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=Geomorphometry&amp;diff=26390</id>
		<title>Geomorphometry</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=Geomorphometry&amp;diff=26390"/>
		<updated>2020-11-13T04:40:09Z</updated>

		<summary type="html">&lt;p&gt;⚠️HamishBowman: /* Deriving geomorphometric variables */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Geomorphometry in GRASS ==&lt;br /&gt;
&lt;br /&gt;
Geomorphometry is viewed as the science of quantitative analysis of earth surface shape (Pike, 2000).&lt;br /&gt;
&lt;br /&gt;
An usual workflow in Geomorphometry is broken in three main sections: input, analysis and output (Hengl and Evans, 2009). Input operations refer to the import of altitude data or DEMs, or to DEM generation. Analysis operations refer to the preprocessing of DEMs for extraction of geomorphometric variables and geomorphometric objects. Output operations refer to the use of geomorphometric data for various applications.&lt;br /&gt;
&lt;br /&gt;
=== Import of DEMs ===&lt;br /&gt;
&lt;br /&gt;
* Grid-based DEMs in various formats can be imported using the {{cmd|r.in.gdal}} command.&lt;br /&gt;
&lt;br /&gt;
=== Import of elevation data ===&lt;br /&gt;
&lt;br /&gt;
* Elevation data represented by digitized contours or measured points can be imported using the {{cmd|v.in.ogr}} command that supports numerous vector formats &lt;br /&gt;
* Data given as an ASCII list of (x, y, z) coordinates can be imported with {{cmd|v.in.ascii}}&lt;br /&gt;
* Very dense ASCII point data (e.g. from LiDAR), can be directly converted to raster using {{cmd|r.in.xyz}} by performing a binning procedure based on different statistical measures (min, max, mean, range, etc.).&lt;br /&gt;
&lt;br /&gt;
=== Generation of DEMs ===&lt;br /&gt;
&lt;br /&gt;
* Elevation data used in DEM generation represent an sampling of elevations from a certain surface. This discrete data need to be transformed into a continuous representation by using interpolators.&lt;br /&gt;
* Interpolation of DEMs from elevation data functions can be called from Raster / Interpolate Surfaces&lt;br /&gt;
&lt;br /&gt;
=== Preprocessing of DEMs ===&lt;br /&gt;
&lt;br /&gt;
* DEMs generated from elevation data often contains errors or have a model of representation which is not suitable for a certain applications, so some operation are needed for obtaining a valid DEM.&lt;br /&gt;
&lt;br /&gt;
=== Deriving geomorphometric variables ===&lt;br /&gt;
&lt;br /&gt;
* {{cmd|r.basin}}&lt;br /&gt;
* {{cmd|r.param.scale}}: Use the param=feature option&lt;br /&gt;
&lt;br /&gt;
=== Deriving objects variables ===&lt;br /&gt;
&lt;br /&gt;
=== Useful commands ===&lt;br /&gt;
* {{cmd|d.polar}}&lt;br /&gt;
* {{cmd|r.drain}}&lt;br /&gt;
* {{cmd|r.flow}}&lt;br /&gt;
* {{cmd|r.mapcalc}}&lt;br /&gt;
* {{cmd|r.slope.aspect}}&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
* Grohmann, C.H., 2004. Morphometric analysis in geographic information systems: applications of free software GRASS and R. Computers &amp;amp; Geosciences, 30(9-10), pp.1055-1067. http://dx.doi.org/10.1016/j.cageo.2004.08.002&lt;br /&gt;
* Grohmann, C.H., 2005. Trend-surfaces analysis of morphometric parameters: A case study in southeastern Brazil Computers &amp;amp; Geosciences, 31, 1005-1014. http://dx.doi.org/10.1016/j.cageo.2005.02.011&lt;br /&gt;
* Grohmann, C. H.; Riccomini, C. &amp;amp; Alves, F. M. , 2007. SRTM-based morphotectonic analysis of the Pocos de Caldas Alkaline Massif, southeastern Brazil Computers &amp;amp; Geosciences, 33, 10-19. http://dx.doi.org/10.1016/j.cageo.2006.05.002&lt;br /&gt;
* Grohmann, C. H. &amp;amp; Riccomini, C., 2009. Comparison of roving-window and search-window techniques for characterising landscape morphometry Computers &amp;amp; Geosciences, 35, 2164-2169. http://dx.doi.org/10.1016/j.cageo.2008.12.014&lt;br /&gt;
* Grohmann, C. H.; Smith, M. J. &amp;amp; Riccomini, C., 2010. Multiscale Analysis of Topographic Surface Roughness in the Midland Valley, Scotland Geoscience and Remote Sensing, IEEE Transactions on, 49, 1200-1213. http://dx.doi.org/10.1109/TGRS.2010.2053546&lt;br /&gt;
* Grohmann, C. H.; Riccomini, C. &amp;amp; Chamani, M. A. C., 2011. Regional scale analysis of landform configuration with base-level (isobase) maps Hydrology and Earth System Sciences, 15, 1493-1504. http://dx.doi.org/10.5194/hess-15-1493-2011&lt;br /&gt;
* Hengl, T. &amp;amp; Reuter, H.I., 2009. Geomorphometry: concepts, software, applications, Amsterdam; Oxford: Elsevier. http://geomorphometry.org/book&lt;br /&gt;
* Hofierka, J., Mitasova, H. &amp;amp; Neteler, M., 2009. Geomorphometry in GRASS GIS. In Developments in Soil Science.  Elsevier, pp. 387-410. Available at: http://dx.doi.org/10.1016/S0166-2481(08)00017-2.&lt;br /&gt;
* Le Coz, M. et al., 2009. Assessment of Digital Elevation Model (DEM) aggregation methods for hydrological modeling: Lake Chad basin, Africa. Computers &amp;amp; Geosciences, 35(8), pp.1661-1670.&lt;br /&gt;
* Pike, Richard J., 2000.Geomorphometry - diversity in quantitative surface analysis, Progress in Physical Geography, 1-20.&lt;br /&gt;
&lt;br /&gt;
[[Category: Applications]]&lt;/div&gt;</summary>
		<author><name>⚠️HamishBowman</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=NLCD_Land_Cover&amp;diff=26389</id>
		<title>NLCD Land Cover</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=NLCD_Land_Cover&amp;diff=26389"/>
		<updated>2020-11-12T23:23:21Z</updated>

		<summary type="html">&lt;p&gt;⚠️HamishBowman: /* Importing */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[image:NLCD_2016_Land_Cover_example.png|500px|right|thumb|NLCD2016 land cover example, south shore of Long Island, NY]]&lt;br /&gt;
&lt;br /&gt;
== About ==&lt;br /&gt;
&lt;br /&gt;
* Raster grid covering the Continental US at 30 meter resolution&lt;br /&gt;
&lt;br /&gt;
* https://www.mrlc.gov/data/nlcd-2016-land-cover-conus&lt;br /&gt;
&lt;br /&gt;
From the Spearfish dataset's ''landcover.30m'' history file:&lt;br /&gt;
: National Land Cover Data Set NLCD, U.S. Geological Survey (USGS)&lt;br /&gt;
:  ''The NLCD was compiled from Landsat TM imagery (circa 1992) with a spatial resolution of 30 meters supplemented by various ancillary data (where available). The satellite images were analyzed and interpreted by using very large, sometimes multi-State, image  mosaics (that is, up to 18 Landsat scenes). Because a relatively small number of aerial photographs were necessarily conducted from a broad spatial perspective. Furthermore, the accuracy assessments correspond to Federal Regions, which are groupings of contiguous States. Thus, the reliability of the data is greatest at the State or multi-State level. The statistical accuracy of the data is known only for the region.''&lt;br /&gt;
&lt;br /&gt;
== Obtaining data from the USGS ==&lt;br /&gt;
&lt;br /&gt;
The classic Spearfish GRASS sample dataset contains a ''landcover.30m'' raster map which is an excerpt from an older version of the NLCD dataset.&lt;br /&gt;
&lt;br /&gt;
* Download site: https://www.mrlc.gov/data&lt;br /&gt;
&lt;br /&gt;
* Data is provided in ERDAS Imagine .img format.&lt;br /&gt;
: As of April 2019 the zipped dataset is a 1.4 GB.&lt;br /&gt;
&lt;br /&gt;
* Create an Albers location&lt;br /&gt;
: this can also be done automatically with the Location Wizard using the downloaded .img file.&lt;br /&gt;
&lt;br /&gt;
Here are the values for the CONUS dataset:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
name: Albers Equal Area&lt;br /&gt;
proj: aea&lt;br /&gt;
datum: wgs84&lt;br /&gt;
ellps: wgs84&lt;br /&gt;
lat_1: 29.5&lt;br /&gt;
lat_2: 45.5&lt;br /&gt;
lat_0: 23&lt;br /&gt;
lon_0: -96&lt;br /&gt;
x_0: 0&lt;br /&gt;
y_0: 0&lt;br /&gt;
towgs84: 0,0,0,0,0,0,0&lt;br /&gt;
no_defs: defined&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Importing ==&lt;br /&gt;
&lt;br /&gt;
Rather than import the entire 16GB raster image, just make a virtual link to it:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 r.external in=NLCD_2016_Land_Cover_L48_20190424.img out=NLCD_2016_Land_Cover_L48_20190424 title=&amp;quot;Land Cover 2016&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then use {{cmd|g.region}} to zoom to your area of interest and {{cmd|r.mapcalc}} to extract a subset&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 g.region -p n= s= e= w= res=30 align=NLCD_2016_Land_Cover_L48_20190424&lt;br /&gt;
 r.mapcalc &amp;quot;NLCD.extract = NLCD_2016_Land_Cover_L48_20190424&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Categories ==&lt;br /&gt;
&lt;br /&gt;
These can be applied with the {{cmd|r.category}} module.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
0:Unclassified&lt;br /&gt;
11:Open Water&lt;br /&gt;
12:Perennial Snow/Ice&lt;br /&gt;
21:Developed, Open Space&lt;br /&gt;
22:Developed, Low Intensity&lt;br /&gt;
23:Developed, Medium Intensity&lt;br /&gt;
24:Developed, High Intensity&lt;br /&gt;
31:Barren Land&lt;br /&gt;
41:Deciduous Forest&lt;br /&gt;
42:Evergreen Forest&lt;br /&gt;
43:Mixed Forest&lt;br /&gt;
52:Shrub/Scrub&lt;br /&gt;
71:Herbaceous&lt;br /&gt;
81:Hay/Pasture&lt;br /&gt;
82:Cultivated Crops&lt;br /&gt;
90:Woody Wetlands&lt;br /&gt;
95:Emergent Herbaceous Wetlands&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Colors ==&lt;br /&gt;
&lt;br /&gt;
[[image:NLCD_Colour_Classification_Update.jpg|right|thumb|NLCD2016 land cover classification legend from mrlc.gov]]&lt;br /&gt;
&lt;br /&gt;
These should load in automatically, but if they don't here are the official colors which you can load in with the {{cmd|r.colors}} module's rules= option:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
11 70:107:159&lt;br /&gt;
12 209:222:248&lt;br /&gt;
21 222:197:197&lt;br /&gt;
22 217:146:130&lt;br /&gt;
23 235:0:0&lt;br /&gt;
24 171:0:0&lt;br /&gt;
31 179:172:159&lt;br /&gt;
41 104:171:95&lt;br /&gt;
42 28:95:44&lt;br /&gt;
43 181:197:143&lt;br /&gt;
52 204:184:121&lt;br /&gt;
71 223:223:194&lt;br /&gt;
81 220:217:57&lt;br /&gt;
82 171:108:40&lt;br /&gt;
90 184:217:235&lt;br /&gt;
95 108:159:184&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Legend ==&lt;br /&gt;
&lt;br /&gt;
Use the -n and -c flags of {{cmd|d.legend}} to limit the legend to named categories.&lt;br /&gt;
&lt;br /&gt;
* See also https://www.mrlc.gov/data/legends/national-land-cover-database-2016-nlcd2016-legend&lt;br /&gt;
&lt;br /&gt;
== Manning's n ==&lt;br /&gt;
&lt;br /&gt;
For using as a basis for Mannings n friction coefficients, you can make a virtual reclass map with {{cmd|r.reclass}}. The module will only reclass as integers so the table below is reclassed into parts per ten-thousand. Crop your area of interest with {{cmd|r.mapcalc}} and divide by 10000.0 at the same time to get the Manning's n number.&lt;br /&gt;
&lt;br /&gt;
Actual values for your location will vary widely, the following is simply a starting point.&lt;br /&gt;
&amp;lt;!-- : ''TODO: values of 999 require values from the literature''  --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
0 = 0  Unclassified&lt;br /&gt;
11 = 0250 Open Water&lt;br /&gt;
12 = 0220 Perennial Snow/Ice&lt;br /&gt;
21 = 0400 Developed, Open Space&lt;br /&gt;
22 = 1000 Developed, Low Intensity&lt;br /&gt;
23 = 0800 Developed, Medium Intensity&lt;br /&gt;
24 = 1500 Developed, High Intensity&lt;br /&gt;
31 = 0275 Barren Land&lt;br /&gt;
41 = 1600 Deciduous Forest&lt;br /&gt;
42 = 1800 Evergreen Forest&lt;br /&gt;
43 = 1700 Mixed Forest&lt;br /&gt;
52 = 1000 Shrub/Scrub&lt;br /&gt;
71 = 0350 Herbaceous&lt;br /&gt;
81 = 0325 Hay/Pasture&lt;br /&gt;
82 = 0375 Cultivated Crops&lt;br /&gt;
90 = 1200 Woody Wetlands&lt;br /&gt;
95 = 0700 Emergent Herbaceous Wetlands&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
References:&lt;br /&gt;
* [http://www.fsl.orst.edu/geowater/FX3/help/8_Hydraulic_Reference/Mannings_n_Tables.htm Ven Te Chow, 1959] (Corvallis)&lt;br /&gt;
* [https://pubs.usgs.gov/wsp/2339/report.pdf USGS's Guide for Selecting Manning's Roughness Coefficients for Natural Channels and Flood Plains]&lt;br /&gt;
&lt;br /&gt;
* [https://www.wcc.nrcs.usda.gov/ftpref/wntsc/H&amp;amp;H/HecRAS/NEDC/lectures/docs/Manning%92s%20n-values%20for%20Kansas%20Dam%20Breach%20Analyses%20-%20Adopted%20071216.pdf Manning's n Values for Various Land Covers To Use for Dam Breach Analyses by NRCS in Kansas]&lt;br /&gt;
&lt;br /&gt;
* Kalyanapu, Alfred &amp;amp; Burian, Steve &amp;amp; Mcpherson, Timothy. (2009). ''Effect of land use-based surface roughness on hydrologic model output.'' Journal of Spatial Hydrology. 9. 51-71.&lt;br /&gt;
* Liu, Zhu &amp;amp; Merwade, Venkatesh &amp;amp; Jafarzadegan, Keighobad. (2018). ''Investigating the role of model structure and surface roughness in generating flood inundation extents using 1D and 2D hydraulic models.'' Journal of Flood Risk Management. e12347. 10.1111/jfr3.12347.&lt;br /&gt;
&lt;br /&gt;
* Bunya, et al.. (2010). ''A High-Resolution Coupled Riverine Flow, Tide, Wind, Wind Wave, and Storm Surge Model for Southern Louisiana and Mississippi. Part I: Model Development and Validation.'' Monthly weather review 138.2: 345-377.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [[CORINE Land Cover]]&lt;br /&gt;
* [[Global Land Cover Characteristics]]&lt;br /&gt;
* [[CUSP Coastline|NOAA's continuously updated shoreline (CUSP)]]&lt;br /&gt;
&lt;br /&gt;
[[Category: Geodata]]&lt;br /&gt;
[[Category: Import]]&lt;/div&gt;</summary>
		<author><name>⚠️HamishBowman</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=NLCD_Land_Cover&amp;diff=26388</id>
		<title>NLCD Land Cover</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=NLCD_Land_Cover&amp;diff=26388"/>
		<updated>2020-11-12T23:22:54Z</updated>

		<summary type="html">&lt;p&gt;⚠️HamishBowman: /* Importing */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[image:NLCD_2016_Land_Cover_example.png|500px|right|thumb|NLCD2016 land cover example, south shore of Long Island, NY]]&lt;br /&gt;
&lt;br /&gt;
== About ==&lt;br /&gt;
&lt;br /&gt;
* Raster grid covering the Continental US at 30 meter resolution&lt;br /&gt;
&lt;br /&gt;
* https://www.mrlc.gov/data/nlcd-2016-land-cover-conus&lt;br /&gt;
&lt;br /&gt;
From the Spearfish dataset's ''landcover.30m'' history file:&lt;br /&gt;
: National Land Cover Data Set NLCD, U.S. Geological Survey (USGS)&lt;br /&gt;
:  ''The NLCD was compiled from Landsat TM imagery (circa 1992) with a spatial resolution of 30 meters supplemented by various ancillary data (where available). The satellite images were analyzed and interpreted by using very large, sometimes multi-State, image  mosaics (that is, up to 18 Landsat scenes). Because a relatively small number of aerial photographs were necessarily conducted from a broad spatial perspective. Furthermore, the accuracy assessments correspond to Federal Regions, which are groupings of contiguous States. Thus, the reliability of the data is greatest at the State or multi-State level. The statistical accuracy of the data is known only for the region.''&lt;br /&gt;
&lt;br /&gt;
== Obtaining data from the USGS ==&lt;br /&gt;
&lt;br /&gt;
The classic Spearfish GRASS sample dataset contains a ''landcover.30m'' raster map which is an excerpt from an older version of the NLCD dataset.&lt;br /&gt;
&lt;br /&gt;
* Download site: https://www.mrlc.gov/data&lt;br /&gt;
&lt;br /&gt;
* Data is provided in ERDAS Imagine .img format.&lt;br /&gt;
: As of April 2019 the zipped dataset is a 1.4 GB.&lt;br /&gt;
&lt;br /&gt;
* Create an Albers location&lt;br /&gt;
: this can also be done automatically with the Location Wizard using the downloaded .img file.&lt;br /&gt;
&lt;br /&gt;
Here are the values for the CONUS dataset:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
name: Albers Equal Area&lt;br /&gt;
proj: aea&lt;br /&gt;
datum: wgs84&lt;br /&gt;
ellps: wgs84&lt;br /&gt;
lat_1: 29.5&lt;br /&gt;
lat_2: 45.5&lt;br /&gt;
lat_0: 23&lt;br /&gt;
lon_0: -96&lt;br /&gt;
x_0: 0&lt;br /&gt;
y_0: 0&lt;br /&gt;
towgs84: 0,0,0,0,0,0,0&lt;br /&gt;
no_defs: defined&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Importing ==&lt;br /&gt;
&lt;br /&gt;
Rather than import the entire 16GB raster image, just make a virtual link to it:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 r.external in=NLCD_2016_Land_Cover_L48_20190424.img out=NLCD_2016_Land_Cover_L48_20190424 title=&amp;quot;Land Cover 2016&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then use {{cmd|g.region}} to zoom to your area of interest and r.mapcalc to extract a subset&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 g.region -p n= s= e= w= res=30 align=NLCD_2016_Land_Cover_L48_20190424&lt;br /&gt;
 r.mapcalc &amp;quot;NLCD.extract = NLCD_2016_Land_Cover_L48_20190424&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Categories ==&lt;br /&gt;
&lt;br /&gt;
These can be applied with the {{cmd|r.category}} module.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
0:Unclassified&lt;br /&gt;
11:Open Water&lt;br /&gt;
12:Perennial Snow/Ice&lt;br /&gt;
21:Developed, Open Space&lt;br /&gt;
22:Developed, Low Intensity&lt;br /&gt;
23:Developed, Medium Intensity&lt;br /&gt;
24:Developed, High Intensity&lt;br /&gt;
31:Barren Land&lt;br /&gt;
41:Deciduous Forest&lt;br /&gt;
42:Evergreen Forest&lt;br /&gt;
43:Mixed Forest&lt;br /&gt;
52:Shrub/Scrub&lt;br /&gt;
71:Herbaceous&lt;br /&gt;
81:Hay/Pasture&lt;br /&gt;
82:Cultivated Crops&lt;br /&gt;
90:Woody Wetlands&lt;br /&gt;
95:Emergent Herbaceous Wetlands&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Colors ==&lt;br /&gt;
&lt;br /&gt;
[[image:NLCD_Colour_Classification_Update.jpg|right|thumb|NLCD2016 land cover classification legend from mrlc.gov]]&lt;br /&gt;
&lt;br /&gt;
These should load in automatically, but if they don't here are the official colors which you can load in with the {{cmd|r.colors}} module's rules= option:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
11 70:107:159&lt;br /&gt;
12 209:222:248&lt;br /&gt;
21 222:197:197&lt;br /&gt;
22 217:146:130&lt;br /&gt;
23 235:0:0&lt;br /&gt;
24 171:0:0&lt;br /&gt;
31 179:172:159&lt;br /&gt;
41 104:171:95&lt;br /&gt;
42 28:95:44&lt;br /&gt;
43 181:197:143&lt;br /&gt;
52 204:184:121&lt;br /&gt;
71 223:223:194&lt;br /&gt;
81 220:217:57&lt;br /&gt;
82 171:108:40&lt;br /&gt;
90 184:217:235&lt;br /&gt;
95 108:159:184&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Legend ==&lt;br /&gt;
&lt;br /&gt;
Use the -n and -c flags of {{cmd|d.legend}} to limit the legend to named categories.&lt;br /&gt;
&lt;br /&gt;
* See also https://www.mrlc.gov/data/legends/national-land-cover-database-2016-nlcd2016-legend&lt;br /&gt;
&lt;br /&gt;
== Manning's n ==&lt;br /&gt;
&lt;br /&gt;
For using as a basis for Mannings n friction coefficients, you can make a virtual reclass map with {{cmd|r.reclass}}. The module will only reclass as integers so the table below is reclassed into parts per ten-thousand. Crop your area of interest with {{cmd|r.mapcalc}} and divide by 10000.0 at the same time to get the Manning's n number.&lt;br /&gt;
&lt;br /&gt;
Actual values for your location will vary widely, the following is simply a starting point.&lt;br /&gt;
&amp;lt;!-- : ''TODO: values of 999 require values from the literature''  --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
0 = 0  Unclassified&lt;br /&gt;
11 = 0250 Open Water&lt;br /&gt;
12 = 0220 Perennial Snow/Ice&lt;br /&gt;
21 = 0400 Developed, Open Space&lt;br /&gt;
22 = 1000 Developed, Low Intensity&lt;br /&gt;
23 = 0800 Developed, Medium Intensity&lt;br /&gt;
24 = 1500 Developed, High Intensity&lt;br /&gt;
31 = 0275 Barren Land&lt;br /&gt;
41 = 1600 Deciduous Forest&lt;br /&gt;
42 = 1800 Evergreen Forest&lt;br /&gt;
43 = 1700 Mixed Forest&lt;br /&gt;
52 = 1000 Shrub/Scrub&lt;br /&gt;
71 = 0350 Herbaceous&lt;br /&gt;
81 = 0325 Hay/Pasture&lt;br /&gt;
82 = 0375 Cultivated Crops&lt;br /&gt;
90 = 1200 Woody Wetlands&lt;br /&gt;
95 = 0700 Emergent Herbaceous Wetlands&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
References:&lt;br /&gt;
* [http://www.fsl.orst.edu/geowater/FX3/help/8_Hydraulic_Reference/Mannings_n_Tables.htm Ven Te Chow, 1959] (Corvallis)&lt;br /&gt;
* [https://pubs.usgs.gov/wsp/2339/report.pdf USGS's Guide for Selecting Manning's Roughness Coefficients for Natural Channels and Flood Plains]&lt;br /&gt;
&lt;br /&gt;
* [https://www.wcc.nrcs.usda.gov/ftpref/wntsc/H&amp;amp;H/HecRAS/NEDC/lectures/docs/Manning%92s%20n-values%20for%20Kansas%20Dam%20Breach%20Analyses%20-%20Adopted%20071216.pdf Manning's n Values for Various Land Covers To Use for Dam Breach Analyses by NRCS in Kansas]&lt;br /&gt;
&lt;br /&gt;
* Kalyanapu, Alfred &amp;amp; Burian, Steve &amp;amp; Mcpherson, Timothy. (2009). ''Effect of land use-based surface roughness on hydrologic model output.'' Journal of Spatial Hydrology. 9. 51-71.&lt;br /&gt;
* Liu, Zhu &amp;amp; Merwade, Venkatesh &amp;amp; Jafarzadegan, Keighobad. (2018). ''Investigating the role of model structure and surface roughness in generating flood inundation extents using 1D and 2D hydraulic models.'' Journal of Flood Risk Management. e12347. 10.1111/jfr3.12347.&lt;br /&gt;
&lt;br /&gt;
* Bunya, et al.. (2010). ''A High-Resolution Coupled Riverine Flow, Tide, Wind, Wind Wave, and Storm Surge Model for Southern Louisiana and Mississippi. Part I: Model Development and Validation.'' Monthly weather review 138.2: 345-377.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [[CORINE Land Cover]]&lt;br /&gt;
* [[Global Land Cover Characteristics]]&lt;br /&gt;
* [[CUSP Coastline|NOAA's continuously updated shoreline (CUSP)]]&lt;br /&gt;
&lt;br /&gt;
[[Category: Geodata]]&lt;br /&gt;
[[Category: Import]]&lt;/div&gt;</summary>
		<author><name>⚠️HamishBowman</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=NLCD_Land_Cover&amp;diff=26387</id>
		<title>NLCD Land Cover</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=NLCD_Land_Cover&amp;diff=26387"/>
		<updated>2020-11-12T23:20:25Z</updated>

		<summary type="html">&lt;p&gt;⚠️HamishBowman: /* Manning's n */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[image:NLCD_2016_Land_Cover_example.png|500px|right|thumb|NLCD2016 land cover example, south shore of Long Island, NY]]&lt;br /&gt;
&lt;br /&gt;
== About ==&lt;br /&gt;
&lt;br /&gt;
* Raster grid covering the Continental US at 30 meter resolution&lt;br /&gt;
&lt;br /&gt;
* https://www.mrlc.gov/data/nlcd-2016-land-cover-conus&lt;br /&gt;
&lt;br /&gt;
From the Spearfish dataset's ''landcover.30m'' history file:&lt;br /&gt;
: National Land Cover Data Set NLCD, U.S. Geological Survey (USGS)&lt;br /&gt;
:  ''The NLCD was compiled from Landsat TM imagery (circa 1992) with a spatial resolution of 30 meters supplemented by various ancillary data (where available). The satellite images were analyzed and interpreted by using very large, sometimes multi-State, image  mosaics (that is, up to 18 Landsat scenes). Because a relatively small number of aerial photographs were necessarily conducted from a broad spatial perspective. Furthermore, the accuracy assessments correspond to Federal Regions, which are groupings of contiguous States. Thus, the reliability of the data is greatest at the State or multi-State level. The statistical accuracy of the data is known only for the region.''&lt;br /&gt;
&lt;br /&gt;
== Obtaining data from the USGS ==&lt;br /&gt;
&lt;br /&gt;
The classic Spearfish GRASS sample dataset contains a ''landcover.30m'' raster map which is an excerpt from an older version of the NLCD dataset.&lt;br /&gt;
&lt;br /&gt;
* Download site: https://www.mrlc.gov/data&lt;br /&gt;
&lt;br /&gt;
* Data is provided in ERDAS Imagine .img format.&lt;br /&gt;
: As of April 2019 the zipped dataset is a 1.4 GB.&lt;br /&gt;
&lt;br /&gt;
* Create an Albers location&lt;br /&gt;
: this can also be done automatically with the Location Wizard using the downloaded .img file.&lt;br /&gt;
&lt;br /&gt;
Here are the values for the CONUS dataset:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
name: Albers Equal Area&lt;br /&gt;
proj: aea&lt;br /&gt;
datum: wgs84&lt;br /&gt;
ellps: wgs84&lt;br /&gt;
lat_1: 29.5&lt;br /&gt;
lat_2: 45.5&lt;br /&gt;
lat_0: 23&lt;br /&gt;
lon_0: -96&lt;br /&gt;
x_0: 0&lt;br /&gt;
y_0: 0&lt;br /&gt;
towgs84: 0,0,0,0,0,0,0&lt;br /&gt;
no_defs: defined&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Importing ==&lt;br /&gt;
&lt;br /&gt;
Rather than import the entire 16GB raster image, just make a virtual link to it:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 r.external in=NLCD_2016_Land_Cover_L48_20190424.img out=NLCD_2016_Land_Cover_L48_20190424 title=&amp;quot;Land Cover 2016&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then use g.region to zoom to your area of interest and r.mapcalc to extract a subset&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 g.region -p n= s= e= w= res=30 align=NLCD_2016_Land_Cover_L48_20190424&lt;br /&gt;
 r.mapcalc &amp;quot;NLCD.extract = NLCD_2016_Land_Cover_L48_20190424&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Categories ==&lt;br /&gt;
&lt;br /&gt;
These can be applied with the {{cmd|r.category}} module.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
0:Unclassified&lt;br /&gt;
11:Open Water&lt;br /&gt;
12:Perennial Snow/Ice&lt;br /&gt;
21:Developed, Open Space&lt;br /&gt;
22:Developed, Low Intensity&lt;br /&gt;
23:Developed, Medium Intensity&lt;br /&gt;
24:Developed, High Intensity&lt;br /&gt;
31:Barren Land&lt;br /&gt;
41:Deciduous Forest&lt;br /&gt;
42:Evergreen Forest&lt;br /&gt;
43:Mixed Forest&lt;br /&gt;
52:Shrub/Scrub&lt;br /&gt;
71:Herbaceous&lt;br /&gt;
81:Hay/Pasture&lt;br /&gt;
82:Cultivated Crops&lt;br /&gt;
90:Woody Wetlands&lt;br /&gt;
95:Emergent Herbaceous Wetlands&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Colors ==&lt;br /&gt;
&lt;br /&gt;
[[image:NLCD_Colour_Classification_Update.jpg|right|thumb|NLCD2016 land cover classification legend from mrlc.gov]]&lt;br /&gt;
&lt;br /&gt;
These should load in automatically, but if they don't here are the official colors which you can load in with the {{cmd|r.colors}} module's rules= option:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
11 70:107:159&lt;br /&gt;
12 209:222:248&lt;br /&gt;
21 222:197:197&lt;br /&gt;
22 217:146:130&lt;br /&gt;
23 235:0:0&lt;br /&gt;
24 171:0:0&lt;br /&gt;
31 179:172:159&lt;br /&gt;
41 104:171:95&lt;br /&gt;
42 28:95:44&lt;br /&gt;
43 181:197:143&lt;br /&gt;
52 204:184:121&lt;br /&gt;
71 223:223:194&lt;br /&gt;
81 220:217:57&lt;br /&gt;
82 171:108:40&lt;br /&gt;
90 184:217:235&lt;br /&gt;
95 108:159:184&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Legend ==&lt;br /&gt;
&lt;br /&gt;
Use the -n and -c flags of {{cmd|d.legend}} to limit the legend to named categories.&lt;br /&gt;
&lt;br /&gt;
* See also https://www.mrlc.gov/data/legends/national-land-cover-database-2016-nlcd2016-legend&lt;br /&gt;
&lt;br /&gt;
== Manning's n ==&lt;br /&gt;
&lt;br /&gt;
For using as a basis for Mannings n friction coefficients, you can make a virtual reclass map with {{cmd|r.reclass}}. The module will only reclass as integers so the table below is reclassed into parts per ten-thousand. Crop your area of interest with {{cmd|r.mapcalc}} and divide by 10000.0 at the same time to get the Manning's n number.&lt;br /&gt;
&lt;br /&gt;
Actual values for your location will vary widely, the following is simply a starting point.&lt;br /&gt;
&amp;lt;!-- : ''TODO: values of 999 require values from the literature''  --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
0 = 0  Unclassified&lt;br /&gt;
11 = 0250 Open Water&lt;br /&gt;
12 = 0220 Perennial Snow/Ice&lt;br /&gt;
21 = 0400 Developed, Open Space&lt;br /&gt;
22 = 1000 Developed, Low Intensity&lt;br /&gt;
23 = 0800 Developed, Medium Intensity&lt;br /&gt;
24 = 1500 Developed, High Intensity&lt;br /&gt;
31 = 0275 Barren Land&lt;br /&gt;
41 = 1600 Deciduous Forest&lt;br /&gt;
42 = 1800 Evergreen Forest&lt;br /&gt;
43 = 1700 Mixed Forest&lt;br /&gt;
52 = 1000 Shrub/Scrub&lt;br /&gt;
71 = 0350 Herbaceous&lt;br /&gt;
81 = 0325 Hay/Pasture&lt;br /&gt;
82 = 0375 Cultivated Crops&lt;br /&gt;
90 = 1200 Woody Wetlands&lt;br /&gt;
95 = 0700 Emergent Herbaceous Wetlands&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
References:&lt;br /&gt;
* [http://www.fsl.orst.edu/geowater/FX3/help/8_Hydraulic_Reference/Mannings_n_Tables.htm Ven Te Chow, 1959] (Corvallis)&lt;br /&gt;
* [https://pubs.usgs.gov/wsp/2339/report.pdf USGS's Guide for Selecting Manning's Roughness Coefficients for Natural Channels and Flood Plains]&lt;br /&gt;
&lt;br /&gt;
* [https://www.wcc.nrcs.usda.gov/ftpref/wntsc/H&amp;amp;H/HecRAS/NEDC/lectures/docs/Manning%92s%20n-values%20for%20Kansas%20Dam%20Breach%20Analyses%20-%20Adopted%20071216.pdf Manning's n Values for Various Land Covers To Use for Dam Breach Analyses by NRCS in Kansas]&lt;br /&gt;
&lt;br /&gt;
* Kalyanapu, Alfred &amp;amp; Burian, Steve &amp;amp; Mcpherson, Timothy. (2009). ''Effect of land use-based surface roughness on hydrologic model output.'' Journal of Spatial Hydrology. 9. 51-71.&lt;br /&gt;
* Liu, Zhu &amp;amp; Merwade, Venkatesh &amp;amp; Jafarzadegan, Keighobad. (2018). ''Investigating the role of model structure and surface roughness in generating flood inundation extents using 1D and 2D hydraulic models.'' Journal of Flood Risk Management. e12347. 10.1111/jfr3.12347.&lt;br /&gt;
&lt;br /&gt;
* Bunya, et al.. (2010). ''A High-Resolution Coupled Riverine Flow, Tide, Wind, Wind Wave, and Storm Surge Model for Southern Louisiana and Mississippi. Part I: Model Development and Validation.'' Monthly weather review 138.2: 345-377.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [[CORINE Land Cover]]&lt;br /&gt;
* [[Global Land Cover Characteristics]]&lt;br /&gt;
* [[CUSP Coastline|NOAA's continuously updated shoreline (CUSP)]]&lt;br /&gt;
&lt;br /&gt;
[[Category: Geodata]]&lt;br /&gt;
[[Category: Import]]&lt;/div&gt;</summary>
		<author><name>⚠️HamishBowman</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=NLCD_Land_Cover&amp;diff=26386</id>
		<title>NLCD Land Cover</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=NLCD_Land_Cover&amp;diff=26386"/>
		<updated>2020-11-12T23:19:11Z</updated>

		<summary type="html">&lt;p&gt;⚠️HamishBowman: /* Manning's n */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[image:NLCD_2016_Land_Cover_example.png|500px|right|thumb|NLCD2016 land cover example, south shore of Long Island, NY]]&lt;br /&gt;
&lt;br /&gt;
== About ==&lt;br /&gt;
&lt;br /&gt;
* Raster grid covering the Continental US at 30 meter resolution&lt;br /&gt;
&lt;br /&gt;
* https://www.mrlc.gov/data/nlcd-2016-land-cover-conus&lt;br /&gt;
&lt;br /&gt;
From the Spearfish dataset's ''landcover.30m'' history file:&lt;br /&gt;
: National Land Cover Data Set NLCD, U.S. Geological Survey (USGS)&lt;br /&gt;
:  ''The NLCD was compiled from Landsat TM imagery (circa 1992) with a spatial resolution of 30 meters supplemented by various ancillary data (where available). The satellite images were analyzed and interpreted by using very large, sometimes multi-State, image  mosaics (that is, up to 18 Landsat scenes). Because a relatively small number of aerial photographs were necessarily conducted from a broad spatial perspective. Furthermore, the accuracy assessments correspond to Federal Regions, which are groupings of contiguous States. Thus, the reliability of the data is greatest at the State or multi-State level. The statistical accuracy of the data is known only for the region.''&lt;br /&gt;
&lt;br /&gt;
== Obtaining data from the USGS ==&lt;br /&gt;
&lt;br /&gt;
The classic Spearfish GRASS sample dataset contains a ''landcover.30m'' raster map which is an excerpt from an older version of the NLCD dataset.&lt;br /&gt;
&lt;br /&gt;
* Download site: https://www.mrlc.gov/data&lt;br /&gt;
&lt;br /&gt;
* Data is provided in ERDAS Imagine .img format.&lt;br /&gt;
: As of April 2019 the zipped dataset is a 1.4 GB.&lt;br /&gt;
&lt;br /&gt;
* Create an Albers location&lt;br /&gt;
: this can also be done automatically with the Location Wizard using the downloaded .img file.&lt;br /&gt;
&lt;br /&gt;
Here are the values for the CONUS dataset:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
name: Albers Equal Area&lt;br /&gt;
proj: aea&lt;br /&gt;
datum: wgs84&lt;br /&gt;
ellps: wgs84&lt;br /&gt;
lat_1: 29.5&lt;br /&gt;
lat_2: 45.5&lt;br /&gt;
lat_0: 23&lt;br /&gt;
lon_0: -96&lt;br /&gt;
x_0: 0&lt;br /&gt;
y_0: 0&lt;br /&gt;
towgs84: 0,0,0,0,0,0,0&lt;br /&gt;
no_defs: defined&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Importing ==&lt;br /&gt;
&lt;br /&gt;
Rather than import the entire 16GB raster image, just make a virtual link to it:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 r.external in=NLCD_2016_Land_Cover_L48_20190424.img out=NLCD_2016_Land_Cover_L48_20190424 title=&amp;quot;Land Cover 2016&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then use g.region to zoom to your area of interest and r.mapcalc to extract a subset&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 g.region -p n= s= e= w= res=30 align=NLCD_2016_Land_Cover_L48_20190424&lt;br /&gt;
 r.mapcalc &amp;quot;NLCD.extract = NLCD_2016_Land_Cover_L48_20190424&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Categories ==&lt;br /&gt;
&lt;br /&gt;
These can be applied with the {{cmd|r.category}} module.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
0:Unclassified&lt;br /&gt;
11:Open Water&lt;br /&gt;
12:Perennial Snow/Ice&lt;br /&gt;
21:Developed, Open Space&lt;br /&gt;
22:Developed, Low Intensity&lt;br /&gt;
23:Developed, Medium Intensity&lt;br /&gt;
24:Developed, High Intensity&lt;br /&gt;
31:Barren Land&lt;br /&gt;
41:Deciduous Forest&lt;br /&gt;
42:Evergreen Forest&lt;br /&gt;
43:Mixed Forest&lt;br /&gt;
52:Shrub/Scrub&lt;br /&gt;
71:Herbaceous&lt;br /&gt;
81:Hay/Pasture&lt;br /&gt;
82:Cultivated Crops&lt;br /&gt;
90:Woody Wetlands&lt;br /&gt;
95:Emergent Herbaceous Wetlands&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Colors ==&lt;br /&gt;
&lt;br /&gt;
[[image:NLCD_Colour_Classification_Update.jpg|right|thumb|NLCD2016 land cover classification legend from mrlc.gov]]&lt;br /&gt;
&lt;br /&gt;
These should load in automatically, but if they don't here are the official colors which you can load in with the {{cmd|r.colors}} module's rules= option:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
11 70:107:159&lt;br /&gt;
12 209:222:248&lt;br /&gt;
21 222:197:197&lt;br /&gt;
22 217:146:130&lt;br /&gt;
23 235:0:0&lt;br /&gt;
24 171:0:0&lt;br /&gt;
31 179:172:159&lt;br /&gt;
41 104:171:95&lt;br /&gt;
42 28:95:44&lt;br /&gt;
43 181:197:143&lt;br /&gt;
52 204:184:121&lt;br /&gt;
71 223:223:194&lt;br /&gt;
81 220:217:57&lt;br /&gt;
82 171:108:40&lt;br /&gt;
90 184:217:235&lt;br /&gt;
95 108:159:184&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Legend ==&lt;br /&gt;
&lt;br /&gt;
Use the -n and -c flags of {{cmd|d.legend}} to limit the legend to named categories.&lt;br /&gt;
&lt;br /&gt;
* See also https://www.mrlc.gov/data/legends/national-land-cover-database-2016-nlcd2016-legend&lt;br /&gt;
&lt;br /&gt;
== Manning's n ==&lt;br /&gt;
&lt;br /&gt;
For using as a basis for Mannings n friction coefficients, you can make a virtual reclass map with {{cmd|r.reclass}. The module will only reclass as integers so the table below is reclassed into parts per ten-thousand. Crop your area of interest with {{cmd|r.mapcalc}} and divide by 10000.0 at the same time to get the Manning's n number.&lt;br /&gt;
&lt;br /&gt;
Actual values for your location will vary widely, the following is simply a starting point.&lt;br /&gt;
&amp;lt;!-- : ''TODO: values of 999 require values from the literature''  --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
0 = 0  Unclassified&lt;br /&gt;
11 = 0250 Open Water&lt;br /&gt;
12 = 0220 Perennial Snow/Ice&lt;br /&gt;
21 = 0400 Developed, Open Space&lt;br /&gt;
22 = 1000 Developed, Low Intensity&lt;br /&gt;
23 = 0800 Developed, Medium Intensity&lt;br /&gt;
24 = 1500 Developed, High Intensity&lt;br /&gt;
31 = 0275 Barren Land&lt;br /&gt;
41 = 1600 Deciduous Forest&lt;br /&gt;
42 = 1800 Evergreen Forest&lt;br /&gt;
43 = 1700 Mixed Forest&lt;br /&gt;
52 = 1000 Shrub/Scrub&lt;br /&gt;
71 = 0350 Herbaceous&lt;br /&gt;
81 = 0325 Hay/Pasture&lt;br /&gt;
82 = 0375 Cultivated Crops&lt;br /&gt;
90 = 1200 Woody Wetlands&lt;br /&gt;
95 = 0700 Emergent Herbaceous Wetlands&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
References:&lt;br /&gt;
* [http://www.fsl.orst.edu/geowater/FX3/help/8_Hydraulic_Reference/Mannings_n_Tables.htm Ven Te Chow, 1959] (Corvallis)&lt;br /&gt;
* [https://pubs.usgs.gov/wsp/2339/report.pdf USGS's Guide for Selecting Manning's Roughness Coefficients for Natural Channels and Flood Plains]&lt;br /&gt;
&lt;br /&gt;
* [https://www.wcc.nrcs.usda.gov/ftpref/wntsc/H&amp;amp;H/HecRAS/NEDC/lectures/docs/Manning%92s%20n-values%20for%20Kansas%20Dam%20Breach%20Analyses%20-%20Adopted%20071216.pdf Manning's n Values for Various Land Covers To Use for Dam Breach Analyses by NRCS in Kansas]&lt;br /&gt;
&lt;br /&gt;
* Kalyanapu, Alfred &amp;amp; Burian, Steve &amp;amp; Mcpherson, Timothy. (2009). ''Effect of land use-based surface roughness on hydrologic model output.'' Journal of Spatial Hydrology. 9. 51-71.&lt;br /&gt;
* Liu, Zhu &amp;amp; Merwade, Venkatesh &amp;amp; Jafarzadegan, Keighobad. (2018). ''Investigating the role of model structure and surface roughness in generating flood inundation extents using 1D and 2D hydraulic models.'' Journal of Flood Risk Management. e12347. 10.1111/jfr3.12347.&lt;br /&gt;
&lt;br /&gt;
* Bunya, et al.. (2010). ''A High-Resolution Coupled Riverine Flow, Tide, Wind, Wind Wave, and Storm Surge Model for Southern Louisiana and Mississippi. Part I: Model Development and Validation.'' Monthly weather review 138.2: 345-377.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [[CORINE Land Cover]]&lt;br /&gt;
* [[Global Land Cover Characteristics]]&lt;br /&gt;
* [[CUSP Coastline|NOAA's continuously updated shoreline (CUSP)]]&lt;br /&gt;
&lt;br /&gt;
[[Category: Geodata]]&lt;br /&gt;
[[Category: Import]]&lt;/div&gt;</summary>
		<author><name>⚠️HamishBowman</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=NLCD_Land_Cover&amp;diff=26385</id>
		<title>NLCD Land Cover</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=NLCD_Land_Cover&amp;diff=26385"/>
		<updated>2020-11-12T23:18:23Z</updated>

		<summary type="html">&lt;p&gt;⚠️HamishBowman: /* Legend */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[image:NLCD_2016_Land_Cover_example.png|500px|right|thumb|NLCD2016 land cover example, south shore of Long Island, NY]]&lt;br /&gt;
&lt;br /&gt;
== About ==&lt;br /&gt;
&lt;br /&gt;
* Raster grid covering the Continental US at 30 meter resolution&lt;br /&gt;
&lt;br /&gt;
* https://www.mrlc.gov/data/nlcd-2016-land-cover-conus&lt;br /&gt;
&lt;br /&gt;
From the Spearfish dataset's ''landcover.30m'' history file:&lt;br /&gt;
: National Land Cover Data Set NLCD, U.S. Geological Survey (USGS)&lt;br /&gt;
:  ''The NLCD was compiled from Landsat TM imagery (circa 1992) with a spatial resolution of 30 meters supplemented by various ancillary data (where available). The satellite images were analyzed and interpreted by using very large, sometimes multi-State, image  mosaics (that is, up to 18 Landsat scenes). Because a relatively small number of aerial photographs were necessarily conducted from a broad spatial perspective. Furthermore, the accuracy assessments correspond to Federal Regions, which are groupings of contiguous States. Thus, the reliability of the data is greatest at the State or multi-State level. The statistical accuracy of the data is known only for the region.''&lt;br /&gt;
&lt;br /&gt;
== Obtaining data from the USGS ==&lt;br /&gt;
&lt;br /&gt;
The classic Spearfish GRASS sample dataset contains a ''landcover.30m'' raster map which is an excerpt from an older version of the NLCD dataset.&lt;br /&gt;
&lt;br /&gt;
* Download site: https://www.mrlc.gov/data&lt;br /&gt;
&lt;br /&gt;
* Data is provided in ERDAS Imagine .img format.&lt;br /&gt;
: As of April 2019 the zipped dataset is a 1.4 GB.&lt;br /&gt;
&lt;br /&gt;
* Create an Albers location&lt;br /&gt;
: this can also be done automatically with the Location Wizard using the downloaded .img file.&lt;br /&gt;
&lt;br /&gt;
Here are the values for the CONUS dataset:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
name: Albers Equal Area&lt;br /&gt;
proj: aea&lt;br /&gt;
datum: wgs84&lt;br /&gt;
ellps: wgs84&lt;br /&gt;
lat_1: 29.5&lt;br /&gt;
lat_2: 45.5&lt;br /&gt;
lat_0: 23&lt;br /&gt;
lon_0: -96&lt;br /&gt;
x_0: 0&lt;br /&gt;
y_0: 0&lt;br /&gt;
towgs84: 0,0,0,0,0,0,0&lt;br /&gt;
no_defs: defined&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Importing ==&lt;br /&gt;
&lt;br /&gt;
Rather than import the entire 16GB raster image, just make a virtual link to it:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 r.external in=NLCD_2016_Land_Cover_L48_20190424.img out=NLCD_2016_Land_Cover_L48_20190424 title=&amp;quot;Land Cover 2016&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then use g.region to zoom to your area of interest and r.mapcalc to extract a subset&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 g.region -p n= s= e= w= res=30 align=NLCD_2016_Land_Cover_L48_20190424&lt;br /&gt;
 r.mapcalc &amp;quot;NLCD.extract = NLCD_2016_Land_Cover_L48_20190424&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Categories ==&lt;br /&gt;
&lt;br /&gt;
These can be applied with the {{cmd|r.category}} module.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
0:Unclassified&lt;br /&gt;
11:Open Water&lt;br /&gt;
12:Perennial Snow/Ice&lt;br /&gt;
21:Developed, Open Space&lt;br /&gt;
22:Developed, Low Intensity&lt;br /&gt;
23:Developed, Medium Intensity&lt;br /&gt;
24:Developed, High Intensity&lt;br /&gt;
31:Barren Land&lt;br /&gt;
41:Deciduous Forest&lt;br /&gt;
42:Evergreen Forest&lt;br /&gt;
43:Mixed Forest&lt;br /&gt;
52:Shrub/Scrub&lt;br /&gt;
71:Herbaceous&lt;br /&gt;
81:Hay/Pasture&lt;br /&gt;
82:Cultivated Crops&lt;br /&gt;
90:Woody Wetlands&lt;br /&gt;
95:Emergent Herbaceous Wetlands&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Colors ==&lt;br /&gt;
&lt;br /&gt;
[[image:NLCD_Colour_Classification_Update.jpg|right|thumb|NLCD2016 land cover classification legend from mrlc.gov]]&lt;br /&gt;
&lt;br /&gt;
These should load in automatically, but if they don't here are the official colors which you can load in with the {{cmd|r.colors}} module's rules= option:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
11 70:107:159&lt;br /&gt;
12 209:222:248&lt;br /&gt;
21 222:197:197&lt;br /&gt;
22 217:146:130&lt;br /&gt;
23 235:0:0&lt;br /&gt;
24 171:0:0&lt;br /&gt;
31 179:172:159&lt;br /&gt;
41 104:171:95&lt;br /&gt;
42 28:95:44&lt;br /&gt;
43 181:197:143&lt;br /&gt;
52 204:184:121&lt;br /&gt;
71 223:223:194&lt;br /&gt;
81 220:217:57&lt;br /&gt;
82 171:108:40&lt;br /&gt;
90 184:217:235&lt;br /&gt;
95 108:159:184&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Legend ==&lt;br /&gt;
&lt;br /&gt;
Use the -n and -c flags of {{cmd|d.legend}} to limit the legend to named categories.&lt;br /&gt;
&lt;br /&gt;
* See also https://www.mrlc.gov/data/legends/national-land-cover-database-2016-nlcd2016-legend&lt;br /&gt;
&lt;br /&gt;
== Manning's n ==&lt;br /&gt;
&lt;br /&gt;
For using as a basis for Mannings n friction coefficients, you can make a virtual reclass map with ''r.reclass''. The module will only reclass as integers so the table below is reclassed into parts per ten-thousand. Crop your area of interest with r.mapcalc and divide by 10000.0 at the same time to get the Manning's n number.&lt;br /&gt;
&lt;br /&gt;
Actual values for your location will vary widely, the following is simply a starting point.&lt;br /&gt;
&amp;lt;!-- : ''TODO: values of 999 require values from the literature''  --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
0 = 0  Unclassified&lt;br /&gt;
11 = 0250 Open Water&lt;br /&gt;
12 = 0220 Perennial Snow/Ice&lt;br /&gt;
21 = 0400 Developed, Open Space&lt;br /&gt;
22 = 1000 Developed, Low Intensity&lt;br /&gt;
23 = 0800 Developed, Medium Intensity&lt;br /&gt;
24 = 1500 Developed, High Intensity&lt;br /&gt;
31 = 0275 Barren Land&lt;br /&gt;
41 = 1600 Deciduous Forest&lt;br /&gt;
42 = 1800 Evergreen Forest&lt;br /&gt;
43 = 1700 Mixed Forest&lt;br /&gt;
52 = 1000 Shrub/Scrub&lt;br /&gt;
71 = 0350 Herbaceous&lt;br /&gt;
81 = 0325 Hay/Pasture&lt;br /&gt;
82 = 0375 Cultivated Crops&lt;br /&gt;
90 = 1200 Woody Wetlands&lt;br /&gt;
95 = 0700 Emergent Herbaceous Wetlands&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
References:&lt;br /&gt;
* [http://www.fsl.orst.edu/geowater/FX3/help/8_Hydraulic_Reference/Mannings_n_Tables.htm Ven Te Chow, 1959] (Corvallis)&lt;br /&gt;
* [https://pubs.usgs.gov/wsp/2339/report.pdf USGS's Guide for Selecting Manning's Roughness Coefficients for Natural Channels and Flood Plains]&lt;br /&gt;
&lt;br /&gt;
* [https://www.wcc.nrcs.usda.gov/ftpref/wntsc/H&amp;amp;H/HecRAS/NEDC/lectures/docs/Manning%92s%20n-values%20for%20Kansas%20Dam%20Breach%20Analyses%20-%20Adopted%20071216.pdf Manning's n Values for Various Land Covers To Use for Dam Breach Analyses by NRCS in Kansas]&lt;br /&gt;
&lt;br /&gt;
* Kalyanapu, Alfred &amp;amp; Burian, Steve &amp;amp; Mcpherson, Timothy. (2009). ''Effect of land use-based surface roughness on hydrologic model output.'' Journal of Spatial Hydrology. 9. 51-71.&lt;br /&gt;
* Liu, Zhu &amp;amp; Merwade, Venkatesh &amp;amp; Jafarzadegan, Keighobad. (2018). ''Investigating the role of model structure and surface roughness in generating flood inundation extents using 1D and 2D hydraulic models.'' Journal of Flood Risk Management. e12347. 10.1111/jfr3.12347.&lt;br /&gt;
&lt;br /&gt;
* Bunya, et al.. (2010). ''A High-Resolution Coupled Riverine Flow, Tide, Wind, Wind Wave, and Storm Surge Model for Southern Louisiana and Mississippi. Part I: Model Development and Validation.'' Monthly weather review 138.2: 345-377.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [[CORINE Land Cover]]&lt;br /&gt;
* [[Global Land Cover Characteristics]]&lt;br /&gt;
* [[CUSP Coastline|NOAA's continuously updated shoreline (CUSP)]]&lt;br /&gt;
&lt;br /&gt;
[[Category: Geodata]]&lt;br /&gt;
[[Category: Import]]&lt;/div&gt;</summary>
		<author><name>⚠️HamishBowman</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=NLCD_Land_Cover&amp;diff=26384</id>
		<title>NLCD Land Cover</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=NLCD_Land_Cover&amp;diff=26384"/>
		<updated>2020-11-12T23:18:00Z</updated>

		<summary type="html">&lt;p&gt;⚠️HamishBowman: /* Colors */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[image:NLCD_2016_Land_Cover_example.png|500px|right|thumb|NLCD2016 land cover example, south shore of Long Island, NY]]&lt;br /&gt;
&lt;br /&gt;
== About ==&lt;br /&gt;
&lt;br /&gt;
* Raster grid covering the Continental US at 30 meter resolution&lt;br /&gt;
&lt;br /&gt;
* https://www.mrlc.gov/data/nlcd-2016-land-cover-conus&lt;br /&gt;
&lt;br /&gt;
From the Spearfish dataset's ''landcover.30m'' history file:&lt;br /&gt;
: National Land Cover Data Set NLCD, U.S. Geological Survey (USGS)&lt;br /&gt;
:  ''The NLCD was compiled from Landsat TM imagery (circa 1992) with a spatial resolution of 30 meters supplemented by various ancillary data (where available). The satellite images were analyzed and interpreted by using very large, sometimes multi-State, image  mosaics (that is, up to 18 Landsat scenes). Because a relatively small number of aerial photographs were necessarily conducted from a broad spatial perspective. Furthermore, the accuracy assessments correspond to Federal Regions, which are groupings of contiguous States. Thus, the reliability of the data is greatest at the State or multi-State level. The statistical accuracy of the data is known only for the region.''&lt;br /&gt;
&lt;br /&gt;
== Obtaining data from the USGS ==&lt;br /&gt;
&lt;br /&gt;
The classic Spearfish GRASS sample dataset contains a ''landcover.30m'' raster map which is an excerpt from an older version of the NLCD dataset.&lt;br /&gt;
&lt;br /&gt;
* Download site: https://www.mrlc.gov/data&lt;br /&gt;
&lt;br /&gt;
* Data is provided in ERDAS Imagine .img format.&lt;br /&gt;
: As of April 2019 the zipped dataset is a 1.4 GB.&lt;br /&gt;
&lt;br /&gt;
* Create an Albers location&lt;br /&gt;
: this can also be done automatically with the Location Wizard using the downloaded .img file.&lt;br /&gt;
&lt;br /&gt;
Here are the values for the CONUS dataset:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
name: Albers Equal Area&lt;br /&gt;
proj: aea&lt;br /&gt;
datum: wgs84&lt;br /&gt;
ellps: wgs84&lt;br /&gt;
lat_1: 29.5&lt;br /&gt;
lat_2: 45.5&lt;br /&gt;
lat_0: 23&lt;br /&gt;
lon_0: -96&lt;br /&gt;
x_0: 0&lt;br /&gt;
y_0: 0&lt;br /&gt;
towgs84: 0,0,0,0,0,0,0&lt;br /&gt;
no_defs: defined&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Importing ==&lt;br /&gt;
&lt;br /&gt;
Rather than import the entire 16GB raster image, just make a virtual link to it:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 r.external in=NLCD_2016_Land_Cover_L48_20190424.img out=NLCD_2016_Land_Cover_L48_20190424 title=&amp;quot;Land Cover 2016&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then use g.region to zoom to your area of interest and r.mapcalc to extract a subset&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 g.region -p n= s= e= w= res=30 align=NLCD_2016_Land_Cover_L48_20190424&lt;br /&gt;
 r.mapcalc &amp;quot;NLCD.extract = NLCD_2016_Land_Cover_L48_20190424&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Categories ==&lt;br /&gt;
&lt;br /&gt;
These can be applied with the {{cmd|r.category}} module.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
0:Unclassified&lt;br /&gt;
11:Open Water&lt;br /&gt;
12:Perennial Snow/Ice&lt;br /&gt;
21:Developed, Open Space&lt;br /&gt;
22:Developed, Low Intensity&lt;br /&gt;
23:Developed, Medium Intensity&lt;br /&gt;
24:Developed, High Intensity&lt;br /&gt;
31:Barren Land&lt;br /&gt;
41:Deciduous Forest&lt;br /&gt;
42:Evergreen Forest&lt;br /&gt;
43:Mixed Forest&lt;br /&gt;
52:Shrub/Scrub&lt;br /&gt;
71:Herbaceous&lt;br /&gt;
81:Hay/Pasture&lt;br /&gt;
82:Cultivated Crops&lt;br /&gt;
90:Woody Wetlands&lt;br /&gt;
95:Emergent Herbaceous Wetlands&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Colors ==&lt;br /&gt;
&lt;br /&gt;
[[image:NLCD_Colour_Classification_Update.jpg|right|thumb|NLCD2016 land cover classification legend from mrlc.gov]]&lt;br /&gt;
&lt;br /&gt;
These should load in automatically, but if they don't here are the official colors which you can load in with the {{cmd|r.colors}} module's rules= option:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
11 70:107:159&lt;br /&gt;
12 209:222:248&lt;br /&gt;
21 222:197:197&lt;br /&gt;
22 217:146:130&lt;br /&gt;
23 235:0:0&lt;br /&gt;
24 171:0:0&lt;br /&gt;
31 179:172:159&lt;br /&gt;
41 104:171:95&lt;br /&gt;
42 28:95:44&lt;br /&gt;
43 181:197:143&lt;br /&gt;
52 204:184:121&lt;br /&gt;
71 223:223:194&lt;br /&gt;
81 220:217:57&lt;br /&gt;
82 171:108:40&lt;br /&gt;
90 184:217:235&lt;br /&gt;
95 108:159:184&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Legend ==&lt;br /&gt;
&lt;br /&gt;
Use the -n and -c flags of d.legend to limit the legend to named categories.&lt;br /&gt;
&lt;br /&gt;
* See also https://www.mrlc.gov/data/legends/national-land-cover-database-2016-nlcd2016-legend&lt;br /&gt;
&lt;br /&gt;
== Manning's n ==&lt;br /&gt;
&lt;br /&gt;
For using as a basis for Mannings n friction coefficients, you can make a virtual reclass map with ''r.reclass''. The module will only reclass as integers so the table below is reclassed into parts per ten-thousand. Crop your area of interest with r.mapcalc and divide by 10000.0 at the same time to get the Manning's n number.&lt;br /&gt;
&lt;br /&gt;
Actual values for your location will vary widely, the following is simply a starting point.&lt;br /&gt;
&amp;lt;!-- : ''TODO: values of 999 require values from the literature''  --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
0 = 0  Unclassified&lt;br /&gt;
11 = 0250 Open Water&lt;br /&gt;
12 = 0220 Perennial Snow/Ice&lt;br /&gt;
21 = 0400 Developed, Open Space&lt;br /&gt;
22 = 1000 Developed, Low Intensity&lt;br /&gt;
23 = 0800 Developed, Medium Intensity&lt;br /&gt;
24 = 1500 Developed, High Intensity&lt;br /&gt;
31 = 0275 Barren Land&lt;br /&gt;
41 = 1600 Deciduous Forest&lt;br /&gt;
42 = 1800 Evergreen Forest&lt;br /&gt;
43 = 1700 Mixed Forest&lt;br /&gt;
52 = 1000 Shrub/Scrub&lt;br /&gt;
71 = 0350 Herbaceous&lt;br /&gt;
81 = 0325 Hay/Pasture&lt;br /&gt;
82 = 0375 Cultivated Crops&lt;br /&gt;
90 = 1200 Woody Wetlands&lt;br /&gt;
95 = 0700 Emergent Herbaceous Wetlands&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
References:&lt;br /&gt;
* [http://www.fsl.orst.edu/geowater/FX3/help/8_Hydraulic_Reference/Mannings_n_Tables.htm Ven Te Chow, 1959] (Corvallis)&lt;br /&gt;
* [https://pubs.usgs.gov/wsp/2339/report.pdf USGS's Guide for Selecting Manning's Roughness Coefficients for Natural Channels and Flood Plains]&lt;br /&gt;
&lt;br /&gt;
* [https://www.wcc.nrcs.usda.gov/ftpref/wntsc/H&amp;amp;H/HecRAS/NEDC/lectures/docs/Manning%92s%20n-values%20for%20Kansas%20Dam%20Breach%20Analyses%20-%20Adopted%20071216.pdf Manning's n Values for Various Land Covers To Use for Dam Breach Analyses by NRCS in Kansas]&lt;br /&gt;
&lt;br /&gt;
* Kalyanapu, Alfred &amp;amp; Burian, Steve &amp;amp; Mcpherson, Timothy. (2009). ''Effect of land use-based surface roughness on hydrologic model output.'' Journal of Spatial Hydrology. 9. 51-71.&lt;br /&gt;
* Liu, Zhu &amp;amp; Merwade, Venkatesh &amp;amp; Jafarzadegan, Keighobad. (2018). ''Investigating the role of model structure and surface roughness in generating flood inundation extents using 1D and 2D hydraulic models.'' Journal of Flood Risk Management. e12347. 10.1111/jfr3.12347.&lt;br /&gt;
&lt;br /&gt;
* Bunya, et al.. (2010). ''A High-Resolution Coupled Riverine Flow, Tide, Wind, Wind Wave, and Storm Surge Model for Southern Louisiana and Mississippi. Part I: Model Development and Validation.'' Monthly weather review 138.2: 345-377.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [[CORINE Land Cover]]&lt;br /&gt;
* [[Global Land Cover Characteristics]]&lt;br /&gt;
* [[CUSP Coastline|NOAA's continuously updated shoreline (CUSP)]]&lt;br /&gt;
&lt;br /&gt;
[[Category: Geodata]]&lt;br /&gt;
[[Category: Import]]&lt;/div&gt;</summary>
		<author><name>⚠️HamishBowman</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=NLCD_Land_Cover&amp;diff=26383</id>
		<title>NLCD Land Cover</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=NLCD_Land_Cover&amp;diff=26383"/>
		<updated>2020-11-12T23:17:38Z</updated>

		<summary type="html">&lt;p&gt;⚠️HamishBowman: /* Categories */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[image:NLCD_2016_Land_Cover_example.png|500px|right|thumb|NLCD2016 land cover example, south shore of Long Island, NY]]&lt;br /&gt;
&lt;br /&gt;
== About ==&lt;br /&gt;
&lt;br /&gt;
* Raster grid covering the Continental US at 30 meter resolution&lt;br /&gt;
&lt;br /&gt;
* https://www.mrlc.gov/data/nlcd-2016-land-cover-conus&lt;br /&gt;
&lt;br /&gt;
From the Spearfish dataset's ''landcover.30m'' history file:&lt;br /&gt;
: National Land Cover Data Set NLCD, U.S. Geological Survey (USGS)&lt;br /&gt;
:  ''The NLCD was compiled from Landsat TM imagery (circa 1992) with a spatial resolution of 30 meters supplemented by various ancillary data (where available). The satellite images were analyzed and interpreted by using very large, sometimes multi-State, image  mosaics (that is, up to 18 Landsat scenes). Because a relatively small number of aerial photographs were necessarily conducted from a broad spatial perspective. Furthermore, the accuracy assessments correspond to Federal Regions, which are groupings of contiguous States. Thus, the reliability of the data is greatest at the State or multi-State level. The statistical accuracy of the data is known only for the region.''&lt;br /&gt;
&lt;br /&gt;
== Obtaining data from the USGS ==&lt;br /&gt;
&lt;br /&gt;
The classic Spearfish GRASS sample dataset contains a ''landcover.30m'' raster map which is an excerpt from an older version of the NLCD dataset.&lt;br /&gt;
&lt;br /&gt;
* Download site: https://www.mrlc.gov/data&lt;br /&gt;
&lt;br /&gt;
* Data is provided in ERDAS Imagine .img format.&lt;br /&gt;
: As of April 2019 the zipped dataset is a 1.4 GB.&lt;br /&gt;
&lt;br /&gt;
* Create an Albers location&lt;br /&gt;
: this can also be done automatically with the Location Wizard using the downloaded .img file.&lt;br /&gt;
&lt;br /&gt;
Here are the values for the CONUS dataset:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
name: Albers Equal Area&lt;br /&gt;
proj: aea&lt;br /&gt;
datum: wgs84&lt;br /&gt;
ellps: wgs84&lt;br /&gt;
lat_1: 29.5&lt;br /&gt;
lat_2: 45.5&lt;br /&gt;
lat_0: 23&lt;br /&gt;
lon_0: -96&lt;br /&gt;
x_0: 0&lt;br /&gt;
y_0: 0&lt;br /&gt;
towgs84: 0,0,0,0,0,0,0&lt;br /&gt;
no_defs: defined&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Importing ==&lt;br /&gt;
&lt;br /&gt;
Rather than import the entire 16GB raster image, just make a virtual link to it:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 r.external in=NLCD_2016_Land_Cover_L48_20190424.img out=NLCD_2016_Land_Cover_L48_20190424 title=&amp;quot;Land Cover 2016&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then use g.region to zoom to your area of interest and r.mapcalc to extract a subset&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 g.region -p n= s= e= w= res=30 align=NLCD_2016_Land_Cover_L48_20190424&lt;br /&gt;
 r.mapcalc &amp;quot;NLCD.extract = NLCD_2016_Land_Cover_L48_20190424&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Categories ==&lt;br /&gt;
&lt;br /&gt;
These can be applied with the {{cmd|r.category}} module.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
0:Unclassified&lt;br /&gt;
11:Open Water&lt;br /&gt;
12:Perennial Snow/Ice&lt;br /&gt;
21:Developed, Open Space&lt;br /&gt;
22:Developed, Low Intensity&lt;br /&gt;
23:Developed, Medium Intensity&lt;br /&gt;
24:Developed, High Intensity&lt;br /&gt;
31:Barren Land&lt;br /&gt;
41:Deciduous Forest&lt;br /&gt;
42:Evergreen Forest&lt;br /&gt;
43:Mixed Forest&lt;br /&gt;
52:Shrub/Scrub&lt;br /&gt;
71:Herbaceous&lt;br /&gt;
81:Hay/Pasture&lt;br /&gt;
82:Cultivated Crops&lt;br /&gt;
90:Woody Wetlands&lt;br /&gt;
95:Emergent Herbaceous Wetlands&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Colors ==&lt;br /&gt;
&lt;br /&gt;
[[image:NLCD_Colour_Classification_Update.jpg|right|thumb|NLCD2016 land cover classification legend from mrlc.gov]]&lt;br /&gt;
&lt;br /&gt;
These should load in automatically, but if they don't here are the official colors which you can load in with the r.colors module's rules= option:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
11 70:107:159&lt;br /&gt;
12 209:222:248&lt;br /&gt;
21 222:197:197&lt;br /&gt;
22 217:146:130&lt;br /&gt;
23 235:0:0&lt;br /&gt;
24 171:0:0&lt;br /&gt;
31 179:172:159&lt;br /&gt;
41 104:171:95&lt;br /&gt;
42 28:95:44&lt;br /&gt;
43 181:197:143&lt;br /&gt;
52 204:184:121&lt;br /&gt;
71 223:223:194&lt;br /&gt;
81 220:217:57&lt;br /&gt;
82 171:108:40&lt;br /&gt;
90 184:217:235&lt;br /&gt;
95 108:159:184&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Legend ==&lt;br /&gt;
&lt;br /&gt;
Use the -n and -c flags of d.legend to limit the legend to named categories.&lt;br /&gt;
&lt;br /&gt;
* See also https://www.mrlc.gov/data/legends/national-land-cover-database-2016-nlcd2016-legend&lt;br /&gt;
&lt;br /&gt;
== Manning's n ==&lt;br /&gt;
&lt;br /&gt;
For using as a basis for Mannings n friction coefficients, you can make a virtual reclass map with ''r.reclass''. The module will only reclass as integers so the table below is reclassed into parts per ten-thousand. Crop your area of interest with r.mapcalc and divide by 10000.0 at the same time to get the Manning's n number.&lt;br /&gt;
&lt;br /&gt;
Actual values for your location will vary widely, the following is simply a starting point.&lt;br /&gt;
&amp;lt;!-- : ''TODO: values of 999 require values from the literature''  --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
0 = 0  Unclassified&lt;br /&gt;
11 = 0250 Open Water&lt;br /&gt;
12 = 0220 Perennial Snow/Ice&lt;br /&gt;
21 = 0400 Developed, Open Space&lt;br /&gt;
22 = 1000 Developed, Low Intensity&lt;br /&gt;
23 = 0800 Developed, Medium Intensity&lt;br /&gt;
24 = 1500 Developed, High Intensity&lt;br /&gt;
31 = 0275 Barren Land&lt;br /&gt;
41 = 1600 Deciduous Forest&lt;br /&gt;
42 = 1800 Evergreen Forest&lt;br /&gt;
43 = 1700 Mixed Forest&lt;br /&gt;
52 = 1000 Shrub/Scrub&lt;br /&gt;
71 = 0350 Herbaceous&lt;br /&gt;
81 = 0325 Hay/Pasture&lt;br /&gt;
82 = 0375 Cultivated Crops&lt;br /&gt;
90 = 1200 Woody Wetlands&lt;br /&gt;
95 = 0700 Emergent Herbaceous Wetlands&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
References:&lt;br /&gt;
* [http://www.fsl.orst.edu/geowater/FX3/help/8_Hydraulic_Reference/Mannings_n_Tables.htm Ven Te Chow, 1959] (Corvallis)&lt;br /&gt;
* [https://pubs.usgs.gov/wsp/2339/report.pdf USGS's Guide for Selecting Manning's Roughness Coefficients for Natural Channels and Flood Plains]&lt;br /&gt;
&lt;br /&gt;
* [https://www.wcc.nrcs.usda.gov/ftpref/wntsc/H&amp;amp;H/HecRAS/NEDC/lectures/docs/Manning%92s%20n-values%20for%20Kansas%20Dam%20Breach%20Analyses%20-%20Adopted%20071216.pdf Manning's n Values for Various Land Covers To Use for Dam Breach Analyses by NRCS in Kansas]&lt;br /&gt;
&lt;br /&gt;
* Kalyanapu, Alfred &amp;amp; Burian, Steve &amp;amp; Mcpherson, Timothy. (2009). ''Effect of land use-based surface roughness on hydrologic model output.'' Journal of Spatial Hydrology. 9. 51-71.&lt;br /&gt;
* Liu, Zhu &amp;amp; Merwade, Venkatesh &amp;amp; Jafarzadegan, Keighobad. (2018). ''Investigating the role of model structure and surface roughness in generating flood inundation extents using 1D and 2D hydraulic models.'' Journal of Flood Risk Management. e12347. 10.1111/jfr3.12347.&lt;br /&gt;
&lt;br /&gt;
* Bunya, et al.. (2010). ''A High-Resolution Coupled Riverine Flow, Tide, Wind, Wind Wave, and Storm Surge Model for Southern Louisiana and Mississippi. Part I: Model Development and Validation.'' Monthly weather review 138.2: 345-377.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [[CORINE Land Cover]]&lt;br /&gt;
* [[Global Land Cover Characteristics]]&lt;br /&gt;
* [[CUSP Coastline|NOAA's continuously updated shoreline (CUSP)]]&lt;br /&gt;
&lt;br /&gt;
[[Category: Geodata]]&lt;br /&gt;
[[Category: Import]]&lt;/div&gt;</summary>
		<author><name>⚠️HamishBowman</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=NLCD_Land_Cover&amp;diff=26382</id>
		<title>NLCD Land Cover</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=NLCD_Land_Cover&amp;diff=26382"/>
		<updated>2020-11-12T23:16:21Z</updated>

		<summary type="html">&lt;p&gt;⚠️HamishBowman: /* Importing */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[image:NLCD_2016_Land_Cover_example.png|500px|right|thumb|NLCD2016 land cover example, south shore of Long Island, NY]]&lt;br /&gt;
&lt;br /&gt;
== About ==&lt;br /&gt;
&lt;br /&gt;
* Raster grid covering the Continental US at 30 meter resolution&lt;br /&gt;
&lt;br /&gt;
* https://www.mrlc.gov/data/nlcd-2016-land-cover-conus&lt;br /&gt;
&lt;br /&gt;
From the Spearfish dataset's ''landcover.30m'' history file:&lt;br /&gt;
: National Land Cover Data Set NLCD, U.S. Geological Survey (USGS)&lt;br /&gt;
:  ''The NLCD was compiled from Landsat TM imagery (circa 1992) with a spatial resolution of 30 meters supplemented by various ancillary data (where available). The satellite images were analyzed and interpreted by using very large, sometimes multi-State, image  mosaics (that is, up to 18 Landsat scenes). Because a relatively small number of aerial photographs were necessarily conducted from a broad spatial perspective. Furthermore, the accuracy assessments correspond to Federal Regions, which are groupings of contiguous States. Thus, the reliability of the data is greatest at the State or multi-State level. The statistical accuracy of the data is known only for the region.''&lt;br /&gt;
&lt;br /&gt;
== Obtaining data from the USGS ==&lt;br /&gt;
&lt;br /&gt;
The classic Spearfish GRASS sample dataset contains a ''landcover.30m'' raster map which is an excerpt from an older version of the NLCD dataset.&lt;br /&gt;
&lt;br /&gt;
* Download site: https://www.mrlc.gov/data&lt;br /&gt;
&lt;br /&gt;
* Data is provided in ERDAS Imagine .img format.&lt;br /&gt;
: As of April 2019 the zipped dataset is a 1.4 GB.&lt;br /&gt;
&lt;br /&gt;
* Create an Albers location&lt;br /&gt;
: this can also be done automatically with the Location Wizard using the downloaded .img file.&lt;br /&gt;
&lt;br /&gt;
Here are the values for the CONUS dataset:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
name: Albers Equal Area&lt;br /&gt;
proj: aea&lt;br /&gt;
datum: wgs84&lt;br /&gt;
ellps: wgs84&lt;br /&gt;
lat_1: 29.5&lt;br /&gt;
lat_2: 45.5&lt;br /&gt;
lat_0: 23&lt;br /&gt;
lon_0: -96&lt;br /&gt;
x_0: 0&lt;br /&gt;
y_0: 0&lt;br /&gt;
towgs84: 0,0,0,0,0,0,0&lt;br /&gt;
no_defs: defined&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Importing ==&lt;br /&gt;
&lt;br /&gt;
Rather than import the entire 16GB raster image, just make a virtual link to it:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 r.external in=NLCD_2016_Land_Cover_L48_20190424.img out=NLCD_2016_Land_Cover_L48_20190424 title=&amp;quot;Land Cover 2016&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then use g.region to zoom to your area of interest and r.mapcalc to extract a subset&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 g.region -p n= s= e= w= res=30 align=NLCD_2016_Land_Cover_L48_20190424&lt;br /&gt;
 r.mapcalc &amp;quot;NLCD.extract = NLCD_2016_Land_Cover_L48_20190424&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Categories ==&lt;br /&gt;
&lt;br /&gt;
These can be applied with the r.category module.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
0:Unclassified&lt;br /&gt;
11:Open Water&lt;br /&gt;
12:Perennial Snow/Ice&lt;br /&gt;
21:Developed, Open Space&lt;br /&gt;
22:Developed, Low Intensity&lt;br /&gt;
23:Developed, Medium Intensity&lt;br /&gt;
24:Developed, High Intensity&lt;br /&gt;
31:Barren Land&lt;br /&gt;
41:Deciduous Forest&lt;br /&gt;
42:Evergreen Forest&lt;br /&gt;
43:Mixed Forest&lt;br /&gt;
52:Shrub/Scrub&lt;br /&gt;
71:Herbaceous&lt;br /&gt;
81:Hay/Pasture&lt;br /&gt;
82:Cultivated Crops&lt;br /&gt;
90:Woody Wetlands&lt;br /&gt;
95:Emergent Herbaceous Wetlands&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Colors ==&lt;br /&gt;
&lt;br /&gt;
[[image:NLCD_Colour_Classification_Update.jpg|right|thumb|NLCD2016 land cover classification legend from mrlc.gov]]&lt;br /&gt;
&lt;br /&gt;
These should load in automatically, but if they don't here are the official colors which you can load in with the r.colors module's rules= option:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
11 70:107:159&lt;br /&gt;
12 209:222:248&lt;br /&gt;
21 222:197:197&lt;br /&gt;
22 217:146:130&lt;br /&gt;
23 235:0:0&lt;br /&gt;
24 171:0:0&lt;br /&gt;
31 179:172:159&lt;br /&gt;
41 104:171:95&lt;br /&gt;
42 28:95:44&lt;br /&gt;
43 181:197:143&lt;br /&gt;
52 204:184:121&lt;br /&gt;
71 223:223:194&lt;br /&gt;
81 220:217:57&lt;br /&gt;
82 171:108:40&lt;br /&gt;
90 184:217:235&lt;br /&gt;
95 108:159:184&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Legend ==&lt;br /&gt;
&lt;br /&gt;
Use the -n and -c flags of d.legend to limit the legend to named categories.&lt;br /&gt;
&lt;br /&gt;
* See also https://www.mrlc.gov/data/legends/national-land-cover-database-2016-nlcd2016-legend&lt;br /&gt;
&lt;br /&gt;
== Manning's n ==&lt;br /&gt;
&lt;br /&gt;
For using as a basis for Mannings n friction coefficients, you can make a virtual reclass map with ''r.reclass''. The module will only reclass as integers so the table below is reclassed into parts per ten-thousand. Crop your area of interest with r.mapcalc and divide by 10000.0 at the same time to get the Manning's n number.&lt;br /&gt;
&lt;br /&gt;
Actual values for your location will vary widely, the following is simply a starting point.&lt;br /&gt;
&amp;lt;!-- : ''TODO: values of 999 require values from the literature''  --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
0 = 0  Unclassified&lt;br /&gt;
11 = 0250 Open Water&lt;br /&gt;
12 = 0220 Perennial Snow/Ice&lt;br /&gt;
21 = 0400 Developed, Open Space&lt;br /&gt;
22 = 1000 Developed, Low Intensity&lt;br /&gt;
23 = 0800 Developed, Medium Intensity&lt;br /&gt;
24 = 1500 Developed, High Intensity&lt;br /&gt;
31 = 0275 Barren Land&lt;br /&gt;
41 = 1600 Deciduous Forest&lt;br /&gt;
42 = 1800 Evergreen Forest&lt;br /&gt;
43 = 1700 Mixed Forest&lt;br /&gt;
52 = 1000 Shrub/Scrub&lt;br /&gt;
71 = 0350 Herbaceous&lt;br /&gt;
81 = 0325 Hay/Pasture&lt;br /&gt;
82 = 0375 Cultivated Crops&lt;br /&gt;
90 = 1200 Woody Wetlands&lt;br /&gt;
95 = 0700 Emergent Herbaceous Wetlands&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
References:&lt;br /&gt;
* [http://www.fsl.orst.edu/geowater/FX3/help/8_Hydraulic_Reference/Mannings_n_Tables.htm Ven Te Chow, 1959] (Corvallis)&lt;br /&gt;
* [https://pubs.usgs.gov/wsp/2339/report.pdf USGS's Guide for Selecting Manning's Roughness Coefficients for Natural Channels and Flood Plains]&lt;br /&gt;
&lt;br /&gt;
* [https://www.wcc.nrcs.usda.gov/ftpref/wntsc/H&amp;amp;H/HecRAS/NEDC/lectures/docs/Manning%92s%20n-values%20for%20Kansas%20Dam%20Breach%20Analyses%20-%20Adopted%20071216.pdf Manning's n Values for Various Land Covers To Use for Dam Breach Analyses by NRCS in Kansas]&lt;br /&gt;
&lt;br /&gt;
* Kalyanapu, Alfred &amp;amp; Burian, Steve &amp;amp; Mcpherson, Timothy. (2009). ''Effect of land use-based surface roughness on hydrologic model output.'' Journal of Spatial Hydrology. 9. 51-71.&lt;br /&gt;
* Liu, Zhu &amp;amp; Merwade, Venkatesh &amp;amp; Jafarzadegan, Keighobad. (2018). ''Investigating the role of model structure and surface roughness in generating flood inundation extents using 1D and 2D hydraulic models.'' Journal of Flood Risk Management. e12347. 10.1111/jfr3.12347.&lt;br /&gt;
&lt;br /&gt;
* Bunya, et al.. (2010). ''A High-Resolution Coupled Riverine Flow, Tide, Wind, Wind Wave, and Storm Surge Model for Southern Louisiana and Mississippi. Part I: Model Development and Validation.'' Monthly weather review 138.2: 345-377.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [[CORINE Land Cover]]&lt;br /&gt;
* [[Global Land Cover Characteristics]]&lt;br /&gt;
* [[CUSP Coastline|NOAA's continuously updated shoreline (CUSP)]]&lt;br /&gt;
&lt;br /&gt;
[[Category: Geodata]]&lt;br /&gt;
[[Category: Import]]&lt;/div&gt;</summary>
		<author><name>⚠️HamishBowman</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=CUSP_Coastline&amp;diff=26381</id>
		<title>CUSP Coastline</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=CUSP_Coastline&amp;diff=26381"/>
		<updated>2020-11-12T22:36:57Z</updated>

		<summary type="html">&lt;p&gt;⚠️HamishBowman: /* NOAA's CUSP: Continually Updated Shoreline */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== NOAA's CUSP: Continually Updated Shoreline for the USA and its territories ==&lt;br /&gt;
&lt;br /&gt;
* [https://shoreline.noaa.gov/data/datasheets/cusp.html Description]&lt;br /&gt;
: ''&amp;quot;This data set was created to deliver continuous shoreline with frequent updates to support various GIS applications including coastal and marine spatial planning, tsunami and storm surge modeling, hazard delineation and mitigation, environmental studies and may assist in nautical chart updates.&amp;quot;''&lt;br /&gt;
&lt;br /&gt;
=== Retrieving data ===&lt;br /&gt;
&lt;br /&gt;
* Visit NOAA's [https://www.ngs.noaa.gov/CUSP/ CUSP data access site]&lt;br /&gt;
* Zoom into your area of interest&lt;br /&gt;
: (since it's running OpenLayers you can do the nice shift+left-mouse-drag trick to quickly zoom into a box of interest)&lt;br /&gt;
* Along the top of the map is a tool bar, click on &amp;quot;Download&amp;quot; on the right end and then select CUSP&lt;br /&gt;
* You can now either select by rectangle, or by named region if you want a large area&lt;br /&gt;
* Draw a box on the map, it will then ask you if you want a Shapefile or KML&lt;br /&gt;
* Select Shapefile and the .zip data will be prepared for download&lt;br /&gt;
&lt;br /&gt;
=== Import and cleanup ===&lt;br /&gt;
&lt;br /&gt;
You can import the Shapefile or KML into a lat/long location with {{cmd|v.in.ogr}}.&lt;br /&gt;
&lt;br /&gt;
The data comes as many discrete line segments. It may be useful to combine those into individual polylines. Fortunately they all seem to touch so doing that is fairly simple with the {{cmd|v.build.polylines}} module. If in some areas they aren't exactly touching the {{cmd|v.clean}} module's ''snap'' tool can be used with a very small threshold value to fix that.&lt;br /&gt;
&lt;br /&gt;
* {{cmd|d.vect}}'s '-c' flag can be used to color each of the various line segments with a different random color.&lt;br /&gt;
&lt;br /&gt;
==== Combine line segments into continuous islands ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Import the Shapefile. The '-o' flag is used here to ignore NAD83 -&amp;gt; WGS84 datum mismatch&lt;br /&gt;
v.in.ogr dsn=CUSPLine.shp out=CUSP_coastline_extract_raw -o&lt;br /&gt;
&lt;br /&gt;
# if needed:   (wasn't for me)&lt;br /&gt;
# v.clean tool=snap threshold=0.000001&lt;br /&gt;
&lt;br /&gt;
# n.b. there's a bug in GRASS v6.4; use GRASS v7 or apply bugfix of Jan. 5, 2013&lt;br /&gt;
v.build.polylines cats=first type=line --verbose \&lt;br /&gt;
  in=CUSP_coastline_extract_raw out=CUSP_coastline_extract_polyline&lt;br /&gt;
&lt;br /&gt;
# you can keep the table if you like, but note the values are only valid for the first segment&lt;br /&gt;
v.db.droptable -f CUSP_coastline_extract_polyline&lt;br /&gt;
&lt;br /&gt;
# export again as a Shapefile&lt;br /&gt;
v.out.ogr format=ESRI_Shapefile \&lt;br /&gt;
  in=CUSP_coastline_extract_polyline out=CUSP_coastline_extract_polyline.shp&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Lines to area ===&lt;br /&gt;
&lt;br /&gt;
If you want filled areas not lines you can use the following commands:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# convert lines to boundaries&lt;br /&gt;
v.type from_type=line to_type=boundary&lt;br /&gt;
&lt;br /&gt;
# remove line segment category numbers from boundaries&lt;br /&gt;
v.category option=del&lt;br /&gt;
&lt;br /&gt;
# create areas (adds centroids)&lt;br /&gt;
v.category option=add type=area&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== See also ===&lt;br /&gt;
&lt;br /&gt;
* The {{cmd|v.clean}} module's 'tool=rmsa' to remove small angles (spikes)&lt;br /&gt;
* The [[V.generalize tutorial|v.generalize]] module to simplify the coastline&lt;br /&gt;
* [[Global datasets]]&lt;br /&gt;
&lt;br /&gt;
[[Category: Geodata]]&lt;br /&gt;
[[Category: Import]]&lt;/div&gt;</summary>
		<author><name>⚠️HamishBowman</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=CUSP_Coastline&amp;diff=26380</id>
		<title>CUSP Coastline</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=CUSP_Coastline&amp;diff=26380"/>
		<updated>2020-11-12T22:31:22Z</updated>

		<summary type="html">&lt;p&gt;⚠️HamishBowman: /* See also */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== NOAA's CUSP: Continually Updated Shoreline ==&lt;br /&gt;
&lt;br /&gt;
* [https://shoreline.noaa.gov/data/datasheets/cusp.html Description]&lt;br /&gt;
: ''&amp;quot;This data set was created to deliver continuous shoreline with frequent updates to support various GIS applications including coastal and marine spatial planning, tsunami and storm surge modeling, hazard delineation and mitigation, environmental studies and may assist in nautical chart updates.&amp;quot;''&lt;br /&gt;
&lt;br /&gt;
=== Retrieving data ===&lt;br /&gt;
&lt;br /&gt;
* Visit NOAA's [https://www.ngs.noaa.gov/CUSP/ CUSP data access site]&lt;br /&gt;
* Zoom into your area of interest&lt;br /&gt;
: (since it's running OpenLayers you can do the nice shift+left-mouse-drag trick to quickly zoom into a box of interest)&lt;br /&gt;
* Along the top of the map is a tool bar, click on &amp;quot;Download&amp;quot; on the right end and then select CUSP&lt;br /&gt;
* You can now either select by rectangle, or by named region if you want a large area&lt;br /&gt;
* Draw a box on the map, it will then ask you if you want a Shapefile or KML&lt;br /&gt;
* Select Shapefile and the .zip data will be prepared for download&lt;br /&gt;
&lt;br /&gt;
=== Import and cleanup ===&lt;br /&gt;
&lt;br /&gt;
You can import the Shapefile or KML into a lat/long location with {{cmd|v.in.ogr}}.&lt;br /&gt;
&lt;br /&gt;
The data comes as many discrete line segments. It may be useful to combine those into individual polylines. Fortunately they all seem to touch so doing that is fairly simple with the {{cmd|v.build.polylines}} module. If in some areas they aren't exactly touching the {{cmd|v.clean}} module's ''snap'' tool can be used with a very small threshold value to fix that.&lt;br /&gt;
&lt;br /&gt;
* {{cmd|d.vect}}'s '-c' flag can be used to color each of the various line segments with a different random color.&lt;br /&gt;
&lt;br /&gt;
==== Combine line segments into continuous islands ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Import the Shapefile. The '-o' flag is used here to ignore NAD83 -&amp;gt; WGS84 datum mismatch&lt;br /&gt;
v.in.ogr dsn=CUSPLine.shp out=CUSP_coastline_extract_raw -o&lt;br /&gt;
&lt;br /&gt;
# if needed:   (wasn't for me)&lt;br /&gt;
# v.clean tool=snap threshold=0.000001&lt;br /&gt;
&lt;br /&gt;
# n.b. there's a bug in GRASS v6.4; use GRASS v7 or apply bugfix of Jan. 5, 2013&lt;br /&gt;
v.build.polylines cats=first type=line --verbose \&lt;br /&gt;
  in=CUSP_coastline_extract_raw out=CUSP_coastline_extract_polyline&lt;br /&gt;
&lt;br /&gt;
# you can keep the table if you like, but note the values are only valid for the first segment&lt;br /&gt;
v.db.droptable -f CUSP_coastline_extract_polyline&lt;br /&gt;
&lt;br /&gt;
# export again as a Shapefile&lt;br /&gt;
v.out.ogr format=ESRI_Shapefile \&lt;br /&gt;
  in=CUSP_coastline_extract_polyline out=CUSP_coastline_extract_polyline.shp&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Lines to area ===&lt;br /&gt;
&lt;br /&gt;
If you want filled areas not lines you can use the following commands:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# convert lines to boundaries&lt;br /&gt;
v.type from_type=line to_type=boundary&lt;br /&gt;
&lt;br /&gt;
# remove line segment category numbers from boundaries&lt;br /&gt;
v.category option=del&lt;br /&gt;
&lt;br /&gt;
# create areas (adds centroids)&lt;br /&gt;
v.category option=add type=area&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== See also ===&lt;br /&gt;
&lt;br /&gt;
* The {{cmd|v.clean}} module's 'tool=rmsa' to remove small angles (spikes)&lt;br /&gt;
* The [[V.generalize tutorial|v.generalize]] module to simplify the coastline&lt;br /&gt;
* [[Global datasets]]&lt;br /&gt;
&lt;br /&gt;
[[Category: Geodata]]&lt;br /&gt;
[[Category: Import]]&lt;/div&gt;</summary>
		<author><name>⚠️HamishBowman</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=CUSP_Coastline&amp;diff=26379</id>
		<title>CUSP Coastline</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=CUSP_Coastline&amp;diff=26379"/>
		<updated>2020-11-12T22:30:09Z</updated>

		<summary type="html">&lt;p&gt;⚠️HamishBowman: /* See also */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== NOAA's CUSP: Continually Updated Shoreline ==&lt;br /&gt;
&lt;br /&gt;
* [https://shoreline.noaa.gov/data/datasheets/cusp.html Description]&lt;br /&gt;
: ''&amp;quot;This data set was created to deliver continuous shoreline with frequent updates to support various GIS applications including coastal and marine spatial planning, tsunami and storm surge modeling, hazard delineation and mitigation, environmental studies and may assist in nautical chart updates.&amp;quot;''&lt;br /&gt;
&lt;br /&gt;
=== Retrieving data ===&lt;br /&gt;
&lt;br /&gt;
* Visit NOAA's [https://www.ngs.noaa.gov/CUSP/ CUSP data access site]&lt;br /&gt;
* Zoom into your area of interest&lt;br /&gt;
: (since it's running OpenLayers you can do the nice shift+left-mouse-drag trick to quickly zoom into a box of interest)&lt;br /&gt;
* Along the top of the map is a tool bar, click on &amp;quot;Download&amp;quot; on the right end and then select CUSP&lt;br /&gt;
* You can now either select by rectangle, or by named region if you want a large area&lt;br /&gt;
* Draw a box on the map, it will then ask you if you want a Shapefile or KML&lt;br /&gt;
* Select Shapefile and the .zip data will be prepared for download&lt;br /&gt;
&lt;br /&gt;
=== Import and cleanup ===&lt;br /&gt;
&lt;br /&gt;
You can import the Shapefile or KML into a lat/long location with {{cmd|v.in.ogr}}.&lt;br /&gt;
&lt;br /&gt;
The data comes as many discrete line segments. It may be useful to combine those into individual polylines. Fortunately they all seem to touch so doing that is fairly simple with the {{cmd|v.build.polylines}} module. If in some areas they aren't exactly touching the {{cmd|v.clean}} module's ''snap'' tool can be used with a very small threshold value to fix that.&lt;br /&gt;
&lt;br /&gt;
* {{cmd|d.vect}}'s '-c' flag can be used to color each of the various line segments with a different random color.&lt;br /&gt;
&lt;br /&gt;
==== Combine line segments into continuous islands ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Import the Shapefile. The '-o' flag is used here to ignore NAD83 -&amp;gt; WGS84 datum mismatch&lt;br /&gt;
v.in.ogr dsn=CUSPLine.shp out=CUSP_coastline_extract_raw -o&lt;br /&gt;
&lt;br /&gt;
# if needed:   (wasn't for me)&lt;br /&gt;
# v.clean tool=snap threshold=0.000001&lt;br /&gt;
&lt;br /&gt;
# n.b. there's a bug in GRASS v6.4; use GRASS v7 or apply bugfix of Jan. 5, 2013&lt;br /&gt;
v.build.polylines cats=first type=line --verbose \&lt;br /&gt;
  in=CUSP_coastline_extract_raw out=CUSP_coastline_extract_polyline&lt;br /&gt;
&lt;br /&gt;
# you can keep the table if you like, but note the values are only valid for the first segment&lt;br /&gt;
v.db.droptable -f CUSP_coastline_extract_polyline&lt;br /&gt;
&lt;br /&gt;
# export again as a Shapefile&lt;br /&gt;
v.out.ogr format=ESRI_Shapefile \&lt;br /&gt;
  in=CUSP_coastline_extract_polyline out=CUSP_coastline_extract_polyline.shp&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Lines to area ===&lt;br /&gt;
&lt;br /&gt;
If you want filled areas not lines you can use the following commands:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# convert lines to boundaries&lt;br /&gt;
v.type from_type=line to_type=boundary&lt;br /&gt;
&lt;br /&gt;
# remove line segment category numbers from boundaries&lt;br /&gt;
v.category option=del&lt;br /&gt;
&lt;br /&gt;
# create areas (adds centroids)&lt;br /&gt;
v.category option=add type=area&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== See also ===&lt;br /&gt;
&lt;br /&gt;
* The {{cmd|v.clean}} module's 'tool=rmsa' to remove small angles (spikes)&lt;br /&gt;
* The {{cmd|v.generalize}} module to simplify the coastline&lt;br /&gt;
* [[Global datasets]]&lt;br /&gt;
&lt;br /&gt;
[[Category: Geodata]]&lt;br /&gt;
[[Category: Import]]&lt;/div&gt;</summary>
		<author><name>⚠️HamishBowman</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=NLCD_Land_Cover&amp;diff=26378</id>
		<title>NLCD Land Cover</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=NLCD_Land_Cover&amp;diff=26378"/>
		<updated>2020-11-12T21:44:19Z</updated>

		<summary type="html">&lt;p&gt;⚠️HamishBowman: /* See also */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[image:NLCD_2016_Land_Cover_example.png|500px|right|thumb|NLCD2016 land cover example, south shore of Long Island, NY]]&lt;br /&gt;
&lt;br /&gt;
== About ==&lt;br /&gt;
&lt;br /&gt;
* Raster grid covering the Continental US at 30 meter resolution&lt;br /&gt;
&lt;br /&gt;
* https://www.mrlc.gov/data/nlcd-2016-land-cover-conus&lt;br /&gt;
&lt;br /&gt;
From the Spearfish dataset's ''landcover.30m'' history file:&lt;br /&gt;
: National Land Cover Data Set NLCD, U.S. Geological Survey (USGS)&lt;br /&gt;
:  ''The NLCD was compiled from Landsat TM imagery (circa 1992) with a spatial resolution of 30 meters supplemented by various ancillary data (where available). The satellite images were analyzed and interpreted by using very large, sometimes multi-State, image  mosaics (that is, up to 18 Landsat scenes). Because a relatively small number of aerial photographs were necessarily conducted from a broad spatial perspective. Furthermore, the accuracy assessments correspond to Federal Regions, which are groupings of contiguous States. Thus, the reliability of the data is greatest at the State or multi-State level. The statistical accuracy of the data is known only for the region.''&lt;br /&gt;
&lt;br /&gt;
== Obtaining data from the USGS ==&lt;br /&gt;
&lt;br /&gt;
The classic Spearfish GRASS sample dataset contains a ''landcover.30m'' raster map which is an excerpt from an older version of the NLCD dataset.&lt;br /&gt;
&lt;br /&gt;
* Download site: https://www.mrlc.gov/data&lt;br /&gt;
&lt;br /&gt;
* Data is provided in ERDAS Imagine .img format.&lt;br /&gt;
: As of April 2019 the zipped dataset is a 1.4 GB.&lt;br /&gt;
&lt;br /&gt;
* Create an Albers location&lt;br /&gt;
: this can also be done automatically with the Location Wizard using the downloaded .img file.&lt;br /&gt;
&lt;br /&gt;
Here are the values for the CONUS dataset:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
name: Albers Equal Area&lt;br /&gt;
proj: aea&lt;br /&gt;
datum: wgs84&lt;br /&gt;
ellps: wgs84&lt;br /&gt;
lat_1: 29.5&lt;br /&gt;
lat_2: 45.5&lt;br /&gt;
lat_0: 23&lt;br /&gt;
lon_0: -96&lt;br /&gt;
x_0: 0&lt;br /&gt;
y_0: 0&lt;br /&gt;
towgs84: 0,0,0,0,0,0,0&lt;br /&gt;
no_defs: defined&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Importing ==&lt;br /&gt;
&lt;br /&gt;
Rather than import the entire 16GB raster image, just make a virtual link to it:&lt;br /&gt;
 r.external in=NLCD_2016_Land_Cover_L48_20190424.img out=NLCD_2016_Land_Cover_L48_20190424 title=&amp;quot;Land Cover 2016&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Then use g.region to zoom to your area of interest and r.mapcalc to extract a subset&lt;br /&gt;
 g.region -p n= s= e= w= res=30 align=NLCD_2016_Land_Cover_L48_20190424&lt;br /&gt;
 r.mapcalc &amp;quot;NLCD.extract = NLCD_2016_Land_Cover_L48_20190424&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Categories ==&lt;br /&gt;
&lt;br /&gt;
These can be applied with the r.category module.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
0:Unclassified&lt;br /&gt;
11:Open Water&lt;br /&gt;
12:Perennial Snow/Ice&lt;br /&gt;
21:Developed, Open Space&lt;br /&gt;
22:Developed, Low Intensity&lt;br /&gt;
23:Developed, Medium Intensity&lt;br /&gt;
24:Developed, High Intensity&lt;br /&gt;
31:Barren Land&lt;br /&gt;
41:Deciduous Forest&lt;br /&gt;
42:Evergreen Forest&lt;br /&gt;
43:Mixed Forest&lt;br /&gt;
52:Shrub/Scrub&lt;br /&gt;
71:Herbaceous&lt;br /&gt;
81:Hay/Pasture&lt;br /&gt;
82:Cultivated Crops&lt;br /&gt;
90:Woody Wetlands&lt;br /&gt;
95:Emergent Herbaceous Wetlands&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Colors ==&lt;br /&gt;
&lt;br /&gt;
[[image:NLCD_Colour_Classification_Update.jpg|right|thumb|NLCD2016 land cover classification legend from mrlc.gov]]&lt;br /&gt;
&lt;br /&gt;
These should load in automatically, but if they don't here are the official colors which you can load in with the r.colors module's rules= option:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
11 70:107:159&lt;br /&gt;
12 209:222:248&lt;br /&gt;
21 222:197:197&lt;br /&gt;
22 217:146:130&lt;br /&gt;
23 235:0:0&lt;br /&gt;
24 171:0:0&lt;br /&gt;
31 179:172:159&lt;br /&gt;
41 104:171:95&lt;br /&gt;
42 28:95:44&lt;br /&gt;
43 181:197:143&lt;br /&gt;
52 204:184:121&lt;br /&gt;
71 223:223:194&lt;br /&gt;
81 220:217:57&lt;br /&gt;
82 171:108:40&lt;br /&gt;
90 184:217:235&lt;br /&gt;
95 108:159:184&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Legend ==&lt;br /&gt;
&lt;br /&gt;
Use the -n and -c flags of d.legend to limit the legend to named categories.&lt;br /&gt;
&lt;br /&gt;
* See also https://www.mrlc.gov/data/legends/national-land-cover-database-2016-nlcd2016-legend&lt;br /&gt;
&lt;br /&gt;
== Manning's n ==&lt;br /&gt;
&lt;br /&gt;
For using as a basis for Mannings n friction coefficients, you can make a virtual reclass map with ''r.reclass''. The module will only reclass as integers so the table below is reclassed into parts per ten-thousand. Crop your area of interest with r.mapcalc and divide by 10000.0 at the same time to get the Manning's n number.&lt;br /&gt;
&lt;br /&gt;
Actual values for your location will vary widely, the following is simply a starting point.&lt;br /&gt;
&amp;lt;!-- : ''TODO: values of 999 require values from the literature''  --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
0 = 0  Unclassified&lt;br /&gt;
11 = 0250 Open Water&lt;br /&gt;
12 = 0220 Perennial Snow/Ice&lt;br /&gt;
21 = 0400 Developed, Open Space&lt;br /&gt;
22 = 1000 Developed, Low Intensity&lt;br /&gt;
23 = 0800 Developed, Medium Intensity&lt;br /&gt;
24 = 1500 Developed, High Intensity&lt;br /&gt;
31 = 0275 Barren Land&lt;br /&gt;
41 = 1600 Deciduous Forest&lt;br /&gt;
42 = 1800 Evergreen Forest&lt;br /&gt;
43 = 1700 Mixed Forest&lt;br /&gt;
52 = 1000 Shrub/Scrub&lt;br /&gt;
71 = 0350 Herbaceous&lt;br /&gt;
81 = 0325 Hay/Pasture&lt;br /&gt;
82 = 0375 Cultivated Crops&lt;br /&gt;
90 = 1200 Woody Wetlands&lt;br /&gt;
95 = 0700 Emergent Herbaceous Wetlands&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
References:&lt;br /&gt;
* [http://www.fsl.orst.edu/geowater/FX3/help/8_Hydraulic_Reference/Mannings_n_Tables.htm Ven Te Chow, 1959] (Corvallis)&lt;br /&gt;
* [https://pubs.usgs.gov/wsp/2339/report.pdf USGS's Guide for Selecting Manning's Roughness Coefficients for Natural Channels and Flood Plains]&lt;br /&gt;
&lt;br /&gt;
* [https://www.wcc.nrcs.usda.gov/ftpref/wntsc/H&amp;amp;H/HecRAS/NEDC/lectures/docs/Manning%92s%20n-values%20for%20Kansas%20Dam%20Breach%20Analyses%20-%20Adopted%20071216.pdf Manning's n Values for Various Land Covers To Use for Dam Breach Analyses by NRCS in Kansas]&lt;br /&gt;
&lt;br /&gt;
* Kalyanapu, Alfred &amp;amp; Burian, Steve &amp;amp; Mcpherson, Timothy. (2009). ''Effect of land use-based surface roughness on hydrologic model output.'' Journal of Spatial Hydrology. 9. 51-71.&lt;br /&gt;
* Liu, Zhu &amp;amp; Merwade, Venkatesh &amp;amp; Jafarzadegan, Keighobad. (2018). ''Investigating the role of model structure and surface roughness in generating flood inundation extents using 1D and 2D hydraulic models.'' Journal of Flood Risk Management. e12347. 10.1111/jfr3.12347.&lt;br /&gt;
&lt;br /&gt;
* Bunya, et al.. (2010). ''A High-Resolution Coupled Riverine Flow, Tide, Wind, Wind Wave, and Storm Surge Model for Southern Louisiana and Mississippi. Part I: Model Development and Validation.'' Monthly weather review 138.2: 345-377.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [[CORINE Land Cover]]&lt;br /&gt;
* [[Global Land Cover Characteristics]]&lt;br /&gt;
* [[CUSP Coastline|NOAA's continuously updated shoreline (CUSP)]]&lt;br /&gt;
&lt;br /&gt;
[[Category: Geodata]]&lt;br /&gt;
[[Category: Import]]&lt;/div&gt;</summary>
		<author><name>⚠️HamishBowman</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=CUSP_Coastline&amp;diff=26377</id>
		<title>CUSP Coastline</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=CUSP_Coastline&amp;diff=26377"/>
		<updated>2020-11-12T21:42:27Z</updated>

		<summary type="html">&lt;p&gt;⚠️HamishBowman: /* Combine line segments into continuous islands */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== NOAA's CUSP: Continually Updated Shoreline ==&lt;br /&gt;
&lt;br /&gt;
* [https://shoreline.noaa.gov/data/datasheets/cusp.html Description]&lt;br /&gt;
: ''&amp;quot;This data set was created to deliver continuous shoreline with frequent updates to support various GIS applications including coastal and marine spatial planning, tsunami and storm surge modeling, hazard delineation and mitigation, environmental studies and may assist in nautical chart updates.&amp;quot;''&lt;br /&gt;
&lt;br /&gt;
=== Retrieving data ===&lt;br /&gt;
&lt;br /&gt;
* Visit NOAA's [https://www.ngs.noaa.gov/CUSP/ CUSP data access site]&lt;br /&gt;
* Zoom into your area of interest&lt;br /&gt;
: (since it's running OpenLayers you can do the nice shift+left-mouse-drag trick to quickly zoom into a box of interest)&lt;br /&gt;
* Along the top of the map is a tool bar, click on &amp;quot;Download&amp;quot; on the right end and then select CUSP&lt;br /&gt;
* You can now either select by rectangle, or by named region if you want a large area&lt;br /&gt;
* Draw a box on the map, it will then ask you if you want a Shapefile or KML&lt;br /&gt;
* Select Shapefile and the .zip data will be prepared for download&lt;br /&gt;
&lt;br /&gt;
=== Import and cleanup ===&lt;br /&gt;
&lt;br /&gt;
You can import the Shapefile or KML into a lat/long location with {{cmd|v.in.ogr}}.&lt;br /&gt;
&lt;br /&gt;
The data comes as many discrete line segments. It may be useful to combine those into individual polylines. Fortunately they all seem to touch so doing that is fairly simple with the {{cmd|v.build.polylines}} module. If in some areas they aren't exactly touching the {{cmd|v.clean}} module's ''snap'' tool can be used with a very small threshold value to fix that.&lt;br /&gt;
&lt;br /&gt;
* {{cmd|d.vect}}'s '-c' flag can be used to color each of the various line segments with a different random color.&lt;br /&gt;
&lt;br /&gt;
==== Combine line segments into continuous islands ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Import the Shapefile. The '-o' flag is used here to ignore NAD83 -&amp;gt; WGS84 datum mismatch&lt;br /&gt;
v.in.ogr dsn=CUSPLine.shp out=CUSP_coastline_extract_raw -o&lt;br /&gt;
&lt;br /&gt;
# if needed:   (wasn't for me)&lt;br /&gt;
# v.clean tool=snap threshold=0.000001&lt;br /&gt;
&lt;br /&gt;
# n.b. there's a bug in GRASS v6.4; use GRASS v7 or apply bugfix of Jan. 5, 2013&lt;br /&gt;
v.build.polylines cats=first type=line --verbose \&lt;br /&gt;
  in=CUSP_coastline_extract_raw out=CUSP_coastline_extract_polyline&lt;br /&gt;
&lt;br /&gt;
# you can keep the table if you like, but note the values are only valid for the first segment&lt;br /&gt;
v.db.droptable -f CUSP_coastline_extract_polyline&lt;br /&gt;
&lt;br /&gt;
# export again as a Shapefile&lt;br /&gt;
v.out.ogr format=ESRI_Shapefile \&lt;br /&gt;
  in=CUSP_coastline_extract_polyline out=CUSP_coastline_extract_polyline.shp&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Lines to area ===&lt;br /&gt;
&lt;br /&gt;
If you want filled areas not lines you can use the following commands:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# convert lines to boundaries&lt;br /&gt;
v.type from_type=line to_type=boundary&lt;br /&gt;
&lt;br /&gt;
# remove line segment category numbers from boundaries&lt;br /&gt;
v.category option=del&lt;br /&gt;
&lt;br /&gt;
# create areas (adds centroids)&lt;br /&gt;
v.category option=add type=area&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== See also ===&lt;br /&gt;
&lt;br /&gt;
* [[Global datasets]]&lt;br /&gt;
&lt;br /&gt;
[[Category: Geodata]]&lt;br /&gt;
[[Category: Import]]&lt;/div&gt;</summary>
		<author><name>⚠️HamishBowman</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=CUSP_Coastline&amp;diff=26376</id>
		<title>CUSP Coastline</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=CUSP_Coastline&amp;diff=26376"/>
		<updated>2020-11-12T21:40:23Z</updated>

		<summary type="html">&lt;p&gt;⚠️HamishBowman: /* Import and cleanup */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== NOAA's CUSP: Continually Updated Shoreline ==&lt;br /&gt;
&lt;br /&gt;
* [https://shoreline.noaa.gov/data/datasheets/cusp.html Description]&lt;br /&gt;
: ''&amp;quot;This data set was created to deliver continuous shoreline with frequent updates to support various GIS applications including coastal and marine spatial planning, tsunami and storm surge modeling, hazard delineation and mitigation, environmental studies and may assist in nautical chart updates.&amp;quot;''&lt;br /&gt;
&lt;br /&gt;
=== Retrieving data ===&lt;br /&gt;
&lt;br /&gt;
* Visit NOAA's [https://www.ngs.noaa.gov/CUSP/ CUSP data access site]&lt;br /&gt;
* Zoom into your area of interest&lt;br /&gt;
: (since it's running OpenLayers you can do the nice shift+left-mouse-drag trick to quickly zoom into a box of interest)&lt;br /&gt;
* Along the top of the map is a tool bar, click on &amp;quot;Download&amp;quot; on the right end and then select CUSP&lt;br /&gt;
* You can now either select by rectangle, or by named region if you want a large area&lt;br /&gt;
* Draw a box on the map, it will then ask you if you want a Shapefile or KML&lt;br /&gt;
* Select Shapefile and the .zip data will be prepared for download&lt;br /&gt;
&lt;br /&gt;
=== Import and cleanup ===&lt;br /&gt;
&lt;br /&gt;
You can import the Shapefile or KML into a lat/long location with {{cmd|v.in.ogr}}.&lt;br /&gt;
&lt;br /&gt;
The data comes as many discrete line segments. It may be useful to combine those into individual polylines. Fortunately they all seem to touch so doing that is fairly simple with the {{cmd|v.build.polylines}} module. If in some areas they aren't exactly touching the {{cmd|v.clean}} module's ''snap'' tool can be used with a very small threshold value to fix that.&lt;br /&gt;
&lt;br /&gt;
* {{cmd|d.vect}}'s '-c' flag can be used to color each of the various line segments with a different random color.&lt;br /&gt;
&lt;br /&gt;
==== Combine line segments into continuous islands ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Import the Shapefile. The '-o' flag is used here to ignore NAD83 -&amp;gt; WGS84 datum mismatch&lt;br /&gt;
v.in.ogr dsn=CUSPLine.shp out=CUSP_coastline_extract_raw -o&lt;br /&gt;
&lt;br /&gt;
# if needed:   (wasn't for me)&lt;br /&gt;
# v.clean tool=snap threshold=0.000001&lt;br /&gt;
&lt;br /&gt;
# n.b. there's a bug in GRASS v6.4; use GRASS v7 or apply bugfix of Jan. 5, 2013&lt;br /&gt;
v.build.polylines cats=first type=line --verbose \&lt;br /&gt;
  in=CUSP_coastline_extract_raw out=CUSP_coastline_extract_polyline&lt;br /&gt;
&lt;br /&gt;
# can keep, but values are only valid for the first segment&lt;br /&gt;
v.db.droptable -f CUSP_coastline_extract_polyline&lt;br /&gt;
&lt;br /&gt;
# export shapefile&lt;br /&gt;
v.out.ogr format=ESRI_Shapefile \&lt;br /&gt;
  in=CUSP_coastline_extract_polyline \&lt;br /&gt;
  out=CUSP_coastline_extract_polyline.shp&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Lines to area ===&lt;br /&gt;
&lt;br /&gt;
If you want filled areas not lines you can use the following commands:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# convert lines to boundaries&lt;br /&gt;
v.type from_type=line to_type=boundary&lt;br /&gt;
&lt;br /&gt;
# remove line segment category numbers from boundaries&lt;br /&gt;
v.category option=del&lt;br /&gt;
&lt;br /&gt;
# create areas (adds centroids)&lt;br /&gt;
v.category option=add type=area&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== See also ===&lt;br /&gt;
&lt;br /&gt;
* [[Global datasets]]&lt;br /&gt;
&lt;br /&gt;
[[Category: Geodata]]&lt;br /&gt;
[[Category: Import]]&lt;/div&gt;</summary>
		<author><name>⚠️HamishBowman</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=CUSP_Coastline&amp;diff=26375</id>
		<title>CUSP Coastline</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=CUSP_Coastline&amp;diff=26375"/>
		<updated>2020-11-12T21:37:20Z</updated>

		<summary type="html">&lt;p&gt;⚠️HamishBowman: /* Import and cleanup */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== NOAA's CUSP: Continually Updated Shoreline ==&lt;br /&gt;
&lt;br /&gt;
* [https://shoreline.noaa.gov/data/datasheets/cusp.html Description]&lt;br /&gt;
: ''&amp;quot;This data set was created to deliver continuous shoreline with frequent updates to support various GIS applications including coastal and marine spatial planning, tsunami and storm surge modeling, hazard delineation and mitigation, environmental studies and may assist in nautical chart updates.&amp;quot;''&lt;br /&gt;
&lt;br /&gt;
=== Retrieving data ===&lt;br /&gt;
&lt;br /&gt;
* Visit NOAA's [https://www.ngs.noaa.gov/CUSP/ CUSP data access site]&lt;br /&gt;
* Zoom into your area of interest&lt;br /&gt;
: (since it's running OpenLayers you can do the nice shift+left-mouse-drag trick to quickly zoom into a box of interest)&lt;br /&gt;
* Along the top of the map is a tool bar, click on &amp;quot;Download&amp;quot; on the right end and then select CUSP&lt;br /&gt;
* You can now either select by rectangle, or by named region if you want a large area&lt;br /&gt;
* Draw a box on the map, it will then ask you if you want a Shapefile or KML&lt;br /&gt;
* Select Shapefile and the .zip data will be prepared for download&lt;br /&gt;
&lt;br /&gt;
=== Import and cleanup ===&lt;br /&gt;
&lt;br /&gt;
You can import the Shapefile or KML into a lat/long location with v.in.ogr.&lt;br /&gt;
&lt;br /&gt;
The data comes as many discrete line segments. It may be useful to combine those into individual polylines. Fortunately they all seem to touch so doing that is fairly simple with the v.build.polylines module. If in some areas they aren't exactly touching the v.clean module's ''snap'' tool can be used with a very small threshold value to fix that.&lt;br /&gt;
&lt;br /&gt;
==== Combine line segments into continuous islands ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Import the Shapefile. The '-o' flag is used here to ignore NAD83 -&amp;gt; WGS84 datum mismatch&lt;br /&gt;
v.in.ogr dsn=CUSPLine.shp out=CUSP_coastline_extract_raw -o&lt;br /&gt;
&lt;br /&gt;
# if needed:   (wasn't for me)&lt;br /&gt;
# v.clean tool=snap threshold=0.000001&lt;br /&gt;
&lt;br /&gt;
# n.b. there's a bug in GRASS v6.4; use GRASS v7 or apply bugfix of Jan. 5, 2013&lt;br /&gt;
v.build.polylines cats=first type=line --verbose \&lt;br /&gt;
  in=CUSP_coastline_extract_raw out=CUSP_coastline_extract_polyline&lt;br /&gt;
&lt;br /&gt;
# can keep, but values are only valid for the first segment&lt;br /&gt;
v.db.droptable -f CUSP_coastline_extract_polyline&lt;br /&gt;
&lt;br /&gt;
# export shapefile&lt;br /&gt;
v.out.ogr format=ESRI_Shapefile \&lt;br /&gt;
  in=CUSP_coastline_extract_polyline \&lt;br /&gt;
  out=CUSP_coastline_extract_polyline.shp&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Lines to area ===&lt;br /&gt;
&lt;br /&gt;
If you want filled areas not lines you can use the following commands:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# convert lines to boundaries&lt;br /&gt;
v.type from_type=line to_type=boundary&lt;br /&gt;
&lt;br /&gt;
# remove line segment category numbers from boundaries&lt;br /&gt;
v.category option=del&lt;br /&gt;
&lt;br /&gt;
# create areas (adds centroids)&lt;br /&gt;
v.category option=add type=area&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== See also ===&lt;br /&gt;
&lt;br /&gt;
* [[Global datasets]]&lt;br /&gt;
&lt;br /&gt;
[[Category: Geodata]]&lt;br /&gt;
[[Category: Import]]&lt;/div&gt;</summary>
		<author><name>⚠️HamishBowman</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=CUSP_Coastline&amp;diff=26374</id>
		<title>CUSP Coastline</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=CUSP_Coastline&amp;diff=26374"/>
		<updated>2020-11-12T21:36:26Z</updated>

		<summary type="html">&lt;p&gt;⚠️HamishBowman: /* Lines to area */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== NOAA's CUSP: Continually Updated Shoreline ==&lt;br /&gt;
&lt;br /&gt;
* [https://shoreline.noaa.gov/data/datasheets/cusp.html Description]&lt;br /&gt;
: ''&amp;quot;This data set was created to deliver continuous shoreline with frequent updates to support various GIS applications including coastal and marine spatial planning, tsunami and storm surge modeling, hazard delineation and mitigation, environmental studies and may assist in nautical chart updates.&amp;quot;''&lt;br /&gt;
&lt;br /&gt;
=== Retrieving data ===&lt;br /&gt;
&lt;br /&gt;
* Visit NOAA's [https://www.ngs.noaa.gov/CUSP/ CUSP data access site]&lt;br /&gt;
* Zoom into your area of interest&lt;br /&gt;
: (since it's running OpenLayers you can do the nice shift+left-mouse-drag trick to quickly zoom into a box of interest)&lt;br /&gt;
* Along the top of the map is a tool bar, click on &amp;quot;Download&amp;quot; on the right end and then select CUSP&lt;br /&gt;
* You can now either select by rectangle, or by named region if you want a large area&lt;br /&gt;
* Draw a box on the map, it will then ask you if you want a Shapefile or KML&lt;br /&gt;
* Select Shapefile and the .zip data will be prepared for download&lt;br /&gt;
&lt;br /&gt;
=== Import and cleanup ===&lt;br /&gt;
&lt;br /&gt;
You can import the Shapefile or KML with v.in.ogr.&lt;br /&gt;
&lt;br /&gt;
The data comes as many discrete line segments. It may be useful to combine those into individual polylines. Fortunately they all seem to touch so doing that is fairly simple with the v.build.polylines module. If in some areas they aren't exactly touching the v.clean module's ''snap'' tool can be used with a very small threshold value to fix that.&lt;br /&gt;
&lt;br /&gt;
==== Combine line segments into continuous islands ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Import the Shapefile. The '-o' flag is used here to ignore NAD83 -&amp;gt; WGS84 datum mismatch&lt;br /&gt;
v.in.ogr dsn=CUSPLine.shp out=CUSP_coastline_extract_raw -o&lt;br /&gt;
&lt;br /&gt;
# if needed:   (wasn't for me)&lt;br /&gt;
# v.clean tool=snap threshold=0.000001&lt;br /&gt;
&lt;br /&gt;
# n.b. there's a bug in GRASS v6.4; use GRASS v7 or apply bugfix of Jan. 5, 2013&lt;br /&gt;
v.build.polylines cats=first type=line --verbose \&lt;br /&gt;
  in=CUSP_coastline_extract_raw out=CUSP_coastline_extract_polyline&lt;br /&gt;
&lt;br /&gt;
# can keep, but values are only valid for the first segment&lt;br /&gt;
v.db.droptable -f CUSP_coastline_extract_polyline&lt;br /&gt;
&lt;br /&gt;
# export shapefile&lt;br /&gt;
v.out.ogr format=ESRI_Shapefile \&lt;br /&gt;
  in=CUSP_coastline_extract_polyline \&lt;br /&gt;
  out=CUSP_coastline_extract_polyline.shp&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Lines to area ===&lt;br /&gt;
&lt;br /&gt;
If you want filled areas not lines you can use the following commands:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# convert lines to boundaries&lt;br /&gt;
v.type from_type=line to_type=boundary&lt;br /&gt;
&lt;br /&gt;
# remove line segment category numbers from boundaries&lt;br /&gt;
v.category option=del&lt;br /&gt;
&lt;br /&gt;
# create areas (adds centroids)&lt;br /&gt;
v.category option=add type=area&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== See also ===&lt;br /&gt;
&lt;br /&gt;
* [[Global datasets]]&lt;br /&gt;
&lt;br /&gt;
[[Category: Geodata]]&lt;br /&gt;
[[Category: Import]]&lt;/div&gt;</summary>
		<author><name>⚠️HamishBowman</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=CUSP_Coastline&amp;diff=26373</id>
		<title>CUSP Coastline</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=CUSP_Coastline&amp;diff=26373"/>
		<updated>2020-11-12T21:36:08Z</updated>

		<summary type="html">&lt;p&gt;⚠️HamishBowman: /* Combine line segments into continuous islands */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== NOAA's CUSP: Continually Updated Shoreline ==&lt;br /&gt;
&lt;br /&gt;
* [https://shoreline.noaa.gov/data/datasheets/cusp.html Description]&lt;br /&gt;
: ''&amp;quot;This data set was created to deliver continuous shoreline with frequent updates to support various GIS applications including coastal and marine spatial planning, tsunami and storm surge modeling, hazard delineation and mitigation, environmental studies and may assist in nautical chart updates.&amp;quot;''&lt;br /&gt;
&lt;br /&gt;
=== Retrieving data ===&lt;br /&gt;
&lt;br /&gt;
* Visit NOAA's [https://www.ngs.noaa.gov/CUSP/ CUSP data access site]&lt;br /&gt;
* Zoom into your area of interest&lt;br /&gt;
: (since it's running OpenLayers you can do the nice shift+left-mouse-drag trick to quickly zoom into a box of interest)&lt;br /&gt;
* Along the top of the map is a tool bar, click on &amp;quot;Download&amp;quot; on the right end and then select CUSP&lt;br /&gt;
* You can now either select by rectangle, or by named region if you want a large area&lt;br /&gt;
* Draw a box on the map, it will then ask you if you want a Shapefile or KML&lt;br /&gt;
* Select Shapefile and the .zip data will be prepared for download&lt;br /&gt;
&lt;br /&gt;
=== Import and cleanup ===&lt;br /&gt;
&lt;br /&gt;
You can import the Shapefile or KML with v.in.ogr.&lt;br /&gt;
&lt;br /&gt;
The data comes as many discrete line segments. It may be useful to combine those into individual polylines. Fortunately they all seem to touch so doing that is fairly simple with the v.build.polylines module. If in some areas they aren't exactly touching the v.clean module's ''snap'' tool can be used with a very small threshold value to fix that.&lt;br /&gt;
&lt;br /&gt;
==== Combine line segments into continuous islands ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Import the Shapefile. The '-o' flag is used here to ignore NAD83 -&amp;gt; WGS84 datum mismatch&lt;br /&gt;
v.in.ogr dsn=CUSPLine.shp out=CUSP_coastline_extract_raw -o&lt;br /&gt;
&lt;br /&gt;
# if needed:   (wasn't for me)&lt;br /&gt;
# v.clean tool=snap threshold=0.000001&lt;br /&gt;
&lt;br /&gt;
# n.b. there's a bug in GRASS v6.4; use GRASS v7 or apply bugfix of Jan. 5, 2013&lt;br /&gt;
v.build.polylines cats=first type=line --verbose \&lt;br /&gt;
  in=CUSP_coastline_extract_raw out=CUSP_coastline_extract_polyline&lt;br /&gt;
&lt;br /&gt;
# can keep, but values are only valid for the first segment&lt;br /&gt;
v.db.droptable -f CUSP_coastline_extract_polyline&lt;br /&gt;
&lt;br /&gt;
# export shapefile&lt;br /&gt;
v.out.ogr format=ESRI_Shapefile \&lt;br /&gt;
  in=CUSP_coastline_extract_polyline \&lt;br /&gt;
  out=CUSP_coastline_extract_polyline.shp&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Lines to area ===&lt;br /&gt;
&lt;br /&gt;
If you want filled areas not lines you can use the following commands:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# convert lines to boundaries&lt;br /&gt;
v.type from_type=line to_type=boundary&lt;br /&gt;
&lt;br /&gt;
# remove line segment category numbers from boundaries&lt;br /&gt;
v.category option=del&lt;br /&gt;
&lt;br /&gt;
# create areas (adds centroids)&lt;br /&gt;
v.category option=add type=area&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== See also ===&lt;br /&gt;
&lt;br /&gt;
* [[Global datasets]]&lt;br /&gt;
&lt;br /&gt;
[[Category: Geodata]]&lt;br /&gt;
[[Category: Import]]&lt;/div&gt;</summary>
		<author><name>⚠️HamishBowman</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=CUSP_Coastline&amp;diff=26372</id>
		<title>CUSP Coastline</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=CUSP_Coastline&amp;diff=26372"/>
		<updated>2020-11-12T21:35:22Z</updated>

		<summary type="html">&lt;p&gt;⚠️HamishBowman: /* See also */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== NOAA's CUSP: Continually Updated Shoreline ==&lt;br /&gt;
&lt;br /&gt;
* [https://shoreline.noaa.gov/data/datasheets/cusp.html Description]&lt;br /&gt;
: ''&amp;quot;This data set was created to deliver continuous shoreline with frequent updates to support various GIS applications including coastal and marine spatial planning, tsunami and storm surge modeling, hazard delineation and mitigation, environmental studies and may assist in nautical chart updates.&amp;quot;''&lt;br /&gt;
&lt;br /&gt;
=== Retrieving data ===&lt;br /&gt;
&lt;br /&gt;
* Visit NOAA's [https://www.ngs.noaa.gov/CUSP/ CUSP data access site]&lt;br /&gt;
* Zoom into your area of interest&lt;br /&gt;
: (since it's running OpenLayers you can do the nice shift+left-mouse-drag trick to quickly zoom into a box of interest)&lt;br /&gt;
* Along the top of the map is a tool bar, click on &amp;quot;Download&amp;quot; on the right end and then select CUSP&lt;br /&gt;
* You can now either select by rectangle, or by named region if you want a large area&lt;br /&gt;
* Draw a box on the map, it will then ask you if you want a Shapefile or KML&lt;br /&gt;
* Select Shapefile and the .zip data will be prepared for download&lt;br /&gt;
&lt;br /&gt;
=== Import and cleanup ===&lt;br /&gt;
&lt;br /&gt;
You can import the Shapefile or KML with v.in.ogr.&lt;br /&gt;
&lt;br /&gt;
The data comes as many discrete line segments. It may be useful to combine those into individual polylines. Fortunately they all seem to touch so doing that is fairly simple with the v.build.polylines module. If in some areas they aren't exactly touching the v.clean module's ''snap'' tool can be used with a very small threshold value to fix that.&lt;br /&gt;
&lt;br /&gt;
==== Combine line segments into continuous islands ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Import the Shapefile. The '-o' flag is used here to ignore NAD83 -&amp;gt; WGS84 datum mismatch&lt;br /&gt;
v.in.ogr dsn=CUSPLine.shp out=CUSP_coastline_extract_raw -o&lt;br /&gt;
&lt;br /&gt;
# if needed:   (wasn't for me)&lt;br /&gt;
# v.clean tool=snap threshold=0.000001&lt;br /&gt;
&lt;br /&gt;
# n.b. there's a bug in GRASS v6.4; use GRASS v7 or apply bugfix of Jan. 5, 2013&lt;br /&gt;
v.build.polylines cats=first type=line --verbose \&lt;br /&gt;
  in=CUSP_coastline_extract_raw out=CUSP_coastline_extract_polyline&lt;br /&gt;
&lt;br /&gt;
# can keep, but values are only valid for the first segment&lt;br /&gt;
v.db.droptable -f CUSP_coastline_extract_polyline&lt;br /&gt;
&lt;br /&gt;
# export shapefile&lt;br /&gt;
v.out.ogr format=ESRI_Shapefile \&lt;br /&gt;
  in=CUSP_coastline_extract_polyline \&lt;br /&gt;
  out=CUSP_coastline_extract_polyline.shp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Lines to area ===&lt;br /&gt;
&lt;br /&gt;
If you want filled areas not lines you can use the following commands:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# convert lines to boundaries&lt;br /&gt;
v.type from_type=line to_type=boundary&lt;br /&gt;
&lt;br /&gt;
# remove line segment category numbers from boundaries&lt;br /&gt;
v.category option=del&lt;br /&gt;
&lt;br /&gt;
# create areas (adds centroids)&lt;br /&gt;
v.category option=add type=area&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== See also ===&lt;br /&gt;
&lt;br /&gt;
* [[Global datasets]]&lt;br /&gt;
&lt;br /&gt;
[[Category: Geodata]]&lt;br /&gt;
[[Category: Import]]&lt;/div&gt;</summary>
		<author><name>⚠️HamishBowman</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=CUSP_Coastline&amp;diff=26371</id>
		<title>CUSP Coastline</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=CUSP_Coastline&amp;diff=26371"/>
		<updated>2020-11-12T21:34:49Z</updated>

		<summary type="html">&lt;p&gt;⚠️HamishBowman: /* Retrieving data */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== NOAA's CUSP: Continually Updated Shoreline ==&lt;br /&gt;
&lt;br /&gt;
* [https://shoreline.noaa.gov/data/datasheets/cusp.html Description]&lt;br /&gt;
: ''&amp;quot;This data set was created to deliver continuous shoreline with frequent updates to support various GIS applications including coastal and marine spatial planning, tsunami and storm surge modeling, hazard delineation and mitigation, environmental studies and may assist in nautical chart updates.&amp;quot;''&lt;br /&gt;
&lt;br /&gt;
=== Retrieving data ===&lt;br /&gt;
&lt;br /&gt;
* Visit NOAA's [https://www.ngs.noaa.gov/CUSP/ CUSP data access site]&lt;br /&gt;
* Zoom into your area of interest&lt;br /&gt;
: (since it's running OpenLayers you can do the nice shift+left-mouse-drag trick to quickly zoom into a box of interest)&lt;br /&gt;
* Along the top of the map is a tool bar, click on &amp;quot;Download&amp;quot; on the right end and then select CUSP&lt;br /&gt;
* You can now either select by rectangle, or by named region if you want a large area&lt;br /&gt;
* Draw a box on the map, it will then ask you if you want a Shapefile or KML&lt;br /&gt;
* Select Shapefile and the .zip data will be prepared for download&lt;br /&gt;
&lt;br /&gt;
=== Import and cleanup ===&lt;br /&gt;
&lt;br /&gt;
You can import the Shapefile or KML with v.in.ogr.&lt;br /&gt;
&lt;br /&gt;
The data comes as many discrete line segments. It may be useful to combine those into individual polylines. Fortunately they all seem to touch so doing that is fairly simple with the v.build.polylines module. If in some areas they aren't exactly touching the v.clean module's ''snap'' tool can be used with a very small threshold value to fix that.&lt;br /&gt;
&lt;br /&gt;
==== Combine line segments into continuous islands ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Import the Shapefile. The '-o' flag is used here to ignore NAD83 -&amp;gt; WGS84 datum mismatch&lt;br /&gt;
v.in.ogr dsn=CUSPLine.shp out=CUSP_coastline_extract_raw -o&lt;br /&gt;
&lt;br /&gt;
# if needed:   (wasn't for me)&lt;br /&gt;
# v.clean tool=snap threshold=0.000001&lt;br /&gt;
&lt;br /&gt;
# n.b. there's a bug in GRASS v6.4; use GRASS v7 or apply bugfix of Jan. 5, 2013&lt;br /&gt;
v.build.polylines cats=first type=line --verbose \&lt;br /&gt;
  in=CUSP_coastline_extract_raw out=CUSP_coastline_extract_polyline&lt;br /&gt;
&lt;br /&gt;
# can keep, but values are only valid for the first segment&lt;br /&gt;
v.db.droptable -f CUSP_coastline_extract_polyline&lt;br /&gt;
&lt;br /&gt;
# export shapefile&lt;br /&gt;
v.out.ogr format=ESRI_Shapefile \&lt;br /&gt;
  in=CUSP_coastline_extract_polyline \&lt;br /&gt;
  out=CUSP_coastline_extract_polyline.shp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Lines to area ===&lt;br /&gt;
&lt;br /&gt;
If you want filled areas not lines you can use the following commands:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# convert lines to boundaries&lt;br /&gt;
v.type from_type=line to_type=boundary&lt;br /&gt;
&lt;br /&gt;
# remove line segment category numbers from boundaries&lt;br /&gt;
v.category option=del&lt;br /&gt;
&lt;br /&gt;
# create areas (adds centroids)&lt;br /&gt;
v.category option=add type=area&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== See also ===&lt;br /&gt;
&lt;br /&gt;
* [[Global Datasets]]&lt;br /&gt;
&lt;br /&gt;
[[Category: Geodata]]&lt;br /&gt;
[[Category: Import]]&lt;/div&gt;</summary>
		<author><name>⚠️HamishBowman</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=CUSP_Coastline&amp;diff=26370</id>
		<title>CUSP Coastline</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=CUSP_Coastline&amp;diff=26370"/>
		<updated>2020-11-12T21:32:40Z</updated>

		<summary type="html">&lt;p&gt;⚠️HamishBowman: init&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== NOAA's CUSP: Continually Updated Shoreline ==&lt;br /&gt;
&lt;br /&gt;
* [https://shoreline.noaa.gov/data/datasheets/cusp.html Description]&lt;br /&gt;
: ''&amp;quot;This data set was created to deliver continuous shoreline with frequent updates to support various GIS applications including coastal and marine spatial planning, tsunami and storm surge modeling, hazard delineation and mitigation, environmental studies and may assist in nautical chart updates.&amp;quot;''&lt;br /&gt;
&lt;br /&gt;
=== Retrieving data ===&lt;br /&gt;
&lt;br /&gt;
* Visit NOAA's [https://www.ngs.noaa.gov/CUSP/ CUSP data access site]&lt;br /&gt;
* Zoom into you area of interest&lt;br /&gt;
: (since it's running OpenLayers you can do the nice shift+left-mouse-drag trick to quickly zoom into a box of interest)&lt;br /&gt;
* Along the top of the map is a tool bar, click on &amp;quot;Download&amp;quot; on the right end and then select CUSP&lt;br /&gt;
* You can now either select by rectangle, or by named region if you want a large area&lt;br /&gt;
* Draw a box on the map, it will then ask you if you want a Shapefile or KML&lt;br /&gt;
* Select Shapefile and the .zip data will be prepared for download&lt;br /&gt;
&lt;br /&gt;
=== Import and cleanup ===&lt;br /&gt;
&lt;br /&gt;
You can import the Shapefile or KML with v.in.ogr.&lt;br /&gt;
&lt;br /&gt;
The data comes as many discrete line segments. It may be useful to combine those into individual polylines. Fortunately they all seem to touch so doing that is fairly simple with the v.build.polylines module. If in some areas they aren't exactly touching the v.clean module's ''snap'' tool can be used with a very small threshold value to fix that.&lt;br /&gt;
&lt;br /&gt;
==== Combine line segments into continuous islands ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Import the Shapefile. The '-o' flag is used here to ignore NAD83 -&amp;gt; WGS84 datum mismatch&lt;br /&gt;
v.in.ogr dsn=CUSPLine.shp out=CUSP_coastline_extract_raw -o&lt;br /&gt;
&lt;br /&gt;
# if needed:   (wasn't for me)&lt;br /&gt;
# v.clean tool=snap threshold=0.000001&lt;br /&gt;
&lt;br /&gt;
# n.b. there's a bug in GRASS v6.4; use GRASS v7 or apply bugfix of Jan. 5, 2013&lt;br /&gt;
v.build.polylines cats=first type=line --verbose \&lt;br /&gt;
  in=CUSP_coastline_extract_raw out=CUSP_coastline_extract_polyline&lt;br /&gt;
&lt;br /&gt;
# can keep, but values are only valid for the first segment&lt;br /&gt;
v.db.droptable -f CUSP_coastline_extract_polyline&lt;br /&gt;
&lt;br /&gt;
# export shapefile&lt;br /&gt;
v.out.ogr format=ESRI_Shapefile \&lt;br /&gt;
  in=CUSP_coastline_extract_polyline \&lt;br /&gt;
  out=CUSP_coastline_extract_polyline.shp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Lines to area ===&lt;br /&gt;
&lt;br /&gt;
If you want filled areas not lines you can use the following commands:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# convert lines to boundaries&lt;br /&gt;
v.type from_type=line to_type=boundary&lt;br /&gt;
&lt;br /&gt;
# remove line segment category numbers from boundaries&lt;br /&gt;
v.category option=del&lt;br /&gt;
&lt;br /&gt;
# create areas (adds centroids)&lt;br /&gt;
v.category option=add type=area&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== See also ===&lt;br /&gt;
&lt;br /&gt;
* [[Global Datasets]]&lt;br /&gt;
&lt;br /&gt;
[[Category: Geodata]]&lt;br /&gt;
[[Category: Import]]&lt;/div&gt;</summary>
		<author><name>⚠️HamishBowman</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=Global_datasets&amp;diff=26369</id>
		<title>Global datasets</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=Global_datasets&amp;diff=26369"/>
		<updated>2020-11-12T21:11:01Z</updated>

		<summary type="html">&lt;p&gt;⚠️HamishBowman: /* National datasets */ add US NLCD and CUSP&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Raster data =&lt;br /&gt;
&lt;br /&gt;
== Elevation data ==&lt;br /&gt;
&lt;br /&gt;
=== ASTER topography (GDEM V1) ===&lt;br /&gt;
&lt;br /&gt;
Improved ASTER GDEM 1 from 2009:&lt;br /&gt;
&lt;br /&gt;
GDEM global 30m elevation calculated from stereo-pair images collected by the Terra satellite.&lt;br /&gt;
''&amp;quot;This is the most complete, consistent global digital elevation data yet made available to the world.&amp;quot;''&lt;br /&gt;
This is a very new dataset, at version 1  (treat as ''experimental''). Accuracy will be improved in forthcoming versions (validation with SRTM, etc.; [http://blog.neteler.org/aster-gdem-30m-quality-assessment/ see assessment here] and [http://www.viewfinderpanoramas.org/reviews.html#aster here]).&lt;br /&gt;
&lt;br /&gt;
* ''[https://lpdaac.usgs.gov/lpdaac/about/news_archive/monday_june_22_20092 pre-release announcement]''&lt;br /&gt;
* [http://www.nasa.gov/home/hqnews/2009/jun/HQ_09-150_ASTER_Topographic_Map.html NASA press release]&lt;br /&gt;
* [https://wist.echo.nasa.gov/~wist/api/imswelcome/ Warehouse Inventory Search Tool] or [http://www.gdem.aster.ersdac.or.jp/search.jsp Easy search tool] (Data download)&lt;br /&gt;
&lt;br /&gt;
'''Tutorial:''' [[ASTER topography]]&lt;br /&gt;
&lt;br /&gt;
''See also: [http://blog.neteler.org/aster-gdem-30m-quality-assessment/ ASTER GDEM 30m quality assessment]''&lt;br /&gt;
&lt;br /&gt;
=== ASTER topography (GDEM V2) ===&lt;br /&gt;
&lt;br /&gt;
Improved ASTER GDEM 2 from 2011:&lt;br /&gt;
* https://lpdaac.usgs.gov/products/aster_products_table/astgtm&lt;br /&gt;
&lt;br /&gt;
The ASTER GDEM covers land surfaces between 83°N and 83°S and is comprised of 22,702 tiles.  Tiles that contain at least 0.01% land area are included.  The ASTER GDEM is distributed as Geographic Tagged Image File Format (GeoTIFF) files with geographic coordinates (latitude, longitude).  The data are posted on a '''1 arc-second''' (approximately '''30–m at the equator''') grid and referenced to the 1984 World Geodetic System (WGS84)/ 1996 Earth Gravitational Model (EGM96) geoid. &lt;br /&gt;
&lt;br /&gt;
'''Notes:''' this DEM can be rather well filtered and smoothed with the [http://personalpages.manchester.ac.uk/staff/neil.mitchell/mdenoise/ Sun's denoising algorithm] (using GDAL and free / open source program &amp;lt;mdenoise&amp;gt; or simply GRASS add-on {{AddonCmd|r.denoise}}.&lt;br /&gt;
&lt;br /&gt;
Experiments showed that the best smoothing of ASTER GDEM 2 is reached with such parameters of &amp;lt;mdenoise&amp;gt;:&lt;br /&gt;
* threshold = 0.8&lt;br /&gt;
* iterations = 10-20&lt;br /&gt;
&lt;br /&gt;
Also filtering with {{cmd|r.neighbors}} by &amp;quot;average&amp;quot; method and window size &amp;gt;=5 is quite useful to remove some noise from DEM.&lt;br /&gt;
&lt;br /&gt;
''See also: [http://www.isprs2012.org/abstract/299.asp Validation of the ASTER Global Digital Elevation Model Version 2 over the Conterminous United States]''&lt;br /&gt;
&lt;br /&gt;
=== ACE2 ===&lt;br /&gt;
&lt;br /&gt;
The ACE2 Global Digital Elevation Model is available at 3&amp;quot;, 30&amp;quot; and 5' spatial resolutions.&lt;br /&gt;
&lt;br /&gt;
* http://tethys.eaprs.cse.dmu.ac.uk/ACE2/&lt;br /&gt;
&lt;br /&gt;
Import example:&lt;br /&gt;
  r.in.bin -f input=&amp;quot;00N105E_3S.ACE2&amp;quot; output=&amp;quot;ACE2_00N105E&amp;quot; bytes=4 \&lt;br /&gt;
           order=&amp;quot;native&amp;quot; north=15 south=0 east=120 west=105 \&lt;br /&gt;
           rows=18000 cols=18000&lt;br /&gt;
&lt;br /&gt;
=== CleanTOPO2 (DEM) ===&lt;br /&gt;
&lt;br /&gt;
* [http://www.shadedrelief.com/cleantopo2/ CleanTOPO2 download]: Edited SRTM30 Plus World Elevation Data&lt;br /&gt;
&lt;br /&gt;
Import in GRASS:&lt;br /&gt;
  r.in.gdal CleanTOPO2.tif out=cleanTOPO2.tmp -l -o&lt;br /&gt;
  g.region rast=cleanTOPO2  -p -g&lt;br /&gt;
  # rescale from odd integer values to true world values&lt;br /&gt;
  r.rescale cleanTOPO2.tmp out=cleanTOPO2 to=-10701,8248&lt;br /&gt;
  r.colors cleanTOPO2_final col=terrain&lt;br /&gt;
&lt;br /&gt;
[[Image:CleanTOPO2_map.png|thumb|center|300px|Rescaled ClearTOPO2 map]]&lt;br /&gt;
&lt;br /&gt;
=== EGM2008 Geoid Data (Earth Gravitational Model) ===&lt;br /&gt;
&lt;br /&gt;
Global 2.5 Minute Geoid Undulations:&lt;br /&gt;
* download GIS Format at http://earth-info.nga.mil/GandG/wgs84/gravitymod/egm2008/egm08_gis.html&lt;br /&gt;
&lt;br /&gt;
[[Image:Trentino_egm2008_map_5m_resampled.jpg|thumb|center|300px|Geoid undulations in Trentino, Italy]]&lt;br /&gt;
&lt;br /&gt;
Verifications of points can be done with the http://geographiclib.sourceforge.net/cgi-bin/GeoidEval&lt;br /&gt;
&lt;br /&gt;
=== ETOPO (DEM) ===&lt;br /&gt;
&lt;br /&gt;
The ETOPO datasets provide global topography and bathymetry at 1', 2', and 5' per-cell resolutions.&lt;br /&gt;
&lt;br /&gt;
==== ETOPO1 (DEM) ====&lt;br /&gt;
&lt;br /&gt;
* http://www.ngdc.noaa.gov/mgg/global/&lt;br /&gt;
&lt;br /&gt;
* '''The ''cell registered'' version can be loaded directly into a lat/lon location'''. GRASS raster data is cell registered (see the [[GRASS raster semantics]] page)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Special care must be taken with the ''grid registered'' version. It can not be loaded directly into a lat/lon location as the parameters found in the .hdr file exceed the limits of polar coordinate space: they have N,S rows which go 1/2 a cell beyond 90 latitude, when considered in the ''cell registered'' convention.&lt;br /&gt;
: So the data needs to have those 90deg N,S rows cropped away, and while we're at it we crop away a redundant overlapping column at 180 longitude. To do this we have to first tell the GIS a little fib during import to squeeze the data into lat/lon space, then crop away the spurious rows and column, then finally reset the resulting map's bounds to its true extent.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 # Import grid registered binary float, fibbing about its true extent&lt;br /&gt;
 r.in.bin -f in=etopo1_bed_g.flt out=etopo1_bed_g.raw \&lt;br /&gt;
    n=90 s=-90 e=180 w=-180 rows=10801 cols=21601 anull=-9999&lt;br /&gt;
 &lt;br /&gt;
 # reduce the working region by 1 cell&lt;br /&gt;
 g.region rast=etopo1_bed_g.raw&lt;br /&gt;
 eval `g.region -g`&lt;br /&gt;
 g.region n=n-$nsres s=s+$nsres e=e-$ewres -p&lt;br /&gt;
 &lt;br /&gt;
 # save smaller raster and remove original&lt;br /&gt;
 r.mapcalc &amp;quot;etopo1_bed_g.crop = etopo1_bed_g.raw&amp;quot;&lt;br /&gt;
 g.remove etopo1_bed_g.raw&lt;br /&gt;
&lt;br /&gt;
 # re-establish the correct bounds, now that they'll fit&lt;br /&gt;
 r.region etopo1_bed_g.crop n=89:59:30N s=89:59:30S w=179:59:30E e=179:59:30E&lt;br /&gt;
 g.region rast=etopo1_bed_g.crop&lt;br /&gt;
&lt;br /&gt;
 # check that N,S,E,W and Res are all nice and clean:&lt;br /&gt;
 r.info etopo1_bed_g.crop&lt;br /&gt;
&lt;br /&gt;
 # looks good, so accept the results by resetting the map name&lt;br /&gt;
 g.rename etopo1_bed_g.crop,etopo1_bed_g&lt;br /&gt;
&lt;br /&gt;
 # set to use appropriate color rules&lt;br /&gt;
 r.colors etopo1_bed_g color=etopo2&lt;br /&gt;
&lt;br /&gt;
 # set the 'units' metadata field (for elevation data contained within the map)&lt;br /&gt;
 r.support etopo1_bed_g units=meters&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* For the problematic ''grid registered'' version, the resulting {{cmd|r.info}} report should look like:&lt;br /&gt;
 |   Rows:         10799                                                      |&lt;br /&gt;
 |   Columns:      21600                                                      |&lt;br /&gt;
 |   Total Cells:  233258400                                                  |&lt;br /&gt;
 |        Projection: Latitude-Longitude                                      |&lt;br /&gt;
 |            N:  89:59:30N    S:  89:59:30S   Res:  0:01                     |&lt;br /&gt;
 |            E: 179:59:30E    W: 179:59:30E   Res:  0:01                     |&lt;br /&gt;
 |   Range of data:    min = -10898  max = 8271                               |&lt;br /&gt;
(the east and west bounds of the map touch 1/2 a cell west of 180 longitude)&lt;br /&gt;
&lt;br /&gt;
* For the problematic ''grid registered'' version, since the data's grid is 1/2 a cell shifted from nicely rounded 1 arc-minutes (0:01), you'll need to ensure that the mapset's region preserves that alignment after zooming or panning:&lt;br /&gt;
 g.region align=etopo1_bed_g -p&lt;br /&gt;
: (or oversample and set the region resolution to 1/2 arc-minutes (0:00:30), which will be four times as slow)&lt;br /&gt;
&lt;br /&gt;
==== ETOPO2 (DEM) ====&lt;br /&gt;
&lt;br /&gt;
* See the ETOPO2 (2' global) article by M.H. Bowman in the [http://grass.osgeo.org/newsletter/GRASSNews_vol1.pdf GRASS Newsletter, 1:8-11, August 2004].&lt;br /&gt;
: [http://www.ngdc.noaa.gov/mgg/fliers/01mgg04.html ETOPO2v2 data download] (take for example the ETOPO2v2g_f4_LSB.flt file)&lt;br /&gt;
&lt;br /&gt;
=== GTOPO30 (DEM) ===&lt;br /&gt;
&lt;br /&gt;
* Data [http://eros.usgs.gov/#/Find_Data/Products_and_Data_Available/gtopo30_info download] - Import with {{cmd|r.in.gdal}}.&lt;br /&gt;
&lt;br /&gt;
''Note:'' To avoid that the GTOPO30 data are read incorrectly, you can add a new line &amp;quot;PIXELTYPE SIGNEDINT&amp;quot; in the .HDR to force interpretation of the file as signed rather than unsigned integers. Then the .DEM file can be imported. Finally, e.g. the 'terrain' color table can be assigned to the imported map with r.colors.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Global Multi-resolution Terrain Elevation Data 2010 (GMTED2010) ===&lt;br /&gt;
&lt;br /&gt;
* Data download: [https://lta.cr.usgs.gov/GMTED2010 Web] and [http://topotools.cr.usgs.gov/GMTED_viewer/gmted2010_global_grids.php FTP] - Import with {{cmd|r.in.gdal}}. See also [https://erouault.blogspot.de/2011/12/seamless-access-to-remote-global-multi.html related GDAL blog post]&lt;br /&gt;
&lt;br /&gt;
Tiles: Import of GMTED2010 tiles in GRASS GIS:&lt;br /&gt;
&lt;br /&gt;
  r.in.gdal 30N000E_20101117_gmted_mea075.tif out=gmted2010_30N000E_20101117&lt;br /&gt;
  r.colors gmted2010_30N000E_20101117 color=elevation&lt;br /&gt;
  g.region rast=gmted2010_30N000E_20101117&lt;br /&gt;
  r.relief input=gmted2010_30N000E_20101117 output=gmted2010_30N000E_20101117.shade&lt;br /&gt;
  r.shade shade=gmted2010_30N000E_20101117.shade color=gmted2010_30N000E_20101117 \&lt;br /&gt;
   output=gmted2010_30N000E_20101117_shaded&lt;br /&gt;
  d.mon wx0&lt;br /&gt;
  d.rast gmted2010_30N000E_20101117_shaded&lt;br /&gt;
  d.grid 1 color=red textcolor=red&lt;br /&gt;
&lt;br /&gt;
[[Image:Gmted2010_30N000E_20101117_shaded.png|thumb|center|300px|GMTED2010 example: Trento - Garda Lake - Verona area (Northern Italy)]]&lt;br /&gt;
&lt;br /&gt;
Full maps:&lt;br /&gt;
&lt;br /&gt;
  # mean elevation global GMTED2010 map, 30 arc-sec&lt;br /&gt;
  wget http://edcintl.cr.usgs.gov/downloads/sciweb1/shared/topo/downloads/GMTED/Grid_ZipFiles/mn30_grd.zip&lt;br /&gt;
  unzip mn30_grd.zip&lt;br /&gt;
  &lt;br /&gt;
Important: the GMTED2010 map exceeds the -180°..+180° range due to the [https://pubs.usgs.gov/of/2011/1073/pdf/of2011-1073.pdf GMTED2010 pixel geometry] (PDF). Note that this cannot be handled in GRASS GIS &amp;lt; 7.4. Please update to GRASS GIS 7.4 or newer.&lt;br /&gt;
&lt;br /&gt;
=== GEBCO Bathymetric Chart ===&lt;br /&gt;
&lt;br /&gt;
* The General Bathymetric Chart of the Oceans (original 1' release 2003, new 1' and 30&amp;quot; releases 2008, new 15&amp;quot; released 2020)&lt;br /&gt;
: http://www.gebco.net/data_and_products/gridded_bathymetry_data/&lt;br /&gt;
: http://www.bodc.ac.uk/data/online_delivery/gebco/&lt;br /&gt;
&lt;br /&gt;
The GEBCO_2020 is available in NetCDF or GeoTIFF format.&lt;br /&gt;
&lt;br /&gt;
{{cmd|r.in.gdal}} can be used to import the GMT netCDF files directly, or if that doesn't work you can use GMT tools to convert to an old-style native GMT format and import that with {{cmd|r.in.bin}}.&lt;br /&gt;
: example:  (GEBCO 2003 1' data)&lt;br /&gt;
&lt;br /&gt;
 # convert to an old style GMT binary .grd using grdreformat&lt;br /&gt;
 $ grdreformat 3n24s47w14w.grd 3n24s47w14w_Native.grd=bs&lt;br /&gt;
 &lt;br /&gt;
 # then import into GRASS,&lt;br /&gt;
 GRASS&amp;gt; r.in.bin -h -s bytes=2 in=3n24s47w14w_Native.grd out=3n24s47w14w&lt;br /&gt;
 &lt;br /&gt;
 # and set some nice colors&lt;br /&gt;
 GRASS&amp;gt; r.colors 3n24s47w14w rules=- &amp;lt;&amp;lt; EOF&lt;br /&gt;
 nv magenta&lt;br /&gt;
 0% black&lt;br /&gt;
 -7740 0:0:168&lt;br /&gt;
 0 84:176:248&lt;br /&gt;
 0 40:124:0&lt;br /&gt;
 522 68:148:24&lt;br /&gt;
 1407 148:228:108&lt;br /&gt;
 1929 232:228:108&lt;br /&gt;
 2028 232:228:92&lt;br /&gt;
 2550 228:160:32&lt;br /&gt;
 2724 216:116:8&lt;br /&gt;
 2730 grey&lt;br /&gt;
 2754 grey&lt;br /&gt;
 2760 252:252:252&lt;br /&gt;
 2874 252:252:252&lt;br /&gt;
 2883 192:192:192&lt;br /&gt;
 2913 192:192:192&lt;br /&gt;
 100% 252:252:252&lt;br /&gt;
 EOF&lt;br /&gt;
&lt;br /&gt;
=== Global Multi-Resolution Topography (GMRT DEM) ===&lt;br /&gt;
: ''From Columbia University's Lamont-Doherty Earth Observatory''&lt;br /&gt;
(it is reported that this is what Google Maps uses for their global bathymetry)&lt;br /&gt;
&lt;br /&gt;
* Global ~1 arc-second (~90 m) topography using multi-beam and satellite data in the oceans combined with SRTM on land.&lt;br /&gt;
* Full information at: http://www.marine-geo.org/portals/gmrt/&lt;br /&gt;
* Accessible via [http://www.geomapapp.org/ GeoMapApp] or [http://www.virtualocean.org/ Virtual Ocean] software.&lt;br /&gt;
* Very convenient to download into GRASS via wget:&lt;br /&gt;
&lt;br /&gt;
  export `g.region -g`&lt;br /&gt;
  wget &amp;quot;http://www.marine-geo.org/cgi-bin/getgridB?west=${w}&amp;amp;east=${e}&amp;amp;south=${s}&amp;amp;north=${n}&amp;amp;resolution=1&amp;quot; -O /tmp/test.grd&lt;br /&gt;
  r.in.gdal /tmp/test.grd output=GMRT -o&lt;br /&gt;
  rm /tmp/test.grd&lt;br /&gt;
&lt;br /&gt;
* Note: Downloaded file contains no projection information, but is EPSG:4326 (WGS84 Geographic).  The file size is limited, but lower resolution (resolution=2,4,8) data can be downloaded for larger areas.&lt;br /&gt;
&lt;br /&gt;
=== NASADEM ===&lt;br /&gt;
&lt;br /&gt;
1-arc second (~30 m @ equator) global only-land.&lt;br /&gt;
&lt;br /&gt;
https://lpdaac.usgs.gov/news/release-nasadem-data-products/&lt;br /&gt;
&lt;br /&gt;
See also {{AddonCmd|r.in.nasadem|version=7}} addon&lt;br /&gt;
&lt;br /&gt;
=== Smith and Sandwell DEM ===&lt;br /&gt;
&lt;br /&gt;
* Merge info here from the [[Marine Science]] wiki page&lt;br /&gt;
&lt;br /&gt;
=== SRTM DEM ===&lt;br /&gt;
&lt;br /&gt;
[http://www2.jpl.nasa.gov/srtm/ Space Shuttle Radar Topography Mission] - several SRTM Data Products are available:&lt;br /&gt;
* Original data - SRTM 3 V001 arc-seconds Non-Void Filled elevation data (US: 1 arc-second (approximately 30 meters); outside the US at 3 arc-seconds (approximately 90 meters))&lt;br /&gt;
* SRTM V003 3 Arc-Second Global Void Filled elevation data, with voids filled using interpolation algorithms in conjunction with other sources of elevation data  (US: 1 arc-second (approximately 30 meters); outside the US at 3 arc-seconds (approximately 90 meters))&lt;br /&gt;
** SRTM V3 tiles at 3 arc seconds resolution from: http://e4ftl01.cr.usgs.gov/SRTM/SRTMGL3.003/2000.02.11/ - or simply use {{AddonCmd|r.in.srtm.region}}&lt;br /&gt;
* '''SRTM V003 1 Arc-Second Global elevation data''' offer worldwide coverage of '''void filled''' data at a resolution of 1 arc-second (30 meters) and provide open distribution of this high-resolution global data set.&lt;br /&gt;
** [http://earthexplorer.usgs.gov/ EarthExplorer] can be used to search, preview, and download Shuttle Radar Topography Mission (SRTM) 1 Arc-Second Global data. The collections are located under the Digital Elevation category.&lt;br /&gt;
** FTP download: http://e4ftl01.cr.usgs.gov/SRTM/SRTMGL1.003/2000.02.11/ - or simply use {{AddonCmd|r.in.srtm.region}}&lt;br /&gt;
** Web-based [http://dwtkns.com/srtm30m/ 30-Meter SRTM Tile Downloader] (select from map)&lt;br /&gt;
&lt;br /&gt;
Import:&lt;br /&gt;
* Using {{cmd|r.in.gdal}} or {{cmd|r.import}} or {{cmd|r.in.srtm}} or {{AddonCmd|r.in.srtm.region}}&lt;br /&gt;
* see [[HOWTO import SRTM elevation data]], focused on the SRTM 3 arc-seconds Non-Void Filled elevation data&lt;br /&gt;
&lt;br /&gt;
=== SRTM15+ DEM ===&lt;br /&gt;
&lt;br /&gt;
SRTM15+ data consists of 33 files of global topography in the same format as the SRTM30plus products. The grid resolution is 15 seconds which is roughly 500 m at the equator.&lt;br /&gt;
&lt;br /&gt;
https://topex.ucsd.edu/WWW_html/srtm15_plus.html&lt;br /&gt;
&lt;br /&gt;
=== SRTM30plus data DEM ===&lt;br /&gt;
&lt;br /&gt;
SRTM30plus data consists of 33 files of global topography in the same format as the SRTM30 products distributed by the USGS EROS data center. The grid resolution is 30 seconds which is roughly one kilometer (1 km).&lt;br /&gt;
&lt;br /&gt;
Land data are based on the 1-km averages of topography derived from the USGS SRTM30 grided DEM data product created with data from the NASA Shuttle Radar Topography Mission. GTOPO30 data are used for high latitudes where SRTM data are not available.&lt;br /&gt;
&lt;br /&gt;
Ocean data are based on the Smith and Sandwell global 2-minute grid between latitudes +/- 72 degrees. Higher resolution grids have been added from the LDEO Ridge Multibeam Synthesis Project and the NGDC Coastal Relief Model. Arctic bathymetry is from the International Bathymetric Chart of the Oceans (IBCAO).&lt;br /&gt;
&lt;br /&gt;
All data are derived from public domain sources and these data are also in the public domain.&lt;br /&gt;
&lt;br /&gt;
GRASS 6 script {{{cmd|r.in.srtm}}} described in GRASSNews vol. 3 won't work with this dataset (as it was made for the original SRTM HGT files). But you can import SRTM30plus tiles into GRASS this way:&lt;br /&gt;
&lt;br /&gt;
 r.in.bin -sb input=e020n40.Bathymetry.srtm output=e020n40_topex bytes=2 \&lt;br /&gt;
  north=40 south=-10 east=60 west=20 r=6000 c=4800&lt;br /&gt;
 r.colors e020n40_topex rules=etopo2&lt;br /&gt;
&lt;br /&gt;
; Source&lt;br /&gt;
: GRASS Users Mailing List http://lists.osgeo.org/pipermail/grass-user/2005-August/030063.html&lt;br /&gt;
; Getting as SRTM30plus tiles: ftp://topex.ucsd.edu/pub/srtm30_plus/srtm30/data/&lt;br /&gt;
; Getting as SRTM30plus huge file: ftp://topex.ucsd.edu/pub/srtm30_plus/topo30/&lt;br /&gt;
; SRTMPLUS WCS server: http://svn.osgeo.org/gdal/trunk/autotest/gdrivers/data/srtmplus.wcs (read with {{cmd|r.external}})&lt;br /&gt;
&lt;br /&gt;
=== SRTM Water Body Database SRTMSWBD V003 ===&lt;br /&gt;
&lt;br /&gt;
SRTM Water Body Database V003&lt;br /&gt;
* Format documentation: https://lpdaac.usgs.gov/dataset_discovery/measures/measures_products_table/srtmswbd_v003&lt;br /&gt;
* FTP raster data (30m res water bodies): http://e4ftl01.cr.usgs.gov/SRTM/SRTMSWBD.003/&lt;br /&gt;
&lt;br /&gt;
Import into GRASS GIS 7 (lat-long location):&lt;br /&gt;
 r.in.bin -sb input=N00E108.raw output=N00E108_swbd bytes=1 north=0 south=-10 east=108 west=98 r=3601 c=3601   &amp;lt;&amp;lt;= DRAFT - TODO fix n,s,e,w - calculate from filename&lt;br /&gt;
&lt;br /&gt;
=== TanDEM-X DEM ===&lt;br /&gt;
&lt;br /&gt;
This is a 90 m only-land DEM.&lt;br /&gt;
Data from 2010-12-12 through 2015-01-16&lt;br /&gt;
&lt;br /&gt;
https://geoservice.dlr.de/data-assets/ju28hc7pui09.html&lt;br /&gt;
&lt;br /&gt;
== Soil data ==&lt;br /&gt;
&lt;br /&gt;
=== Harmonized World Soil Database (HWSD Database) ===&lt;br /&gt;
&lt;br /&gt;
Download: http://webarchive.iiasa.ac.at/Research/LUC/External-World-soil-database/HTML/&lt;br /&gt;
&lt;br /&gt;
[http://webarchive.iiasa.ac.at/Research/LUC/External-World-soil-database/HTML/DataDesc.html?sb=12 Spatial reference system:] [http://spatialreference.org/ref/epsg/4326/ EPSG:4326] (LatLong WGS84)&lt;br /&gt;
&lt;br /&gt;
Import:&lt;br /&gt;
 grass70 -c EPSG:4326 ~/grassdata/hwsd&lt;br /&gt;
 # -e: expand location to dataset; -o: override (missing) projection in input dataset:&lt;br /&gt;
 r.in.gdal input=hwsd.bil output=hwSoil -e -o&lt;br /&gt;
 g.region raster=hwSoil -p&lt;br /&gt;
 r.category hwSoil&lt;br /&gt;
&lt;br /&gt;
The data is distributed with an MSAccess .mdb which contains additional data for each of the categories in the raster file. Opening the file in access, the data is found in the query &amp;quot;HWSD_Q&amp;quot;. Save this query in .csv format (with a name like &amp;quot;HWSD_Q.csv&amp;quot;) so that it may then be imported into GRASS. After that, it is necessary to replace the commas with dots (find &amp;amp; replace) in the .csv file. Before you can import it, you also need a file &amp;quot;HWSD_Q.csvt&amp;quot;, which contains a single line listing the type for each column in the database:&lt;br /&gt;
 &amp;quot;Integer&amp;quot;,&amp;quot;String&amp;quot;,&amp;quot;Integer&amp;quot;,&amp;quot;Integer&amp;quot;,&amp;quot;Integer&amp;quot;,&amp;quot;String&amp;quot;,&amp;quot;Integer&amp;quot;,&amp;quot;Integer&amp;quot;,&amp;quot;Real&amp;quot;,&amp;quot;Integer&amp;quot;,&amp;quot;String&amp;quot;,&amp;quot;Integer&amp;quot;,&amp;quot;String&amp;quot;,&amp;quot;Integer&amp;quot;,&amp;quot;String&amp;quot;,&amp;quot;Integer&amp;quot;,&amp;quot;Integer&amp;quot;,&amp;quot;Integer&amp;quot;,&amp;quot;Integer&amp;quot;,&amp;quot;Integer&amp;quot;,&amp;quot;Integer&amp;quot;,&amp;quot;Integer&amp;quot;,&amp;quot;Integer&amp;quot;,&amp;quot;Integer&amp;quot;,&amp;quot;Integer&amp;quot;,&amp;quot;Integer&amp;quot;,&amp;quot;Integer&amp;quot;,&amp;quot;Integer&amp;quot;,&amp;quot;Integer&amp;quot;,&amp;quot;Integer&amp;quot;,&amp;quot;Integer&amp;quot;,&amp;quot;Real&amp;quot;,&amp;quot;Real&amp;quot;,&amp;quot;Real&amp;quot;,&amp;quot;Real&amp;quot;,&amp;quot;Real&amp;quot;,&amp;quot;Real&amp;quot;,&amp;quot;Real&amp;quot;,&amp;quot;Real&amp;quot;,&amp;quot;Real&amp;quot;,&amp;quot;Real&amp;quot;,&amp;quot;Real&amp;quot;,&amp;quot;Real&amp;quot;,&amp;quot;Integer&amp;quot;,&amp;quot;Integer&amp;quot;,&amp;quot;Integer&amp;quot;,&amp;quot;Integer&amp;quot;,&amp;quot;Integer&amp;quot;,&amp;quot;Real&amp;quot;,&amp;quot;Real&amp;quot;,&amp;quot;Real&amp;quot;,&amp;quot;Real&amp;quot;,&amp;quot;Real&amp;quot;,&amp;quot;Real&amp;quot;,&amp;quot;Real&amp;quot;,&amp;quot;Real&amp;quot;,&amp;quot;Real&amp;quot;,&amp;quot;Real&amp;quot;,&amp;quot;Real&amp;quot;,&amp;quot;Real&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
With both the .csv and the .csvt file in the same directory, you can then import them into GRASS:&lt;br /&gt;
 db.in.ogr input=~/grassdata/hwsd/HWSD_Q.csv output=hwsdData&lt;br /&gt;
&lt;br /&gt;
The data cannot be connected directly to the raster, it must be converted to a vector first:&lt;br /&gt;
 g.region raster=hwSoil&lt;br /&gt;
 r.to.vect -v input=hwSoil output=hwSoil feature=area&lt;br /&gt;
 v.db.droptable hwSoil&lt;br /&gt;
 db.droptable -f hwSoil # delete the table completely&lt;br /&gt;
&lt;br /&gt;
Note that the table includes multiple rows for each polygon, corresponding&lt;br /&gt;
to the dominant and various numbers of subdominant soils. To select only&lt;br /&gt;
the dominant soil layer:&lt;br /&gt;
&lt;br /&gt;
 db.select table=hwsdData sql='select * from hwsdData where SEQ = 1' \&lt;br /&gt;
          output=domSoil.csv separator=,&lt;br /&gt;
&lt;br /&gt;
This saves a copy of the table that contains only the dominant soil type for each polygon as domSoil.csv. This needs to be reloaded into the GRASS database. Since it has the same columns as HWSD_Q.csv, we can use the labels for that file:&lt;br /&gt;
&lt;br /&gt;
 cp HWSD_Q.csvt domSoil.csvt&lt;br /&gt;
&lt;br /&gt;
Then we can load domSoil.csv:&lt;br /&gt;
&lt;br /&gt;
 db.in.ogr \&lt;br /&gt;
    input=~/grassdata/downloads/harmonized_world_soil_database/domSoil.csv \&lt;br /&gt;
    output=domSoil &lt;br /&gt;
&lt;br /&gt;
Now at last we can connect the database to the vector file:&lt;br /&gt;
&lt;br /&gt;
 v.db.connect -o map=hwsd table=domSoil driver=sqlite key=MU_GLOBAL&lt;br /&gt;
&lt;br /&gt;
To create a new raster map taking the values from the table:&lt;br /&gt;
 g.region raster=hwSoil  ## make sure we get the whole map&lt;br /&gt;
 v.to.rast in=hwSoil out=T_SAND col=T_SAND&lt;br /&gt;
&lt;br /&gt;
=== SoilGrids.org 250m soil taxonomy map ===&lt;br /&gt;
&lt;br /&gt;
SoilGrids is a system for automated soil mapping based on global soil profile and environmental covariate data. SoilGrids represents a collection of updatable soil property and class maps of the world at 1 km and 250 m spatial resolution produced using automated soil mapping based on machine learning algorithms. It aims at becoming OpenStreetMap and/or OpenWeatherMap for soil data. SoilGrids predictions are updated on a regular basis (at least every few months). For more details about the SoilGrids system, please refer to the SoilGrids project site: https://www.soilgrids.org/#/?layer=geonode:taxnwrb_250m&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
URL=ftp://ftp.soilgrids.org/data/recent/TAXNWRB_250m_ll.tif&lt;br /&gt;
&lt;br /&gt;
# the Soilgrids GeoTIFF data suffer from a resolution precision problem since they were produced with SAGA:&lt;br /&gt;
# resolution is stored as 0.002083333000000 while it should be 0.002083333333333, hence the geometry is not fully correct&lt;br /&gt;
# this likely originates from Soilgrids being processed in SAGA which cuts decimals after the 10th decimal place, hence comes with a precision problem &lt;br /&gt;
&lt;br /&gt;
export NAME=`basename $URL .tif`&lt;br /&gt;
wget $URL&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
OLD OLD OLD start --&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
# see below for the better way how to fix SoilGrids data&lt;br /&gt;
gdal_translate --config GDAL_CACHEMAX 2000 -a_ullr $COORDS -co &amp;quot;COMPRESS=DEFLATE&amp;quot; $NAME.tif ${NAME}_fixed.tif&lt;br /&gt;
gdalinfo ${NAME}_fixed.tif&lt;br /&gt;
&lt;br /&gt;
grass72 -c ${NAME}_fixed.tif ~/grassdata/latlong --exec r.import input=${NAME}_fixed.tif output=${NAME}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
-- OLD OLD OLD end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
New fix &amp;amp; import method:&lt;br /&gt;
&lt;br /&gt;
Starting with '''GRASS GIS 7.4.x''', there is new flag in {{cmd|r.in.gdal}} to auto-adjust such small resolution precision issues: '''-a''' ''- Auto-adjustment for lat/lon. Attempt to fix small precision errors in resolution and extents.''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
r.in.gdal -a input=TAXNWRB_250m_ll.tif output=TAXNWRB_250m_ll&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Landcover data ==&lt;br /&gt;
&lt;br /&gt;
=== ESA Globcover dataset ===&lt;br /&gt;
&lt;br /&gt;
Download: http://due.esrin.esa.int/page_globcover.php&lt;br /&gt;
&lt;br /&gt;
Or via command line:&lt;br /&gt;
 wget http://due.esrin.esa.int/files/Globcover2009_V2.3_Global_.zip&lt;br /&gt;
 unzip Globcover2009_V2.3_Global_.zip&lt;br /&gt;
 # rm -f Globcover2009_V2.3_Global_.zip&lt;br /&gt;
&lt;br /&gt;
Note, also a coloured version of the map in GeoTIFF format is available at: http://due.esrin.esa.int/files/GLOBCOVER_L4_200901_200912_V2.3.color.tif&lt;br /&gt;
&lt;br /&gt;
Unfortunately the Globcover map exceeds the -180°..+180° range etc, indicating a shift of the map (see also [http://www.cosmo-model.org/content/tasks/workGroups/wg3b/meetings/2012-soilveg/EXTPAR-GLOBCOVER.pdf this assessment by DWD]):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
gdalinfo GLOBCOVER_L4_200901_200912_V2.3.tif&lt;br /&gt;
Driver: GTiff/GeoTIFF&lt;br /&gt;
Files: GLOBCOVER_L4_200901_200912_V2.3.tif&lt;br /&gt;
Size is 129600, 55800&lt;br /&gt;
Coordinate System is:&lt;br /&gt;
GEOGCS[&amp;quot;WGS 84&amp;quot;,&lt;br /&gt;
...&lt;br /&gt;
Origin = (-180.001388888888897,90.001388888888883)&lt;br /&gt;
...&lt;br /&gt;
Corner Coordinates:&lt;br /&gt;
Upper Left  (-180.0013889,  90.0013889) (180d 0' 5.00&amp;quot;W, 90d 0' 5.00&amp;quot;N)&lt;br /&gt;
Lower Left  (-180.0013889, -64.9986111) (180d 0' 5.00&amp;quot;W, 64d59'55.00&amp;quot;S)&lt;br /&gt;
Upper Right ( 179.9986111,  90.0013889) (179d59'55.00&amp;quot;E, 90d 0' 5.00&amp;quot;N)&lt;br /&gt;
Lower Right ( 179.9986111, -64.9986111) (179d59'55.00&amp;quot;E, 64d59'55.00&amp;quot;S)&lt;br /&gt;
Center      (  -0.0013889,  12.5013889) (  0d 0' 5.00&amp;quot;W, 12d30' 5.00&amp;quot;N)&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
How to fix this?&lt;br /&gt;
&lt;br /&gt;
'''Option 1:''' You can use the -l flag of {{cmd|r.in.gdal}} to constrain the map coordinates to legal values ([https://pvanb.wordpress.com/2011/05/10/importing-global-rasters-in-grass-gives-me-illegal-latitude-for-north-message/ ref]. But the resulting pixels will no longer have the original resolution. We will not do that.&lt;br /&gt;
&lt;br /&gt;
'''Option 2:''' Shift the Globcover map slightly into the right position using [http://www.gdal.org/gdal_translate.html gdal_translate]:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# coords are shifted, fix raster map&lt;br /&gt;
# -a_ullr Assign/override the georeferenced bounds of the output file&lt;br /&gt;
# use larger cache and compress result&lt;br /&gt;
gdal_translate --config GDAL_CACHEMAX 1200 -a_ullr -180 90 180 -65 \&lt;br /&gt;
     -co &amp;quot;COMPRESS=LZW&amp;quot; GLOBCOVER_L4_200901_200912_V2.3.tif GLOBCOVER_L4_200901_200912_V2.3_fixed.tif&lt;br /&gt;
&lt;br /&gt;
# result:&lt;br /&gt;
gdalinfo GLOBCOVER_L4_200901_200912_V2.3_fixed.tif&lt;br /&gt;
...&lt;br /&gt;
Origin = (-180.000000000000000,90.000000000000000)&lt;br /&gt;
Pixel Size = (0.002777777777778,-0.002777777777778)&lt;br /&gt;
...&lt;br /&gt;
Corner Coordinates:&lt;br /&gt;
Upper Left  (-180.0000000,  90.0000000) (180d 0' 0.00&amp;quot;W, 90d 0' 0.00&amp;quot;N)&lt;br /&gt;
Lower Left  (-180.0000000, -65.0000000) (180d 0' 0.00&amp;quot;W, 65d 0' 0.00&amp;quot;S)&lt;br /&gt;
Upper Right ( 180.0000000,  90.0000000) (180d 0' 0.00&amp;quot;E, 90d 0' 0.00&amp;quot;N)&lt;br /&gt;
Lower Right ( 180.0000000, -65.0000000) (180d 0' 0.00&amp;quot;E, 65d 0' 0.00&amp;quot;S)&lt;br /&gt;
Center      (   0.0000000,  12.5000000) (  0d 0' 0.01&amp;quot;E, 12d30' 0.00&amp;quot;N)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Voilà! Now we can import the map into GRASS GIS:&lt;br /&gt;
&lt;br /&gt;
 r.in.gdal input=GLOBCOVER_L4_200901_200912_V2.3_fixed.tif output=esa_globcover2009&lt;br /&gt;
&lt;br /&gt;
'''Legend conversion''': The ZIP file contains a XLS table describing the classes and the RGB colors. Using ogr2ogr can directly convert XLS --&amp;gt; CSV:&lt;br /&gt;
&lt;br /&gt;
 ogr2ogr -f CSV Globcover2009_Legend.csv Globcover2009_Legend.xls&lt;br /&gt;
&lt;br /&gt;
'''Applying the legend:'''&lt;br /&gt;
&lt;br /&gt;
 # suppress table header and only consider category value and label, apply on the fly:&lt;br /&gt;
 cat Globcover2009_Legend.csv | grep -v '^Value' | cut -d',' -f1-2 | r.category esa_globcover2009 separator=comma rules=-&lt;br /&gt;
 # verify (0E, 0N is the Atlantic Ocean)&lt;br /&gt;
 r.what esa_globcover2009 coor=0,0 -f&lt;br /&gt;
 0|0||210|Water bodies&lt;br /&gt;
&lt;br /&gt;
=== Global Forest Change ===&lt;br /&gt;
&lt;br /&gt;
* http://earthenginepartners.appspot.com/science-2013-global-forest &lt;br /&gt;
* Download info on: http://earthenginepartners.appspot.com/science-2013-global-forest/download_v1.3.html&lt;br /&gt;
&lt;br /&gt;
== Imagery ==&lt;br /&gt;
&lt;br /&gt;
=== AVHRR ===&lt;br /&gt;
&lt;br /&gt;
* see the [[AVHRR]] wiki page&lt;br /&gt;
&lt;br /&gt;
=== Blue Marble imagery ===&lt;br /&gt;
&lt;br /&gt;
NASA's Blue Marble is a 500m-8 degree per-cell world wide visual image of the Earth from space, with the clouds removed.&lt;br /&gt;
&lt;br /&gt;
* see the [[Blue Marble]] wiki page&lt;br /&gt;
&lt;br /&gt;
=== EO-1 imagery ===&lt;br /&gt;
&lt;br /&gt;
(Earth Observing-1)&lt;br /&gt;
* &amp;quot;''Advanced Land Imager (ALI) provides image data from ten spectral bands (band designations). The instrument operates in a pushbroom fashion, with a spatial resolution of 30 meters for the multispectral bands and 10 meters for the panchromatic band.''&amp;quot;&lt;br /&gt;
:-- http://eros.usgs.gov/products/satellite/eo1.php&lt;br /&gt;
* On-board Atmospheric Corrections&lt;br /&gt;
&lt;br /&gt;
=== Global Land Cover Characteristics ===&lt;br /&gt;
&lt;br /&gt;
USGS ''et al.'' generated dataset at 1km resolution. Provides global landcover characteristics.&lt;br /&gt;
&lt;br /&gt;
* see the [[Global Land Cover Characteristics]] wiki page&lt;br /&gt;
&lt;br /&gt;
=== LANDSAT imagery ===&lt;br /&gt;
&lt;br /&gt;
Since October 1, 2008 all Landsat 7 ETM+ scenes held in the [http://landsat.usgs.gov/ USGS EROS archive] are available for download at no charge.&lt;br /&gt;
* Download via the [http://glovis.usgs.gov/ Glovis] online search tool (req. Java)&lt;br /&gt;
* Download via the USGS's [http://edcsns17.cr.usgs.gov/EarthExplorer/ EarthExplorer] interface&lt;br /&gt;
&lt;br /&gt;
==== Import Modules ====&lt;br /&gt;
&lt;br /&gt;
* {{cmd|r.in.gdal}} - Main import tool for complete multiband scenes&lt;br /&gt;
* {{cmd|r.in.wms}} - Download data covering current map region via WMS server&lt;br /&gt;
* [[GRASS_AddOns#r.in.onearth|r.in.onearth]] - WMS frontend for NASA's OnEarth Global Landsat Mosaic&lt;br /&gt;
&lt;br /&gt;
==== Color balancing modules ====&lt;br /&gt;
* {{cmd|i.landsat.rgb}} (GRASS 6.x) | {{cmd|i.colors.enhance|version=70}} (GRASS 7.x)  - Color balancing/enhancement tool&lt;br /&gt;
&lt;br /&gt;
==== See also ====&lt;br /&gt;
&lt;br /&gt;
* Processing tips can be found on the [[LANDSAT]] wiki page&lt;br /&gt;
&lt;br /&gt;
=== ESA Sentinel imagery ===&lt;br /&gt;
&lt;br /&gt;
The [https://grass.osgeo.org/grass-stable/manuals/addons/i.sentinel.html i.sentinel] toolbox of addons provides &lt;br /&gt;
a complete suite for downloading, importing and preprocessing Sentinel imagery.&lt;br /&gt;
&lt;br /&gt;
For direct access, all Sentinel 1 and 2 data is available for download from the [https://scihub.copernicus.eu/ Open Access Hub]&lt;br /&gt;
&lt;br /&gt;
* via the [https://scihub.copernicus.eu/dhus/#/home online interactive interface]&lt;br /&gt;
* via the [https://scihub.copernicus.eu/twiki/do/view/SciHubWebPortal/APIHubDescription API]&lt;br /&gt;
&lt;br /&gt;
Other pre-processing tools are available at:&lt;br /&gt;
* http://step.esa.int/main/ Scientific Toolbox Exploitation Platform&lt;br /&gt;
* https://github.com/Fernerkundung/awesome-sentinel (&amp;quot;Awesome Sentinel&amp;quot; - list of tools)&lt;br /&gt;
&lt;br /&gt;
=== Miscellaneous ===&lt;br /&gt;
&lt;br /&gt;
==== Data sources ====&lt;br /&gt;
&lt;br /&gt;
* Some datasource links: http://www.ruf.rice.edu/~ben/gmt.html&lt;br /&gt;
* [http://www.geotorrent.org/browse.php Geotorrent.org]&lt;br /&gt;
&lt;br /&gt;
==== Import Modules ====&lt;br /&gt;
* The {{cmd|r.in.gdal}} modules may be used to import data of [http://www.gdal.org/formats_list.html many formats], including GMT netCDF&lt;br /&gt;
* The {{cmd|r.in.bin}} module may be used to import raw binary files&lt;br /&gt;
&lt;br /&gt;
=== MODIS imagery ===&lt;br /&gt;
&lt;br /&gt;
* see the [[MODIS]] wiki page&lt;br /&gt;
&lt;br /&gt;
=== Natural Earth imagery ===&lt;br /&gt;
&lt;br /&gt;
* [http://www.naturalearthdata.com/ Natural Earth II]:  World environment map in natural color. GeoTIFF (use the {{cmd|r.in.gdal}} module)&lt;br /&gt;
* see also 1:10 million, 1:50 million and 1:110million scale maps from  http://www.naturalearthdata.com/&lt;br /&gt;
&lt;br /&gt;
=== Orthoimagery ===&lt;br /&gt;
&lt;br /&gt;
* [http://worldwindcentral.com/wiki/Sources_of_free_orthoimagery Sources of free orthoimagery]&lt;br /&gt;
&lt;br /&gt;
=== Pathfinder AVHRR SST imagery ===&lt;br /&gt;
&lt;br /&gt;
* see the Pathfinder [[AVHRR]] SST wiki page&lt;br /&gt;
&lt;br /&gt;
=== QuickBird imagery ===&lt;br /&gt;
&lt;br /&gt;
* See the [[QuickBird]] wiki page&lt;br /&gt;
&lt;br /&gt;
=== SeaWiFS imagery ===&lt;br /&gt;
&lt;br /&gt;
* see the [[SeaWiFS]] wiki page&lt;br /&gt;
&lt;br /&gt;
=== SPOT Vegetation imagery ===&lt;br /&gt;
&lt;br /&gt;
SPOT Vegetation (1km) global: NDVI data sets&lt;br /&gt;
&lt;br /&gt;
* [http://free.vgt.vito.be/ SPOT Vegetation (1km, global) NDVI data set server]&lt;br /&gt;
* for import, see {{cmd|i.in.spotvgt}}&lt;br /&gt;
&lt;br /&gt;
=== True Marble imagery ===&lt;br /&gt;
&lt;br /&gt;
* [http://www.unearthedoutdoors.net/global_data/true_marble/download True Marble]: 250m world wide visual image of the Earth from space, with the clouds removed. GeoTIFF (use the {{cmd|r.in.gdal}} module)&lt;br /&gt;
&lt;br /&gt;
== Climatic data ==&lt;br /&gt;
&lt;br /&gt;
=== OGC WCS - Albedo example ===&lt;br /&gt;
&lt;br /&gt;
TODO: update this example e.g. to http://demo.mapserver.org/cgi-bin/wcs?SERVICE=wcs&amp;amp;VERSION=1.0.0&amp;amp;REQUEST=GetCapabilities&lt;br /&gt;
&lt;br /&gt;
GRASS imports OGC Web Coverage Service data. Example server (please suggest a better one!)&lt;br /&gt;
  &amp;lt;WCS_GDAL&amp;gt;&lt;br /&gt;
  &amp;lt;ServiceURL&amp;gt;http://laits.gmu.edu/cgi-bin/NWGISS/NWGISS?&amp;lt;/ServiceURL&amp;gt;&lt;br /&gt;
  &amp;lt;CoverageName&amp;gt;AUTUMN.hdf&amp;lt;/CoverageName&amp;gt;&lt;br /&gt;
  &amp;lt;Timeout&amp;gt;90&amp;lt;/Timeout&amp;gt;&lt;br /&gt;
  &amp;lt;Resample&amp;gt;nearest&amp;lt;/Resample&amp;gt;&lt;br /&gt;
  &amp;lt;/WCS_GDAL&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Save this as albedo.xml. Import into a LatLong WGS84 location:&lt;br /&gt;
  r.in.gdal albedo.xml out=albedo&lt;br /&gt;
&lt;br /&gt;
Unfortunately this server sends out the map shifted by 0.5 pixel. This requires a fix to the map boundary coordinates:&lt;br /&gt;
  r.region albedo n=90 s=-90 w=-180 e=180&lt;br /&gt;
&lt;br /&gt;
Now apply color table and look at the map:&lt;br /&gt;
  r.colors albedo color=byr&lt;br /&gt;
  d.mon x0&lt;br /&gt;
  d.rast albedo&lt;br /&gt;
&lt;br /&gt;
=== SNODAS maps ===&lt;br /&gt;
&lt;br /&gt;
[http://nsidc.org/data/docs/noaa/g02158_snodas_snow_cover_model/index.html Snow Data Assimilation System] data that support hydrological modeling and analysis. First download the data, and untar them (once for each month, and once for each day), and you should get pairs of “.dat” and “.Hdr” files. The data files are stored in flat 16-bit binary format, so assuming that “snowdas_in.dat” is the name of the input file, at the GRASS prompt:&lt;br /&gt;
&lt;br /&gt;
   r.in.bin -bs bytes=2 rows=3351 cols=6935 north=52.874583333332339 \&lt;br /&gt;
   south=24.949583333333454 east=-66.942083333334011 west=-124.733749999998366 \&lt;br /&gt;
   anull=-9999 input=snowdas_input.dat output=snowdas&lt;br /&gt;
&lt;br /&gt;
=== CHELSA climate maps ===&lt;br /&gt;
	&lt;br /&gt;
CHELSA – Climatologies at high resolution for the earth’s land surface areas is a high resolution (30 arc sec) climate data set for the earth land surface areas currently under development, see http://chelsa-climate.org/&lt;br /&gt;
&lt;br /&gt;
Version 1.1 has some coordinate issues originating from SAGA being used (coordinate precision issue), see http://chelsa-climate.org/known-issues/&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
# WARNING: dirty hack - Better wait for the new release V1.2 of CHELSA!&lt;br /&gt;
&lt;br /&gt;
for i in `ls /scratch/chelsa_climate/*.zip` ; do&lt;br /&gt;
   unzip $i&lt;br /&gt;
   NAME=`basename $i .zip`&lt;br /&gt;
   gdal_translate --config GDAL_CACHEMAX 2000 -a_ullr -180 84 180 -90 -co &amp;quot;COMPRESS=DEFLATE&amp;quot; $NAME.tif ${NAME}_fixed.tif&lt;br /&gt;
   rm -f $NAME.tif&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== WorldClim maps ===&lt;br /&gt;
&lt;br /&gt;
[http://www.worldclim.org/ WorldClim] is a set of global climate layers (climate grids) with a spatial resolution of a square kilometer. Besides long-term average climate layers (representing the period 1950 - 2000) it also includes projections for future conditions based on downscaled global climate model (GCM) data from CMIP5 (IPPC Fifth Assessment) and projections of past conditions (downscaled global climate model output).&lt;br /&gt;
* Load into a Lat/Lon WGS84 location (EPSG:4326)&lt;br /&gt;
* The data set is provided in two formats: BIL and ESRI Grd. Import with {{cmd|r.in.bin}} or {{cmd|r.in.gdal}}. Version 1.4 has some coordinate issues:&lt;br /&gt;
&lt;br /&gt;
a) BIL: binary format is 2 byte integer. Multiply by 10 using {{cmd|r.mapcalc}} to convert units. See http://www.worldclim.org/format.htm for more information and the [[MODIS]] help page for example of converting raw to data units. Note that the file header is missing a line. To fix:&lt;br /&gt;
&lt;br /&gt;
 # fix WorldClim's BIL; tmean example&lt;br /&gt;
 for i in $(seq 1 12); do echo “PIXELTYPE SIGNEDINT” &amp;gt;&amp;gt;tmean$i.hdr; done&lt;br /&gt;
&lt;br /&gt;
b) ESRI grd files: Note that the WorldClim ESRI grd files suffer from a quality issue of coordinate precision. See [https://lists.osgeo.org/pipermail/grass-user/2011-January/059358.html here] for a solution.&lt;br /&gt;
&lt;br /&gt;
 # fix WorldClim's ESRI Grd; tmean example&lt;br /&gt;
 export GDAL_CACHEMAX=2000&lt;br /&gt;
 mkdir -p ~/tmp/&lt;br /&gt;
 # fix broken WorldClim files, see https://lists.osgeo.org/pipermail/grass-user/2011-January/059358.html&lt;br /&gt;
 # note: 60S, not 90S&lt;br /&gt;
 for i in $(seq 1 12); do gdal_translate -a_ullr -180 90 180 -60 tmean_$i $HOME/tmp/tmean_${i}_fixed.tif; done&lt;br /&gt;
 #&lt;br /&gt;
 # import&lt;br /&gt;
 for i in $(seq 1 12) ; do r.in.gdal input=$HOME/tmp/tmean_${i}_fixed.tif out=tmp --o ; g.region raster=tmp -p ; r.mapcalc &amp;quot;tmean_${i} = 0.1 * tmp&amp;quot; --o ; r.colors tmean_${i} color=celsius ; done&lt;br /&gt;
 #&lt;br /&gt;
 # clean up&lt;br /&gt;
 g.remove raster name=tmp -f&lt;br /&gt;
 rm -f ~/tmp/tmean_?_fixed.tif ; rm -f ~/tmp/tmean_??_fixed.tif&lt;br /&gt;
&lt;br /&gt;
=== Africlim maps ===&lt;br /&gt;
&lt;br /&gt;
[https://www.york.ac.uk/environment/research/kite/resources/ Africlim] provides four baseline data sets for current climate, including:&lt;br /&gt;
* CRU CL 2.0&lt;br /&gt;
* WorldClim v1.4&lt;br /&gt;
* TAMSAT TARCAT v2.0 (rainfall only)&lt;br /&gt;
* CHIRPS v1.8 (rainfall only). &lt;br /&gt;
&lt;br /&gt;
It furthermore provides data sets with projections of future climates based on combinations of ten general circulation models (GCMs), downscaled using five regional climate models (RCMs) and the four above mentioned contemporary baselines, under two representative concentration pathways of the IPCC-AR5 (RCP4.5 and RCP8.5). The data layers are available as GeoTIF files at spatial resolutions of 10', 5', 2.5', 1' and 30&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Population maps ==&lt;br /&gt;
&lt;br /&gt;
=== WorldPop ===&lt;br /&gt;
&lt;br /&gt;
* http://www.worldpop.org.uk/&lt;br /&gt;
&lt;br /&gt;
=== Gridded Population of the World ===&lt;br /&gt;
&lt;br /&gt;
* http://sedac.ciesin.columbia.edu/gpw/global.jsp&lt;br /&gt;
&lt;br /&gt;
Import with {{cmd|r.in.gdal}}, assign population color table with {{cmd|r.colors}}&lt;br /&gt;
&lt;br /&gt;
== Topographic maps ==&lt;br /&gt;
=== Soviet topographic maps ===&lt;br /&gt;
&lt;br /&gt;
* [http://en.poehali.org/maps Soviet topographic maps] as geocoded GeoTIFFs&lt;br /&gt;
&lt;br /&gt;
= Vector data =&lt;br /&gt;
&lt;br /&gt;
=== Natural Earth ===&lt;br /&gt;
&lt;br /&gt;
*  http://www.naturalearthdata.com/ data scaled for 1:10 million, 1:50 million and 1:110million&lt;br /&gt;
&lt;br /&gt;
=== CDC Geographic Boundary and Public Health Maps ===&lt;br /&gt;
&lt;br /&gt;
* http://www.cdc.gov/epiinfo/maps.htm&lt;br /&gt;
&lt;br /&gt;
=== Global Administrative Areas ===&lt;br /&gt;
&lt;br /&gt;
* GADM is a database of the location of the world's administrative areas (boundaries) available in shapefiles.&lt;br /&gt;
: http://gadm.org (extracted by country [http://gadm.org/country here])&lt;br /&gt;
&lt;br /&gt;
* World Borders Dataset including ISO 3166-1 Country codes available in shapefiles.&lt;br /&gt;
: http://thematicmapping.org/downloads/world_borders.php&lt;br /&gt;
* Free GIS data from Mapping Hacks&lt;br /&gt;
: http://mappinghacks.com/data/&lt;br /&gt;
&lt;br /&gt;
=== GSHHS World Coastline ===&lt;br /&gt;
&lt;br /&gt;
GSHHS is a high resolution shoreline dataset. It is derived from data in the public domain and licensed as GPL. The shorelines are constructed entirely from hierarchically arranged closed polygons. It is closely linked to the [[GMT]] project.&lt;br /&gt;
&lt;br /&gt;
==== Availability ====&lt;br /&gt;
&lt;br /&gt;
* Download the original data set from http://www.soest.hawaii.edu/pwessel/gshhg/index.html. Also available at http://www.ngdc.noaa.gov/mgg/shorelines/data/gshhg/latest/.&lt;br /&gt;
&lt;br /&gt;
* The data set, or parts from it, can be extracted from [http://www.ngdc.noaa.gov/mgg/shorelines/shorelines.html NOAA's shoreline extractor].&lt;br /&gt;
:For GRASS 6 you can download 1:250,000 shoreline data from NOAA's site in Mapgen format, which can be imported with the {{cmd|v.in.mapgen}} module.&lt;br /&gt;
&lt;br /&gt;
* '''ESRI Shapefiles''' of the latest version are available at http://www.ngdc.noaa.gov/mgg/shorelines/data/gshhg/latest/. The old 1.6 version is available at ftp://ftp.ihg.uni-duisburg.de/GIS/GISData/GSHHS/.&lt;br /&gt;
&lt;br /&gt;
==== Import ====&lt;br /&gt;
&lt;br /&gt;
* Import with the GRASS6 add-on module {{AddonCmd|v.in.gshhs}}&lt;br /&gt;
&lt;br /&gt;
=== OpenStreetMap ===&lt;br /&gt;
&lt;br /&gt;
See the [[OpenStreetMap]] wiki page.&lt;br /&gt;
&lt;br /&gt;
==== Administrative boundaries from OpenStreetMap ====&lt;br /&gt;
&lt;br /&gt;
For a convenient download in GeoJSON and SHAPE, see https://wambachers-osm.website/boundaries/&lt;br /&gt;
&lt;br /&gt;
(using the amost invisible triangle, you can pop out details of a country down to admin level 8)&lt;br /&gt;
&lt;br /&gt;
=== SALB ===&lt;br /&gt;
&lt;br /&gt;
Second Administrative Level Boundaries: ''&amp;quot;The SALB dataset is a global digital dataset consisting of digital maps and codes that can be downloaded on a country by country basis.&amp;quot;''&lt;br /&gt;
&lt;br /&gt;
* http://www.who.int/whosis/database/gis/salb/salb_home.htm&lt;br /&gt;
&lt;br /&gt;
=== VMap0 ===&lt;br /&gt;
&lt;br /&gt;
1:1 million vector data. Formerly known as ''Digital Chart of the World''&lt;br /&gt;
&lt;br /&gt;
* see the two articles in [http://grass.osgeo.org/newsletter/index.php ''GRASS Newsletter vol. 3 (June 2005)'']&lt;br /&gt;
&lt;br /&gt;
Check the [http://en.wikipedia.org/wiki/Vector_Map Wikipedia page] on VMAP, see the links at the bottom of that article to shapefile versions of VMAP0 and VMAP1.  Those look like the versions that were, several years ago, on a NIMA (predecessor to NGA, and successor to the Defense Mapping Agency that managed the Digital Chart of the World and VMAP project) Website.  Many GRASS users may prefer the shapefiles to the original Vector Product Format data.&lt;br /&gt;
&lt;br /&gt;
* [http://gis-lab.info/qa/vmap0-eng.html VMap0 data in ESRI shape format]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= See also =&lt;br /&gt;
&lt;br /&gt;
* [http://spatial-analyst.net/wiki/index.php?title=Global_datasets Global datasets] list by T. Hengl (with dataset download)&lt;br /&gt;
* http://freegisdata.rtwilson.com/&lt;br /&gt;
* The FreeGIS.org database:  http://www.freegis.org/database/&lt;br /&gt;
* http://finder.geocommons.com/&lt;br /&gt;
* http://wiki.openstreetmap.org/wiki/Potential_Datasources&lt;br /&gt;
* http://www.geonames.org/data-sources.html&lt;br /&gt;
* [http://ckan.net/tag/read/geo Open Knowledge Foundation link collection]&lt;br /&gt;
* [http://openweathermap.org/ Open Weather Map]  free weather data and forecast API suitable for any cartographic services like web and smartphones applications. Ideology is inspired by OpenStreetMap and Wikipedia that make information free and available for everybody. &lt;br /&gt;
&lt;br /&gt;
=== Metadata Catalogues ===&lt;br /&gt;
Catalog Service for the Web (CSW) is an OGC standard for offering access to catalogues of geospatial information over the Internet (HTTP). CSW allow for discovering, browsing, and querying metadata about data, services, and similar resources. A list of Metadata Catalogues / CSW services from member states of the European Union can be found here:&amp;lt;br /&amp;gt;&lt;br /&gt;
* [http://inspire-geoportal.ec.europa.eu/INSPIRERegistry/ http://inspire-geoportal.ec.europa.eu/INSPIRERegistry/]&amp;lt;br /&amp;gt;&lt;br /&gt;
And here: [http://inspire-geoportal.ec.europa.eu/discovery/ http://inspire-geoportal.ec.europa.eu/discovery/] one can search European Metadata Catalogues online.&lt;br /&gt;
&lt;br /&gt;
=== European datasets ===&lt;br /&gt;
&lt;br /&gt;
* [[European datasets]]&lt;br /&gt;
* [http://preview.grid.unep.ch/index3.php?preview=data&amp;amp;lang=eng Global Risk Data Platform]&lt;br /&gt;
* [http://open-data.europa.eu/open-data/data/ European Commission Opendata Portal]: 5800+ datasets&lt;br /&gt;
* [http://eca.knmi.nl/download/ensembles/download.php E-OBS] This is the download page for the ENSEMBLES daily gridded observational dataset for precipitation, temperature and sea level pressure in Europe&lt;br /&gt;
* [http://mars.jrc.ec.europa.eu/mars/About-us/AGRI4CAST/Data-distribution MARS @ JRC] Temperature, vapour pressure, rainfall, relative humidity, cloud cover, solar radiation, wind speed.&lt;br /&gt;
* [http://www.efas.eu/ EFAS @ JRC] is a High resolution pan-European dataset for hydrologic modelling.&lt;br /&gt;
* [http://data.jrc.ec.europa.eu/ JRC Data Portal] In this catalogue, you can find an inventory of data that produced by the JRC in accordance with the JRC data policy. The content is continuously updated and shall not be seen as a complete inventory of JRC data. Currently, the inventory describes only a small subset of JRC data.&lt;br /&gt;
&lt;br /&gt;
=== US datasets ===&lt;br /&gt;
&lt;br /&gt;
* [[NLCD Land Cover|NLCD: National land cover database]]&lt;br /&gt;
* [[CUSP Coastline|CUSP: NOAA Continually Updated Shoreline]]&lt;br /&gt;
&lt;br /&gt;
=== National datasets ===&lt;br /&gt;
&lt;br /&gt;
* [http://asdd.ga.gov.au/asdd/tech/zap/basic.html Australian Spatial Data Directory]&lt;br /&gt;
* [http://aekos.org.au/home Australian Ecological Knowledge and Observation System]&lt;br /&gt;
* [http://wiki.gfoss.it/index.php/GIS_Open_Data Italian Geodata collection]&lt;br /&gt;
* [http://koordinates.com/ New Zealand] data from Koordinates.com&lt;br /&gt;
* United States from NOAA/USGSs data portal (FIXME: link?)&lt;br /&gt;
* [http://geodata.gov.gr/geodata/ Greek Public Geodata] (in Greek)&lt;br /&gt;
&lt;br /&gt;
=== Various datasets worldwide ===&lt;br /&gt;
&lt;br /&gt;
* [http://geospatial.edublogs.org/ GEOSPATIAL DATA REPORT]: Finding and Using GIS Data&lt;br /&gt;
* [http://www.edenextdata.com/?q=data Edenext data portal]: Land Cover, Transport networks, Elevation, Orthoimagery, Human health and safety, Species Distribution, Atmospheric Conditions and Meteorological Geographical Features, Training Program Presentations and Data, Utility and governmental services, Hydrography, Soil, Bio geographical regions, Population distribution and Demographics&lt;br /&gt;
* [http://gdex.cr.usgs.gov/gdex/ Global Data Explorer USGS]: ASTER, SRTM, GTOPO etc&lt;br /&gt;
* [http://www.landcover.org/ landcover]&lt;br /&gt;
* [http://www.gripweb.org/gripweb/?q=data-information GRIPWEB’s Data &amp;amp; Informational Portal]: hazard &amp;amp; risk&lt;br /&gt;
* [http://sedac.ciesin.columbia.edu/data/sets/browse SEDAC]: Agriculture, Climate, Conservation, Framework Data, Governance, Hazards, Health, Infrastructure, Land Use, Marine and Coastal, Population, Poverty, Remote Sensing, Sustainability, Urban, Water&lt;br /&gt;
* [http://www.preventionweb.net/english/professional/maps/?pid:6&amp;amp;pih:2 Prevention Web]: hazard &amp;amp; risk&lt;br /&gt;
* [http://data.un.org/Default.aspx UNdata]: UN database&lt;br /&gt;
* [http://www.undp.org/content/undp/en/home.html UNDP home page]&lt;br /&gt;
* [http://www.cgiar-csi.org/data global climatic data]&lt;br /&gt;
* [http://csi.cgiar.org/cgiargeospatialtools.asp cosortium for spatial information CGIAR-CSI GeoSpatial Toolkits]&lt;br /&gt;
* [http://freegisdata.rtwilson.com/ Links to over 300 sites providing freely available geographic datasets]&lt;br /&gt;
* [http://www.diva-gis.org/Data Free Spatial Data]&lt;br /&gt;
* [http://edc2.usgs.gov/glcc/globe_int.php Global Land Cover Characteristics Data Base Version 2.0]&lt;br /&gt;
* [http://opentopo.sdsc.edu/gridsphere/gridsphere?cid=datasets A Portal to High-Resolution Topography Data and Tools]&lt;br /&gt;
* [http://www.metoffice.gov.uk/hadobs/hadghcnd/ HadGHCND] is a gridded daily temperature dataset based upon near-surface maximum (TX) and minimum (TN) temperature observations.&lt;br /&gt;
&lt;br /&gt;
=== WMS servers ===&lt;br /&gt;
&lt;br /&gt;
* See [[WMS]] page&lt;br /&gt;
&lt;br /&gt;
=== River discharge data ===&lt;br /&gt;
&lt;br /&gt;
* [http://www.bafg.de/GRDC/EN/Home/homepage_node.html Global Runoff Data Centre]&lt;br /&gt;
* [http://www.sage.wisc.edu/riverdata/ Global River Discharge Database]&lt;br /&gt;
* [http://csdms.colorado.edu/wiki/River_discharge_data CSDMS]&lt;br /&gt;
&lt;br /&gt;
[[Category: Geodata]]&lt;br /&gt;
[[Category: Import]]&lt;/div&gt;</summary>
		<author><name>⚠️HamishBowman</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=NLCD_Land_Cover&amp;diff=26347</id>
		<title>NLCD Land Cover</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=NLCD_Land_Cover&amp;diff=26347"/>
		<updated>2020-09-24T04:48:09Z</updated>

		<summary type="html">&lt;p&gt;⚠️HamishBowman: /* Manning's n */ misspell a little so that search engine can find it&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[image:NLCD_2016_Land_Cover_example.png|500px|right|thumb|NLCD2016 land cover example, south shore of Long Island, NY]]&lt;br /&gt;
&lt;br /&gt;
== About ==&lt;br /&gt;
&lt;br /&gt;
* Raster grid covering the Continental US at 30 meter resolution&lt;br /&gt;
&lt;br /&gt;
* https://www.mrlc.gov/data/nlcd-2016-land-cover-conus&lt;br /&gt;
&lt;br /&gt;
From the Spearfish dataset's ''landcover.30m'' history file:&lt;br /&gt;
: National Land Cover Data Set NLCD, U.S. Geological Survey (USGS)&lt;br /&gt;
:  ''The NLCD was compiled from Landsat TM imagery (circa 1992) with a spatial resolution of 30 meters supplemented by various ancillary data (where available). The satellite images were analyzed and interpreted by using very large, sometimes multi-State, image  mosaics (that is, up to 18 Landsat scenes). Because a relatively small number of aerial photographs were necessarily conducted from a broad spatial perspective. Furthermore, the accuracy assessments correspond to Federal Regions, which are groupings of contiguous States. Thus, the reliability of the data is greatest at the State or multi-State level. The statistical accuracy of the data is known only for the region.''&lt;br /&gt;
&lt;br /&gt;
== Obtaining data from the USGS ==&lt;br /&gt;
&lt;br /&gt;
The classic Spearfish GRASS sample dataset contains a ''landcover.30m'' raster map which is an excerpt from an older version of the NLCD dataset.&lt;br /&gt;
&lt;br /&gt;
* Download site: https://www.mrlc.gov/data&lt;br /&gt;
&lt;br /&gt;
* Data is provided in ERDAS Imagine .img format.&lt;br /&gt;
: As of April 2019 the zipped dataset is a 1.4 GB.&lt;br /&gt;
&lt;br /&gt;
* Create an Albers location&lt;br /&gt;
: this can also be done automatically with the Location Wizard using the downloaded .img file.&lt;br /&gt;
&lt;br /&gt;
Here are the values for the CONUS dataset:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
name: Albers Equal Area&lt;br /&gt;
proj: aea&lt;br /&gt;
datum: wgs84&lt;br /&gt;
ellps: wgs84&lt;br /&gt;
lat_1: 29.5&lt;br /&gt;
lat_2: 45.5&lt;br /&gt;
lat_0: 23&lt;br /&gt;
lon_0: -96&lt;br /&gt;
x_0: 0&lt;br /&gt;
y_0: 0&lt;br /&gt;
towgs84: 0,0,0,0,0,0,0&lt;br /&gt;
no_defs: defined&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Importing ==&lt;br /&gt;
&lt;br /&gt;
Rather than import the entire 16GB raster image, just make a virtual link to it:&lt;br /&gt;
 r.external in=NLCD_2016_Land_Cover_L48_20190424.img out=NLCD_2016_Land_Cover_L48_20190424 title=&amp;quot;Land Cover 2016&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Then use g.region to zoom to your area of interest and r.mapcalc to extract a subset&lt;br /&gt;
 g.region -p n= s= e= w= res=30 align=NLCD_2016_Land_Cover_L48_20190424&lt;br /&gt;
 r.mapcalc &amp;quot;NLCD.extract = NLCD_2016_Land_Cover_L48_20190424&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Categories ==&lt;br /&gt;
&lt;br /&gt;
These can be applied with the r.category module.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
0:Unclassified&lt;br /&gt;
11:Open Water&lt;br /&gt;
12:Perennial Snow/Ice&lt;br /&gt;
21:Developed, Open Space&lt;br /&gt;
22:Developed, Low Intensity&lt;br /&gt;
23:Developed, Medium Intensity&lt;br /&gt;
24:Developed, High Intensity&lt;br /&gt;
31:Barren Land&lt;br /&gt;
41:Deciduous Forest&lt;br /&gt;
42:Evergreen Forest&lt;br /&gt;
43:Mixed Forest&lt;br /&gt;
52:Shrub/Scrub&lt;br /&gt;
71:Herbaceous&lt;br /&gt;
81:Hay/Pasture&lt;br /&gt;
82:Cultivated Crops&lt;br /&gt;
90:Woody Wetlands&lt;br /&gt;
95:Emergent Herbaceous Wetlands&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Colors ==&lt;br /&gt;
&lt;br /&gt;
[[image:NLCD_Colour_Classification_Update.jpg|right|thumb|NLCD2016 land cover classification legend from mrlc.gov]]&lt;br /&gt;
&lt;br /&gt;
These should load in automatically, but if they don't here are the official colors which you can load in with the r.colors module's rules= option:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
11 70:107:159&lt;br /&gt;
12 209:222:248&lt;br /&gt;
21 222:197:197&lt;br /&gt;
22 217:146:130&lt;br /&gt;
23 235:0:0&lt;br /&gt;
24 171:0:0&lt;br /&gt;
31 179:172:159&lt;br /&gt;
41 104:171:95&lt;br /&gt;
42 28:95:44&lt;br /&gt;
43 181:197:143&lt;br /&gt;
52 204:184:121&lt;br /&gt;
71 223:223:194&lt;br /&gt;
81 220:217:57&lt;br /&gt;
82 171:108:40&lt;br /&gt;
90 184:217:235&lt;br /&gt;
95 108:159:184&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Legend ==&lt;br /&gt;
&lt;br /&gt;
Use the -n and -c flags of d.legend to limit the legend to named categories.&lt;br /&gt;
&lt;br /&gt;
* See also https://www.mrlc.gov/data/legends/national-land-cover-database-2016-nlcd2016-legend&lt;br /&gt;
&lt;br /&gt;
== Manning's n ==&lt;br /&gt;
&lt;br /&gt;
For using as a basis for Mannings n friction coefficients, you can make a virtual reclass map with ''r.reclass''. The module will only reclass as integers so the table below is reclassed into parts per ten-thousand. Crop your area of interest with r.mapcalc and divide by 10000.0 at the same time to get the Manning's n number.&lt;br /&gt;
&lt;br /&gt;
Actual values for your location will vary widely, the following is simply a starting point.&lt;br /&gt;
&amp;lt;!-- : ''TODO: values of 999 require values from the literature''  --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
0 = 0  Unclassified&lt;br /&gt;
11 = 0250 Open Water&lt;br /&gt;
12 = 0220 Perennial Snow/Ice&lt;br /&gt;
21 = 0400 Developed, Open Space&lt;br /&gt;
22 = 1000 Developed, Low Intensity&lt;br /&gt;
23 = 0800 Developed, Medium Intensity&lt;br /&gt;
24 = 1500 Developed, High Intensity&lt;br /&gt;
31 = 0275 Barren Land&lt;br /&gt;
41 = 1600 Deciduous Forest&lt;br /&gt;
42 = 1800 Evergreen Forest&lt;br /&gt;
43 = 1700 Mixed Forest&lt;br /&gt;
52 = 1000 Shrub/Scrub&lt;br /&gt;
71 = 0350 Herbaceous&lt;br /&gt;
81 = 0325 Hay/Pasture&lt;br /&gt;
82 = 0375 Cultivated Crops&lt;br /&gt;
90 = 1200 Woody Wetlands&lt;br /&gt;
95 = 0700 Emergent Herbaceous Wetlands&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
References:&lt;br /&gt;
* [http://www.fsl.orst.edu/geowater/FX3/help/8_Hydraulic_Reference/Mannings_n_Tables.htm Ven Te Chow, 1959] (Corvallis)&lt;br /&gt;
* [https://pubs.usgs.gov/wsp/2339/report.pdf USGS's Guide for Selecting Manning's Roughness Coefficients for Natural Channels and Flood Plains]&lt;br /&gt;
&lt;br /&gt;
* [https://www.wcc.nrcs.usda.gov/ftpref/wntsc/H&amp;amp;H/HecRAS/NEDC/lectures/docs/Manning%92s%20n-values%20for%20Kansas%20Dam%20Breach%20Analyses%20-%20Adopted%20071216.pdf Manning's n Values for Various Land Covers To Use for Dam Breach Analyses by NRCS in Kansas]&lt;br /&gt;
&lt;br /&gt;
* Kalyanapu, Alfred &amp;amp; Burian, Steve &amp;amp; Mcpherson, Timothy. (2009). ''Effect of land use-based surface roughness on hydrologic model output.'' Journal of Spatial Hydrology. 9. 51-71.&lt;br /&gt;
* Liu, Zhu &amp;amp; Merwade, Venkatesh &amp;amp; Jafarzadegan, Keighobad. (2018). ''Investigating the role of model structure and surface roughness in generating flood inundation extents using 1D and 2D hydraulic models.'' Journal of Flood Risk Management. e12347. 10.1111/jfr3.12347.&lt;br /&gt;
&lt;br /&gt;
* Bunya, et al.. (2010). ''A High-Resolution Coupled Riverine Flow, Tide, Wind, Wind Wave, and Storm Surge Model for Southern Louisiana and Mississippi. Part I: Model Development and Validation.'' Monthly weather review 138.2: 345-377.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [[CORINE Land Cover]]&lt;br /&gt;
* [[Global Land Cover Characteristics]]&lt;br /&gt;
&lt;br /&gt;
[[Category: Geodata]]&lt;br /&gt;
[[Category: Import]]&lt;/div&gt;</summary>
		<author><name>⚠️HamishBowman</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=ADCIRC&amp;diff=26265</id>
		<title>ADCIRC</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=ADCIRC&amp;diff=26265"/>
		<updated>2020-07-03T23:01:24Z</updated>

		<summary type="html">&lt;p&gt;⚠️HamishBowman: /* Importing unit 61, 62, 63, 64 results */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Interfacing with the [http://adcirc.org ADCIRC] coastal ocean model ==&lt;br /&gt;
&lt;br /&gt;
=== Grid preparation ===&lt;br /&gt;
&lt;br /&gt;
==== OceanMesh2D ====&lt;br /&gt;
&lt;br /&gt;
[https://github.com/CHLNDDEV/OceanMesh2D OceanMesh2D] is an open source (GPL3) generator of 2D [[Triangle_Mesh|triangular finite element meshes]] suitable for use with [http://adcirc.org ADCIRC] that performs an adaptive Delaunay triangulation, iteratively, providing fine mesh detail in areas of numerical complexity.&lt;br /&gt;
It likes to work in lat/lon coordinate system.&lt;br /&gt;
&lt;br /&gt;
You can output your DEM as NetCDF format with r.out.gdal.&lt;br /&gt;
&lt;br /&gt;
You can create a domain boundary polyline with r.contour. You can then output the domain boundary polyline either as Shapefiles with v.out.ogr, or as two column x,y ASCII data with the {{AddonCmd|v.out.ascii.mat}} addon module for GRASS 6.&lt;br /&gt;
&lt;br /&gt;
==== Boundary node attribute preparation ====&lt;br /&gt;
&lt;br /&gt;
You can extract the tidal forcing factor amplitude and phase for boundary nodes needed in the fort.15 setup file from raster maps already loaded into GRASS. In the following example the [https://www.aviso.altimetry.fr/en/data/products/auxiliary-products/global-tide-fes/description-fes2004.html FES2004] dataset is used. (FES2002 for the K2 constituent as K2 is reputed to be broken in the 2004 edition)&lt;br /&gt;
: ''See also the [http://volkov.oce.orst.edu/tides/global.html TPXO NetCDF global tide dataset] from OSU.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Import FES tidal database data:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# import and split phase into components&lt;br /&gt;
r.in.gdal in=NETCDF:&amp;quot;tide.fes2004.nc&amp;quot;:spectrum out=fes2004.spectrum -ol&lt;br /&gt;
&lt;br /&gt;
MAPS=`g.mlist rast patt=&amp;quot;fes2004*&amp;quot; | sort -n -k 3 -t .`&lt;br /&gt;
for MAP in $MAPS ; do&lt;br /&gt;
    echo &amp;quot;[$MAP]&amp;quot;&lt;br /&gt;
    r.region $MAP s=-90 w=-180&lt;br /&gt;
    eval `r.info -s $MAP`&lt;br /&gt;
    g.region rast=$MAP&lt;br /&gt;
    g.region n=n-$nsres s=s+$nsres w=w+$ewres&lt;br /&gt;
    r.mapcalc &amp;quot;$MAP.crop = $MAP&amp;quot;&lt;br /&gt;
    r.region $MAP.crop n=89.9375 s=-89.9375 w=0.0625 e=360.0625&lt;br /&gt;
    g.region rast=$MAP.crop&lt;br /&gt;
    g.remove $MAP&lt;br /&gt;
    g.rename $MAP.crop,$MAP.fixed&lt;br /&gt;
    echo&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
spectrum=&amp;quot;2N2 K1 K2 M2 M4 Mf Mm Msqm Mtm N2 O1 P1 Q1 S2&amp;quot;&lt;br /&gt;
for i in `seq 1 14` ; do&lt;br /&gt;
    constit=`echo &amp;quot;$spectrum&amp;quot; | tr ' ' '\n' | head -n $i | tail -n 1`&lt;br /&gt;
    g.rename fes2004.Ha.$i.fixed,fes2004.$constit.amplitude&lt;br /&gt;
    g.rename fes2004.Hg.$i.fixed,fes2004.$constit.phase&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
g.rename fes2004.K2.amplitude,fes2004.K2.amplitude.bad&lt;br /&gt;
g.rename fes2004.K2.phase,fes2004.K2.phase.bad&lt;br /&gt;
&lt;br /&gt;
for map in `g.mlist rast patt=&amp;quot;*.phase&amp;quot; | grep -v bad` ; do&lt;br /&gt;
    r.mapcalc &amp;lt;&amp;lt; EOF&lt;br /&gt;
     $map.u = 1 * cos($map)&lt;br /&gt;
     $map.v = 1 * sin($map)&lt;br /&gt;
EOF&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Extract amplitude and phase at open boundary nodes:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
constits=&amp;quot;M2  N2  S2  K1  O1  P1  K2  2N2  Q1  M4&amp;quot;&lt;br /&gt;
&lt;br /&gt;
for const in $constits ; do&lt;br /&gt;
  MAP=fes2004.$const&lt;br /&gt;
  if [ $const = K2 ] ; then&lt;br /&gt;
    MAP=fes2002.K2&lt;br /&gt;
  fi&lt;br /&gt;
  echo &amp;quot;[$MAP]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  v.what.rast vect=adcirc_grid_open_bdy_nodes \&lt;br /&gt;
    rast=$MAP.amplitude -pi --q | sort -n &amp;gt; $MAP.ampl.prn&lt;br /&gt;
&lt;br /&gt;
  v.what.rast vect=adcirc_grid_open_bdy_nodes \&lt;br /&gt;
    rast=$MAP.phase -p --q | sort -n &amp;gt;  $MAP.phase_raw.prn&lt;br /&gt;
  v.what.rast vect=adcirc_grid_open_bdy_nodes \&lt;br /&gt;
    rast=$MAP.phase.u -pi --q | sort -n &amp;gt;  $MAP.phase.u.prn&lt;br /&gt;
  v.what.rast vect=adcirc_grid_open_bdy_nodes \&lt;br /&gt;
    rast=$MAP.phase.v -pi --q | sort -n &amp;gt;  $MAP.phase.v.prn&lt;br /&gt;
&lt;br /&gt;
  echo &amp;quot;% $const: grid open boundary nodes&amp;quot; &amp;gt; $MAP.tidal.prn&lt;br /&gt;
  echo &amp;quot;% node ampl phase phase.u phase.v&amp;quot; &amp;gt;&amp;gt; $MAP.tidal.prn&lt;br /&gt;
  paste -d'|' $MAP.ampl.prn $MAP.phase_raw.prn \&lt;br /&gt;
      $MAP.phase.u.prn $MAP.phase.v.prn | \&lt;br /&gt;
    cut -f1,2,4,6,8 -d'|' | \&lt;br /&gt;
    tr '|' '\t' &amp;gt;&amp;gt; $MAP.tidal.prn&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
# check for nulls in the source data.&lt;br /&gt;
# Manually replace with values from nearby raster cells using d.what.rast&lt;br /&gt;
grep '*' *.tidal.prn&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then, in Matlab or Octave:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;matlab&amp;quot;&amp;gt;&lt;br /&gt;
M2 = load('fes2004.M2.tidal.prn');&lt;br /&gt;
N2 = load('fes2004.N2.tidal.prn');&lt;br /&gt;
S2 = load('fes2004.S2.tidal.prn');&lt;br /&gt;
K1 = load('fes2004.K1.tidal.prn');&lt;br /&gt;
O1 = load('fes2004.O1.tidal.prn');&lt;br /&gt;
K2 = load('fes2002.K2.tidal.prn');&lt;br /&gt;
P1 = load('fes2004.P1.tidal.prn');&lt;br /&gt;
Q1 = load('fes2004.Q1.tidal.prn');&lt;br /&gt;
&lt;br /&gt;
c2N2 = load('fes2004.2N2.tidal.prn');&lt;br /&gt;
M4 = load('fes2004.M4.tidal.prn');&lt;br /&gt;
&lt;br /&gt;
% compare nearest neighbor phase angle vs. interpolated phase angle reconstructed from components&lt;br /&gt;
[M2(:,3)  cart2pol(M2(:,4), M2(:,5)) * 180/pi]&lt;br /&gt;
&lt;br /&gt;
delta = M2(:,3) - (cart2pol(M2(:,4), M2(:,5)) * 180/pi);&lt;br /&gt;
[M2(:,1) delta]&lt;br /&gt;
plot(M2(:,1), delta), grid on&lt;br /&gt;
xlabel('boundary node')&lt;br /&gt;
ylabel('degrees')&lt;br /&gt;
&lt;br /&gt;
[M2(:,1) M2(:,3) (cart2pol(M2(:,4), M2(:,5)) * 180/pi) delta]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
%%%&lt;br /&gt;
constits={ 'M2' 'N2' 'S2' 'K1' 'O1' 'P1' 'K2' 'c2N2' 'Q1' 'M4' }&lt;br /&gt;
&lt;br /&gt;
fid = fopen('grid_constits.prn', 'w')&lt;br /&gt;
&lt;br /&gt;
for i = 1: length(constits)&lt;br /&gt;
  const = char(constits(i));&lt;br /&gt;
  eval(['data = ' const ';'])&lt;br /&gt;
  new_phase = cart2pol(data(:,4), data(:,5)) * 180/pi;&lt;br /&gt;
  for j = 1:length(new_phase)&lt;br /&gt;
    if (new_phase(j) &amp;lt; 0)&lt;br /&gt;
      new_phase(j) = new_phase(j) + 360;&lt;br /&gt;
    end&lt;br /&gt;
  end&lt;br /&gt;
  fprintf(fid, ' %s\n', const);&lt;br /&gt;
  for j = 1:length(new_phase)&lt;br /&gt;
    fprintf(fid, '   %8.6f  %9.5f\n', data(j,2), new_phase(j));&lt;br /&gt;
  end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
fclose(fid)&lt;br /&gt;
&lt;br /&gt;
% then manually fix c2N2 -&amp;gt; 2N2&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Creating Manning's n nodal attributes ====&lt;br /&gt;
&lt;br /&gt;
* See [[NLCD Land Cover]] for instructions on importing the base data&lt;br /&gt;
&lt;br /&gt;
You can load in your fort.14 mesh as points with &amp;lt;tt&amp;gt;v.in.adcirc_grid&amp;lt;/tt&amp;gt;, then pull it into the Albers location with &amp;lt;tt&amp;gt;v.proj&amp;lt;/tt&amp;gt;, then create a column of ''n'' values with '&amp;lt;tt&amp;gt;v.what.rast -i -p&amp;lt;/tt&amp;gt;' that you can then form into a fort.13 file with UNIX command line power tools such as 'cut' and 'paste'.&lt;br /&gt;
&lt;br /&gt;
=== Post processing output data ===&lt;br /&gt;
&lt;br /&gt;
==== Importing the fort.14 mesh grid ====&lt;br /&gt;
&lt;br /&gt;
The {{AddonCmd|v.in.adcirc_grid}} addon module for GRASS 6 will import a 2.5D triangular mesh from the [[ADCIRC]] coastal ocean model into a 3D GRASS vector map.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;v.in.adcirc_grid&amp;lt;/tt&amp;gt; does not yet support loading in node type (boundary, etc.) as point attributes -- database tables can be a bit slow for maps with potentially millions of features. In the mean time here is a little shell script to extract the boundary nodes on the ''first'' open boundary into a separate vector points map:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 infile=fort.14&lt;br /&gt;
 inmap=mesh_grid_pts&lt;br /&gt;
 bdymap=mesh_bdy_pts&lt;br /&gt;
 &lt;br /&gt;
 v.in.adcirc_grid -p in=$infile out=$inmap&lt;br /&gt;
 num_pts=`grep ' = Number of nodes for open boundary' &amp;quot;$infile&amp;quot; | head -n 1 | awk '{print $1}'`&lt;br /&gt;
 cat_list=`grep -A&amp;quot;$num_pts&amp;quot; ' = Number of nodes for open boundary' &amp;quot;$infile&amp;quot; | \&lt;br /&gt;
    tail -n +2 | tr '\n' ',' | sed -e 's/ //g' -e 's/,$//'`&lt;br /&gt;
 v.extract in=$inmap out=$bdymap list=&amp;quot;$cat_list&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Importing elevation or velocity reporting stations ====&lt;br /&gt;
&lt;br /&gt;
With a little awk you can load in the elevation reporting stations for unit 61 with v.in.ascii.&lt;br /&gt;
: example goes here&lt;br /&gt;
&lt;br /&gt;
==== Visualizing sub-domains ====&lt;br /&gt;
&lt;br /&gt;
If you wish to have a look at where the sub-domains of a parallel run are, you can use the following Bash script:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
mkdir fort14s&lt;br /&gt;
for DIR in PE00?? ; do&lt;br /&gt;
   cp -a $DIR/fort.14 fort14s/${DIR}.14&lt;br /&gt;
done&lt;br /&gt;
 &lt;br /&gt;
cd fort14s&lt;br /&gt;
for file in *.14 ; do&lt;br /&gt;
   base=`echo &amp;quot;$file&amp;quot; | sed -e 's/PE00//' -e 's/\.14//'`&lt;br /&gt;
   echo -n &amp;quot;[$base]&amp;quot;&lt;br /&gt;
   v.in.adcirc_grid in=&amp;quot;$file&amp;quot; out=&amp;quot;submesh_$base&amp;quot; --quiet&lt;br /&gt;
   v.in.adcirc_grid -p in=&amp;quot;$file&amp;quot; out=&amp;quot;submesh_${base}_pts&amp;quot; --quiet&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here is a loop for displaying 80 sub-meshes, with random dark colors:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
for PE in {00..79} ; do&lt;br /&gt;
  echo -n &amp;quot;[$PE]&amp;quot;&lt;br /&gt;
  R=`expr $RANDOM / 256`&lt;br /&gt;
  G=`expr $RANDOM / 256`&lt;br /&gt;
  B=`expr $RANDOM / 256`&lt;br /&gt;
&lt;br /&gt;
  d.vect &amp;quot;submesh_$PE&amp;quot; color=&amp;quot;$R:$G:$B&amp;quot;&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
d.vect US_medium_shoreline color=black width=2&lt;br /&gt;
&lt;br /&gt;
d.vect station_map color=black fcolor=red size=8 icon=basic/circle&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Importing unit 61, 62, 63, 64 results ====&lt;br /&gt;
&lt;br /&gt;
For this a useful approach is to import lat/lon coordinates of the nodes (as points) with the v.in.adcirc_grid AddOn module for GRASS 6, switch over to your target map projection in another GRASS location, pull in the points vector map from the lat/lon location with v.proj, export them with v.out.ascii only keeping the projected points' x and y coordinate columns, tab separated (node order is preserved through all of this), this only needs to be done once.&lt;br /&gt;
: Next using `ncdump` extract the 'z' or 'u' and 'v' values at each node point, and `paste` those (using the `paste` Unix command line tool) together with the x and y coordinates into a file ready for v.in.ascii or r.in.xyz. Repeat as necessary if the NetCDF output file includes multiple timsteps. All of this can be and should be scripted to save you time.&lt;br /&gt;
&lt;br /&gt;
- addme: bash code + r.in.xyz + {{AddonCmd|r.surf.nnbathy}}&lt;br /&gt;
&lt;br /&gt;
{{AddonCmd|d.barb}} addon module for GRASS 6 for rendering u,v vector arrows&lt;br /&gt;
&lt;br /&gt;
[[Category: Geodata]]&lt;br /&gt;
[[Category: Import]]&lt;/div&gt;</summary>
		<author><name>⚠️HamishBowman</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=ADCIRC&amp;diff=26264</id>
		<title>ADCIRC</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=ADCIRC&amp;diff=26264"/>
		<updated>2020-07-03T23:00:29Z</updated>

		<summary type="html">&lt;p&gt;⚠️HamishBowman: /* Importing unit 61, 62, 63, 64 results */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Interfacing with the [http://adcirc.org ADCIRC] coastal ocean model ==&lt;br /&gt;
&lt;br /&gt;
=== Grid preparation ===&lt;br /&gt;
&lt;br /&gt;
==== OceanMesh2D ====&lt;br /&gt;
&lt;br /&gt;
[https://github.com/CHLNDDEV/OceanMesh2D OceanMesh2D] is an open source (GPL3) generator of 2D [[Triangle_Mesh|triangular finite element meshes]] suitable for use with [http://adcirc.org ADCIRC] that performs an adaptive Delaunay triangulation, iteratively, providing fine mesh detail in areas of numerical complexity.&lt;br /&gt;
It likes to work in lat/lon coordinate system.&lt;br /&gt;
&lt;br /&gt;
You can output your DEM as NetCDF format with r.out.gdal.&lt;br /&gt;
&lt;br /&gt;
You can create a domain boundary polyline with r.contour. You can then output the domain boundary polyline either as Shapefiles with v.out.ogr, or as two column x,y ASCII data with the {{AddonCmd|v.out.ascii.mat}} addon module for GRASS 6.&lt;br /&gt;
&lt;br /&gt;
==== Boundary node attribute preparation ====&lt;br /&gt;
&lt;br /&gt;
You can extract the tidal forcing factor amplitude and phase for boundary nodes needed in the fort.15 setup file from raster maps already loaded into GRASS. In the following example the [https://www.aviso.altimetry.fr/en/data/products/auxiliary-products/global-tide-fes/description-fes2004.html FES2004] dataset is used. (FES2002 for the K2 constituent as K2 is reputed to be broken in the 2004 edition)&lt;br /&gt;
: ''See also the [http://volkov.oce.orst.edu/tides/global.html TPXO NetCDF global tide dataset] from OSU.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Import FES tidal database data:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# import and split phase into components&lt;br /&gt;
r.in.gdal in=NETCDF:&amp;quot;tide.fes2004.nc&amp;quot;:spectrum out=fes2004.spectrum -ol&lt;br /&gt;
&lt;br /&gt;
MAPS=`g.mlist rast patt=&amp;quot;fes2004*&amp;quot; | sort -n -k 3 -t .`&lt;br /&gt;
for MAP in $MAPS ; do&lt;br /&gt;
    echo &amp;quot;[$MAP]&amp;quot;&lt;br /&gt;
    r.region $MAP s=-90 w=-180&lt;br /&gt;
    eval `r.info -s $MAP`&lt;br /&gt;
    g.region rast=$MAP&lt;br /&gt;
    g.region n=n-$nsres s=s+$nsres w=w+$ewres&lt;br /&gt;
    r.mapcalc &amp;quot;$MAP.crop = $MAP&amp;quot;&lt;br /&gt;
    r.region $MAP.crop n=89.9375 s=-89.9375 w=0.0625 e=360.0625&lt;br /&gt;
    g.region rast=$MAP.crop&lt;br /&gt;
    g.remove $MAP&lt;br /&gt;
    g.rename $MAP.crop,$MAP.fixed&lt;br /&gt;
    echo&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
spectrum=&amp;quot;2N2 K1 K2 M2 M4 Mf Mm Msqm Mtm N2 O1 P1 Q1 S2&amp;quot;&lt;br /&gt;
for i in `seq 1 14` ; do&lt;br /&gt;
    constit=`echo &amp;quot;$spectrum&amp;quot; | tr ' ' '\n' | head -n $i | tail -n 1`&lt;br /&gt;
    g.rename fes2004.Ha.$i.fixed,fes2004.$constit.amplitude&lt;br /&gt;
    g.rename fes2004.Hg.$i.fixed,fes2004.$constit.phase&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
g.rename fes2004.K2.amplitude,fes2004.K2.amplitude.bad&lt;br /&gt;
g.rename fes2004.K2.phase,fes2004.K2.phase.bad&lt;br /&gt;
&lt;br /&gt;
for map in `g.mlist rast patt=&amp;quot;*.phase&amp;quot; | grep -v bad` ; do&lt;br /&gt;
    r.mapcalc &amp;lt;&amp;lt; EOF&lt;br /&gt;
     $map.u = 1 * cos($map)&lt;br /&gt;
     $map.v = 1 * sin($map)&lt;br /&gt;
EOF&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Extract amplitude and phase at open boundary nodes:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
constits=&amp;quot;M2  N2  S2  K1  O1  P1  K2  2N2  Q1  M4&amp;quot;&lt;br /&gt;
&lt;br /&gt;
for const in $constits ; do&lt;br /&gt;
  MAP=fes2004.$const&lt;br /&gt;
  if [ $const = K2 ] ; then&lt;br /&gt;
    MAP=fes2002.K2&lt;br /&gt;
  fi&lt;br /&gt;
  echo &amp;quot;[$MAP]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  v.what.rast vect=adcirc_grid_open_bdy_nodes \&lt;br /&gt;
    rast=$MAP.amplitude -pi --q | sort -n &amp;gt; $MAP.ampl.prn&lt;br /&gt;
&lt;br /&gt;
  v.what.rast vect=adcirc_grid_open_bdy_nodes \&lt;br /&gt;
    rast=$MAP.phase -p --q | sort -n &amp;gt;  $MAP.phase_raw.prn&lt;br /&gt;
  v.what.rast vect=adcirc_grid_open_bdy_nodes \&lt;br /&gt;
    rast=$MAP.phase.u -pi --q | sort -n &amp;gt;  $MAP.phase.u.prn&lt;br /&gt;
  v.what.rast vect=adcirc_grid_open_bdy_nodes \&lt;br /&gt;
    rast=$MAP.phase.v -pi --q | sort -n &amp;gt;  $MAP.phase.v.prn&lt;br /&gt;
&lt;br /&gt;
  echo &amp;quot;% $const: grid open boundary nodes&amp;quot; &amp;gt; $MAP.tidal.prn&lt;br /&gt;
  echo &amp;quot;% node ampl phase phase.u phase.v&amp;quot; &amp;gt;&amp;gt; $MAP.tidal.prn&lt;br /&gt;
  paste -d'|' $MAP.ampl.prn $MAP.phase_raw.prn \&lt;br /&gt;
      $MAP.phase.u.prn $MAP.phase.v.prn | \&lt;br /&gt;
    cut -f1,2,4,6,8 -d'|' | \&lt;br /&gt;
    tr '|' '\t' &amp;gt;&amp;gt; $MAP.tidal.prn&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
# check for nulls in the source data.&lt;br /&gt;
# Manually replace with values from nearby raster cells using d.what.rast&lt;br /&gt;
grep '*' *.tidal.prn&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then, in Matlab or Octave:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;matlab&amp;quot;&amp;gt;&lt;br /&gt;
M2 = load('fes2004.M2.tidal.prn');&lt;br /&gt;
N2 = load('fes2004.N2.tidal.prn');&lt;br /&gt;
S2 = load('fes2004.S2.tidal.prn');&lt;br /&gt;
K1 = load('fes2004.K1.tidal.prn');&lt;br /&gt;
O1 = load('fes2004.O1.tidal.prn');&lt;br /&gt;
K2 = load('fes2002.K2.tidal.prn');&lt;br /&gt;
P1 = load('fes2004.P1.tidal.prn');&lt;br /&gt;
Q1 = load('fes2004.Q1.tidal.prn');&lt;br /&gt;
&lt;br /&gt;
c2N2 = load('fes2004.2N2.tidal.prn');&lt;br /&gt;
M4 = load('fes2004.M4.tidal.prn');&lt;br /&gt;
&lt;br /&gt;
% compare nearest neighbor phase angle vs. interpolated phase angle reconstructed from components&lt;br /&gt;
[M2(:,3)  cart2pol(M2(:,4), M2(:,5)) * 180/pi]&lt;br /&gt;
&lt;br /&gt;
delta = M2(:,3) - (cart2pol(M2(:,4), M2(:,5)) * 180/pi);&lt;br /&gt;
[M2(:,1) delta]&lt;br /&gt;
plot(M2(:,1), delta), grid on&lt;br /&gt;
xlabel('boundary node')&lt;br /&gt;
ylabel('degrees')&lt;br /&gt;
&lt;br /&gt;
[M2(:,1) M2(:,3) (cart2pol(M2(:,4), M2(:,5)) * 180/pi) delta]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
%%%&lt;br /&gt;
constits={ 'M2' 'N2' 'S2' 'K1' 'O1' 'P1' 'K2' 'c2N2' 'Q1' 'M4' }&lt;br /&gt;
&lt;br /&gt;
fid = fopen('grid_constits.prn', 'w')&lt;br /&gt;
&lt;br /&gt;
for i = 1: length(constits)&lt;br /&gt;
  const = char(constits(i));&lt;br /&gt;
  eval(['data = ' const ';'])&lt;br /&gt;
  new_phase = cart2pol(data(:,4), data(:,5)) * 180/pi;&lt;br /&gt;
  for j = 1:length(new_phase)&lt;br /&gt;
    if (new_phase(j) &amp;lt; 0)&lt;br /&gt;
      new_phase(j) = new_phase(j) + 360;&lt;br /&gt;
    end&lt;br /&gt;
  end&lt;br /&gt;
  fprintf(fid, ' %s\n', const);&lt;br /&gt;
  for j = 1:length(new_phase)&lt;br /&gt;
    fprintf(fid, '   %8.6f  %9.5f\n', data(j,2), new_phase(j));&lt;br /&gt;
  end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
fclose(fid)&lt;br /&gt;
&lt;br /&gt;
% then manually fix c2N2 -&amp;gt; 2N2&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Creating Manning's n nodal attributes ====&lt;br /&gt;
&lt;br /&gt;
* See [[NLCD Land Cover]] for instructions on importing the base data&lt;br /&gt;
&lt;br /&gt;
You can load in your fort.14 mesh as points with &amp;lt;tt&amp;gt;v.in.adcirc_grid&amp;lt;/tt&amp;gt;, then pull it into the Albers location with &amp;lt;tt&amp;gt;v.proj&amp;lt;/tt&amp;gt;, then create a column of ''n'' values with '&amp;lt;tt&amp;gt;v.what.rast -i -p&amp;lt;/tt&amp;gt;' that you can then form into a fort.13 file with UNIX command line power tools such as 'cut' and 'paste'.&lt;br /&gt;
&lt;br /&gt;
=== Post processing output data ===&lt;br /&gt;
&lt;br /&gt;
==== Importing the fort.14 mesh grid ====&lt;br /&gt;
&lt;br /&gt;
The {{AddonCmd|v.in.adcirc_grid}} addon module for GRASS 6 will import a 2.5D triangular mesh from the [[ADCIRC]] coastal ocean model into a 3D GRASS vector map.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;v.in.adcirc_grid&amp;lt;/tt&amp;gt; does not yet support loading in node type (boundary, etc.) as point attributes -- database tables can be a bit slow for maps with potentially millions of features. In the mean time here is a little shell script to extract the boundary nodes on the ''first'' open boundary into a separate vector points map:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 infile=fort.14&lt;br /&gt;
 inmap=mesh_grid_pts&lt;br /&gt;
 bdymap=mesh_bdy_pts&lt;br /&gt;
 &lt;br /&gt;
 v.in.adcirc_grid -p in=$infile out=$inmap&lt;br /&gt;
 num_pts=`grep ' = Number of nodes for open boundary' &amp;quot;$infile&amp;quot; | head -n 1 | awk '{print $1}'`&lt;br /&gt;
 cat_list=`grep -A&amp;quot;$num_pts&amp;quot; ' = Number of nodes for open boundary' &amp;quot;$infile&amp;quot; | \&lt;br /&gt;
    tail -n +2 | tr '\n' ',' | sed -e 's/ //g' -e 's/,$//'`&lt;br /&gt;
 v.extract in=$inmap out=$bdymap list=&amp;quot;$cat_list&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Importing elevation or velocity reporting stations ====&lt;br /&gt;
&lt;br /&gt;
With a little awk you can load in the elevation reporting stations for unit 61 with v.in.ascii.&lt;br /&gt;
: example goes here&lt;br /&gt;
&lt;br /&gt;
==== Visualizing sub-domains ====&lt;br /&gt;
&lt;br /&gt;
If you wish to have a look at where the sub-domains of a parallel run are, you can use the following Bash script:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
mkdir fort14s&lt;br /&gt;
for DIR in PE00?? ; do&lt;br /&gt;
   cp -a $DIR/fort.14 fort14s/${DIR}.14&lt;br /&gt;
done&lt;br /&gt;
 &lt;br /&gt;
cd fort14s&lt;br /&gt;
for file in *.14 ; do&lt;br /&gt;
   base=`echo &amp;quot;$file&amp;quot; | sed -e 's/PE00//' -e 's/\.14//'`&lt;br /&gt;
   echo -n &amp;quot;[$base]&amp;quot;&lt;br /&gt;
   v.in.adcirc_grid in=&amp;quot;$file&amp;quot; out=&amp;quot;submesh_$base&amp;quot; --quiet&lt;br /&gt;
   v.in.adcirc_grid -p in=&amp;quot;$file&amp;quot; out=&amp;quot;submesh_${base}_pts&amp;quot; --quiet&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here is a loop for displaying 80 sub-meshes, with random dark colors:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
for PE in {00..79} ; do&lt;br /&gt;
  echo -n &amp;quot;[$PE]&amp;quot;&lt;br /&gt;
  R=`expr $RANDOM / 256`&lt;br /&gt;
  G=`expr $RANDOM / 256`&lt;br /&gt;
  B=`expr $RANDOM / 256`&lt;br /&gt;
&lt;br /&gt;
  d.vect &amp;quot;submesh_$PE&amp;quot; color=&amp;quot;$R:$G:$B&amp;quot;&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
d.vect US_medium_shoreline color=black width=2&lt;br /&gt;
&lt;br /&gt;
d.vect station_map color=black fcolor=red size=8 icon=basic/circle&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Importing unit 61, 62, 63, 64 results ====&lt;br /&gt;
&lt;br /&gt;
For this a useful approach is to import lat/lon coordinates of the nodes (as points) with the v.in.adcirc_grid AddOn module for GRASS 6, switch over to your target map projection in another GRASS location, pull in the points vector map from the lat/lon location, export them with v.out.ascii only keeping the projected points' x and y coordinate columns, tab separated (node order is preserved through all of this), this only needs to be done once.&lt;br /&gt;
: Next using `ncdump` extract the 'z' or 'u' and 'v' values at each node point, and `paste` those (using the `paste` Unix command line tool) together with the x and y coordinates into a file ready for v.in.ascii or r.in.xyz. Repeat as necessary if the NetCDF output file includes multiple timsteps. All of this can be and should be scripted to save you time.&lt;br /&gt;
&lt;br /&gt;
- addme: bash code + r.in.xyz + {{AddonCmd|r.surf.nnbathy}}&lt;br /&gt;
&lt;br /&gt;
{{AddonCmd|d.barb}} addon module for GRASS 6 for rendering u,v vector arrows&lt;br /&gt;
&lt;br /&gt;
[[Category: Geodata]]&lt;br /&gt;
[[Category: Import]]&lt;/div&gt;</summary>
		<author><name>⚠️HamishBowman</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=Movies&amp;diff=25910</id>
		<title>Movies</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=Movies&amp;diff=25910"/>
		<updated>2019-09-06T05:39:06Z</updated>

		<summary type="html">&lt;p&gt;⚠️HamishBowman: /* Q: How to construct high-quality WebM movies? */ profile issues&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==== Q: How to construct high-quality MPEG-4 movies (animations) from a series of still frames? ====&lt;br /&gt;
&lt;br /&gt;
''Maris wrote'':&lt;br /&gt;
&lt;br /&gt;
Encode all .png files in directory to out.avi with 15 frames per second:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mencoder &amp;quot;mf:///path/to/files/*.png&amp;quot; -mf fps=15 -o out.avi # put -ovc here, see next lines&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
## for DivX - libavcodec MPEG 4 (DivX5), use:&lt;br /&gt;
-ovc lavc -lavcopts vcodec=mpeg4:vhq:vbitrate=1800 -ffourcc MP4S&lt;br /&gt;
## for XviD, use:&lt;br /&gt;
-ovc xvid -xvidencopts bitrate=1024 -xvidencopts pass=2 -xvidencopts cartoon&lt;br /&gt;
## for DivX4, use:&lt;br /&gt;
-ovc divx4 -divx4opts q=5&lt;br /&gt;
## for x264 use:&lt;br /&gt;
-ovc x264 -x264encopts pass=3 -x264encopts preset=veryslow -x264encopts tune=animation&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Uses mplayer's encoder. Choose one of encoding formats and append to end &lt;br /&gt;
of &amp;quot;mencoder&amp;quot; line. Unfortunately only way to know quality settings is by &lt;br /&gt;
encoding, watching result and re-encoding with different params.&lt;br /&gt;
&lt;br /&gt;
Notice - by default encoding with lavc will set video fourcc to FMP4, that can be decoded with ffdshow. Option -ffourcc MP4S will change it to MPS4 (&amp;quot;official&amp;quot; MS fourcc for mpeg4) and video will be playable on Windows by standard MS mpeg4 decoder. It may lead to side effects, if MS mpeg4 decoder is buggy. More info: http://www.itdp.de/mplayer-users/2005-03/msg00069.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Other guides:&lt;br /&gt;
* http://www.mplayerhq.hu/DOCS/HTML/en/menc-feat-enc-images.html&lt;br /&gt;
* http://electron.mit.edu/~gsteele/ffmpeg/&lt;br /&gt;
* http://www.stillhq.com/extracted/howto-jpeg2mpeg/output.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--------&lt;br /&gt;
&lt;br /&gt;
==== Q: How to construct high-quality WebM movies? ====&lt;br /&gt;
&lt;br /&gt;
A: {{wikipedia|WebM}} is the container for the {{wikipedia|VP8}} and {{wikipedia|VP9}} codecs. VP8 approaches H.264 in quality but differs from H.264 in that it is both patent + license free to use. Likewise, VP9 is an alternative to HEVC/H.265. The audio channel, if used, is encoded using the Ogg {{wikipedia|Vorbis}} codec for VP8 or Opus codec for VP9. Google has been promoting WebM as the standard fallback video format for HTML5 and is moving YouTube content to it. Firefox. Opera, and Google Chrome web browsers support WebM playback out of the box without need for extra plugins.&lt;br /&gt;
&lt;br /&gt;
; Encoding:&lt;br /&gt;
&lt;br /&gt;
First convert PNG or JPEG images to PPM format using the {{wikipedia|NetPBM}} tools.&lt;br /&gt;
: ''This step is pretty fast, I wouldn't worry about trying to parallelize it.''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
for file in *.png ; do&lt;br /&gt;
   pngtopnm $file &amp;gt; `basename $file .png`.ppm&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
::or&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
for file in *.jpg ; do&lt;br /&gt;
   jpegtopnm $file &amp;gt; `basename $file .jpg`.ppm&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Next create a Y4M stream containing a concatenation of the raw PPM frames:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cat *.ppm | ppmtoy4m -F 2:1 &amp;gt; all_frames.y4m&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* ''The &amp;quot;-F 2:1&amp;quot; option above sets the frame rate to 2 frames per second.''&lt;br /&gt;
* ''The &amp;lt;tt&amp;gt;ppmtoy4m&amp;lt;/tt&amp;gt; program comes from the mjpegtools package.''&lt;br /&gt;
* ''For a very high number of frames you may wish to skip this step and create a named FIFO or stdin pipe directly into &amp;lt;tt&amp;gt;vpxenc&amp;lt;/tt&amp;gt;, as the raw Y4M file can become extremely large.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Finally, run the &amp;lt;tt&amp;gt;vpxenc&amp;lt;/tt&amp;gt; encoder to create a high quality WebM video:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
vpxenc all_frames.y4m -o my_movie.webm \&lt;br /&gt;
  --passes=2 --threads=4 \&lt;br /&gt;
  --best --target-bitrate=2000 --end-usage=vbr \&lt;br /&gt;
  --auto-alt-ref=1 --verbose \&lt;br /&gt;
  --minsection-pct=5 --maxsection-pct=800 \&lt;br /&gt;
  --lag-in-frames=16 --kf-min-dist=0 --kf-max-dist=360 \&lt;br /&gt;
  --static-thresh=0 --drop-frame=0 \&lt;br /&gt;
  --min-q=0 --max-q=60&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* ''Set &amp;quot;--threads=&amp;quot; in the above command to the number of cores on your CPU. (or one less than the number of cores if you have many)''&lt;br /&gt;
* ''If you are encoding to VP8 (and not VP9) consider adding &amp;lt;tt&amp;gt;--token-parts=2&amp;lt;/tt&amp;gt;''&lt;br /&gt;
* ''If &amp;lt;tt&amp;gt;vpxenc&amp;lt;/tt&amp;gt; complains about &amp;quot;Invalid image format&amp;quot; either add &amp;quot;-S 420jpeg&amp;quot; to the &amp;lt;tt&amp;gt;ppmtoy4m&amp;lt;/tt&amp;gt; options or add &amp;quot;--profile=1&amp;quot; to the &amp;lt;tt&amp;gt;vpxenc&amp;lt;/tt&amp;gt; options.&lt;br /&gt;
* ''The &amp;lt;tt&amp;gt;vpxenc&amp;lt;/tt&amp;gt; program comes from the vpx-tools package.''&lt;br /&gt;
* [http://www.webmproject.org/docs/encoder-parameters/#2-pass-best-quality-vbr-encoding Encoder parameters help page]&lt;br /&gt;
&lt;br /&gt;
--------&lt;br /&gt;
&lt;br /&gt;
==== Q: How to generate an animated GIF, FLI, or MNG? ====&lt;br /&gt;
&lt;br /&gt;
A: for animations of 300 frames or less, animated GIF, [http://woodshole.er.usgs.gov/operations/modeling/flc.html  FLI], or MNG formats are smaller files and better quality (i.e., frames stored as PNG not JPEG). Create with [http://www.lcdf.org/gifsicle/ gifsicle], [http://vento.pi.tu-berlin.de/fli.html ppm2fli], or for MNG use [http://www.imagemagick.org/script/convert.php ImageMagick's 'convert']. With more than 300 frames the players usually have memory issues. Animated GIFs are playable in any web browser of course and also in OpenOffice.&lt;br /&gt;
&lt;br /&gt;
 # with convert, many GIFs into one animated GIF:&lt;br /&gt;
 convert -verbose -delay 20 -loop 0 snapshot*.png animation.gif&lt;br /&gt;
&lt;br /&gt;
Notes: '-delay 20' means 20 hundreds of a second delay between each frame. The '-loop 0' flag lets it loop indefinitely. To loop only 3 times use '-loop 3' etc.&lt;br /&gt;
&lt;br /&gt;
Sample script to export PNGs in GRASS (generates tmean_001.png .. tmean_708.png):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
   export i=0&lt;br /&gt;
   for year in `seq 1950 2008` ; do&lt;br /&gt;
       for m in `seq 1 12` ; do&lt;br /&gt;
           i=`expr $i + 1`&lt;br /&gt;
           # awk trick to generate wildcard-correct file names:&lt;br /&gt;
           i=`echo $i | awk '{printf &amp;quot;%03d\n&amp;quot;, $1}'`&lt;br /&gt;
           r.out.png tmean_europe.$year.$m.avg out=tmean_$i.png&lt;br /&gt;
        done&lt;br /&gt;
    done&lt;br /&gt;
    convert -verbose -delay 20 -loop 0 tmean_*.png tmean_animation.gif&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For presentations using a web browser, you can center the image on a blank white page, turn off any toolbars and go into full screen mode (F11 for Firefox or Chrome). Then Alt-Tab your way to the animation at the appropriate time and nobody knows you are using a web browser.&lt;br /&gt;
&lt;br /&gt;
Example HTML for centering image:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;HTML&amp;gt;&lt;br /&gt;
&amp;lt;HEAD&amp;gt;&amp;lt;/HEAD&amp;gt;&lt;br /&gt;
&amp;lt;BODY&amp;gt;&lt;br /&gt;
 &amp;lt;BR&amp;gt;&amp;lt;BR&amp;gt;&amp;lt;BR&amp;gt;&amp;lt;BR&amp;gt;&amp;lt;BR&amp;gt;&amp;lt;BR&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
 &amp;lt;CENTER&amp;gt;&lt;br /&gt;
  &amp;lt;IMG SRC=&amp;quot;animation.gif&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;/CENTER&amp;gt;&lt;br /&gt;
&amp;lt;/BODY&amp;gt;&lt;br /&gt;
&amp;lt;/HTML&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--------&lt;br /&gt;
&lt;br /&gt;
==== Q: How to create dynamic surface movies in NVIZ? ====&lt;br /&gt;
&lt;br /&gt;
A: See slides from the FOSS4G 2006 workshop:&lt;br /&gt;
: http://skagit.meas.ncsu.edu/~helena/grasswork/foss4g/FOSS4G06WKSVisual4anim.odp&lt;br /&gt;
&lt;br /&gt;
See also the example at the bottom of the [http://grass.osgeo.org/grass64/manuals/html64_user/nviz/nviz_panel_kanim.html NVIZ keyframe animator panel help page].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--------&lt;br /&gt;
&lt;br /&gt;
==== Q: How to animate a time series of raster maps? ====&lt;br /&gt;
&lt;br /&gt;
A: Use&lt;br /&gt;
* {{cmd|d.slide.show}} to view in a GRASS xmon (see {{cmd|d.mon}})&lt;br /&gt;
* {{cmd|r.out.mpeg}} to save to a MPEG-1 movie.&lt;br /&gt;
* GRASS GIS 6: {{cmd|xganim|version=64}} to view on screen in X-windows (with live start/stop/speed controls)&lt;br /&gt;
* GRASS GIS 7: {{cmd|g.gui.animation}} to view on screen in wxGUI (with live start/stop/speed controls)&lt;br /&gt;
: See also the wiki page for the [[wxGUI Animation Tool]]:&lt;br /&gt;
{{YouTube|Pi1ESk9iPwk|YouTube video introduction to the WxGUI Animation Tool}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--------&lt;br /&gt;
&lt;br /&gt;
==== Q: How to animate a series of maps, including decorations? ====&lt;br /&gt;
&lt;br /&gt;
A: Use the xmon drivers ({{cmd|d.mon}}) &lt;br /&gt;
to render the displays to a window via a shell script loop, then switch from the ''x0'' to ''PNG'' driver to save as a series of PNG or PPM images. Use a method answered in a FAQ above to combine those into a single animation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--------&lt;br /&gt;
&lt;br /&gt;
==== Q: How to create a screencast (for video tutorials etc)? ====&lt;br /&gt;
&lt;br /&gt;
; GNU/Linux:&lt;br /&gt;
* Easist way: [http://recordmydesktop.sourceforge.net/ recordmydesktop] (user interfaces are 'qt-recordmydesktop' and 'gtk-recordmydesktop')&lt;br /&gt;
:* when uploading videos to Youtube created by &amp;lt;tt&amp;gt;recordmydesktop&amp;lt;/tt&amp;gt; you need to encode the file eg. using &amp;lt;tt&amp;gt;mencoder&amp;lt;/tt&amp;gt;&lt;br /&gt;
:- No sound, just video screencast, as AVI file:&lt;br /&gt;
::&amp;lt;pre&amp;gt;mencoder out.ogv -nosound -ovc lavc -o out.avi&amp;lt;/pre&amp;gt;&lt;br /&gt;
:- With audio track, as AVI file:&lt;br /&gt;
::&amp;lt;pre&amp;gt;mencoder out.ogv -ovc xvid -oac mp3lame -xvidencopts pass=1 -o out.avi&amp;lt;/pre&amp;gt;&lt;br /&gt;
:- With audio track, as WebM file:&lt;br /&gt;
::&amp;lt;pre&amp;gt;ffmpeg -i out.ogv -b:a 24k out.webm&amp;lt;/pre&amp;gt;&lt;br /&gt;
:- With audio track, as MP4 file:&lt;br /&gt;
::&amp;lt;pre&amp;gt;ffmpeg -i out.ogv -ar 44100 -ab 96k -coder ac -strict experimental -vcodec libx264 out.mp4&amp;lt;/pre&amp;gt;&lt;br /&gt;
* [https://wiki.ubuntu.com/MeetingLogs/openweekfeisty/screencast Ubuntu discussion over screencast]&lt;br /&gt;
* [https://wiki.ubuntu.com/ScreencastTeam/RecordingScreencasts Ubuntu screencast how to]&lt;br /&gt;
* [http://www.unixuser.org/~euske/vnc2swf/ vnc2swf] to record a flash movie ([http://www-pool.math.tu-berlin.de/~soeren/grass/modules/screenshots/vnc2swf_usage.html short vnc2swf usage tutorial])&lt;br /&gt;
* [http://www.maartenbaert.be/simplescreenrecorder/ SimpleScreenRecorder]&lt;br /&gt;
&lt;br /&gt;
; MacOSX:&lt;br /&gt;
* [http://crschmidt.net/blog/archives/203/openlayers-screencast/ Chris Schmidt experience on MacOSX]&lt;br /&gt;
&lt;br /&gt;
; MS Windows:&lt;br /&gt;
* [http://camstudio.org/ Camstudio]&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
==== Examples ====&lt;br /&gt;
''Using the [http://grass.osgeo.org/download/data6.php Spearfish] sample dataset''&lt;br /&gt;
&lt;br /&gt;
===== Animate on screen =====&lt;br /&gt;
''Using a shell script''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
GRASS_WIDTH=640 GRASS_HEIGHT=500 \&lt;br /&gt;
  d.mon start=x0&lt;br /&gt;
&lt;br /&gt;
g.region rast=elevation.dem n=4927830 s=4912980&lt;br /&gt;
&lt;br /&gt;
for NUM in `seq 1 0.5 10` ; do&lt;br /&gt;
   d.rast elevation.dem --quiet&lt;br /&gt;
   d.vect roads&lt;br /&gt;
   d.vect bugsites icon=basic/circle col=black fcol=green size=`echo &amp;quot;21-($NUM * 2)&amp;quot; | bc`&lt;br /&gt;
&lt;br /&gt;
   echo &amp;quot;symbol basic/arrow2 25 80 `echo &amp;quot;10*$NUM&amp;quot; | bc` 80:80:80 125:125:255&amp;quot; | d.graph&lt;br /&gt;
&lt;br /&gt;
   echo &amp;quot;Spearfish, South Dakota&amp;quot; | d.text size=4.5 at=1,2.25&lt;br /&gt;
   d.barscale at=59.8,93.6 tcol=grey&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Animate to files =====&lt;br /&gt;
''Using [http://grass.osgeo.org/grass64/manuals/html64_user/pngdriver.html GRASS's PNG driver]''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
# set up base map&lt;br /&gt;
g.region rast=elevation.dem n=4927830 s=4912980&lt;br /&gt;
export GRASS_WIDTH=640&lt;br /&gt;
export GRASS_HEIGHT=500&lt;br /&gt;
export GRASS_PNGFILE=base.ppm&lt;br /&gt;
export GRASS_PNG_READ=FALSE&lt;br /&gt;
d.mon start=PNG&lt;br /&gt;
  d.rast elevation.dem&lt;br /&gt;
  d.vect roads&lt;br /&gt;
  echo &amp;quot;Spearfish, South Dakota&amp;quot; | d.text size=4.5 at=1,2.25&lt;br /&gt;
  d.barscale at=59.8,93.6 tcol=grey&lt;br /&gt;
d.mon stop=PNG&lt;br /&gt;
&lt;br /&gt;
# loop to draw variable parts as new frames&lt;br /&gt;
i=0&lt;br /&gt;
export GRASS_PNG_READ=TRUE&lt;br /&gt;
for NUM in `seq 1 0.5 10` ; do&lt;br /&gt;
   i=`expr $i + 1`&lt;br /&gt;
   FRAMENUM=`echo $i | awk '{printf(&amp;quot;%03d&amp;quot;, $1)}'`&lt;br /&gt;
   echo &amp;quot;Processing frame $FRAMENUM ...&amp;quot;&lt;br /&gt;
   export GRASS_PNGFILE=&amp;quot;ganim_${FRAMENUM}.ppm&amp;quot;&lt;br /&gt;
   cp base.ppm &amp;quot;$GRASS_PNGFILE&amp;quot;&lt;br /&gt;
   d.mon start=PNG --quiet&lt;br /&gt;
   d.vect bugsites icon=basic/circle col=black fcol=green \&lt;br /&gt;
      size=`echo &amp;quot;21-($NUM * 2)&amp;quot; | bc`&lt;br /&gt;
&lt;br /&gt;
   echo &amp;quot;symbol basic/arrow2 25 80 `echo &amp;quot;10*$NUM&amp;quot; | bc` 80:80:80 125:125:255&amp;quot; | d.graph&lt;br /&gt;
   d.mon stop=PNG --quiet&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
# repeat the last frame a few times&lt;br /&gt;
for EXTRA in 1 2 3 ; do&lt;br /&gt;
 i=`expr $i + 1`&lt;br /&gt;
 FRAMENUM=`echo $i | awk '{printf(&amp;quot;%03d&amp;quot;, $1)}'`&lt;br /&gt;
 cp base.ppm &amp;quot;ganim_${FRAMENUM}.ppm&amp;quot;&lt;br /&gt;
done&lt;br /&gt;
\rm base.ppm&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Encode as animated GIF =====&lt;br /&gt;
&lt;br /&gt;
* ''Using the [http://www.lcdf.org/gifsicle/ gifsicle] encoder''&lt;br /&gt;
* ''View in a web browser or with ImageMagick's [http://www.imagemagick.org/Usage/basics/#animate animate]''&lt;br /&gt;
* see [[Movies#Q:_How_to_generate_an_animated_GIF.2C_FLI.2C_or_MNG.3F]] above&lt;br /&gt;
&lt;br /&gt;
'''A) Using gifsicle:'''&lt;br /&gt;
&lt;br /&gt;
Advantage: the delay is coded in the animated GIF file and rendered properly e.g. in a Web browser.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
# Imagemagick's &amp;lt;tt&amp;gt;convert&amp;lt;/tt&amp;gt; program may do a better job at &lt;br /&gt;
# 256 color quantization than NetPBM's &amp;lt;tt&amp;gt;ppmquant&amp;lt;/tt&amp;gt;.&lt;br /&gt;
for IMG in ganim*.ppm ; do   # convert each frame from PPM to GIF&lt;br /&gt;
   #ppmquant 256 $IMG | ppmtogif &amp;gt; &amp;quot;`basename $IMG .ppm`.gif&amp;quot;&lt;br /&gt;
   convert &amp;quot;$IMG&amp;quot; &amp;quot;`basename $IMG .ppm`.gif&amp;quot;&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
gifsicle -O2 --delay 20 --no-loopcount --colors 256 ganim_*.gif &amp;gt; ganim.gif&lt;br /&gt;
&lt;br /&gt;
\rm ganim_0*.gif&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''B) Using ImageMagick's convert and [http://www.imagemagick.org/Usage/basics/#animate animate]:'''&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
# Generate &amp;quot;film&amp;quot; (create animated GIF):&lt;br /&gt;
convert lst_monthly_avg_film.00*.png lst_monthly_avg_2002_2012_zoom_film.gif&lt;br /&gt;
&lt;br /&gt;
# play animation (delay 50millisec between frames, pause for 5 seconds at the end)&lt;br /&gt;
animate -delay 50 -pause 5 lst_monthly_avg_2002_2012_zoom_film.gif&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Encode as animated PNG (MNG) =====&lt;br /&gt;
* ''Using the [http://www.imagemagick.org ImageMagick] &amp;quot;convert&amp;quot; encoder''&lt;br /&gt;
* ''View with ImageMagick's &amp;quot;display&amp;quot;''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
convert -delay 20 ganim_*.ppm ganim.mng&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Encode as FLI =====&lt;br /&gt;
* ''Using the [http://vento.pi.tu-berlin.de/fli.html ppm2fli] encoder''&lt;br /&gt;
* ''View with [http://www.mplayerhq.hu mplayer] or [http://xanim.polter.net xanim]''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
ls ganim_*.ppm &amp;gt; frames.txt&lt;br /&gt;
ppm2fli -g&amp;quot;${GRASS_WIDTH}x${GRASS_HEIGHT}&amp;quot; -O -s 15 frames.txt ganim.fli&lt;br /&gt;
\rm frames.txt&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Encode as Flash =====&lt;br /&gt;
&lt;br /&gt;
* ''Using the [http://www.swftools.org/ SWFTools] &amp;lt;tt&amp;gt;png2swf&amp;lt;/tt&amp;gt; encoder''&lt;br /&gt;
* ''View with [http://www.mplayerhq.hu mplayer]''&lt;br /&gt;
&lt;br /&gt;
 png2swf -o outfile.swf *.png -r 1&lt;br /&gt;
&lt;br /&gt;
===== Encode as MPEG-4 Xvid =====&lt;br /&gt;
* ''Using the [http://www.mplayerhq.hu mencoder] encoder''&lt;br /&gt;
* ''View with [http://www.mplayerhq.hu mplayer] or similar''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
# doesn't like GRASS's PPMs, convert to PNG&lt;br /&gt;
for IMG in ganim*.ppm ; do&lt;br /&gt;
  pnmtopng $IMG &amp;gt; &amp;quot;`basename $IMG .ppm`.png&amp;quot;&lt;br /&gt;
done&lt;br /&gt;
mencoder &amp;quot;mf://ganim_*.png&amp;quot; -mf &amp;quot;type=png:fps=5&amp;quot; -o ganim.avi \&lt;br /&gt;
   -ovc &amp;quot;xvid&amp;quot; -xvidencopts &amp;quot;bitrate=1024&amp;quot;&lt;br /&gt;
\rm ganim_0*.png&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Publish your cool videos in this Wiki ====&lt;br /&gt;
We have installed a Mediawiki widget extension and created a special template for including Youtube videos ([[Template:YouTube]]). See also [[WxGUI_Modeler#Video_tutorials|wxGUI Modeler]] page for the usage.&lt;br /&gt;
&lt;br /&gt;
The overall goal is to have many as possible '''[http://www.youtube.com/results?search_query=grass+gis GRASS GIS videos on YouTube]'''&lt;br /&gt;
&lt;br /&gt;
[[Category:FAQ]]&lt;br /&gt;
[[Category:Visualization]]&lt;/div&gt;</summary>
		<author><name>⚠️HamishBowman</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=NLCD_Land_Cover&amp;diff=25892</id>
		<title>NLCD Land Cover</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=NLCD_Land_Cover&amp;diff=25892"/>
		<updated>2019-08-20T05:43:45Z</updated>

		<summary type="html">&lt;p&gt;⚠️HamishBowman: /* Manning's n */ update&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[image:NLCD_2016_Land_Cover_example.png|500px|right|thumb|NLCD2016 land cover example, south shore of Long Island, NY]]&lt;br /&gt;
&lt;br /&gt;
== About ==&lt;br /&gt;
&lt;br /&gt;
* Raster grid covering the Continental US at 30 meter resolution&lt;br /&gt;
&lt;br /&gt;
* https://www.mrlc.gov/data/nlcd-2016-land-cover-conus&lt;br /&gt;
&lt;br /&gt;
From the Spearfish dataset's ''landcover.30m'' history file:&lt;br /&gt;
: National Land Cover Data Set NLCD, U.S. Geological Survey (USGS)&lt;br /&gt;
:  ''The NLCD was compiled from Landsat TM imagery (circa 1992) with a spatial resolution of 30 meters supplemented by various ancillary data (where available). The satellite images were analyzed and interpreted by using very large, sometimes multi-State, image  mosaics (that is, up to 18 Landsat scenes). Because a relatively small number of aerial photographs were necessarily conducted from a broad spatial perspective. Furthermore, the accuracy assessments correspond to Federal Regions, which are groupings of contiguous States. Thus, the reliability of the data is greatest at the State or multi-State level. The statistical accuracy of the data is known only for the region.''&lt;br /&gt;
&lt;br /&gt;
== Obtaining data from the USGS ==&lt;br /&gt;
&lt;br /&gt;
The classic Spearfish GRASS sample dataset contains a ''landcover.30m'' raster map which is an excerpt from an older version of the NLCD dataset.&lt;br /&gt;
&lt;br /&gt;
* Download site: https://www.mrlc.gov/data&lt;br /&gt;
&lt;br /&gt;
* Data is provided in ERDAS Imagine .img format.&lt;br /&gt;
: As of April 2019 the zipped dataset is a 1.4 GB.&lt;br /&gt;
&lt;br /&gt;
* Create an Albers location&lt;br /&gt;
: this can also be done automatically with the Location Wizard using the downloaded .img file.&lt;br /&gt;
&lt;br /&gt;
Here are the values for the CONUS dataset:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
name: Albers Equal Area&lt;br /&gt;
proj: aea&lt;br /&gt;
datum: wgs84&lt;br /&gt;
ellps: wgs84&lt;br /&gt;
lat_1: 29.5&lt;br /&gt;
lat_2: 45.5&lt;br /&gt;
lat_0: 23&lt;br /&gt;
lon_0: -96&lt;br /&gt;
x_0: 0&lt;br /&gt;
y_0: 0&lt;br /&gt;
towgs84: 0,0,0,0,0,0,0&lt;br /&gt;
no_defs: defined&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Importing ==&lt;br /&gt;
&lt;br /&gt;
Rather than import the entire 16GB raster image, just make a virtual link to it:&lt;br /&gt;
 r.external in=NLCD_2016_Land_Cover_L48_20190424.img out=NLCD_2016_Land_Cover_L48_20190424 title=&amp;quot;Land Cover 2016&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Then use g.region to zoom to your area of interest and r.mapcalc to extract a subset&lt;br /&gt;
 g.region -p n= s= e= w= res=30 align=NLCD_2016_Land_Cover_L48_20190424&lt;br /&gt;
 r.mapcalc &amp;quot;NLCD.extract = NLCD_2016_Land_Cover_L48_20190424&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Categories ==&lt;br /&gt;
&lt;br /&gt;
These can be applied with the r.category module.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
0:Unclassified&lt;br /&gt;
11:Open Water&lt;br /&gt;
12:Perennial Snow/Ice&lt;br /&gt;
21:Developed, Open Space&lt;br /&gt;
22:Developed, Low Intensity&lt;br /&gt;
23:Developed, Medium Intensity&lt;br /&gt;
24:Developed, High Intensity&lt;br /&gt;
31:Barren Land&lt;br /&gt;
41:Deciduous Forest&lt;br /&gt;
42:Evergreen Forest&lt;br /&gt;
43:Mixed Forest&lt;br /&gt;
52:Shrub/Scrub&lt;br /&gt;
71:Herbaceous&lt;br /&gt;
81:Hay/Pasture&lt;br /&gt;
82:Cultivated Crops&lt;br /&gt;
90:Woody Wetlands&lt;br /&gt;
95:Emergent Herbaceous Wetlands&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Colors ==&lt;br /&gt;
&lt;br /&gt;
[[image:NLCD_Colour_Classification_Update.jpg|right|thumb|NLCD2016 land cover classification legend from mrlc.gov]]&lt;br /&gt;
&lt;br /&gt;
These should load in automatically, but if they don't here are the official colors which you can load in with the r.colors module's rules= option:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
11 70:107:159&lt;br /&gt;
12 209:222:248&lt;br /&gt;
21 222:197:197&lt;br /&gt;
22 217:146:130&lt;br /&gt;
23 235:0:0&lt;br /&gt;
24 171:0:0&lt;br /&gt;
31 179:172:159&lt;br /&gt;
41 104:171:95&lt;br /&gt;
42 28:95:44&lt;br /&gt;
43 181:197:143&lt;br /&gt;
52 204:184:121&lt;br /&gt;
71 223:223:194&lt;br /&gt;
81 220:217:57&lt;br /&gt;
82 171:108:40&lt;br /&gt;
90 184:217:235&lt;br /&gt;
95 108:159:184&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Legend ==&lt;br /&gt;
&lt;br /&gt;
Use the -n and -c flags of d.legend to limit the legend to named categories.&lt;br /&gt;
&lt;br /&gt;
* See also https://www.mrlc.gov/data/legends/national-land-cover-database-2016-nlcd2016-legend&lt;br /&gt;
&lt;br /&gt;
== Manning's n ==&lt;br /&gt;
&lt;br /&gt;
For using as a basis for Manning's n friction coefficients, you can make a virtual reclass map with ''r.reclass''. The module will only reclass as integers so the table below is reclassed into parts per ten-thousand. Crop your area of interest with r.mapcalc and divide by 10000.0 at the same time to get the Manning's n number.&lt;br /&gt;
&lt;br /&gt;
Actual values for your location will vary widely, the following is simply a starting point.&lt;br /&gt;
&amp;lt;!-- : ''TODO: values of 999 require values from the literature''  --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
0 = 0  Unclassified&lt;br /&gt;
11 = 0250 Open Water&lt;br /&gt;
12 = 0220 Perennial Snow/Ice&lt;br /&gt;
21 = 0400 Developed, Open Space&lt;br /&gt;
22 = 1000 Developed, Low Intensity&lt;br /&gt;
23 = 0800 Developed, Medium Intensity&lt;br /&gt;
24 = 1500 Developed, High Intensity&lt;br /&gt;
31 = 0275 Barren Land&lt;br /&gt;
41 = 1600 Deciduous Forest&lt;br /&gt;
42 = 1800 Evergreen Forest&lt;br /&gt;
43 = 1700 Mixed Forest&lt;br /&gt;
52 = 1000 Shrub/Scrub&lt;br /&gt;
71 = 0350 Herbaceous&lt;br /&gt;
81 = 0325 Hay/Pasture&lt;br /&gt;
82 = 0375 Cultivated Crops&lt;br /&gt;
90 = 1200 Woody Wetlands&lt;br /&gt;
95 = 0700 Emergent Herbaceous Wetlands&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
References:&lt;br /&gt;
* [http://www.fsl.orst.edu/geowater/FX3/help/8_Hydraulic_Reference/Mannings_n_Tables.htm Ven Te Chow, 1959] (Corvallis)&lt;br /&gt;
* [https://pubs.usgs.gov/wsp/2339/report.pdf USGS's Guide for Selecting Manning's Roughness Coefficients for Natural Channels and Flood Plains]&lt;br /&gt;
&lt;br /&gt;
* [https://www.wcc.nrcs.usda.gov/ftpref/wntsc/H&amp;amp;H/HecRAS/NEDC/lectures/docs/Manning%92s%20n-values%20for%20Kansas%20Dam%20Breach%20Analyses%20-%20Adopted%20071216.pdf Manning's n Values for Various Land Covers To Use for Dam Breach Analyses by NRCS in Kansas]&lt;br /&gt;
&lt;br /&gt;
* Kalyanapu, Alfred &amp;amp; Burian, Steve &amp;amp; Mcpherson, Timothy. (2009). ''Effect of land use-based surface roughness on hydrologic model output.'' Journal of Spatial Hydrology. 9. 51-71.&lt;br /&gt;
* Liu, Zhu &amp;amp; Merwade, Venkatesh &amp;amp; Jafarzadegan, Keighobad. (2018). ''Investigating the role of model structure and surface roughness in generating flood inundation extents using 1D and 2D hydraulic models.'' Journal of Flood Risk Management. e12347. 10.1111/jfr3.12347.&lt;br /&gt;
&lt;br /&gt;
* Bunya, et al.. (2010). ''A High-Resolution Coupled Riverine Flow, Tide, Wind, Wind Wave, and Storm Surge Model for Southern Louisiana and Mississippi. Part I: Model Development and Validation.'' Monthly weather review 138.2: 345-377.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [[CORINE Land Cover]]&lt;br /&gt;
* [[Global Land Cover Characteristics]]&lt;br /&gt;
&lt;br /&gt;
[[Category: Geodata]]&lt;br /&gt;
[[Category: Import]]&lt;/div&gt;</summary>
		<author><name>⚠️HamishBowman</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=NLCD_Land_Cover&amp;diff=25891</id>
		<title>NLCD Land Cover</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=NLCD_Land_Cover&amp;diff=25891"/>
		<updated>2019-08-20T05:38:50Z</updated>

		<summary type="html">&lt;p&gt;⚠️HamishBowman: +cite&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[image:NLCD_2016_Land_Cover_example.png|500px|right|thumb|NLCD2016 land cover example, south shore of Long Island, NY]]&lt;br /&gt;
&lt;br /&gt;
== About ==&lt;br /&gt;
&lt;br /&gt;
* Raster grid covering the Continental US at 30 meter resolution&lt;br /&gt;
&lt;br /&gt;
* https://www.mrlc.gov/data/nlcd-2016-land-cover-conus&lt;br /&gt;
&lt;br /&gt;
From the Spearfish dataset's ''landcover.30m'' history file:&lt;br /&gt;
: National Land Cover Data Set NLCD, U.S. Geological Survey (USGS)&lt;br /&gt;
:  ''The NLCD was compiled from Landsat TM imagery (circa 1992) with a spatial resolution of 30 meters supplemented by various ancillary data (where available). The satellite images were analyzed and interpreted by using very large, sometimes multi-State, image  mosaics (that is, up to 18 Landsat scenes). Because a relatively small number of aerial photographs were necessarily conducted from a broad spatial perspective. Furthermore, the accuracy assessments correspond to Federal Regions, which are groupings of contiguous States. Thus, the reliability of the data is greatest at the State or multi-State level. The statistical accuracy of the data is known only for the region.''&lt;br /&gt;
&lt;br /&gt;
== Obtaining data from the USGS ==&lt;br /&gt;
&lt;br /&gt;
The classic Spearfish GRASS sample dataset contains a ''landcover.30m'' raster map which is an excerpt from an older version of the NLCD dataset.&lt;br /&gt;
&lt;br /&gt;
* Download site: https://www.mrlc.gov/data&lt;br /&gt;
&lt;br /&gt;
* Data is provided in ERDAS Imagine .img format.&lt;br /&gt;
: As of April 2019 the zipped dataset is a 1.4 GB.&lt;br /&gt;
&lt;br /&gt;
* Create an Albers location&lt;br /&gt;
: this can also be done automatically with the Location Wizard using the downloaded .img file.&lt;br /&gt;
&lt;br /&gt;
Here are the values for the CONUS dataset:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
name: Albers Equal Area&lt;br /&gt;
proj: aea&lt;br /&gt;
datum: wgs84&lt;br /&gt;
ellps: wgs84&lt;br /&gt;
lat_1: 29.5&lt;br /&gt;
lat_2: 45.5&lt;br /&gt;
lat_0: 23&lt;br /&gt;
lon_0: -96&lt;br /&gt;
x_0: 0&lt;br /&gt;
y_0: 0&lt;br /&gt;
towgs84: 0,0,0,0,0,0,0&lt;br /&gt;
no_defs: defined&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Importing ==&lt;br /&gt;
&lt;br /&gt;
Rather than import the entire 16GB raster image, just make a virtual link to it:&lt;br /&gt;
 r.external in=NLCD_2016_Land_Cover_L48_20190424.img out=NLCD_2016_Land_Cover_L48_20190424 title=&amp;quot;Land Cover 2016&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Then use g.region to zoom to your area of interest and r.mapcalc to extract a subset&lt;br /&gt;
 g.region -p n= s= e= w= res=30 align=NLCD_2016_Land_Cover_L48_20190424&lt;br /&gt;
 r.mapcalc &amp;quot;NLCD.extract = NLCD_2016_Land_Cover_L48_20190424&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Categories ==&lt;br /&gt;
&lt;br /&gt;
These can be applied with the r.category module.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
0:Unclassified&lt;br /&gt;
11:Open Water&lt;br /&gt;
12:Perennial Snow/Ice&lt;br /&gt;
21:Developed, Open Space&lt;br /&gt;
22:Developed, Low Intensity&lt;br /&gt;
23:Developed, Medium Intensity&lt;br /&gt;
24:Developed, High Intensity&lt;br /&gt;
31:Barren Land&lt;br /&gt;
41:Deciduous Forest&lt;br /&gt;
42:Evergreen Forest&lt;br /&gt;
43:Mixed Forest&lt;br /&gt;
52:Shrub/Scrub&lt;br /&gt;
71:Herbaceous&lt;br /&gt;
81:Hay/Pasture&lt;br /&gt;
82:Cultivated Crops&lt;br /&gt;
90:Woody Wetlands&lt;br /&gt;
95:Emergent Herbaceous Wetlands&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Colors ==&lt;br /&gt;
&lt;br /&gt;
[[image:NLCD_Colour_Classification_Update.jpg|right|thumb|NLCD2016 land cover classification legend from mrlc.gov]]&lt;br /&gt;
&lt;br /&gt;
These should load in automatically, but if they don't here are the official colors which you can load in with the r.colors module's rules= option:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
11 70:107:159&lt;br /&gt;
12 209:222:248&lt;br /&gt;
21 222:197:197&lt;br /&gt;
22 217:146:130&lt;br /&gt;
23 235:0:0&lt;br /&gt;
24 171:0:0&lt;br /&gt;
31 179:172:159&lt;br /&gt;
41 104:171:95&lt;br /&gt;
42 28:95:44&lt;br /&gt;
43 181:197:143&lt;br /&gt;
52 204:184:121&lt;br /&gt;
71 223:223:194&lt;br /&gt;
81 220:217:57&lt;br /&gt;
82 171:108:40&lt;br /&gt;
90 184:217:235&lt;br /&gt;
95 108:159:184&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Legend ==&lt;br /&gt;
&lt;br /&gt;
Use the -n and -c flags of d.legend to limit the legend to named categories.&lt;br /&gt;
&lt;br /&gt;
* See also https://www.mrlc.gov/data/legends/national-land-cover-database-2016-nlcd2016-legend&lt;br /&gt;
&lt;br /&gt;
== Manning's n ==&lt;br /&gt;
&lt;br /&gt;
For using as a basis for Manning's n friction coefficients, you can make a virtual reclass map with ''r.reclass''. The module will only reclass as integers so the table below is reclassed into parts per ten-thousand. Crop your area of interest with r.mapcalc and divide by 10000.0 at the same time to get the Manning's n number.&lt;br /&gt;
&lt;br /&gt;
Actual values for your location will vary widely, the following is simply a starting point.&lt;br /&gt;
&amp;lt;!-- : ''TODO: values of 999 require values from the literature''  --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
0 = 0  Unclassified&lt;br /&gt;
11 = 0250 Open Water&lt;br /&gt;
12 = 0220 Perennial Snow/Ice&lt;br /&gt;
21 = 0404 Developed, Open Space&lt;br /&gt;
22 = 0678 Developed, Low Intensity&lt;br /&gt;
23 = 0678 Developed, Medium Intensity&lt;br /&gt;
24 = 0404 Developed, High Intensity&lt;br /&gt;
31 = 0113 Barren Land&lt;br /&gt;
41 = 3600 Deciduous Forest&lt;br /&gt;
42 = 3200 Evergreen Forest&lt;br /&gt;
43 = 4000 Mixed Forest&lt;br /&gt;
52 = 4000 Shrub/Scrub&lt;br /&gt;
71 = 3680 Herbaceous&lt;br /&gt;
81 = 3250 Hay/Pasture&lt;br /&gt;
82 = 0375 Cultivated Crops&lt;br /&gt;
90 = 0860 Woody Wetlands&lt;br /&gt;
95 = 1825 Emergent Herbaceous Wetlands&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
References:&lt;br /&gt;
* [http://www.fsl.orst.edu/geowater/FX3/help/8_Hydraulic_Reference/Mannings_n_Tables.htm Ven Te Chow, 1959] (Corvallis)&lt;br /&gt;
* [https://pubs.usgs.gov/wsp/2339/report.pdf USGS's Guide for Selecting Manning's Roughness Coefficients for Natural Channels and Flood Plains]&lt;br /&gt;
&lt;br /&gt;
* [https://www.wcc.nrcs.usda.gov/ftpref/wntsc/H&amp;amp;H/HecRAS/NEDC/lectures/docs/Manning%92s%20n-values%20for%20Kansas%20Dam%20Breach%20Analyses%20-%20Adopted%20071216.pdf Manning's n Values for Various Land Covers To Use for Dam Breach Analyses by NRCS in Kansas]&lt;br /&gt;
&lt;br /&gt;
* Kalyanapu, Alfred &amp;amp; Burian, Steve &amp;amp; Mcpherson, Timothy. (2009). ''Effect of land use-based surface roughness on hydrologic model output.'' Journal of Spatial Hydrology. 9. 51-71.&lt;br /&gt;
* Liu, Zhu &amp;amp; Merwade, Venkatesh &amp;amp; Jafarzadegan, Keighobad. (2018). ''Investigating the role of model structure and surface roughness in generating flood inundation extents using 1D and 2D hydraulic models.'' Journal of Flood Risk Management. e12347. 10.1111/jfr3.12347.&lt;br /&gt;
&lt;br /&gt;
* Bunya, et al.. (2010). ''A High-Resolution Coupled Riverine Flow, Tide, Wind, Wind Wave, and Storm Surge Model for Southern Louisiana and Mississippi. Part I: Model Development and Validation.'' Monthly weather review 138.2: 345-377.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [[CORINE Land Cover]]&lt;br /&gt;
* [[Global Land Cover Characteristics]]&lt;br /&gt;
&lt;br /&gt;
[[Category: Geodata]]&lt;br /&gt;
[[Category: Import]]&lt;/div&gt;</summary>
		<author><name>⚠️HamishBowman</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=NLCD_Land_Cover&amp;diff=25890</id>
		<title>NLCD Land Cover</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=NLCD_Land_Cover&amp;diff=25890"/>
		<updated>2019-08-20T04:29:01Z</updated>

		<summary type="html">&lt;p&gt;⚠️HamishBowman: /* Manning's n */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[image:NLCD_2016_Land_Cover_example.png|500px|right|thumb|NLCD2016 land cover example, south shore of Long Island, NY]]&lt;br /&gt;
&lt;br /&gt;
== About ==&lt;br /&gt;
&lt;br /&gt;
* Raster grid covering the Continental US at 30 meter resolution&lt;br /&gt;
&lt;br /&gt;
* https://www.mrlc.gov/data/nlcd-2016-land-cover-conus&lt;br /&gt;
&lt;br /&gt;
From the Spearfish dataset's ''landcover.30m'' history file:&lt;br /&gt;
: National Land Cover Data Set NLCD, U.S. Geological Survey (USGS)&lt;br /&gt;
:  ''The NLCD was compiled from Landsat TM imagery (circa 1992) with a spatial resolution of 30 meters supplemented by various ancillary data (where available). The satellite images were analyzed and interpreted by using very large, sometimes multi-State, image  mosaics (that is, up to 18 Landsat scenes). Because a relatively small number of aerial photographs were necessarily conducted from a broad spatial perspective. Furthermore, the accuracy assessments correspond to Federal Regions, which are groupings of contiguous States. Thus, the reliability of the data is greatest at the State or multi-State level. The statistical accuracy of the data is known only for the region.''&lt;br /&gt;
&lt;br /&gt;
== Obtaining data from the USGS ==&lt;br /&gt;
&lt;br /&gt;
The classic Spearfish GRASS sample dataset contains a ''landcover.30m'' raster map which is an excerpt from an older version of the NLCD dataset.&lt;br /&gt;
&lt;br /&gt;
* Download site: https://www.mrlc.gov/data&lt;br /&gt;
&lt;br /&gt;
* Data is provided in ERDAS Imagine .img format.&lt;br /&gt;
: As of April 2019 the zipped dataset is a 1.4 GB.&lt;br /&gt;
&lt;br /&gt;
* Create an Albers location&lt;br /&gt;
: this can also be done automatically with the Location Wizard using the downloaded .img file.&lt;br /&gt;
&lt;br /&gt;
Here are the values for the CONUS dataset:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
name: Albers Equal Area&lt;br /&gt;
proj: aea&lt;br /&gt;
datum: wgs84&lt;br /&gt;
ellps: wgs84&lt;br /&gt;
lat_1: 29.5&lt;br /&gt;
lat_2: 45.5&lt;br /&gt;
lat_0: 23&lt;br /&gt;
lon_0: -96&lt;br /&gt;
x_0: 0&lt;br /&gt;
y_0: 0&lt;br /&gt;
towgs84: 0,0,0,0,0,0,0&lt;br /&gt;
no_defs: defined&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Importing ==&lt;br /&gt;
&lt;br /&gt;
Rather than import the entire 16GB raster image, just make a virtual link to it:&lt;br /&gt;
 r.external in=NLCD_2016_Land_Cover_L48_20190424.img out=NLCD_2016_Land_Cover_L48_20190424 title=&amp;quot;Land Cover 2016&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Then use g.region to zoom to your area of interest and r.mapcalc to extract a subset&lt;br /&gt;
 g.region -p n= s= e= w= res=30 align=NLCD_2016_Land_Cover_L48_20190424&lt;br /&gt;
 r.mapcalc &amp;quot;NLCD.extract = NLCD_2016_Land_Cover_L48_20190424&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Categories ==&lt;br /&gt;
&lt;br /&gt;
These can be applied with the r.category module.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
0:Unclassified&lt;br /&gt;
11:Open Water&lt;br /&gt;
12:Perennial Snow/Ice&lt;br /&gt;
21:Developed, Open Space&lt;br /&gt;
22:Developed, Low Intensity&lt;br /&gt;
23:Developed, Medium Intensity&lt;br /&gt;
24:Developed, High Intensity&lt;br /&gt;
31:Barren Land&lt;br /&gt;
41:Deciduous Forest&lt;br /&gt;
42:Evergreen Forest&lt;br /&gt;
43:Mixed Forest&lt;br /&gt;
52:Shrub/Scrub&lt;br /&gt;
71:Herbaceous&lt;br /&gt;
81:Hay/Pasture&lt;br /&gt;
82:Cultivated Crops&lt;br /&gt;
90:Woody Wetlands&lt;br /&gt;
95:Emergent Herbaceous Wetlands&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Colors ==&lt;br /&gt;
&lt;br /&gt;
[[image:NLCD_Colour_Classification_Update.jpg|right|thumb|NLCD2016 land cover classification legend from mrlc.gov]]&lt;br /&gt;
&lt;br /&gt;
These should load in automatically, but if they don't here are the official colors which you can load in with the r.colors module's rules= option:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
11 70:107:159&lt;br /&gt;
12 209:222:248&lt;br /&gt;
21 222:197:197&lt;br /&gt;
22 217:146:130&lt;br /&gt;
23 235:0:0&lt;br /&gt;
24 171:0:0&lt;br /&gt;
31 179:172:159&lt;br /&gt;
41 104:171:95&lt;br /&gt;
42 28:95:44&lt;br /&gt;
43 181:197:143&lt;br /&gt;
52 204:184:121&lt;br /&gt;
71 223:223:194&lt;br /&gt;
81 220:217:57&lt;br /&gt;
82 171:108:40&lt;br /&gt;
90 184:217:235&lt;br /&gt;
95 108:159:184&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Legend ==&lt;br /&gt;
&lt;br /&gt;
Use the -n and -c flags of d.legend to limit the legend to named categories.&lt;br /&gt;
&lt;br /&gt;
* See also https://www.mrlc.gov/data/legends/national-land-cover-database-2016-nlcd2016-legend&lt;br /&gt;
&lt;br /&gt;
== Manning's n ==&lt;br /&gt;
&lt;br /&gt;
For using as a basis for Manning's n friction coefficients, you can make a virtual reclass map with ''r.reclass''. The module will only reclass as integers so the table below is reclassed into parts per ten-thousand. Crop your area of interest with r.mapcalc and divide by 10000.0 at the same time to get the Manning's n number.&lt;br /&gt;
&lt;br /&gt;
Actual values for your location will vary widely, the following is simply a starting point.&lt;br /&gt;
&amp;lt;!-- : ''TODO: values of 999 require values from the literature''  --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
0 = 0  Unclassified&lt;br /&gt;
11 = 0250 Open Water&lt;br /&gt;
12 = 0220 Perennial Snow/Ice&lt;br /&gt;
21 = 0404 Developed, Open Space&lt;br /&gt;
22 = 0678 Developed, Low Intensity&lt;br /&gt;
23 = 0678 Developed, Medium Intensity&lt;br /&gt;
24 = 0404 Developed, High Intensity&lt;br /&gt;
31 = 0113 Barren Land&lt;br /&gt;
41 = 3600 Deciduous Forest&lt;br /&gt;
42 = 3200 Evergreen Forest&lt;br /&gt;
43 = 4000 Mixed Forest&lt;br /&gt;
52 = 4000 Shrub/Scrub&lt;br /&gt;
71 = 3680 Herbaceous&lt;br /&gt;
81 = 3250 Hay/Pasture&lt;br /&gt;
82 = 0375 Cultivated Crops&lt;br /&gt;
90 = 0860 Woody Wetlands&lt;br /&gt;
95 = 1825 Emergent Herbaceous Wetlands&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
References:&lt;br /&gt;
* [http://www.fsl.orst.edu/geowater/FX3/help/8_Hydraulic_Reference/Mannings_n_Tables.htm Ven Te Chow, 1959] (Corvallis)&lt;br /&gt;
* [https://pubs.usgs.gov/wsp/2339/report.pdf USGS's Guide for Selecting Manning's Roughness Coefficients for Natural Channels and Flood Plains]&lt;br /&gt;
* Kalyanapu, Alfred &amp;amp; Burian, Steve &amp;amp; Mcpherson, Timothy. (2009). ''Effect of land use-based surface roughness on hydrologic model output.'' Journal of Spatial Hydrology. 9. 51-71.&lt;br /&gt;
* Liu, Zhu &amp;amp; Merwade, Venkatesh &amp;amp; Jafarzadegan, Keighobad. (2018). ''Investigating the role of model structure and surface roughness in generating flood inundation extents using 1D and 2D hydraulic models.'' Journal of Flood Risk Management. e12347. 10.1111/jfr3.12347.&lt;br /&gt;
&lt;br /&gt;
* Bunya, et al.. (2010). ''A High-Resolution Coupled Riverine Flow, Tide, Wind, Wind Wave, and Storm Surge Model for Southern Louisiana and Mississippi. Part I: Model Development and Validation.'' Monthly weather review 138.2: 345-377.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [[CORINE Land Cover]]&lt;br /&gt;
* [[Global Land Cover Characteristics]]&lt;br /&gt;
&lt;br /&gt;
[[Category: Geodata]]&lt;br /&gt;
[[Category: Import]]&lt;/div&gt;</summary>
		<author><name>⚠️HamishBowman</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=NLCD_Land_Cover&amp;diff=25889</id>
		<title>NLCD Land Cover</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=NLCD_Land_Cover&amp;diff=25889"/>
		<updated>2019-08-20T04:13:22Z</updated>

		<summary type="html">&lt;p&gt;⚠️HamishBowman: fix html&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[image:NLCD_2016_Land_Cover_example.png|500px|right|thumb|NLCD2016 land cover example, south shore of Long Island, NY]]&lt;br /&gt;
&lt;br /&gt;
== About ==&lt;br /&gt;
&lt;br /&gt;
* Raster grid covering the Continental US at 30 meter resolution&lt;br /&gt;
&lt;br /&gt;
* https://www.mrlc.gov/data/nlcd-2016-land-cover-conus&lt;br /&gt;
&lt;br /&gt;
From the Spearfish dataset's ''landcover.30m'' history file:&lt;br /&gt;
: National Land Cover Data Set NLCD, U.S. Geological Survey (USGS)&lt;br /&gt;
:  ''The NLCD was compiled from Landsat TM imagery (circa 1992) with a spatial resolution of 30 meters supplemented by various ancillary data (where available). The satellite images were analyzed and interpreted by using very large, sometimes multi-State, image  mosaics (that is, up to 18 Landsat scenes). Because a relatively small number of aerial photographs were necessarily conducted from a broad spatial perspective. Furthermore, the accuracy assessments correspond to Federal Regions, which are groupings of contiguous States. Thus, the reliability of the data is greatest at the State or multi-State level. The statistical accuracy of the data is known only for the region.''&lt;br /&gt;
&lt;br /&gt;
== Obtaining data from the USGS ==&lt;br /&gt;
&lt;br /&gt;
The classic Spearfish GRASS sample dataset contains a ''landcover.30m'' raster map which is an excerpt from an older version of the NLCD dataset.&lt;br /&gt;
&lt;br /&gt;
* Download site: https://www.mrlc.gov/data&lt;br /&gt;
&lt;br /&gt;
* Data is provided in ERDAS Imagine .img format.&lt;br /&gt;
: As of April 2019 the zipped dataset is a 1.4 GB.&lt;br /&gt;
&lt;br /&gt;
* Create an Albers location&lt;br /&gt;
: this can also be done automatically with the Location Wizard using the downloaded .img file.&lt;br /&gt;
&lt;br /&gt;
Here are the values for the CONUS dataset:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
name: Albers Equal Area&lt;br /&gt;
proj: aea&lt;br /&gt;
datum: wgs84&lt;br /&gt;
ellps: wgs84&lt;br /&gt;
lat_1: 29.5&lt;br /&gt;
lat_2: 45.5&lt;br /&gt;
lat_0: 23&lt;br /&gt;
lon_0: -96&lt;br /&gt;
x_0: 0&lt;br /&gt;
y_0: 0&lt;br /&gt;
towgs84: 0,0,0,0,0,0,0&lt;br /&gt;
no_defs: defined&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Importing ==&lt;br /&gt;
&lt;br /&gt;
Rather than import the entire 16GB raster image, just make a virtual link to it:&lt;br /&gt;
 r.external in=NLCD_2016_Land_Cover_L48_20190424.img out=NLCD_2016_Land_Cover_L48_20190424 title=&amp;quot;Land Cover 2016&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Then use g.region to zoom to your area of interest and r.mapcalc to extract a subset&lt;br /&gt;
 g.region -p n= s= e= w= res=30 align=NLCD_2016_Land_Cover_L48_20190424&lt;br /&gt;
 r.mapcalc &amp;quot;NLCD.extract = NLCD_2016_Land_Cover_L48_20190424&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Categories ==&lt;br /&gt;
&lt;br /&gt;
These can be applied with the r.category module.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
0:Unclassified&lt;br /&gt;
11:Open Water&lt;br /&gt;
12:Perennial Snow/Ice&lt;br /&gt;
21:Developed, Open Space&lt;br /&gt;
22:Developed, Low Intensity&lt;br /&gt;
23:Developed, Medium Intensity&lt;br /&gt;
24:Developed, High Intensity&lt;br /&gt;
31:Barren Land&lt;br /&gt;
41:Deciduous Forest&lt;br /&gt;
42:Evergreen Forest&lt;br /&gt;
43:Mixed Forest&lt;br /&gt;
52:Shrub/Scrub&lt;br /&gt;
71:Herbaceous&lt;br /&gt;
81:Hay/Pasture&lt;br /&gt;
82:Cultivated Crops&lt;br /&gt;
90:Woody Wetlands&lt;br /&gt;
95:Emergent Herbaceous Wetlands&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Colors ==&lt;br /&gt;
&lt;br /&gt;
[[image:NLCD_Colour_Classification_Update.jpg|right|thumb|NLCD2016 land cover classification legend from mrlc.gov]]&lt;br /&gt;
&lt;br /&gt;
These should load in automatically, but if they don't here are the official colors which you can load in with the r.colors module's rules= option:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
11 70:107:159&lt;br /&gt;
12 209:222:248&lt;br /&gt;
21 222:197:197&lt;br /&gt;
22 217:146:130&lt;br /&gt;
23 235:0:0&lt;br /&gt;
24 171:0:0&lt;br /&gt;
31 179:172:159&lt;br /&gt;
41 104:171:95&lt;br /&gt;
42 28:95:44&lt;br /&gt;
43 181:197:143&lt;br /&gt;
52 204:184:121&lt;br /&gt;
71 223:223:194&lt;br /&gt;
81 220:217:57&lt;br /&gt;
82 171:108:40&lt;br /&gt;
90 184:217:235&lt;br /&gt;
95 108:159:184&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Legend ==&lt;br /&gt;
&lt;br /&gt;
Use the -n and -c flags of d.legend to limit the legend to named categories.&lt;br /&gt;
&lt;br /&gt;
* See also https://www.mrlc.gov/data/legends/national-land-cover-database-2016-nlcd2016-legend&lt;br /&gt;
&lt;br /&gt;
== Manning's n ==&lt;br /&gt;
&lt;br /&gt;
For using as a basis for Manning's n friction coefficients, you can make a virtual reclass map with ''r.reclass''. The module will only reclass as integers so the table below is reclassed into parts per thousand. Crop your area of interest with r.mapcalc and divide by 1000.0 at the same time to get the Manning's n number.&lt;br /&gt;
&lt;br /&gt;
Actual values for your location will vary widely, the following is simply a starting point.&lt;br /&gt;
&amp;lt;!-- : ''TODO: values of 999 require values from the literature''  --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
0 = 0  Unclassified&lt;br /&gt;
11 = 0250 Open Water&lt;br /&gt;
12 = 0220 Perennial Snow/Ice&lt;br /&gt;
21 = 0404 Developed, Open Space&lt;br /&gt;
22 = 0678 Developed, Low Intensity&lt;br /&gt;
23 = 0678 Developed, Medium Intensity&lt;br /&gt;
24 = 0404 Developed, High Intensity&lt;br /&gt;
31 = 0113 Barren Land&lt;br /&gt;
41 = 3600 Deciduous Forest&lt;br /&gt;
42 = 3200 Evergreen Forest&lt;br /&gt;
43 = 4000 Mixed Forest&lt;br /&gt;
52 = 4000 Shrub/Scrub&lt;br /&gt;
71 = 3680 Herbaceous&lt;br /&gt;
81 = 3250 Hay/Pasture&lt;br /&gt;
82 = 0375 Cultivated Crops&lt;br /&gt;
90 = 0860 Woody Wetlands&lt;br /&gt;
95 = 1825 Emergent Herbaceous Wetlands&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
References:&lt;br /&gt;
* [http://www.fsl.orst.edu/geowater/FX3/help/8_Hydraulic_Reference/Mannings_n_Tables.htm Ven Te Chow, 1959] (Corvallis)&lt;br /&gt;
* [https://pubs.usgs.gov/wsp/2339/report.pdf USGS's Guide for Selecting Manning's Roughness Coefficients for Natural Channels and Flood Plains]&lt;br /&gt;
* Kalyanapu, Alfred &amp;amp; Burian, Steve &amp;amp; Mcpherson, Timothy. (2009). ''Effect of land use-based surface roughness on hydrologic model output.'' Journal of Spatial Hydrology. 9. 51-71.&lt;br /&gt;
* Liu, Zhu &amp;amp; Merwade, Venkatesh &amp;amp; Jafarzadegan, Keighobad. (2018). ''Investigating the role of model structure and surface roughness in generating flood inundation extents using 1D and 2D hydraulic models.'' Journal of Flood Risk Management. e12347. 10.1111/jfr3.12347.&lt;br /&gt;
&lt;br /&gt;
* Bunya, et al.. (2010). ''A High-Resolution Coupled Riverine Flow, Tide, Wind, Wind Wave, and Storm Surge Model for Southern Louisiana and Mississippi. Part I: Model Development and Validation.'' Monthly weather review 138.2: 345-377.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [[CORINE Land Cover]]&lt;br /&gt;
* [[Global Land Cover Characteristics]]&lt;br /&gt;
&lt;br /&gt;
[[Category: Geodata]]&lt;br /&gt;
[[Category: Import]]&lt;/div&gt;</summary>
		<author><name>⚠️HamishBowman</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=NLCD_Land_Cover&amp;diff=25888</id>
		<title>NLCD Land Cover</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=NLCD_Land_Cover&amp;diff=25888"/>
		<updated>2019-08-20T04:12:17Z</updated>

		<summary type="html">&lt;p&gt;⚠️HamishBowman: /* Manning's n */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[image:NLCD_2016_Land_Cover_example.png|500px|right|thumb|NLCD2016 land cover example, south shore of Long Island, NY]]&lt;br /&gt;
&lt;br /&gt;
== About ==&lt;br /&gt;
&lt;br /&gt;
* Raster grid covering the Continental US at 30 meter resolution&lt;br /&gt;
&lt;br /&gt;
* https://www.mrlc.gov/data/nlcd-2016-land-cover-conus&lt;br /&gt;
&lt;br /&gt;
From the Spearfish dataset's ''landcover.30m'' history file:&lt;br /&gt;
: National Land Cover Data Set NLCD, U.S. Geological Survey (USGS)&lt;br /&gt;
:  ''The NLCD was compiled from Landsat TM imagery (circa 1992) with a spatial resolution of 30 meters supplemented by various ancillary data (where available). The satellite images were analyzed and interpreted by using very large, sometimes multi-State, image  mosaics (that is, up to 18 Landsat scenes). Because a relatively small number of aerial photographs were necessarily conducted from a broad spatial perspective. Furthermore, the accuracy assessments correspond to Federal Regions, which are groupings of contiguous States. Thus, the reliability of the data is greatest at the State or multi-State level. The statistical accuracy of the data is known only for the region.''&lt;br /&gt;
&lt;br /&gt;
== Obtaining data from the USGS ==&lt;br /&gt;
&lt;br /&gt;
The classic Spearfish GRASS sample dataset contains a ''landcover.30m'' raster map which is an excerpt from an older version of the NLCD dataset.&lt;br /&gt;
&lt;br /&gt;
* Download site: https://www.mrlc.gov/data&lt;br /&gt;
&lt;br /&gt;
* Data is provided in ERDAS Imagine .img format.&lt;br /&gt;
: As of April 2019 the zipped dataset is a 1.4 GB.&lt;br /&gt;
&lt;br /&gt;
* Create an Albers location&lt;br /&gt;
: this can also be done automatically with the Location Wizard using the downloaded .img file.&lt;br /&gt;
&lt;br /&gt;
Here are the values for the CONUS dataset:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
name: Albers Equal Area&lt;br /&gt;
proj: aea&lt;br /&gt;
datum: wgs84&lt;br /&gt;
ellps: wgs84&lt;br /&gt;
lat_1: 29.5&lt;br /&gt;
lat_2: 45.5&lt;br /&gt;
lat_0: 23&lt;br /&gt;
lon_0: -96&lt;br /&gt;
x_0: 0&lt;br /&gt;
y_0: 0&lt;br /&gt;
towgs84: 0,0,0,0,0,0,0&lt;br /&gt;
no_defs: defined&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Importing ==&lt;br /&gt;
&lt;br /&gt;
Rather than import the entire 16GB raster image, just make a virtual link to it:&lt;br /&gt;
 r.external in=NLCD_2016_Land_Cover_L48_20190424.img out=NLCD_2016_Land_Cover_L48_20190424 title=&amp;quot;Land Cover 2016&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Then use g.region to zoom to your area of interest and r.mapcalc to extract a subset&lt;br /&gt;
 g.region -p n= s= e= w= res=30 align=NLCD_2016_Land_Cover_L48_20190424&lt;br /&gt;
 r.mapcalc &amp;quot;NLCD.extract = NLCD_2016_Land_Cover_L48_20190424&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Categories ==&lt;br /&gt;
&lt;br /&gt;
These can be applied with the r.category module.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
0:Unclassified&lt;br /&gt;
11:Open Water&lt;br /&gt;
12:Perennial Snow/Ice&lt;br /&gt;
21:Developed, Open Space&lt;br /&gt;
22:Developed, Low Intensity&lt;br /&gt;
23:Developed, Medium Intensity&lt;br /&gt;
24:Developed, High Intensity&lt;br /&gt;
31:Barren Land&lt;br /&gt;
41:Deciduous Forest&lt;br /&gt;
42:Evergreen Forest&lt;br /&gt;
43:Mixed Forest&lt;br /&gt;
52:Shrub/Scrub&lt;br /&gt;
71:Herbaceous&lt;br /&gt;
81:Hay/Pasture&lt;br /&gt;
82:Cultivated Crops&lt;br /&gt;
90:Woody Wetlands&lt;br /&gt;
95:Emergent Herbaceous Wetlands&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Colors ==&lt;br /&gt;
&lt;br /&gt;
[[image:NLCD_Colour_Classification_Update.jpg|right|thumb|NLCD2016 land cover classification legend from mrlc.gov]]&lt;br /&gt;
&lt;br /&gt;
These should load in automatically, but if they don't here are the official colors which you can load in with the r.colors module's rules= option:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
11 70:107:159&lt;br /&gt;
12 209:222:248&lt;br /&gt;
21 222:197:197&lt;br /&gt;
22 217:146:130&lt;br /&gt;
23 235:0:0&lt;br /&gt;
24 171:0:0&lt;br /&gt;
31 179:172:159&lt;br /&gt;
41 104:171:95&lt;br /&gt;
42 28:95:44&lt;br /&gt;
43 181:197:143&lt;br /&gt;
52 204:184:121&lt;br /&gt;
71 223:223:194&lt;br /&gt;
81 220:217:57&lt;br /&gt;
82 171:108:40&lt;br /&gt;
90 184:217:235&lt;br /&gt;
95 108:159:184&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Legend ==&lt;br /&gt;
&lt;br /&gt;
Use the -n and -c flags of d.legend to limit the legend to named categories.&lt;br /&gt;
&lt;br /&gt;
* See also https://www.mrlc.gov/data/legends/national-land-cover-database-2016-nlcd2016-legend&lt;br /&gt;
&lt;br /&gt;
== Manning's n ==&lt;br /&gt;
&lt;br /&gt;
For using as a basis for Manning's n friction coefficients, you can make a virtual reclass map with ''r.reclass''. The module will only reclass as integers so the table below is reclassed into parts per thousand. Crop your area of interest with r.mapcalc and divide by 1000.0 at the same time to get the Manning's n number.&lt;br /&gt;
&lt;br /&gt;
Actual values for your location will vary widely, the following is simply a starting point.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- : ''TODO: values of 999 require values from the literature'' &amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
0 = 0  Unclassified&lt;br /&gt;
11 = 0250 Open Water&lt;br /&gt;
12 = 0220 Perennial Snow/Ice&lt;br /&gt;
21 = 0404 Developed, Open Space&lt;br /&gt;
22 = 0678 Developed, Low Intensity&lt;br /&gt;
23 = 0678 Developed, Medium Intensity&lt;br /&gt;
24 = 0404 Developed, High Intensity&lt;br /&gt;
31 = 0113 Barren Land&lt;br /&gt;
41 = 3600 Deciduous Forest&lt;br /&gt;
42 = 3200 Evergreen Forest&lt;br /&gt;
43 = 4000 Mixed Forest&lt;br /&gt;
52 = 4000 Shrub/Scrub&lt;br /&gt;
71 = 3680 Herbaceous&lt;br /&gt;
81 = 3250 Hay/Pasture&lt;br /&gt;
82 = 0375 Cultivated Crops&lt;br /&gt;
90 = 0860 Woody Wetlands&lt;br /&gt;
95 = 1825 Emergent Herbaceous Wetlands&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
References:&lt;br /&gt;
* [http://www.fsl.orst.edu/geowater/FX3/help/8_Hydraulic_Reference/Mannings_n_Tables.htm Ven Te Chow, 1959] (Corvallis)&lt;br /&gt;
* [https://pubs.usgs.gov/wsp/2339/report.pdf USGS's Guide for Selecting Manning's Roughness Coefficients for Natural Channels and Flood Plains]&lt;br /&gt;
* Kalyanapu, Alfred &amp;amp; Burian, Steve &amp;amp; Mcpherson, Timothy. (2009). ''Effect of land use-based surface roughness on hydrologic model output.'' Journal of Spatial Hydrology. 9. 51-71.&lt;br /&gt;
* Liu, Zhu &amp;amp; Merwade, Venkatesh &amp;amp; Jafarzadegan, Keighobad. (2018). ''Investigating the role of model structure and surface roughness in generating flood inundation extents using 1D and 2D hydraulic models.'' Journal of Flood Risk Management. e12347. 10.1111/jfr3.12347.&lt;br /&gt;
&lt;br /&gt;
* Bunya, et al.. (2010). ''A High-Resolution Coupled Riverine Flow, Tide, Wind, Wind Wave, and Storm Surge Model for Southern Louisiana and Mississippi. Part I: Model Development and Validation.'' Monthly weather review 138.2: 345-377.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [[CORINE Land Cover]]&lt;br /&gt;
* [[Global Land Cover Characteristics]]&lt;br /&gt;
&lt;br /&gt;
[[Category: Geodata]]&lt;br /&gt;
[[Category: Import]]&lt;/div&gt;</summary>
		<author><name>⚠️HamishBowman</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=NLCD_Land_Cover&amp;diff=25887</id>
		<title>NLCD Land Cover</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=NLCD_Land_Cover&amp;diff=25887"/>
		<updated>2019-08-20T04:05:59Z</updated>

		<summary type="html">&lt;p&gt;⚠️HamishBowman: /* Manning's n */ +cite&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[image:NLCD_2016_Land_Cover_example.png|500px|right|thumb|NLCD2016 land cover example, south shore of Long Island, NY]]&lt;br /&gt;
&lt;br /&gt;
== About ==&lt;br /&gt;
&lt;br /&gt;
* Raster grid covering the Continental US at 30 meter resolution&lt;br /&gt;
&lt;br /&gt;
* https://www.mrlc.gov/data/nlcd-2016-land-cover-conus&lt;br /&gt;
&lt;br /&gt;
From the Spearfish dataset's ''landcover.30m'' history file:&lt;br /&gt;
: National Land Cover Data Set NLCD, U.S. Geological Survey (USGS)&lt;br /&gt;
:  ''The NLCD was compiled from Landsat TM imagery (circa 1992) with a spatial resolution of 30 meters supplemented by various ancillary data (where available). The satellite images were analyzed and interpreted by using very large, sometimes multi-State, image  mosaics (that is, up to 18 Landsat scenes). Because a relatively small number of aerial photographs were necessarily conducted from a broad spatial perspective. Furthermore, the accuracy assessments correspond to Federal Regions, which are groupings of contiguous States. Thus, the reliability of the data is greatest at the State or multi-State level. The statistical accuracy of the data is known only for the region.''&lt;br /&gt;
&lt;br /&gt;
== Obtaining data from the USGS ==&lt;br /&gt;
&lt;br /&gt;
The classic Spearfish GRASS sample dataset contains a ''landcover.30m'' raster map which is an excerpt from an older version of the NLCD dataset.&lt;br /&gt;
&lt;br /&gt;
* Download site: https://www.mrlc.gov/data&lt;br /&gt;
&lt;br /&gt;
* Data is provided in ERDAS Imagine .img format.&lt;br /&gt;
: As of April 2019 the zipped dataset is a 1.4 GB.&lt;br /&gt;
&lt;br /&gt;
* Create an Albers location&lt;br /&gt;
: this can also be done automatically with the Location Wizard using the downloaded .img file.&lt;br /&gt;
&lt;br /&gt;
Here are the values for the CONUS dataset:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
name: Albers Equal Area&lt;br /&gt;
proj: aea&lt;br /&gt;
datum: wgs84&lt;br /&gt;
ellps: wgs84&lt;br /&gt;
lat_1: 29.5&lt;br /&gt;
lat_2: 45.5&lt;br /&gt;
lat_0: 23&lt;br /&gt;
lon_0: -96&lt;br /&gt;
x_0: 0&lt;br /&gt;
y_0: 0&lt;br /&gt;
towgs84: 0,0,0,0,0,0,0&lt;br /&gt;
no_defs: defined&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Importing ==&lt;br /&gt;
&lt;br /&gt;
Rather than import the entire 16GB raster image, just make a virtual link to it:&lt;br /&gt;
 r.external in=NLCD_2016_Land_Cover_L48_20190424.img out=NLCD_2016_Land_Cover_L48_20190424 title=&amp;quot;Land Cover 2016&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Then use g.region to zoom to your area of interest and r.mapcalc to extract a subset&lt;br /&gt;
 g.region -p n= s= e= w= res=30 align=NLCD_2016_Land_Cover_L48_20190424&lt;br /&gt;
 r.mapcalc &amp;quot;NLCD.extract = NLCD_2016_Land_Cover_L48_20190424&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Categories ==&lt;br /&gt;
&lt;br /&gt;
These can be applied with the r.category module.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
0:Unclassified&lt;br /&gt;
11:Open Water&lt;br /&gt;
12:Perennial Snow/Ice&lt;br /&gt;
21:Developed, Open Space&lt;br /&gt;
22:Developed, Low Intensity&lt;br /&gt;
23:Developed, Medium Intensity&lt;br /&gt;
24:Developed, High Intensity&lt;br /&gt;
31:Barren Land&lt;br /&gt;
41:Deciduous Forest&lt;br /&gt;
42:Evergreen Forest&lt;br /&gt;
43:Mixed Forest&lt;br /&gt;
52:Shrub/Scrub&lt;br /&gt;
71:Herbaceous&lt;br /&gt;
81:Hay/Pasture&lt;br /&gt;
82:Cultivated Crops&lt;br /&gt;
90:Woody Wetlands&lt;br /&gt;
95:Emergent Herbaceous Wetlands&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Colors ==&lt;br /&gt;
&lt;br /&gt;
[[image:NLCD_Colour_Classification_Update.jpg|right|thumb|NLCD2016 land cover classification legend from mrlc.gov]]&lt;br /&gt;
&lt;br /&gt;
These should load in automatically, but if they don't here are the official colors which you can load in with the r.colors module's rules= option:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
11 70:107:159&lt;br /&gt;
12 209:222:248&lt;br /&gt;
21 222:197:197&lt;br /&gt;
22 217:146:130&lt;br /&gt;
23 235:0:0&lt;br /&gt;
24 171:0:0&lt;br /&gt;
31 179:172:159&lt;br /&gt;
41 104:171:95&lt;br /&gt;
42 28:95:44&lt;br /&gt;
43 181:197:143&lt;br /&gt;
52 204:184:121&lt;br /&gt;
71 223:223:194&lt;br /&gt;
81 220:217:57&lt;br /&gt;
82 171:108:40&lt;br /&gt;
90 184:217:235&lt;br /&gt;
95 108:159:184&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Legend ==&lt;br /&gt;
&lt;br /&gt;
Use the -n and -c flags of d.legend to limit the legend to named categories.&lt;br /&gt;
&lt;br /&gt;
* See also https://www.mrlc.gov/data/legends/national-land-cover-database-2016-nlcd2016-legend&lt;br /&gt;
&lt;br /&gt;
== Manning's n ==&lt;br /&gt;
&lt;br /&gt;
For using as a basis for Manning's n friction coefficients, you can make a virtual reclass map with ''r.reclass''. The module will only reclass as integers so the table below is reclassed into parts per thousand. Crop your area of interest with r.mapcalc and divide by 1000.0 at the same time to get the Manning's n number.&lt;br /&gt;
&lt;br /&gt;
Actual values for your location will vary widely, the following is simply a starting point.&lt;br /&gt;
&lt;br /&gt;
: ''TODO: values of 999 require values from the literature''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
0 = 0  Unclassified&lt;br /&gt;
11 = 0250 Open Water&lt;br /&gt;
12 = 999    Perennial Snow/Ice&lt;br /&gt;
21 = 0404 Developed, Open Space&lt;br /&gt;
22 = 0678 Developed, Low Intensity&lt;br /&gt;
23 = 0678 Developed, Medium Intensity&lt;br /&gt;
24 = 0404 Developed, High Intensity&lt;br /&gt;
31 = 0113 Barren Land&lt;br /&gt;
41 = 3600 Deciduous Forest&lt;br /&gt;
42 = 3200 Evergreen Forest&lt;br /&gt;
43 = 4000 Mixed Forest&lt;br /&gt;
52 = 4000 Shrub/Scrub&lt;br /&gt;
71 = 3680 Herbaceous&lt;br /&gt;
81 = 3250 Hay/Pasture&lt;br /&gt;
82 = 0375 Cultivated Crops&lt;br /&gt;
90 = 0860 Woody Wetlands&lt;br /&gt;
95 = 1825 Emergent Herbaceous Wetlands&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
References:&lt;br /&gt;
* [http://www.fsl.orst.edu/geowater/FX3/help/8_Hydraulic_Reference/Mannings_n_Tables.htm Ven Te Chow, 1959] (Corvallis)&lt;br /&gt;
* [https://pubs.usgs.gov/wsp/2339/report.pdf USGS's Guide for Selecting Manning's Roughness Coefficients for Natural Channels and Flood Plains]&lt;br /&gt;
* Kalyanapu, Alfred &amp;amp; Burian, Steve &amp;amp; Mcpherson, Timothy. (2009). ''Effect of land use-based surface roughness on hydrologic model output.'' Journal of Spatial Hydrology. 9. 51-71.&lt;br /&gt;
* Liu, Zhu &amp;amp; Merwade, Venkatesh &amp;amp; Jafarzadegan, Keighobad. (2018). ''Investigating the role of model structure and surface roughness in generating flood inundation extents using 1D and 2D hydraulic models.'' Journal of Flood Risk Management. e12347. 10.1111/jfr3.12347.&lt;br /&gt;
&lt;br /&gt;
* Bunya, et al.. (2010). ''A High-Resolution Coupled Riverine Flow, Tide, Wind, Wind Wave, and Storm Surge Model for Southern Louisiana and Mississippi. Part I: Model Development and Validation.'' Monthly weather review 138.2: 345-377.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [[CORINE Land Cover]]&lt;br /&gt;
* [[Global Land Cover Characteristics]]&lt;br /&gt;
&lt;br /&gt;
[[Category: Geodata]]&lt;br /&gt;
[[Category: Import]]&lt;/div&gt;</summary>
		<author><name>⚠️HamishBowman</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=ADCIRC&amp;diff=25886</id>
		<title>ADCIRC</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=ADCIRC&amp;diff=25886"/>
		<updated>2019-08-20T00:39:57Z</updated>

		<summary type="html">&lt;p&gt;⚠️HamishBowman: /* Boundary node attribute preparation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Interfacing with the [http://adcirc.org ADCIRC] coastal ocean model ==&lt;br /&gt;
&lt;br /&gt;
=== Grid preparation ===&lt;br /&gt;
&lt;br /&gt;
==== OceanMesh2D ====&lt;br /&gt;
&lt;br /&gt;
[https://github.com/CHLNDDEV/OceanMesh2D OceanMesh2D] is an open source (GPL3) generator of 2D [[Triangle_Mesh|triangular finite element meshes]] suitable for use with [http://adcirc.org ADCIRC] that performs an adaptive Delaunay triangulation, iteratively, providing fine mesh detail in areas of numerical complexity.&lt;br /&gt;
It likes to work in lat/lon coordinate system.&lt;br /&gt;
&lt;br /&gt;
You can output your DEM as NetCDF format with r.out.gdal.&lt;br /&gt;
&lt;br /&gt;
You can create a domain boundary polyline with r.contour. You can then output the domain boundary polyline either as Shapefiles with v.out.ogr, or as two column x,y ASCII data with the {{AddonCmd|v.out.ascii.mat}} addon module for GRASS 6.&lt;br /&gt;
&lt;br /&gt;
==== Boundary node attribute preparation ====&lt;br /&gt;
&lt;br /&gt;
You can extract the tidal forcing factor amplitude and phase for boundary nodes needed in the fort.15 setup file from raster maps already loaded into GRASS. In the following example the [https://www.aviso.altimetry.fr/en/data/products/auxiliary-products/global-tide-fes/description-fes2004.html FES2004] dataset is used. (FES2002 for the K2 constituent as K2 is reputed to be broken in the 2004 edition)&lt;br /&gt;
: ''See also the [http://volkov.oce.orst.edu/tides/global.html TPXO NetCDF global tide dataset] from OSU.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Import FES tidal database data:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# import and split phase into components&lt;br /&gt;
r.in.gdal in=NETCDF:&amp;quot;tide.fes2004.nc&amp;quot;:spectrum out=fes2004.spectrum -ol&lt;br /&gt;
&lt;br /&gt;
MAPS=`g.mlist rast patt=&amp;quot;fes2004*&amp;quot; | sort -n -k 3 -t .`&lt;br /&gt;
for MAP in $MAPS ; do&lt;br /&gt;
    echo &amp;quot;[$MAP]&amp;quot;&lt;br /&gt;
    r.region $MAP s=-90 w=-180&lt;br /&gt;
    eval `r.info -s $MAP`&lt;br /&gt;
    g.region rast=$MAP&lt;br /&gt;
    g.region n=n-$nsres s=s+$nsres w=w+$ewres&lt;br /&gt;
    r.mapcalc &amp;quot;$MAP.crop = $MAP&amp;quot;&lt;br /&gt;
    r.region $MAP.crop n=89.9375 s=-89.9375 w=0.0625 e=360.0625&lt;br /&gt;
    g.region rast=$MAP.crop&lt;br /&gt;
    g.remove $MAP&lt;br /&gt;
    g.rename $MAP.crop,$MAP.fixed&lt;br /&gt;
    echo&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
spectrum=&amp;quot;2N2 K1 K2 M2 M4 Mf Mm Msqm Mtm N2 O1 P1 Q1 S2&amp;quot;&lt;br /&gt;
for i in `seq 1 14` ; do&lt;br /&gt;
    constit=`echo &amp;quot;$spectrum&amp;quot; | tr ' ' '\n' | head -n $i | tail -n 1`&lt;br /&gt;
    g.rename fes2004.Ha.$i.fixed,fes2004.$constit.amplitude&lt;br /&gt;
    g.rename fes2004.Hg.$i.fixed,fes2004.$constit.phase&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
g.rename fes2004.K2.amplitude,fes2004.K2.amplitude.bad&lt;br /&gt;
g.rename fes2004.K2.phase,fes2004.K2.phase.bad&lt;br /&gt;
&lt;br /&gt;
for map in `g.mlist rast patt=&amp;quot;*.phase&amp;quot; | grep -v bad` ; do&lt;br /&gt;
    r.mapcalc &amp;lt;&amp;lt; EOF&lt;br /&gt;
     $map.u = 1 * cos($map)&lt;br /&gt;
     $map.v = 1 * sin($map)&lt;br /&gt;
EOF&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Extract amplitude and phase at open boundary nodes:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
constits=&amp;quot;M2  N2  S2  K1  O1  P1  K2  2N2  Q1  M4&amp;quot;&lt;br /&gt;
&lt;br /&gt;
for const in $constits ; do&lt;br /&gt;
  MAP=fes2004.$const&lt;br /&gt;
  if [ $const = K2 ] ; then&lt;br /&gt;
    MAP=fes2002.K2&lt;br /&gt;
  fi&lt;br /&gt;
  echo &amp;quot;[$MAP]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  v.what.rast vect=adcirc_grid_open_bdy_nodes \&lt;br /&gt;
    rast=$MAP.amplitude -pi --q | sort -n &amp;gt; $MAP.ampl.prn&lt;br /&gt;
&lt;br /&gt;
  v.what.rast vect=adcirc_grid_open_bdy_nodes \&lt;br /&gt;
    rast=$MAP.phase -p --q | sort -n &amp;gt;  $MAP.phase_raw.prn&lt;br /&gt;
  v.what.rast vect=adcirc_grid_open_bdy_nodes \&lt;br /&gt;
    rast=$MAP.phase.u -pi --q | sort -n &amp;gt;  $MAP.phase.u.prn&lt;br /&gt;
  v.what.rast vect=adcirc_grid_open_bdy_nodes \&lt;br /&gt;
    rast=$MAP.phase.v -pi --q | sort -n &amp;gt;  $MAP.phase.v.prn&lt;br /&gt;
&lt;br /&gt;
  echo &amp;quot;% $const: grid open boundary nodes&amp;quot; &amp;gt; $MAP.tidal.prn&lt;br /&gt;
  echo &amp;quot;% node ampl phase phase.u phase.v&amp;quot; &amp;gt;&amp;gt; $MAP.tidal.prn&lt;br /&gt;
  paste -d'|' $MAP.ampl.prn $MAP.phase_raw.prn \&lt;br /&gt;
      $MAP.phase.u.prn $MAP.phase.v.prn | \&lt;br /&gt;
    cut -f1,2,4,6,8 -d'|' | \&lt;br /&gt;
    tr '|' '\t' &amp;gt;&amp;gt; $MAP.tidal.prn&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
# check for nulls in the source data.&lt;br /&gt;
# Manually replace with values from nearby raster cells using d.what.rast&lt;br /&gt;
grep '*' *.tidal.prn&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then, in Matlab or Octave:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;matlab&amp;quot;&amp;gt;&lt;br /&gt;
M2 = load('fes2004.M2.tidal.prn');&lt;br /&gt;
N2 = load('fes2004.N2.tidal.prn');&lt;br /&gt;
S2 = load('fes2004.S2.tidal.prn');&lt;br /&gt;
K1 = load('fes2004.K1.tidal.prn');&lt;br /&gt;
O1 = load('fes2004.O1.tidal.prn');&lt;br /&gt;
K2 = load('fes2002.K2.tidal.prn');&lt;br /&gt;
P1 = load('fes2004.P1.tidal.prn');&lt;br /&gt;
Q1 = load('fes2004.Q1.tidal.prn');&lt;br /&gt;
&lt;br /&gt;
c2N2 = load('fes2004.2N2.tidal.prn');&lt;br /&gt;
M4 = load('fes2004.M4.tidal.prn');&lt;br /&gt;
&lt;br /&gt;
% compare nearest neighbor phase angle vs. interpolated phase angle reconstructed from components&lt;br /&gt;
[M2(:,3)  cart2pol(M2(:,4), M2(:,5)) * 180/pi]&lt;br /&gt;
&lt;br /&gt;
delta = M2(:,3) - (cart2pol(M2(:,4), M2(:,5)) * 180/pi);&lt;br /&gt;
[M2(:,1) delta]&lt;br /&gt;
plot(M2(:,1), delta), grid on&lt;br /&gt;
xlabel('boundary node')&lt;br /&gt;
ylabel('degrees')&lt;br /&gt;
&lt;br /&gt;
[M2(:,1) M2(:,3) (cart2pol(M2(:,4), M2(:,5)) * 180/pi) delta]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
%%%&lt;br /&gt;
constits={ 'M2' 'N2' 'S2' 'K1' 'O1' 'P1' 'K2' 'c2N2' 'Q1' 'M4' }&lt;br /&gt;
&lt;br /&gt;
fid = fopen('grid_constits.prn', 'w')&lt;br /&gt;
&lt;br /&gt;
for i = 1: length(constits)&lt;br /&gt;
  const = char(constits(i));&lt;br /&gt;
  eval(['data = ' const ';'])&lt;br /&gt;
  new_phase = cart2pol(data(:,4), data(:,5)) * 180/pi;&lt;br /&gt;
  for j = 1:length(new_phase)&lt;br /&gt;
    if (new_phase(j) &amp;lt; 0)&lt;br /&gt;
      new_phase(j) = new_phase(j) + 360;&lt;br /&gt;
    end&lt;br /&gt;
  end&lt;br /&gt;
  fprintf(fid, ' %s\n', const);&lt;br /&gt;
  for j = 1:length(new_phase)&lt;br /&gt;
    fprintf(fid, '   %8.6f  %9.5f\n', data(j,2), new_phase(j));&lt;br /&gt;
  end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
fclose(fid)&lt;br /&gt;
&lt;br /&gt;
% then manually fix c2N2 -&amp;gt; 2N2&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Creating Manning's n nodal attributes ====&lt;br /&gt;
&lt;br /&gt;
* See [[NLCD Land Cover]] for instructions on importing the base data&lt;br /&gt;
&lt;br /&gt;
You can load in your fort.14 mesh as points with &amp;lt;tt&amp;gt;v.in.adcirc_grid&amp;lt;/tt&amp;gt;, then pull it into the Albers location with &amp;lt;tt&amp;gt;v.proj&amp;lt;/tt&amp;gt;, then create a column of ''n'' values with '&amp;lt;tt&amp;gt;v.what.rast -i -p&amp;lt;/tt&amp;gt;' that you can then form into a fort.13 file with UNIX command line power tools such as 'cut' and 'paste'.&lt;br /&gt;
&lt;br /&gt;
=== Post processing output data ===&lt;br /&gt;
&lt;br /&gt;
==== Importing the fort.14 mesh grid ====&lt;br /&gt;
&lt;br /&gt;
The {{AddonCmd|v.in.adcirc_grid}} addon module for GRASS 6 will import a 2.5D triangular mesh from the [[ADCIRC]] coastal ocean model into a 3D GRASS vector map.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;v.in.adcirc_grid&amp;lt;/tt&amp;gt; does not yet support loading in node type (boundary, etc.) as point attributes -- database tables can be a bit slow for maps with potentially millions of features. In the mean time here is a little shell script to extract the boundary nodes on the ''first'' open boundary into a separate vector points map:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 infile=fort.14&lt;br /&gt;
 inmap=mesh_grid_pts&lt;br /&gt;
 bdymap=mesh_bdy_pts&lt;br /&gt;
 &lt;br /&gt;
 v.in.adcirc_grid -p in=$infile out=$inmap&lt;br /&gt;
 num_pts=`grep ' = Number of nodes for open boundary' &amp;quot;$infile&amp;quot; | head -n 1 | awk '{print $1}'`&lt;br /&gt;
 cat_list=`grep -A&amp;quot;$num_pts&amp;quot; ' = Number of nodes for open boundary' &amp;quot;$infile&amp;quot; | \&lt;br /&gt;
    tail -n +2 | tr '\n' ',' | sed -e 's/ //g' -e 's/,$//'`&lt;br /&gt;
 v.extract in=$inmap out=$bdymap list=&amp;quot;$cat_list&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Importing elevation or velocity reporting stations ====&lt;br /&gt;
&lt;br /&gt;
With a little awk you can load in the elevation reporting stations for unit 61 with v.in.ascii.&lt;br /&gt;
: example goes here&lt;br /&gt;
&lt;br /&gt;
==== Visualizing sub-domains ====&lt;br /&gt;
&lt;br /&gt;
If you wish to have a look at where the sub-domains of a parallel run are, you can use the following Bash script:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
mkdir fort14s&lt;br /&gt;
for DIR in PE00?? ; do&lt;br /&gt;
   cp -a $DIR/fort.14 fort14s/${DIR}.14&lt;br /&gt;
done&lt;br /&gt;
 &lt;br /&gt;
cd fort14s&lt;br /&gt;
for file in *.14 ; do&lt;br /&gt;
   base=`echo &amp;quot;$file&amp;quot; | sed -e 's/PE00//' -e 's/\.14//'`&lt;br /&gt;
   echo -n &amp;quot;[$base]&amp;quot;&lt;br /&gt;
   v.in.adcirc_grid in=&amp;quot;$file&amp;quot; out=&amp;quot;submesh_$base&amp;quot; --quiet&lt;br /&gt;
   v.in.adcirc_grid -p in=&amp;quot;$file&amp;quot; out=&amp;quot;submesh_${base}_pts&amp;quot; --quiet&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here is a loop for displaying 80 sub-meshes, with random dark colors:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
for PE in {00..79} ; do&lt;br /&gt;
  echo -n &amp;quot;[$PE]&amp;quot;&lt;br /&gt;
  R=`expr $RANDOM / 256`&lt;br /&gt;
  G=`expr $RANDOM / 256`&lt;br /&gt;
  B=`expr $RANDOM / 256`&lt;br /&gt;
&lt;br /&gt;
  d.vect &amp;quot;submesh_$PE&amp;quot; color=&amp;quot;$R:$G:$B&amp;quot;&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
d.vect US_medium_shoreline color=black width=2&lt;br /&gt;
&lt;br /&gt;
d.vect station_map color=black fcolor=red size=8 icon=basic/circle&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Importing unit 61, 62, 63, 64 results ====&lt;br /&gt;
&lt;br /&gt;
- addme: bash code + r.in.xyz + {{AddonCmd|r.surf.nnbathy}}&lt;br /&gt;
&lt;br /&gt;
{{AddonCmd|d.barb}} addon module for GRASS 6 for rendering u,v vector arrows&lt;br /&gt;
&lt;br /&gt;
[[Category: Geodata]]&lt;br /&gt;
[[Category: Import]]&lt;/div&gt;</summary>
		<author><name>⚠️HamishBowman</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=ADCIRC&amp;diff=25877</id>
		<title>ADCIRC</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=ADCIRC&amp;diff=25877"/>
		<updated>2019-07-31T04:53:38Z</updated>

		<summary type="html">&lt;p&gt;⚠️HamishBowman: /* OceanMesh2D */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Interfacing with the [http://adcirc.org ADCIRC] coastal ocean model ==&lt;br /&gt;
&lt;br /&gt;
=== Grid preparation ===&lt;br /&gt;
&lt;br /&gt;
==== OceanMesh2D ====&lt;br /&gt;
&lt;br /&gt;
[https://github.com/CHLNDDEV/OceanMesh2D OceanMesh2D] is an open source (GPL3) generator of 2D [[Triangle_Mesh|triangular finite element meshes]] suitable for use with [http://adcirc.org ADCIRC] that performs an adaptive Delaunay triangulation, iteratively, providing fine mesh detail in areas of numerical complexity.&lt;br /&gt;
It likes to work in lat/lon coordinate system.&lt;br /&gt;
&lt;br /&gt;
You can output your DEM as NetCDF format with r.out.gdal.&lt;br /&gt;
&lt;br /&gt;
You can create a domain boundary polyline with r.contour. You can then output the domain boundary polyline either as Shapefiles with v.out.ogr, or as two column x,y ASCII data with the {{AddonCmd|v.out.ascii.mat}} addon module for GRASS 6.&lt;br /&gt;
&lt;br /&gt;
==== Boundary node attribute preparation ====&lt;br /&gt;
&lt;br /&gt;
You can extract the tidal forcing factor amplitude and phase for boundary nodes needed in the fort.15 setup file from raster maps already loaded into GRASS. In the following example the [https://www.aviso.altimetry.fr/en/data/products/auxiliary-products/global-tide-fes/description-fes2004.html FES2004] dataset is used. (FES2002 for the K2 constituent as K2 is reputed to be broken in the 2004 edition)&lt;br /&gt;
: ''See also the [http://volkov.oce.orst.edu/tides/global.html TPXO NetCDF global tide dataset] from OSU.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Import FES tidal database data:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# import and split phase into components&lt;br /&gt;
r.in.gdal in=NETCDF:&amp;quot;tide.fes2004.nc&amp;quot;:spectrum out=fes2004.spectrum -ol&lt;br /&gt;
&lt;br /&gt;
MAPS=`g.mlist rast patt=&amp;quot;fes2004*&amp;quot; | sort -n -k 3 -t .`&lt;br /&gt;
for MAP in $MAPS ; do&lt;br /&gt;
    echo &amp;quot;[$MAP]&amp;quot;&lt;br /&gt;
    r.region $MAP s=-90 w=-180&lt;br /&gt;
    eval `r.info -s $MAP`&lt;br /&gt;
    g.region rast=$MAP&lt;br /&gt;
    g.region n=n-$nsres s=s+$nsres w=w+$ewres&lt;br /&gt;
    r.mapcalc &amp;quot;$MAP.crop = $MAP&amp;quot;&lt;br /&gt;
    r.region $MAP.crop n=89.9375 s=-89.9375 w=0.0625 e=360.0625&lt;br /&gt;
    g.region rast=$MAP.crop&lt;br /&gt;
    g.remove $MAP&lt;br /&gt;
    g.rename $MAP.crop,$MAP.fixed&lt;br /&gt;
    echo&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
spectrum=&amp;quot;2N2 K1 K2 M2 M4 Mf Mm Msqm Mtm N2 O1 P1 Q1 S2&amp;quot;&lt;br /&gt;
for i in `seq 1 14` ; do&lt;br /&gt;
    constit=`echo &amp;quot;$spectrum&amp;quot; | tr ' ' '\n' | head -n $i | tail -n 1`&lt;br /&gt;
    g.rename fes2004.Ha.$i.fixed,fes2004.$constit.amplitude&lt;br /&gt;
    g.rename fes2004.Hg.$i.fixed,fes2004.$constit.phase&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
g.rename fes2004.K2.amplitude,fes2004.K2.amplitude.bad&lt;br /&gt;
g.rename fes2004.K2.phase,fes2004.K2.phase.bad&lt;br /&gt;
&lt;br /&gt;
for map in `g.mlist rast patt=&amp;quot;*.phase&amp;quot; | grep -v bad` ; do&lt;br /&gt;
    r.mapcalc &amp;lt;&amp;lt; EOF&lt;br /&gt;
     $map.u = 1 * cos($map)&lt;br /&gt;
     $map.v = 1 * sin($map)&lt;br /&gt;
EOF&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Extract amplitude and phase at open boundary nodes:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
constits=&amp;quot;M2  N2  S2  K1  O1  P1  K2  2N2  Q1  M4&amp;quot;&lt;br /&gt;
&lt;br /&gt;
for const in $constits ; do&lt;br /&gt;
  MAP=fes2004.$const&lt;br /&gt;
  if [ $const = K2 ] ; then&lt;br /&gt;
    MAP=fes2002.K2&lt;br /&gt;
  fi&lt;br /&gt;
  echo &amp;quot;[$MAP]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  v.what.rast vect=adcirc_grid_open_bdy_nodes \&lt;br /&gt;
    rast=$MAP.amplitude -pi --q | sort -n &amp;gt; $MAP.ampl.prn&lt;br /&gt;
&lt;br /&gt;
  v.what.rast vect=adcirc_grid_open_bdy_nodes \&lt;br /&gt;
    rast=$MAP.phase -p --q | sort -n &amp;gt;  $MAP.phase_raw.prn&lt;br /&gt;
  v.what.rast vect=adcirc_grid_open_bdy_nodes \&lt;br /&gt;
    rast=$MAP.phase.u -pi --q | sort -n &amp;gt;  $MAP.phase.u.prn&lt;br /&gt;
  v.what.rast vect=adcirc_grid_open_bdy_nodes \&lt;br /&gt;
    rast=$MAP.phase.v -pi --q | sort -n &amp;gt;  $MAP.phase.v.prn&lt;br /&gt;
&lt;br /&gt;
  echo &amp;quot;% $const: grid open boundary nodes&amp;quot; &amp;gt; $MAP.tidal.prn&lt;br /&gt;
  echo &amp;quot;% node ampl phase phase.u phase.v&amp;quot; &amp;gt;&amp;gt; $MAP.tidal.prn&lt;br /&gt;
  paste -d'|' $MAP.ampl.prn $MAP.phase_raw.prn \&lt;br /&gt;
      $MAP.phase.u.prn $MAP.phase.v.prn | \&lt;br /&gt;
    cut -f1,2,4,6,8 -d'|' | \&lt;br /&gt;
    tr '|' '\t' &amp;gt;&amp;gt; $MAP.tidal.prn&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
# check for nulls in the source data.&lt;br /&gt;
# Manually replace with values from nearby raster cells using d.what.rast&lt;br /&gt;
grep '*' *.tidal.prn&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then, in Matlab or Octave:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;matlab&amp;quot;&amp;gt;&lt;br /&gt;
M2 = load('fes2004.M2.tidal.prn');&lt;br /&gt;
N2 = load('fes2004.N2.tidal.prn');&lt;br /&gt;
S2 = load('fes2004.S2.tidal.prn');&lt;br /&gt;
K1 = load('fes2004.K1.tidal.prn');&lt;br /&gt;
O1 = load('fes2004.O1.tidal.prn');&lt;br /&gt;
K2 = load('fes2002.K2.tidal.prn');&lt;br /&gt;
P1 = load('fes2004.P1.tidal.prn');&lt;br /&gt;
Q1 = load('fes2004.Q1.tidal.prn');&lt;br /&gt;
&lt;br /&gt;
c2N2 = load('fes2004.2N2.tidal.prn');&lt;br /&gt;
M4 = load('fes2004.M4.tidal.prn');&lt;br /&gt;
&lt;br /&gt;
% compare nearest neighbor phase angle vs. interpolated phase angle reconstructed from components&lt;br /&gt;
[M2(:,3)  cart2pol(M2(:,4), M2(:,5)) * 180/pi]&lt;br /&gt;
&lt;br /&gt;
delta = M2(:,3) - (cart2pol(M2(:,4), M2(:,5)) * 180/pi);&lt;br /&gt;
[M2(:,1) delta]&lt;br /&gt;
plot(M2(:,1), delta), grid on&lt;br /&gt;
xlabel('boundary node')&lt;br /&gt;
ylabel('degrees')&lt;br /&gt;
&lt;br /&gt;
[M2(:,1) M2(:,3) (cart2pol(M2(:,4), M2(:,5)) * 180/pi) delta]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
%%%&lt;br /&gt;
constits={ 'M2' 'N2' 'S2' 'K1' 'O1' 'P1' 'K2' 'c2N2' 'Q1' 'M4' }&lt;br /&gt;
&lt;br /&gt;
fid = fopen('grid_constits.prn', 'w')&lt;br /&gt;
&lt;br /&gt;
for i = 1: length(constits)&lt;br /&gt;
  const = char(constits(i));&lt;br /&gt;
  eval(['data = ' const ';'])&lt;br /&gt;
  new_phase = cart2pol(data(:,4), data(:,5)) * 180/pi;&lt;br /&gt;
  for j = 1:length(new_phase)&lt;br /&gt;
    if (new_phase(j) &amp;lt; 0)&lt;br /&gt;
      new_phase(j) = new_phase(j) + 360;&lt;br /&gt;
    end&lt;br /&gt;
  end&lt;br /&gt;
  fprintf(fid, ' %s\n', const);&lt;br /&gt;
  for j = 1:length(new_phase)&lt;br /&gt;
    fprintf(fid, '   %8.6f  %9.5f\n', data(j,2), new_phase(j));&lt;br /&gt;
  end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
fclose(fid)&lt;br /&gt;
&lt;br /&gt;
% then manually fix c2N2 -&amp;gt; 2N2&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Post processing output data ===&lt;br /&gt;
&lt;br /&gt;
==== Importing the fort.14 mesh grid ====&lt;br /&gt;
&lt;br /&gt;
The {{AddonCmd|v.in.adcirc_grid}} addon module for GRASS 6 will import a 2.5D triangular mesh from the [[ADCIRC]] coastal ocean model into a 3D GRASS vector map.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;v.in.adcirc_grid&amp;lt;/tt&amp;gt; does not yet support loading in node type (boundary, etc.) as point attributes -- database tables can be a bit slow for maps with potentially millions of features. In the mean time here is a little shell script to extract the boundary nodes on the ''first'' open boundary into a separate vector points map:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 infile=fort.14&lt;br /&gt;
 inmap=mesh_grid_pts&lt;br /&gt;
 bdymap=mesh_bdy_pts&lt;br /&gt;
 &lt;br /&gt;
 v.in.adcirc_grid -p in=$infile out=$inmap&lt;br /&gt;
 num_pts=`grep ' = Number of nodes for open boundary' &amp;quot;$infile&amp;quot; | head -n 1 | awk '{print $1}'`&lt;br /&gt;
 cat_list=`grep -A&amp;quot;$num_pts&amp;quot; ' = Number of nodes for open boundary' &amp;quot;$infile&amp;quot; | \&lt;br /&gt;
    tail -n +2 | tr '\n' ',' | sed -e 's/ //g' -e 's/,$//'`&lt;br /&gt;
 v.extract in=$inmap out=$bdymap list=&amp;quot;$cat_list&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Importing elevation or velocity reporting stations ====&lt;br /&gt;
&lt;br /&gt;
With a little awk you can load in the elevation reporting stations for unit 61 with v.in.ascii.&lt;br /&gt;
: example goes here&lt;br /&gt;
&lt;br /&gt;
==== Visualizing sub-domains ====&lt;br /&gt;
&lt;br /&gt;
If you wish to have a look at where the sub-domains of a parallel run are, you can use the following Bash script:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
mkdir fort14s&lt;br /&gt;
for DIR in PE00?? ; do&lt;br /&gt;
   cp -a $DIR/fort.14 fort14s/${DIR}.14&lt;br /&gt;
done&lt;br /&gt;
 &lt;br /&gt;
cd fort14s&lt;br /&gt;
for file in *.14 ; do&lt;br /&gt;
   base=`echo &amp;quot;$file&amp;quot; | sed -e 's/PE00//' -e 's/\.14//'`&lt;br /&gt;
   echo -n &amp;quot;[$base]&amp;quot;&lt;br /&gt;
   v.in.adcirc_grid in=&amp;quot;$file&amp;quot; out=&amp;quot;submesh_$base&amp;quot; --quiet&lt;br /&gt;
   v.in.adcirc_grid -p in=&amp;quot;$file&amp;quot; out=&amp;quot;submesh_${base}_pts&amp;quot; --quiet&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here is a loop for displaying 80 sub-meshes, with random dark colors:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
for PE in {00..79} ; do&lt;br /&gt;
  echo -n &amp;quot;[$PE]&amp;quot;&lt;br /&gt;
  R=`expr $RANDOM / 256`&lt;br /&gt;
  G=`expr $RANDOM / 256`&lt;br /&gt;
  B=`expr $RANDOM / 256`&lt;br /&gt;
&lt;br /&gt;
  d.vect &amp;quot;submesh_$PE&amp;quot; color=&amp;quot;$R:$G:$B&amp;quot;&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
d.vect US_medium_shoreline color=black width=2&lt;br /&gt;
&lt;br /&gt;
d.vect station_map color=black fcolor=red size=8 icon=basic/circle&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Importing unit 61, 62, 63, 64 results ====&lt;br /&gt;
&lt;br /&gt;
- addme: bash code + r.in.xyz + {{AddonCmd|r.surf.nnbathy}}&lt;br /&gt;
&lt;br /&gt;
{{AddonCmd|d.barb}} addon module for GRASS 6 for rendering u,v vector arrows&lt;br /&gt;
&lt;br /&gt;
[[Category: Geodata]]&lt;br /&gt;
[[Category: Import]]&lt;/div&gt;</summary>
		<author><name>⚠️HamishBowman</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=ADCIRC&amp;diff=25876</id>
		<title>ADCIRC</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=ADCIRC&amp;diff=25876"/>
		<updated>2019-07-31T04:51:43Z</updated>

		<summary type="html">&lt;p&gt;⚠️HamishBowman: /* Interfacing with the ADCIRC coastal ocean model */ +link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Interfacing with the [http://adcirc.org ADCIRC] coastal ocean model ==&lt;br /&gt;
&lt;br /&gt;
=== Grid preparation ===&lt;br /&gt;
&lt;br /&gt;
==== OceanMesh2D ====&lt;br /&gt;
&lt;br /&gt;
[https://github.com/CHLNDDEV/OceanMesh2D OceanMesh2D] is an open source (GPL3) generator of 2D [[Triangle_Mesh|triangular meshes]] suitable for use with [http://adcirc.org ADCIRC] that performs an adaptive Delaunay triangulation, iteratively, providing fine mesh detail in areas of numerical complexity.&lt;br /&gt;
It likes to work in lat/lon coordinate system.&lt;br /&gt;
&lt;br /&gt;
You can output your DEM as NetCDF format with r.out.gdal.&lt;br /&gt;
&lt;br /&gt;
You can create a domain boundary polyline with r.contour. You can then output the domain boundary polyline either as Shapefiles with v.out.ogr, or as two column x,y ASCII data with the {{AddonCmd|v.out.ascii.mat}} addon module for GRASS 6.&lt;br /&gt;
&lt;br /&gt;
==== Boundary node attribute preparation ====&lt;br /&gt;
&lt;br /&gt;
You can extract the tidal forcing factor amplitude and phase for boundary nodes needed in the fort.15 setup file from raster maps already loaded into GRASS. In the following example the [https://www.aviso.altimetry.fr/en/data/products/auxiliary-products/global-tide-fes/description-fes2004.html FES2004] dataset is used. (FES2002 for the K2 constituent as K2 is reputed to be broken in the 2004 edition)&lt;br /&gt;
: ''See also the [http://volkov.oce.orst.edu/tides/global.html TPXO NetCDF global tide dataset] from OSU.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Import FES tidal database data:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# import and split phase into components&lt;br /&gt;
r.in.gdal in=NETCDF:&amp;quot;tide.fes2004.nc&amp;quot;:spectrum out=fes2004.spectrum -ol&lt;br /&gt;
&lt;br /&gt;
MAPS=`g.mlist rast patt=&amp;quot;fes2004*&amp;quot; | sort -n -k 3 -t .`&lt;br /&gt;
for MAP in $MAPS ; do&lt;br /&gt;
    echo &amp;quot;[$MAP]&amp;quot;&lt;br /&gt;
    r.region $MAP s=-90 w=-180&lt;br /&gt;
    eval `r.info -s $MAP`&lt;br /&gt;
    g.region rast=$MAP&lt;br /&gt;
    g.region n=n-$nsres s=s+$nsres w=w+$ewres&lt;br /&gt;
    r.mapcalc &amp;quot;$MAP.crop = $MAP&amp;quot;&lt;br /&gt;
    r.region $MAP.crop n=89.9375 s=-89.9375 w=0.0625 e=360.0625&lt;br /&gt;
    g.region rast=$MAP.crop&lt;br /&gt;
    g.remove $MAP&lt;br /&gt;
    g.rename $MAP.crop,$MAP.fixed&lt;br /&gt;
    echo&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
spectrum=&amp;quot;2N2 K1 K2 M2 M4 Mf Mm Msqm Mtm N2 O1 P1 Q1 S2&amp;quot;&lt;br /&gt;
for i in `seq 1 14` ; do&lt;br /&gt;
    constit=`echo &amp;quot;$spectrum&amp;quot; | tr ' ' '\n' | head -n $i | tail -n 1`&lt;br /&gt;
    g.rename fes2004.Ha.$i.fixed,fes2004.$constit.amplitude&lt;br /&gt;
    g.rename fes2004.Hg.$i.fixed,fes2004.$constit.phase&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
g.rename fes2004.K2.amplitude,fes2004.K2.amplitude.bad&lt;br /&gt;
g.rename fes2004.K2.phase,fes2004.K2.phase.bad&lt;br /&gt;
&lt;br /&gt;
for map in `g.mlist rast patt=&amp;quot;*.phase&amp;quot; | grep -v bad` ; do&lt;br /&gt;
    r.mapcalc &amp;lt;&amp;lt; EOF&lt;br /&gt;
     $map.u = 1 * cos($map)&lt;br /&gt;
     $map.v = 1 * sin($map)&lt;br /&gt;
EOF&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Extract amplitude and phase at open boundary nodes:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
constits=&amp;quot;M2  N2  S2  K1  O1  P1  K2  2N2  Q1  M4&amp;quot;&lt;br /&gt;
&lt;br /&gt;
for const in $constits ; do&lt;br /&gt;
  MAP=fes2004.$const&lt;br /&gt;
  if [ $const = K2 ] ; then&lt;br /&gt;
    MAP=fes2002.K2&lt;br /&gt;
  fi&lt;br /&gt;
  echo &amp;quot;[$MAP]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  v.what.rast vect=adcirc_grid_open_bdy_nodes \&lt;br /&gt;
    rast=$MAP.amplitude -pi --q | sort -n &amp;gt; $MAP.ampl.prn&lt;br /&gt;
&lt;br /&gt;
  v.what.rast vect=adcirc_grid_open_bdy_nodes \&lt;br /&gt;
    rast=$MAP.phase -p --q | sort -n &amp;gt;  $MAP.phase_raw.prn&lt;br /&gt;
  v.what.rast vect=adcirc_grid_open_bdy_nodes \&lt;br /&gt;
    rast=$MAP.phase.u -pi --q | sort -n &amp;gt;  $MAP.phase.u.prn&lt;br /&gt;
  v.what.rast vect=adcirc_grid_open_bdy_nodes \&lt;br /&gt;
    rast=$MAP.phase.v -pi --q | sort -n &amp;gt;  $MAP.phase.v.prn&lt;br /&gt;
&lt;br /&gt;
  echo &amp;quot;% $const: grid open boundary nodes&amp;quot; &amp;gt; $MAP.tidal.prn&lt;br /&gt;
  echo &amp;quot;% node ampl phase phase.u phase.v&amp;quot; &amp;gt;&amp;gt; $MAP.tidal.prn&lt;br /&gt;
  paste -d'|' $MAP.ampl.prn $MAP.phase_raw.prn \&lt;br /&gt;
      $MAP.phase.u.prn $MAP.phase.v.prn | \&lt;br /&gt;
    cut -f1,2,4,6,8 -d'|' | \&lt;br /&gt;
    tr '|' '\t' &amp;gt;&amp;gt; $MAP.tidal.prn&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
# check for nulls in the source data.&lt;br /&gt;
# Manually replace with values from nearby raster cells using d.what.rast&lt;br /&gt;
grep '*' *.tidal.prn&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then, in Matlab or Octave:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;matlab&amp;quot;&amp;gt;&lt;br /&gt;
M2 = load('fes2004.M2.tidal.prn');&lt;br /&gt;
N2 = load('fes2004.N2.tidal.prn');&lt;br /&gt;
S2 = load('fes2004.S2.tidal.prn');&lt;br /&gt;
K1 = load('fes2004.K1.tidal.prn');&lt;br /&gt;
O1 = load('fes2004.O1.tidal.prn');&lt;br /&gt;
K2 = load('fes2002.K2.tidal.prn');&lt;br /&gt;
P1 = load('fes2004.P1.tidal.prn');&lt;br /&gt;
Q1 = load('fes2004.Q1.tidal.prn');&lt;br /&gt;
&lt;br /&gt;
c2N2 = load('fes2004.2N2.tidal.prn');&lt;br /&gt;
M4 = load('fes2004.M4.tidal.prn');&lt;br /&gt;
&lt;br /&gt;
% compare nearest neighbor phase angle vs. interpolated phase angle reconstructed from components&lt;br /&gt;
[M2(:,3)  cart2pol(M2(:,4), M2(:,5)) * 180/pi]&lt;br /&gt;
&lt;br /&gt;
delta = M2(:,3) - (cart2pol(M2(:,4), M2(:,5)) * 180/pi);&lt;br /&gt;
[M2(:,1) delta]&lt;br /&gt;
plot(M2(:,1), delta), grid on&lt;br /&gt;
xlabel('boundary node')&lt;br /&gt;
ylabel('degrees')&lt;br /&gt;
&lt;br /&gt;
[M2(:,1) M2(:,3) (cart2pol(M2(:,4), M2(:,5)) * 180/pi) delta]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
%%%&lt;br /&gt;
constits={ 'M2' 'N2' 'S2' 'K1' 'O1' 'P1' 'K2' 'c2N2' 'Q1' 'M4' }&lt;br /&gt;
&lt;br /&gt;
fid = fopen('grid_constits.prn', 'w')&lt;br /&gt;
&lt;br /&gt;
for i = 1: length(constits)&lt;br /&gt;
  const = char(constits(i));&lt;br /&gt;
  eval(['data = ' const ';'])&lt;br /&gt;
  new_phase = cart2pol(data(:,4), data(:,5)) * 180/pi;&lt;br /&gt;
  for j = 1:length(new_phase)&lt;br /&gt;
    if (new_phase(j) &amp;lt; 0)&lt;br /&gt;
      new_phase(j) = new_phase(j) + 360;&lt;br /&gt;
    end&lt;br /&gt;
  end&lt;br /&gt;
  fprintf(fid, ' %s\n', const);&lt;br /&gt;
  for j = 1:length(new_phase)&lt;br /&gt;
    fprintf(fid, '   %8.6f  %9.5f\n', data(j,2), new_phase(j));&lt;br /&gt;
  end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
fclose(fid)&lt;br /&gt;
&lt;br /&gt;
% then manually fix c2N2 -&amp;gt; 2N2&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Post processing output data ===&lt;br /&gt;
&lt;br /&gt;
==== Importing the fort.14 mesh grid ====&lt;br /&gt;
&lt;br /&gt;
The {{AddonCmd|v.in.adcirc_grid}} addon module for GRASS 6 will import a 2.5D triangular mesh from the [[ADCIRC]] coastal ocean model into a 3D GRASS vector map.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;v.in.adcirc_grid&amp;lt;/tt&amp;gt; does not yet support loading in node type (boundary, etc.) as point attributes -- database tables can be a bit slow for maps with potentially millions of features. In the mean time here is a little shell script to extract the boundary nodes on the ''first'' open boundary into a separate vector points map:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 infile=fort.14&lt;br /&gt;
 inmap=mesh_grid_pts&lt;br /&gt;
 bdymap=mesh_bdy_pts&lt;br /&gt;
 &lt;br /&gt;
 v.in.adcirc_grid -p in=$infile out=$inmap&lt;br /&gt;
 num_pts=`grep ' = Number of nodes for open boundary' &amp;quot;$infile&amp;quot; | head -n 1 | awk '{print $1}'`&lt;br /&gt;
 cat_list=`grep -A&amp;quot;$num_pts&amp;quot; ' = Number of nodes for open boundary' &amp;quot;$infile&amp;quot; | \&lt;br /&gt;
    tail -n +2 | tr '\n' ',' | sed -e 's/ //g' -e 's/,$//'`&lt;br /&gt;
 v.extract in=$inmap out=$bdymap list=&amp;quot;$cat_list&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Importing elevation or velocity reporting stations ====&lt;br /&gt;
&lt;br /&gt;
With a little awk you can load in the elevation reporting stations for unit 61 with v.in.ascii.&lt;br /&gt;
: example goes here&lt;br /&gt;
&lt;br /&gt;
==== Visualizing sub-domains ====&lt;br /&gt;
&lt;br /&gt;
If you wish to have a look at where the sub-domains of a parallel run are, you can use the following Bash script:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
mkdir fort14s&lt;br /&gt;
for DIR in PE00?? ; do&lt;br /&gt;
   cp -a $DIR/fort.14 fort14s/${DIR}.14&lt;br /&gt;
done&lt;br /&gt;
 &lt;br /&gt;
cd fort14s&lt;br /&gt;
for file in *.14 ; do&lt;br /&gt;
   base=`echo &amp;quot;$file&amp;quot; | sed -e 's/PE00//' -e 's/\.14//'`&lt;br /&gt;
   echo -n &amp;quot;[$base]&amp;quot;&lt;br /&gt;
   v.in.adcirc_grid in=&amp;quot;$file&amp;quot; out=&amp;quot;submesh_$base&amp;quot; --quiet&lt;br /&gt;
   v.in.adcirc_grid -p in=&amp;quot;$file&amp;quot; out=&amp;quot;submesh_${base}_pts&amp;quot; --quiet&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here is a loop for displaying 80 sub-meshes, with random dark colors:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
for PE in {00..79} ; do&lt;br /&gt;
  echo -n &amp;quot;[$PE]&amp;quot;&lt;br /&gt;
  R=`expr $RANDOM / 256`&lt;br /&gt;
  G=`expr $RANDOM / 256`&lt;br /&gt;
  B=`expr $RANDOM / 256`&lt;br /&gt;
&lt;br /&gt;
  d.vect &amp;quot;submesh_$PE&amp;quot; color=&amp;quot;$R:$G:$B&amp;quot;&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
d.vect US_medium_shoreline color=black width=2&lt;br /&gt;
&lt;br /&gt;
d.vect station_map color=black fcolor=red size=8 icon=basic/circle&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Importing unit 61, 62, 63, 64 results ====&lt;br /&gt;
&lt;br /&gt;
- addme: bash code + r.in.xyz + {{AddonCmd|r.surf.nnbathy}}&lt;br /&gt;
&lt;br /&gt;
{{AddonCmd|d.barb}} addon module for GRASS 6 for rendering u,v vector arrows&lt;br /&gt;
&lt;br /&gt;
[[Category: Geodata]]&lt;br /&gt;
[[Category: Import]]&lt;/div&gt;</summary>
		<author><name>⚠️HamishBowman</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=ADCIRC&amp;diff=25875</id>
		<title>ADCIRC</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=ADCIRC&amp;diff=25875"/>
		<updated>2019-07-31T04:51:03Z</updated>

		<summary type="html">&lt;p&gt;⚠️HamishBowman: /* OceanMesh2D */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Interfacing with the [http://adcirc.org ADCIRC] coastal ocean model ==&lt;br /&gt;
&lt;br /&gt;
=== Grid preparation ===&lt;br /&gt;
&lt;br /&gt;
==== OceanMesh2D ====&lt;br /&gt;
&lt;br /&gt;
[https://github.com/CHLNDDEV/OceanMesh2D OceanMesh2D] is an open source (GPL3) generator of 2D [[Triangle_Mesh|triangular meshes]] suitable for use with ADCIRC that performs an adaptive Delaunay triangulation, iteratively, providing fine mesh detail in areas of numerical complexity.&lt;br /&gt;
It likes to work in lat/lon coordinate system.&lt;br /&gt;
&lt;br /&gt;
You can output your DEM as NetCDF format with r.out.gdal.&lt;br /&gt;
&lt;br /&gt;
You can create a domain boundary polyline with r.contour. You can then output the domain boundary polyline either as Shapefiles with v.out.ogr, or as two column x,y ASCII data with the {{AddonCmd|v.out.ascii.mat}} addon module for GRASS 6.&lt;br /&gt;
&lt;br /&gt;
==== Boundary node attribute preparation ====&lt;br /&gt;
&lt;br /&gt;
You can extract the tidal forcing factor amplitude and phase for boundary nodes needed in the fort.15 setup file from raster maps already loaded into GRASS. In the following example the [https://www.aviso.altimetry.fr/en/data/products/auxiliary-products/global-tide-fes/description-fes2004.html FES2004] dataset is used. (FES2002 for the K2 constituent as K2 is reputed to be broken in the 2004 edition)&lt;br /&gt;
: ''See also the [http://volkov.oce.orst.edu/tides/global.html TPXO NetCDF global tide dataset] from OSU.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Import FES tidal database data:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# import and split phase into components&lt;br /&gt;
r.in.gdal in=NETCDF:&amp;quot;tide.fes2004.nc&amp;quot;:spectrum out=fes2004.spectrum -ol&lt;br /&gt;
&lt;br /&gt;
MAPS=`g.mlist rast patt=&amp;quot;fes2004*&amp;quot; | sort -n -k 3 -t .`&lt;br /&gt;
for MAP in $MAPS ; do&lt;br /&gt;
    echo &amp;quot;[$MAP]&amp;quot;&lt;br /&gt;
    r.region $MAP s=-90 w=-180&lt;br /&gt;
    eval `r.info -s $MAP`&lt;br /&gt;
    g.region rast=$MAP&lt;br /&gt;
    g.region n=n-$nsres s=s+$nsres w=w+$ewres&lt;br /&gt;
    r.mapcalc &amp;quot;$MAP.crop = $MAP&amp;quot;&lt;br /&gt;
    r.region $MAP.crop n=89.9375 s=-89.9375 w=0.0625 e=360.0625&lt;br /&gt;
    g.region rast=$MAP.crop&lt;br /&gt;
    g.remove $MAP&lt;br /&gt;
    g.rename $MAP.crop,$MAP.fixed&lt;br /&gt;
    echo&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
spectrum=&amp;quot;2N2 K1 K2 M2 M4 Mf Mm Msqm Mtm N2 O1 P1 Q1 S2&amp;quot;&lt;br /&gt;
for i in `seq 1 14` ; do&lt;br /&gt;
    constit=`echo &amp;quot;$spectrum&amp;quot; | tr ' ' '\n' | head -n $i | tail -n 1`&lt;br /&gt;
    g.rename fes2004.Ha.$i.fixed,fes2004.$constit.amplitude&lt;br /&gt;
    g.rename fes2004.Hg.$i.fixed,fes2004.$constit.phase&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
g.rename fes2004.K2.amplitude,fes2004.K2.amplitude.bad&lt;br /&gt;
g.rename fes2004.K2.phase,fes2004.K2.phase.bad&lt;br /&gt;
&lt;br /&gt;
for map in `g.mlist rast patt=&amp;quot;*.phase&amp;quot; | grep -v bad` ; do&lt;br /&gt;
    r.mapcalc &amp;lt;&amp;lt; EOF&lt;br /&gt;
     $map.u = 1 * cos($map)&lt;br /&gt;
     $map.v = 1 * sin($map)&lt;br /&gt;
EOF&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Extract amplitude and phase at open boundary nodes:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
constits=&amp;quot;M2  N2  S2  K1  O1  P1  K2  2N2  Q1  M4&amp;quot;&lt;br /&gt;
&lt;br /&gt;
for const in $constits ; do&lt;br /&gt;
  MAP=fes2004.$const&lt;br /&gt;
  if [ $const = K2 ] ; then&lt;br /&gt;
    MAP=fes2002.K2&lt;br /&gt;
  fi&lt;br /&gt;
  echo &amp;quot;[$MAP]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  v.what.rast vect=adcirc_grid_open_bdy_nodes \&lt;br /&gt;
    rast=$MAP.amplitude -pi --q | sort -n &amp;gt; $MAP.ampl.prn&lt;br /&gt;
&lt;br /&gt;
  v.what.rast vect=adcirc_grid_open_bdy_nodes \&lt;br /&gt;
    rast=$MAP.phase -p --q | sort -n &amp;gt;  $MAP.phase_raw.prn&lt;br /&gt;
  v.what.rast vect=adcirc_grid_open_bdy_nodes \&lt;br /&gt;
    rast=$MAP.phase.u -pi --q | sort -n &amp;gt;  $MAP.phase.u.prn&lt;br /&gt;
  v.what.rast vect=adcirc_grid_open_bdy_nodes \&lt;br /&gt;
    rast=$MAP.phase.v -pi --q | sort -n &amp;gt;  $MAP.phase.v.prn&lt;br /&gt;
&lt;br /&gt;
  echo &amp;quot;% $const: grid open boundary nodes&amp;quot; &amp;gt; $MAP.tidal.prn&lt;br /&gt;
  echo &amp;quot;% node ampl phase phase.u phase.v&amp;quot; &amp;gt;&amp;gt; $MAP.tidal.prn&lt;br /&gt;
  paste -d'|' $MAP.ampl.prn $MAP.phase_raw.prn \&lt;br /&gt;
      $MAP.phase.u.prn $MAP.phase.v.prn | \&lt;br /&gt;
    cut -f1,2,4,6,8 -d'|' | \&lt;br /&gt;
    tr '|' '\t' &amp;gt;&amp;gt; $MAP.tidal.prn&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
# check for nulls in the source data.&lt;br /&gt;
# Manually replace with values from nearby raster cells using d.what.rast&lt;br /&gt;
grep '*' *.tidal.prn&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then, in Matlab or Octave:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;matlab&amp;quot;&amp;gt;&lt;br /&gt;
M2 = load('fes2004.M2.tidal.prn');&lt;br /&gt;
N2 = load('fes2004.N2.tidal.prn');&lt;br /&gt;
S2 = load('fes2004.S2.tidal.prn');&lt;br /&gt;
K1 = load('fes2004.K1.tidal.prn');&lt;br /&gt;
O1 = load('fes2004.O1.tidal.prn');&lt;br /&gt;
K2 = load('fes2002.K2.tidal.prn');&lt;br /&gt;
P1 = load('fes2004.P1.tidal.prn');&lt;br /&gt;
Q1 = load('fes2004.Q1.tidal.prn');&lt;br /&gt;
&lt;br /&gt;
c2N2 = load('fes2004.2N2.tidal.prn');&lt;br /&gt;
M4 = load('fes2004.M4.tidal.prn');&lt;br /&gt;
&lt;br /&gt;
% compare nearest neighbor phase angle vs. interpolated phase angle reconstructed from components&lt;br /&gt;
[M2(:,3)  cart2pol(M2(:,4), M2(:,5)) * 180/pi]&lt;br /&gt;
&lt;br /&gt;
delta = M2(:,3) - (cart2pol(M2(:,4), M2(:,5)) * 180/pi);&lt;br /&gt;
[M2(:,1) delta]&lt;br /&gt;
plot(M2(:,1), delta), grid on&lt;br /&gt;
xlabel('boundary node')&lt;br /&gt;
ylabel('degrees')&lt;br /&gt;
&lt;br /&gt;
[M2(:,1) M2(:,3) (cart2pol(M2(:,4), M2(:,5)) * 180/pi) delta]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
%%%&lt;br /&gt;
constits={ 'M2' 'N2' 'S2' 'K1' 'O1' 'P1' 'K2' 'c2N2' 'Q1' 'M4' }&lt;br /&gt;
&lt;br /&gt;
fid = fopen('grid_constits.prn', 'w')&lt;br /&gt;
&lt;br /&gt;
for i = 1: length(constits)&lt;br /&gt;
  const = char(constits(i));&lt;br /&gt;
  eval(['data = ' const ';'])&lt;br /&gt;
  new_phase = cart2pol(data(:,4), data(:,5)) * 180/pi;&lt;br /&gt;
  for j = 1:length(new_phase)&lt;br /&gt;
    if (new_phase(j) &amp;lt; 0)&lt;br /&gt;
      new_phase(j) = new_phase(j) + 360;&lt;br /&gt;
    end&lt;br /&gt;
  end&lt;br /&gt;
  fprintf(fid, ' %s\n', const);&lt;br /&gt;
  for j = 1:length(new_phase)&lt;br /&gt;
    fprintf(fid, '   %8.6f  %9.5f\n', data(j,2), new_phase(j));&lt;br /&gt;
  end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
fclose(fid)&lt;br /&gt;
&lt;br /&gt;
% then manually fix c2N2 -&amp;gt; 2N2&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Post processing output data ===&lt;br /&gt;
&lt;br /&gt;
==== Importing the fort.14 mesh grid ====&lt;br /&gt;
&lt;br /&gt;
The {{AddonCmd|v.in.adcirc_grid}} addon module for GRASS 6 will import a 2.5D triangular mesh from the [[ADCIRC]] coastal ocean model into a 3D GRASS vector map.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;v.in.adcirc_grid&amp;lt;/tt&amp;gt; does not yet support loading in node type (boundary, etc.) as point attributes -- database tables can be a bit slow for maps with potentially millions of features. In the mean time here is a little shell script to extract the boundary nodes on the ''first'' open boundary into a separate vector points map:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 infile=fort.14&lt;br /&gt;
 inmap=mesh_grid_pts&lt;br /&gt;
 bdymap=mesh_bdy_pts&lt;br /&gt;
 &lt;br /&gt;
 v.in.adcirc_grid -p in=$infile out=$inmap&lt;br /&gt;
 num_pts=`grep ' = Number of nodes for open boundary' &amp;quot;$infile&amp;quot; | head -n 1 | awk '{print $1}'`&lt;br /&gt;
 cat_list=`grep -A&amp;quot;$num_pts&amp;quot; ' = Number of nodes for open boundary' &amp;quot;$infile&amp;quot; | \&lt;br /&gt;
    tail -n +2 | tr '\n' ',' | sed -e 's/ //g' -e 's/,$//'`&lt;br /&gt;
 v.extract in=$inmap out=$bdymap list=&amp;quot;$cat_list&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Importing elevation or velocity reporting stations ====&lt;br /&gt;
&lt;br /&gt;
With a little awk you can load in the elevation reporting stations for unit 61 with v.in.ascii.&lt;br /&gt;
: example goes here&lt;br /&gt;
&lt;br /&gt;
==== Visualizing sub-domains ====&lt;br /&gt;
&lt;br /&gt;
If you wish to have a look at where the sub-domains of a parallel run are, you can use the following Bash script:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
mkdir fort14s&lt;br /&gt;
for DIR in PE00?? ; do&lt;br /&gt;
   cp -a $DIR/fort.14 fort14s/${DIR}.14&lt;br /&gt;
done&lt;br /&gt;
 &lt;br /&gt;
cd fort14s&lt;br /&gt;
for file in *.14 ; do&lt;br /&gt;
   base=`echo &amp;quot;$file&amp;quot; | sed -e 's/PE00//' -e 's/\.14//'`&lt;br /&gt;
   echo -n &amp;quot;[$base]&amp;quot;&lt;br /&gt;
   v.in.adcirc_grid in=&amp;quot;$file&amp;quot; out=&amp;quot;submesh_$base&amp;quot; --quiet&lt;br /&gt;
   v.in.adcirc_grid -p in=&amp;quot;$file&amp;quot; out=&amp;quot;submesh_${base}_pts&amp;quot; --quiet&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here is a loop for displaying 80 sub-meshes, with random dark colors:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
for PE in {00..79} ; do&lt;br /&gt;
  echo -n &amp;quot;[$PE]&amp;quot;&lt;br /&gt;
  R=`expr $RANDOM / 256`&lt;br /&gt;
  G=`expr $RANDOM / 256`&lt;br /&gt;
  B=`expr $RANDOM / 256`&lt;br /&gt;
&lt;br /&gt;
  d.vect &amp;quot;submesh_$PE&amp;quot; color=&amp;quot;$R:$G:$B&amp;quot;&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
d.vect US_medium_shoreline color=black width=2&lt;br /&gt;
&lt;br /&gt;
d.vect station_map color=black fcolor=red size=8 icon=basic/circle&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Importing unit 61, 62, 63, 64 results ====&lt;br /&gt;
&lt;br /&gt;
- addme: bash code + r.in.xyz + {{AddonCmd|r.surf.nnbathy}}&lt;br /&gt;
&lt;br /&gt;
{{AddonCmd|d.barb}} addon module for GRASS 6 for rendering u,v vector arrows&lt;br /&gt;
&lt;br /&gt;
[[Category: Geodata]]&lt;br /&gt;
[[Category: Import]]&lt;/div&gt;</summary>
		<author><name>⚠️HamishBowman</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=ADCIRC&amp;diff=25874</id>
		<title>ADCIRC</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=ADCIRC&amp;diff=25874"/>
		<updated>2019-07-31T04:50:44Z</updated>

		<summary type="html">&lt;p&gt;⚠️HamishBowman: /* OceanMesh2D */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Interfacing with the [http://adcirc.org ADCIRC] coastal ocean model ==&lt;br /&gt;
&lt;br /&gt;
=== Grid preparation ===&lt;br /&gt;
&lt;br /&gt;
==== OceanMesh2D ====&lt;br /&gt;
&lt;br /&gt;
[https://github.com/CHLNDDEV/OceanMesh2D OceanMesh2D] is an open source (GPL3) generator of 2D [[Triangle_Mesh|triangular meshes]] suitable for use with ADCIRC that performs an adaptive Delaunay Triangulation, iteratively, providing fine mesh detail in areas of numerical complexity.&lt;br /&gt;
It likes to work in lat/lon coordinate system.&lt;br /&gt;
&lt;br /&gt;
You can output your DEM as NetCDF format with r.out.gdal.&lt;br /&gt;
&lt;br /&gt;
You can create a domain boundary polyline with r.contour. You can then output the domain boundary polyline either as Shapefiles with v.out.ogr, or as two column x,y ASCII data with the {{AddonCmd|v.out.ascii.mat}} addon module for GRASS 6.&lt;br /&gt;
&lt;br /&gt;
==== Boundary node attribute preparation ====&lt;br /&gt;
&lt;br /&gt;
You can extract the tidal forcing factor amplitude and phase for boundary nodes needed in the fort.15 setup file from raster maps already loaded into GRASS. In the following example the [https://www.aviso.altimetry.fr/en/data/products/auxiliary-products/global-tide-fes/description-fes2004.html FES2004] dataset is used. (FES2002 for the K2 constituent as K2 is reputed to be broken in the 2004 edition)&lt;br /&gt;
: ''See also the [http://volkov.oce.orst.edu/tides/global.html TPXO NetCDF global tide dataset] from OSU.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Import FES tidal database data:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# import and split phase into components&lt;br /&gt;
r.in.gdal in=NETCDF:&amp;quot;tide.fes2004.nc&amp;quot;:spectrum out=fes2004.spectrum -ol&lt;br /&gt;
&lt;br /&gt;
MAPS=`g.mlist rast patt=&amp;quot;fes2004*&amp;quot; | sort -n -k 3 -t .`&lt;br /&gt;
for MAP in $MAPS ; do&lt;br /&gt;
    echo &amp;quot;[$MAP]&amp;quot;&lt;br /&gt;
    r.region $MAP s=-90 w=-180&lt;br /&gt;
    eval `r.info -s $MAP`&lt;br /&gt;
    g.region rast=$MAP&lt;br /&gt;
    g.region n=n-$nsres s=s+$nsres w=w+$ewres&lt;br /&gt;
    r.mapcalc &amp;quot;$MAP.crop = $MAP&amp;quot;&lt;br /&gt;
    r.region $MAP.crop n=89.9375 s=-89.9375 w=0.0625 e=360.0625&lt;br /&gt;
    g.region rast=$MAP.crop&lt;br /&gt;
    g.remove $MAP&lt;br /&gt;
    g.rename $MAP.crop,$MAP.fixed&lt;br /&gt;
    echo&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
spectrum=&amp;quot;2N2 K1 K2 M2 M4 Mf Mm Msqm Mtm N2 O1 P1 Q1 S2&amp;quot;&lt;br /&gt;
for i in `seq 1 14` ; do&lt;br /&gt;
    constit=`echo &amp;quot;$spectrum&amp;quot; | tr ' ' '\n' | head -n $i | tail -n 1`&lt;br /&gt;
    g.rename fes2004.Ha.$i.fixed,fes2004.$constit.amplitude&lt;br /&gt;
    g.rename fes2004.Hg.$i.fixed,fes2004.$constit.phase&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
g.rename fes2004.K2.amplitude,fes2004.K2.amplitude.bad&lt;br /&gt;
g.rename fes2004.K2.phase,fes2004.K2.phase.bad&lt;br /&gt;
&lt;br /&gt;
for map in `g.mlist rast patt=&amp;quot;*.phase&amp;quot; | grep -v bad` ; do&lt;br /&gt;
    r.mapcalc &amp;lt;&amp;lt; EOF&lt;br /&gt;
     $map.u = 1 * cos($map)&lt;br /&gt;
     $map.v = 1 * sin($map)&lt;br /&gt;
EOF&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Extract amplitude and phase at open boundary nodes:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
constits=&amp;quot;M2  N2  S2  K1  O1  P1  K2  2N2  Q1  M4&amp;quot;&lt;br /&gt;
&lt;br /&gt;
for const in $constits ; do&lt;br /&gt;
  MAP=fes2004.$const&lt;br /&gt;
  if [ $const = K2 ] ; then&lt;br /&gt;
    MAP=fes2002.K2&lt;br /&gt;
  fi&lt;br /&gt;
  echo &amp;quot;[$MAP]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  v.what.rast vect=adcirc_grid_open_bdy_nodes \&lt;br /&gt;
    rast=$MAP.amplitude -pi --q | sort -n &amp;gt; $MAP.ampl.prn&lt;br /&gt;
&lt;br /&gt;
  v.what.rast vect=adcirc_grid_open_bdy_nodes \&lt;br /&gt;
    rast=$MAP.phase -p --q | sort -n &amp;gt;  $MAP.phase_raw.prn&lt;br /&gt;
  v.what.rast vect=adcirc_grid_open_bdy_nodes \&lt;br /&gt;
    rast=$MAP.phase.u -pi --q | sort -n &amp;gt;  $MAP.phase.u.prn&lt;br /&gt;
  v.what.rast vect=adcirc_grid_open_bdy_nodes \&lt;br /&gt;
    rast=$MAP.phase.v -pi --q | sort -n &amp;gt;  $MAP.phase.v.prn&lt;br /&gt;
&lt;br /&gt;
  echo &amp;quot;% $const: grid open boundary nodes&amp;quot; &amp;gt; $MAP.tidal.prn&lt;br /&gt;
  echo &amp;quot;% node ampl phase phase.u phase.v&amp;quot; &amp;gt;&amp;gt; $MAP.tidal.prn&lt;br /&gt;
  paste -d'|' $MAP.ampl.prn $MAP.phase_raw.prn \&lt;br /&gt;
      $MAP.phase.u.prn $MAP.phase.v.prn | \&lt;br /&gt;
    cut -f1,2,4,6,8 -d'|' | \&lt;br /&gt;
    tr '|' '\t' &amp;gt;&amp;gt; $MAP.tidal.prn&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
# check for nulls in the source data.&lt;br /&gt;
# Manually replace with values from nearby raster cells using d.what.rast&lt;br /&gt;
grep '*' *.tidal.prn&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then, in Matlab or Octave:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;matlab&amp;quot;&amp;gt;&lt;br /&gt;
M2 = load('fes2004.M2.tidal.prn');&lt;br /&gt;
N2 = load('fes2004.N2.tidal.prn');&lt;br /&gt;
S2 = load('fes2004.S2.tidal.prn');&lt;br /&gt;
K1 = load('fes2004.K1.tidal.prn');&lt;br /&gt;
O1 = load('fes2004.O1.tidal.prn');&lt;br /&gt;
K2 = load('fes2002.K2.tidal.prn');&lt;br /&gt;
P1 = load('fes2004.P1.tidal.prn');&lt;br /&gt;
Q1 = load('fes2004.Q1.tidal.prn');&lt;br /&gt;
&lt;br /&gt;
c2N2 = load('fes2004.2N2.tidal.prn');&lt;br /&gt;
M4 = load('fes2004.M4.tidal.prn');&lt;br /&gt;
&lt;br /&gt;
% compare nearest neighbor phase angle vs. interpolated phase angle reconstructed from components&lt;br /&gt;
[M2(:,3)  cart2pol(M2(:,4), M2(:,5)) * 180/pi]&lt;br /&gt;
&lt;br /&gt;
delta = M2(:,3) - (cart2pol(M2(:,4), M2(:,5)) * 180/pi);&lt;br /&gt;
[M2(:,1) delta]&lt;br /&gt;
plot(M2(:,1), delta), grid on&lt;br /&gt;
xlabel('boundary node')&lt;br /&gt;
ylabel('degrees')&lt;br /&gt;
&lt;br /&gt;
[M2(:,1) M2(:,3) (cart2pol(M2(:,4), M2(:,5)) * 180/pi) delta]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
%%%&lt;br /&gt;
constits={ 'M2' 'N2' 'S2' 'K1' 'O1' 'P1' 'K2' 'c2N2' 'Q1' 'M4' }&lt;br /&gt;
&lt;br /&gt;
fid = fopen('grid_constits.prn', 'w')&lt;br /&gt;
&lt;br /&gt;
for i = 1: length(constits)&lt;br /&gt;
  const = char(constits(i));&lt;br /&gt;
  eval(['data = ' const ';'])&lt;br /&gt;
  new_phase = cart2pol(data(:,4), data(:,5)) * 180/pi;&lt;br /&gt;
  for j = 1:length(new_phase)&lt;br /&gt;
    if (new_phase(j) &amp;lt; 0)&lt;br /&gt;
      new_phase(j) = new_phase(j) + 360;&lt;br /&gt;
    end&lt;br /&gt;
  end&lt;br /&gt;
  fprintf(fid, ' %s\n', const);&lt;br /&gt;
  for j = 1:length(new_phase)&lt;br /&gt;
    fprintf(fid, '   %8.6f  %9.5f\n', data(j,2), new_phase(j));&lt;br /&gt;
  end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
fclose(fid)&lt;br /&gt;
&lt;br /&gt;
% then manually fix c2N2 -&amp;gt; 2N2&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Post processing output data ===&lt;br /&gt;
&lt;br /&gt;
==== Importing the fort.14 mesh grid ====&lt;br /&gt;
&lt;br /&gt;
The {{AddonCmd|v.in.adcirc_grid}} addon module for GRASS 6 will import a 2.5D triangular mesh from the [[ADCIRC]] coastal ocean model into a 3D GRASS vector map.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;v.in.adcirc_grid&amp;lt;/tt&amp;gt; does not yet support loading in node type (boundary, etc.) as point attributes -- database tables can be a bit slow for maps with potentially millions of features. In the mean time here is a little shell script to extract the boundary nodes on the ''first'' open boundary into a separate vector points map:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 infile=fort.14&lt;br /&gt;
 inmap=mesh_grid_pts&lt;br /&gt;
 bdymap=mesh_bdy_pts&lt;br /&gt;
 &lt;br /&gt;
 v.in.adcirc_grid -p in=$infile out=$inmap&lt;br /&gt;
 num_pts=`grep ' = Number of nodes for open boundary' &amp;quot;$infile&amp;quot; | head -n 1 | awk '{print $1}'`&lt;br /&gt;
 cat_list=`grep -A&amp;quot;$num_pts&amp;quot; ' = Number of nodes for open boundary' &amp;quot;$infile&amp;quot; | \&lt;br /&gt;
    tail -n +2 | tr '\n' ',' | sed -e 's/ //g' -e 's/,$//'`&lt;br /&gt;
 v.extract in=$inmap out=$bdymap list=&amp;quot;$cat_list&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Importing elevation or velocity reporting stations ====&lt;br /&gt;
&lt;br /&gt;
With a little awk you can load in the elevation reporting stations for unit 61 with v.in.ascii.&lt;br /&gt;
: example goes here&lt;br /&gt;
&lt;br /&gt;
==== Visualizing sub-domains ====&lt;br /&gt;
&lt;br /&gt;
If you wish to have a look at where the sub-domains of a parallel run are, you can use the following Bash script:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
mkdir fort14s&lt;br /&gt;
for DIR in PE00?? ; do&lt;br /&gt;
   cp -a $DIR/fort.14 fort14s/${DIR}.14&lt;br /&gt;
done&lt;br /&gt;
 &lt;br /&gt;
cd fort14s&lt;br /&gt;
for file in *.14 ; do&lt;br /&gt;
   base=`echo &amp;quot;$file&amp;quot; | sed -e 's/PE00//' -e 's/\.14//'`&lt;br /&gt;
   echo -n &amp;quot;[$base]&amp;quot;&lt;br /&gt;
   v.in.adcirc_grid in=&amp;quot;$file&amp;quot; out=&amp;quot;submesh_$base&amp;quot; --quiet&lt;br /&gt;
   v.in.adcirc_grid -p in=&amp;quot;$file&amp;quot; out=&amp;quot;submesh_${base}_pts&amp;quot; --quiet&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here is a loop for displaying 80 sub-meshes, with random dark colors:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
for PE in {00..79} ; do&lt;br /&gt;
  echo -n &amp;quot;[$PE]&amp;quot;&lt;br /&gt;
  R=`expr $RANDOM / 256`&lt;br /&gt;
  G=`expr $RANDOM / 256`&lt;br /&gt;
  B=`expr $RANDOM / 256`&lt;br /&gt;
&lt;br /&gt;
  d.vect &amp;quot;submesh_$PE&amp;quot; color=&amp;quot;$R:$G:$B&amp;quot;&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
d.vect US_medium_shoreline color=black width=2&lt;br /&gt;
&lt;br /&gt;
d.vect station_map color=black fcolor=red size=8 icon=basic/circle&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Importing unit 61, 62, 63, 64 results ====&lt;br /&gt;
&lt;br /&gt;
- addme: bash code + r.in.xyz + {{AddonCmd|r.surf.nnbathy}}&lt;br /&gt;
&lt;br /&gt;
{{AddonCmd|d.barb}} addon module for GRASS 6 for rendering u,v vector arrows&lt;br /&gt;
&lt;br /&gt;
[[Category: Geodata]]&lt;br /&gt;
[[Category: Import]]&lt;/div&gt;</summary>
		<author><name>⚠️HamishBowman</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=ADCIRC&amp;diff=25870</id>
		<title>ADCIRC</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=ADCIRC&amp;diff=25870"/>
		<updated>2019-07-27T01:31:48Z</updated>

		<summary type="html">&lt;p&gt;⚠️HamishBowman: /* Boundary node attribute preparation */ +TPXO link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Interfacing with the [http://adcirc.org ADCIRC] coastal ocean model ==&lt;br /&gt;
&lt;br /&gt;
=== Grid preparation ===&lt;br /&gt;
&lt;br /&gt;
==== OceanMesh2D ====&lt;br /&gt;
&lt;br /&gt;
[https://github.com/CHLNDDEV/OceanMesh2D OceanMesh2D] is an open source (GPL3) generator of 2D [[Triangle_Mesh|triangular meshes]] suitable for use with ADCIRC.&lt;br /&gt;
It likes to work in lat/lon coordinate system.&lt;br /&gt;
&lt;br /&gt;
You can output your DEM as NetCDF format with r.out.gdal.&lt;br /&gt;
&lt;br /&gt;
You can create a domain boundary polyline with r.contour. You can then output the domain boundary polyline either as Shapefiles with v.out.ogr, or as two column x,y ASCII data with the {{AddonCmd|v.out.ascii.mat}} addon module for GRASS 6.&lt;br /&gt;
&lt;br /&gt;
==== Boundary node attribute preparation ====&lt;br /&gt;
&lt;br /&gt;
You can extract the tidal forcing factor amplitude and phase for boundary nodes needed in the fort.15 setup file from raster maps already loaded into GRASS. In the following example the [https://www.aviso.altimetry.fr/en/data/products/auxiliary-products/global-tide-fes/description-fes2004.html FES2004] dataset is used. (FES2002 for the K2 constituent as K2 is reputed to be broken in the 2004 edition)&lt;br /&gt;
: ''See also the [http://volkov.oce.orst.edu/tides/global.html TPXO NetCDF global tide dataset] from OSU.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Import FES tidal database data:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# import and split phase into components&lt;br /&gt;
r.in.gdal in=NETCDF:&amp;quot;tide.fes2004.nc&amp;quot;:spectrum out=fes2004.spectrum -ol&lt;br /&gt;
&lt;br /&gt;
MAPS=`g.mlist rast patt=&amp;quot;fes2004*&amp;quot; | sort -n -k 3 -t .`&lt;br /&gt;
for MAP in $MAPS ; do&lt;br /&gt;
    echo &amp;quot;[$MAP]&amp;quot;&lt;br /&gt;
    r.region $MAP s=-90 w=-180&lt;br /&gt;
    eval `r.info -s $MAP`&lt;br /&gt;
    g.region rast=$MAP&lt;br /&gt;
    g.region n=n-$nsres s=s+$nsres w=w+$ewres&lt;br /&gt;
    r.mapcalc &amp;quot;$MAP.crop = $MAP&amp;quot;&lt;br /&gt;
    r.region $MAP.crop n=89.9375 s=-89.9375 w=0.0625 e=360.0625&lt;br /&gt;
    g.region rast=$MAP.crop&lt;br /&gt;
    g.remove $MAP&lt;br /&gt;
    g.rename $MAP.crop,$MAP.fixed&lt;br /&gt;
    echo&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
spectrum=&amp;quot;2N2 K1 K2 M2 M4 Mf Mm Msqm Mtm N2 O1 P1 Q1 S2&amp;quot;&lt;br /&gt;
for i in `seq 1 14` ; do&lt;br /&gt;
    constit=`echo &amp;quot;$spectrum&amp;quot; | tr ' ' '\n' | head -n $i | tail -n 1`&lt;br /&gt;
    g.rename fes2004.Ha.$i.fixed,fes2004.$constit.amplitude&lt;br /&gt;
    g.rename fes2004.Hg.$i.fixed,fes2004.$constit.phase&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
g.rename fes2004.K2.amplitude,fes2004.K2.amplitude.bad&lt;br /&gt;
g.rename fes2004.K2.phase,fes2004.K2.phase.bad&lt;br /&gt;
&lt;br /&gt;
for map in `g.mlist rast patt=&amp;quot;*.phase&amp;quot; | grep -v bad` ; do&lt;br /&gt;
    r.mapcalc &amp;lt;&amp;lt; EOF&lt;br /&gt;
     $map.u = 1 * cos($map)&lt;br /&gt;
     $map.v = 1 * sin($map)&lt;br /&gt;
EOF&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Extract amplitude and phase at open boundary nodes:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
constits=&amp;quot;M2  N2  S2  K1  O1  P1  K2  2N2  Q1  M4&amp;quot;&lt;br /&gt;
&lt;br /&gt;
for const in $constits ; do&lt;br /&gt;
  MAP=fes2004.$const&lt;br /&gt;
  if [ $const = K2 ] ; then&lt;br /&gt;
    MAP=fes2002.K2&lt;br /&gt;
  fi&lt;br /&gt;
  echo &amp;quot;[$MAP]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  v.what.rast vect=adcirc_grid_open_bdy_nodes \&lt;br /&gt;
    rast=$MAP.amplitude -pi --q | sort -n &amp;gt; $MAP.ampl.prn&lt;br /&gt;
&lt;br /&gt;
  v.what.rast vect=adcirc_grid_open_bdy_nodes \&lt;br /&gt;
    rast=$MAP.phase -p --q | sort -n &amp;gt;  $MAP.phase_raw.prn&lt;br /&gt;
  v.what.rast vect=adcirc_grid_open_bdy_nodes \&lt;br /&gt;
    rast=$MAP.phase.u -pi --q | sort -n &amp;gt;  $MAP.phase.u.prn&lt;br /&gt;
  v.what.rast vect=adcirc_grid_open_bdy_nodes \&lt;br /&gt;
    rast=$MAP.phase.v -pi --q | sort -n &amp;gt;  $MAP.phase.v.prn&lt;br /&gt;
&lt;br /&gt;
  echo &amp;quot;% $const: grid open boundary nodes&amp;quot; &amp;gt; $MAP.tidal.prn&lt;br /&gt;
  echo &amp;quot;% node ampl phase phase.u phase.v&amp;quot; &amp;gt;&amp;gt; $MAP.tidal.prn&lt;br /&gt;
  paste -d'|' $MAP.ampl.prn $MAP.phase_raw.prn \&lt;br /&gt;
      $MAP.phase.u.prn $MAP.phase.v.prn | \&lt;br /&gt;
    cut -f1,2,4,6,8 -d'|' | \&lt;br /&gt;
    tr '|' '\t' &amp;gt;&amp;gt; $MAP.tidal.prn&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
# check for nulls in the source data.&lt;br /&gt;
# Manually replace with values from nearby raster cells using d.what.rast&lt;br /&gt;
grep '*' *.tidal.prn&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then, in Matlab or Octave:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;matlab&amp;quot;&amp;gt;&lt;br /&gt;
M2 = load('fes2004.M2.tidal.prn');&lt;br /&gt;
N2 = load('fes2004.N2.tidal.prn');&lt;br /&gt;
S2 = load('fes2004.S2.tidal.prn');&lt;br /&gt;
K1 = load('fes2004.K1.tidal.prn');&lt;br /&gt;
O1 = load('fes2004.O1.tidal.prn');&lt;br /&gt;
K2 = load('fes2002.K2.tidal.prn');&lt;br /&gt;
P1 = load('fes2004.P1.tidal.prn');&lt;br /&gt;
Q1 = load('fes2004.Q1.tidal.prn');&lt;br /&gt;
&lt;br /&gt;
c2N2 = load('fes2004.2N2.tidal.prn');&lt;br /&gt;
M4 = load('fes2004.M4.tidal.prn');&lt;br /&gt;
&lt;br /&gt;
% compare nearest neighbor phase angle vs. interpolated phase angle reconstructed from components&lt;br /&gt;
[M2(:,3)  cart2pol(M2(:,4), M2(:,5)) * 180/pi]&lt;br /&gt;
&lt;br /&gt;
delta = M2(:,3) - (cart2pol(M2(:,4), M2(:,5)) * 180/pi);&lt;br /&gt;
[M2(:,1) delta]&lt;br /&gt;
plot(M2(:,1), delta), grid on&lt;br /&gt;
xlabel('boundary node')&lt;br /&gt;
ylabel('degrees')&lt;br /&gt;
&lt;br /&gt;
[M2(:,1) M2(:,3) (cart2pol(M2(:,4), M2(:,5)) * 180/pi) delta]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
%%%&lt;br /&gt;
constits={ 'M2' 'N2' 'S2' 'K1' 'O1' 'P1' 'K2' 'c2N2' 'Q1' 'M4' }&lt;br /&gt;
&lt;br /&gt;
fid = fopen('grid_constits.prn', 'w')&lt;br /&gt;
&lt;br /&gt;
for i = 1: length(constits)&lt;br /&gt;
  const = char(constits(i));&lt;br /&gt;
  eval(['data = ' const ';'])&lt;br /&gt;
  new_phase = cart2pol(data(:,4), data(:,5)) * 180/pi;&lt;br /&gt;
  for j = 1:length(new_phase)&lt;br /&gt;
    if (new_phase(j) &amp;lt; 0)&lt;br /&gt;
      new_phase(j) = new_phase(j) + 360;&lt;br /&gt;
    end&lt;br /&gt;
  end&lt;br /&gt;
  fprintf(fid, ' %s\n', const);&lt;br /&gt;
  for j = 1:length(new_phase)&lt;br /&gt;
    fprintf(fid, '   %8.6f  %9.5f\n', data(j,2), new_phase(j));&lt;br /&gt;
  end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
fclose(fid)&lt;br /&gt;
&lt;br /&gt;
% then manually fix c2N2 -&amp;gt; 2N2&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Post processing output data ===&lt;br /&gt;
&lt;br /&gt;
==== Importing the fort.14 mesh grid ====&lt;br /&gt;
&lt;br /&gt;
The {{AddonCmd|v.in.adcirc_grid}} addon module for GRASS 6 will import a 2.5D triangular mesh from the [[ADCIRC]] coastal ocean model into a 3D GRASS vector map.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;v.in.adcirc_grid&amp;lt;/tt&amp;gt; does not yet support loading in node type (boundary, etc.) as point attributes -- database tables can be a bit slow for maps with potentially millions of features. In the mean time here is a little shell script to extract the boundary nodes on the ''first'' open boundary into a separate vector points map:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 infile=fort.14&lt;br /&gt;
 inmap=mesh_grid_pts&lt;br /&gt;
 bdymap=mesh_bdy_pts&lt;br /&gt;
 &lt;br /&gt;
 v.in.adcirc_grid -p in=$infile out=$inmap&lt;br /&gt;
 num_pts=`grep ' = Number of nodes for open boundary' &amp;quot;$infile&amp;quot; | head -n 1 | awk '{print $1}'`&lt;br /&gt;
 cat_list=`grep -A&amp;quot;$num_pts&amp;quot; ' = Number of nodes for open boundary' &amp;quot;$infile&amp;quot; | \&lt;br /&gt;
    tail -n +2 | tr '\n' ',' | sed -e 's/ //g' -e 's/,$//'`&lt;br /&gt;
 v.extract in=$inmap out=$bdymap list=&amp;quot;$cat_list&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Importing elevation or velocity reporting stations ====&lt;br /&gt;
&lt;br /&gt;
With a little awk you can load in the elevation reporting stations for unit 61 with v.in.ascii.&lt;br /&gt;
: example goes here&lt;br /&gt;
&lt;br /&gt;
==== Visualizing sub-domains ====&lt;br /&gt;
&lt;br /&gt;
If you wish to have a look at where the sub-domains of a parallel run are, you can use the following Bash script:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
mkdir fort14s&lt;br /&gt;
for DIR in PE00?? ; do&lt;br /&gt;
   cp -a $DIR/fort.14 fort14s/${DIR}.14&lt;br /&gt;
done&lt;br /&gt;
 &lt;br /&gt;
cd fort14s&lt;br /&gt;
for file in *.14 ; do&lt;br /&gt;
   base=`echo &amp;quot;$file&amp;quot; | sed -e 's/PE00//' -e 's/\.14//'`&lt;br /&gt;
   echo -n &amp;quot;[$base]&amp;quot;&lt;br /&gt;
   v.in.adcirc_grid in=&amp;quot;$file&amp;quot; out=&amp;quot;submesh_$base&amp;quot; --quiet&lt;br /&gt;
   v.in.adcirc_grid -p in=&amp;quot;$file&amp;quot; out=&amp;quot;submesh_${base}_pts&amp;quot; --quiet&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here is a loop for displaying 80 sub-meshes, with random dark colors:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
for PE in {00..79} ; do&lt;br /&gt;
  echo -n &amp;quot;[$PE]&amp;quot;&lt;br /&gt;
  R=`expr $RANDOM / 256`&lt;br /&gt;
  G=`expr $RANDOM / 256`&lt;br /&gt;
  B=`expr $RANDOM / 256`&lt;br /&gt;
&lt;br /&gt;
  d.vect &amp;quot;submesh_$PE&amp;quot; color=&amp;quot;$R:$G:$B&amp;quot;&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
d.vect US_medium_shoreline color=black width=2&lt;br /&gt;
&lt;br /&gt;
d.vect station_map color=black fcolor=red size=8 icon=basic/circle&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Importing unit 61, 62, 63, 64 results ====&lt;br /&gt;
&lt;br /&gt;
- addme: bash code + r.in.xyz + {{AddonCmd|r.surf.nnbathy}}&lt;br /&gt;
&lt;br /&gt;
{{AddonCmd|d.barb}} addon module for GRASS 6 for rendering u,v vector arrows&lt;/div&gt;</summary>
		<author><name>⚠️HamishBowman</name></author>
	</entry>
</feed>