Aggregating Soil Survey Information: Available Water Holding Capacity

Submitted by dylan on Sat, 2009-01-31 23:53.

4km Grid of AWC: generated using PostGIS/GRASS, based on USDA-NCSS SSURGO data.4km Grid of AWC: generated using PostGIS/GRASS, based on USDA-NCSS SSURGO data.

Horizon thickness-weighted mean AWC (available water holding capacity), aggregated to a 4km grid, based on the detailed (SSURGO) soil survey database. Each grid cell is the component percentage / area fraction weighted mean of profile AWC. The variation in AWC tracks several important parent material induced patterns: with lower AWC in residual soils formed on steep granitic terrain (south flank of Sierra Nevada), and higher AWC in residual soils formed on the gentler slopes of meta-volcanic and meta-sedimentary terrain (central and northern flanks of Sierra Nevada). The higher AWC values one the east side of the San Joaquin Valley correspond with the characteristically finer soils formed from coast range alluvium. High AWC values of the Sacramento Valley correspond with the fine textured soils derived from a mixture of coast range alluvium, and meta-volcanic/sedimentary alluvium from the Sierra Nevada.

Maps of soil properties aggregated to this scale can serve an important role in near-surface, climate, or global circulation models. Since these data are ultimately derived from more detailed information, aggregated values should be more representative than a smaller (geographic) scale generalization such as STATSGO. These type of maps can be generated with a single query within a spatially-enabled database (PostGIS), loaded with multiple surveys from the SSURGO dataset. More examples here, and some sample SQL code below.

I wonder how this map would compare to a similar 0.5 degree res. map?

 
Example Code

CREATE TABLE grid_awc AS
SELECT id, sum(ST_Area(wkb_geometry) * mu_wt_mean_awc) / sum(ST_Area(wkb_geometry)) AS wt_mean_awc, sum(ST_Area(wkb_geometry) * mu_wt_mean_soil_depth) / sum(ST_Area(wkb_geometry)) AS wt_mean_soil_depth
FROM
grid_mapunit
JOIN
        (
       
        -- component pct weighted mean of AWC and soil depth
        SELECT mukey, sum(comppct_r * hz_wt_mean_awc) / sum(comppct_r) AS mu_wt_mean_awc, sum(comppct_r * soil_depth) / sum(comppct_r) AS mu_wt_mean_soil_depth
        FROM
        component
        JOIN
                (
                --      hz-thickness weighted AWC fraction and total soil depth
                SELECT cokey, sum((hzdepb_r - hzdept_r) * awc_r) / sum(hzdepb_r - hzdept_r) AS hz_wt_mean_awc, sum(hzdepb_r - hzdept_r) AS soil_depth
                FROM chorizon
                WHERE awc_r IS NOT NULL AND awc_r != 0
                GROUP BY cokey
                ) AS hz_data
        ON component.cokey = hz_data.cokey
        GROUP BY mukey
        ) AS mu_data
ON grid_mapunit.mukey = mu_data.mukey
GROUP BY id
ORDER BY id ASC;

( categories: )

Reply

The content of this field is kept private and will not be shown publicly.
  • Allowed HTML tags: <div> <img> <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.

More information about formatting options

CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.
Image CAPTCHA
Copy the characters (respecting upper/lower case) from the image.