Soils Spatial netCDF File


A soils spatial netCDF file contains a collection of soil profiles expressed in same terms as site parameters, in which each soil is identified by latitude, longitude and ID number. This netCDF file can be produced when you use the CopySoil utility.

This soils netCDF file uses the netCDF version 4 data types, and variables are compressed. The format of the file is:

netcdf soils {
    dimensions:
        record = UNLIMITED ; // (1 currently)
        layer = 10 ;

    variables:
        float lat(record) ;
            lat:long_name = "latitude of center of cell" ;
            lat:standard_name = "latitude" ;
            lat:units = "degrees_north" ;
            lat:valid_min = -90.f ;
            lat:valid_max = 90.f ;
        float lon(record) ;
            lon:long_name = "longitude of center of cell" ;
            lon:standard_name = "longitude" ;
            lon:units = "degrees_east" ;
            lon:valid_min = -180.f ;
            lon:valid_max = 180.f ;
        uint id(record) ;
            id:long_name = "soil profile identifier" ;
            id:_FillValue = 4294967295U ;
        byte nlayer(record) ;
            nlayer:long_name = "number of soil layers" ;
            nlayer:_FillValue = 0b ;
            nlayer:units = "count" ;
            nlayer:valid_min = 1b ;
            nlayer:valid_max = 10b ;
        byte rootDepthGrass(record) ;
            rootDepthGrass:long_name = "Number of soil layers for root uptake for grasses" ;
            rootDepthGrass:_FillValue = 0b ;
            rootDepthGrass:units = "count" ;
            rootDepthGrass:valid_min = 1b ;
            rootDepthGrass:valid_max = 10b ;
        byte rootDepthTree(record) ;
            rootDepthTree:long_name = "Number of soil layers for root uptake for trees" ;
            rootDepthTree:_FillValue = 0b ;
            rootDepthTree:units = "count" ;
            rootDepthTree:valid_min = 1b ;
            rootDepthTree:valid_max = 10b ;
        float thick(record, layer) ;
            thick:long_name = "thickness of soil layer" ;
            thick:standard_name = "thickness_of_soil_layer" ;
            thick:_FillValue = -1.f ;
            thick:units = "cm" ;
            thick:valid_min = 0.f ;
            thick:valid_max = 100.f ;
        float clay(record, layer) ;
            clay:long_name = "fraction of clay in soil layer" ;
            clay:standard_name = "mass_fraction_of_clay_in_soil" ;
            clay:_FillValue = -1.f ;
            clay:units = "mass_fraction" ;
            clay:valid_min = 0.f ;
            clay:valid_max = 1.f ;
        float silt(record, layer) ;
            silt:long_name = "fraction of silt in soil layer" ;
            silt:standard_name = "mass_fraction_of_silt_in_soil" ;
            silt:_FillValue = -1.f ;
            silt:units = "mass_fraction" ;
            silt:valid_min = 0.f ;
            silt:valid_max = 1.f ;
        float sand(record, layer) ;
            sand:long_name = "fraction of sand in soil layer" ;
            sand:standard_name = "mass_fraction_of_sand_in_soil" ;
            sand:_FillValue = -1.f ;
            sand:units = "mass_fraction" ;
            sand:valid_min = 0.f ;
            sand:valid_max = 1.f ;
        float bulkd(record, layer) ;
            bulkd:long_name = "bulk density of soil layer" ;
            bulkd:standard_name = "bulk_density_of_soil_layer" ;
            bulkd:_FillValue = -1.f ;
            bulkd:units = "g cm-3" ;
            bulkd:valid_min = 0.1f ;
            bulkd:valid_max = 2.65f ;
        float gravel(record) ;
            gravel:long_name = "gravel fraction of soil layer" ;
            gravel:standard_name = "gravel_fraction_of_soil_layer" ;
            gravel:_FillValue = -1.f ;
            gravel:units = "volume_fraction" ;
            gravel:valid_min = 0.f ;
            gravel:valid_max = 1.f ;
        float awilt(record, layer) ;
            awilt:long_name = "wilting point of soil layer" ;
            awilt:standard_name = "moisture_content_of_soil_layer_at_wilting_point" ;
            awilt:_FillValue = -1.f ;
            awilt:units = "cm H2O cm-1 soil" ;
            awilt:valid_min = 0.f ;
            awilt:valid_max = 1.f ;
        float afiel(record, layer) ;
            afiel:long_name = "field capacity of soil layer" ;
            afiel:standard_name = "moisture_content_of_soil_layer_at_field_capacity" ;
            afiel:_FillValue = -1.f ;
            afiel:units = "cm H2O cm-1 soil" ;
            afiel:valid_min = 0.f ;
            afiel:valid_max = 1.f ;
        float orgC(record, layer) ;
            orgC:long_name = "Organic C content of soil layer" ;
            orgC:standard_name = "SOC" ;
            orgC:_FillValue = -1.f ;
            orgC:units = "gC m-2" ;
            orgC:valid_min = 0.f ;
            orgC:valid_max = 99999.f ;
        float pH(record, layer) ;
            pH:long_name = "pH of soil layer" ;
            pH:standard_name = "pH" ;
            pH:_FillValue = -1.f ;
            pH:units = "" ;
            pH:valid_min = 0.f ;
            pH:valid_max = 14.f ;
        string horizon(record, layer) ;
            horizon:long_name = "soil horizon name" ;
            horizon:_Encoding = "ASCII" ;

    // global attributes:
        :FileType = 23b ;
        :title = "Century5 soil gridded data" ;
        :institution = " " ;
        :contact = " " ;
        :copyright = " " ;
        :conventions = "CF-1.0" ;
        :references = " " ;
        :source = " " ;
        :comment = " " ;
        string :history = "" ;

    data:

}

See Also

site.100 file
Site netCDF file
Site Parameters
Utilities