diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml new file mode 100644 index 0000000..e054371 --- /dev/null +++ b/.github/workflows/publish.yml @@ -0,0 +1,25 @@ +on: + workflow_dispatch: + push: + branches: main + +name: Quarto Publish + +jobs: + build-deploy: + runs-on: ubuntu-latest + permissions: + contents: write + steps: + - name: Check out repository + uses: actions/checkout@v4 + + - name: Set up Quarto + uses: quarto-dev/quarto-actions/setup@v2 + + - name: Render and Publish + uses: quarto-dev/quarto-actions/publish@v2 + with: + target: gh-pages + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file diff --git a/_freeze/annex-01-field-guide/execute-results/html.json b/_freeze/annex-01-field-guide/execute-results/html.json new file mode 100644 index 0000000..aa348f0 --- /dev/null +++ b/_freeze/annex-01-field-guide/execute-results/html.json @@ -0,0 +1,15 @@ +{ + "hash": "2e8e7b706acaae45be678621d3f2832b", + "result": { + "engine": "knitr", + "markdown": "# Annex 1: Field Guide {#sec-a1}\n\n\n::: {.cell layout-align=\"center\"}\n\n:::\n\n\nThis field guide helps describe soils. It provides all field characteristics needed for WRB classification and some other general field characteristics. This field guide is not supposed to be a comprehensive manual. People using this guide must have basic knowledge in soil science and experience in the field. In many soils, some of the listed characteristics are not present. Every characteristic must be reported in the soil description sheet (Annex 4, [Chapter 11](annex-04-soil-description-sheet.qmd)) using the provided codes.\n\nThe field guide consists of six consecutive parts:\n\n1. Preparation work and general rules\n2. General data and description of soil-forming factors\n3. Description of surface characteristics\n4. Description of layers\n5. Sampling\n6. References\n\n![Ideal soil scientists](images/figure_8-1.png){#fig-a1-81}\n\n## Preparation work and general rules {#sec-a1-81}\n\n### Exploration of an area of interest with auger and spade {#sec-a1-811}\n\nSelect your area of interest and give it a distinct name, e.g., Gombori Pass. Then select a location. For further exploration, use a Pürckhauer or an Edelman auger. If using a Pürckhauer auger, drive it into the soil vertically with a plastic hammer. Occasionally, turn the auger with the help of the turning bar, especially in clay-rich soils. If the auger hits a rock or big stone, take it out. You may try again a small distance apart but be careful not to damage the auger. Drive the auger in to a depth of 1 m if possible. If not, note the actual depth that was reached. To take it out, turn it while pulling.\n\nNow place the auger onto the ground. Cut the protruding soil material with a knife and remove it to the side. Avoid contaminating one layer with the removed material from another. Be aware that compaction inside the auger may have occurred; the layer depths may therefore not be accurate. Place a folding ruler aside the auger according to the actually reached depth (@fig-a1-82).\n\nIn most cases, the topsoil falls out of the auger. To investigate it in more detail, always make a mini-profile close to where the auger was driven in. It should be at least 25 cm deep and wide, and the profile walls should be vertical and smooth. Now place a folding ruler inside the profile in such a way that point 0 is at the soil surface (see [Chapter 8.3.1](#fig-a1-831)). For later reconstruction, it may help to take a picture of the mini-profile (@fig-a1-83).\n\nThe characteristics that can be described from the soil material in the auger are marked with an asterisk (\\*) in [Chapter 8.4](#sec-a1-84).\n\n::: {layout-ncol=\"2\"}\n![Pürckhauer auger profile](images/figure_8-2.png){#fig-a1-82 width=\"156\"}\n\n![Mini-profile](images/figure_8-3.png){#fig-a1-83}\n:::\n\n### Preparation of a soil profile {#sec-a1-812}\n\nThe soil profile should be at least 1 m deep or reach the parent material. On a slope, unless the parent material starts at smaller depth, the profile depth (@fig-a1-84) should be 1 m / cos(α). For the decision if the thickness and depth criteria of the WRB are fulfilled and when calculating element stocks [@prietzel2019] the layer thickness perpendicular to the slope is needed. This is calculated multiplying the vertical thickness by cos(α).\n\n![Correct profile depth when terrain is inclined](images/figure_8-4.png){#fig-a1-84}\n\nThe profile should be 1 m wide. If on a slope, the profile wall must be parallel to the contour lines. The material should be piled up to the left and/or right side of the profile and must not be placed on top side of the profile (the side of the profile wall). Never walk or place tools on the side of the profile wall. It is recommended to collect the soil material on two tarps, topsoil and subsoil separately. When refilling the soil profile later, you should first fill in the subsoil and then the topsoil.\n\n::: {grid}\n::: {grid-col-4}\n![Ideal soil profile. Always take the photo perpendicular to the profile wall](images/figure_8-5.png){#fig-a1-85}\n:::\n\n::: {grid-col-8}\nCarefully prepare the profile wall: it must be strictly vertical and smooth. Roots should be cut directly at the profile wall. Use an appropriate tool to clean the profile wall horizontally and avoid vertical smearing. Place the measuring tape in such a way that point 0 is at the soil surface (see [Chapter 8.3.1](#fig-a1-831)). It should be at one side but not touch the side walls. It must be strictly vertical and plane. It may help to weight the bottom end of the tape with a stone or stick. Take a photo. Hold the camera perpendicularly to the profile wall (@fig-a1-85). Avoid any inclination. Also take at least one picture of the surrounding terrain and vegetation (@fig-a1-86), e.g., the tree canopy. Make sure you will be able to associate profile and photo later. If possible, save and name the pictures the same day they are taken.\n\nIf you describe a soil profile that has been dug some time ago, the topsoil may be disturbed. To describe the humus forms, you need a fresh miniprofile nearby the soil profile.\n:::\n:::\n\n![The setting of the profile in the landscape](images/figure_8-6.png){#fig-a1-86}\n\n## General data and description of soil-forming factors {#sec-a1-82}\n\nThis Chapter refers to some general data and to the soil-forming factors climate, landform and vegetation. Other soil-forming factors are described with the layer description.\n\n### Date and authors {#sec-a1-821}\n\nReport the date of description and the names of the describing authors.\n\n### Location {#sec-a1-822}\n\nGive the location a name and report it; e.g., *Gombori Pass 1*.\\\nReport the GPS coordinates.\\\nReport the altitude above sea level (a.s.l.); e.g., *106 m*.\n\n### Landform and topography {#sec-a1-823}\n\nThis Chapter refers to the large-scale topography. For local surface unevenness, see [Chapter 8.3.11](#sec-a1-8311).\n\n#### Gradient {#sec-a1-823-gr}\n\nReport the ground surface inclination with respect to the horizontal plane. If the profile lies on a flat surface, the gradient is 0%. If it lies on a slope, make 2 records, one upslope and one downslope; e.g., *upslope: 18%, downslope: 16%*.\n\n#### Slope aspect {#sec-a1-823-as}\n\nIf the profile lies on a slope, report the compass direction that the slope faces, viewed downslope; e.g., 225°.\n\n![Slope aspect, Schoeneberger et al. [-@schoeneberger2012], 1-5](images/figure_8-7.png){#fig-a1-87}\n\n#### Slope shape {#sec-a1-823-sh}\n\nIf the profile lies on a slope, report the slope shape in 2 directions: up-/downslope (perpendicular to the elevation contour, i.e. the vertical curvature) and across slope (along the elevation contour, i.e. the horizontal curvature); e.g., *Linear*, *Convex* or *Concave*.\n\n![Slope Shape, Schoeneberger et al. [-@schoeneberger2012], 1-6](images/figure_8-8.png){#fig-a1-88}\n\n#### Position of the soil profile (related to topography) {#sec-a1-823-tp}\n\nIf the profile lies in an uneven terrain, report the profile position.\n\n![Position of the profile, Schoeneberger et al. [-@schoeneberger2012], 1-7, modified (basin not included)](images/figure_8-9.png){#fig-a1-89}\n\n\n::: {#tbl-a181 .cell .no-stripe layout-align=\"center\" tbl-cap='Position of the profile, Schoeneberger et al. [-@schoeneberger2012], 1-7, modified'}\n::: {.cell-output-display}\n\n```{=html}\n
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n \n \n
PositionCode
SummitSU
ShoulderSH
BackslopeBS
FootslopeFS
ToeslopeTS
Valley bottomVB
Basin with outflowOB
Endorheic basinEB
\n
\n```\n\n:::\n:::\n\n\n### Climate and weather {#sec-a1-824}\n\n#### Climate {#sec-a1-824-cl}\n\nReport the climate according to Köppen [-@köppen1936] and the ecozones according to Schultz [-@schultz2005, adapted]. The term 'summer' refers to the season with high solar altitude and the term 'winter' to the season with low solar altitude.\n\n\n::: {#tbl-a182 .cell .no-stripe layout-align=\"center\" tbl-cap='Climate according to Köppen [-@köppen1936]'}\n::: {.cell-output-display}\n\n```{=html}\n
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n \n \n
ClimateCode
Tropical climatesA
Tropical rainforest climateAf
Tropical savannah climate with dry-winter characteristicsAw
Tropical savannah climate with dry-summer characteristicsAs
Tropical monsoon climateAm
Dry climatesB
Hot arid climateBWh
Cold arid climateBWc
Hot semi-arid climateBSh
Cold semi-arid climateBSc
Temperate climatesC
Mediterranean hot summer climateCsa
Mediterranean warm/cool summer climateCsb
Mediterranean cold summer climateCsc
Humid subtropical climateCfa
Oceanic climateCfb
Subpolar oceanic climateCfc
Dry-winter humid subtropical climateCwa
Dry-winter subtropical highland climateCwb
Dry-winter subpolar oceanic climateCwc
Continental climatesD
Hot-summer humid continental climateDfa
Warm-summer humid continental climateDfb
Subarctic climateDfc
Extremely cold subarctic climatDfd
Monsoon-influenced hot-summer humid continental climateDwa
Monsoon-influenced warm-summer humid continental climateDwb
Monsoon-influenced subarctic climateDwc
Monsoon-influenced extremely cold subarctic climateDwd
Mediterranean-influenced hot-summer humid continental climateDsa
Mediterranean-influenced warm-summer humid continental climateDsb
Mediterranean-influenced subarctic climateDsc
Mediterranean-influenced extremely cold subarctic climateDsd
Polar and alpine climatesE
Tundra climateET
Ice cap climateEF
\n
\n```\n\n:::\n:::\n\n::: {#tbl-a183 .cell .no-stripe layout-align=\"center\" tbl-cap='Ecozones according to Schultz [-@schultz2005, adapted]'}\n::: {.cell-output-display}\n\n```{=html}\n
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n \n \n
EcozoneCode
Tropics with year-round rainTYR
Tropics with summer rainTSR
Dry tropics and subtropicsTSD
Subtropics with year-round rainSYR
Subtropics with winter rain (Mediterranean climate)SWR
Humid mid-latitudesMHU
Dry mid-latitudesMDR
Boreal zoneBOR
Polar-subpolar zonePOS
\n
\n```\n\n:::\n:::\n\n\n#### Season of Description {#sec-a1-824-sn}\n\nReport the season of the description. Vegetation can best be described in the season of full vegetation development.\n\n\n::: {#tbl-a184 .cell .no-stripe layout-align=\"center\" tbl-cap='Season of description'}\n::: {.cell-output-display}\n\n```{=html}\n
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n \n \n
EcozoneSeasonCode
SYR, SWR, MHU, MDR, BOR, POSSpringSP

SummerSU

AutumnAU

WinterWI
TSRWet seasonWS

Dry seasonDS
TYR, TSDNo significant seasonality for plant growthNS
\n
\n```\n\n:::\n:::\n\n\n#### Weather conditions {#sec-a1-824-we}\n\nReport the current and past weather conditions.\n\n\n::: {#tbl-a185 .cell .no-stripe layout-align=\"center\" tbl-cap='Current weather conditions, Schoeneberger et al. [-@schoeneberger2012], 1-1'}\n::: {.cell-output-display}\n\n```{=html}\n
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n\n \n\n \n\n \n\n \n\n \n \n \n
Current weather conditionsCode
Sunny/clearSU
Partly cloudyPC
OvercastOV
RainRA
SleetSL
SnowSN
\n
\n```\n\n:::\n:::\n\n::: {#tbl-a186 .cell .no-stripe layout-align=\"center\" tbl-cap='Past weather conditions FAO [-@un-fao2006], Table 2'}\n::: {.cell-output-display}\n\n```{=html}\n
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n\n \n\n \n\n \n\n \n\n \n \n \n
Current weather conditionsCode
No rain in the last month NM
No rain in the last weekNW
No rain in the last 24 hoursND
Rain but no heavy rain in the last 24 hoursRD
Heavy rain for some days or excessive rain in the last 24 hoursRH
Extremely rainy or snow meltingRE
\n
\n```\n\n:::\n:::\n\n\n### Vegetation and land use {#sec-a1-825}\n\nThis Chapter refers to all kinds of plant cover from completely natural to completely human-made. It is not a vegetation survey, and only the really soil-relevant characteristics are reported. If the land is cultivated as cropland or grassland, the cultivation type is reported. In all other cases, the vegetation type is reported. Observe an area (10 m x 10 m, if possible) with the profile at its centre.\n\n#### Vegetation strata {#sec-a1-825-vs}\n\nThe following strata are relevant.\n\n\n::: {#tbl-a187 .cell .no-stripe layout-align=\"center\" tbl-cap='Vegetation strata, National Committee on Soil and Terrain [-@nationalcommitteeonsoilandterrain2009], 79, modified'}\n::: {.cell-output-display}\n\n```{=html}\n
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n\n \n\n\n \n\n\n \n \n \n
CriterionStratumCode
Ground vegetationGround stratumGS
If both ground stratum and upper stratum are present, you may define a midstratum between the upper stratum and the ground stratumMid-stratumMS
Tallest plants (only if crown cover ≥ 5%)Upper stratumND
\n
\n```\n\n:::\n:::\n\n\n#### Vegetation type or cultivation type {#sec-a1-825-vt}\n\nIf the land is not cultivated, report the vegetation type according to @tbl-a188, for each stratum separately; if more than one type occurs in the same stratum, report up to three, the dominant one first. If the land is cultivated, report the cultivation type according to @tbl-a189; cultivated land may show several strata, but they are not reported separately.\n\n\n::: {#tbl-a188 .cell .no-stripe layout-align=\"center\" tbl-cap='Vegetation strata, National Committee on Soil and Terrain [-@nationalcommitteeonsoilandterrain2009], 79, modified'}\n::: {.cell-output-display}\n\n```{=html}\n
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n \n \n
Life formVegetation typeCode
AquaticAlgae: fresh or brackishAF

Algae: marineAM

Higher aquatic plants (woody or non-woody)AH
Surface crustsBiological crust (of cyanobacteria, algae, fungi, lichens and/or mosses)CR
Terrestrial non-woody plantsFungiNF

LichensNL

Mosses (non-peat)NM

PeatNP

Grasses and/or herbsNG
Terrestrial woody plantsHeath or dwarf shrubsWH

Evergreen shrubsWG

Seasonally green shrubsWS

Evergreen trees (mainly not planted)WE

Seasonally green trees (mainly not planted)WT

Plantation forest, not in rotation with cropland or grasslandWP

Plantation forest, in rotation with cropland or grasslandWR
None (barren)Water, rock, or soil surface with < 0.5% vegetation coverNO
\n
\n```\n\n:::\n:::\n\n::: {#tbl-a189 .cell .no-stripe layout-align=\"center\" tbl-cap='Cultivation type'}\n::: {.cell-output-display}\n\n```{=html}\n
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n \n \n
Cultivation typeCode
Simultaneous agroforestry system with trees and perennial cropsACP
Simultaneous agroforestry system with trees and annual cropsACA
Simultaneous agroforestry system with trees, perennial and annual cropsACB
Simultaneous agroforestry system with trees and grasslandAGG
Simultaneous agroforestry system with trees, crops and grasslandACG
Pasture on (semi-)natural vegetationGNP
Intensively-managed grassland, pasturedGIP
Intensively-managed grassland, not pasturedGIN
Perennial crop production (e.g. food, fodder, fuel, fiber, ornamental plants)CPP
Annual crop production (e.g. food, fodder, fuel, fiber, ornamental plants)CPA
Fallow, less than 12 months, with spontaneous vegetationFYO
Fallow, at least 12 months, with spontaneous vegetationFOL
Fallow, all plants constantly removed (dry farming)FDF
\n
\n```\n\n:::\n:::\n\n\n#### Vegetation height, cover and taxa {#sec-a1-825-vh}\n\nFor non-cultivated land, report the following characteristics:\n\n- Report the average height and the maximum height in m above ground for each stratum separately.\n- Report the vegetation cover. For the upper stratum and the mid-stratum, report the percentage (by area) of the crown cover. For the ground stratum, report the percentage (by area) of the ground cover.\n- Report up to three important species per stratum, e.g., *Fagus orientalis*. If you do not know the species, report the next higher taxonomic rank.\n\n#### Actual or last cultivated species\n\nFor cultivated land, report the actual cultivated species using the scientific name, e.g., *Zea mays*. If currently under fallow, report the last species and indicate month and year of harvest or of cultivation cessation. If more than one species is/was grown simultaneously, report up to three in the sequence of the area covered, starting with the species that covers the largest area; this includes tree species in simultaneous agroforestry systems.\n\n#### Rotational cultivated species\n\nFor cultivated land, report the species that have been cultivated in the last five years in rotation with the actual or last species. Report up to three in the sequence of frequency, starting with the most frequent species; this includes tree species in rotational agroforestry systems.\n\n#### Special techniques to enhance site productivity\n\nReport the techniques that refer to the surrounding area of the soil profile. Techniques that affect certain soil layers are reported for the respective layer. Techniques that cause surface unevenness have to be reported in [Chapter 8.3.11](#sec-a1-8311), additionally. If more than one type is present, report up to three, the dominant one first.\n\n\n::: {#tbl-a1810 .cell .no-stripe layout-align=\"center\" tbl-cap='Special techniques to enhance site productivity'}\n::: {.cell-output-display}\n\n```{=html}\n
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n \n \n
TypeCode
Drainage by open canalsDC
Underground drainageDU
Wet cultivationCW
IrrigationIR
Raised bedsRB
Human-made terracesHT
Local raise of land surfaceLO
OtherOT
NoneNO
\n
\n```\n\n:::\n:::\n\n\n## Description of surface characteristics {#sec-a1-83}\n\nSurface characteristics can be detected on the soil surface without looking into a soil profile.\n\n### Soil surface {#fig-a1-831}\n\nA **litter layer** is a loose layer that contains \\> 90% (by volume, related to the fine earth plus all dead plant residues) recognizable dead plant tissues (e.g. undecomposed leaves). Dead plant material still connected to living plants (e.g. dead parts of *Sphagnum* mosses) is not regarded to form part of a litter layer. The **soil surface** (0 cm) is by convention the surface of the soil after removing, if present, the litter layer and, if present, below a layer of living plants (e.g. living mosses). The **mineral soil surface** is the upper limit of the uppermost mineral horizon (see [Chapter 2.1](chapter-02.qmd#sec-gnrl), General rules, and see [Chapter 8.4.4](#sec-a1-844)).\n\n### Litter layer {#sec-a1-832}\n\nObserve an area of 5 m x 5 m with the profile at its centre. Report the average and the maximum thickness of the litter layer in cm (see [Chapter 8.3.1](#sec-a1-831)). If there is no litter layer, report 0 cm as thickness.\n\n### Rock outcrops {#sec-a1-833}\n\nRock outcrops are exposures of bedrock. Observe an area (10 m x 10 m if possible) with the profile at its centre. Report the percentage of the area that is covered by rock outcrops. Also report in m the average distance between rock outcrops and their size (average length of the greatest dimension).\n\n### Coarse surface fragments {#sec-a1-834}\n\nCoarse surface fragments are loose fragments lying at the soil surface, including those partially exposed. Observe an area (5 m x 5 m if possible) with the profile at its centre. The Table indicates the average length of the greatest dimension in cm.\n\n\n::: {#tbl-a1811 .cell .no-stripe layout-align=\"center\" tbl-cap='Size of coarse surface fragments, FAO [-@un-fao2006], Table 15'}\n::: {.cell-output-display}\n\n```{=html}\n
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n \n \n
Size (cm)Size classCode
> 0.2 - 0.6Fine gravelF
> 0.6 - 2Medium gravelM
> 2 - 6Coarse gravelC
> 6 - 20StonesS
> 20 - 60BouldersB
> 60Large bouldersL
No coarse surface fragmentsN
\n
\n```\n\n:::\n:::\n\n\nReport the total percentage of the area that is covered by coarse surface fragments. In addition, report at least one and up to three size classes and report the percentage of the area that is covered by the coarse surface fragments of the respective size class, the dominant one first.\n\n### Desert features {#sec-a1-835}\n\nCoarse fragments that are constantly exposed to wind-blown sand may be affected by abrasion, etching and polishing, which results in even surfaces with sharp edges. These fragments are called ventifacts (windkanters), and their totality is called desert pavement. Observe an area of 5 m x 5 m with the profile at its centre and report the percentage of ventifacts out of the coarse fragments \\> 2 cm (greatest dimension).\n\nCoarse fragments may show chemical weathering, which may lead to the formation of oxides and an intense colour at their upper surfaces, whereas there is no such weathering and therefore the original rock colour at their lower surfaces. This intense colour at the upper surfaces is called desert varnish. Observe an area of 5 m x 5 m with the profile at its centre and report the percentage of coarse fragments \\> 2 cm (greatest dimension) featuring desert varnish.\n\n### Patterned ground {#sec-a1-836}\n\nPatterned ground is the result of material sorting due to freeze-thaw cycles in permafrost regions. Report the sorting of coarse fragments \\> 6 cm (greatest dimension) at the soil surface.\n\n\n::: {#tbl-a1812 .cell .no-stripe layout-align=\"center\" tbl-cap='Patterned ground'}\n::: {.cell-output-display}\n\n```{=html}\n
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n\n \n\n \n\n \n \n \n
FormCode
RingsR
PolygonsP
StripesS
NoneN
\n
\n```\n\n:::\n:::\n\n\n### Surface crusts {#sec-a1-837}\n\nSurface crusts are described as layers in [Chapter 8.4.31](#sec-a1-8431) and further explained there. The area covered is described here. Observe an area (5 m x 5 m if possible) with the profile at its centre. Report the percentage of the area that has a surface crust.\n\n### Surface cracks {#sec-a1-838}\n\nCracks are fissures other than those attributed to soil structure (see [Chapter 8.4.10](#sec-a1-8410)). If surface cracks are present, report the average width of the cracks. If the soil surface between cracks of larger width classes is regularly divided by cracks of smaller width classes, report the two width classes. If different width classes occur randomly, just report the dominant one. The continuity of cracks to a greater depth is reported with the layer description (see [Chapter 8.4.13](#sec-a1-8413)). For every width class, report the average distance between the cracks and the spatial arrangement and persistence of the cracks.\n\n#### Width {#sec-a1-838-w}\n\n\n::: {#tbl-a1813 .cell .no-stripe layout-align=\"center\" tbl-cap='Width of surface cracks, FAO [-@un-fao2006], Table 21'}\n::: {.cell-output-display}\n\n```{=html}\n
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n \n \n
Width (cm)Width classCode
≤ 1Very fineVF
> 1 - 2FineFI
> 2 - 5MediumME
> 5 - 10WideWI
> 10Very wideVW
No surface cracksNO
\n
\n```\n\n:::\n:::\n\n\n#### Distance between surface cracks {#sec-a1-838-d}\n\n\n::: {#tbl-a1814 .cell .no-stripe layout-align=\"center\" tbl-cap='Distance between surface cracks, FAO [-@un-fao2006], Table 21, modified'}\n::: {.cell-output-display}\n\n```{=html}\n
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n \n \n
Distance (cm)Distance classCode
≤ 0.5TinyTI
> 0.5 - 2Very smallVS
> 2 - 5SmallSM
> 5 - 20MediumME
> 20 - 50LargeLA
> 50 - 200Very largeVL
> 200 - 500HugeHU
> 500Very hugeVH
\n
\n```\n\n:::\n:::\n\n\n#### Spatial arrangement of surface cracks {#sec-a1-838-a}\n\n\n::: {#tbl-a1815 .cell .no-stripe layout-align=\"center\" tbl-cap='Spatial arrangement of surface cracks'}\n::: {.cell-output-display}\n\n```{=html}\n
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n\n \n \n \n
Spatial arrangementCode
PolygonalP
Non-polygonalN
\n
\n```\n\n:::\n:::\n\n\n#### Persistence of surface cracks {#sec-a1-838-p}\n\n\n::: {#tbl-a1816 .cell .no-stripe layout-align=\"center\" tbl-cap='Persistence of surface cracks'}\n::: {.cell-output-display}\n\n```{=html}\n
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n\n \n \n \n
CriterionCode
Reversible (open and close with changing moisture, e.g., in Vertisols and in soils with the Vertic or the Protovertic qualifier)R
Irreversible (persist year-round, e.g., drained polder cracks, cracks in cemented layers)I
\n
\n```\n\n:::\n:::\n\n\n### Presence of water {#sec-a1-839}\n\nReport the presence of water above the soil surface. For wet cultivation and irrigation, see [Chapter 8.2.5](#sec-a1-825). If water of more than one origin occurs above the soil surface, report the dominant one.\n\n\n::: {#tbl-a1817 .cell .no-stripe layout-align=\"center\" tbl-cap='Water above the soil surface'}\n::: {.cell-output-display}\n\n```{=html}\n
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n \n \n
CriterionCode
Permanently submerged by seawater (below mean low water springs)MP
Tidal area (between mean low and mean high water springs)MT
Occasional storm surges (above mean high water springs)MO
Permanently submerged by inland waterFP
Submerged by remote flowing inland water at least once a yearFF
Submerged by remote flowing inland water less than once a yearFO
Submerged by rising local groundwater at least once a yearGF
Submerged by rising local groundwater less than once a yearGO
Submerged by local rainwater at least once a yearRF
Submerged by local rainwater less than once a yearRO
Submerged by inland water of unknown origin at least once a yearUF
Submerged by inland water of unknown origin less than once a yearUO
None of the aboveNO
\n
\n```\n\n:::\n:::\n\n\n### Water repellence {#sec-a1-8310}\n\nDry soil surfaces may be water-repellent (hydrophobic). Report the water repellence only if the soil surface is dry. Place some water on the soil surface and measure the time until it infiltrates.\n\n\n::: {#tbl-a1818 .cell .no-stripe layout-align=\"center\" tbl-cap='Water repellence'}\n::: {.cell-output-display}\n\n```{=html}\n
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n\n \n \n \n
CriterionCode
Water stands for ≥ 60 secondsR
Water infiltrates completely within < 60 secondsN
\n
\n```\n\n:::\n:::\n\n\n### Surface unevenness {#sec-a1-8311}\n\n#### Natural surface unevenness {#sec-a1-8311-n}\n\nThis paragraph refers to unevenness resulting from soil-forming processes, not associated with erosion, deposition or human activity. Human-made surface unevenness and erosion are reported in the following paragraphs. Deposition is regarded to be a feature of the layers (see [Chapter 8.4](#sec-a1-84)). Report surface unevenness with an average height difference ≥ 5 cm. Report the type, the average height difference, the average diameter of the elevated areas and the average distance between the height maxima. Give all values in m.\n\n\n::: {#tbl-a1819 .cell .no-stripe layout-align=\"center\" tbl-cap='Types of natural surface unevenness'}\n::: {.cell-output-display}\n\n```{=html}\n
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n\n \n\n \n\n \n \n \n
CriterionCode
Unevenness caused by permafrost (palsa, pingo, mud boils, thufurs etc.)P
Unevenness caused by shrink-swell clays (gilgai relief)G
OtherO
NoneN
\n
\n```\n\n:::\n:::\n\n\n#### Human-made surface unevenness {#sec-a1-8311-h}\n\nReport up to two types of human-made surface unevenness with an average height difference of ≥ 5 cm, the dominant one first. Report only if it shows a repeating pattern. Single characteristics, e.g. a single heap, are not reported. For terraces, report the average height of the terrace wall. For all other features, report the average difference between the highest and the lowest points, the average width/length of the feature, and the average distance between the depth/height maxima. Give all values in cm.\n\n\n::: {#tbl-a1820 .cell .no-stripe layout-align=\"center\" tbl-cap='Types of human-made surface unevenness'}\n::: {.cell-output-display}\n\n```{=html}\n
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n \n \n
CriterionCode
Human-made terracesHT
Raised bedsRB
Other longitudinal elevationsEL
Polygonal elevationsEP
Rounded elevationsER
Drainage canalsCD
Irrigation canalsCI
Other canalsCO
Polygonal holesHP
Rounded holesHR
OtherOT
NoneNO
\n
\n```\n\n:::\n:::\n\n\n![Human-made surface alterations](images/figure_8-10.png){#fig-a1-810}\n\n#### Surface unevenness caused by erosion {#sec-a1-8311-e}\n\nThis paragraph refers to erosion phenomena with an average height difference of ≥ 5 cm. Report category, degree, and activity.\n\n\n::: {#tbl-a1821 .cell .no-stripe layout-align=\"center\" tbl-cap='Categories of erosion, FAO [-@un-fao2006], Table 16'}\n::: {.cell-output-display}\n\n```{=html}\n
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n \n \n
CriterionCode
Water erosion
Sheet erosionWS
Rill erosionWR
Gully erosionWG
Tunnel erosionWT
Aeolian (wind) erosion
Shifting sandsAS
Other types of wind erosionAO
Water and aeolian (wind) erosionWA
Mass movement (landslides and similar phenomena)MM
Erosion, not categorizedNC
No evidence of erosionNO
\n
\n```\n\n:::\n:::\n\n::: {#tbl-a1822 .cell .no-stripe layout-align=\"center\" tbl-cap='Degree of erosion, FAO [-@un-fao2006], Table 18'}\n::: {.cell-output-display}\n\n```{=html}\n
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n\n \n\n\n \n\n\n \n\n\n \n \n \n
CriterionDegreeCode
Some evidence of damage to surface layers, original ecological functions largely intactSlightS
Clear evidence of removal of surface layers, original ecological functions partly destroyedModerateM
Surface layers completely removed and subsurface layers exposed, original ecological functions largely destroyedSevereV
Substantial removal of deeper subsurface layers, original ecological functions fully destroyed (badlands)ExtremeE
\n
\n```\n\n:::\n:::\n\n::: {#tbl-a1823 .cell .no-stripe layout-align=\"center\" tbl-cap='Activity of erosion, FAO [-@un-fao2006], Table 19'}\n::: {.cell-output-display}\n\n```{=html}\n
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n\n \n\n \n\n \n \n \n
CriterionCode
Active at presentPR
Active in recent past (within the last 100 years)RE
Active in historical timesHI
Period of activity not knownNK
\n
\n```\n\n:::\n:::\n\n\n### Position of the soil profile (related to surface unevenness) {#sec-a1-8311-p}\n\nReport, where the soil profile is located.\n\n\n::: {#tbl-a1824 .cell .no-stripe layout-align=\"center\" tbl-cap='Position of the soil profile, if the soil surface is uneven'}\n::: {.cell-output-display}\n\n```{=html}\n
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n\n \n\n \n\n \n \n \n
CriterionCode
On the highH
On the slopeS
In the lowL
On an unaffected surfaceE
\n
\n```\n\n:::\n:::\n\n\n### Technical surface alterations {#sec-a1-8312}\n\nThis Chapter refers to technical surface alterations that do not cause or enhance surface unevenness. For surface unevenness see [Chapter 8.3.11](#sec-a1-8311). Report the technical surface alterations.\n\n\n::: {#tbl-a1825 .cell .no-stripe layout-align=\"center\" tbl-cap='Technical surface alterations'}\n::: {.cell-output-display}\n\n```{=html}\n
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n \n \n
CriterionCode
Sealing by concreteSC
Sealing by asphaltSA
Other types of sealingSO
Topsoil removalTR
LevellingLV
OtherOT
NoneNO
\n
\n```\n\n:::\n:::\n\n\n## Description of layers {#sec-a1-84}\n\n### Identification of layers and layer depths {#sec-a1-841}\n\nA **soil layer** is a zone in the soil, approximately parallel to the soil surface, with properties different from layers above and/or below it. If at least one of these properties is the result of soil-forming processes, the layer is called a **soil horizon**. In the following, the term 'layer' is preferred to include layers, in which soilforming processes did not occur.\n\nA soil layer is identified by certain observable characteristics. Among these characteristics are:\n\n- Matrix colour\n- Redoximorphic features\n- Texture\n- Coarse fragments\n- Artefacts\n- Bulk density\n- Structure\n- Coatings and bridges\n- Cracks\n- Carbonates\n- Secondary carbonates\n- Secondary gypsum\n- Secondary silica\n- Cementation\n- Water saturation\n- Volcanic glasses\n- C~org~ content\n- Human alterations\n\nWherever you observe a major difference in at least one of these characteristics, set a layer boundary. Whenever a layer is too thick (e.g. \\> 30 cm), it may be wise to subdivide it into two or more layers of more or less equal thickness for description. In certain soils, it may also be wise to add additional layer limits at depths, which you may need to check for the presence or absence of a diagnostic horizon (e.g. 20 cm to check [*mollic*](chapter-03.qmd#sec-mollh) or [*umbric horizons*](chapter-03.qmd#sec-umbrich)). Alluvial sediments and tephra layers may be finely stratified. It may be appropriate to combine several such strata to one layer for description. In all other cases, different geological strata must not be combined to one layer.\n\nIn the following headings, the (o), the (m), and the (o, m) indicate, whether the described characteristic has to be reported in organic or in mineral layers or in both (see [Chapter 8.4.4](#sec-a1-844)). For organotechnic layers, the user decides, which characteristics have to be described. The asterisk (\\*) informs that the characteristic can also be reported in a *Pürckhauer* auger.\n\nThe layers are numbered consecutively from the soil surface (see [Chapter 8.3.1](#sec-a1-831)) downwards. Report the upper and lower depth for every layer. If the lower depth of the last layer is unknown, report the depth of the profile with the + symbol as the layer's lower depth.\n\nThe following principles have to be considered for description (see General rules, [Chapter 2.1](chapter-02.qmd#sec-gnrl)):\n\n1. All data refer to the fine earth, unless stated otherwise. The fine earth comprises the soil constituents ≤ 2 mm. The **whole soil** comprises fine earth, coarse fragments, [*artefacts*](chapter-03.qmd#sec-artefm), cemented parts, and dead plant residues of any size.\n2. All data are given **by mass**, unless stated otherwise.\n\n### Homogeneity of the layer (o, m) {#sec-a1-842}\n\n#### Layer consisting of different parts {#sec-a1-842-p}\n\nIf a layer consists of two or more different parts that do not form horizontal layers but can easily be distinguished, describe them separately. Use separate lines in the Soil Description Sheet (Annex 4, [Chapter 11](annex-04-soil-description-sheet.qmd)) and report the percentage (by exposed area, related to the whole soil) of each part. Examples are layers with [*retic properties*](chapter-03.qmd#sec-reticp) (see [Chapter 8.4.18](#sec-a1-8418)), with cryogenic alteration (see [Chapter 8.4.34](#sec-a1-8434)) or with remodelling by single ploughing (see [Chapter 8.4.39](#sec-a1-8439)). The separation is not recommended, if there is just a wavy boundary (as typical, e.g., for [*chernic horizons*](chapter-03.qmd#sec-chernh) or for eluvial horizons in Podzols, see [Chapter 8.4.5](#sec-a1-845)) or if there are just some additions of materials (see [Chapter 8.4.39](#sec-a1-8439)).\n\n#### Layer composed of several strata of alluvial sediments or of tephra {#sec-a1-842-s}\n\nAlluvial strata comprise fluviatile, lacustrine and marine deposits. Tephra strata have a significant amount of pyroclasts. Report the presence of alluvial strata and of tephra strata within the described layer.\n\n\n::: {#tbl-a1826 .cell .no-stripe layout-align=\"center\" tbl-cap='Presence of strata within a layer'}\n::: {.cell-output-display}\n\n```{=html}\n
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n\n \n\n \n\n \n \n \n
CriterionCode
Layer is composed of two or more alluvial strataA
Layer is composed of two or more tephra strataT
Layer is composed of two or more alluvial strata containing tephraB
Layer is not composed of different strataN
\n
\n```\n\n:::\n:::\n\n\n### Water {#sec-a1-843}\n\n#### Water saturation (o, m) {#sec-a1-843-s}\n\nReport the water saturation.\n\n\n::: {#tbl-a1827 .cell .no-stripe layout-align=\"center\" tbl-cap='Types of water saturation'}\n::: {.cell-output-display}\n\n```{=html}\n
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n \n \n
CriterionCode
Saturated by seawater for ≥ 30 consecutive daysMS
Saturated by seawater according to tidal changesMT
Saturated by groundwater or flowing water for ≥ 30 consecutive days with water that has an electrical conductivity of ≥ 4 dS m-1GS
Saturated by groundwater or flowing water for ≥ 30 consecutive days with water that has an electrical conductivity of < 4 dS m-1GF
Saturated by rainwater for ≥ 30 consecutive daysRA
Saturated by water from melted ice for ≥ 30 consecutive daysMI
Pure water, covered by floating organic materialPW
None of the aboveNO
\n
\n```\n\n:::\n:::\n\n\n#### Soil water status (m) (\\*) {#sec-a1-843-m}\n\nCheck the soil water status of non-saturated layers. Spray the profile wall with water and observe the colour change. Then crush a sample and report the behaviour.\n\n\n::: {#tbl-a1828 .cell .no-stripe layout-align=\"center\" tbl-cap='Soil water status, FAO [-@un-fao2006], Table 57, modified'}\n::: {.cell-output-display}\n\n```{=html}\n
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n \n \n
MoisteningCrushingMoisture classCode
Going very darkDusty or hardVery dryVD
Going darkMakes no dustDryDR
Going slightly darkMakes no dustSlightly moistSM
No change of colourMakes no dustMoistMO
No change of colourDrops of waterWetWE
\n
\n```\n\n:::\n:::\n\n\n### Organic, organotechnic and mineral layers {#sec-a1-844}\n\nWe distinguish the following layers (see [Chapter 3.3](chapter-03.qmd#sec-diagm)):\n\n- Organic layers consist of organic material.\n- Organotechnic layers consist of organotechnic material.\n- Mineral layers are all other layers.\n\nAn organic or organotechnic layer is called hydromorphic, if water saturation lasts ≥ 30 consecutive days in most years or if it has been drained. Otherwise, it is called terrestrial. Hydromorphic organic layers comprise peat and organic limnic material. Report, whether a layer is organic, organotechnic or mineral and, if organic or organotechnic, whether it is hydromorphic or terrestrial. The distinction is preliminary and may have to be corrected according to laboratory analyses.\n\n\n::: {#tbl-a1829 .cell .no-stripe layout-align=\"center\" tbl-cap='Organic (hydromorphic and terrestrial), organotechnic and mineral layers'}\n::: {.cell-output-display}\n\n```{=html}\n
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n\n \n\n \n\n \n\n \n \n \n
CriterionCode
Organic hydromorphicOH
Organic terrestrialOT
Organotechnic hydromorphicTH
Organotechnic terrestrialTT
MineralMI
\n
\n```\n\n:::\n:::\n\n\n### Layer boundaries (o, m) {#sec-a1-845}\n\n#### Distinctness of the layer's lower boundary (\\*) {#sec-a1-845-d}\n\nReport the distinctness of the layer's lower boundary.\n\n\n::: {#tbl-a1830 .cell .no-stripe layout-align=\"center\" tbl-cap='Distinctness of layer boundaries, Schoeneberger et al. [-@schoeneberger2012], 2-6, modified'}\n::: {.cell-output-display}\n\n```{=html}\n
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n \n \n
Mineral layers, organotechnic layers and hydromorphic organic layers: transition within (cm)Terrestrial organic layers: transition within (cm)DistinctnessCode
≤ 0.5≤ 0.1Very abruptV
> 0.5-2> 0.1-0.2AbruptA
> 2-5> 0.2-0.5ClearC
> 5-15> 0.5-1GradualG
> 15> 1DiffuseD
\n
\n```\n\n:::\n:::\n\n\n#### Shape {#sec-a1-845-s}\n\nReport the shape. The characteristic refers to the layer's lower boundary or, if the shape is 'broken', to the entire layer.\n\n\n::: {#tbl-a1831 .cell .no-stripe layout-align=\"center\" tbl-cap='Shape of layer boundaries, Schoeneberger et al. [-@schoeneberger2012], 2-7'}\n::: {.cell-output-display}\n\n```{=html}\n
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n\n \n\n\n \n\n\n \n\n\n \n \n \n
CriterionShapeCode
Nearly plane surfaceSmoothS
Pockets less deep than wideWavyW
Pockets more deep than wideIrregularI
DiscontinuousBrokenB
\n
\n```\n\n:::\n:::\n\n\n![Shape of layer boundaries, Schoeneberger et al. [-@schoeneberger2012], 2-7, modified](images/figure_8-11.png){#fig-a1-811}\n\n### Wind deposition (m) {#sec-a1-846}\n\nReport any evidence of wind deposition. Use a hand lens (maximum 10x).\n\n\n::: {#tbl-a1832 .cell .no-stripe layout-align=\"center\" tbl-cap='Types of wind deposition'}\n::: {.cell-output-display}\n\n```{=html}\n
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n\n \n\n \n\n \n\n \n \n \n
CriterionCode
Aeroturbation (cross-bedding)CB
≥ 10% of the particles of medium sand or coarser are rounded or subangular and have a matt surfaceRH
≥ 10% of the particles of medium sand or coarser are rounded or subangular and have a matt surface, but only in in-blown material that has filled cracksRC
OtherOT
No evidence of wind depositionNO
\n
\n```\n\n:::\n:::\n\n\n### Coarse fragments and remnants of broken-up cemented layers (o, m) {#sec-a1-847}\n\nThis Chapter refers to natural coarse fragments and to remnants of broken-up cemented layers. [*Artefacts*](chapter-03.qmd#sec-artefm) are described in [Chapter 8.4.8](#sec-a1-848). A coarse fragment is a mineral particle, derived from the parent material, \\> 2 mm in its equivalent diameter (see [Chapter 8.4.9](#sec-a1-849)). Remnants of broken-up cemented layers may be of any size but are only reported here if they have an equivalent diameter \\> 2 mm. The subdivisions (0.6 to 60 cm) are according to their greatest dimension.\n\n#### Size and shape {#sec-a1-847-s}\n\nThe Table indicates the length of the greatest dimension and the shape.\n\n\n::: {#tbl-a1833 .cell .no-stripe layout-align=\"center\" tbl-cap='Size and shape classes of coarse fragments and of remnants of broken-up cemented layers, FAO [-@un-fao2006], Tables 27 and 28'}\n::: {.cell-output-display}\n\n```{=html}\n
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n \n \n
Size (cm)Size ClassShapeCode
> 0.2-0.6Fine gravelRoundedFR


AngularFA


Rounded and angularFB
> 0.6-2Medium gravelRoundedMR


AngularMA


Rounded and angularMB
> 2-6Coarse gravelRoundedCR


AngularCA


Rounded and angularCB
> 6-20StonesRoundedSR


AngularSA


Rounded and angularSB
> 20-60BouldersRoundedBR


AngularBA


Rounded and angularBB
> 60Large BouldersRoundedLR


AngularLA


Rounded and angularLB

None
NO
\n
\n```\n\n:::\n:::\n\n\n#### Weathering stage (coarse fragments) and cementing agent (remnants of broken-up cemented layers) {#sec-a1-847-w}\n\n\n::: {#tbl-a1834 .cell .no-stripe layout-align=\"center\" tbl-cap='Weathering stage of coarse fragments, FAO [-@un-fao2006], Table 29'}\n::: {.cell-output-display}\n\n```{=html}\n
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n\n \n\n\n \n\n\n \n \n \n
CriterionWeathering stageCode
No or little signs of weatheringFreshF
Loss of original rock colour and loss of crystal form in the outer parts; centres remain relatively fresh; original strength relatively well preservedModerately weatheredM
All but the most resistant minerals weathered; original rock colour lost throughout; tend to disintegrate under only moderate pressureStrongly weatheredS
\n
\n```\n\n:::\n:::\n\n::: {#tbl-a1835 .cell .no-stripe layout-align=\"center\" tbl-cap='Remnants of broken-up cemented layers: cementing agent'}\n::: {.cell-output-display}\n\n```{=html}\n
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n \n \n
Cementing agentCode
Secondary carbonatesCA
Secondary gypsumGY
Secondary silicaSI
Fe oxides, predominantly inside (former) soil aggregates, no significant concentration of organic matterFI
Fe oxides, predominantly on the surfaces of (former) soil aggregates, no significant concentration of organic matterFO
Fe oxides, no relationship to (former) soil aggregates, no significant concentration of organic matterFN
Fe oxides in the presence of a significant concentration of organic matterFH
\n
\n```\n\n:::\n:::\n\n\n#### Abundance (by volume) {#sec-a1-847-a}\n\nReport the total percentage of the volume occupied by coarse fragments. In addition, report at least one and up to four size and shape classes and report their weathering stage and the percentage of the volume that is occupied by the coarse fragments of the respective class, the dominant one first. Report the total percentage of the volume occupied by remnants of broken-up cemented layers, report the agent that caused the cementation, where applicable up to two, and the percentage of the volume that is occupied by the remnants of each cementation, the dominant one first (see [Chapters 8.4.30](#sec-a1-8430) and [8.4.32](#sec-a1-8432)). All volumes are related to the whole soil. @fig-a1-812 helps with the estimation of the volume.\n\n![Charts for estimating percentages of coarse fragments and of remnants of broken-up cemented layers, FAO , Figure 5, modified by B. Repe](images/figure_8-12.png){#fig-a1-812}\n\n#### Free large pores (interstices) between coarse fragments {#sec-a1-847-p}\n\nBetween coarse fragments, large pores may exist that are visible with the naked eye and do not contain soil material. Report the total percentage (by volume, related to the whole soil).\n\n### Artefacts (o, m) {#sec-a1-848}\n\n[*Artefacts*](chapter-03.qmd#sec-artefm) are solid or liquid substances that are\n\n- created or substantially modified by humans as part of an industrial or artisanal manufacturing process, or\n- brought to the surface by human activity from a depth, where they were not influenced by surface processes, and deposited in an environment, where they do not commonly occur.\n\n#### Type {#sec-a1-848-f}\n\n\n::: {#tbl-a1836 .cell .no-stripe layout-align=\"center\" tbl-cap='Examples of artefacts, Schoeneberger et al. [-@schoeneberger2012], 2-50, modified'}\n::: {.cell-output-display}\n\n```{=html}\n
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n \n \n
TypeCode
Bitumen (asphalt), continuousBT
Bitumen (asphalt), fragmentsBF
Black carbon (e.g. charcoal, partly charred particles, soot)BC
Boiler slagBS
Bottom ashBA
Bricks, adobesBR
CeramicsCE
Cloth, carpetCL
Coal combustion byproductsCU
Concrete, continuousCR
Concrete, fragmentsCF
Crude oilCO
Debitage (stone tool flakes)DE
Dressed or crushed stonesDS
Fly ashFA
Geomembrane, continuousGM
Geomembrane, fragmentsGF
GlassGL
Gold coinsGC
Household waste (undifferentiated)HW
Industrial wasteIW
Lumps of applied limeLL
MetalME
Mine spoilMS
Organic wasteOW
Paper, cardboardPA
PlasterboardPB
PlasticPT
Processed oil productsPO
Rubber (tires etc.)RU
Treated woodTW
OtherOT
NoneNO
\n
\n```\n\n:::\n:::\n\n\nNote: If not purposefully made by humans, black carbon is considered to be natural (see [Chapter 8.4.36](#sec-a1-8436)).\n\n#### Size {#sec-a1-848-s}\n\nThe Table indicates the average length of the greatest dimension of solid [*artefacts*](chapter-03.qmd#sec-artefm).\n\n\n::: {#tbl-a1837 .cell .no-stripe layout-align=\"center\" tbl-cap='Size of artefacts, FAO [-@un-fao2006], Table 27'}\n::: {.cell-output-display}\n\n```{=html}\n
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n \n \n
Size (cm)Size classCode
≤ 0.2Fine earthE
> 0.2 - 0.6Fine gravelF
> 0.6 - 2Medium gravelM
> 2 - 6Coarse gravelC
> 6 - 20StonesS
> 20 - 60BouldersB
> 60Large bouldersL
\n
\n```\n\n:::\n:::\n\n\n#### Abundance (by volume) {#sec-a1-848-a}\n\nReport the total percentage of the volume (related to the whole soil) occupied by solid [*artefacts*](chapter-03.qmd#sec-artefm). In addition, report at least one and up to five types and size classes and the percentage of the volume that is occupied by the respective type and size class, the dominant one first. @fig-a1-812 helps with the estimation of the volume. Black carbon has to be additionally reported as percentage of the exposed area (related to the fine earth plus black carbon of any size).\n\n### Soil texture (m) (\\*) {#sec-a1-849}\n\n#### Particle-size classes {#sec-a1-849-p}\n\n\n::: {#tbl-a1838 .cell .no-stripe layout-align=\"center\" tbl-cap='Particle-size classes, ISO 11277:2009 [@internationalorganizationforstandardization2015]'}\n::: {.cell-output-display}\n\n```{=html}\n
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n \n \n
Particle-size classDiameter of particles
Fine earthall particles ≤ 2 mm
Sand> 63 μm - ≤ 2 mm
Very coarse sand> 1250 μm - ≤ 2 mm
Coarse sand> 630 μm - ≤ 1250 μm
Medium sand> 200 μm - ≤ 630 μm
Fine sand> 125 μm - ≤ 200 μm
Very fine sand> 63 μm - < 125 μm
Silt> 2 μm - ≤ 63 μm
Clay≤ 2 μm
\n
\n```\n\n:::\n:::\n\n\nThe particle size classes up to 2 mm are defined according to the equivalent diameter. The equivalent diameter is the diameter of a sphere that in sedimentation analysis sinks with the same velocity as the respective particle.\n\nThe human eye and the tactile sense of the fingers can detect particles \\> 150-300 μm, depending on individual sensitivity.\n\n#### Texture classes {#sec-a1-849-t}\n\nReport the texture class. Please note that the hand-texturing according to the following flow chart only provides an estimation of the texture. Especially around the limits between the classes, the results might be not absolutely reliable. Beginners should ask experienced soil scientists for help.\n\n\n\n![Texture classes, triangle, Blum et al. [-@blum2018], Figure 28, modified](images/figure_8-13.png){#fig-a1-813}\n\n\n::: {#tbl-a1839 .cell .no-stripe layout-align=\"center\" tbl-cap='Texture classes, Soil Science Division Staff [-@soilsciencedivisionstaff2017]'}\n::: {.cell-output-display}\n\n```{=html}\n
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n\n\n\n \n\n\n\n\n \n\n\n\n\n \n\n\n\n\n \n\n\n\n\n \n\n\n\n\n \n\n\n\n\n \n\n\n\n\n \n\n\n\n\n \n\n\n\n\n \n\n\n\n\n \n\n\n\n\n \n\n\n\n\n \n\n\n\n\n \n \n \n
Texture class% sand% silt% clayAdditional criteria
Sand (S)> 85< 15< 10(%silt + 1.5×%clay) < 15
Loamy sand (LS)> 70 - ≤ 90< 30< 15(%silt + 1.5×%clay) ≥ 15 and (%silt + 2×%clay) < 30
Silt (Si)≤ 20≥ 80< 12
Silt loam (SiL)≤ 50≥ 50 to < 80< 27

≤ 8≥ 80 to ≤ 88≥ 12 to ≤ 20
Sandy loam (SL)> 52 - ≤ 85≤ 48< 20(%silt + 2×%clay) ≥ 30

> 43 - ≤ 52≥ 41 to < 50< 7
Loam (L)> 23 to ≤ 52≥ 28 to < 50≥ 7 to < 27
Sandy clay loam (SCL)> 45 to ≤ 80< 28≥ 20 to < 35
Silty clay loam (SiCL)≤ 20> 40 to ≤ 73≥ 27 to < 40
Clay loam (CL)> 20 to ≤ 45> 15 to < 53≥ 27 to < 40
Sandy clay (SC)> 45 to ≤ 65< 20≥ 35 to < 55
Silty clay (SiC)≤ 20≥ 40 to ≤ 60≥ 40 to ≤ 60
Clay (C)≤ 45< 40≥ 40
\n
\n```\n\n:::\n:::\n\n\n![Texture classes, flow chart, ideas adapted from Natural England Technical Information Note TIN037 [-@naturalengland2008] and Thien [-@thien1979]](images/figure_8-14.png){#fig-a1-814}\n\n#### Subclasses of the texture classes sand and loamy sand {#sec-a1-849-s}\n\nIf the layer belongs to the texture classes sand or loamy sand, report the subclass. The particle-size subclasses of sand are detected by visual estimation of the diameters of the grains or by laboratory analysis. The texture subclasses very fine sand and loamy very fine sand tend to feel floury, whereas all the coarser subclasses feel grainy.\n\n\n::: {#tbl-a1840 .cell .no-stripe layout-align=\"center\" tbl-cap='Subclasses of the texture classes sand and loamy sand, Soil Science Division Staff [-@soilsciencedivisionstaff2017], modified; the percentages of the sand fractions are related to the entire fine earth (not related to sand).'}\n::: {.cell-output-display}\n\n```{=html}\n
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n\n \n\n\n\n\n\n\n\n \n\n\n\n\n\n\n\n \n\n\n\n\n\n\n\n \n\n\n\n\n\n\n\n \n\n\n\n\n\n\n\n \n \n \n
% very coarse and coarse sand% medium sandsum of very coarse, coarse and medium sand% fine sand% very fine sandFeelSubclasses of the texture class sandSubclasses of the texture class loamy sand
≥ 25< 50Not defined< 50< 50GrainyCoarse sand (CS)Loamy coarse sand (LCS)
< 25Not defined≥ 25< 50< 50GrainyMedium sand (MS)Loamy medium sand (LMS)
≥ 25≥ 50Not definedNot definedNot definedGrainyMedium sand (MS)Loamy medium sand (LMS)
Not definedNot definedNot defined≥ 50Not definedGrainyFine sand (FS)Loamy fine sand (LFS)
Not definedNot defined< 25Not defined< 50GrainyFine sand (FS)Loamy fine sand (LFS)
Not definedNot definedNot definedNot defined≥ 50Tending to be flouryVery fine sand (VFS)Loamy very fine sand (LVFS)
\n
\n```\n\n:::\n:::\n\n\n### Structure (m) {#sec-a1-8410}\n\nStructure is the spatial arrangement of soil constituents and pores. If this is, at least partially, the result of soil-forming processes, it is called **soil structure**. Otherwise, it is **rock structure**. Structure refers to the fine earth. Structure is reported for mineral layers. Additionally, structure is reported for drained hydromorphic organic layers.\n\nA **soil aggregate** is a discrete structural body that can be clearly distinguished from its surroundings and that results from soil-forming processes. If a force is applied to a specimen, and the specimen breaks along natural surfaces of weakness, it is composed of aggregates. If the specimen breaks exactly where force is applied, the structure is **massive** (coherent). If there is no coherence between the particles, the structure is of **single-grain** type. Human disturbance may create artificial structural elements, which are called **clods**.\n\nUndisturbed aggregates or non-aggregated structure are called the first-level structure. Aggregates of the types subangular blocky, angular blocky, polyhedral, lenticular, platy, wedge-shaped, prismatic, and columnar may break into aggregates of a second-level structure and even further into aggregates of a third-level structure. The second-level and the third-level structure may be of the same type(s) as the first-level structure or of a different one.\n\nUse the spade, take out a large sample, make sure that the aggregates of the first-level structure, if present, are undisturbed, and observe the structure. Report the type, if present, up to three, the dominant one first. For each type, report separately grade, penetrability for roots, and size class. If applicable, report two size classes, the dominant one first. Report for every type and size class the abundance (as percentage by volume of the layer).\n\nFrom the first-level structure, take some specimens from each type (if more than one size class of a type is present, take only the greater one) and try to break them with low forces. If aggregates of a second-level structure appear, report the type, if present, up to two, the dominant one first. For each type, report separately grade, size class, and penetrability for roots. If applicable, report two size classes, the dominant one first. Report for every type and size class the abundance (as percentage by volume of the respective first level structure).\n\nFrom the second-level structure, take some specimens from each type (if more than one size class of a type is present, take only the greater one) and try to break them with low forces. If aggregates of a third-level structure appear, report type, grade, size class, and penetrability for roots. If applicable, report two size classes, the dominant one first. Report for every size class the abundance (as percentage by volume of the respective second level structure).\n\n#### Types {#sec-a1-8410-t}\n\n@fig-a1-815 explains some general terms of soil aggregate description.\n\n![General terms of soil aggregate description](images/figure_8-15.png){#fig-a1-815}\n\n\n::: {#tbl-a1841 .cell .no-stripe layout-align=\"center\" tbl-cap='Types of structure, descriptions, Schoeneberger et al, [-@schoeneberger2012], 2-53, FAO [-@un-fao2006], Table 49, National Committee on Soil and Terrain [-@nationalcommitteeonsoilandterrain2009], 171-181, modified'}\n::: {.cell-output-display}\n\n```{=html}\n
\n\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n \n \n
Granular
  • Spheroidal;
  • biogenic; many visible pores;
  • bounded by curved or very irregular faces;
  • limited accommodation to the faces of surrounding aggregates
  • Subangular blocky
  • Bounded by undulating rough faces;
  • number of faces variable;
  • many vertices rounded;
  • limited accommodation to the faces of surrounding aggregates
  • Angular blocky
  • Bounded by relatively flat smooth, roughly equal faces;
  • number of faces variable;
  • most vertices angular;
  • usually much accommodation to the faces of surrounding aggregates
  • Lenticular
  • Bounded by curved faces;
  • overlapping, lens-shaped aggregates generally parallel to the soil surface that are thick at the centre and taper toward the edges;
  • usually much accommodation to the faces of surrounding aggregates;
  • (formed by active or relict frost processes)
  • Wedge-shaped
  • Bounded by flat faces;
  • interlocking wedges or lenses that terminate in pronounced angular vertices;
  • ends of vertices may be missing;
  • much accommodation to the faces of surrounding aggregates (typical for first-level or second-level structure in vertic horizons)
  • Prismatic
  • Bounded by relatively flat faces;
  • vertically elongated units with angular vertices and flat tops;
  • much accommodation to the faces of surrounding aggregates
  • Columnar
  • Bounded by relatively flat faces;
  • vertically elongated units with angular to rounded vertices and rounded (domed) tops
  • Polyhedral
  • Bounded by relatively flat smooth, unequal faces;
  • more than six faces; most vertices angular;
  • usually much accommodation to the faces of surrounding aggregates;
  • re-entrant angles between adjoining faces (typical for second-level structure in nitic horizons)
  • Flat-edged
  • Bounded by curved faces;
  • lens-shaped aggregates that are thick at the centre and taper toward the edges;
  • limited accommodation to the faces of surrounding aggregates
  • (typical for second-level structure in nitic horizons)
  • Pseudosand/ Pseudosilt
  • Spheroidal units of sand and silt size, composed of kaolinite-oxide complexes;
  • the complexes may be interconnected to each other;
  • hand-texturing according to Chapter 8.4.9 first yields the impression of a dominance of sand and silt and after prolonged squeezing proves the dominance of clay
  • Platy
  • Bounded by relatively flat horizontal faces;
  • much accommodation to the faces of surrounding aggregates
  • Single grain
  • Entirely non-coherent, e.g., loose sand
  • Massive
  • Material is a coherent mass (not necessarily cemented)
  • Cloddy
  • Artificial clods created by disturbance; e.g., ploughing
  • \n
    \n```\n\n:::\n:::\n\n::: {#tbl-a1842 .cell .no-stripe layout-align=\"center\" tbl-cap='Types of structure, formation and codes'}\n::: {.cell-output-display}\n\n```{=html}\n
    \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n \n \n
    TypeFormationCode
    GranularSoil aggregate structure, naturalGR
    Subangular blockySoil aggregate structure, naturalBS
    Angular blockySoil aggregate structure, naturalBA
    LenticularSoil aggregate structure, naturalLC
    Wedge-shapedSoil aggregate structure, naturalWE
    PrismaticSoil aggregate structure, naturalPR
    ColumnarSoil aggregate structure, naturalCO
    PolyhedralSoil aggregate structure, naturalPH
    FlatedgedSoil aggregate structure, naturalFE
    Pseudosand/ PseudosiltSoil aggregate structure, naturalPS
    PlatySoil aggregate structure, natural or resulting from artificial pressurePL
    Single grainNo structural units, rock structure, inherited from the parent materialSR
    Single grainNo structural units, soil structure, resulting from soil-forming processes, like loss of organic matter and/or oxides and/or clay minerals or loss of stratificationSS
    MassiveNo structural units, rock structure, inherited from the parent material, structure not changing with soil moisture, not or only slightly chemically weatheredMR
    MassiveNo structural units, rock structure, inherited from the parent material, structure not changing with soil moisture, strongly chemically weathered (e.g. saprolite)MW
    MassiveNo structural units, soil structure, present when moist and changing into soil aggregate structure when dryMS
    StratifiedNo structural units, rock structure, visible stratification from sedimentationST
    CloddyArtificial structural elementsCL
    \n
    \n```\n\n:::\n:::\n\n\n#### Grade {#sec-a1-8410-g}\n\n\n::: {#tbl-a1843 .cell .no-stripe layout-align=\"center\" tbl-cap='Grade of structural units, Soil Science Division Staff [-@soilsciencedivisionstaff2017], 159f, modified'}\n::: {.cell-output-display}\n\n```{=html}\n
    \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n\n \n\n\n \n\n\n \n \n \n
    CriterionGradeCode
    The units are barely observable in place. When gently disturbed, the soil material parts into a mixture of whole and broken units, the majority of which exhibit no surfaces of weakness. The surfaces differ in some way from the interiors.WeakW
    The units are well formed and evident in place. When disturbed, the soil material parts into a mixture of mostly whole units, some broken units, and material that is not in units. Aggregates part from adjoining aggregates to reveal nearly entire faces that have properties distinct from those of fractured surfacesModerateM
    The units are distinct in place. When disturbed, they separate cleanly, mainly into whole units. Aggregates have distinct surface properties.StrongS
    \n
    \n```\n\n:::\n:::\n\n\n#### Penetrability for roots {#sec-a1-8410-r}\n\nLarge soil aggregates may have a dense outer rim that does not allow roots to enter.\n\n\n::: {#tbl-a1844 .cell .no-stripe layout-align=\"center\" tbl-cap='Aggregate penetrability for roots'}\n::: {.cell-output-display}\n\n```{=html}\n
    \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n\n \n\n \n \n \n
    CriterionCode
    All aggregates with dense outer rimP
    Some aggregates with dense outer rimS
    No aggregate with dense outer rimN
    \n
    \n```\n\n:::\n:::\n\n\n#### Size {#sec-a1-8410-s}\n\nThe dimension to be reported is indicated in @tbl-a1841 by a line.\n\n\n::: {#tbl-a1845 .cell .no-stripe layout-align=\"center\" tbl-cap='Aggregate size, Schoeneberger et al. [-@schoeneberger2012], 2-55, FAO [-@un-fao2006], Table 50, modified'}\n::: {.cell-output-display}\n\n```{=html}\n
    \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n\n\n\n \n\n\n\n\n \n\n\n\n\n \n\n\n\n\n \n\n\n\n\n \n\n\n\n\n \n \n \n
    \n Criterion: size of structural unit (mm)\n Size ClassCode
    Granular, Flat-edged, PlatySubangular blocky, Angular blocky, Lenticular, Polyhedral, CloddyWedge-shaped, Prismatic, Columnar
    ≤ 1≤ 5≤ 10Very fineVF
    > 1-2> 5-10> 10-20FineFI
    > 2-5> 10-20> 20-50MediumME
    > 5-10> 20-50> 50-100CoarseCO
    > 10-20> 50-100> 100-300Very coarseVC
    > 20> 100> 300Extremely coarseEC
    \n
    \n```\n\n:::\n:::\n\n\n#### Inclination of wedge-shaped aggregates {#sec-a1-8410-i}\n\nIf wedge-shaped aggregates are present, report the volume (as percentage), occupied by wedge-shaped aggregates tilted between ≥ 10° and ≤ 60° from the horizontal.\n\n### Pores and cracks (overview) {#sec-a1-8411}\n\nSoil has air- or water-filled voids, which are:\n\n- Interstitial (primary packing voids)\n- Non-matrix pores (tubular, dendritic tubular, vesicular, irregular)\n- Interstructural (fractures between soil aggregates, which can be inferred from soil structure description)\n- Cracks (fissures other than those attributed to soil structure). We only report non-matrix pores and cracks.\n\n### Non-matrix pores (m) {#sec-a1-8412}\n\n#### Type {#sec-a1-8412-t}\n\n\n::: {#tbl-a1846 .cell .no-stripe layout-align=\"center\" tbl-cap='Types of non-matrix pores, Schoeneberger et al. [-@schoeneberger2012], 2-73, modified'}\n::: {.cell-output-display}\n\n```{=html}\n
    \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n \n \n
    CriterionTypeCode
    Cylindrical and elongated voids; e.g., worm tunnelsTubularTU
    Cylindrical, elongated, branching voids; e.g., empty root channelsDedritic TubularDT
    Ovoid to spherical voids; e.g., solidified pseudomorphs of entrapped gas bubbles concentrated below a crust; most common in arid and semiarid environments and in permafrost soilsVesicularVE
    Non-connected cavities, chambers; e.g., vughs; various shapesIrregularIG
    No non-matrix pore
    NO
    \n
    \n```\n\n:::\n:::\n\n\nTubular and dendritic tubular pores are commonly referred to as **biopores**.\n\n![Type of non-matrix pores, Schoeneberger et al. (2012), 2-74](images/figure_8-16.png){#fig-a1-816}\n\n#### Size and abundance {#sec-a1-8412-s}\n\n\n::: {#tbl-a1847 .cell .no-stripe layout-align=\"center\" tbl-cap='Pore size, Schoeneberger et al. [-@schoeneberger2012], 2-70'}\n::: {.cell-output-display}\n\n```{=html}\n
    \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n \n \n
    Diameter (mm)Soil area to be assessedSize ClassCode
    ≤ 11 cm2Very FineVF
    > 2-51 cm2FineFI
    > 5-101 dm2MediumME
    > 5-101 dm2CoarseCO
    > 101 m2Very coarseVC
    \n
    \n```\n\n:::\n:::\n\n::: {#tbl-a1848 .cell .no-stripe layout-align=\"center\" tbl-cap='Abundance of pores, Schoeneberger et al. [-@schoeneberger2012], 2-70, modified'}\n::: {.cell-output-display}\n\n```{=html}\n
    \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n\n \n\n\n \n\n\n \n\n\n \n \n \n
    NumberAbundance classCode
    ≤ 1Very fewV
    > 1-3FewF
    > 3-5CommonC
    > 5MayM
    \n
    \n```\n\n:::\n:::\n\n\nReport all non-matrix pore types that apply. For every type and every size class, count the number of pores in the assessed area. For every type, report the dominant size class (size class that has the highest number of pores). For every type, calculate the sum of pores across the size classes and report the abundance class.\n\nExample:\n\nVery fine: 0\\\nFine: 2\\\nMedium: 2\\\nCoarse: 1\\\nVery coarse: 0\n\nThe sum is 5, and the abundance class is Common.\n\n### Cracks (o, m) {#sec-a1-8413}\n\nReport persistence and continuity,\n\n#### Persistence {#sec-a1-8413-p}\n\n\n::: {#tbl-a1849 .cell .no-stripe layout-align=\"center\" tbl-cap='Persistence of cracks, Schoeneberger et al. [-@schoeneberger2012], 2-76'}\n::: {.cell-output-display}\n\n```{=html}\n
    \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n\n \n\n \n \n \n
    CriterionCode
    Reversible (open and close with changing soil moisture)RT
    Irreversible (persist year-round)IT
    No cracksNO
    \n
    \n```\n\n:::\n:::\n\n\n#### Continuity {#sec-a1-8413-c}\n\n\n::: {#tbl-a1850 .cell .no-stripe layout-align=\"center\" tbl-cap='Continuity of cracks'}\n::: {.cell-output-display}\n\n```{=html}\n
    \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n\n \n\n \n\n \n \n \n
    CriterionCode
    All cracks continue into the underlying layerAC
    At least half, but not all of the cracks continue into the underlying layerHC
    At least one, but less than half of the cracks continue into the underlying layerSC
    Cracks do not continue into the underlying layerNC
    \n
    \n```\n\n:::\n:::\n\n\n#### Width and abundance {#sec-a1-8413-w}\n\nReport the average width in mm and the number of cracks. Count the cracks across 1 m horizontally; use the vertical centre of the layer.\n\n### Stress features (m) {#sec-a1-8414}\n\nStress features result from soil aggregates that are pressed against each other due to swelling clays. The aggregate surfaces may be shiny. There are two types: Pressure faces do not slide past each other and have no striations, slickensides slide past each other and have striations. Striations develop if sand (or silt) grains are moved with strong pressure along the aggregate surfaces. Stress features do not differ in colour from the matrix (see [Chapter 8.4.17](#sec-a1-8417)). A hand lens (maximum 10x) may be helpful. Report the abundance of\n\n- Pressure faces in % of the surfaces of soil aggregates\n- Slickensides in % of the surfaces of soil aggregates.\n\n![Type of stress features, Schoeneberger et al. , 2-34](images/figure_8-17.png) {#fig-a1-817}\n\n### Concentrations (overview) {#sec-a1-8415}\n\nThe following definitions apply to concentrations, e.g., redox concentrations or secondary carbonates (some concentrations may not show all the below-listed types). For cementation classes, see [Chapter 8.4.30](#sec-a1-8430).\n\n\n::: {#tbl-a1851 .cell .no-stripe layout-align=\"center\" tbl-cap='Types of concentrations (overview), Soil Science Division Staff. [-@soilsciencedivisionstaff2017], page 174f'}\n::: {.cell-output-display}\n\n```{=html}\n
    \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n\n \n\n \n\n \n \n \n
    DescriptionDesignation
    Rounded body, at least very weakly cemented, that can be removed as discrete unit, with internal organization in the form of concentric layers that are visible to the naked eyeConcretion
    Rounded body, at least very weakly cemented, that can be removed as discrete unit, without evident internal organizationNodule
    Longitudinal body of any cementation classFilament
    Non-cemented or extremely weakly cemented body, of various shape, that cannot be removed as discrete unitMass
    \n
    \n```\n\n:::\n:::\n\n\n### Soil colour (overview) {#sec-a1-8416}\n\nIn general, soil colour can be a property of the four following soil features:\n\n- Matrix (see [Chapter 8.4.17](#sec-a1-8417) and [Chapter 8.4.18](#sec-a1-8418))\n- Lithogenic variegates (see [Chapter 8.4.19](#sec-a1-8419))\n- Redoximorphic features, resulting from redox processes (see [Chapter 8.4.20](#sec-a1-8420))\n- Non-redoximorphic features, resulting from other pedogenic processes:\n - initial weathering (see [Chapter 8.4.22](#sec-a1-8422))\n - clay coatings and bridges (see [Chapter 8.4.23](#sec-a1-8423))\n - uncoated sand and/or coarse silt grains (see [Chapter 8.4.23](#sec-a1-8423))\n - ribbon-like accumulations (see [Chapter 8.4.24](#sec-a1-8424))\n - secondary carbonates (see [Chapter 8.4.25](#sec-a1-8425))\n - secondary gypsum (see [Chapter 8.4.26](#sec-a1-8426))\n - secondary silica (see [Chapter 8.4.27](#sec-a1-8427))\n - readily soluble salts (see [Chapter 8.4.28](#sec-a1-8428))\n - accumulations of organic matter (see [Chapter 8.4.36](#sec-a1-8436))\n\n\n```{mermaid}\n%%| label: fig-a1-818\n%%| fig-cap: Colour flow chart, Schoeneberger et al. [-@schoeneberger2012], 2-8, modified\n\n%%{ init: { 'flowchart': { 'curve': 'stepAfter' } } }%%\nflowchart TD\n St[Colour]-->q1{Is the colour \\n a matrix colour?}\n %% TODO fix rendering of yes/no answers to have a halo etc - bug?\n q1 -->|Yes|r1[\"Matrix colour(s)\"]\n q1 -.->|No|q2{Is the colour \\n the result of \\npedogenic processes?}\n q2 -.->|No|r2[Lithogenic mottle]\n q2 -->|Yes|q3{Are the features \\n formed by redox \\nprocesses?}\n q3 -->|Yes|r3[Redoximorphic features]\n q3 -.->|No|r4[Non-redoximorphic features]\n```\n\n\nUse the Munsell Color Charts. Take a fresh sample, slightly crush it and observe the colour in the shade (both your eyes and the colour chart in the shade) and not in the twilight. Report hue, value and chroma. The matrix colour and the colour of reductimorphic features are recorded twice, moist and (if possible) dry, the other colours only in the moist state. The moist state corresponds to field capacity, which is obtained with sufficient accuracy by moistening and reading the colour as soon as visible moisture films have disappeared.\n\n### Matrix colour (m) (\\*) {#sec-a1-8417}\n\nReport the colour of the soil matrix. If there is more than one matrix colour, report up to three, the dominant one first, and give the percentage of the exposed area.\n\nAdvanced chemical weathering without physical alteration, especially without turbation, results in saprolite (see [Chapter 8.4.10](#sec-a1-8410)). According to the minerals present, a colour pattern may result. These colours are reported as matrix colours.\n\n### Combinations of darker-coloured finer-textured and lighter-coloured coarser-textured parts (m) {#sec-a1-8418}\n\nIf a layer consists of darker-coloured finer-textured and lighter-coloured coarser-textured parts that do not form horizontal layers but can easily be distinguished, describe them separately. Use separate lines in the Soil Description Sheet (Annex 4, [Chapter 11](annex-04-soil-description-sheet.qmd)) and give a full description. The principal colours are regarded to be matrix colours.\n\nFor the coarser-textured parts, report in addition the following characteristics:\n\n- the percentage (by exposed area) occupied by coarser-textured parts of any orientation (vertical, horizontal, inclined) having a width of ≥ 0.5 cm\n- the percentage (by exposed area) occupied by continuous vertical tongues of coarser-textured parts with a horizontal extension of ≥ 1 cm (if these tongues are absent, report 0%)\n- the depth range in cm, where these tongues cover ≥ 10% of the exposed area (if they extend across serveral layers, the length is only reported in the description of that layer, where they start at the layer's upper limit).\n\nIn the middle of the layer, prepare a horizontal surface, 50 cm x 50 cm, and report the percentage (by horizontal area covered) of the coarser-textured parts.\n\n### Lithogenic variegates (m) {#fig-a1-8419}\n\nReport colour, size class, and abundance. If more than one colour occurs, report up to three, the dominant one first, and give size class and abundance for each colour separately.\n\n#### Colour {#fig-a1-8419-c}\n\nReport the colour according to the Munsell Color Charts. Write 'None' if there are no lithogenic variegates.\n\n#### Size {#fig-a1-8419-s}\n\nThe Table indicates the average length of the greatest dimension.\n\n\n::: {#tbl-a1852 .cell .no-stripe layout-align=\"center\" tbl-cap='Size of lithogenic variegates, FAO [-@un-fao2006], Table 33'}\n::: {.cell-output-display}\n\n```{=html}\n
    \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n\n \n\n\n \n\n\n \n\n\n \n \n \n
    Size (mm)Size classDesignation
    ≤ 2Very fineV
    > 2-6FineF
    > 6-20MediumM
    > 20CoarseC
    \n
    \n```\n\n:::\n:::\n\n\n#### Abundance (by exposed area) {#fig-a1-8419-a}\n\nReport the percentage of abundance.\n\n### Redoximorphic features (m) {#sec-a1-8420}\n\nRedoximorphic features (oximorphic features plus reductimorphic features) are the result of redox processes. Oximorphic features show the accumulation of substances in oxidized state and usually a redder hue, a higher chroma and a lower value than the surrounding material, while reductimorphic features show the opposite characteristics. Soil parts showing reductimorphic features may either contain substances in reduced state or may have lost them.\n\nReport substance, location, size class (up to two, the dominant one first), cementation class and abundance for each colour separately, for up to three colours, the dominant one first. Substance for oximorphic features is always reported, for reductimorphic features only in some cases. Size class is only reported for oximorphic features inside soil aggregates. Cementation is only reported for oximorphic features. The abundance is reported as percentage of the exposed area.\n\n#### Colour (\\*) {#sec-a1-8420-c}\n\nReport the colour according to the Munsell Color Charts. Write 'None' if there are no redoximorphic features.\n\n#### Substance (\\*) {#sec-a1-8420-s}\n\n\n::: {#tbl-a1853 .cell .no-stripe layout-align=\"center\" tbl-cap='Substance of oximorphic features'}\n::: {.cell-output-display}\n\n```{=html}\n
    \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n\n \n\n \n\n \n\n \n\n \n \n \n
    SubstanceCode
    Fe oxidesFE
    Mn oxidesMN
    Fe and Mn oxidesFM
    JarositeJA
    SchwertmanniteSM
    Fe and Al sulfates (not specified)AS
    \n
    \n```\n\n:::\n:::\n\n\nThe term 'oxides', as used here, includes hydroxides and oxide-hydroxides. The term 'sulfates' includes hydroxysulfates.\n\n\n::: {#tbl-a1854 .cell .no-stripe layout-align=\"center\" tbl-cap='Substance of reductimorphic features'}\n::: {.cell-output-display}\n\n```{=html}\n
    \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n\n \n \n \n
    SubstanceCode
    Fe sulfidesFS
    No visible accumulationNV
    \n
    \n```\n\n:::\n:::\n\n\n#### Location (\\*) {#sec-a1-8420-l}\n\n\n::: {#tbl-a1855 .cell .no-stripe layout-align=\"center\" tbl-cap='Location of some reductimorphic features'}\n::: {.cell-output-display}\n\n```{=html}\n
    \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n \n \n
    LocationCode
    Inner partsInside soil aggregates: massesOIM
    Inside soil aggregates: concretionsOIC
    Inside soil aggregates: nodulesOIN
    Inside soil aggregates: both concretions and/or nodules (not possible to distinguish)OIB
    Outer partsOn surfaces of soil aggregatesOOA
    Adjacent to surfaces of soil aggregates, infused into the matrix (hypocoats)OOH
    On biopore walls, lining the entire wall surfaceOOE
    On biopore walls, not lining the entire wall surfaceOON
    Adjacent to biopores, infused into the matrix (hypocoats)OOI
    Random (not associated with aggregate surfaces or pores)Distributed over the layer, no order visibleORN
    Distributed over the layer, surrounding areas with reductimorphic featuresORS
    ThroughoutORT
    \n
    \n```\n\n:::\n:::\n\n\n![Location of some oximorphic features](images/figure_8-19.png){#fig-a1-819}\n\n\n::: {#tbl-a1856 .cell .no-stripe layout-align=\"center\" tbl-cap='Location of reductimorphic features'}\n::: {.cell-output-display}\n\n```{=html}\n
    \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n \n \n
    LocationCode
    Inner partsInside soil aggregatesRIA
    Outer partsOuter parts of soil aggregatesROA
    Around biopores, surrounding the entire poresROE
    Around biopores, not surrounding the entire poresRON
    Random (not associated with aggregate surfaces or pores)Distributed over the layer, no order visibleRRN
    Distributed over the layer, surrounding areas with oximorphic featuresRRS
    ThroughoutRRT
    \n
    \n```\n\n:::\n:::\n\n\n#### Size of oximorphic features (\\*) {#sec-a1-8420-z}\n\nThe Table indicates the average length of the greatest dimension.\n\n\n::: {#tbl-a1857 .cell .no-stripe layout-align=\"center\" tbl-cap='Size of oximorphic features, FAO [-@un-fao2006], Table 33'}\n::: {.cell-output-display}\n\n```{=html}\n
    \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n \n \n
    Size (mm)Size ClassCode
    ≤ 2Very fineVF
    > 2 - 6FineFI
    > 6 - 20MediumME
    > 20 - 60CoarseCO
    > 60Very coarseVC
    \n
    \n```\n\n:::\n:::\n\n\n#### Cementation class of oximorphic features (\\*)\n\nIf an intact specimen is not obtainable, the oximorphic feature is not cemented. Otherwise, take out the feature, apply force perpendicular to its greatest dimension, observe the force needed for failure and report the cementation class.\n\n\n::: {#tbl-a1858 .cell .no-stripe layout-align=\"center\" tbl-cap='Consistence of oximorphic features, Schoeneberger et al. [-@schoeneberger2012], 2-63'}\n::: {.cell-output-display}\n\n```{=html}\n
    \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n \n \n
    CriterionClassCode
    Intact specimen not obtainable or very slight force between fingers, < 8 NNot cementedNC
    Slight force between fingers, 8 - < 20 NExtremely weakly cementedEWC
    Moderate force between fingers, 20 - < 40 NVery weakly cementedVWC
    Strong force between fingers, 40 - < 80 NWeakly cementedWEC
    Does not fail when applying force between fingers, ≥ 80 NModerately or more cementedMOC
    \n
    \n```\n\n:::\n:::\n\n\n#### Abundance (by exposed area) {#sec-a1-8420-aa}\n\nReport the total abundance of the parts with oximorphic features and the total abundance of the parts with reductimorphic features, both for inner, outer and random locations, separately. Report them as percentage of the exposed area (related to the fine earth plus oximorphic features of any size and any cementation class).\n\n#### Abundance of cemented oximorphic features (by volume, related to the whole soil) {#sec-a1-8420-av}\n\nThis paragraph refers to cemented oximorphic features with a cementation class of at least moderately cemented and a diameter of \\> 2 mm. They comprise concretions and nodules (see above) and remnants of a broken-up layer that has been cemented by Fe oxides. Report the abundance as percentage by volume (related to the whole soil).\n\n### Redox potential and reducing conditions (o, m) {#sec-a1-8421}\n\nThe soil redox potential (Eh) expresses the ratio of the concentrations of oxidized and reduced substances and is measured in millivolts (mV). In soils, redox potentials range from +800 mV to --350 mV. A low redox potential indicates strong reducing conditions. When opening a profile pit, oxygen gets access to the profile wall, which leads to a rapid oxidation of the exposed reduced substances and to a subsequent change of the redox potential at the profile wall.\n\n#### Measure the redox potential and calculate the rH value {#sec-a1-8421-m}\n\nFor measuring the redox potential [@blume2010; @un-fao2006], the following equipment is needed:\n\n- a pointed stainless-steel rod of 4-5 mm in diameter, long enough to reach the desired soil depth\n- a perforated plastic tube of 15-20 mm in diameter and of a length corresponding to the depth of measurement\n- concentrated KCl solution, fixed with agar\n- a Pt electrode\n- a reference electrode, e.g., with Ag/AgCl in 1 *M* KCl or with calomel (as used for measuring the pH value)\n- a potentiometer.\n\nProcedure: Step 1 - 2 m aside the profile pit and drive the rod into the soil down to the desired depth, roughen the Pt electrode with fine-grained sandpaper, intrude it immediately into the hole and press it against the soil. Make another hole at 10-20 cm distance, wide and deep enough to place a plastic tube that is some cm longer than the depth of the Pt electrode. Fill the tube with the fixed KCl solution, place the tube into the hole and fix it with soil material. Then, place the reference electrode into the KCl solution. Connect the electrodes with the potentiometer and read the voltage after 30 minutes. Repeat readings every 10 minutes until the value is stable. In some cases, this may take several hours. At least two replicates are recommended. (If you dispose of more than one set of equipment, you may measure the redox potential simultaneously at different soil depths.) The obtained voltage has to be adjusted to the voltage of the standard hydrogen electrode: for Ag/AgCl in 1 *M* KCl add +244 mV, for calomel add +287 mV. Simultaneously, measure the pH value (see [Chapter 8.4.29](#sec-a1-8429)) of the soil at the profile wall in distilled water (soil:water = 1:5) at the same depth. Report the rH value that is calculated with the following equation: $rH = (2 Eh \\div 59) + 2 pH$\n\nNote: If the profile is freshly dug and not too sandy, you may also place the electrodes horizontally at least 15 cm behind in the profile wall.\n\n#### Estimate the rH value (\\*) {#sec-a1-8421-e}\n\nThe following field tests are available to prove reducing conditions:\n\n- Methane can be lit with a match.\n- H~2~S is formed when spraying a soil sample with a 10% HCl solution and can be identified by the odour of rotten eggs.\n- Fe^2+^ can be proven by oxidation with a 0.2% (mass by volume) solution of α,α-dipyridyl dissolved in 1 *N* ammonium acetate (NH~4~OAc), pH 7. Take a soil sample and spray it with the solution. If Fe^2+^ is present, a strong red colour will develop. The test needs a freshly broken sample that has not yet been oxidized at the open profile wall. In neutral to alkaline soils, the colour is hardly visible. Caution: The solution is slightly toxic.\n\nThe following Table explains how to estimate the rH value using these field tests and the observed redoximorphic features (see [Chapter 8.4.20](#sec-a1-8420)). Report the rH range. Note that oximorphic features may be relic. Reductimorphic features may also be relic, if Fe and Mn have been removed in reduced form leaving behind a layer virtually free of Fe and Mn.\n\n\n::: {#tbl-a1859 .cell .no-stripe layout-align=\"center\" tbl-cap='Ranges of rH values and related soil processes as derived from redoximorphic features and from field tests of reducing conditions, Blume et al. [-@blume2010], page 24, FAO [-@un-fao2006], Table 36, modified'}\n::: {.cell-output-display}\n\n```{=html}\n
    \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n \n \n
    CriterionProcessesrH value (V)Code
    No redoximorphic featuresStrongly aerated> 33R6
    Denitrification29 - 33R6
    Oximorphic features of Mn; temporally no free oxygen presentRedox reactions of Mntemporally 20 - 29R5
    Oximorphic features of FeRedox reactions of Fetemporally < 20R4
    Blue-green to grey colour, Fe2 ions always present (reduced areas show a positive α,α-dipyridyl test)Formation of Fe2/Fe3 oxides (green rust)13 - 20R3
    Black colour due to metal sulfides (spraying with a 10% HCl solution causes the formation of H2S)Sulfide formation10 - 13R2
    Flammable methane presentMethane formation< 10R1
    \n
    \n```\n\n:::\n:::\n\n\n### Initial weathering (m) {#sec-a1-8422}\n\nA major process of chemical weathering is the formation of Fe oxides (including hydroxides and oxide-hydroxides). If the weathering is initial, the Fe oxides may be concentrated in soil parts with easy access to oxygen, e.g. along pores. These parts have a distinctly redder hue or stronger chroma. Report the abundance as percentage of the exposed area.\n\n### Coatings and bridges (m) {#sec-a1-8423}\n\n#### Clay coatings and clay bridges {#sec-a1-8423-c}\n\nIlluviated clay consists of clay minerals, mostly together with oxides and in many cases together with organic matter. It covers surfaces of soil aggregates, coarse fragments and biopore walls as coatings (argillans), or it forms bridges between sand grains. The clay minerals give the coatings a shiny appearance. The oxides provide a colour that is more intensive (usually a higher Munsell chroma) than the colour of the matrix; organic matter provides a darker colour (usually a lower Munsell value) than the colour of the matrix (see Chapter 8.4.17). A hand lens (maximum 10x) may be helpful.\n\nReport the abundance of\n\n- clay coatings in % of the surfaces of soil aggregates, coarse fragments and/or biopore walls\n- clay bridges between sand grains in % of involved sand grains.\n\n![Clay coatings and clay bridges, Schoeneberger et al. , 2-34](images/figure_8-20.png){#fig-a1-820}\n\n#### Organic matter coatings and oxide coatings on sand and coarse silt grains {#sec-a1-8423-o}\n\nSand and coarse silt grains are mostly coated by organic matter and/or oxides. In certain layers, these coatings may be cracked. In other layers, these coatings may be missing.\n\n\n::: {#tbl-a1860 .cell .no-stripe layout-align=\"center\" tbl-cap='Organic matter coatings and oxide coatings on sand and/or coarse silt grains'}\n::: {.cell-output-display}\n\n```{=html}\n
    \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n\n \n\n \n \n \n
    CriterionCode
    Cracked coatings on sand grainsC
    Uncoated sand and/or coarse silt grainsU
    All sand and coarse silt grains coated without cracksA
    \n
    \n```\n\n:::\n:::\n\n\nFor C, report the percentage related to the estimated number of sand grains. For U, report the percentage related to the estimated number of sand and coarse silt grains.\n\n### Ribbon-like accumulations (m) (\\*) {#sec-a1-8424}\n\nRibbon-like accumulations are thin, horizontally continuous accumulations within the matrix of another layer. Report the accumulated substance(s).\n\n\n::: {#tbl-a1861 .cell .no-stripe layout-align=\"center\" tbl-cap='Substances of ribbon-like accumulations'}\n::: {.cell-output-display}\n\n```{=html}\n
    \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n \n \n
    CriterionCode
    Clay mineralsCC
    Fe oxides and/or Mn oxidesOO
    Organic matterHH
    Clay minerals and Fe oxides and/or Mn oxidesCO
    Clay minerals and organic matterCH
    Fe oxides and/or Mn oxides and organic matterOH
    Clay minerals, Fe oxides and/or Mn oxides and organic matterTO
    No ribbon-like accumulationsNO
    \n
    \n```\n\n:::\n:::\n\n\nThe term 'oxides', as used here, includes hydroxides and oxide-hydroxides. If clay minerals are accumulated, a ribbon-like accumulation is \\< 7.5 cm thick, in all other cases \\< 2.5 cm. If there are 2 or more ribbon-like accumulations in one layer, report the number of the accumulations and their combined thickness in cm. If clay minerals are accumulated (CC, CO, CH, TO), the ribbon-like accumulations are called **lamellae**.\n\n### Carbonates (o, m) {#sec-a1-8425}\n\nTake a soil sample, add drops of 1 *M* HCl and observe the reaction. This method detects primary and secondary calcium carbonates. Contrary to calcium carbonate, dolomite (calcium magnesium carbonate) shows little reaction with cold HCl. To identity dolomite, put some soil material in a spoon, add drops of 1 *M* HCl and heat it with a lighter underneath. If effervescence occurs only after heating, the presence of dolomite is indicated.\n\n#### Content (\\*) {#sec-a1-8425-c}\n\nReport the carbonate content in the soil matrix and report, whether the reaction with HCl is immediate or only after heating.\n\n\n::: {#tbl-a1862 .cell .no-stripe layout-align=\"center\" tbl-cap='Carbonate contents, FAO [-@un-fao2006], Table 38'}\n::: {.cell-output-display}\n\n```{=html}\n
    \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n \n \n
    CriterionContent% (by mass)Code
    No visible or audible effervescenceNon-calcareous0NC
    Audible effervescence but not visibleSlightly calcareous> 0 - 2SL
    Visible effervescenceModerately calcareous> 2 - 10MO
    Strong visible effervescence, bubbles form a low foamStrongly calcareous> 10 - 25ST
    Extremely strong reaction, thick foam forms quicklyExtremely calcareous> 25EX
    \n
    \n```\n\n:::\n:::\n\n::: {#tbl-a1863 .cell .no-stripe layout-align=\"center\" tbl-cap='Retarded reaction with HCl'}\n::: {.cell-output-display}\n\n```{=html}\n
    \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n\n \n \n \n
    CriterionCode
    Reaction with 1 M HCl immediateI
    Reaction with 1 M HCl only after heatingH
    \n
    \n```\n\n:::\n:::\n\n\n#### Secondary carbonates {#sec-a1-8425-2}\n\nReport the type of secondary carbonates. If more than one occurs, report up to four, the dominant one first. Report secondary carbonates only if **visible when moist**. Always check with HCl if it is really carbonate. Report the abundance as percentage for each form using @tbl-a1865 as a reference.\n\n\n::: {#tbl-a1864 .cell .no-stripe layout-align=\"center\" tbl-cap='Types of secondary carbonates'}\n::: {.cell-output-display}\n\n```{=html}\n
    \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n\n \n\n \n\n \n\n \n\n \n \n \n
    TypeCode
    Masses (including spheroidal aggregations like white eyes (byeloglaska))MA
    Nodules and/or concretionsNC
    Filaments (including continuous filaments like pseudomycelia)FI
    Coatings on soil aggregate surfaces or biopore wallsAS
    Coatings on undersides of coarse fragments and of remnants of broken-up cemented layersUR
    No secondary carbonatesNO
    \n
    \n```\n\n:::\n:::\n\n::: {#tbl-a1865 .cell .no-stripe layout-align=\"center\" tbl-cap='Reference for estimating the percentage of secondary carbonates'}\n::: {.cell-output-display}\n\n```{=html}\n
    \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n\n \n\n \n \n \n
    CodeReference for estimating the percentage
    MA, NC, FIExposed area (related to the fine earth plus accumulations of secondary carbonates of any size and any cementation class)
    ASSoil aggregate and biopore wall surfaces
    URUnderside surfaces
    \n
    \n```\n\n:::\n:::\n\n\n### Gypsum (m) {#sec-a1-8426}\n\n#### Content {#sec-a1-8426-c}\n\nReport the gypsum content in the soil matrix. If readily soluble salts are absent or present in small amounts only, gypsum can be estimated by measuring the electrical conductivity in soil suspensions of different soil-water relations after 30 minutes (in the case of fine-grained gypsum). This method detects primary and secondary gypsum. Note: Higher gypsum contents may be differentiated by abundance of H~2~O-soluble pseudomycelia/crystals and a soil colour with high value and low chroma.\n\n\n::: {#tbl-a1866 .cell .no-stripe layout-align=\"center\" tbl-cap='Gypsum contents in layers with little readily soluble salts, FAO [-@un-fao2006], Table 40'}\n::: {.cell-output-display}\n\n```{=html}\n
    \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n \n \n
    Electrical conductivity (EC)Content% (by mass)Code
    ≤ 1.8 dS m-1 in 10 g soil / 25 ml H2O or
    ≤ 0.18 dS m-1 in 10 g soil / 250 ml H2O
    Non-gypsiferous0NG
    > 0.18 - ≤ 1.8 dS m-1 in 10 g soil / 250 ml H2OSlightly gypsiferous> 0 - 5SL
    > 1.8 dS m-1 in 10 g soil / 250 ml H2OModerately gypsiferous> 5 - 15MO
    > 1.8 dS m-1 in 10 g soil / 250 ml H2OStrongly gypsiferous> 15 - 60ST
    > 1.8 dS m-1 in 10 g soil / 250 ml H2OExtremely gypsiferous> 60EX
    \n
    \n```\n\n:::\n:::\n\n\n#### Secondary gypsum {#sec-a1-8426-2}\n\nSecondary gypsum may be found as\n\n- filaments (vermiform gypsum, pseudomycelia)\n- gypsum crystal intergrowths or nodules (roses)\n- pendants (normally fibrous) below coarse fragments and below remnants of broken-up cemented layers\n- fibrous aggregates\n- flour-like gypsum.\n\nGypsum is soft and can easily be ripped with a knife or broken between thumbnail and forefinger. Gypsum is very soluble, and when gypsum is found in soils that are not in extremely arid conditions, it can be assumed that it is secondary in almost all cases. Contrary to that, gypsiferous rocks and their fragments are primary. Fibrous gypsum, when occurring along veins within limestones or sandstones is also primary. Report the total abundance (as percentage by exposed area, related to the fine earth plus accumulations of secondary gypsum of any size and any cementation class) of all types of secondary gypsum.\n\n### Secondary silica (m) {#sec-a1-8427}\n\n#### Form {#sec-a1-8427-f}\n\nSecondary silica (SiO~2~) is off-white and predominantly consisting of opal and microcrystalline forms. It occurs as laminar caps, lenses, (partly) filled interstices, bridges between sand grains, and as coatings at surfaces of soil aggregates, biopore walls, coarse fragments, and remnants of broken-up cemented layers. Report the type of secondary silica. If more than one type occurs, report up to two, the dominant one first. Note: Durinodes are often coated with secondary carbonates.\n\n\n::: {#tbl-a1867 .cell .no-stripe layout-align=\"center\" tbl-cap='Types of secondary silica'}\n::: {.cell-output-display}\n\n```{=html}\n
    \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n\n \n\n \n\n \n\n \n \n \n
    TypeCode
    Nodules (durinodes)DN
    Accumulations within a layer, cemented by secondary silicaCH
    Remnants of a layer that has been cemented by secondary silicaFC
    Other accumulationsOT
    No secondary silicaNO
    \n
    \n```\n\n:::\n:::\n\n\n#### Size {#sec-a1-8427-s}\n\nIf a layer shows durinodes and/or remnants of a layer that has been cemented by secondary silica, report their size class. The Table indicates the average length of the greatest dimension.\n\n\n::: {#tbl-a1868 .cell .no-stripe layout-align=\"center\" tbl-cap='Size of durinodes and remnants of a layer that has been cemented by secondary silica'}\n::: {.cell-output-display}\n\n```{=html}\n
    \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n \n \n
    Size (cm)Size classCode
    ≤ 0.5Very fineVF
    > 0.5 - 1FineFI
    > 1 - 2MediumME
    > 2 - 6CoarseCO
    > 6Very coarseVC
    \n
    \n```\n\n:::\n:::\n\n\n#### Abundance {#sec-a1-8427-a}\n\nReport the total percentage (by exposed area) of secondary silica. For a cemented layer, this percentage refers to the fine earth plus accumulations of secondary silica of any size and any cementation class. For durinodes and remnants of a cemented layer, this percentage comprises the secondary silica visible at their surfaces. If a layer shows durinodes and/or remnants of a cemented layer, report in addition the percentage (by volume) of those durinodes and remnants that have a diameter ≥ 1 cm.\n\n### Readily soluble salts (o, m) {#sec-a1-8428}\n\nReadily soluble salts are precipitated in dry soil and dissolved in moist soil. They are more soluble than gypsum. The presence of readily soluble salts is checked by measuring the electrical conductivity in the saturation extract (EC~SE~). In the saturation extract, the soil is completely moist, but has no visible water surplus. This is not easy to achieve.\n\nAlternatively, one can measure the electrical conductivity in an extract of 10 g soil with 25 ml aqua dest. (EC~2.5~). Mix soil and water carefully, let it rest for at least 30 minutes and measure the electrical conductivity in the clear solution in dS m^-1^. It must then be transformed into the EC~SE~ according to the following equation: $EC_{SE} = 250 \\times EC_{2.5} \\times (WC_{SE})^{-1}$\n\nWC~SE~ is the water content in the saturation extract. It can be estimated in mineral soils from texture (see [Chapter 8.4.9](#sec-a1-849)) and C~org~ content (see [Chapter 8.4.36](#sec-a1-8436)) and in peat soils from the degree of decomposition (see [Chapter 8.4.41](#sec-a1-8441)) with the help of the following Tables. High amounts of coarse fragments reduce the water content.\n\nReport the electrical conductivity of the saturation extract in dS m^-1^.\n\n\n::: {#tbl-a1869 .cell .no-stripe layout-align=\"center\" tbl-cap='Estimation of the water content of the saturation extract of mineral layers, DVWK [-@bodenkun1995], FAO [-@un-fao2006], Table 43'}\n::: {.cell-output-display}\n\n```{=html}\n
    \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n\n\n\n\n \n\n\n\n\n\n\n \n\n\n\n\n\n\n \n\n\n\n\n\n\n \n\n\n\n\n\n\n \n\n\n\n\n\n\n \n\n\n\n\n\n\n \n\n\n\n\n\n\n \n\n\n\n\n\n\n \n\n\n\n\n\n\n \n\n\n\n\n\n\n \n\n\n\n\n\n\n \n\n\n\n\n\n\n \n \n \n
    Texture class\n Water content of the saturation extract (WCSE) (g water / 100 g soil) by Corg content (%)\n
    < 0.250.25 - < 0.50.5 - < 11 - < 22 - < 44 - < 20
    CS568132135
    MS8911162438
    FS, VFS101113182640
    LS, SL (< 10% clay)141517223045
    SiL (< 10% clay)171820253449
    Si192022273651
    SL (≥ 10% clay)222326313955
    L252629344258
    SiL (≥ 10% clay)282932374662
    SCL323336415067
    CL, SiCL444648536380
    SC515355607088
    SiC, C (< 60% clay)6365687382102
    C (≥ 60% clay)105107110116126147
    \n
    \n```\n\n:::\n:::\n\n::: {#tbl-a1870 .cell .no-stripe layout-align=\"center\" tbl-cap='Estimation of the water content of the saturation extract of organic layers, DVWK [-@bodenkun1995], FAO [-@un-fao2006], Table 43'}\n::: {.cell-output-display}\n\n```{=html}\n
    \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n\n \n\n \n\n \n\n \n \n \n
    Degree of decomposition
    (by volume, related to the fine earth plus all dead plant residues)
    Water content of the saturation extract (WCSE) (g water / 100 g soil)
    The organic material consists only of recognizable dead plant tissues80
    After rubbing, > three fourths, but not all, of the organic material consist of recognizable dead plant tissues120
    After rubbing, ≤ three fourths and > two thirds of the organic material consist of recognizable dead plant tissues170
    After rubbing, ≤ two thirds and > one sixth of the organic material consist of recognizable dead plant tissues240
    After rubbing, ≤ one sixth of the organic material consists of recognizable dead plant tissues300
    \n
    \n```\n\n:::\n:::\n\n\n### Field pH (o, m) {#sec-a1-8429}\n\nReport the field pH. For its determination, two different methods are recommended: the colorimetric and the potentiometric method. The colorimetric method only allows the pH measurement in distilled water, while the potentiometric method allows the measurement in different solutions.\n\n#### Colorimetric method {#sec-a1-8429-c}\n\nMix soil and distilled water in a 1:1 ratio (volume:volume) and stir the mixture thoroughly. Allow the mixture to settle until a supernatant forms. Submerge an indicator paper in the supernatant and report the result.\n\n#### Potentiometric method {#sec-a1-8429-p}\n\n@tbl-a1871 shows common solutions and mixing ratios. Mix air-dry soil with the solution thoroughly. Allow the mixture to settle until a supernatant forms. Measure the pH value with a pH electrode, ideally with the help of a tripod. Wait until the measured value is steady. Report the measured value together with the code indicating solution and mixing ratio.\n\n\n::: {#tbl-a1871 .cell .no-stripe layout-align=\"center\" tbl-cap='Potentiometric pH measurement'}\n::: {.cell-output-display}\n\n```{=html}\n
    \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n\n \n\n\n \n\n\n \n\n\n \n \n \n
    SolutionMixing ratio
    (volume:volume)
    Code
    Distilled water (H2O)1:1W11
    Distilled water (H2O)1:5W15
    CaCl2, 0.01 M1:5C15
    KCl, 1 M1:5K15
    \n
    \n```\n\n:::\n:::\n\n\n### Consistence (m) {#sec-a1-8430}\n\nConsistence is the degree and kind of cohesion and adhesion that soil exhibits. This Chapter refers to the consistence of the matrix and of non-redoximorphic features. For the consistence of redoximorphic features, see [Chapter 8.4.20](#sec-a1-8420). Consistence is reported separately for cemented and non-cemented (parts of) layers. If a specimen of soil does not fall into pieces by applying low forces, one has to check, whether it is cemented.\n\n#### Presence and volume of cementation {#sec-a1-8430-p}\n\nFor checking cementation, different specimens have to be taken, depending on soil characteristics. For checking surface crusts and platy aggregates, take a specimen that is approximately 1 to 1.5 cm long by 0.5 cm thick (or the thickness of occurrence, if \\< 0.5 cm thick). In all other cases, take a specimen, around 2.6 to 3 cm long at all dimensions. Take the specimen air-dried and submerge it in water for at least 1 hour. If it slakes like forming a soup, it is not cemented. Otherwise, it is cemented. Report the percentage (by volume, related to the whole soil) of the layer that is cemented.\n\n#### Cementing agents (cemented soil) {#sec-a1-8430-c}\n\nReport the cementing agents. If more than one is present, report up to three, the dominant one first. The term 'oxides', as used here, includes hydroxides and oxide-hydroxides.\n\n\n::: {#tbl-a1872 .cell .no-stripe layout-align=\"center\" tbl-cap='Cementing agents, Schoeneberger et al. [-@schoeneberger2012], 2-64'}\n::: {.cell-output-display}\n\n```{=html}\n
    \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n \n \n
    Cementing agentCode
    CarbonatesCA
    GypsumGY
    Readily soluble saltsRS
    SilicaSI
    Organic matterOM
    Fe oxidesFE
    Mn oxidesMN
    AlAL
    Ice, < 75% (by volume)IA
    Ice, < 75% (by volume)IM
    \n
    \n```\n\n:::\n:::\n\n\n#### Cementation (cemented soil) and rupture resistance (non-cemented soil) {#sec-a1-8430-r}\n\nFor checking this feature, different specimens have to be taken, depending on soil characteristics. For checking surface crusts and platy aggregates, take a specimen that is approximately 1 to 1.5 cm long by 0.5 cm thick (or the thickness of occurrence, if \\< 0.5 cm thick) and apply force perpendicular to its greatest dimension. In all other cases, take a specimen, around 2.6 to 3 cm long at all dimensions, and apply force. Observe the force needed for failure and report the cementation class (cemented soil) or the rupture resistance class (non-cemented soil). The rupture resistance has to be detected in moist soil and, if possible, also in dry soil. If specimens of the required size are not obtainable, use the following equation to calculate the stress at failure (@tbl-a1873 and @tbl-a1874) [@schoeneberger2012]:\n\n$(2.8 \\text{cm} \\div \\text{cube length cm})^{2} \\times (\\text{estimated stress (N) at failure})$\n\ne.g. for a 5.6-cm cube $[(2.8 \\div 5.6)^{2} \\times 20 N] = 5 N$ → Very friable (moist).\n\n\n::: {#tbl-a1873 .cell .no-stripe layout-align=\"center\" tbl-cap='Cementation, Schoeneberger et al. [-@schoeneberger2012], 2-63'}\n::: {.cell-output-display}\n\n```{=html}\n
    \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n \n \n
    CriterionClassCode
    Intact specimen not obtainable or very slight force between fingers, < 8 NNot cementedNOC
    Slight force between fingers, 8 - < 20 NExtremely weakly cementedEWC
    Moderate force between fingers, 20 - < 40 NVery weakly cementedVWC
    Strong force between fingers, 40 - < 80 NWeakly cementedWEC
    Moderate force between hands, 80 - < 160 NModerately cementedMOC
    Foot pressure by full body weight, 160 - < 800 NStrongly cementedSTC
    Blow of < 3 J (3 J = 2 kg dropped 15 cm) and does not fail under foot pressure by full body weight (800 N)Very strongly cementedVSC
    low of < 3 J (3 J = 2 kg dropped 15 cm)Extremely strongly cementedEXC
    \n
    \n```\n\n:::\n:::\n\n::: {#tbl-a1874 .cell .no-stripe layout-align=\"center\" tbl-cap='Rupture resistance, non-cemented soil, Schoeneberger et al. [-@schoeneberger2012], 2-63'}\n::: {.cell-output-display}\n\n```{=html}\n
    \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n\n\n\n \n\n\n\n\n \n\n\n\n\n \n\n\n\n\n \n\n\n\n\n \n\n\n\n\n \n\n\n\n\n \n\n\n\n\n \n\n\n\n\n \n \n \n
    Criterion\n Moist rupture resistance\n \n Dry rupture resistance\n
    ClassCodeClassCode
    Intact specimen not obtainableLooseLOLooseLO
    Very slight force between fingers, < 8 NVery FriableVFSoftSO
    Slight force between fingers, 8 - < 20 NFriableFRSlightly hardSH
    Moderate force between fingers, 20 - < 40 NFirmFIModerately hardMH
    Strong force between fingers, 40 - < 80 NVery firmVIHardHA
    Moderate force between hands, 80 - < 160 NExtremely firmEIVery hardVH
    Foot pressure by full body weight, 160 - < 800 NSlightly rigidSRExtremely hardEH
    Blow of < 3 J (3 J = 2 kg dropped 15 cm) and does not fail under foot pressure by full body weight (800 N)RigidRIRigidRI
    Blow of < 3 J (3 J = 2 kg dropped 15 cm)Very rigidVRVery rigidVR
    \n
    \n```\n\n:::\n:::\n\n\n#### Susceptibility for cementation (non-cemented soil) {#sec-a1-8430-s}\n\nSome layers are prone to cementation after repeated drying and wetting. Report the susceptibility.\n\n\n::: {#tbl-a1875 .cell .no-stripe layout-align=\"center\" tbl-cap='Susceptibility for cementation'}\n::: {.cell-output-display}\n\n```{=html}\n
    \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n\n \n \n \n
    CriterionCode
    Cementation after repeated drying and wettingCW
    No cementation after repeated drying and wettingNO
    \n
    \n```\n\n:::\n:::\n\n\n#### Manner of failure (non-cemented to weakly cemented soil) {#sec-a1-8430-f}\n\nReport the manner of failure (brittleness). Take a moist specimen, around 3 cm long at all dimensions, press it between thumb and forefinger and observe it when it ruptures.\n\n\n::: {#tbl-a1876 .cell .no-stripe layout-align=\"center\" tbl-cap='Types of manner of failure (brittleness), Schoeneberger et al. [-@schoeneberger2012], 2-65'}\n::: {.cell-output-display}\n\n```{=html}\n
    \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n\n \n\n\n \n\n\n \n \n \n
    CriterionTypeCode
    Abruptly (pops or shatters)BrittleBR
    Before compression to one half the original thicknessSemi-deformableSD
    After compression to one half the original thicknessDeformableDF
    \n
    \n```\n\n:::\n:::\n\n\n#### Plasticity (non-cemented soil) {#sec-a1-8430-l}\n\nPlasticity is the degree to which reworked soil can be permanently deformed without rupturing. It is estimated at a water content where the maximum plasticity is expressed (usually moist). Make a roll (wire, sausage) of soil, 4 cm long, roll it to smaller diameters and report the plasticity.\n\n\n::: {#tbl-a1877 .cell .no-stripe layout-align=\"center\" tbl-cap='Types of plasticity, Schoeneberger et al. [-@schoeneberger2012], 2-66'}\n::: {.cell-output-display}\n\n```{=html}\n
    \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n\n \n\n\n \n\n\n \n\n\n \n \n \n
    CriterionTypeCode
    Does not form a roll 6 mm in diameter, or if a roll is formed, it cannot support itself if held on end.Non-plasticNP
    6 mm diameter roll supports itself; 4 mm diameter roll does not.Slightly plasticSP
    4 mm diameter roll supports itself; 2 mm diameter roll does not.Moderately plasticMP
    2 mm diameter roll supports itself.Very plasticVP
    \n
    \n```\n\n:::\n:::\n\n\n#### Penetration resistance\n\nMeasuring the penetration resistance is recommended for layers that are cemented or have a rupture-resistance class of firm or more (moist). Non-cemented soil should be at field capacity for measurement. Use a penetrometer and report the penetration resistance in MPa. The measurement should be repeated at least five times to calculate a reliable average value.\n\n### Surface crusts (m) {#sec-a1-8431}\n\nA crust is a thin layer of soil constituents bound together into a horizontal mat or into small polygonal plates [see @schoeneberger2012]. Soil crusts develop in the first mineral layer(s) and are formed by a sealing agent of physical, chemical and/or biological origin. The characteristics of the crust are different from the underlying layers. Typically, soil crusts change the infiltration rate and stabilize loose soil aggregates. They may be present permanently or only when the soil is dry. The area covered is reported in [Chapter 8.3.7](#sec-a1-837). They may be cemented or not, which is reported in [Chapter 8.4.30](#sec-a1-8430).\n\nReport the sealing agent. If more than one is present, report up to three, the dominant one first.\n\n\n::: {#tbl-a1878 .cell .no-stripe layout-align=\"center\" tbl-cap='Sealing agent of surface crusts'}\n::: {.cell-output-display}\n\n```{=html}\n
    \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n \n \n
    TypeCode
    Physical, permanentPP
    Physical, only when dryPD
    Chemical, by carbonatesCC
    Chemical, by gypsumCG
    Chemical, by readily soluble saltsCR
    Chemical, by silicaCS
    Biological, by cyanobacteriaBC
    Biological, by algaeBA
    Biological, by fungiBF
    Biological, by lichensBL
    Biological, by mossesBM
    No crust presentNO
    \n
    \n```\n\n:::\n:::\n\n\n### Continuity of hard materials and cemented layers (m) {#sec-a1-8432}\n\nContinuous rock, technic hard material and cemented layers may have fractures, which are filled by non-cemented soil material. Report the total percentage (by volume, related to the whole soil) that is occupied by the fractures and the average distance between the fractures in cm. This has also to be reported, if the hard or cemented material starts at the soil surface. If a cemented layer is not only fractured but broken up, the remnants are reported with the coarse fragments (see [Chapter 8.4.7](#sec-a1-847)).\n\n### Volcanic glasses and andic characteristics (o, m) {#sec-a1-8433}\n\n#### Volcanic glasses in the sand and coarse silt fraction {#sec-a1-8433-s}\n\nReport the percentage of the particles in the sand and coarse silt fraction (\\> 20 μm - ≤ 2 mm) that consist of volcanic glasses. Use a hand lens or microscope.\n\n\n::: {#tbl-a1879 .cell .no-stripe layout-align=\"center\" tbl-cap='Abundance of particles in the sand and coarse silt fraction that consist of volcanic glasses'}\n::: {.cell-output-display}\n\n```{=html}\n
    \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n\n \n\n\n \n\n\n \n\n\n \n \n \n
    % of ParticlesAbundance classCode
    0NoneN
    > 0 - 5FewF
    > 5 - 30CommonC
    > 30ManyM
    \n
    \n```\n\n:::\n:::\n\n\nIf the percentage is around a limit value, take a soil sample, gain the sand and coarse silt fraction by sieving, lay the particles on a sheet, and count the glass particles and the non-glass particles.\n\n#### Andic characteristics {#sec-a1-8433-a}\n\n[*Andic properties*](chapter-03.qmd#sec-andicp) are defined by laboratory data. In the field, one can recognize a low bulk density, a dark colour and a high organic matter content. In addition, there are two specific field tests indicative of [*andic properties*](chapter-03.qmd#sec-andicp).\n\nThixotropy: Layers with [*andic properties*](chapter-03.qmd#sec-andicp) show a high variable charge allowing the absorption of much water that can easily be driven out by shaking but will be absorbed again, after a while. Procedure: Take a soil sample and make a sphere of about 2.5 cm in diameter. Wait until any moisture films have disappeared. Place the sphere in cupped hands and shake it. If moisture films appear at the surface of the sphere, the soil shows thixotropy. After a while, the moisture films will disappear again.\n\nNaF test according to Fieldes and Perrott [-@fieldes1966], after FAO [-@un-fao2006]: A pH~NaF~ of \\> 9.5 indicates the presence of abundant allophanes and imogolites and/or organo-aluminium complexes. Aluminium sorbs F^-^ ions while releasing OH^-^ ions. The test is indicative for most layers with [*andic properties*](chapter-03.qmd#sec-andicp), except for those very rich in organic matter. However, the same reaction occurs in [*spodic horizons*](chapter-03.qmd#sec-spodich) and in acidic clayey soils that are rich in aluminium-interlayered clay minerals; soils with free carbonates also react. Before applying the NaF test, check the soil pH in water or KCl (the NaF test is not suitable for alkaline soils) and the presence of free carbonates (using the HCl test). Procedure: Place a small amount of soil on a filter paper previously soaked in phenolphthalein and add some drops of 1 M NaF (adjusted to pH 7.5). A positive reaction is indicated by a fast change to an intense red colour. Alternatively, measure the pH of a suspension of 1 g soil in 50 ml 1 M NaF (adjusted to pH 7.5) after waiting 2 minutes. A pH of \\> 9.5 is an indication of [*andic properties*](chapter-03.qmd#sec-andicp).\n\nReport the results.\n\n\n::: {#tbl-a1880 .cell .no-stripe layout-align=\"center\" tbl-cap='Thixotropy and NaF field test'}\n::: {.cell-output-display}\n\n```{=html}\n
    \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n\n \n\n \n\n \n \n \n
    CriterionCode
    Positive NaF testNF
    ThixotropyTH
    Positive NaF test and ThixotropyNT
    None of the aboveNO
    \n
    \n```\n\n:::\n:::\n\n\n### Permafrost features (o, m) {#sec-a1-8434}\n\n#### Cryogenic alteration {#sec-a1-8434-c}\n\nEstimate the total percentage (by exposed area, related to the whole soil) affected by cryogenic alteration. Report up to three features, the dominant one first, and report the percentage for each feature separately.\n\n\n::: {#tbl-a1881 .cell .no-stripe layout-align=\"center\" tbl-cap='Cryogenic alteration'}\n::: {.cell-output-display}\n\n```{=html}\n
    \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n \n \n
    CriterionCode
    Ice wedgeIW
    Ice lensIL
    Disrupted lower layer boundaryDB
    Organic involutions in a mineral layerOI
    Mineral involutions in an organic layerMI
    Separation of coarse material and fine materialCF
    OtherOT
    NoneNO
    \n
    \n```\n\n:::\n:::\n\n\n#### Layers with permafrost {#sec-a1-8434-p}\n\nA layer with permafrost has continuously for ≥ 2 consecutive years one of the following:\n\n- massive ice, cementation by ice or readily visible ice crystals, or\n- a soil temperature of \\< 0 °C and insufficient water to form readily visible ice crystals. Report whether a layer has permafrost.\n\n\n::: {#tbl-a1882 .cell .no-stripe layout-align=\"center\" tbl-cap='Layers with permafrost'}\n::: {.cell-output-display}\n\n```{=html}\n
    \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n\n \n\n \n \n \n
    CriterionCode
    Massive ice, cementation by ice or readily visible ice crystalsI
    Soil temperature of < 0 °C and insufficient water to form readily visible ice crystalsT
    No permafrostN
    \n
    \n```\n\n:::\n:::\n\n\n### Bulk density (m) (\\*) {#sec-a1-8435}\n\nEstimate the packing density using a knife with a blade approx. 10 cm long.\n\n\n::: {#tbl-a1883 .cell .no-stripe layout-align=\"center\" tbl-cap='Packing density'}\n::: {.cell-output-display}\n\n```{=html}\n
    \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n \n \n
    CriterionClassCode
    Knife penetrates completely even when applying low forcesVery looseVL
    Knife penetrates completely when forces are appliedLooseLO
    Knife penetrates half when forces are appliedIntermediateIN
    Only the knifepoint penetrates when forces are appliedFirmFR
    Knife does not (or only a little bit) penetrate when forces are appliedVery firmVR
    \n
    \n```\n\n:::\n:::\n\n\nWith the following Figure, the bulk density is determined from packing density and soil texture (see [Chapter 8.4.9](#sec-a1-849)). If C~org~ content is \\> 1%, bulk density must be reduced by 0.03 kg dm^-3^ for each 0.5% increment in C~org~ content. Report the bulk density with an accuracy of one decimal.\n\n![Estimation of bulk density from packing density and texture, FAO [-@un-fao2006], Figure 7, modified](images/figure_8-21.png){#fig-a1-821 fig-align=\"center\"}\n\n### Soil organic carbon (C~org~) (m) {#sec-a1-8436}\n\n#### Estimation of the content (\\*) {#sec-a1-8436-e}\n\nReport the estimated organic carbon content. It is based on the Munsell value, moist, and the texture. If chroma is 3.5 - 6, use value 0.5 higher (e.g. if you reported a Munsell colour of 10YR 3/4, use a value of 3.5 for estimating soil organic carbon). If chroma is \\> 6, use value 1 higher.\n\nCaution: The Munsell value is also influenced by parent material, carbonates and redox conditions.\n\n\n::: {#tbl-a1884 .cell .no-stripe layout-align=\"center\" tbl-cap='Estimation of organic carbon contents in a moist sample, Blume et al. [-@blume2010], modified'}\n::: {.cell-output-display}\n\n```{=html}\n
    \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n \n \n
    Munsell value\n Organic carbon content (%), depending on soil texture class\n
    SLS, SL, LSiL, Si, SiCL, CL, SCL, SC, SiC, C
    ≥ 6< 0.2< 0.2< 0.2
    5.5< 0.2< 0.20.2 - < 0.5
    50.2 - < 0.50.2 - < 0.50.2 - < 0.5
    4.50.2 - < 0.50.2 - < 0.50.2 - < 0.5
    40.2 - < 0.50.2 - < 0.50.2 - < 1.0
    3.50.2 - < 1.00.5 - < 1.00.5 - < 2.5
    30.5 - < 2.51.0 - < 2.51.0 - < 5.0
    2.51.0 - < 5.0≥ 2.5 ≥ 2.5
    ≤ 2≥ 2.5
    \n
    \n```\n\n:::\n:::\n\n\n#### Natural accumulations of organic matter {#sec-a1-8436-n}\n\nThis Chapter refers to accumulations of organic matter in form of discrete bodies. They have usually a lower value than the surrounding material. Report here all accumulations that are natural or that are a side effect of human activities. For additions of [*artefacts*](chapter-03.qmd#sec-artefm) see [Chapter 8.4.8](#sec-a1-848) and of human-transported material see [Chapter 8.4.39](#sec-a1-8439). If black carbon is purposefully made by humans, it is considered to be an artefact. Organic matter accumulations due to animal activity are reported twice, once here and once in [Chapter 8.4.38](#sec-a1-8438).\n\n\n::: {#tbl-a1885 .cell .no-stripe layout-align=\"center\" tbl-cap='Types of accumulation of organic matter'}\n::: {.cell-output-display}\n\n```{=html}\n
    \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n\n \n\n \n\n \n\n \n \n \n
    TypeCode
    Filled earthworm burrowsBU
    Filled krotowinasKR
    Organic matter coatings at surfaces of soil aggregates and biopore walls (no visible other material in the coatings)CO
    Black carbon (e.g. charcoal, partly charred particles, soot))BC
    No visible accumulation of organic matterNO
    \n
    \n```\n\n:::\n:::\n\n\nReport up to three types, the dominant one first, and report the percentage (by exposed area) for each type separately. Black carbon has to be additionally reported as percentage of the exposed area (related to the fine earth plus black carbon of any size).\n\n### Roots (o, m) {#sec-a1-8437}\n\nCount the number of roots per dm^2^, separately for the two diameter classes, and report the abundance classes.\n\n\n::: {#tbl-a1886 .cell .no-stripe layout-align=\"center\" tbl-cap='Abundance of roots, FAO [-@un-fao2006], Table 80'}\n::: {.cell-output-display}\n\n```{=html}\n
    \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n \n \n
    Number ≤ 2 mmNumber > 2 mmAbundance classCode
    00NoneN
    1 - 51 - 2Very fewV
    6 - 103 - 5FewF
    11 - 206 - 10CommonC
    21 - 5011 - 20ManyM
    > 50> 20AbundanceA
    \n
    \n```\n\n:::\n:::\n\n\n### Results of animal activity (o, m) {#sec-a1-8438}\n\nReport the animal activity that has visibly changed the features of the layer. If applicable, report up to 5 types, the dominant one first. Report the percentage (by exposed area), separately for mammal activity, bird activity, worm activity, insect activity and unspecified activity.\n\n\n::: {#tbl-a1887 .cell .no-stripe layout-align=\"center\" tbl-cap='Types of animal activity, FAO [-@un-fao2006], Table 82, modified'}\n::: {.cell-output-display}\n\n```{=html}\n
    \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n \n \n
    TypeCode
    Mammal activity
    Open large burrowsMO
    Infilled large burrows (krotovinas)MI
    Bird activity
    Bones, feathers, sorted gravel of similar sizeBA
    Worm activity
    Earthworm channelsWE
    Worm castsWC
    Insect activity
    Termite channels and nestsIT
    Ant channels and nestsIA
    Other insect activityIO
    Burrows (unspecified)BU
    No visible results of animal activityNO
    \n
    \n```\n\n:::\n:::\n\n\n### Human alterations (o, m) {#sec-a1-8439}\n\n#### Additions of human-transported natural material {#sec-a1-8439-a}\n\nNatural material is any material not meeting the criteria of [*artefacts*](chapter-03.qmd#sec-artefm) (see Chapter 8.4.8). Report the percentage (by volume, related to the whole soil), which may range from very little up to 100%, for each addition separately. If more than one occurs, report up to three, the dominant one first. For mineral additions ≤ 2 mm, report additionally, if possible, the texture class (see Chapter 8.4.9), the carbonate content (see Chapter 8.4.25) and the C~org~ content (see Chapter 8.4.36).\n\n\n::: {#tbl-a1888 .cell .no-stripe layout-align=\"center\" tbl-cap='Artificial additions of natural material'}\n::: {.cell-output-display}\n\n```{=html}\n
    \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n\n \n\n \n\n \n \n \n
    MaterialCode
    OrganicOR
    Mineral, > 2 mmML
    Mineral, ≤ 2 mmMS
    No additionsNO
    \n
    \n```\n\n:::\n:::\n\n\n#### In-situ alterations {#sec-a1-8439-i}\n\nReport in-situ alterations. If more than one applies, report up to two, the dominant one first.\n\n\n::: {#tbl-a1889 .cell .no-stripe layout-align=\"center\" tbl-cap='In-situ alterations'}\n::: {.cell-output-display}\n\n```{=html}\n
    \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n \n \n
    TypeCode
    Ploughing, annuallyPA
    Ploughing, at least once every 5 yearsPO
    Ploughing in the past, not ploughed since > 5 yearsPP
    Ploughing, unspecifiedPU
    Remodelled (e.g. single ploughing)RM
    LooseningLO
    Compaction, other than a plough panCP
    Structure deterioration, other than by ploughing or remodellingSD
    OtherOT
    No in-situ alterationNO
    \n
    \n```\n\n:::\n:::\n\n\n#### Soil aggregate formation after additions or after in-situ alterations {#sec-a1-8439-f}\n\nAdding or mixing may combine materials richer and poorer in C~org~. A new granular structure may form combining the two. Report, to which extent this process has happened. Use a hand lens.\n\n\n::: {#tbl-a1890 .cell .no-stripe layout-align=\"center\" tbl-cap='Aggregate formation after additions or after *in-situ* alterations'}\n::: {.cell-output-display}\n\n```{=html}\n
    \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n\n \n\n \n \n \n
    CriterionCode
    New granular structure present throughout the layerT
    New granular structure present in places, but in other places the added or mixed materials and the previously present materials lie isolated from each otherP
    No new granular structure presentN
    \n
    \n```\n\n:::\n:::\n\n\n### Parent material (m) {#fig-a1-8440}\n\nReport the parent material. Use the help of a geological map.\n\n\n::: {#tbl-a1891 .cell .no-stripe layout-align=\"center\" tbl-cap='Types of parent material, FAO [-@un-fao2006], Table 12, modified'}\n::: {.cell-output-display}\n\n```{=html}\n
    \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n\n\n\n \n\n\n\n\n \n\n\n\n\n \n\n\n\n\n \n\n\n\n\n \n\n\n\n\n \n\n\n\n\n \n\n\n\n\n \n\n\n\n\n \n\n\n\n\n \n\n\n\n\n \n\n\n\n\n \n\n\n\n\n \n\n\n\n\n \n\n\n\n\n \n\n\n\n\n \n\n\n\n\n \n\n\n\n\n \n\n\n\n\n \n\n\n\n\n \n\n\n\n\n \n\n\n\n\n \n\n\n\n\n \n\n\n\n\n \n\n\n\n\n \n\n\n\n\n \n\n\n\n\n \n\n\n\n\n \n\n\n\n\n \n\n\n\n\n \n\n\n\n\n \n\n\n\n\n \n\n\n\n\n \n\n\n\n\n \n\n\n\n\n \n\n\n\n\n \n\n\n\n\n \n\n\n\n\n \n\n\n\n\n \n\n\n\n\n \n\n\n\n\n \n\n\n\n\n \n\n\n\n\n \n\n\n\n\n \n\n\n\n\n \n\n\n\n\n \n\n\n\n\n \n\n\n\n\n \n\n\n\n\n \n\n\n\n\n \n\n\n\n\n \n\n\n\n\n \n\n\n\n\n \n\n\n\n\n \n\n\n\n\n \n\n\n\n\n \n\n\n\n\n \n\n\n\n\n \n\n\n\n\n \n\n\n\n\n \n\n\n\n\n \n\n\n\n\n \n\n\n\n\n \n\n\n\n\n \n\n\n\n\n \n\n\n\n\n \n\n\n\n\n \n \n \n
    Major classGroupCodeTypeCode
    Igneous RockFelsic igneousIFGraniteIF1
    Quartz-dioriteIF2
    Grano-dioriteIF3
    DioriteIF4
    RhyoliteIF5
    Intermediate igneousIIAndesite, trachyte, phonoliteII1
    Diorite-syeniteII2
    Mafic igneousIMGabbroIM1
    BasaltIM2
    DoleriteIM3
    Ultramafic igneousIUPeridotiteIU1
    PyroxeniteIU2
    Ilmenite, magnetite, ironstone, serpentiniteIU3
    PyroclasticIPTuff, tuffiteIP1
    Volcanic scoria/brecciaIP2
    Volcanic ashIP3
    IgnimbriteIP4
    Metamorphic rockFelsic metamorphicMFQuartziteMF1
    Gneiss, migmatiteMF2
    Slate, phyllite (pelitic rocks)MF3
    SchistMF4
    Mafic metamorphicMMSlate, phyllite (pelitic rocksMM1
    (Green)schistMM2
    Gneiss rich in Fe-Mg mineralsMM3
    Metamorphic limestone (marble)MM4
    AmphiboliteMM5
    EclogitMM6
    Ultramafic metamorphicMUSerpentinite, greenstoneMU1
    Sedimentary rock (consolidated)Clastic sedimentsSCConglomerate, brecciaSC1
    Sandstone, greywacke, arkoseSC2
    Silt-, mud-, claystoneSC3
    ShaleSC4
    IronstoneSC5
    Carbonatic, organicSOLimestone, other carbonate rockSO1
    Marl and other mixturesSO2
    Coals, bitumen and related rocksSO3
    EvaporitesSEAnhydrite, gypsumSE1
    HaliteSE2
    Sedimentary rock (unconsolidated)Weathered residuumURBauxite, lateriteUR1
    FluvialUFSand and gravelUF1
    Clay, silt and loamUF2
    LacustrineULSandUL1
    Silt and clay, < 20% CaCO3 equivalent, little or no diatomsUL2
    Silt and clay, < 20% CaCO3 equivalent, many diatomsUL3
    Silt and clay, ≥ 20% CaCO3 equivalent (marl)UL4
    Marine, estuarineUMSandUM1
    Clay and siltUM2
    ColluvialUCSlope depositsUC1
    LaharUC2
    Deposit of soil materialUC3
    AeolianUELoessUE1
    SandUE2
    GlacialUGMoraineUG1
    Glacio-fluvial sandUG2
    Glacio-fluvial gravelUG3
    CryogenicUKPeriglacial rock debrisUK1
    Periglacial solifluction layerUK2
    OrganicUORainwater-fed peat (bog)UO1
    Groundwater-fed peat (fen)UO2
    Lacustrine (organic limnic sediments)UO3
    Anthropogenic/ technogenicUARedeposited natural materialUA1
    Industrial/artisanal depositsUA2
    Unspecified depositsUUClayUU1
    Loam and siltUU2
    SandUU3
    Gravelly sandUU4
    Gravel, broken rockUU5
    \n
    \n```\n\n:::\n:::\n\n\nIf the type is unknown, just report the group. Note: the old terms 'acid' and 'basic' rocks were replaced by 'felsic' and 'mafic'.\n\n### Degree of decomposition in organic layers and presence of dead plant residues (o) (\\*) {#sec-a1-8441}\n\n#### Degree of decomposition {#sec-a1-8441-d}\n\nThis Chapter refers to the transformation of visible plant tissues into visibly homogeneous organic matter. Rub the soil material and report the percentage of visible plant tissues (by volume, related to the fine earth plus all dead plant residues).\n\n#### Subdivisions of the Oa horizon {#sec-a1-8441-s}\n\nIf an Oa horizon (see Annex 3, [Chapter 10.2](annex-03-horizon-layer-designations.qmd#sec-a3-2)) is present, report its subdivisions.\n\n\n::: {#tbl-a1892 .cell .no-stripe layout-align=\"center\" tbl-cap='Subdivisions of the Oa horizon'}\n::: {.cell-output-display}\n\n```{=html}\n
    \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n\n \n\n\n \n\n\n \n \n \n
    CriterionTypeCode
    Breaks into longitudinal pieces with sharp edgesSharp-edgedSE
    Breaks into longitudinal pieces with unsharp edgesCompactCO
    Breaks into crumbly pieces or breaks powderyCrumblyCR
    \n
    \n```\n\n:::\n:::\n\n\n#### Dead natural plant residues {#sec-a1-8441-n}\n\nThis Chapter refers to dead natural plant residues of any length and a diameter ≥ 5 mm. For treated plant residues, see [*artefacts*](chapter-03.qmd#sec-artefm) (see [Chapter 8.4.8](#sec-a1-848)). Report up to two types of plant remnants, the dominant one first, and give the percentage (by volume, related to the fine earth plus all dead plant residues) for each type separately.\n\n\n::: {#tbl-a1893 .cell .no-stripe layout-align=\"center\" tbl-cap='Dead residues of specific plants'}\n::: {.cell-output-display}\n\n```{=html}\n
    \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n\n \n\n \n\n \n \n \n
    Type of plant residuesCode
    WoodW
    Moss fibresS
    Other plantsO
    No dead plant residuesN
    \n
    \n```\n\n:::\n:::\n\n\n## Sampling {#sec-a1-85}\n\nWe describe here the sampling of the terrestrial organic surface layers and the conventional and volumetric sampling of mineral layers, all for the standard analyses described in Annex 2 ([Chapter 9](annex-02-analytical-procedures.qmd)). Sampling of other layers requires special techniques that are not described here.\n\n### Preparation of sampling bags {#sec-a1-851}\n\nUse strong, moisture-resistant bags (transparent, if possible) for sampling. Write the sampling details twice: once on the bag and once on a piece of paper to be put into the bag. If you want to transfer sampling rings to the laboratory, write the sampling details on the ring. Always use a permanent marker.\n\nWrite down the following details:\n\n- Profile name\n- Conventional (C) / Volumetric (V)\n- Layer upper and lower depth\n- Layer designation (see Annex 3, Chapter 10).\n\nExample: *Gombori Pass 1 - V - 0-10 cm - Ah.*\n\nMake sure to seal the bags after filling in the sample.\n\n### Sampling of organic layers {#sec-a1-852}\n\nGenerally, the fine earth plus all dead plant residues are sampled. For the decision if a layer consists of organic material, the organic carbon is measured in a sample containing the fine earth plus the dead plant residues of any length and a diameter ≤ 5 mm (excluding [*artefacts*](chapter-03.qmd#sec-artefm)).\n\nFor sampling the terrestrial organic surface layers, use a quadratic steel frame, for instance with 30 cm side length. Use a rubber hammer to drive the frame through the organic surface layers and a few centimetres into the mineral soil. The frame must enter the soil evenly, do not drive in one side first and then the other. Collect the organic surface material manually, sample the litter layer and every O horizon separately. Be very careful to sample all organic surface layers but no mineral layers.\n\n### Conventional sampling of mineral layers {#sec-a1-853}\n\nUse a scraper to sample every layer separately and along its entire height and width. Start with the lowest layer. Make sure that you only sample one layer at a time, avoid that material from one layer falls into the other.\n\n### Volumetric sampling of mineral layers {#sec-a1-854}\n\nAt the soil surface, determine an area large enough for the appropriate number of sampling rings (e.g. 3 rings). The area must be adjacent to the profile wall and close to the measuring tape. In this area, remove the organic surface layers and start sampling layer by layer from top to down. The thickness of a mineral layer may be larger or smaller than the height of a sampling ring or it may be equal (@fig-a1-822).\n\n![Volumetric sampling](images/figure_8-22.png){#fig-a1-822}\n\na. If the thickness of the layer is larger, subtract the height of the sampling ring from the layer thickness and divide the difference by 2. This result equals the thickness of soil material that has to be removed starting from the upper layer boundary.\nb. If the thickness of the layer is equal, it is very important that the surface is plane.\nc. If the thickness of the layer is smaller, you will need the thickness of the layer in relation to the height of the sampling ring for calculating the sampled volume.\n\nFor each layer, form a plane surface. If the soil is dryer than field capacity, moisten the surface slowly with water from a spray bottle. Wait until the soil is moist, avoid a water surplus. Then drive in the sampling rings slowly and completely but avoid compacting soil material. For driving in the sampling rings, use a hammer and a piece of wood. The piece should be made of durable wood and have plane surfaces at the top and the bottom. It should be just large enough to cover one sampling ring. If the ring does not move in without deforming, stop driving it in. Try to find a better position.\n\nTo take out the rings, penetrate the soil with a spatula just beneath the ring and take it out. If the soil is hard to penetrate, you may use a knife with a serrated blade (bread knife). When necessary, cut roots off. When taking the rings out, make sure that no soil material is lost from inside the rings. Place a cap on the top side and turn the ring upside down. Now make the bottom surface plane and place another cap.\n\nIf you want to do further physical analyses, transfer the ring to the laboratory. If the layer thickness is smaller than the height of the ring (case c), fill up the volume with a resin. If you just want to determine the soil mass, you may empty the soil material from the ring into the designated bag and reuse the ring.\n\nTo determine the soil mass of a sample of a certain volume, you may also use coated clods (see Annex 2, [Chapter 9.5](annex-02-analytical-procedures.qmd#sec-2-bd)).\n", + "supporting": [], + "filters": [ + "rmarkdown/pagebreak.lua" + ], + "includes": {}, + "engineDependencies": {}, + "preserve": {}, + "postProcess": true + } +} \ No newline at end of file diff --git a/_freeze/annex-02-analytical-procedures/execute-results/html.json b/_freeze/annex-02-analytical-procedures/execute-results/html.json new file mode 100644 index 0000000..48a8394 --- /dev/null +++ b/_freeze/annex-02-analytical-procedures/execute-results/html.json @@ -0,0 +1,15 @@ +{ + "hash": "cfd5f4a8cf8aec03b07b0d10ccc3a159", + "result": { + "engine": "knitr", + "markdown": "# Annex 2: Summary of analytical procedures for soil characterization {#sec-a2}\n\n\n::: {.cell layout-align=\"center\"}\n\n:::\n\n\nThis annex provides summaries of recommended analytical procedures to be used for soil characterization for the World Reference Base for Soil Resources. Full descriptions can be found in *Procedures for soil analysis* [@procedur2002] and the USDA *Kellogg Soil Survey Laboratory Methods Manual* [@kellogg2014].\n\n## Sample preparation {#sec-a2-91}\n\nSamples are air-dried or alternatively oven-dried at a maximum of 40 °C. The fine earth is obtained by sieving the dry sample with a 2 mm sieve. Clods not passing through the sieve are crushed (not ground) and sieved again. Coarse fragments and roots not passing through the sieve are treated separately.\n\nIn special cases where air-drying causes unacceptable irreversible changes in certain soil properties (e.g. in peat and in soils with [*andic properties*](chapter-03.qmd#sec-andicp)), samples are kept and treated in the field-moist state. These samples should be kept under cool conditions and analyzed within a few weeks after sampling.\n\n## Moisture content {#sec-a2-92}\n\nCalculation of contents is done on the basis of dry (105 °C) soil mass.\n\n## Particle-size analysis {#sec-a2-93}\n\nThe mineral part of the soil is separated into various size fractions and the proportion of these fractions is determined. The determination comprises all material, i.e. including coarse fragments, but the procedure itself is applied to the fine earth (≤ 2 mm) only. The particle-size classes according to ISO 11277:2009 [@internationalorganizationforstandardization2015] are given in the Table:\n\n\n::: {#tbl-a291 .cell .no-stripe layout-align=\"center\" tbl-cap='Particle-size classes'}\n::: {.cell-output-display}\n\n```{=html}\n
    \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n \n \n
    Particle-size classDiameter of particles
    Fine earthall particles ≤ 2mm
    Sand> 63 μm - ≤ 2 mm
    Very coarse sand> 1250 μm - ≤ 2 mm
    Coarse sand> 630 μm - ≤ 1250 μm
    Medium sand> 200 μm - ≤ 630 μm
    Fine sand> 125 μm - ≤ 200 μm
    Very fine sand> 63 μm - ≤ 125 μm
    Silt> 2 μm - ≤ 63 μm
    Coarse silt> 20 μm - ≤ 63 μm
    Fine silt> 2 μm - ≤ 20 μm
    Clay≤ 2 μm
    Coarse clay> 0.2 μm - ≤ 2 μm
    Fine clay≤ 0.2 μm
    \n
    \n```\n\n:::\n:::\n\n\nThe pre-treatment of the sample is aimed at complete dispersion of the primary particles. Therefore, cementing materials (usually of secondary origin) such as organic matter and calcium carbonate may have to be removed. In some cases, de-ferration also needs to be applied. The amount of cementing material has to be documented. However, depending on the aim of study, it may be fundamentally wrong to remove cementing materials. Thus, all pre-treatments are considered optional. However, for soil characterization purposes, removal of organic matter by H~2~O~2~ and of carbonates by HCl is routinely carried out. After this pre-treatment, the sample is shaken with a dispersing agent and sand is separated from clay and silt with a 63-μm sieve. The sand is fractionated by dry sieving; the clay and silt fractions are determined by the pipette method or, alternatively, by the hydrometer method.\n\n## Water-dispersible clay {#sec-a2-94}\n\nThis is the clay content found when the sample is dispersed with water without any pre-treatment to remove cementing compounds and without use of a dispersing agent. The proportion of water-dispersible clay to total clay can be used as a structure stability indicator.\n\n## Bulk density {#sec-a2-95}\n\nDensity is defined as mass per unit volume. Soil bulk density is the ratio of the mass of solids to the total or bulk volume and is given at dry state. This total volume includes the volume of both solids and pore space. The volume and therefore the bulk density changes with swelling and shrinking, which is related to the water content. For that reason, the water status of the sample prior to drying must be specified.\n\nTwo different procedures can be used:\n\n- *Undisturbed core samples.* A metal cylinder of known volume is pressed into the soil. The moist sample mass is recorded. This may be the field-moist state or the state after equilibrating the sample at a specified water tension. The sample is then dried at 105 °C and weighed again. The bulk density is the ratio of dry mass to volume (related to the determined water content and/or the specified water tension).\n\n- *Coated clods.* Field-occurring clods are coated with plastic lacquer (e.g. Saran dissolved in methyl ethyl ketone) to allow underwater determination. This gives the volume of the clod. The moist sample mass is recorded. This may be the field-moist state or the state after equilibrating the clod at a specified water tension. The sample is then dried at 105 °C and weighed again. The bulk density is the ratio of dry mass to volume (related to the determined water content and/or the specified water tension).\n\nIf the sample contains many coarse fragments, the coarse fragments are sieved out after drying and then their mass and volume are determined separately. With that, the bulk density of the fine earth is calculated. The determination of bulk density is very sensitive to natural variability, particularly caused by non-representativeness of the samples (coarse fragments, cementations, cracks, roots, etc.). Therefore, determinations should always be made at least in triplicate.\n\n## Coefficient of linear extensibility (COLE) {#sec-a2-96}\n\nThe COLE gives an indication of the reversible shrink--swell capacity of a soil. It is calculated as the ratio of the difference between the moist length and the dry length of a clod to its dry length: (L~m~ - L~d~)/L~d~, in which L~m~ is the length at 33 kPa tension and Ld the length when dry (105 °C).\n\n## pH {#sec-a2-97}\n\nThe pH of the soil is measured potentiometrically in the supernatant suspension of a soil:liquid mixture. If not stated otherwise, soil:liquid are in a ratio of 1:5 (volume:volume) (according to ISO standards). The liquid is either distilled water (pHwater) or a 1 *M* KCl solution (pH~KCl~). However, in some definitions, a 1:1 soil:water ratio is used.\n\n## Organic carbon {#sec-a2-98}\n\nMany laboratories use auto-analysers (e.g. dry combustion). In these cases, a qualitative test for carbonates on effervescence with HCl is recommended, and if applicable, a correction for inorganic C (see [Chapter 9.9](#sec-a2-99)) is required.\n\nOtherwise, the *Walkley--Black method* is followed. This involves a wet combustion of the organic matter with a mixture of potassium dichromate and sulfuric acid at about 125 °C. The residual dichromate is titrated against ferrous sulfate. To compensate for incomplete destruction, an empirical correction factor of 1.3 is applied in the calculation of the result.\n\n## Carbonates {#sec-a2-99}\n\nThe *rapid titration method* by Piper [-@piper1942, also called *acid neutralization method*] is used. The sample is treated with dilute HCl and the residual acid is titrated. The results are referred to as *calcium carbonate equivalent* as the dissolution is not selective for calcite, and other carbonates such as dolomite are dissolved as well.\n\n***Note:*** Other procedures such as the *Scheibler volumetric method* or the *Bernard calcimeter* may also be used.\n\n## Gypsum {#sec-a2-910}\n\nGypsum is dissolved by shaking the sample with water. It is then selectively precipitated from the extract by adding acetone. This precipitate is re-dissolved in water and the Ca concentration is determined as a measure for gypsum. This method also extracts anhydrite.\n\n## Cation exchange capacity (CEC) and exchangeable base cations {#sec-a2-911}\n\nThe ammonium acetate pH 7 method is used. In saline soils, the readily soluble salts have to be washed out before starting the procedure. The sample is percolated with ammonium acetate (pH 7) and the base cations are measured in the percolate. The sample is subsequently percolated with sodium acetate (pH 7), the excess salt is then removed and the adsorbed Na exchanged by percolation with ammonium acetate (pH 7). The Na in this percolate is a measure for the CEC.\n\nAlternatively, after percolation with ammonium acetate, the sample can be washed free of excess salt, the whole sample distilled and the evolved ammonia determined.\n\nPercolation in tubes may be replaced by shaking in flasks. Each extraction must be repeated three times and the three extracts should be combined for analysis.\n\n**Note 1:** Other procedures for CEC may be used provided the determination is done at pH 7.\n\n**Note 2:** In special cases where CEC is not a diagnostic criterion, e.g. saline and alkaline soils, the CEC may be determined at pH 8.2.\n\n**Note 3:** The base saturation of saline, calcareous and gypseous soils can be considered to be 100%.\n\n## Exchangeable aluminium and exchange acidity {#sec-a2-912}\n\nExchangeable Al is released upon exchange by an unbuffered 1 *M* KCl solution.\n\nExchange acidity is extracted by a barium chloride-triethanolamine solution, buffered at pH 8.2. The extract is back-titrated with HCl.\n\n## Calculations of CEC and exchangeable cations {#sec-a2-913}\n\nThese calculations are usually only provided for mineral material.\n\n### CEC {#sec-a2-913-a}\n\nThe CEC is given in cmolc kg^-1^ soil. The CEC kg^-1^ clay is calculated by dividing the CEC kg^-1^ soil by the clay content. Principally, this is only correct if, before doing that, the CEC kg^-1^ soil attributed to the organic matter is subtracted. But we do not have a reliable method to detect the contribution of the organic matter to the CEC. Therefore, it is recommended to do the calculation as if all the CEC were provided by clay. If the organic matter content is low, the error is negligible.\n\n### Saturations at pH 7 {#sec-a2-913-b}\n\nThe base saturation (BS) refers to the exchangeable base cations and is calculated as:\\\nexchangeable (Ca+Mg+K+Na) x 100 / CEC.\n\nThe exchangeable sodium percentage (ESP) is calculated as:\\\nexchangeable Na x 100 / CEC.\n\nThe input data are given in cmol~c~ kg^-1^ and the results in %.\n\nIf the data for the base saturation are not available, the pH~water~ can be used instead. If this is also not available, the pH~KCl~ can be used. The correlations between base saturation and pH depend on the amount of organic matter and show an extremely high variance. The following pH values are recommended for a base saturation of 50%:\n\n| C~org~ (%) | pH~water~ | pH~KCl~ |\n|----------------|-----------|---------|\n| \\< 2 | 5.0 | 4.0 |\n| ≥ 2 to \\< 7.5 | 5.3 | 4.5 |\n| ≥ 7.5 to \\< 20 | 5.7 | 5.0 |\n\n: pH values corresponding to a base saturation of 50% {#tbl-a2-92}\n\n### Relationships between cations {#sec-a2-913-c}\n\nExchangeable ions are given in cmol~c~ kg^-1^. For some soils, the relationship between the sum of exchangeable base cations and exchangeable Al is required. If the data for exchangeable ions are not available, the pH~water~ can be used instead. If this is also not available, the pH~KCl~ can be used. The correlations between exchangeable ions and pH depend on the amount of organic matter and show an extremely high variance. The following pH values are recommended:\n\n| | exch base = exch Al | | exch base \\>= 4x exch Al | | Exch Al \\>= 4x Exch base | |\n|-----------|-----------|-----------|-----------|-----------|-----------|-----------|\n| C~org~ (%) | pH~water~ | pH~KCl~ | pH~water~ | pH~KCl~ | pH~water~ | pH~KCl~ |\n| \\< 2 | 4.6 | 3.8 | 5.5 | 4.7 | 3.9 | 3.2 |\n| ≥ 2 to \\< 7.5 | 4.9 | 4.1 | 5.9 | 5.0 | 4.2 | 3.4 |\n| ≥ 7.5 to \\< 20 | 5.4 | 4.6 | 6.3 | 5.5 | 4.5 | 3.7 |\n\n: pH values corresponding to relationships between cations {#tbl-a2-92}\n\n## Extractable iron, aluminium, manganese and silicon {#sec-a2-914}\n\nThese analyses comprise:\n\n- Fe~dith~, Al~dith~, Mn~dith~: Dithionite-citrate-bicarbonate dissolves:\n - Fe particularly from Fe(III) oxides, hydroxides and oxide-hydroxides;\n - Al from Fe oxides, where the Al has substituted the Fe, and Al associated to reducible oxides;\n - Mn particularly from Mn(IV) oxides, hydroxides and oxide-hydroxides.\\\n Both the Mehra and Jackson [-@mehra1960] and the Holmgren [-@holmgren1967] procedures may be used, with membrane filtration (0.45 μm).\n- Fe~ox~, Al~ox~, Si~ox~, Mn~ox~: Oxalate (0.2 M ammonium oxalate buffered to pH 3 with 0.2 M oxalic acid) dissolves:\n - Fe from poorly crystalline oxides, hydroxides and oxide-hydroxides (such as ferrihydrite), and partially Fe from goethite, lepidocrocite, maghemite and magnetite, and partially Fe from organic associations;\n - Al from Fe oxides, where the Al has substituted the Fe, from hydroxy-interlayers of phyllosilicates, and partially Al from short-range ordered aluminosilicates (such as allophane and imogolite), and partially Al from organic associations, and the adsorbed Al;\n - Si partially from short-range ordered aluminosilicates (such as allophane and imogolite);\n - Mn from oxides, hydroxides and oxide-hydroxides (completely).\\\n The procedure according to Blakemore et al. [-@blakemore1987] may be used, with membrane filtration (0.45 μm).\n\n**Note:** Al~dith~ and Mn~ox~ are not used for definitions in WRB. For further review of methods see Rennert [-@rennert2019].\n\n## Salinity {#sec-a2-915}\n\nAttributes associated with salinity in soils are determined in the saturation extract. The attributes include: pH, electrical conductivity (EC~e~), sodium adsorption ratio (SAR) and the cations and anions of the dissolved salts. These include Ca, Mg, Na, K, carbonate and bicarbonate, chloride, nitrate and sulfate. The SAR and the exchangeable sodium percentage (ESP) may be estimated from the concentrations of the dissolved cations.\n\nThe determination in the saturation extract is often difficult. Alternatively, the conductivity and the cations and anions may be detected in a 1:2.5 solution and recalculated to the saturation extract (see [Chapter 8.4.28](annex-01-field-guide.qmd#sec-a1-8428)).\n\n## Phosphate and phosphate retention {#sec-a2-916}\n\nThese analyses comprise:\n\n- *Mehlich-3 method*: Extraction with a solution of 0.2 *M* glacial acetic acid, 0.25 *M* ammonium nitrate, 0.015 *M* ammonium fluoride, 0.013 *M* nitric acid, and 0.001 *M* ethylene diamine tetraacetic acid (EDTA) [@mehlich1984].\n- For phosphate retention, the *Blakemore method* is used. The sample is equilibrated with a phosphate solution at pH 4.6 and the proportion of phosphate withdrawn from solution is determined [@blakemore1987].\n\n## Mineralogical analysis of the sand fraction {#sec-a2-917}\n\nAfter removal of cementing and coating materials, the sand is separated from the clay and silt by wet sieving. From the sand, the fraction 63--420 μm is separated by dry sieving. This fraction is divided into a *heavy fraction* and a *light fraction* with the aid of a high-density liquid: a solution of sodium polytungstate with a specific density of 2.85 kg dm^-3^. Of the *heavy fraction*, a microscopic slide is made; the *light fraction* is stained selectively for microscopic identification of feldspars and quartz. The analysis requires a petrographic microscope.\n\nVolcanic glass can usually be recognized as isotropic grains with vesicles.\n\n## X-ray diffractometry {#sec-a2-918}\n\nX-ray diffraction (XRD) can be used to analyze (1) the powder of the fine earth or (2) the clay fraction separated from soil.\n\n## Total reserve of bases {#sec-a2-919}\n\nThere are two methods to analyze the total content of elements: XRD (see [Chapter 9.18](#sec-a2-918)) and an extract with HF and HClO~4~. The obtained values for Ca, Mg, K and Na are used to calculate the total reserve of bases.\n\n## Sulfides {#sec-a2-920}\n\nReduced inorganic S is converted to H~2~S by a hot acidic CrCl~2~ solution. The evolved H~2~S is trapped quantitatively in a Zn acetate solution as solid ZnS. The ZnS is then treated with HCl to release H~2~S into solution, which is quickly titrated with I~2~ solution to the blue-coloured end point indicated by the reaction of I~2~ with starch [@sullivan2000]. Caution: Toxic residues have to be managed carefully.\n", + "supporting": [], + "filters": [ + "rmarkdown/pagebreak.lua" + ], + "includes": {}, + "engineDependencies": {}, + "preserve": {}, + "postProcess": true + } +} \ No newline at end of file diff --git a/_freeze/chapter-01/execute-results/html.json b/_freeze/chapter-01/execute-results/html.json new file mode 100644 index 0000000..5d2ee35 --- /dev/null +++ b/_freeze/chapter-01/execute-results/html.json @@ -0,0 +1,15 @@ +{ + "hash": "323340ec982c3b792f40abf1884b8bf6", + "result": { + "engine": "knitr", + "markdown": "---\noutput: html_document\neditor_options: \n chunk_output_type: console\n---\n\n\n# Background and basics {#sec-bgbs}\n\n## History {#sec-hist}\n\n### From its beginnings to the third edition 2014/15 {#sec-hist-beg}\n\nThe World Reference Base for Soil Resources (WRB) is based on the Legend [@fao-unesco1974] and the Revised Legend [@fao-unesco-isric1988] of the Soil Map of the World [@fao-unesco1971]. In 1980, the International Society of Soil Science (ISSS, since 2002 the International Union of Soil Sciences, IUSS) formed a Working Group 'International Reference Base for Soil Classification' for further elaboration of a science-based international soil classification system. This Working Group was renamed 'World Reference Base for Soil Resources' in 1992. The Working Group presented the first edition of the WRB in 1998 [@isss-isricfao1998], the second edition in 2006 [@worldre2006] and the third edition in 2014/15 [@iussworkinggroupwrb2015]. In 1998, the ISSS Council endorsed the WRB as its officially recommended terminology to name and classify soils.\n\nA detailed description of the older WRB history is given in the second edition [@worldre2006] and the third edition of the WRB [@iussworkinggroupwrb2015].\n\n### From the third edition 2014 (Update 2015) to the fourth edition 2022 {#sect-hist-end}\n\nThe third edition of the WRB was presented at the 20th World Congress of Soil Science 2014 in Jeju, Korea. In 2015, an Update was published online, which is the valid WRB from 2015 to 2022: .\n\nThe second edition was translated into several languages: Czech, French, Georgian, Polish, Russian, Slovene, and Spanish.\n\nSince 2014, several WRB field workshops were organized to test the third edition:\n\n2014: Ireland\\\n2017: Latvia and Estonia\\\n2018: Romania\\\n2019: Mongolia\\\n2022: Iceland\n\nThe field tours associated with the meetings of the IUSS Commission on Soil Classification in South Africa (2016) and Mexico (2022) were additional tests of the third edition and also the tours offered with the 21^st^ World Congress of Soil Science 2018 in Brazil.\n\nNow, after 8 years, a fourth edition has been prepared.\n\n## Major changes in WRB 2022 {#sec-mjch}\n\nThe major changes are:\n\n- The contents of the book were rearranged:\n - The former Annex 1 (Descriptions) was deleted. The descriptions were not fully up to date.\n - [Annex 2](annex-02-analytical-procedures.qmd) (Laboratory methods) was maintained.\n - The former Annex 3 (Codes) is now [Chapter 6](chapter-06.qmd). This reflects that the codes, if used, are not only recommended but mandatory.\n - The former Annex 4 is integrated in the new [Annex 1](annex-01-field-guide.qmd).\n - The new [Annex 1](annex-01-field-guide.qmd) is a Field Guide. It replaces the FAO Guidelines [-@un-fao2006]. Compared to the FAO Guidelines, the Annex 1 is more comprehensive for WRB, more precise and more didactical using many illustrations. It gives many definitions of field characteristics that up till now have been nowhere defined in WRB, neither in the WRB itself, nor in the FAO Guidelines. Many of these definitions were taken from the USDA Soil Survey Manual [-@soilsciencedivisionstaff2017] and the NRCS Fieldbook [-@schoeneberger2012], which brings WRB and Soil Taxonomy closer together.\n - The new [Annex 3](annex-03-horizon-layer-designations.qmd) provides brief definitions of layer symbols further developing the definitions of the FAO Guidelines.\n - The new [Annex 4](annex-04-soil-description-sheet.qmd) explains a soil description sheet that is provided online.\n - The new [Annex 5](annex-05-database-setup.qmd) gives a guidance on database set-up. The details are provided online.\n - The new [Annex 6](annex-06-rsg-colours.qmd) gives recommendations for colour symbols for Reference Soil Group maps.\n- In [Chapter 2.1](chapter-02.qmd#sec-gnrl), General rules and definitions, several definitions have been added for WRB: fine earth, whole soil, litter layer, soil surface, mineral soil surface, soil layer, soil horizon. Some new general rules have been added to make the definitions easier.\n- All Reference Soil Groups (RSGs) are maintained. There are some changes in the Key: [Planosols](chapter-04.qmd#sec-key-pl) and [Stagnosols](chapter-04.qmd#sec-key-st) are now before [Nitisols](chapter-04.qmd#sec-key-nt) and [Ferralsols](chapter-04.qmd#sec-key-fr). [Fluvisols](chapter-04.qmd#sec-key-fl) are before [Arenosols](chapter-04.qmd#sec-key-ar).\n- The following diagnostics were deleted:\n - fulvic horizon, melanic horizon: belonged to an outdated concept of soil organic matter;\n - aridic properties: had a non-systematic combination of various characteristics (the wind deposition is now characterized by the [aeolic material](chapter-03.qmd#sec-aeolicm), see below);\n - geric properties: can be better expressed as qualifier;\n - sulfidic material: not needed after introducing the [hypersulfidic](chapter-03.qmd#sec-hypersm) and the [hyposulfidic material](chapter-03.qmd#sec-hyposm) in 2014.\n- The following diagnostics were introduced:\n - [albic horizon](chapter-03.qmd#sec-albich): In the first and the second edition of WRB, the albic horizon was defined. However, it was only defined by colour, and results of soil-forming processes were not required. Therefore, it was changed to albic material in 2014. But this made the definition of the Albic qualifier difficult. Now, the albic horizon was reintroduced, explicitly requiring results of soil-forming processes. The albic material was maintained (just defined by colour) and renamed claric material (see below)\n - [cohesic horizon](chapter-03.qmd#sec-cohesich): Dense subsurface horizon dominated by kaolinite. It is found in tropical regions with seasonal climate and was not considered so far in WRB.\n - [limonic horizon](chapter-03.qmd#sec-limonich): Accumulation of Fe by capillary rise in groundwater soils. The accumulation is so strong that Fe oxides cause a cementation. It is traditionally referred to as bog iron.\n - [panpaic horizon](chapter-03.qmd#sec-panpaich): Buried A horizon.\n - [tsitelic horizon](chapter-03.qmd#sec-tsitelich): Accumulation of Fe by subsurface flow, usually from [Planosols](chapter-04.qmd#sec-key-pl) and [Stagnosols](chapter-04.qmd#sec-key-st) further up in the landscape.\n - [protogypsic properties](chapter-03.qmd#sec-protgp): Accumulation of secondary gypsum, not sufficient for a gypsic or petrogypsic horizon.\n - [aeolic material](chapter-03.qmd#sec-aeolicm): Deposited by wind.\n - [mulmic material](chapter-03.qmd#sec-mulmicm): Mineral material with a high content of soil organic carbon, derived from organic material. Drainage of organic material causes accelerated decomposition, and eventually the content of soil organic carbon sinks below 20%, which transforms the organic material into mineral material.\n - [organotechnic material](chapter-03.qmd#sec-orgtechm): Contains large amounts of organic artefacts and relatively small contents of soil organic carbon in the fine earth.\n- The following diagnostic materials received new names:\n - [claric material](chapter-03.qmd#sec-claricm) instead of albic material: After reintroducing the albic horizon, it had to be avoided that a diagnostic material and a diagnostic horizon have the same name. The albic material was therefore renamed in claric material.\n - [solimovic material](chapter-03.qmd#sec-solimvm) instead of colluvic material: The word colluvium has very different meanings in different countries. To avoid confusion, the new name solimovic material was coined. It explains that at least parts of the accumulated material underwent soil formation before having been transported.\n- Many criteria in the diagnostics, the key and in the definitions of the qualifiers were sharpened and refined. Special effort was undertaken to make sure that the same features are worded in the same way throughout the text, including the annexes.\n- Some new qualifiers were defined, some existing ones were deleted, and many definitions have been refined.\n\n## The object classified in the WRB {#sec-obcl}\n\nLike many common words, 'soil' has several meanings. In its traditional meaning, soil is the natural medium for the growth of plants, whether or not it has discernible soil horizons [@soilsurveystaff1999].\n\nIn the 1998 WRB, soil was defined as:\n\n> \"... a continuous natural body which has three spatial and one temporal dimension. The three main features governing soil are:\n>\n> - It is formed by **mineral and organic constituents** and includes solid, liquid and gaseous phases.\n> - The constituents are organized in **structures**, specific for the pedological medium. These structures form the morphological aspect of the soil cover, equivalent to the anatomy of a living being. They result from the history of the soil cover and from its actual dynamics and properties. Study of the structures of the soil cover facilitates perception of the physical, chemical and biological properties; it permits understanding the past and present of the soil and predicting its future.\n> - The soil is in **constant evolution**, thus giving the soil its fourth dimension, time.\"\n\nAlthough there are good arguments to limit soil survey and mapping to identifiable stable soil areas with a certain thickness, the WRB has taken the more comprehensive approach to name any object forming part of the ***epiderm of the earth*** [@sokolov1997; @nachtergaele2005]. This approach has a number of advantages; notably that it allows for addressing environmental problems in a systematic and holistic way and avoids sterile discussion on a universally agreed definition of soil and its required thickness and stability. Therefore, the object classified in the WRB is: *any material within 2 m of the Earth's surface that is in contact with the atmosphere, excluding living organisms, areas with continuous ice not covered by other material, and water bodies deeper than 2 m*. If explicitly stated, the object classified in the WRB includes layers deeper than 2 m. In tidal areas, the depth of 2 m is to be applied at mean low water springs.\n\nThe definition includes [*continuous rock*](chapter-03.qmd#sec-crockp), paved urban soils, soils of industrial areas, soils on buildings and other (permanent/stable) constructions, cave soils as well as subaqueous soils. Soils under [*continuous rock*](chapter-03.qmd#sec-crockp), except those that occur in caves, are generally not considered for classification, but in special cases, the WRB may be even used to classify soils under rock, for example for palaeopedological reconstruction of the environment. The use of WRB for paleosols is still in an experimental stage.\n\n## Basic principles {#sec-bspr}\n\n### General principles {#sec-bspr-gen .unnumbered}\n\n- The classification of soils is based on soil properties defined in terms of [diagnostic horizons](chapter-03.qmd#sec-diagh), [diagnostic properties](chapter-03.qmd#sec-diagp) and [diagnostic materials](chapter-03.qmd#sec-diagm) (together called the **diagnostics**), which to the greatest extent possible should be measurable and observable in the field. @tbl-oneone provides an overview of the diagnostics used in the WRB.\n- The selection of diagnostic characteristics takes into account their relationship with soil-forming processes. An understanding of soil-forming processes contributes to a better characterization of soils but these processes should not, as such, be used as differentiating criteria.\n- To the extent possible at a high level of generalization, diagnostic features that are of significance for soil management are selected.\n- Climate parameters are not applied in the classification of soils. It is understood that they should be used for interpretation purposes, in combination with soil properties, but they should not form part of soil definitions. The classification of soils is therefore not subordinated to the availability of climate data. The name of a certain soil will not become obsolete due to global or local climate change.\n- The WRB is a comprehensive classification system that enables accommodation of national soil classification systems.\n- The WRB is not intended to be a substitute for national soil classification systems, but rather to serve as a common denominator for communication at the international level.\n- The WRB comprises two levels of categorical detail:\n - the ***First Level*** having 32 Reference Soil Groups (RSGs);\n - the ***Second Level***, consisting of the name of the RSG combined with a set of principal and supplementary qualifiers.\n- Many RSGs in the WRB are representative of major soil regions so as to provide a comprehensive overview of the world's soil cover.\n- Definitions and descriptions reflect variations in soil characteristics that occur both vertically and laterally in the landscape.\n- The term *Reference Base* is connotative of the common denominator function of the WRB: its units (RSGs) have sufficient width to facilitate harmonization and correlation with national systems.\n- In addition to serving as a correlation between existing classification systems, the WRB also serves as a communication tool for compiling global soil databases and for the inventory and monitoring of the world's soil resources.\n- The nomenclature used to distinguish soil groups retains terms that have been used traditionally or that can be introduced easily into common language. They are defined precisely, in order to avoid the confusion that occurs where names are used with different connotations.\n\n\n::: {#tbl-oneone .cell .no-stripe layout-align=\"center\" tbl-cap='The diagnostic horizons, properties and materials of the WRB. **This table does not provide definitions**. For diagnostic criteria, please refer to [Chapter 3](chapter-03.qmd).'}\n::: {.cell-output-display}\n\n```{=html}\n
    \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n \n \n \n\n \n\n \n\n \n\n \n \n \n \n\n \n\n \n \n \n \n\n \n\n \n\n \n \n \n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n \n \n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n \n \n \n\n \n\n \n \n \n \n\n \n\n \n\n \n\n \n \n \n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n \n \n \n\n \n\n \n\n \n\n \n\n \n \n \n \n\n \n \n \n \n\n \n\n \n \n \n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n \n \n
    Simplified Description
    1. Anthropogenic diagnostic horizons (all are mineral)
    anthraquic horizonin paddy soils: the layer comprising the puddled layer and the plough pan, both showing a reduced matrix and oxidized root channels
    hortic horizondark, high content of organic matter and P, high animal activity, high base saturation; resulting from long-term cultivation, fertilization and application of organic residues
    hydragric horizonin paddy soils: the layer below the anthraquic horizon showing redoximorphic features and/or an accumulation of Fe and/or Mn
    irragric horizonuniformly textured, at least moderate content of organic matter, high animal activity; gradually built up by sediment-rich irrigation water
    plaggic horizondark, at least moderate content of organic matter, sandy or loamy; resulting from application of sods and excrements
    pretic horizondark, at least moderate content of organic matter and P, high contents of exchangeable Ca and Mg, with black carbon; including Amazonian Dark Earths
    terric horizonevidence of addition of substantially different material, at least moderate content of organic matter, high base saturation; resulting from adding mineral material (with or without organic residues) and cultivation)
    2. Diagnostic horizons that may be organic or mineral
    calcic horizonaccumulation of secondary carbonates, not continuously cemented
    cryic horizonperennially frozen (visible ice or, if not enough water, < 0 °C)
    salic horizonhigh amounts of readily soluble salts
    thionic horizonwith sulfuric acid and a very low pH value
    3. Organic diagnostic horizons
    folic horizonorganic layer, not water-saturated and not drained
    histic horizonorganic layer, water-saturated or drained
    4. Surface mineral diagnostic horizons
    chernic horizonthick, very dark-coloured, high base saturation, moderate to high content of organic matter, well developed soil structure or structural elements created by agricultural practices, high animal activity (special case of the mollic
    mollic horizonthick, dark-coloured, high base saturation, moderate to high content of organic matter, at least some soil structure or structural elements created by agricultural practices
    umbric horizonthick, dark-coloured, low base saturation, moderate to high content of organic matter, at least some soil structure or structural elements created by agricultural practices
    5. Other mineral diagnostic horizons related to the accumulation of substances due to (vertical or lateral) migration processes
    argic horizonsubsurface layer with distinctly higher clay content than the overlying layer without a lithic discontinuity and/or presence of illuvial clay minerals (with or without a lithic discontinuity)
    duric horizonconcretions or nodules, cemented by secondary silica, and/or remnants of a broken-up petroduric horizon
    ferric horizon≥ 5% reddish to blackish concretions and/or nodules and/or ≥ 15% reddish to blackish coarse masses, with accumulation of Fe (and Mn) oxides
    gypsic horizonaccumulation of secondary gypsum, not continuously cemented
    limonic horizonaccumulation of Fe and/or Mn oxides in a layer that has or had gleyic properties; at least partially cemented
    natric horizonsubsurface layer with distinctly higher clay content than the overlying layer without a lithic discontinuity and/or presence of illuvial clay minerals (with or without a lithic discontinuity); high content of exchangeable Na
    petrocalcic horizonaccumulation of secondary carbonates, relatively continuously cemented
    petroduric horizonaccumulation of secondary silica, relatively continuously cemented
    petrogypsic horizonaccumulation of secondary gypsum, relatively continuously cemented
    petroplinthic horizonconsists of oximorphic features inside (former) soil aggregates that are at least partially interconnected and have a yellowish, reddish and/or blackish colour; high contents of Fe oxides at least in the oximorphic features; relatively continuously cemented
    pisoplinthic horizon≥ 40% at least moderately cemented yellowish, reddish, and/or blackish concretions and/or nodules, with accumulation of Fe oxides, and/or remnants of a broken-up petroplinthic horizon
    plinthic horizonhas in ≥ 15% of its exposed area oximorphic features inside (former) soil aggregates that are black or have a redder hue and a higher chroma than the surrounding material; high contents of Fe oxides, at least in the oximorphic features; not continuously cemented
    sombric horizonsubsurface accumulation of organic matter other than in spodic or natric horizons; not a buried surface horizon
    spodic horizonsubsurface accumulation of Al with Fe and/or organic matter
    tsitelic horizonlateral accumulation of Fe, usually derived from Planosols and Stagnosols further upslope
    6. Other mineral diagnostic horizons
    albic horizonlight-coloured; loss of coloured substances (e.g. oxides, organic matter) due to soil-forming processes
    cambic horizonevidence of soil-forming processes; not meeting the criteria of diagnostic horizons that indicate stronger alteration or accumulation processes
    cohesic horizonmassive or subangular blocky structure, root penetration restricted, drainage normally free, rich in kaolinite, poor in organic matter
    ferralic horizonstrongly weathered, dominated by kaolinites and oxides
    fragic horizonwith large soil aggregates, roots and percolating water penetrate the soil only in between these aggregates, not or only partially cemented
    nitic horizonrich in clay minerals and Fe oxides, moderate to strong structure, shiny soil aggregate surfaces
    panpaic horizonburied mineral surface horizon with a significant content of organic matter
    protovertic horizoninfluenced by swelling and shrinking clay minerals
    vertic horizondominated by swelling and shrinking clay minerals
    7. Diagnostic properties related to surface characteristics
    takyric propertiesfine-textured surface crust with a platy or massive structure; under arid conditions in periodically flooded soils
    yermic propertiescombination of desert features: desert pavement, varnishing, ventifacts, vesicular pores, platy structure
    8. Diagnostic properties defining the relationship between two layers
    abrupt textural differencevery sharp increase in clay content within a limited depth range
    albeluvic glossaeinterfingering of coarser-textured and lighter coloured material into an argic horizon forming vertically continuous tongues (special case of retic properties)
    lithic discontinuitydifferences in parent material
    retic propertiesinterfingering of coarser-textured and lighter coloured material into an argic or natric horizon
    9. Other diagnostic properties
    andic propertiesshort-range-order minerals and/or organo-metallic complexes
    anthric propertiesapplying to soils with mollic or umbric horizons, if the mollic or umbric horizon is created or substantially transformed by humans
    continuous rockconsolidated material (excluding cemented pedogenetic horizons)
    gleyic propertiessaturated with flowing or upwards moving groundwater (or upwards moving gases), permanently or at least long enough that reducing conditions occur
    protocalcic propertiescarbonates derived from the soil solution and precipitated in the soil (secondary carbonates), less pronounced than in calcic or petrocalcic horizons
    protogypsic propertiesgypsum derived from the soil solution and precipitated in the soil (secondary gypsum), less pronounced than in gypsic or petrogypsic horizons
    reducing conditionslow rH value and/or presence of sulfide, methane or reduced Fe
    shrink-swell cracksopen and close due to swelling and shrinking of clay minerals
    sideralic propertiesrelatively low CEC
    stagnic propertiessaturated with surface water (or intruding liquids), at least temporarily, long enough that reducing conditions occur
    vitric properties≥ 5% (by grain count) of volcanic glasses and related materials, and containing a limited amount of short-range-order minerals and/or organo-metallic complexes
    10. Diagnostic materials related to the concentration of organic carbon
    mineral material< 20% soil organic carbon and < 35% (by volume) organic artefacts
    mulmic materialdeveloped from water-saturated organic material after drainage; 8 - 20% soil organic carbon
    organic material≥ 20% soil organic carbon
    organotechnic material< 20% soil organic carbon and ≥ 35% (by volume) organic artefacts
    soil organic carbonorganic carbon that does not meet the diagnostic criteria of artefacts
    11. Diagnostic material related to colour
    claric materiallight-coloured fine earth, expressed by high Munsell value and low chroma
    12. Technogenic diagnostic materials
    artefactscreated, substantially modified or brought to the surface by humans; no subsequent substantial change of chemical or mineralogical properties
    technic hard materialconsolidated and relatively continuous material resulting from an industrial process
    13. Other diagnostic materials
    aeolic materialsedimented by wind
    calcaric material≥ 2% calcium carbonate (CaCO3) equivalent, at least partially inherited from the parent material
    dolomitic material≥ 2% of a mineral that has a ratio CaCO3/MgCO3 < 1.5
    fluvic materialfluviatile, marine or lacustrine deposits with evident stratification
    gypsiric material≥ 5% gypsum (CaSO4), at least partially inherited from the parent material
    hypersulfidic materialcontaining sulfides and capable of severe acidification
    hyposulfidic materialcontaining sulfides and not capable of severe acidification
    limnic materialdeposited in water by precipitation (possibly with sedimentation), or derived from algae, or derived from aquatic plants with subsequent transport or subsequent modification by aquatic animals or micro-organisms
    ornithogenic materialexcrements or remnants of birds or bird activity
    solimovic materialheterogeneous mixture that has moved down a slope, suspended in water; dominated by material that underwent soil formation at its original place
    tephric material≥ 30% (by grain count) volcanic glass and related materials
    \n
    \n```\n\n:::\n:::\n\n\n### Structure {#sec-bspr-str}\n\nEach RSG of the WRB is provided with a listing of possible principal and supplementary qualifiers, from which the user can construct the second level of the classification. The principal qualifiers are given in a priority sequence. The broad principles that govern the WRB class differentiation are:\n\n- At the ***First Level*** (RSGs), classes are differentiated mainly according to characteristic soil features produced by primary pedogenic process, except where special soil parent materials are of overriding importance.\n- At the ***Second Level*** (RSGs with qualifiers), soils are differentiated according to soil features resulting from any secondary soil-forming process that has significantly affected the primary characteristics. In many cases, soil characteristics that have a significant effect on land use are taken into account.\n\n### Evolution of the system {#sec-bspr-evo}\n\nThe Revised Legend of the FAO/UNESCO Soil Map of the World [@fao-unesco-isric1988] was used as a basis for the development of the WRB in order to take advantage of the international soil correlation that had already been conducted through this project and elsewhere. The first edition of the WRB, published in 1998, comprised 30 RSGs; the following editions have 32 RSGs.\n\n## Architecture {#sec-arch}\n\nThe WRB comprises two levels of categorical detail:\n\n1. the ***First Level*** having 32 Reference Soil Groups (RSGs);\n2. the ***Second Level***, consisting of the name of the RSG combined with a set of principal and supplementary qualifiers.\n\n### First Level: The Reference Soil Groups {#sec-arch-rsg}\n\n@tbl-onetwo provides an overview of the RSGs and the rationale for the sequence of the RSGs in the WRB Key. The RSGs are allocated to groups on the basis of dominant identifiers, i.e. the soil-forming factors or processes that most clearly condition the soil.\n\n### Second Level: The Reference Soil Groups with their qualifiers {#sec-arch-qlf}\n\nIn the WRB, a distinction is made between **principal qualifiers** and **supplementary qualifiers**. Principal qualifiers are regarded as being most significant for a further characterization of soils of the particular RSG. They are given in a ranked order. Supplementary qualifiers give some further details about the soil. They are not ranked but listed alphabetically (exception: the supplementary qualifiers related to the texture are given first). [Chapter 2](chapter-02.qmd) gives the rules for the use of qualifiers for naming soils and for creating map legends. Constructing the second level by adding qualifiers to the RSG has several advantages compared with a dichotomous key:\n\n- Every soil receives the appropriate number of qualifiers. Soils with few characteristics have short names; soils with many characteristics (e.g. polygenetic soils) have longer names.\n- The WRB is capable of indicating most of the soil's properties, which are incorporated into an informative soil name.\n- The system is robust. Missing data do not necessarily lead to a dramatic error in the classification of a soil. If one qualifier is erroneously added or erroneously omitted based on incomplete data, the rest of the soil name remains correct.\n\n\n::: {#tbl-onetwo .cell .no-stripe layout-align=\"center\" tbl-cap='Simplified guide to the WRB Reference Soil Groups (RSGs) with suggested codes. **This table is not to be used as a key**. For full definitions, please refer to [Chapter 3](chapter-03.qmd) and the Key ([Chapter 4](chapter-04.qmd)).'}\n::: {.cell-output-display}\n\n```{=html}\n
    \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n \n \n
    RSGCode
    1. Soils with thick organic layers:HistosolsHS
    2. Soils with strong human influence –

    With long and intensive agricultural use:AnthrosolsAT
    Containing significant amounts of artefacts:TechnosolsTC
    3. Soils with limitations to root growth –

    Permafrost-affected:CryosolsCR
    Thin or with many coarse fragments:LeptosolsLP
    With a high content of exchangeable Na:SolonetzSN
    Alternating wet-dry conditions, shrink-swell clays:VertisolsVR
    High concentration of soluble salts:SolonchaksSC
    4. Soils distinguished by Fe/Al chemistry –

    Groundwater-affected, underwater and in tidal areas:GleysolsGL
    Allophanes and/or Al-humus complexes:AndosolsAN
    Subsoil accumulation of humus and/or oxides:PodzolsPZ
    Accumulation and redistribution of Fe:PlinthosolsPT
    Stagnant water, abrupt textural difference:PlanosolsPL
    Stagnant water, structural difference and/or moderate textural difference:StagnosolsST
    Low-activity clays, P fixation, many Fe oxides, strongly structured:NitisolsNT
    Dominance of kaolinite and oxides:FerralsolsFR
    5. Pronounced accumulation of organic matter in the mineral topsoil –

    Very dark topsoil, secondary carbonates:ChernozemsCH
    Dark topsoil, secondary carbonates:KastanozemsKS
    Dark topsoil, no secondary carbonates (unless very deep), high base status:PhaeozemsPH
    Dark topsoil, low base status:UmbrisolsUM
    6. Accumulation of moderately soluble salts or non-saline substances –

    Accumulation of, and cementation by, secondary silica:DurisolsDU
    Accumulation of secondary gypsum:GypsisolsGY
    Accumulation of secondary carbonates:CalcisolsCL
    7. Soils with clay-enriched subsoil –

    Interfingering of coarser-textured, lighter coloured material into a finer-textured, stronger coloured layer:RetisolsRT
    Low-activity clays, low base status:AcrisolsAC
    Low-activity clays, high base status:LixisolsLX
    High-activity clays, low base status:AlisolsAL
    High-activity clays, high base status:LuvisolsLV
    8. Soils with little or no profile differentiation –

    Moderately developed:CambisolsCM
    Stratified fluviatile, marine or lacustrine sediments:FluvisolsFL
    Sandy:ArenosolsAR
    No significant profile development:RegosolsRG
    \n
    \n```\n\n:::\n:::\n\n\n## Topsoils {#sec-tops}\n\nTopsoil characteristics are prone to rapid change with time and are therefore used only in some cases in the WRB. Several suggestions for topsoil classification systems have been made [@broll2006; @fox2010; @graefe2012; @jabiol2013; @zanella2018]. They may be combined with the WRB.\n\n## Subsolum {#sec-rego}\n\nA classification scheme for subsolum materials has been proposed by [@juilleret2016; @juilleret2018] that may be combined with the WRB. Subsolum material is any material occurring below the diagnostics of WRB.\n\n## Translation into other languages {#sec-trns}\n\nTranslations into other languages are most welcome. For copyright, please contact IUSS. However, all elements of the soil names (RSG, qualifiers, specifiers) must not be translated into any other language nor transliterated into another alphabet. Soil names must preserve their grammatical form. The rules for the sequence of qualifiers must be followed in any translation. Names of RSGs and qualifiers start with capital letters.\n", + "supporting": [], + "filters": [ + "rmarkdown/pagebreak.lua" + ], + "includes": {}, + "engineDependencies": {}, + "preserve": {}, + "postProcess": true + } +} \ No newline at end of file diff --git a/_freeze/chapter-02/execute-results/html.json b/_freeze/chapter-02/execute-results/html.json new file mode 100644 index 0000000..0ca94ab --- /dev/null +++ b/_freeze/chapter-02/execute-results/html.json @@ -0,0 +1,15 @@ +{ + "hash": "95078c67c901564291b9991fbeade84e", + "result": { + "engine": "knitr", + "markdown": "---\noutput: html_document\neditor_options: \n chunk_output_type: console\n---\n\n\n# The rules for naming soils and creating legends for soil maps {#sec-ch02}\n\n## General rules and definitions {#sec-gnrl}\n\nThe following principles have to be considered for classification in WRB:\n\n1. All data refer to the fine earth, unless stated otherwise. The **fine earth** comprises the soil constituents ≤ 2 mm. The **whole soil** comprises fine earth, coarse fragments, [*artefacts*](chapter-03.qmd#sec-artefm), cemented parts and dead plant residues of any size.\n2. All data are given **by mass** (dried at 105° C, see [Annex 2, Chapter 9.2](annex-02-analytical-procedures.qmd#sec-a2-92)), unless stated otherwise.\n3. A **litter layer** is a loose layer that contains \\> 90% (by volume, related to the fine earth plus all dead plant residues) recognizable dead plant tissues (e.g. undecomposed leaves). Dead plant material still connected to living plants (e.g. dead parts of *Sphagnum* mosses) is not regarded to form part of a litter layer. The **soil surface** (0 cm) is by convention the surface of the soil after removing, if present, the litter layer and, if present, below a layer of living plants (e.g. living mosses). The **mineral soil surface** is the upper limit of the uppermost layer consisting of [*mineral material*](chapter-03.qmd#sec-minm) (see [Chapter 3.3.11](chapter-03.qmd#sec-minm) and [Annex 1](annex-01-field-guide.qmd), [Chapter 8.3.1](annex-01-field-guide.qmd#sec-a1-831)).\n4. A **soil layer** is a zone in the soil, approximately parallel to the soil surface, with properties different from layers above and/or below it. If at least one of these properties is the result of soil-forming processes, the layer is called a **soil horizon**. In the diagnostic criteria, the term 'horizon' is mainly used for the defined diagnostic horizons. The other layers are mainly called 'layer' to make sure that the criteria apply, even if they were not regarded to be soil horizons.\n5. If a criterion is worded as a conditional clause (if...) and the condition (**if-clause**) is not true, the criterion is ignored.\n6. Numerical values obtained in the field or in the laboratory have to be taken as such and **must not be rounded** when compared with the threshold values in the diagnostic criteria.\n7. The diagnostic criteria must be fulfilled **throughout the specified depth range**, unless stated otherwise. If a diagnostic horizon consists of several subhorizons, the diagnostic criteria (except thickness) must be fulfilled in every subhorizon separately (averages are not calculated), unless stated otherwise.\n8. The term **limiting layer** used in definitions comprises [*continuous rock*](chapter-03.qmd#sec-crockp), [*technic hard material*](chapter-03.qmd#sec-techhm), [*petrocalcic*](chapter-03.qmd#sec-pcalch), [*petroduric*](chapter-03.qmd#sec-pdurich), [*petrogypsic*](chapter-03.qmd#secp-gypsich) and [*petroplinthic horizons*](chapter-03.qmd#sec-pplinthich) and other cemented layers with both of the following: cementation with a class of at least moderately cemented and a continuity to the extent that vertical fractures, if present, have an average horizontal spacing of ≥ 10 cm and occupy \\< 20% (by volume, related to the whole soil).\n9. On a **slope**, the soil is described as a vertical profile. The thickness and depth values are calculated by multiplying the vertically measured values by the cosine of the inclination angle (see [Annex 1, Chapter 8.1.2](annex-01-field-guide.qmd#sec-a1-812)) [@prietzel2019]. This is especially important on steep slopes.\n\nClassification consists of three steps:\n\n### Step one -- detecting diagnostic horizons, properties and materials (for short: diagnostics) {#sec-stp1}\n\nDescribe the soil applying the Field Guide in Annex 1 ([Chapter 8](annex-01-field-guide.qmd)). It is useful that you already in the field compile a list of the possible diagnostic horizons, properties and materials observed (see [Chapter 3](chapter-03.qmd)). Conduct the relevant analyses according to Annex 2 ([Chapter 9](annex-02-analytical-procedures.qmd)). Then, decide on the presence of diagnostics. **For the decision, only the diagnostic criteria are relevant** - neither the name of the diagnostic, nor any other description. A layer may fulfil the criteria of more than one diagnostic horizon, property or material, which are then regarded as overlapping or coinciding.\n\n### Step two -- allocating the soil to a Reference Soil Group {#sec-stp2}\n\nFor the first level of the WRB classification, the described combination of diagnostic horizons, properties and materials and/or additional characteristics are compared to the WRB Key ([Chapter 4](chapter-04.qmd)) in order to allocate the soil to the appropriate **Reference Soil Group (RSG)**. The user must go through the Key systematically, starting at the beginning and excluding one by one all RSGs for which the specified requirements are not met. The soil belongs to the first RSG for which it fulfils the criteria.\n\n### Step three -- allocating the qualifiers {#sec-stp3}\n\nFor the second level of the WRB classification, qualifiers are used. The qualifiers available for use with a particular RSG are listed in the Key, along with the RSG. They are divided into principal and supplementary qualifiers.\n\nThe **principal qualifiers** are ranked and given in an order of importance. The rank of the principal qualifiers reflects particular soil characteristics or properties strongly influencing the soil's functionality:\n\nExamples of principal qualifiers indicating subdivisions of the RSG based on soil characteristics:\n\n- [Vitric](chapter-05.qmd#sec-vi), [Aluandic](chapter-05.qmd#sec-aa) and [Silandic](chapter-05.qmd#sec-sn) for [Andosols](chapter-04.qmd#sec-key-an)\n- [Carbic](chapter-05.qmd#sec-cb) and [Rustic](chapter-05.qmd#sec-rs) for [Podzols](chapter-04.qmd#sec-key-pz)\n- anthropogenic horizons: [Anthraquic](chapter-05.qmd#sec-aq), [Hortic](chapter-05.qmd#sec-ht), [Hydragric](chapter-05.qmd#sec-hg), [Irragric](chapter-05.qmd#sec-ir), [Plaggic](chapter-05.qmd#sec-pa), [Pretic](chapter-05.qmd#sec-pk), [Terric](chapter-05.qmd#sec-tr). These soils have distinct physico-chemical characteristics reflecting their formation.\n\nExamples of subdivisions reflecting major functional restrictions (many of them indicate a deviation from the central image of the RSG): [Abruptic](chapter-05.qmd#sec-ap), [Fragic](chapter-05.qmd#sec-fg), [Gleyic](chapter-05.qmd#sec-gl), [Leptic](chapter-05.qmd#sec-le), [Petrocalcic](chapter-05.qmd#sec-pc), [Petroduric](chapter-05.qmd#sec-pd), [Petrogypsic](chapter-05.qmd#sec-pg), [Petroplinthic](chapter-05.qmd#sec-pp), [Retic](chapter-05.qmd#sec-rt), [Skeletic](chapter-05.qmd#sec-sk), [Stagnic](chapter-05.qmd#sec-st), [Thionic](chapter-05.qmd#sec-ti).\n\nThe **supplementary qualifiers** are not ranked. **Supplementary qualifiers related to the texture**, if applicable, are the first in the list. If several ones apply (see [Chapter 2.3](#sec-subq)) they are placed in the sequence from the top to the bottom of the soil profile (e.g. Episiltic, Katoloamic). All **other supplementary qualifiers** follow them and are used in alphabetical order.\n\nQualifiers may be principal for some RSGs and supplementary for others, e.g., [Turbic](chapter-05.qmd#sec-tu) is principal for [Cryosols](chapter-04.qmd#sec-key-cr) and supplementary for other RSGs.\n\nThe principal qualifiers are added before the name of the RSG without brackets and without commas. The sequence is from right to left, i.e. the uppermost qualifier in the list is placed closest to the name of the RSG. The supplementary qualifiers are added in brackets after the name of the RSG and are separated from each other by commas. The sequence is from left to right, i.e. the first qualifier in the list is placed closest to the name of the RSG.\n\nIf two or more qualifiers in the list are **separated by a slash** (**/**), they are either mutually exclusive (e.g. [Dystric](chapter-05.qmd#sec-dy) and [Eutric](chapter-05.qmd#sec-eu)) or one of them is redundant (see below) with the redundant qualifier(s) listed after the slash(es). In the soil name, supplementary qualifiers are placed in the order of the alphabet (exception: supplementary qualifiers related to the texture, see above), even if their position in the list differs from the alphabetical sequence due to the use of the slash.\n\nQualifiers that are mutually exclusive may apply to the same soil at different depths. In this case, they can be used both, each one with the respective specifier (see [Chapter 2.3](#sec-subq)). If no specifier is used, only the first applicable qualifier can be used.\n\n**Qualifiers conveying redundant information are not added**. This is a general rule and applies even if the slash is not used. For example, [Eutric](chapter-05.qmd#sec-eu) is not added if the [Calcaric](chapter-05.qmd#sec-ca) qualifier applies.\n\n**If qualifiers apply but are not in the list for the particular RSG**, they should be added last as supplementary qualifiers. This is mainly relevant for polygenetic soils.\n\nThe names of the RSGs and the (sub)qualifiers must start with a capital letter.\n\n## Rules for naming soils {#sec-nmrl}\n\nFor naming a soil at the second level, all the principal and supplementary qualifiers that apply must be added to the name of the RSG.\n\n### Example of naming a soil according to WRB {#sec-nmex}\n\n#### Field description {#sec-nmex-desc}\n\nA soil developed from loess with high-activity clays has a marked clay increase at 60 cm depth, clay coatings in the clay-rich horizon, no stratification, and a field pH value around 6 in the depth from 50 to 100 cm. The clay-poor upper soil is subdivided into a darker upper and a light-coloured lower horizon. The clay-rich horizon has a limited amount of oximorphic features with intensive colours inside the soil aggregates and reducing conditions in some parts during springtime. The following conclusions can be drawn (for subqualifiers see [Chapter 2.3](#sec-subq)):\n\n+------------+----------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------+\n| a\\. | clay increase without [*lithic discontinuity*](chapter-03.qmd#sec-lithd) and/or with clay coatings | --\\> [*argic horizon*](chapter-03.qmd#sec-argich) |\n+------------+----------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------+\n| b\\. | [*argic horizon*](chapter-03.qmd#sec-argich) with high CEC, more exchangeable base cations than Al (inferred by pH 6) | --\\> [Luvisol](chapter-04.qmd#sec-key-lv) |\n+------------+----------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------+\n| c\\. | light colour in the eluvial horizon | --\\> [*claric material*](chapter-03.qmd#sec-claricm) |\n+------------+----------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------+\n| d\\. | [*claric material*](chapter-03.qmd#sec-claricm) above the [*argic horizon*](chapter-03.qmd#sec-argich) | *--\\>* [*albic horizon*](chapter-03.qmd#sec-albich)*\\ |\n| | | --\\>* [Albic](chapter-05.qmd#sec-ab) qualifier |\n+------------+----------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------+\n| e\\. | some oximorphic features inside aggregates | --\\> [*stagnic properties*](chapter-03.qmd#sec-stagnp) |\n+------------+----------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------+\n| f\\. | [*stagnic properties*](chapter-03.qmd#sec-stagnp) and [*reducing conditions*](chapter-03.qmd#sec-reducc) starting at 60 cm | --\\> [Endo](#sec-endo)[stagnic](chapter-03.qmd#sec-stagnp) subqualifier |\n+------------+----------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------+\n| g\\. | clay coatings | --\\> [Cutanic](chapter-05.qmd#sec-ct) qualifier |\n+------------+----------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------+\n| h\\. | clay increase without [*lithic discontinuity*](chapter-03.qmd#sec-lithd) | --\\> [Differentic](chapter-05.qmd#sec-df) qualifier |\n+------------+----------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------+\n| i\\. | argic horizon starting \\> 50 cm and ≤ 100 cm | --\\> [Endic](chapter-05.qmd#sec-ed) qualifier |\n+------------+----------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------+\n\nThe **field classification** is Albic Endostagnic Luvisol (Cutanic, Differentic).\n\n#### Laboratory analyses {#sec-nmex-ans}\n\nThe laboratory analyses confirm a high CEC kg^-1^ clay in the [*argic horizon*](chapter-03.qmd#sec-argich) and a high base saturation in the depth from 50 - 100 cm. They further detect the texture class of silty clay loam with 30% clay ([Loamic](chapter-05.qmd#sec-lo) qualifier) from 0 - 60 cm (Ano- specifier) and of silty clay with 45% clay ([Clayic](chapter-05.qmd#sec-ce) qualifier) from 60 - 100 cm (Endo- specifier). The organic carbon content in the topsoil is intermediate ([Ochric](chapter-05.qmd#sec-oh) qualifier).\n\nThe **final classification** is Albic Endostagnic Luvisol (Anoloamic, Endoclayic, Cutanic, Differentic, Endic, Ochric).\n\n## Subqualifiers {#sec-subq}\n\n**Qualifiers may be combined with specifiers** (e.g. Epi-, Proto-) **to form subqualifiers** (e.g. Epiarenic, Protocalcic). Depending on the specifier, the subqualifier fulfils all the criteria of the respective qualifier, or it deviates in a defined way from its set of criteria. The following rules apply:\n\n1. If a subqualifier applies that fulfils all the criteria of the qualifier, the subqualifier can - but does not have to - be used instead of its qualifier (**optional subqualifiers**).\n2. If a subqualifier applies that fulfils all the criteria of the qualifier except thickness and/or depth criteria, the subqualifier can - but does not have to - be used, but not the qualifier (additional subqualifiers). Note: It may happen that the qualifier is not listed with the available qualifiers for the respective RSG in [Chapter 4](chapter-04.qmd).\n3. If a subqualifier applies that deviates in a defined way from the set of criteria of the qualifier, the subqualifier must be used instead of the qualifier that is listed as available for the respective RSG in [Chapter 4](chapter-04.qmd) (mandatory subqualifiers). This is the case for some subqualifiers with a given definition (see below).\n\n**Optional and additional subqualifiers are recommended especially for naming soils**. Their use is not recommended for principal qualifiers in map units or wherever generalization is important.\n\nThe use of specifiers does not change the **position of the qualifier in the soil name** with the exception of the specifiers Bathy-, Thapto-, and Proto- (see below). Those supplementary qualifiers that are added according to the alphabet follow the alphabetical order of the qualifier, not the subqualifier.\n\nSome subqualifiers can be constructed by the user according to certain rules (see [Chapter 2.3.1](#sec-subq-cons)). Other subqualifiers have a fixed definition given in [Chapter 5](chapter-05.qmd) (see [Chapter 2.3.2](#sec-subq-defn)).\n\n### Subqualifiers constructed by the users {#sec-subq-cons}\n\n#### Constructed subqualifiers related to depth requirements {#sec-subq-depth}\n\nQualifiers that have depth requirements can be combined with the specifiers **Epi-**, **Endo-**, **Amphi-**, **Ano-**, **Kato-**, **Poly-**, **Panto-** and **Bathy-** to create subqualifiers (e.g. Epicalcic, Endocalcic) further expressing the depth of occurrence. Qualifiers that are mutually exclusive at the same depth may be applicable at different depths in the same soil. Qualifiers that already have a depth range requirement of 0-50 cm or 50-100 cm of the soil surface do not require these extra depth specifiers. For every qualifier with depth requirements, the definition ([Chapter 5](chapter-05.qmd)) specifies whether the depth requirement refers **to the soil surface or to the mineral soil surface**. Subqualifiers related to depth requirements are only used if the relevant soil characteristics are **reported until ≥ 100 cm of the (mineral) soil surface or to a limiting layer**, whichever is shallower.\n\nDepending on the particular qualifier and the particular soil characteristics, depth-related subqualifiers are used in the following different ways:\n\n1. If a qualifier refers to a characteristic that occurs at a specific point of depth (e.g. Raptic), **optional subqualifiers** can be constructed with the following specifiers:\n - [**Epi-**]{#sec-epi} (from Greek *epi*, over): the characteristic is present somewhere ≤ 50 cm of the (mineral) soil surface and is absent \\> 50 and ≤ 100 cm of the (mineral) soil surface; not used if a limiting layer starts ≤ 50 cm from the (mineral) soil surface.\n - [**Endo-**]{#sec-endo} (from Greek *endon*, inside): the characteristic is present somewhere \\> 50 of the (mineral) soil surface and is absent ≤ 50 cm of the (mineral) soil surface. (Examples: Endoraptic: the [*lithic discontinuity*](chapter-03.qmd#sec-lithd) is present \\> 50 and ≤ 100 cm from the mineral soil surface; Endocryic: the [*cryic horizon*](chapter-03.qmd#sec-cryich) has its upper limit \\> 50 and ≤ 200 cm from the soil surface.)\n - [**Amphi-**]{#sec-amphi} (from Greek *amphi*, around): the characteristic is present two or more times, once or more times somewhere ≤ 50 cm of the (mineral) soil surface and once or more times somewhere \\> 50 and ≤ 100 cm of the (mineral) soil surface.\n2. If a qualifier refers to a **layer** (e.g. [Calcic](chapter-05.qmd#sec-cc), [Arenic](chapter-05.qmd#sec-ar), [Fluvic](chapter-05.qmd#sec-fv)), **optional subqualifiers** can be constructed with the following specifiers (see Figure 2.1):\n - **Epi-** (from Greek *epi*, over): the layer has its lower limit ≤ 50 cm of the (mineral) soil surface; and no such layer occurs between 50 and 100 cm of the (mineral) soil surface; not used if the definition of the qualifier or of the horizon requires that the layer starts at the (mineral) soil surface; if a limiting layer starts ≤ 50 cm from the mineral soil surface, the qualifier referring to the limiting layer receives the Epi- specifier and all other qualifiers remain without specifier.\n\n - **Endo-** (from Greek *endon*, inside): the layer starts ≥ 50 cm from the (mineral) soil surface; and no such layer occurs \\< 50 cm of the (mineral) soil surface. (Examples: Endocalcic: the [*calcic horizon*](chapter-03.qmd#sec-calcich) starts ≥ 50 and ≤ 100 cm from the mineral soil surface; Endospodic: the [*spodic horizon*](chapter-03.qmd#sec-spodich) starts ≥ 50 and ≤ 200 cm from the mineral soil surface.)\n\n - **Amphi-** (from Greek *amphi*, around): the layer starts \\> 0 and \\< 50 cm from the (mineral) soil surface and has its lower limit \\> 50 and \\< 100 cm of the (mineral) soil surface; and no such layer occurs \\< 1 cm of the (mineral) soil surface; and no such layer occurs between 99 and 100 cm of the (mineral) soil surface or directly above a limiting layer.\n\n - **Ano-** (from Greek *ano*, upwards): the layer starts at the (mineral) soil surface and has its lower limit \\> 50 and \\< 100 cm of the (mineral) soil surface; and no such layer occurs between 99 and 100 cm of the (mineral) soil surface or directly above a limiting layer.\n\n - **Kato-** (from Greek *kato*, downwards): the layer starts \\> 0 and \\< 50 cm from the (mineral) soil surface and has its lower limit ≥ 100 cm of the (mineral) soil surface or at a limiting layer starting \\> 50 cm from the (mineral) soil surface; and no such layer occurs \\< 1 cm of the (mineral) soil surface.\n\n - **Poly-** (from Greek *polys*, many):\n\n a. diagnostic horizons: two or more diagnostic horizons are present at the depth required by the qualifier definition, interrupted by layers that do not fulfil the criteria of the respective diagnostic horizon;\n b. other layers: two or more layers within 100 cm of the (mineral) soil surface fulfil the criteria of the qualifier, interrupted by layers that do not fulfil the criteria of the respective qualifier; and the thickness criterion is fulfilled by the sum of the thicknesses of the layers; it may or may not be fulfilled by the single layers.\n\n - **Panto-** (from Greek *pan*, all): the layer starts at the (mineral) soil surface and has its lower limit ≥ 100 cm of the (mineral) soil surface or at a limiting layer starting \\> 50 cm from the (mineral) soil surface.\n\n**Qualifiers that are mutually exclusive may occur in the same soil at different depths**. In this case, they can be used both, each one with the respective specifier. If the specifiers are used with principal qualifiers, the qualifier referring to the upper layer is placed closer to the name of the RSG. If the specifiers are used with supplementary qualifiers related to the texture, the qualifiers are placed in the sequence from the top to the bottom of the profile. The sequence of the other supplementary qualifiers is according to the alphabetical position of the qualifier, not the subqualifier.\n\n![Specifiers to construct optional subqualifiers related to depth requirements and referring to a particular layer (Bathy- and Poly- not illustrated, hatching and colours just for better readability), modified by S. Dondeyne](images/figure_2-1.png){#fig-two-one fig-alt=\"Specifiers to construct optional subqualifiers related to depth requirements and referring to a particular layer (Bathy- and Poly- not illustrated, hatching and colours just for better readability), modified by S. Dondeyne\"}\n\n- If a qualifier refers to the **major part of a certain depth range or to half or more of a certain depth range** ([Dystric](chapter-05.qmd#sec-dy) and [Eutric](chapter-05.qmd#sec-eu), only), **additional subqualifiers** can be constructed with the following specifiers:\n - **Epi-** (from Greek *epi*, over): the characteristic is present in the major part (or half or more of the part) between the specified upper limit and 50 cm of the (mineral) soil surface and is absent in the major part (or half or more of the part) between the specified upper limit and 100 cm of the (mineral) soil surface or between the specified upper limit and a limiting layer starting \\> 50 cm from the mineral soil surface, whichever is shallower.\n\n - **Endo-** (from Greek *endon*, inside): the characteristic is present in the major part (or half or more of the part) between 50 and 100 cm of the (mineral) soil surface or between 50 cm of the (mineral) soil surface and a limiting layer, whichever is shallower, and is absent in the major part (or half or more of the part) between the specified upper limit and 100 cm of the (mineral) soil surface or between the specified upper limit and a limiting layer, whichever is shallower.\n\n**These additional subqualifiers are only allowed together with the predominant qualifier**. If it is a principal qualifier, the predominant qualifier stands closer to the name of the RSG (Epidystic Eutric, Endodystric Eutric, Epieutric Dystric, Endoeutric Dystric). If it is a supplementary qualifier, the alphabetical sequence of the qualifiers is followed.\n\n4. If a qualifier refers to a **specified depth range throughout** ([Relocatic](chapter-05.qmd#sec-rc), only), **additional subqualifiers** can be constructed with the following specifiers:\n - **Epi-** (from Greek *epi*, over): the characteristic is present throughout between the (mineral) soil surface and 50 cm of the (mineral) soil surface and is absent in some layer between 50 and 100 cm of the (mineral) soil surface.\n - **Endo-** (not applicable).\n5. If a qualifier refers to a **percentage** (e.g. [Skeletic](chapter-05.qmd#sec-sk)), **additional subqualifiers** can be constructed with the following specifiers (no subqualifier if a limiting layer starts \\< 60 cm from the mineral soil surface):\n - **Epi-** (from Greek *epi*, over): the characteristic is present between the (mineral) soil surface and 50 cm of the (mineral) soil surface but is not present throughout, i.e., if averaged over a depth of 100 cm of the (mineral) soil surface or between the (mineral) soil surface and a limiting layer, whichever is shallower.\n - **Endo-** (from Greek *endon*, inside): the characteristic is present between 50 and 100 cm of the (mineral) soil surface or between 50 cm of the (mineral) soil surface and a limiting layer, whichever is shallower, but is not present throughout, i.e., if averaged over a depth of 100 cm of the (mineral) soil surface or between the (mineral) soil surface and a limiting layer, whichever is shallower.\n6. If a qualifier refers to a specific point of depth or to a layer, but its criteria are only fulfilled if layers at a depth of \\> 100 cm of the (mineral) soil surface are taken into account, the **Bathy-** (from Greek *bathys*, deep) specifier can be used to construct **additional subqualifiers**. The Bathy- subqualifier extends to a greater depth than specified for the qualifier. If the Endo- specifier cannot be added to a qualifier, the Bathy- specifier cannot be used either (e.g. [Alcalic](chapter-05.qmd#sec-ax): neither Endo-, nor Bathy-). If used with a principal qualifier, the Bathy- subqualifier **must shift to the supplementary qualifiers** and be placed within the list of the supplementary qualifiers according to the alphabetical position of the qualifier, not the subqualifier. With the Bathy- specifier, qualifiers that are not even in the list for the particular RSG (see [Chapter 4](chapter-04.qmd)) can be added, for example [Eutric](chapter-05.qmd#sec-eu) [Arenosol](chapter-04.qmd#sec-key-ar) (Bathylixic). If it comprises buried layers, Bathy- is only allowed in combination with the Thapto- specifier, e.g. Thaptobathyvertic (see the Thapto- specifier, below, and [Chapter 2.4](#sec-buried).\n\nNote: Specifiers conveying redundant information are not added. For example: Skeletic Epileptic Cambisol, not: Episkeletic Epileptic Cambisol.\n\n#### Constructed subqualifiers related to other requirements {#sec-subq-other}\n\nIf a diagnostic horizon or a layer with a diagnostic property belongs to a buried soil (see [Chapter 2.4](#sec-buried)), the **Thapto-** (from Greek *thaptein*, to bury) specifier can be used to construct **optional or additional subqualifiers**. If used with a principal qualifier, the Thapto- subqualifier **must shift to the supplementary qualifiers** and be placed within the list of the supplementary qualifiers according to the alphabetical position of the qualifier, not the subqualifier.\n\nFor soils with a limiting layer, a geomembrane or a continuous layer of *artefacts*, **additional subqualifiers** with the **Supra-** (from Latin *supra*, above) specifier can be constructed to describe the soil material above, if the thickness or depth requirements of a qualifier or of its respective diagnostics are not fulfilled, but all other criteria are fulfilled throughout in the soil material above (e.g. [Ekranic](chapter-05.qmd#sec-ek) [Technosol](chapter-04.qmd#sec-key-tc) (Suprafolic)).\n\n### Subqualifiers with a given definition {#sec-subq-defn}\n\n**For some qualifiers, subqualifiers are defined in [Chapter 5](chapter-05.qmd),** e.g., Hypersalic and Protosalic for the [Salic](chapter-05.qmd#sec-sz) qualifier. These **subqualifiers are not listed with the RSGs in [Chapter 4](chapter-04.qmd)** (unless the qualifier without specifier cannot exist for the respective RSG). They belong to the **optional** (e.g. [Hypercalcic](chapter-05.qmd#sec-jc), [Orthomineralic](chapter-05.qmd#sec-oi)), the **additional** (e.g. [Akromineralic](chapter-05.qmd#sec-km)) or the **mandatory** (e.g. [Protocalcic](chapter-05.qmd#sec-qc)) subqualifiers. If the Proto- specifier is used with a principal qualifier, the Proto- subqualifier **must shift to the supplementary qualifiers** and be placed within the list of the supplementary qualifiers according to the alphabetical position of the qualifier, not the subqualifier.\n\nIf of one qualifier, two or more subqualifiers with a given definition apply (e.g. Anthromollic and Tonguimollic), they **have to be listed all**. Adding a further specifier to a subqualifier with a given definition is also allowed, e.g., Endoprotosalic, Supraprotosodic.\n\n## Buried soils {#sec-buried}\n\nA buried soil is a soil covered by younger deposits. Where a soil is buried, the following rules apply:\n\n1. The overlying material and the buried soil are classified as one soil if both together qualify as a [Histosol](chapter-04.qmd#sec-key-hs), [Anthrosol](chapter-04.qmd#sec-key-at), [Technosol](chapter-04.qmd#sec-key-tc), [Cryosol](chapter-04.qmd#sec-key-cr), [Leptosol](chapter-04.qmd#sec-key-lp), [Vertisol](chapter-04.qmd#sec-key-vr), [Gleysol](chapter-04.qmd#sec-key-gl), [Andosol](chapter-04.qmd#sec-key-an), [Planosol](chapter-04.qmd#sec-key-pl), [Stagnosol](chapter-04.qmd#sec-key-st), [Fluvisol](chapter-04.qmd#sec-key-fl){style=\"font-size: 11pt;\"}, [Arenosol](chapter-04.qmd#sec-key-ar), or [Regosol](chapter-04.qmd#sec-key-rg).\n2. Otherwise, the overlying material is classified with preference if it is ≥ 50 cm thick or if the overlying material, if it stood alone, satisfies the requirements of a RSG other than a [Regosol](chapter-04.qmd#sec-key-rg). For depth requirements in the overlying material, the lower limit of the overlying material is regarded as if it were the upper limit of [*continuous rock*](chapter-03.qmd#sec-crockp).\n3. In all other cases, the buried soil is classified with preference. For depth requirements in the buried soil, the upper limit of the buried soil is regarded as its soil surface.\n4. If the overlying soil is classified with preference, there are two options to consider the underlying soil:\n a. If the underlying soil is not a [Regosol](chapter-04.qmd#sec-key-rg) or [Leptosol](chapter-04.qmd#sec-key-lp) and shows a complete horizon sequence, including clearly identifiable organic surface layers and/or mineral topsoil horizons, and one soil does not influence the pedogenic processes in the other soil, respectively (e.g. no clay migration from the overlying into the underlying soil, no Fe transport by capillary upward movement from the underlying into the overlying soil), then the name of the buried soil is placed after the name of the overlying soil adding the word 'over' in between, e.g. Skeletic Umbrisol (Siltic) over Albic Podzol (Arenic). As many buried soils are polygenetic, qualifiers that are not in the list for the particular RSG may be applicable. If so, these qualifiers must be used as supplementary qualifiers. The qualifiers Infraandic and Infraspodic are provided for buried soils only and are therefore not listed with the RSGs in [Chapter 4](chapter-04.qmd). As all non-listed qualifiers, they are added as last supplementary qualifiers.\n b. Otherwise, a buried diagnostic horizon or a buried layer with a diagnostic property is added with the Thapto- subqualifier to the name of the overlying soil (see [Chapter 2.3](#sec-subq)).\n5. If the buried soil is classified with preference, the overlying material is indicated with the [Novic](chapter-05.qmd#sec-nv) qualifier. If applicable, the [Novic](chapter-05.qmd#sec-nv) qualifier is combined with certain other qualifiers in the following way (codes in brackets); thickness and depth criteria of these qualifiers do not need to be fulfilled:\\\n Aeoli-Novic (nva)\\\n Fluvi-Novic (nvf)\\\n Solimovi-Novic (nvs)\\\n Techni-Novic (nvt)\\\n Tephri-Novic (nvv)\\\n Transporti-Novic. (nvp)\\\n In addition, according to [Chapter 5](chapter-05.qmd), the texture may also be added, e.g., Aeoli-Siltinovic (sja).\n\n## Guidelines for creating legends for soil maps {#sec-legends}\n\nThe following guidelines apply:\n\n1. A map unit consists of\n - a dominant soil only\n - a dominant soil plus a codominant soil and/or one or more associated soils\n - two or three codominant soils\n - two or three codominant soils plus one or more associated soils.\\\n \\\n Dominant soils represent ≥ 50% of the soil cover, codominant soils ≥ 25 and \\< 50% of the soil cover. Associated soils represent ≥ 5 and \\< 25% of the soil cover or are of high relevance in the landscape. Further soils should be ignored in the denomination of the map unit.\\\n \\\n If codominant or associated soils are indicated, the words 'dominant:', 'codominant:' and 'associated:' are written before the name of the soil; the soils are separated by semicolons.\n2. The number of qualifiers specified below refers to the dominant soil. For codominant or associated soils, fewer numbers of qualifiers (or even no qualifier) may be appropriate.\n3. Depending on scale, different numbers of principal qualifiers are used:\n a. For very small map scales, only the Reference Soil Group (RSG) is used.\n b. For next larger map scales, the RSG plus the first applicable principal qualifier are used.\n c. For next larger map scales, the RSG plus the first two applicable principal qualifiers are used.\\\n \\\n It is not possible to give general figures for these scales, because this depends very much on the homogeneity or heterogeneity of the landscape. In landscapes of intermediate homogeneity, very small scales would be smaller than 1 :  10 000 000, the next larger scales smaller than 1 : 5 000 000 and the next larger scales smaller than 1 : 1 000 000.\n4. If there are fewer qualifiers applicable than described above, the lesser number is used.\n5. Depending on the purpose of the map or according to national traditions, at any scale level, further qualifiers may be added as **elective qualifiers**. These may be principal qualifiers from further down the list and not already used in the soil name, or they may be supplementary qualifiers. They are placed using the above-mentioned rules for supplementary qualifiers. If two or more elective qualifiers are used, the following rules apply:\n a. the principal qualifiers are placed first, and of them, the first applicable qualifier is placed first, and\n\n b. the sequence of any supplementary qualifiers added is decided by the soil scientist who makes the map.\n\n#### Example for creating a map unit in WRB {#sec-legends-ex}\n\nA landscape usually shows a variety of soils. For a map unit, they often have to be combined. The principles are shown in @fig-two-mapunits and in @tbl-twoone and @tbl-twotwo.\n\n![Soils in a landscape that need to be combined to form a map unit](images/figure_2-2.png){#fig-two-mapunits fig-alt=\"Soils in a landscape that need to be combined to form a map unit\"}\n\n\n::: {#tbl-twoone .cell .no-stripe layout-align=\"center\" tbl-cap='Detection of dominant, codominant and associated soils.'}\n::: {.cell-output-display}\n\n```{=html}\n
    \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n \n \n
    AreaComplete soil nameResult
    1Haplic Luvisol (Episiltic, Katoclayic, Aric, Cutanic, Differentic, Epic, Ochric)dominant soil
    2Eutric Stagnic Leptic Cambisol (Loamic, Humic)codominant soil
    3Albic Stagnic Luvisol (Anosiltic, Endoclayic, Cutanic, Differentic, Endic, Humic)associated soil
    4Thyric Technosol (Loamic, Calcaric, Skeletic)ignored
    5Eutric Luvic Stagnosol (Episiltic, Katoclayic, Humic)ignored
    6Hortic Anthrosol (Loamic, Eutric)ignored
    \n
    \n```\n\n:::\n:::\n\n::: {#tbl-twotwo .cell .no-stripe layout-align=\"center\" tbl-cap='Denomination of the map unit depending on the scale level.'}\n::: {.cell-output-display}\n\n```{=html}\n
    \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n\n\n \n\n\n\n \n\n\n\n \n \n \n
    Map scale levelDominant soilCodominant soilAssociated soil
    FirstLuvisolsCambisols
    SecondHaplic LuvisolsLeptic CambisolsStagnic Luvisols
    ThirdHaplic LuvisolsStagnic Leptic CambisolsAlbic Stagnic Luvisols
    \n
    \n```\n\n:::\n:::\n\n\n#### Examples for map units in WRB {#sec-legend-exs}\n\n##### Example 1\n\nA map unit dominated by a soil with a very dark mineral surface horizon, 30 cm thick, with high base saturation, no secondary carbonates and groundwater influence starting at 60 cm from the mineral soil surface (i.e. having a layer, ≥ 25 cm thick, that has gleyic properties throughout and reducing conditions in some parts of every sublayer), will be named as follows:\n\n- at the first map scale level: Phaeozems\n- at the second map scale level: Chernic Phaeozems\n- at the third map scale level: Gleyic Chernic Phaeozems\n\n##### Example 2\n\nIn a map unit, no diagnostics apply. In 80% of the area, the soil has \\< 40% coarse fragments as a weighted average in the uppermost 100 cm, in the other 20% of the area, the soil has 85% coarse fragments as a weighted average in the uppermost 75 cm. The soils are calcareous and silty. This map unit will be named as follows:\n\n- at the first map scale level: dominant: Regosols associated: Leptosols\n\n- at the second map scale level: dominant: Calcaric Regosols associated: Coarsic Leptosols\n\n- at the third map scale level: dominant: Calcaric Regosols associated: Calcaric Coarsic Leptosols\n\nIn this example, the next applicable qualifier for the Regosols is Eutric. However, as high base saturation is already indicated by the Calcaric qualifier, the Eutric qualifier is redundant. Therefore, in this case, only one principal qualifier is applicable at the third map scale level. For associated soils, it is allowed to use fewer qualifiers than indicated for the scale level. If appropriate, at the third scale level, the Leptosols may just be named Coarsic Leptosols.\n\nThe high silt content may be expressed by the Siltic qualifier, which as a supplementary qualifier is elective in a map legend. It may be added at any scale level, for example:\n\n- at the first map scale level: Regosols (Siltic)\n\n- at the second map scale level: Calcaric Regosols (Siltic)\n\nPrincipal qualifiers, not required at the respective scale level, may also be added as elective qualifiers, for example:\n\n- at the first map scale level: Regosols (Calcaric, Siltic)\n\n- at the second map scale level: Calcaric Regosols (Siltic)\n\n##### Example 3\n\nA map unit, dominated by a soil with a thick layer of strongly decomposed acidic *organic material*, 70 cm thick and filled with rainwater, with continuous rock at 80 cm will be named as follows:\n\n- at the first map scale level: Histosols\n- at the second map scale level: Sapric Histosols\n- at the third map scale level: Leptic Sapric Histosols\n\nIn this example, the next applicable qualifier is Ombric. As two qualifiers are already used, the third may be added as elective qualifier. In a similar way, elective qualifiers may be used at the other scale levels, for example:\n\n- at the first map scale level: Histosols (Sapric)\n- at the second map scale level: Sapric Histosols (Leptic, Ombric)\n- at the third map scale level: Leptic Sapric Histosols (Ombric)\n", + "supporting": [], + "filters": [ + "rmarkdown/pagebreak.lua" + ], + "includes": {}, + "engineDependencies": {}, + "preserve": {}, + "postProcess": true + } +} \ No newline at end of file diff --git a/_freeze/chapter-06/execute-results/html.json b/_freeze/chapter-06/execute-results/html.json new file mode 100644 index 0000000..707fbed --- /dev/null +++ b/_freeze/chapter-06/execute-results/html.json @@ -0,0 +1,19 @@ +{ + "hash": "f07c48349af1d81d1ee68947517d856b", + "result": { + "engine": "knitr", + "markdown": "# Codes for the Reference Soil Groups, qualifiers and specifiers\n\n\n::: {.cell layout-align=\"center\"}\n\n:::\n\n\n## Reference Soil Groups\n\n\n::: {#tbl-sixone .cell .no-stripe layout-align=\"center\" tbl-cap='Reference Soil Groups'}\n::: {.cell-output-display}\n\n```{=html}\n
    \n\n
    \n\n
    \n```\n\n:::\n:::\n\n\n## Qualifiers\n\n\n::: {#tbl-sixtwo .cell .no-stripe layout-align=\"center\" tbl-cap='Qualifiers'}\n::: {.cell-output-display}\n\n```{=html}\n
    \n\n
    \n\n
    \n```\n\n:::\n:::\n\n\n## Specifiers\n\n\n::: {#tbl-sixthree .cell .no-stripe layout-align=\"center\" tbl-cap='Specifiers'}\n::: {.cell-output-display}\n\n```{=html}\n
    \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n \n \n
    NameCode
    Amphi..m
    Ano..a
    Bathy..d
    Endo..n
    Epi..p
    Kato..k
    Panto..e
    Poly..y
    Supra..s
    Thapto..b
    \n
    \n```\n\n:::\n:::\n\n\n## Combinations with the Novic qualifier\n\n::: callout-note\nSee Chapter 2.4, [Buried soils](chapter-02.qmd#sec-buried)\n:::\n\n\n::: {#tbl-sixfour .cell .no-stripe layout-align=\"center\" tbl-cap='Novic combinations'}\n::: {.cell-output-display}\n\n```{=html}\n
    \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n\n \n\n \n\n \n\n \n\n \n \n \n
    NameCode
    Aeoli-novicnva
    Fluvi-novicnvf
    Solimovic-novicnvs
    Techni-novicnvt
    Tephri-novicnvv
    Transporti-novicnvp
    \n
    \n```\n\n:::\n:::\n\n\n**Note:** The codes for the combinations with subqualifiers of the [Novic](chapter-05.qmd#sec-nv) qualifier are constructed accordingly, e.g., Aeoli-Siltinovic (sja).\n\n### Rules for the use of the codes for naming soils\n\nAt the first level of classification, the code of the RSG stands alone.\n\nAt the second level, the code starts with the RSG,\\\nfollowed by a '-',\\\nfollowed by the principal qualifiers, if several ones apply, with a '.' between them, according to the list from top to bottom,\\\nif applicable, followed by a '-',\\\nfollowed by the supplementary qualifiers related to texture, if several ones apply, with a '.' between them, in the sequence from the top to the bottom of the profile,\\\nif applicable, followed by a '-',\\\nfollowed by the other supplementary qualifiers, if several ones apply, with a '.' in between them, in alphabetical order of the qualifier names (not in alphabetical order of their codes),\\\nif applicable, followed by a '-',\\\nfollowed by qualifiers that are not in the list for the particular RSG.\n\nSubqualifiers (qualifiers combined with specifiers) are placed in the order of the qualifiers as if they were used without the specifier. Exception: If used with a principal qualifier, the Proto-, Bathy- and Thapto- subqualifiers must shift to the supplementary qualifiers,\n\nIf one group of qualifiers is empty, the '-' is still included, if one of the following groups is not empty.\n\nThe resulting scheme is as follows:\\\nRSG{-}\\[PQ1\\[.PQ2\\]etc\\]{-}\\[TQ1\\[.TQ2\\]etc\\]{-}\\[SQ1\\[.SQ2\\]etc\\]{-}\\[NQ1\\[.NQ2\\]etc\\]\n\nWith: PQ = principal qualifier, with or without added specifiers, TQ = supplementary qualifier related to texture, with or without added specifiers, SQ = other supplementary qualifier, with or without added specifiers, NQ = qualifier not listed for the particular RSG, with or without added specifiers; etc = further qualifiers can be added in the same way if necessary; elements in \\[\\] are listed if they apply; elements in {} are necessary if elements follow.\n\n### Examples of the use of the codes for naming soils\n\nAlbic Stagnic Luvisol (Episiltic, Katoclayic, Bathysiltic, Cutanic, Differentic, Epic, Ochric):\\\nLV-st.ab-slp.cek.sld-ct.df.ep.oh\n\nHemic Folic Endorockic Histosol (Dystric):\\\nHS-rkn.fo.hm-dy\n\nHaplic Ferralsol (Pantoloamic, Dystric, Endic, Humic, Bathypetroplinthic, Posic):\\\nFR-ha-loe-dy.ed.hu.ppd.po\n\nCalcaric Skeletic Pantofluvic Fluvisol (Pantoarenic, Ochric):\\\nFL-fve.sk.ca-are-oh\n\nDystric Umbric Aluandic Andosol (Pantosiltic, Thaptohistic, Hyperhumic):\\\nAN-aa.um.dy-sle-hib.jh\n\nIsolatic Ekranic Technosol (Supraarenic, Supracalcaric):\\\nTC-ek.il-ars-cas\n\nDystric Arenosol (Bathyspodic):\\\nAR-dy-sdd\n\n### Rules for the use of the codes for creating map legends\n\nAt the first scale level, the code of the RSG stands alone.\\\nAt the second and third scale level, the code starts with the RSG,\\\nfollowed by a '-',\\\nfollowed by the principal qualifiers (number according to the scale level) according to the list from top to bottom, with a '.' between them.\n\nIf elective qualifiers are added,\\\na '-' is added,\\\nfollowed by the elective qualifiers, with a '.' between them (the principal qualifiers are placed first, and of them, the first applicable qualifier is placed first, and the sequence of any supplementary qualifiers added is decided by the soil scientist who makes the map).\n\nIf according to the scale level no principal qualifier has to be added, the '-' is still included, if any elective qualifier is added.\n\nIf codominant or associated soils are indicated, the words 'dominant:', 'codominant:' and 'associated:' are written before the code of the soil.\n\nThe resulting scheme is as follows:\\\nRSG{-}\\[PQ1\\[.PQ2\\]\\]{-}\\[EQ1\\[.EQ2\\]etc\\]\n\nWith: PQ = principal qualifier, EQ = elective qualifier; etc = further qualifiers can be added in the same way if necessary; elements in \\[\\] are listed if they apply; elements in {} are necessary if elements follow.\n\n### Examples of the use of the codes for creating map legends\n\nUmbric Geric Xanthic Ferralsols (Clayic, Dystric, Endic, Humic):\\\nfirst scale level: FR\\\nsecond scale level: FR-xa\\\nthird scale level: FR-xa.gr\n\nIf elective qualifiers are added: examples:\\\nfirst scale level: FR--ce\\\nsecond scale level: FR-xa-ce\\\nthird scale level: FR-xa.gr-um.ce.dy\n\n", + "supporting": [], + "filters": [ + "rmarkdown/pagebreak.lua" + ], + "includes": { + "include-in-header": [ + "\n\n\n\n\n\n\n" + ] + }, + "engineDependencies": {}, + "preserve": {}, + "postProcess": true + } +} \ No newline at end of file diff --git a/_freeze/site_libs/clipboard/clipboard.min.js b/_freeze/site_libs/clipboard/clipboard.min.js new file mode 100644 index 0000000..1103f81 --- /dev/null +++ b/_freeze/site_libs/clipboard/clipboard.min.js @@ -0,0 +1,7 @@ +/*! + * clipboard.js v2.0.11 + * https://clipboardjs.com/ + * + * Licensed MIT © Zeno Rocha + */ +!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.ClipboardJS=e():t.ClipboardJS=e()}(this,function(){return n={686:function(t,e,n){"use strict";n.d(e,{default:function(){return b}});var e=n(279),i=n.n(e),e=n(370),u=n.n(e),e=n(817),r=n.n(e);function c(t){try{return document.execCommand(t)}catch(t){return}}var a=function(t){t=r()(t);return c("cut"),t};function o(t,e){var n,o,t=(n=t,o="rtl"===document.documentElement.getAttribute("dir"),(t=document.createElement("textarea")).style.fontSize="12pt",t.style.border="0",t.style.padding="0",t.style.margin="0",t.style.position="absolute",t.style[o?"right":"left"]="-9999px",o=window.pageYOffset||document.documentElement.scrollTop,t.style.top="".concat(o,"px"),t.setAttribute("readonly",""),t.value=n,t);return e.container.appendChild(t),e=r()(t),c("copy"),t.remove(),e}var f=function(t){var e=1=8.9.0" + } +} diff --git a/_freeze/site_libs/core-js-2.5.3/shim.min.js b/_freeze/site_libs/core-js-2.5.3/shim.min.js new file mode 100644 index 0000000..3f0d5f5 --- /dev/null +++ b/_freeze/site_libs/core-js-2.5.3/shim.min.js @@ -0,0 +1,10 @@ +/** + * core-js 2.6.11 + * https://github.com/zloirock/core-js + * License: http://rock.mit-license.org + * © 2019 Denis Pushkarev + */ +!function(e,i,Jt){"use strict";!function(r){var e={};function __webpack_require__(t){if(e[t])return e[t].exports;var n=e[t]={i:t,l:!1,exports:{}};return r[t].call(n.exports,n,n.exports,__webpack_require__),n.l=!0,n.exports}__webpack_require__.m=r,__webpack_require__.c=e,__webpack_require__.d=function(t,n,r){__webpack_require__.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:r})},__webpack_require__.n=function(t){var n=t&&t.__esModule?function getDefault(){return t["default"]}:function getModuleExports(){return t};return __webpack_require__.d(n,"a",n),n},__webpack_require__.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},__webpack_require__.p="",__webpack_require__(__webpack_require__.s=129)}([function(t,n,r){var v=r(2),g=r(26),y=r(11),d=r(12),b=r(18),S="prototype",_=function(t,n,r){var e,i,o,u,c=t&_.F,a=t&_.G,f=t&_.P,s=t&_.B,l=a?v:t&_.S?v[n]||(v[n]={}):(v[n]||{})[S],h=a?g:g[n]||(g[n]={}),p=h[S]||(h[S]={});for(e in a&&(r=n),r)o=((i=!c&&l&&l[e]!==Jt)?l:r)[e],u=s&&i?b(o,v):f&&"function"==typeof o?b(Function.call,o):o,l&&d(l,e,o,t&_.U),h[e]!=o&&y(h,e,u),f&&p[e]!=o&&(p[e]=o)};v.core=g,_.F=1,_.G=2,_.S=4,_.P=8,_.B=16,_.W=32,_.U=64,_.R=128,t.exports=_},function(t,n,r){var e=r(4);t.exports=function(t){if(!e(t))throw TypeError(t+" is not an object!");return t}},function(t,n){var r=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof i&&(i=r)},function(t,n){t.exports=function(t){try{return!!t()}catch(n){return!0}}},function(t,n){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},function(t,n,r){var e=r(47)("wks"),i=r(33),o=r(2).Symbol,u="function"==typeof o;(t.exports=function(t){return e[t]||(e[t]=u&&o[t]||(u?o:i)("Symbol."+t))}).store=e},function(t,n,r){var e=r(20),i=Math.min;t.exports=function(t){return 0"+i+""};t.exports=function(n,t){var r={};r[n]=t(o),e(e.P+e.F*i(function(){var t=""[n]('"');return t!==t.toLowerCase()||3document.F=Object<\/script>"),t.close(),s=t.F;r--;)delete s[f][u[r]];return s()};t.exports=Object.create||function create(t,n){var r;return null!==t?(a[f]=i(t),r=new a,a[f]=null,r[c]=t):r=s(),n===Jt?r:o(r,n)}},function(t,n,r){var e=r(95),i=r(69).concat("length","prototype");n.f=Object.getOwnPropertyNames||function getOwnPropertyNames(t){return e(t,i)}},function(t,n,r){var e=r(2),i=r(8),o=r(7),u=r(5)("species");t.exports=function(t){var n=e[t];o&&n&&!n[u]&&i.f(n,u,{configurable:!0,get:function(){return this}})}},function(t,n){t.exports=function(t,n,r,e){if(!(t instanceof n)||e!==Jt&&e in t)throw TypeError(r+": incorrect invocation!");return t}},function(t,n,r){var h=r(18),p=r(108),v=r(81),g=r(1),y=r(6),d=r(83),b={},S={};(n=t.exports=function(t,n,r,e,i){var o,u,c,a,f=i?function(){return t}:d(t),s=h(r,e,n?2:1),l=0;if("function"!=typeof f)throw TypeError(t+" is not iterable!");if(v(f)){for(o=y(t.length);l")}),d=function(){var t=/(?:)/,n=t.exec;t.exec=function(){return n.apply(this,arguments)};var r="ab".split(t);return 2===r.length&&"a"===r[0]&&"b"===r[1]}();t.exports=function(r,t,n){var e=p(r),o=!l(function(){var t={};return t[e]=function(){return 7},7!=""[r](t)}),i=o?!l(function(){var t=!1,n=/a/;return n.exec=function(){return t=!0,null},"split"===r&&(n.constructor={},n.constructor[g]=function(){return n}),n[e](""),!t}):Jt;if(!o||!i||"replace"===r&&!y||"split"===r&&!d){var u=/./[e],c=n(h,e,""[r],function maybeCallNative(t,n,r,e,i){return n.exec===v?o&&!i?{done:!0,value:u.call(n,r,e)}:{done:!0,value:t.call(r,n,e)}:{done:!1}}),a=c[1];f(String.prototype,r,c[0]),s(RegExp.prototype,e,2==t?function(t,n){return a.call(t,this,n)}:function(t){return a.call(t,this)})}}},function(t,n,r){var e=r(2).navigator;t.exports=e&&e.userAgent||""},function(t,n,r){var d=r(2),b=r(0),S=r(12),_=r(41),x=r(30),m=r(40),w=r(39),E=r(4),O=r(3),M=r(57),I=r(43),P=r(72);t.exports=function(e,t,n,r,i,o){var u=d[e],c=u,a=i?"set":"add",f=c&&c.prototype,s={},l=function(t){var r=f[t];S(f,t,"delete"==t?function(t){return!(o&&!E(t))&&r.call(this,0===t?0:t)}:"has"==t?function has(t){return!(o&&!E(t))&&r.call(this,0===t?0:t)}:"get"==t?function get(t){return o&&!E(t)?Jt:r.call(this,0===t?0:t)}:"add"==t?function add(t){return r.call(this,0===t?0:t),this}:function set(t,n){return r.call(this,0===t?0:t,n),this})};if("function"==typeof c&&(o||f.forEach&&!O(function(){(new c).entries().next()}))){var h=new c,p=h[a](o?{}:-0,1)!=h,v=O(function(){h.has(1)}),g=M(function(t){new c(t)}),y=!o&&O(function(){for(var t=new c,n=5;n--;)t[a](n,n);return!t.has(-0)});g||(((c=t(function(t,n){w(t,c,e);var r=P(new u,t,c);return n!=Jt&&m(n,i,r[a],r),r})).prototype=f).constructor=c),(v||y)&&(l("delete"),l("has"),i&&l("get")),(y||p)&&l(a),o&&f.clear&&delete f.clear}else c=r.getConstructor(t,e,i,a),_(c.prototype,n),x.NEED=!0;return I(c,e),b(b.G+b.W+b.F*((s[e]=c)!=u),s),o||r.setStrong(c,e,i),c}},function(t,n,r){for(var e,i=r(2),o=r(11),u=r(33),c=u("typed_array"),a=u("view"),f=!(!i.ArrayBuffer||!i.DataView),s=f,l=0,h="Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array".split(",");l<9;)(e=i[h[l++]])?(o(e.prototype,c,!0),o(e.prototype,a,!0)):s=!1;t.exports={ABV:f,CONSTR:s,TYPED:c,VIEW:a}},function(t,n,r){t.exports=r(29)||!r(3)(function(){var t=Math.random();__defineSetter__.call(null,t,function(){}),delete r(2)[t]})},function(t,n,r){var e=r(0);t.exports=function(t){e(e.S,t,{of:function of(){for(var t=arguments.length,n=new Array(t);t--;)n[t]=arguments[t];return new this(n)}})}},function(t,n,r){var e=r(0),u=r(10),c=r(18),a=r(40);t.exports=function(t){e(e.S,t,{from:function from(t){var n,r,e,i,o=arguments[1];return u(this),(n=o!==Jt)&&u(o),t==Jt?new this:(r=[],n?(e=0,i=c(o,arguments[2],2),a(t,!1,function(t){r.push(i(t,e++))})):a(t,!1,r.push,r),new this(r))}})}},function(t,n,r){var e=r(4),i=r(2).document,o=e(i)&&e(i.createElement);t.exports=function(t){return o?i.createElement(t):{}}},function(t,n,r){var e=r(2),i=r(26),o=r(29),u=r(94),c=r(8).f;t.exports=function(t){var n=i.Symbol||(i.Symbol=o?{}:e.Symbol||{});"_"==t.charAt(0)||t in n||c(n,t,{value:u.f(t)})}},function(t,n,r){var e=r(47)("keys"),i=r(33);t.exports=function(t){return e[t]||(e[t]=i(t))}},function(t,n){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(t,n,r){var e=r(2).document;t.exports=e&&e.documentElement},function(t,n,i){var r=i(4),e=i(1),o=function(t,n){if(e(t),!r(n)&&null!==n)throw TypeError(n+": can't set as prototype!")};t.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(t,r,e){try{(e=i(18)(Function.call,i(16).f(Object.prototype,"__proto__").set,2))(t,[]),r=!(t instanceof Array)}catch(n){r=!0}return function setPrototypeOf(t,n){return o(t,n),r?t.__proto__=n:e(t,n),t}}({},!1):Jt),check:o}},function(t,n,r){var o=r(4),u=r(71).set;t.exports=function(t,n,r){var e,i=n.constructor;return i!==r&&"function"==typeof i&&(e=i.prototype)!==r.prototype&&o(e)&&u&&u(t,e),t}},function(t,n){t.exports="\t\n\x0B\f\r   ᠎              \u2028\u2029\ufeff"},function(t,n,r){var i=r(20),o=r(23);t.exports=function repeat(t){var n=String(o(this)),r="",e=i(t);if(e<0||e==Infinity)throw RangeError("Count can't be negative");for(;0>>=1)&&(n+=n))1&e&&(r+=n);return r}},function(t,n){t.exports=Math.sign||function sign(t){return 0==(t=+t)||t!=t?t:t<0?-1:1}},function(t,n){var r=Math.expm1;t.exports=!r||22025.465794806718>1,s=23===n?F(2,-24)-F(2,-77):0,l=0,h=t<0||0===t&&1/t<0?1:0;for((t=P(t))!=t||t===M?(i=t!=t?1:0,e=a):(e=A(k(t)/N),t*(o=F(2,-e))<1&&(e--,o*=2),2<=(t+=1<=e+f?s/o:s*F(2,1-f))*o&&(e++,o/=2),a<=e+f?(i=0,e=a):1<=e+f?(i=(t*o-1)*F(2,n),e+=f):(i=t*F(2,f-1)*F(2,n),e=0));8<=n;u[l++]=255&i,i/=256,n-=8);for(e=e<>1,c=i-7,a=r-1,f=t[a--],s=127&f;for(f>>=7;0>=-c,c+=n;0>8&255]}function packI32(t){return[255&t,t>>8&255,t>>16&255,t>>24&255]}function packF64(t){return packIEEE754(t,52,8)}function packF32(t){return packIEEE754(t,23,4)}function addGetter(t,n,r){g(t[_],n,{get:function(){return this[r]}})}function get(t,n,r,e){var i=p(+r);if(t[L]>24)},setUint8:function setUint8(t,n){B.call(this,t,n<<24>>24)}},!0)}else m=function ArrayBuffer(t){s(this,m,b);var n=p(t);this._b=y.call(new Array(n),0),this[L]=n},w=function DataView(t,n,r){s(this,w,S),s(t,m,S);var e=t[L],i=l(n);if(i<0||e>24},getUint8:function getUint8(t){return get(this,1,t)[0]},getInt16:function getInt16(t){var n=get(this,2,t,arguments[1]);return(n[1]<<8|n[0])<<16>>16},getUint16:function getUint16(t){var n=get(this,2,t,arguments[1]);return n[1]<<8|n[0]},getInt32:function getInt32(t){return unpackI32(get(this,4,t,arguments[1]))},getUint32:function getUint32(t){return unpackI32(get(this,4,t,arguments[1]))>>>0},getFloat32:function getFloat32(t){return unpackIEEE754(get(this,4,t,arguments[1]),23,4)},getFloat64:function getFloat64(t){return unpackIEEE754(get(this,8,t,arguments[1]),52,8)},setInt8:function setInt8(t,n){set(this,1,t,packI8,n)},setUint8:function setUint8(t,n){set(this,1,t,packI8,n)},setInt16:function setInt16(t,n){set(this,2,t,packI16,n,arguments[2])},setUint16:function setUint16(t,n){set(this,2,t,packI16,n,arguments[2])},setInt32:function setInt32(t,n){set(this,4,t,packI32,n,arguments[2])},setUint32:function setUint32(t,n){set(this,4,t,packI32,n,arguments[2])},setFloat32:function setFloat32(t,n){set(this,4,t,packF32,n,arguments[2])}, +setFloat64:function setFloat64(t,n){set(this,8,t,packF64,n,arguments[2])}});d(m,b),d(w,S),c(w[_],u.VIEW,!0),n[b]=m,n[S]=w},function(t,n,r){t.exports=!r(7)&&!r(3)(function(){return 7!=Object.defineProperty(r(66)("div"),"a",{get:function(){return 7}}).a})},function(t,n,r){n.f=r(5)},function(t,n,r){var u=r(14),c=r(15),a=r(52)(!1),f=r(68)("IE_PROTO");t.exports=function(t,n){var r,e=c(t),i=0,o=[];for(r in e)r!=f&&u(e,r)&&o.push(r);for(;i>>0||(u.test(r)?16:10))}:e},function(t,n){t.exports=Math.log1p||function log1p(t){return-1e-8<(t=+t)&&t<1e-8?t-t*t/2:Math.log(1+t)}},function(t,n,r){var o=r(75),e=Math.pow,u=e(2,-52),c=e(2,-23),a=e(2,127)*(2-c),f=e(2,-126);t.exports=Math.fround||function fround(t){var n,r,e=Math.abs(t),i=o(t);return e>>=0)?31-Math.floor(Math.log(t+.5)*Math.LOG2E):32}})},function(t,n,r){var e=r(0),i=Math.exp;e(e.S,"Math",{cosh:function cosh(t){return(i(t=+t)+i(-t))/2}})},function(t,n,r){var e=r(0),i=r(76);e(e.S+e.F*(i!=Math.expm1),"Math",{expm1:i})},function(t,n,r){var e=r(0);e(e.S,"Math",{fround:r(107)})},function(t,n,r){var e=r(0),a=Math.abs;e(e.S,"Math",{hypot:function hypot(t,n){for(var r,e,i=0,o=0,u=arguments.length,c=0;o>>16)*u+o*(r&i>>>16)<<16>>>0)}})},function(t,n,r){var e=r(0);e(e.S,"Math",{log10:function log10(t){return Math.log(t)*Math.LOG10E}})},function(t,n,r){var e=r(0);e(e.S,"Math",{log1p:r(106)})},function(t,n,r){var e=r(0);e(e.S,"Math",{log2:function log2(t){return Math.log(t)/Math.LN2}})},function(t,n,r){var e=r(0);e(e.S,"Math",{sign:r(75)})},function(t,n,r){var e=r(0),i=r(76),o=Math.exp;e(e.S+e.F*r(3)(function(){return-2e-17!=!Math.sinh(-2e-17)}),"Math",{sinh:function sinh(t){return Math.abs(t=+t)<1?(i(t)-i(-t))/2:(o(t-1)-o(-t-1))*(Math.E/2)}})},function(t,n,r){var e=r(0),i=r(76),o=Math.exp;e(e.S,"Math",{tanh:function tanh(t){var n=i(t=+t),r=i(-t);return n==Infinity?1:r==Infinity?-1:(n-r)/(o(t)+o(-t))}})},function(t,n,r){var e=r(0);e(e.S,"Math",{trunc:function trunc(t){return(0>10),n%1024+56320))}return r.join("")}})},function(t,n,r){var e=r(0),u=r(15),c=r(6);e(e.S,"String",{raw:function raw(t){for(var n=u(t.raw),r=c(n.length),e=arguments.length,i=[],o=0;o]*>)/g,v=/\$([$&`']|\d\d?)/g;r(59)("replace",2,function(i,o,x,m){return[function replace(t,n){var r=i(this),e=t==Jt?Jt:t[o];return e!==Jt?e.call(t,r,n):x.call(String(r),t,n)},function(t,n){var r=m(x,t,this,n);if(r.done)return r.value;var e=w(t),i=String(this),o="function"==typeof n;o||(n=String(n));var u=e.global;if(u){var c=e.unicode;e.lastIndex=0}for(var a=[];;){var f=I(e,i);if( +null===f)break;if(a.push(f),!u)break;""===String(f[0])&&(e.lastIndex=M(i,E(e.lastIndex),c))}for(var s,l="",h=0,p=0;p>>0,f=new RegExp(t.source,(t.ignoreCase?"i":"")+(t.multiline?"m":"")+(t.unicode?"u":"")+(t.sticky?"y":"")+"g");(e=l.call(f,r))&&!(c<(i=f[v])&&(u.push(r.slice(c,e.index)),1>>0;if(0===a)return[];if(0===i.length)return null===m(c,i)?[i]:[];for(var f=0,s=0,l=[];s>>0,o=r>>>0;return(n>>>0)+(e>>>0)+((i&o|(i|o)&~(i+o>>>0))>>>31)|0}})},function(t,n,r){var e=r(0);e(e.S,"Math",{isubh:function isubh(t,n,r,e){var i=t>>>0,o=r>>>0;return(n>>>0)-(e>>>0)-((~i&o|~(i^o)&i-o>>>0)>>>31)|0}})},function(t,n,r){var e=r(0);e(e.S,"Math",{imulh:function imulh(t,n){var r=+t,e=+n,i=65535&r,o=65535&e,u=r>>16,c=e>>16,a=(u*o>>>0)+(i*o>>>16);return u*c+(a>>16)+((i*c>>>0)+(65535&a)>>16)}})},function(t,n,r){var e=r(0);e(e.S,"Math",{RAD_PER_DEG:180/Math.PI})},function(t,n,r){var e=r(0),i=Math.PI/180;e(e.S,"Math",{radians:function radians(t){return t*i}})},function(t,n,r){var e=r(0);e(e.S,"Math",{scale:r(128)})},function(t,n,r){var e=r(0);e(e.S,"Math",{umulh:function umulh(t,n){var r=+t,e=+n,i=65535&r,o=65535&e,u=r>>>16,c=e>>>16,a=(u*o>>>0)+(i*o>>>16);return u*c+(a>>>16)+((i*c>>>0)+(65535&a)>>>16)}})},function(t,n,r){var e=r(0);e(e.S,"Math",{signbit:function signbit(t){return(t=+t)!=t?t:0==t?1/t==Infinity:0").addClass(errClass); + errorSpan.text(err.message); + $el.after(errorSpan); + } + } else if (display === "block") { + // If block, add an error just after the el, set visibility:none on the + // el, and position the error to be on top of the el. + // Mark it with a unique ID and CSS class so we can remove it later. + $el.css("visibility", "hidden"); + if (err.message !== "") { + var errorDiv = $("
    ").addClass(errClass).css("position", "absolute") + .css("top", el.offsetTop) + .css("left", el.offsetLeft) + // setting width can push out the page size, forcing otherwise + // unnecessary scrollbars to appear and making it impossible for + // the element to shrink; so use max-width instead + .css("maxWidth", el.offsetWidth) + .css("height", el.offsetHeight); + errorDiv.text(err.message); + $el.after(errorDiv); + + // Really dumb way to keep the size/position of the error in sync with + // the parent element as the window is resized or whatever. + var intId = setInterval(function() { + if (!errorDiv[0].parentElement) { + clearInterval(intId); + return; + } + errorDiv + .css("top", el.offsetTop) + .css("left", el.offsetLeft) + .css("maxWidth", el.offsetWidth) + .css("height", el.offsetHeight); + }, 500); + } + } + }, + clearError: function(el) { + var $el = $(el); + var display = $el.data("restore-display-mode"); + $el.data("restore-display-mode", null); + + if (display === "inline" || display === "inline-block") { + if (display) + $el.css("display", display); + $(el.nextSibling).filter(".htmlwidgets-error").remove(); + } else if (display === "block"){ + $el.css("visibility", "inherit"); + $(el.nextSibling).filter(".htmlwidgets-error").remove(); + } + }, + sizing: {} + }; + + // Called by widget bindings to register a new type of widget. The definition + // object can contain the following properties: + // - name (required) - A string indicating the binding name, which will be + // used by default as the CSS classname to look for. + // - initialize (optional) - A function(el) that will be called once per + // widget element; if a value is returned, it will be passed as the third + // value to renderValue. + // - renderValue (required) - A function(el, data, initValue) that will be + // called with data. Static contexts will cause this to be called once per + // element; Shiny apps will cause this to be called multiple times per + // element, as the data changes. + window.HTMLWidgets.widget = function(definition) { + if (!definition.name) { + throw new Error("Widget must have a name"); + } + if (!definition.type) { + throw new Error("Widget must have a type"); + } + // Currently we only support output widgets + if (definition.type !== "output") { + throw new Error("Unrecognized widget type '" + definition.type + "'"); + } + // TODO: Verify that .name is a valid CSS classname + + // Support new-style instance-bound definitions. Old-style class-bound + // definitions have one widget "object" per widget per type/class of + // widget; the renderValue and resize methods on such widget objects + // take el and instance arguments, because the widget object can't + // store them. New-style instance-bound definitions have one widget + // object per widget instance; the definition that's passed in doesn't + // provide renderValue or resize methods at all, just the single method + // factory(el, width, height) + // which returns an object that has renderValue(x) and resize(w, h). + // This enables a far more natural programming style for the widget + // author, who can store per-instance state using either OO-style + // instance fields or functional-style closure variables (I guess this + // is in contrast to what can only be called C-style pseudo-OO which is + // what we required before). + if (definition.factory) { + definition = createLegacyDefinitionAdapter(definition); + } + + if (!definition.renderValue) { + throw new Error("Widget must have a renderValue function"); + } + + // For static rendering (non-Shiny), use a simple widget registration + // scheme. We also use this scheme for Shiny apps/documents that also + // contain static widgets. + window.HTMLWidgets.widgets = window.HTMLWidgets.widgets || []; + // Merge defaults into the definition; don't mutate the original definition. + var staticBinding = extend({}, defaults, definition); + overrideMethod(staticBinding, "find", function(superfunc) { + return function(scope) { + var results = superfunc(scope); + // Filter out Shiny outputs, we only want the static kind + return filterByClass(results, "html-widget-output", false); + }; + }); + window.HTMLWidgets.widgets.push(staticBinding); + + if (shinyMode) { + // Shiny is running. Register the definition with an output binding. + // The definition itself will not be the output binding, instead + // we will make an output binding object that delegates to the + // definition. This is because we foolishly used the same method + // name (renderValue) for htmlwidgets definition and Shiny bindings + // but they actually have quite different semantics (the Shiny + // bindings receive data that includes lots of metadata that it + // strips off before calling htmlwidgets renderValue). We can't + // just ignore the difference because in some widgets it's helpful + // to call this.renderValue() from inside of resize(), and if + // we're not delegating, then that call will go to the Shiny + // version instead of the htmlwidgets version. + + // Merge defaults with definition, without mutating either. + var bindingDef = extend({}, defaults, definition); + + // This object will be our actual Shiny binding. + var shinyBinding = new Shiny.OutputBinding(); + + // With a few exceptions, we'll want to simply use the bindingDef's + // version of methods if they are available, otherwise fall back to + // Shiny's defaults. NOTE: If Shiny's output bindings gain additional + // methods in the future, and we want them to be overrideable by + // HTMLWidget binding definitions, then we'll need to add them to this + // list. + delegateMethod(shinyBinding, bindingDef, "getId"); + delegateMethod(shinyBinding, bindingDef, "onValueChange"); + delegateMethod(shinyBinding, bindingDef, "onValueError"); + delegateMethod(shinyBinding, bindingDef, "renderError"); + delegateMethod(shinyBinding, bindingDef, "clearError"); + delegateMethod(shinyBinding, bindingDef, "showProgress"); + + // The find, renderValue, and resize are handled differently, because we + // want to actually decorate the behavior of the bindingDef methods. + + shinyBinding.find = function(scope) { + var results = bindingDef.find(scope); + + // Only return elements that are Shiny outputs, not static ones + var dynamicResults = results.filter(".html-widget-output"); + + // It's possible that whatever caused Shiny to think there might be + // new dynamic outputs, also caused there to be new static outputs. + // Since there might be lots of different htmlwidgets bindings, we + // schedule execution for later--no need to staticRender multiple + // times. + if (results.length !== dynamicResults.length) + scheduleStaticRender(); + + return dynamicResults; + }; + + // Wrap renderValue to handle initialization, which unfortunately isn't + // supported natively by Shiny at the time of this writing. + + shinyBinding.renderValue = function(el, data) { + Shiny.renderDependencies(data.deps); + // Resolve strings marked as javascript literals to objects + if (!(data.evals instanceof Array)) data.evals = [data.evals]; + for (var i = 0; data.evals && i < data.evals.length; i++) { + window.HTMLWidgets.evaluateStringMember(data.x, data.evals[i]); + } + if (!bindingDef.renderOnNullValue) { + if (data.x === null) { + el.style.visibility = "hidden"; + return; + } else { + el.style.visibility = "inherit"; + } + } + if (!elementData(el, "initialized")) { + initSizing(el); + + elementData(el, "initialized", true); + if (bindingDef.initialize) { + var rect = el.getBoundingClientRect(); + var result = bindingDef.initialize(el, rect.width, rect.height); + elementData(el, "init_result", result); + } + } + bindingDef.renderValue(el, data.x, elementData(el, "init_result")); + evalAndRun(data.jsHooks.render, elementData(el, "init_result"), [el, data.x]); + }; + + // Only override resize if bindingDef implements it + if (bindingDef.resize) { + shinyBinding.resize = function(el, width, height) { + // Shiny can call resize before initialize/renderValue have been + // called, which doesn't make sense for widgets. + if (elementData(el, "initialized")) { + bindingDef.resize(el, width, height, elementData(el, "init_result")); + } + }; + } + + Shiny.outputBindings.register(shinyBinding, bindingDef.name); + } + }; + + var scheduleStaticRenderTimerId = null; + function scheduleStaticRender() { + if (!scheduleStaticRenderTimerId) { + scheduleStaticRenderTimerId = setTimeout(function() { + scheduleStaticRenderTimerId = null; + window.HTMLWidgets.staticRender(); + }, 1); + } + } + + // Render static widgets after the document finishes loading + // Statically render all elements that are of this widget's class + window.HTMLWidgets.staticRender = function() { + var bindings = window.HTMLWidgets.widgets || []; + forEach(bindings, function(binding) { + var matches = binding.find(document.documentElement); + forEach(matches, function(el) { + var sizeObj = initSizing(el, binding); + + var getSize = function(el) { + if (sizeObj) { + return {w: sizeObj.getWidth(), h: sizeObj.getHeight()} + } else { + var rect = el.getBoundingClientRect(); + return {w: rect.width, h: rect.height} + } + }; + + if (hasClass(el, "html-widget-static-bound")) + return; + el.className = el.className + " html-widget-static-bound"; + + var initResult; + if (binding.initialize) { + var size = getSize(el); + initResult = binding.initialize(el, size.w, size.h); + elementData(el, "init_result", initResult); + } + + if (binding.resize) { + var lastSize = getSize(el); + var resizeHandler = function(e) { + var size = getSize(el); + if (size.w === 0 && size.h === 0) + return; + if (size.w === lastSize.w && size.h === lastSize.h) + return; + lastSize = size; + binding.resize(el, size.w, size.h, initResult); + }; + + on(window, "resize", resizeHandler); + + // This is needed for cases where we're running in a Shiny + // app, but the widget itself is not a Shiny output, but + // rather a simple static widget. One example of this is + // an rmarkdown document that has runtime:shiny and widget + // that isn't in a render function. Shiny only knows to + // call resize handlers for Shiny outputs, not for static + // widgets, so we do it ourselves. + if (window.jQuery) { + window.jQuery(document).on( + "shown.htmlwidgets shown.bs.tab.htmlwidgets shown.bs.collapse.htmlwidgets", + resizeHandler + ); + window.jQuery(document).on( + "hidden.htmlwidgets hidden.bs.tab.htmlwidgets hidden.bs.collapse.htmlwidgets", + resizeHandler + ); + } + + // This is needed for the specific case of ioslides, which + // flips slides between display:none and display:block. + // Ideally we would not have to have ioslide-specific code + // here, but rather have ioslides raise a generic event, + // but the rmarkdown package just went to CRAN so the + // window to getting that fixed may be long. + if (window.addEventListener) { + // It's OK to limit this to window.addEventListener + // browsers because ioslides itself only supports + // such browsers. + on(document, "slideenter", resizeHandler); + on(document, "slideleave", resizeHandler); + } + } + + var scriptData = document.querySelector("script[data-for='" + el.id + "'][type='application/json']"); + if (scriptData) { + var data = JSON.parse(scriptData.textContent || scriptData.text); + // Resolve strings marked as javascript literals to objects + if (!(data.evals instanceof Array)) data.evals = [data.evals]; + for (var k = 0; data.evals && k < data.evals.length; k++) { + window.HTMLWidgets.evaluateStringMember(data.x, data.evals[k]); + } + binding.renderValue(el, data.x, initResult); + evalAndRun(data.jsHooks.render, initResult, [el, data.x]); + } + }); + }); + + invokePostRenderHandlers(); + } + + + function has_jQuery3() { + if (!window.jQuery) { + return false; + } + var $version = window.jQuery.fn.jquery; + var $major_version = parseInt($version.split(".")[0]); + return $major_version >= 3; + } + + /* + / Shiny 1.4 bumped jQuery from 1.x to 3.x which means jQuery's + / on-ready handler (i.e., $(fn)) is now asyncronous (i.e., it now + / really means $(setTimeout(fn)). + / https://jquery.com/upgrade-guide/3.0/#breaking-change-document-ready-handlers-are-now-asynchronous + / + / Since Shiny uses $() to schedule initShiny, shiny>=1.4 calls initShiny + / one tick later than it did before, which means staticRender() is + / called renderValue() earlier than (advanced) widget authors might be expecting. + / https://github.com/rstudio/shiny/issues/2630 + / + / For a concrete example, leaflet has some methods (e.g., updateBounds) + / which reference Shiny methods registered in initShiny (e.g., setInputValue). + / Since leaflet is privy to this life-cycle, it knows to use setTimeout() to + / delay execution of those methods (until Shiny methods are ready) + / https://github.com/rstudio/leaflet/blob/18ec981/javascript/src/index.js#L266-L268 + / + / Ideally widget authors wouldn't need to use this setTimeout() hack that + / leaflet uses to call Shiny methods on a staticRender(). In the long run, + / the logic initShiny should be broken up so that method registration happens + / right away, but binding happens later. + */ + function maybeStaticRenderLater() { + if (shinyMode && has_jQuery3()) { + window.jQuery(window.HTMLWidgets.staticRender); + } else { + window.HTMLWidgets.staticRender(); + } + } + + if (document.addEventListener) { + document.addEventListener("DOMContentLoaded", function() { + document.removeEventListener("DOMContentLoaded", arguments.callee, false); + maybeStaticRenderLater(); + }, false); + } else if (document.attachEvent) { + document.attachEvent("onreadystatechange", function() { + if (document.readyState === "complete") { + document.detachEvent("onreadystatechange", arguments.callee); + maybeStaticRenderLater(); + } + }); + } + + + window.HTMLWidgets.getAttachmentUrl = function(depname, key) { + // If no key, default to the first item + if (typeof(key) === "undefined") + key = 1; + + var link = document.getElementById(depname + "-" + key + "-attachment"); + if (!link) { + throw new Error("Attachment " + depname + "/" + key + " not found in document"); + } + return link.getAttribute("href"); + }; + + window.HTMLWidgets.dataframeToD3 = function(df) { + var names = []; + var length; + for (var name in df) { + if (df.hasOwnProperty(name)) + names.push(name); + if (typeof(df[name]) !== "object" || typeof(df[name].length) === "undefined") { + throw new Error("All fields must be arrays"); + } else if (typeof(length) !== "undefined" && length !== df[name].length) { + throw new Error("All fields must be arrays of the same length"); + } + length = df[name].length; + } + var results = []; + var item; + for (var row = 0; row < length; row++) { + item = {}; + for (var col = 0; col < names.length; col++) { + item[names[col]] = df[names[col]][row]; + } + results.push(item); + } + return results; + }; + + window.HTMLWidgets.transposeArray2D = function(array) { + if (array.length === 0) return array; + var newArray = array[0].map(function(col, i) { + return array.map(function(row) { + return row[i] + }) + }); + return newArray; + }; + // Split value at splitChar, but allow splitChar to be escaped + // using escapeChar. Any other characters escaped by escapeChar + // will be included as usual (including escapeChar itself). + function splitWithEscape(value, splitChar, escapeChar) { + var results = []; + var escapeMode = false; + var currentResult = ""; + for (var pos = 0; pos < value.length; pos++) { + if (!escapeMode) { + if (value[pos] === splitChar) { + results.push(currentResult); + currentResult = ""; + } else if (value[pos] === escapeChar) { + escapeMode = true; + } else { + currentResult += value[pos]; + } + } else { + currentResult += value[pos]; + escapeMode = false; + } + } + if (currentResult !== "") { + results.push(currentResult); + } + return results; + } + // Function authored by Yihui/JJ Allaire + window.HTMLWidgets.evaluateStringMember = function(o, member) { + var parts = splitWithEscape(member, '.', '\\'); + for (var i = 0, l = parts.length; i < l; i++) { + var part = parts[i]; + // part may be a character or 'numeric' member name + if (o !== null && typeof o === "object" && part in o) { + if (i == (l - 1)) { // if we are at the end of the line then evalulate + if (typeof o[part] === "string") + o[part] = tryEval(o[part]); + } else { // otherwise continue to next embedded object + o = o[part]; + } + } + } + }; + + // Retrieve the HTMLWidget instance (i.e. the return value of an + // HTMLWidget binding's initialize() or factory() function) + // associated with an element, or null if none. + window.HTMLWidgets.getInstance = function(el) { + return elementData(el, "init_result"); + }; + + // Finds the first element in the scope that matches the selector, + // and returns the HTMLWidget instance (i.e. the return value of + // an HTMLWidget binding's initialize() or factory() function) + // associated with that element, if any. If no element matches the + // selector, or the first matching element has no HTMLWidget + // instance associated with it, then null is returned. + // + // The scope argument is optional, and defaults to window.document. + window.HTMLWidgets.find = function(scope, selector) { + if (arguments.length == 1) { + selector = scope; + scope = document; + } + + var el = scope.querySelector(selector); + if (el === null) { + return null; + } else { + return window.HTMLWidgets.getInstance(el); + } + }; + + // Finds all elements in the scope that match the selector, and + // returns the HTMLWidget instances (i.e. the return values of + // an HTMLWidget binding's initialize() or factory() function) + // associated with the elements, in an array. If elements that + // match the selector don't have an associated HTMLWidget + // instance, the returned array will contain nulls. + // + // The scope argument is optional, and defaults to window.document. + window.HTMLWidgets.findAll = function(scope, selector) { + if (arguments.length == 1) { + selector = scope; + scope = document; + } + + var nodes = scope.querySelectorAll(selector); + var results = []; + for (var i = 0; i < nodes.length; i++) { + results.push(window.HTMLWidgets.getInstance(nodes[i])); + } + return results; + }; + + var postRenderHandlers = []; + function invokePostRenderHandlers() { + while (postRenderHandlers.length) { + var handler = postRenderHandlers.shift(); + if (handler) { + handler(); + } + } + } + + // Register the given callback function to be invoked after the + // next time static widgets are rendered. + window.HTMLWidgets.addPostRenderHandler = function(callback) { + postRenderHandlers.push(callback); + }; + + // Takes a new-style instance-bound definition, and returns an + // old-style class-bound definition. This saves us from having + // to rewrite all the logic in this file to accomodate both + // types of definitions. + function createLegacyDefinitionAdapter(defn) { + var result = { + name: defn.name, + type: defn.type, + initialize: function(el, width, height) { + return defn.factory(el, width, height); + }, + renderValue: function(el, x, instance) { + return instance.renderValue(x); + }, + resize: function(el, width, height, instance) { + return instance.resize(width, height); + } + }; + + if (defn.find) + result.find = defn.find; + if (defn.renderError) + result.renderError = defn.renderError; + if (defn.clearError) + result.clearError = defn.clearError; + + return result; + } +})(); diff --git a/_freeze/site_libs/react-18.2.0/AUTHORS b/_freeze/site_libs/react-18.2.0/AUTHORS new file mode 100644 index 0000000..44de798 --- /dev/null +++ b/_freeze/site_libs/react-18.2.0/AUTHORS @@ -0,0 +1,696 @@ +39 <8398a7@gmail.com> +Aaron Franks +Aaron Gelter +Adam Bloomston +Adam Krebs +Adam Mark +Adam Solove +Adam Timberlake +Adam Zapletal +Ahmad Wali Sidiqi +Alan Plum +Alan Souza +Alan deLevie +Alastair Hole +Alex +Alex Boatwright +Alex Boyd +Alex Dajani +Alex Lopatin +Alex Mykyta +Alex Pien +Alex Smith +Alex Zelenskiy +Alexander Shtuchkin +Alexander Solovyov +Alexander Tseung +Alexandre Gaudencio +Alexey Raspopov +Alexey Shamrin +Ali Ukani +Andre Z Sanchez +Andreas Savvides +Andreas Svensson +Andres Kalle +Andres Suarez +Andrew Clark +Andrew Cobby +Andrew Davey +Andrew Henderson +Andrew Kulakov +Andrew Rasmussen +Andrew Sokolov +Andrew Zich +Andrey Popp <8mayday@gmail.com> +Anthony van der Hoorn +Anto Aravinth +Antonio Ruberto +Antti Ahti +Anuj Tomar +AoDev +April Arcus +Areeb Malik +Aria Buckles +Aria Stewart +Arian Faurtosh +Artem Nezvigin +Austin Wright +Ayman Osman +Baraa Hamodi +Bartosz Kaszubowski +Basarat Ali Syed +Battaile Fauber +Beau Smith +Ben Alpert +Ben Anderson +Ben Brooks +Ben Foxall +Ben Halpern +Ben Jaffe +Ben Moss +Ben Newman +Ben Ripkens +Benjamin Keen +Benjamin Leiken +Benjamin Woodruff +Benjy Cui +Bill Blanchard +Bill Fisher +Blaine Hatab +Blaine Kasten +Bob Eagan +Bob Ralian +Bob Renwick +Bobby +Bojan Mihelac +Bradley Spaulding +Brandon Bloom +Brandon Tilley +Brenard Cubacub +Brian Cooke +Brian Holt +Brian Hsu +Brian Kim +Brian Kung +Brian Reavis +Brian Rue +Bruno Škvorc +Cam Song +Cam Spiers +Cameron Chamberlain +Cameron Matheson +Carter Chung +Cassus Adam Banko +Cat Chen +Cedric Sohrauer +Cesar William Alvarenga +Changsoon Bok +Charles Marsh +Chase Adams +Cheng Lou +Chitharanjan Das +Chris Bolin +Chris Grovers +Chris Ha +Chris Rebert +Chris Sciolla +Christian Alfoni +Christian Oliff +Christian Roman +Christoffer Sawicki +Christoph Pojer +Christopher Monsanto +Clay Allsopp +Connor McSheffrey +Conor Hastings +Cory House +Cotton Hou +Craig Akimoto +Cristovao Verstraeten +Damien Pellier +Dan Abramov +Dan Fox +Dan Schafer +Daniel Carlsson +Daniel Cousens +Daniel Friesen +Daniel Gasienica +Daniel Hejl +Daniel Hejl +Daniel Lo Nigro +Daniel Mané +Daniel Miladinov +Daniel Rodgers-Pryor +Daniel Schonfeld +Danny Ben-David +Darcy +Daryl Lau +Darío Javier Cravero +Dave Galbraith +David Baker +David Ed Mellum +David Goldberg +David Granado +David Greenspan +David Hellsing +David Hu +David Khourshid +David Mininger +David Neubauer +David Percy +Dean Shi +Denis Sokolov +Deniss Jacenko +Dennis Johnson +Devon Blandin +Devon Harvey +Dmitrii Abramov +Dmitriy Rozhkov +Dmitry Blues +Dmitry Mazuro +Domenico Matteo +Don Abrams +Dongsheng Liu +Dustan Kasten +Dustin Getz +Dylan Harrington +Eduardo Garcia +Edvin Erikson +Elaine Fang +Enguerran +Eric Clemmons +Eric Eastwood +Eric Florenzano +Eric O'Connell +Eric Schoffstall +Erik Harper +Espen Hovlandsdal +Evan Coonrod +Evan Vosberg +Fabio M. Costa +Federico Rampazzo +Felipe Oliveira Carvalho +Felix Gnass +Felix Kling +Fernando Correia +Frankie Bagnardi +François-Xavier Bois +Fred Zhao +Freddy Rangel +Fyodor Ivanishchev +G Scott Olson +G. Kay Lee +Gabe Levi +Gajus Kuizinas +Gareth Nicholson +Garren Smith +Gavin McQuistin +Geert Pasteels +Geert-Jan Brits +George A Sisco III +Georgii Dolzhykov +Gilbert +Glen Mailer +Grant Timmerman +Greg Hurrell +Greg Perkins +Greg Roodt +Gregory +Guangqiang Dong +Guido Bouman +Harry Hull +Harry Marr +Harry Moreno +Harshad Sabne +Hekar Khani +Hendrik Swanepoel +Henrik Nyh +Henry Wong +Henry Zhu +Hideo Matsumoto +Hou Chia +Huang-Wei Chang +Hugo Agbonon +Hugo Jobling +Hyeock Kwon +Héliton Nordt +Ian Obermiller +Ignacio Carbajo +Igor Scekic +Ilia Pavlenkov +Ilya Shuklin +Ilyá Belsky +Ingvar Stepanyan +Irae Carvalho +Isaac Salier-Hellendag +Iurii Kucherov +Ivan Kozik +Ivan Krechetov +Ivan Vergiliev +J. Andrew Brassington +J. Renée Beach +JD Isaacks +JJ Weber +JW +Jack Zhang +Jackie Wung +Jacob Gable +Jacob Greenleaf +Jae Hun Ro +Jaeho Lee +Jaime Mingo +Jake Worth +Jakub Malinowski +James +James Brantly +James Burnett +James Friend +James Ide +James Long +James Pearce +James Seppi +James South +James Wen +Jamie Wong +Jamis Charles +Jamison Dance +Jan Hancic +Jan Kassens +Jan Raasch +Jared Forsyth +Jason +Jason Bonta +Jason Ly +Jason Miller +Jason Quense +Jason Trill +Jason Webster +Jay Jaeho Lee +Jean Lauliac +Jed Watson +Jeff Barczewski +Jeff Carpenter +Jeff Chan +Jeff Hicken +Jeff Kolesky +Jeff Morrison +Jeff Welch +Jeffrey Lin +Jeremy Fairbank +Jesse Skinner +Jignesh Kakadiya +Jim OBrien +Jim Sproch +Jimmy Jea +Jing Chen +Jinwoo Oh +Jinxiu Lee +Jiyeon Seo +Jody McIntyre +Joe Critchley +Joe Stein +Joel Auterson +Johannes Baiter +Johannes Emerich +Johannes Lumpe +John Heroy +John Ryan +John Watson +John-David Dalton +Jon Beebe +Jon Chester +Jon Hester +Jon Madison +Jon Scott Clark +Jon Tewksbury +Jonas Enlund +Jonas Gebhardt +Jonathan Hsu +Jonathan Persson +Jordan Harband +Jordan Walke +Jorrit Schippers +Joseph Nudell +Joseph Savona +Josh Bassett +Josh Duck +Josh Perez +Josh Yudaken +Joshua Evans +Joshua Go +Joshua Goldberg +Joshua Ma +João Valente +Juan Serrano +Julen Ruiz Aizpuru +Julian Viereck +Julien Bordellier +Julio Lopez +Jun Wu +Juraj Dudak +Justas Brazauskas +Justin Jaffray +Justin Robison +Justin Woo +Kale +Kamron Batman +Karl Mikkelsen +Karpich Dmitry +Keito Uchiyama +Ken Powers +Kent C. Dodds +Kevin Cheng <09chengk@gmail.com> +Kevin Coughlin +Kevin Huang +Kevin Lau +Kevin Old +Kevin Robinson +Kewei Jiang +Kier Borromeo +KimCoding +Kirk Steven Hansen +Kit Randel +Kohei TAKATA +Koo Youngmin +Krystian Karczewski +Kunal Mehta +Kurt Ruppel +Kyle Kelley +Kyle Mathews +Laurence Rowe +Laurent Etiemble +Lee Byron +Lee Jaeyoung +Lei +Leland Richardson +Leon Fedotov +Leon Yip +Leonardo YongUk Kim +Levi Buzolic +Levi McCallum +Lily +Logan Allen +Lovisa Svallingson +Ludovico Fischer +Luigy Leon +Luke Horvat +MIKAMI Yoshiyuki +Maher Beg +Manas +Marcin K. +Marcin Kwiatkowski +Marcin Szczepanski +Mariano Desanze +Marjan +Mark Anderson +Mark Funk +Mark Hintz +Mark IJbema +Mark Murphy +Mark Richardson +Mark Rushakoff +Mark Sun +Marlon Landaverde +Marshall Roch +Martin Andert +Martin Hujer +Martin Jul +Martin Konicek +Martin Mihaylov +Masaki KOBAYASHI +Mathieu M-Gosselin +Mathieu Savy +Matias Singers +Matsunoki +Matt Brookes +Matt Dunn-Rankin +Matt Harrison +Matt Huggins +Matt Stow +Matt Zabriskie +Matthew Dapena-Tretter +Matthew Herbst +Matthew Hodgson +Matthew Johnston +Matthew King +Matthew Looi +Matthew Miner +Matthias Le Brun +Matti Nelimarkka +Mattijs Kneppers +Max F. Albrecht <1@178.is> +Max Heiber +Max Stoiber +Maxi Ferreira +Maxim Abramchuk +Merrick Christensen +Mert Kahyaoğlu +Michael Chan +Michael McDermott +Michael Randers-Pehrson +Michael Ridgway +Michael Warner +Michael Wiencek +Michael Ziwisky +Michal Srb +Michelle Todd +Mihai Parparita +Mike D Pilsbury +Mike Groseclose +Mike Nordick +Mikolaj Dadela +Miles Johnson +Minwe LUO +Miorel Palii +Morhaus +Moshe Kolodny +Mouad Debbar +Murad +Murray M. Moss +Nadeesha Cabral +Naman Goel +Nate Hunzaker +Nate Lee +Nathan Smith +Nathan White +Nee <944316342@qq.com> +Neri Marschik +Nguyen Truong Duy +Nicholas Bergson-Shilcock +Nicholas Clawson +Nick Balestra +Nick Fitzgerald +Nick Gavalas +Nick Merwin +Nick Presta +Nick Raienko +Nick Thompson +Nick Williams +Niklas Boström +Ning Xia +Niole Nelson +Oiva Eskola +Oleg +Oleksii Markhovskyi +Oliver Zeigermann +Olivier Tassinari +Owen Coutts +Pablo Lacerda de Miranda +Paolo Moretti +Pascal Hartig +Patrick +Patrick Laughlin +Patrick Stapleton +Paul Benigeri +Paul Harper +Paul O’Shannessy +Paul Seiffert +Paul Shen +Pedro Nauck +Pete Hunt +Peter Blazejewicz +Peter Cottle +Peter Jaros +Peter Newnham +Petri Lehtinen +Petri Lievonen +Pieter Vanderwerff +Pouja Nikray +Prathamesh Sonpatki +Prayag Verma +Preston Parry +Rafael +Rafal Dittwald +Rainer Oviir +Rajat Sehgal +Rajiv Tirumalareddy +Ram Kaniyur +Randall Randall +Ray +Raymond Ha +Reed Loden +Remko Tronçon +Richard D. Worth +Richard Feldman +Richard Kho +Richard Littauer +Richard Livesey +Richard Wood +Rick Beerendonk +Rick Ford +Riley Tomasek +Rob Arnold +Robert Binna +Robert Knight +Robert Sedovsek +Robin Berjon +Robin Frischmann +Roman Pominov +Roman Vanesyan +Russ +Ryan Seddon +Sahat Yalkabov +Saif Hakim +Saiichi Hashimoto +Sam Beveridge +Sam Saccone +Sam Selikoff +Samy Al Zahrani +Sander Spies +Scott Burch +Scott Feeney +Sean Kinsey +Sebastian Markbåge +Sebastian McKenzie +Seoh Char +Sercan Eraslan +Serg +Sergey Generalov +Sergey Rubanov +Seyi Adebajo +Shane O'Sullivan +Shaun Trennery +ShihChi Huang +Shim Won +Shinnosuke Watanabe +Shogun Sea +Shota Kubota +Shripad K +Sibi +Simen Bekkhus +Simon Højberg +Simon Welsh +Simone Vittori +Soichiro Kawamura +Sophia Westwood +Sota Ohara +Spencer Handley +Stefan Dombrowski +Stephen Murphy +Sterling Cobb +Steve Baker <_steve_@outlook.com> +Steven Luscher +Steven Vachon +Stoyan Stefanov +Sundeep Malladi +Sunny Juneja +Sven Helmberger +Sverre Johansen +Sébastien Lorber +Sławomir Laskowski +Taeho Kim +Tay Yang Shun +Ted Kim +Tengfei Guo +Teodor Szente +Thomas Aylott +Thomas Boyt +Thomas Broadley +Thomas Reggi +Thomas Röggla +Thomas Shaddox +Thomas Shafer +ThomasCrvsr +Tienchai Wirojsaksaree +Tim Routowicz +Tim Schaub +Timothy Yung +Timur Carpeev +Tobias Reiss +Tom Duncalf +Tom Haggie +Tom Hauburger +Tom MacWright +Tom Occhino +Tomasz Kołodziejski +Tomoya Suzuki +Tony Spiro +Toru Kobayashi +Trinh Hoang Nhu +Tsung Hung +Tyler Brock +Ustin Zarubin +Vadim Chernysh +Varun Rau +Vasiliy Loginevskiy +Victor Alvarez +Victor Homyakov +Victor Koenders +Ville Immonen +Vincent Riemer +Vincent Siao +Vipul A M +Vitaly Kramskikh +Vitor Balocco +Vjeux +Volkan Unsal +Wander Wang +Wayne Larsen +WickyNilliams +Wincent Colaiuta +Wout Mertens +Xavier Morel +XuefengWu +Yakov Dalinchuk +Yasar icli +YouBao Nong +Yuichi Hagio +Yuriy Dybskiy +Yutaka Nakajima +Yuval Dekel +Zach Bruggeman +Zach Ramaekers +Zacharias +Zeke Sikelianos +Zhangjd +adraeth +arush +brafdlog +chen +clariroid +claudiopro +cutbko +davidxi +dongmeng.ldm +iamchenxin +iamdoron +iawia002 +imagentleman +koh-taka +kohashi85 +laiso +leeyoungalias +li.li +maxprafferty +rgarifullin +songawee +sugarshin +wali-s +yiminghe +youmoo +zhangjg +zwhitchcox +Árni Hermann Reynisson +元彦 +凌恒 +张敏 diff --git a/_freeze/site_libs/react-18.2.0/LICENSE.txt b/_freeze/site_libs/react-18.2.0/LICENSE.txt new file mode 100644 index 0000000..188fb2b --- /dev/null +++ b/_freeze/site_libs/react-18.2.0/LICENSE.txt @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2013-present, Facebook, Inc. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/_freeze/site_libs/react-18.2.0/react-dom.min.js b/_freeze/site_libs/react-18.2.0/react-dom.min.js new file mode 100644 index 0000000..e8a0213 --- /dev/null +++ b/_freeze/site_libs/react-18.2.0/react-dom.min.js @@ -0,0 +1,267 @@ +/** + * @license React + * react-dom.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ +(function(){/* + Modernizr 3.0.0pre (Custom Build) | MIT +*/ +'use strict';(function(Q,mb){"object"===typeof exports&&"undefined"!==typeof module?mb(exports,require("react")):"function"===typeof define&&define.amd?define(["exports","react"],mb):(Q=Q||self,mb(Q.ReactDOM={},Q.React))})(this,function(Q,mb){function n(a){for(var b="https://reactjs.org/docs/error-decoder.html?invariant="+a,c=1;cb}return!1}function Y(a,b,c,d,e,f,g){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f;this.removeEmptyString=g}function $d(a,b,c,d){var e=R.hasOwnProperty(b)?R[b]:null;if(null!==e?0!==e.type:d||!(2h||e[g]!==f[h]){var k="\n"+e[g].replace(" at new "," at ");a.displayName&&k.includes("")&&(k=k.replace("",a.displayName));return k}while(1<=g&&0<=h)}break}}}finally{ce=!1,Error.prepareStackTrace=c}return(a=a?a.displayName||a.name:"")?bc(a): +""}function gj(a){switch(a.tag){case 5:return bc(a.type);case 16:return bc("Lazy");case 13:return bc("Suspense");case 19:return bc("SuspenseList");case 0:case 2:case 15:return a=be(a.type,!1),a;case 11:return a=be(a.type.render,!1),a;case 1:return a=be(a.type,!0),a;default:return""}}function de(a){if(null==a)return null;if("function"===typeof a)return a.displayName||a.name||null;if("string"===typeof a)return a;switch(a){case Bb:return"Fragment";case Cb:return"Portal";case ee:return"Profiler";case fe:return"StrictMode"; +case ge:return"Suspense";case he:return"SuspenseList"}if("object"===typeof a)switch(a.$$typeof){case gg:return(a.displayName||"Context")+".Consumer";case hg:return(a._context.displayName||"Context")+".Provider";case ie:var b=a.render;a=a.displayName;a||(a=b.displayName||b.name||"",a=""!==a?"ForwardRef("+a+")":"ForwardRef");return a;case je:return b=a.displayName||null,null!==b?b:de(a.type)||"Memo";case Ta:b=a._payload;a=a._init;try{return de(a(b))}catch(c){}}return null}function hj(a){var b=a.type; +switch(a.tag){case 24:return"Cache";case 9:return(b.displayName||"Context")+".Consumer";case 10:return(b._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return a=b.render,a=a.displayName||a.name||"",b.displayName||(""!==a?"ForwardRef("+a+")":"ForwardRef");case 7:return"Fragment";case 5:return b;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return de(b);case 8:return b===fe?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler"; +case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if("function"===typeof b)return b.displayName||b.name||null;if("string"===typeof b)return b}return null}function Ua(a){switch(typeof a){case "boolean":case "number":case "string":case "undefined":return a;case "object":return a;default:return""}}function ig(a){var b=a.type;return(a=a.nodeName)&&"input"===a.toLowerCase()&&("checkbox"===b||"radio"=== +b)}function ij(a){var b=ig(a)?"checked":"value",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=""+a[b];if(!a.hasOwnProperty(b)&&"undefined"!==typeof c&&"function"===typeof c.get&&"function"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=""+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=""+a},stopTracking:function(){a._valueTracker= +null;delete a[b]}}}}function Pc(a){a._valueTracker||(a._valueTracker=ij(a))}function jg(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d="";a&&(d=ig(a)?a.checked?"true":"false":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function Qc(a){a=a||("undefined"!==typeof document?document:void 0);if("undefined"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}function ke(a,b){var c=b.checked;return E({},b,{defaultChecked:void 0,defaultValue:void 0, +value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}function kg(a,b){var c=null==b.defaultValue?"":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=Ua(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:"checkbox"===b.type||"radio"===b.type?null!=b.checked:null!=b.value}}function lg(a,b){b=b.checked;null!=b&&$d(a,"checked",b,!1)}function le(a,b){lg(a,b);var c=Ua(b.value),d=b.type;if(null!=c)if("number"===d){if(0===c&&""===a.value||a.value!= +c)a.value=""+c}else a.value!==""+c&&(a.value=""+c);else if("submit"===d||"reset"===d){a.removeAttribute("value");return}b.hasOwnProperty("value")?me(a,b.type,c):b.hasOwnProperty("defaultValue")&&me(a,b.type,Ua(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}function mg(a,b,c){if(b.hasOwnProperty("value")||b.hasOwnProperty("defaultValue")){var d=b.type;if(!("submit"!==d&&"reset"!==d||void 0!==b.value&&null!==b.value))return;b=""+a._wrapperState.initialValue; +c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;""!==c&&(a.name="");a.defaultChecked=!!a._wrapperState.initialChecked;""!==c&&(a.name=c)}function me(a,b,c){if("number"!==b||Qc(a.ownerDocument)!==a)null==c?a.defaultValue=""+a._wrapperState.initialValue:a.defaultValue!==""+c&&(a.defaultValue=""+c)}function Db(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e>>=0;return 0===a?32:31-(rj(a)/sj|0)|0}function hc(a){switch(a&-a){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return a& +4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return a&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return a}}function Vc(a,b){var c=a.pendingLanes;if(0===c)return 0;var d=0,e=a.suspendedLanes,f=a.pingedLanes,g=c&268435455;if(0!==g){var h=g&~e;0!==h?d=hc(h):(f&=g,0!==f&&(d=hc(f)))}else g=c&~e,0!==g?d=hc(g):0!==f&&(d=hc(f));if(0===d)return 0;if(0!==b&&b!==d&&0===(b&e)&& +(e=d&-d,f=b&-b,e>=f||16===e&&0!==(f&4194240)))return b;0!==(d&4)&&(d|=c&16);b=a.entangledLanes;if(0!==b)for(a=a.entanglements,b&=d;0c;c++)b.push(a); +return b}function ic(a,b,c){a.pendingLanes|=b;536870912!==b&&(a.suspendedLanes=0,a.pingedLanes=0);a=a.eventTimes;b=31-ta(b);a[b]=c}function vj(a,b){var c=a.pendingLanes&~b;a.pendingLanes=b;a.suspendedLanes=0;a.pingedLanes=0;a.expiredLanes&=b;a.mutableReadLanes&=b;a.entangledLanes&=b;b=a.entanglements;var d=a.eventTimes;for(a=a.expirationTimes;0=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=$g(c)}}function bh(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?bh(a,b.parentNode):"contains"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}function ch(){for(var a=window,b=Qc();b instanceof a.HTMLIFrameElement;){try{var c="string"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break; +b=Qc(a.document)}return b}function Ie(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&("input"===b&&("text"===a.type||"search"===a.type||"tel"===a.type||"url"===a.type||"password"===a.type)||"textarea"===b||"true"===a.contentEditable)}function Uj(a){var b=ch(),c=a.focusedElem,d=a.selectionRange;if(b!==c&&c&&c.ownerDocument&&bh(c.ownerDocument.documentElement,c)){if(null!==d&&Ie(c))if(b=d.start,a=d.end,void 0===a&&(a=b),"selectionStart"in c)c.selectionStart=b,c.selectionEnd=Math.min(a,c.value.length); +else if(a=(b=c.ownerDocument||document)&&b.defaultView||window,a.getSelection){a=a.getSelection();var e=c.textContent.length,f=Math.min(d.start,e);d=void 0===d.end?f:Math.min(d.end,e);!a.extend&&f>d&&(e=d,d=f,f=e);e=ah(c,f);var g=ah(c,d);e&&g&&(1!==a.rangeCount||a.anchorNode!==e.node||a.anchorOffset!==e.offset||a.focusNode!==g.node||a.focusOffset!==g.offset)&&(b=b.createRange(),b.setStart(e.node,e.offset),a.removeAllRanges(),f>d?(a.addRange(b),a.extend(g.node,g.offset)):(b.setEnd(g.node,g.offset), +a.addRange(b)))}b=[];for(a=c;a=a.parentNode;)1===a.nodeType&&b.push({element:a,left:a.scrollLeft,top:a.scrollTop});"function"===typeof c.focus&&c.focus();for(c=0;cMb||(a.current=Se[Mb],Se[Mb]=null,Mb--)} +function y(a,b,c){Mb++;Se[Mb]=a.current;a.current=b}function Nb(a,b){var c=a.type.contextTypes;if(!c)return cb;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}function ea(a){a=a.childContextTypes;return null!==a&&void 0!==a}function th(a,b,c){if(J.current!==cb)throw Error(n(168)); +y(J,b);y(S,c)}function uh(a,b,c){var d=a.stateNode;b=b.childContextTypes;if("function"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in b))throw Error(n(108,hj(a)||"Unknown",e));return E({},c,d)}function ld(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||cb;qb=J.current;y(J,a);y(S,S.current);return!0}function vh(a,b,c){var d=a.stateNode;if(!d)throw Error(n(169));c?(a=uh(a,b,qb),d.__reactInternalMemoizedMergedChildContext=a,w(S),w(J),y(J,a)):w(S); +y(S,c)}function wh(a){null===La?La=[a]:La.push(a)}function kk(a){md=!0;wh(a)}function db(){if(!Te&&null!==La){Te=!0;var a=0,b=z;try{var c=La;for(z=1;a>=g;e-=g;Ma=1<<32-ta(b)+e|c<q?(v=l,l=null):v=l.sibling;var A=r(e,l,h[q],k);if(null===A){null===l&&(l=v);break}a&&l&&null===A.alternate&&b(e,l);g=f(A,g,q);null===m?n=A:m.sibling=A;m=A;l=v}if(q===h.length)return c(e,l),D&&rb(e,q),n;if(null===l){for(;qv?(A=q,q=null):A=q.sibling;var x=r(e,q,t.value,k);if(null===x){null===q&&(q=A);break}a&&q&&null===x.alternate&&b(e,q);g=f(x,g,v);null===l?m=x:l.sibling=x;l=x;q=A}if(t.done)return c(e,q),D&&rb(e,v),m; +if(null===q){for(;!t.done;v++,t=h.next())t=u(e,t.value,k),null!==t&&(g=f(t,g,v),null===l?m=t:l.sibling=t,l=t);D&&rb(e,v);return m}for(q=d(e,q);!t.done;v++,t=h.next())t=p(q,e,v,t.value,k),null!==t&&(a&&null!==t.alternate&&q.delete(null===t.key?v:t.key),g=f(t,g,v),null===l?m=t:l.sibling=t,l=t);a&&q.forEach(function(a){return b(e,a)});D&&rb(e,v);return m}function w(a,d,f,h){"object"===typeof f&&null!==f&&f.type===Bb&&null===f.key&&(f=f.props.children);if("object"===typeof f&&null!==f){switch(f.$$typeof){case xd:a:{for(var k= +f.key,m=d;null!==m;){if(m.key===k){k=f.type;if(k===Bb){if(7===m.tag){c(a,m.sibling);d=e(m,f.props.children);d.return=a;a=d;break a}}else if(m.elementType===k||"object"===typeof k&&null!==k&&k.$$typeof===Ta&&Kh(k)===m.type){c(a,m.sibling);d=e(m,f.props);d.ref=vc(a,m,f);d.return=a;a=d;break a}c(a,m);break}else b(a,m);m=m.sibling}f.type===Bb?(d=ub(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=wd(f.type,f.key,f.props,null,a.mode,h),h.ref=vc(a,d,f),h.return=a,a=h)}return g(a);case Cb:a:{for(m=f.key;null!== +d;){if(d.key===m)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=hf(f,a.mode,h);d.return=a;a=d}return g(a);case Ta:return m=f._init,w(a,d,m(f._payload),h)}if(cc(f))return x(a,d,f,h);if(ac(f))return F(a,d,f,h);vd(a,f)}return"string"===typeof f&&""!==f||"number"===typeof f?(f=""+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d): +(c(a,d),d=gf(f,a.mode,h),d.return=a,a=d),g(a)):c(a,d)}return w}function vb(a){if(a===wc)throw Error(n(174));return a}function jf(a,b){y(xc,b);y(yc,a);y(Ea,wc);a=b.nodeType;switch(a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:oe(null,"");break;default:a=8===a?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=oe(b,a)}w(Ea);y(Ea,b)}function Tb(a){w(Ea);w(yc);w(xc)}function Mh(a){vb(xc.current);var b=vb(Ea.current);var c=oe(b,a.type);b!==c&&(y(yc,a),y(Ea,c))}function kf(a){yc.current===a&& +(w(Ea),w(yc))}function yd(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||"$?"===c.data||"$!"===c.data))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.flags&128))return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}function lf(){for(var a=0;ac?c:4;a(!0);var d=uf.transition;uf.transition={};try{a(!1),b()}finally{z=c,uf.transition=d}}function di(){return sa().memoizedState}function rk(a,b, +c){var d=hb(a);c={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(ei(a))fi(b,c);else if(c=Ch(a,b,c,d),null!==c){var e=Z();ya(c,a,d,e);gi(c,b,d)}}function pk(a,b,c){var d=hb(a),e={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(ei(a))fi(b,e);else{var f=a.alternate;if(0===a.lanes&&(null===f||0===f.lanes)&&(f=b.lastRenderedReducer,null!==f))try{var g=b.lastRenderedState,h=f(g,c);e.hasEagerState=!0;e.eagerState=h;if(ua(h,g)){var k=b.interleaved;null===k?(e.next=e,cf(b)): +(e.next=k.next,k.next=e);b.interleaved=e;return}}catch(m){}finally{}c=Ch(a,b,e,d);null!==c&&(e=Z(),ya(c,a,d,e),gi(c,b,d))}}function ei(a){var b=a.alternate;return a===C||null!==b&&b===C}function fi(a,b){zc=Bd=!0;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}function gi(a,b,c){if(0!==(c&4194240)){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;xe(a,c)}}function Ub(a,b){try{var c="",d=b;do c+=gj(d),d=d.return;while(d);var e=c}catch(f){e="\nError generating stack: "+f.message+ +"\n"+f.stack}return{value:a,source:b,stack:e,digest:null}}function vf(a,b,c){return{value:a,source:null,stack:null!=c?c:null,digest:null!=b?b:null}}function wf(a,b){try{console.error(b.value)}catch(c){setTimeout(function(){throw c;})}}function hi(a,b,c){c=Pa(-1,c);c.tag=3;c.payload={element:null};var d=b.value;c.callback=function(){Ed||(Ed=!0,xf=d);wf(a,b)};return c}function ii(a,b,c){c=Pa(-1,c);c.tag=3;var d=a.type.getDerivedStateFromError;if("function"===typeof d){var e=b.value;c.payload=function(){return d(e)}; +c.callback=function(){wf(a,b)}}var f=a.stateNode;null!==f&&"function"===typeof f.componentDidCatch&&(c.callback=function(){wf(a,b);"function"!==typeof d&&(null===ib?ib=new Set([this]):ib.add(this));var c=b.stack;this.componentDidCatch(b.value,{componentStack:null!==c?c:""})});return c}function ji(a,b,c){var d=a.pingCache;if(null===d){d=a.pingCache=new sk;var e=new Set;d.set(b,e)}else e=d.get(b),void 0===e&&(e=new Set,d.set(b,e));e.has(c)||(e.add(c),a=tk.bind(null,a,b,c),b.then(a,a))}function ki(a){do{var b; +if(b=13===a.tag)b=a.memoizedState,b=null!==b?null!==b.dehydrated?!0:!1:!0;if(b)return a;a=a.return}while(null!==a);return null}function li(a,b,c,d,e){if(0===(a.mode&1))return a===b?a.flags|=65536:(a.flags|=128,c.flags|=131072,c.flags&=-52805,1===c.tag&&(null===c.alternate?c.tag=17:(b=Pa(-1,1),b.tag=2,eb(c,b,1))),c.lanes|=1),a;a.flags|=65536;a.lanes=e;return a}function aa(a,b,c,d){b.child=null===a?mi(b,null,c,d):Vb(b,a.child,c,d)}function ni(a,b,c,d,e){c=c.render;var f=b.ref;Sb(b,e);d=of(a,b,c,d,f, +e);c=pf();if(null!==a&&!ha)return b.updateQueue=a.updateQueue,b.flags&=-2053,a.lanes&=~e,Qa(a,b,e);D&&c&&Ue(b);b.flags|=1;aa(a,b,d,e);return b.child}function oi(a,b,c,d,e){if(null===a){var f=c.type;if("function"===typeof f&&!yf(f)&&void 0===f.defaultProps&&null===c.compare&&void 0===c.defaultProps)return b.tag=15,b.type=f,pi(a,b,f,d,e);a=wd(c.type,null,d,b,b.mode,e);a.ref=b.ref;a.return=b;return b.child=a}f=a.child;if(0===(a.lanes&e)){var g=f.memoizedProps;c=c.compare;c=null!==c?c:qc;if(c(g,d)&&a.ref=== +b.ref)return Qa(a,b,e)}b.flags|=1;a=gb(f,d);a.ref=b.ref;a.return=b;return b.child=a}function pi(a,b,c,d,e){if(null!==a){var f=a.memoizedProps;if(qc(f,d)&&a.ref===b.ref)if(ha=!1,b.pendingProps=d=f,0!==(a.lanes&e))0!==(a.flags&131072)&&(ha=!0);else return b.lanes=a.lanes,Qa(a,b,e)}return zf(a,b,c,d,e)}function qi(a,b,c){var d=b.pendingProps,e=d.children,f=null!==a?a.memoizedState:null;if("hidden"===d.mode)if(0===(b.mode&1))b.memoizedState={baseLanes:0,cachePool:null,transitions:null},y(Ga,ba),ba|=c; +else{if(0===(c&1073741824))return a=null!==f?f.baseLanes|c:c,b.lanes=b.childLanes=1073741824,b.memoizedState={baseLanes:a,cachePool:null,transitions:null},b.updateQueue=null,y(Ga,ba),ba|=a,null;b.memoizedState={baseLanes:0,cachePool:null,transitions:null};d=null!==f?f.baseLanes:c;y(Ga,ba);ba|=d}else null!==f?(d=f.baseLanes|c,b.memoizedState=null):d=c,y(Ga,ba),ba|=d;aa(a,b,e,c);return b.child}function ri(a,b){var c=b.ref;if(null===a&&null!==c||null!==a&&a.ref!==c)b.flags|=512,b.flags|=2097152}function zf(a, +b,c,d,e){var f=ea(c)?qb:J.current;f=Nb(b,f);Sb(b,e);c=of(a,b,c,d,f,e);d=pf();if(null!==a&&!ha)return b.updateQueue=a.updateQueue,b.flags&=-2053,a.lanes&=~e,Qa(a,b,e);D&&d&&Ue(b);b.flags|=1;aa(a,b,c,e);return b.child}function si(a,b,c,d,e){if(ea(c)){var f=!0;ld(b)}else f=!1;Sb(b,e);if(null===b.stateNode)Fd(a,b),Hh(b,c,d),ff(b,c,d,e),d=!0;else if(null===a){var g=b.stateNode,h=b.memoizedProps;g.props=h;var k=g.context,m=c.contextType;"object"===typeof m&&null!==m?m=qa(m):(m=ea(c)?qb:J.current,m=Nb(b, +m));var l=c.getDerivedStateFromProps,n="function"===typeof l||"function"===typeof g.getSnapshotBeforeUpdate;n||"function"!==typeof g.UNSAFE_componentWillReceiveProps&&"function"!==typeof g.componentWillReceiveProps||(h!==d||k!==m)&&Ih(b,g,d,m);fb=!1;var r=b.memoizedState;g.state=r;td(b,d,g,e);k=b.memoizedState;h!==d||r!==k||S.current||fb?("function"===typeof l&&(ef(b,c,l,d),k=b.memoizedState),(h=fb||Gh(b,c,h,d,r,k,m))?(n||"function"!==typeof g.UNSAFE_componentWillMount&&"function"!==typeof g.componentWillMount|| +("function"===typeof g.componentWillMount&&g.componentWillMount(),"function"===typeof g.UNSAFE_componentWillMount&&g.UNSAFE_componentWillMount()),"function"===typeof g.componentDidMount&&(b.flags|=4194308)):("function"===typeof g.componentDidMount&&(b.flags|=4194308),b.memoizedProps=d,b.memoizedState=k),g.props=d,g.state=k,g.context=m,d=h):("function"===typeof g.componentDidMount&&(b.flags|=4194308),d=!1)}else{g=b.stateNode;Dh(a,b);h=b.memoizedProps;m=b.type===b.elementType?h:xa(b.type,h);g.props= +m;n=b.pendingProps;r=g.context;k=c.contextType;"object"===typeof k&&null!==k?k=qa(k):(k=ea(c)?qb:J.current,k=Nb(b,k));var p=c.getDerivedStateFromProps;(l="function"===typeof p||"function"===typeof g.getSnapshotBeforeUpdate)||"function"!==typeof g.UNSAFE_componentWillReceiveProps&&"function"!==typeof g.componentWillReceiveProps||(h!==n||r!==k)&&Ih(b,g,d,k);fb=!1;r=b.memoizedState;g.state=r;td(b,d,g,e);var x=b.memoizedState;h!==n||r!==x||S.current||fb?("function"===typeof p&&(ef(b,c,p,d),x=b.memoizedState), +(m=fb||Gh(b,c,m,d,r,x,k)||!1)?(l||"function"!==typeof g.UNSAFE_componentWillUpdate&&"function"!==typeof g.componentWillUpdate||("function"===typeof g.componentWillUpdate&&g.componentWillUpdate(d,x,k),"function"===typeof g.UNSAFE_componentWillUpdate&&g.UNSAFE_componentWillUpdate(d,x,k)),"function"===typeof g.componentDidUpdate&&(b.flags|=4),"function"===typeof g.getSnapshotBeforeUpdate&&(b.flags|=1024)):("function"!==typeof g.componentDidUpdate||h===a.memoizedProps&&r===a.memoizedState||(b.flags|= +4),"function"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=1024),b.memoizedProps=d,b.memoizedState=x),g.props=d,g.state=x,g.context=k,d=m):("function"!==typeof g.componentDidUpdate||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=4),"function"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=1024),d=!1)}return Af(a,b,c,d,f,e)}function Af(a,b,c,d,e,f){ri(a,b);var g=0!==(b.flags&128);if(!d&&!g)return e&&vh(b,c,!1), +Qa(a,b,f);d=b.stateNode;uk.current=b;var h=g&&"function"!==typeof c.getDerivedStateFromError?null:d.render();b.flags|=1;null!==a&&g?(b.child=Vb(b,a.child,null,f),b.child=Vb(b,null,h,f)):aa(a,b,h,f);b.memoizedState=d.state;e&&vh(b,c,!0);return b.child}function ti(a){var b=a.stateNode;b.pendingContext?th(a,b.pendingContext,b.pendingContext!==b.context):b.context&&th(a,b.context,!1);jf(a,b.containerInfo)}function ui(a,b,c,d,e){Qb();Ye(e);b.flags|=256;aa(a,b,c,d);return b.child}function Bf(a){return{baseLanes:a, +cachePool:null,transitions:null}}function vi(a,b,c){var d=b.pendingProps,e=G.current,f=!1,g=0!==(b.flags&128),h;(h=g)||(h=null!==a&&null===a.memoizedState?!1:0!==(e&2));if(h)f=!0,b.flags&=-129;else if(null===a||null!==a.memoizedState)e|=1;y(G,e&1);if(null===a){Xe(b);a=b.memoizedState;if(null!==a&&(a=a.dehydrated,null!==a))return 0===(b.mode&1)?b.lanes=1:"$!"===a.data?b.lanes=8:b.lanes=1073741824,null;g=d.children;a=d.fallback;return f?(d=b.mode,f=b.child,g={mode:"hidden",children:g},0===(d&1)&&null!== +f?(f.childLanes=0,f.pendingProps=g):f=Gd(g,d,0,null),a=ub(a,d,c,null),f.return=b,a.return=b,f.sibling=a,b.child=f,b.child.memoizedState=Bf(c),b.memoizedState=Cf,a):Df(b,g)}e=a.memoizedState;if(null!==e&&(h=e.dehydrated,null!==h))return vk(a,b,g,d,h,e,c);if(f){f=d.fallback;g=b.mode;e=a.child;h=e.sibling;var k={mode:"hidden",children:d.children};0===(g&1)&&b.child!==e?(d=b.child,d.childLanes=0,d.pendingProps=k,b.deletions=null):(d=gb(e,k),d.subtreeFlags=e.subtreeFlags&14680064);null!==h?f=gb(h,f):(f= +ub(f,g,c,null),f.flags|=2);f.return=b;d.return=b;d.sibling=f;b.child=d;d=f;f=b.child;g=a.child.memoizedState;g=null===g?Bf(c):{baseLanes:g.baseLanes|c,cachePool:null,transitions:g.transitions};f.memoizedState=g;f.childLanes=a.childLanes&~c;b.memoizedState=Cf;return d}f=a.child;a=f.sibling;d=gb(f,{mode:"visible",children:d.children});0===(b.mode&1)&&(d.lanes=c);d.return=b;d.sibling=null;null!==a&&(c=b.deletions,null===c?(b.deletions=[a],b.flags|=16):c.push(a));b.child=d;b.memoizedState=null;return d} +function Df(a,b,c){b=Gd({mode:"visible",children:b},a.mode,0,null);b.return=a;return a.child=b}function Hd(a,b,c,d){null!==d&&Ye(d);Vb(b,a.child,null,c);a=Df(b,b.pendingProps.children);a.flags|=2;b.memoizedState=null;return a}function vk(a,b,c,d,e,f,g){if(c){if(b.flags&256)return b.flags&=-257,d=vf(Error(n(422))),Hd(a,b,g,d);if(null!==b.memoizedState)return b.child=a.child,b.flags|=128,null;f=d.fallback;e=b.mode;d=Gd({mode:"visible",children:d.children},e,0,null);f=ub(f,e,g,null);f.flags|=2;d.return= +b;f.return=b;d.sibling=f;b.child=d;0!==(b.mode&1)&&Vb(b,a.child,null,g);b.child.memoizedState=Bf(g);b.memoizedState=Cf;return f}if(0===(b.mode&1))return Hd(a,b,g,null);if("$!"===e.data){d=e.nextSibling&&e.nextSibling.dataset;if(d)var h=d.dgst;d=h;f=Error(n(419));d=vf(f,d,void 0);return Hd(a,b,g,d)}h=0!==(g&a.childLanes);if(ha||h){d=O;if(null!==d){switch(g&-g){case 4:e=2;break;case 16:e=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:e= +32;break;case 536870912:e=268435456;break;default:e=0}e=0!==(e&(d.suspendedLanes|g))?0:e;0!==e&&e!==f.retryLane&&(f.retryLane=e,Oa(a,e),ya(d,a,e,-1))}Ef();d=vf(Error(n(421)));return Hd(a,b,g,d)}if("$?"===e.data)return b.flags|=128,b.child=a.child,b=wk.bind(null,a),e._reactRetry=b,null;a=f.treeContext;fa=Ka(e.nextSibling);la=b;D=!0;wa=null;null!==a&&(na[oa++]=Ma,na[oa++]=Na,na[oa++]=sb,Ma=a.id,Na=a.overflow,sb=b);b=Df(b,d.children);b.flags|=4096;return b}function wi(a,b,c){a.lanes|=b;var d=a.alternate; +null!==d&&(d.lanes|=b);bf(a.return,b,c)}function Ff(a,b,c,d,e){var f=a.memoizedState;null===f?a.memoizedState={isBackwards:b,rendering:null,renderingStartTime:0,last:d,tail:c,tailMode:e}:(f.isBackwards=b,f.rendering=null,f.renderingStartTime=0,f.last=d,f.tail=c,f.tailMode=e)}function xi(a,b,c){var d=b.pendingProps,e=d.revealOrder,f=d.tail;aa(a,b,d.children,c);d=G.current;if(0!==(d&2))d=d&1|2,b.flags|=128;else{if(null!==a&&0!==(a.flags&128))a:for(a=b.child;null!==a;){if(13===a.tag)null!==a.memoizedState&& +wi(a,c,b);else if(19===a.tag)wi(a,c,b);else if(null!==a.child){a.child.return=a;a=a.child;continue}if(a===b)break a;for(;null===a.sibling;){if(null===a.return||a.return===b)break a;a=a.return}a.sibling.return=a.return;a=a.sibling}d&=1}y(G,d);if(0===(b.mode&1))b.memoizedState=null;else switch(e){case "forwards":c=b.child;for(e=null;null!==c;)a=c.alternate,null!==a&&null===yd(a)&&(e=c),c=c.sibling;c=e;null===c?(e=b.child,b.child=null):(e=c.sibling,c.sibling=null);Ff(b,!1,e,c,f);break;case "backwards":c= +null;e=b.child;for(b.child=null;null!==e;){a=e.alternate;if(null!==a&&null===yd(a)){b.child=e;break}a=e.sibling;e.sibling=c;c=e;e=a}Ff(b,!0,c,null,f);break;case "together":Ff(b,!1,null,null,void 0);break;default:b.memoizedState=null}return b.child}function Fd(a,b){0===(b.mode&1)&&null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2)}function Qa(a,b,c){null!==a&&(b.dependencies=a.dependencies);ra|=b.lanes;if(0===(c&b.childLanes))return null;if(null!==a&&b.child!==a.child)throw Error(n(153));if(null!== +b.child){a=b.child;c=gb(a,a.pendingProps);b.child=c;for(c.return=b;null!==a.sibling;)a=a.sibling,c=c.sibling=gb(a,a.pendingProps),c.return=b;c.sibling=null}return b.child}function xk(a,b,c){switch(b.tag){case 3:ti(b);Qb();break;case 5:Mh(b);break;case 1:ea(b.type)&&ld(b);break;case 4:jf(b,b.stateNode.containerInfo);break;case 10:var d=b.type._context,e=b.memoizedProps.value;y(rd,d._currentValue);d._currentValue=e;break;case 13:d=b.memoizedState;if(null!==d){if(null!==d.dehydrated)return y(G,G.current& +1),b.flags|=128,null;if(0!==(c&b.child.childLanes))return vi(a,b,c);y(G,G.current&1);a=Qa(a,b,c);return null!==a?a.sibling:null}y(G,G.current&1);break;case 19:d=0!==(c&b.childLanes);if(0!==(a.flags&128)){if(d)return xi(a,b,c);b.flags|=128}e=b.memoizedState;null!==e&&(e.rendering=null,e.tail=null,e.lastEffect=null);y(G,G.current);if(d)break;else return null;case 22:case 23:return b.lanes=0,qi(a,b,c)}return Qa(a,b,c)}function Dc(a,b){if(!D)switch(a.tailMode){case "hidden":b=a.tail;for(var c=null;null!== +b;)null!==b.alternate&&(c=b),b=b.sibling;null===c?a.tail=null:c.sibling=null;break;case "collapsed":c=a.tail;for(var d=null;null!==c;)null!==c.alternate&&(d=c),c=c.sibling;null===d?b||null===a.tail?a.tail=null:a.tail.sibling=null:d.sibling=null}}function W(a){var b=null!==a.alternate&&a.alternate.child===a.child,c=0,d=0;if(b)for(var e=a.child;null!==e;)c|=e.lanes|e.childLanes,d|=e.subtreeFlags&14680064,d|=e.flags&14680064,e.return=a,e=e.sibling;else for(e=a.child;null!==e;)c|=e.lanes|e.childLanes, +d|=e.subtreeFlags,d|=e.flags,e.return=a,e=e.sibling;a.subtreeFlags|=d;a.childLanes=c;return b}function yk(a,b,c){var d=b.pendingProps;Ve(b);switch(b.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return W(b),null;case 1:return ea(b.type)&&(w(S),w(J)),W(b),null;case 3:d=b.stateNode;Tb();w(S);w(J);lf();d.pendingContext&&(d.context=d.pendingContext,d.pendingContext=null);if(null===a||null===a.child)pd(b)?b.flags|=4:null===a||a.memoizedState.isDehydrated&&0===(b.flags& +256)||(b.flags|=1024,null!==wa&&(Gf(wa),wa=null));yi(a,b);W(b);return null;case 5:kf(b);var e=vb(xc.current);c=b.type;if(null!==a&&null!=b.stateNode)zk(a,b,c,d,e),a.ref!==b.ref&&(b.flags|=512,b.flags|=2097152);else{if(!d){if(null===b.stateNode)throw Error(n(166));W(b);return null}a=vb(Ea.current);if(pd(b)){d=b.stateNode;c=b.type;var f=b.memoizedProps;d[Da]=b;d[uc]=f;a=0!==(b.mode&1);switch(c){case "dialog":B("cancel",d);B("close",d);break;case "iframe":case "object":case "embed":B("load",d);break; +case "video":case "audio":for(e=0;e\x3c/script>",a=a.removeChild(a.firstChild)):"string"===typeof d.is?a=g.createElement(c,{is:d.is}):(a=g.createElement(c),"select"===c&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,c);a[Da]=b;a[uc]=d;Ak(a,b,!1,!1);b.stateNode=a;a:{g=qe(c,d);switch(c){case "dialog":B("cancel",a);B("close",a);e=d;break;case "iframe":case "object":case "embed":B("load",a);e=d;break; +case "video":case "audio":for(e=0;eHf&&(b.flags|=128,d=!0,Dc(f,!1),b.lanes=4194304)}else{if(!d)if(a=yd(g),null!==a){if(b.flags|=128,d=!0,c=a.updateQueue,null!==c&&(b.updateQueue=c,b.flags|=4),Dc(f,!0),null===f.tail&&"hidden"===f.tailMode&&!g.alternate&&!D)return W(b),null}else 2*P()-f.renderingStartTime>Hf&&1073741824!==c&&(b.flags|= +128,d=!0,Dc(f,!1),b.lanes=4194304);f.isBackwards?(g.sibling=b.child,b.child=g):(c=f.last,null!==c?c.sibling=g:b.child=g,f.last=g)}if(null!==f.tail)return b=f.tail,f.rendering=b,f.tail=b.sibling,f.renderingStartTime=P(),b.sibling=null,c=G.current,y(G,d?c&1|2:c&1),b;W(b);return null;case 22:case 23:return ba=Ga.current,w(Ga),d=null!==b.memoizedState,null!==a&&null!==a.memoizedState!==d&&(b.flags|=8192),d&&0!==(b.mode&1)?0!==(ba&1073741824)&&(W(b),b.subtreeFlags&6&&(b.flags|=8192)):W(b),null;case 24:return null; +case 25:return null}throw Error(n(156,b.tag));}function Ck(a,b,c){Ve(b);switch(b.tag){case 1:return ea(b.type)&&(w(S),w(J)),a=b.flags,a&65536?(b.flags=a&-65537|128,b):null;case 3:return Tb(),w(S),w(J),lf(),a=b.flags,0!==(a&65536)&&0===(a&128)?(b.flags=a&-65537|128,b):null;case 5:return kf(b),null;case 13:w(G);a=b.memoizedState;if(null!==a&&null!==a.dehydrated){if(null===b.alternate)throw Error(n(340));Qb()}a=b.flags;return a&65536?(b.flags=a&-65537|128,b):null;case 19:return w(G),null;case 4:return Tb(), +null;case 10:return af(b.type._context),null;case 22:case 23:return ba=Ga.current,w(Ga),null;case 24:return null;default:return null}}function Wb(a,b){var c=a.ref;if(null!==c)if("function"===typeof c)try{c(null)}catch(d){H(a,b,d)}else c.current=null}function If(a,b,c){try{c()}catch(d){H(a,b,d)}}function Dk(a,b){Jf=Zc;a=ch();if(Ie(a)){if("selectionStart"in a)var c={start:a.selectionStart,end:a.selectionEnd};else a:{c=(c=a.ownerDocument)&&c.defaultView||window;var d=c.getSelection&&c.getSelection(); +if(d&&0!==d.rangeCount){c=d.anchorNode;var e=d.anchorOffset,f=d.focusNode;d=d.focusOffset;try{c.nodeType,f.nodeType}catch(M){c=null;break a}var g=0,h=-1,k=-1,m=0,t=0,u=a,r=null;b:for(;;){for(var p;;){u!==c||0!==e&&3!==u.nodeType||(h=g+e);u!==f||0!==d&&3!==u.nodeType||(k=g+d);3===u.nodeType&&(g+=u.nodeValue.length);if(null===(p=u.firstChild))break;r=u;u=p}for(;;){if(u===a)break b;r===c&&++m===e&&(h=g);r===f&&++t===d&&(k=g);if(null!==(p=u.nextSibling))break;u=r;r=u.parentNode}u=p}c=-1===h||-1===k?null: +{start:h,end:k}}else c=null}c=c||{start:0,end:0}}else c=null;Kf={focusedElem:a,selectionRange:c};Zc=!1;for(l=b;null!==l;)if(b=l,a=b.child,0!==(b.subtreeFlags&1028)&&null!==a)a.return=b,l=a;else for(;null!==l;){b=l;try{var x=b.alternate;if(0!==(b.flags&1024))switch(b.tag){case 0:case 11:case 15:break;case 1:if(null!==x){var w=x.memoizedProps,z=x.memoizedState,A=b.stateNode,v=A.getSnapshotBeforeUpdate(b.elementType===b.type?w:xa(b.type,w),z);A.__reactInternalSnapshotBeforeUpdate=v}break;case 3:var q= +b.stateNode.containerInfo;1===q.nodeType?q.textContent="":9===q.nodeType&&q.documentElement&&q.removeChild(q.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(n(163));}}catch(M){H(b,b.return,M)}a=b.sibling;if(null!==a){a.return=b.return;l=a;break}l=b.return}x=Ai;Ai=!1;return x}function Gc(a,b,c){var d=b.updateQueue;d=null!==d?d.lastEffect:null;if(null!==d){var e=d=d.next;do{if((e.tag&a)===a){var f=e.destroy;e.destroy=void 0;void 0!==f&&If(b,c,f)}e=e.next}while(e!==d)}} +function Id(a,b){b=b.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){var c=b=b.next;do{if((c.tag&a)===a){var d=c.create;c.destroy=d()}c=c.next}while(c!==b)}}function Lf(a){var b=a.ref;if(null!==b){var c=a.stateNode;switch(a.tag){case 5:a=c;break;default:a=c}"function"===typeof b?b(a):b.current=a}}function Bi(a){var b=a.alternate;null!==b&&(a.alternate=null,Bi(b));a.child=null;a.deletions=null;a.sibling=null;5===a.tag&&(b=a.stateNode,null!==b&&(delete b[Da],delete b[uc],delete b[Me],delete b[Ek], +delete b[Fk]));a.stateNode=null;a.return=null;a.dependencies=null;a.memoizedProps=null;a.memoizedState=null;a.pendingProps=null;a.stateNode=null;a.updateQueue=null}function Ci(a){return 5===a.tag||3===a.tag||4===a.tag}function Di(a){a:for(;;){for(;null===a.sibling;){if(null===a.return||Ci(a.return))return null;a=a.return}a.sibling.return=a.return;for(a=a.sibling;5!==a.tag&&6!==a.tag&&18!==a.tag;){if(a.flags&2)continue a;if(null===a.child||4===a.tag)continue a;else a.child.return=a,a=a.child}if(!(a.flags& +2))return a.stateNode}}function Mf(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?8===c.nodeType?c.parentNode.insertBefore(a,b):c.insertBefore(a,b):(8===c.nodeType?(b=c.parentNode,b.insertBefore(a,c)):(b=c,b.appendChild(a)),c=c._reactRootContainer,null!==c&&void 0!==c||null!==b.onclick||(b.onclick=kd));else if(4!==d&&(a=a.child,null!==a))for(Mf(a,b,c),a=a.sibling;null!==a;)Mf(a,b,c),a=a.sibling}function Nf(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?c.insertBefore(a,b):c.appendChild(a); +else if(4!==d&&(a=a.child,null!==a))for(Nf(a,b,c),a=a.sibling;null!==a;)Nf(a,b,c),a=a.sibling}function jb(a,b,c){for(c=c.child;null!==c;)Ei(a,b,c),c=c.sibling}function Ei(a,b,c){if(Ca&&"function"===typeof Ca.onCommitFiberUnmount)try{Ca.onCommitFiberUnmount(Uc,c)}catch(h){}switch(c.tag){case 5:X||Wb(c,b);case 6:var d=T,e=za;T=null;jb(a,b,c);T=d;za=e;null!==T&&(za?(a=T,c=c.stateNode,8===a.nodeType?a.parentNode.removeChild(c):a.removeChild(c)):T.removeChild(c.stateNode));break;case 18:null!==T&&(za? +(a=T,c=c.stateNode,8===a.nodeType?Re(a.parentNode,c):1===a.nodeType&&Re(a,c),nc(a)):Re(T,c.stateNode));break;case 4:d=T;e=za;T=c.stateNode.containerInfo;za=!0;jb(a,b,c);T=d;za=e;break;case 0:case 11:case 14:case 15:if(!X&&(d=c.updateQueue,null!==d&&(d=d.lastEffect,null!==d))){e=d=d.next;do{var f=e,g=f.destroy;f=f.tag;void 0!==g&&(0!==(f&2)?If(c,b,g):0!==(f&4)&&If(c,b,g));e=e.next}while(e!==d)}jb(a,b,c);break;case 1:if(!X&&(Wb(c,b),d=c.stateNode,"function"===typeof d.componentWillUnmount))try{d.props= +c.memoizedProps,d.state=c.memoizedState,d.componentWillUnmount()}catch(h){H(c,b,h)}jb(a,b,c);break;case 21:jb(a,b,c);break;case 22:c.mode&1?(X=(d=X)||null!==c.memoizedState,jb(a,b,c),X=d):jb(a,b,c);break;default:jb(a,b,c)}}function Fi(a){var b=a.updateQueue;if(null!==b){a.updateQueue=null;var c=a.stateNode;null===c&&(c=a.stateNode=new Gk);b.forEach(function(b){var d=Hk.bind(null,a,b);c.has(b)||(c.add(b),b.then(d,d))})}}function Aa(a,b,c){c=b.deletions;if(null!==c)for(var d=0;de&&(e=g);d&=~f}d=e;d=P()-d;d=(120>d?120:480>d?480:1080>d?1080:1920>d?1920:3E3>d?3E3:4320>d?4320:1960*Nk(d/1960))-d;if(10a?16:a;if(null===lb)var d=!1;else{a=lb;lb=null;Qd=0;if(0!==(p&6))throw Error(n(331));var e=p;p|=4;for(l=a.current;null!==l;){var f=l,g=f.child;if(0!==(l.flags&16)){var h=f.deletions;if(null!==h){for(var k=0;kP()-Of?xb(a,0):Sf|=c);ia(a,b)}function Ui(a,b){0===b&&(0===(a.mode&1)?b=1:(b=Rd,Rd<<=1,0===(Rd&130023424)&&(Rd=4194304)));var c=Z();a=Oa(a,b);null!==a&&(ic(a,b,c),ia(a,c))}function wk(a){var b=a.memoizedState,c=0;null!==b&&(c=b.retryLane);Ui(a,c)}function Hk(a,b){var c=0;switch(a.tag){case 13:var d=a.stateNode;var e=a.memoizedState;null!==e&&(c=e.retryLane); +break;case 19:d=a.stateNode;break;default:throw Error(n(314));}null!==d&&d.delete(b);Ui(a,c)}function Ni(a,b){return xh(a,b)}function Uk(a,b,c,d){this.tag=a;this.key=c;this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null;this.index=0;this.ref=null;this.pendingProps=b;this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null;this.mode=d;this.subtreeFlags=this.flags=0;this.deletions=null;this.childLanes=this.lanes=0;this.alternate=null}function yf(a){a= +a.prototype;return!(!a||!a.isReactComponent)}function Vk(a){if("function"===typeof a)return yf(a)?1:0;if(void 0!==a&&null!==a){a=a.$$typeof;if(a===ie)return 11;if(a===je)return 14}return 2}function gb(a,b){var c=a.alternate;null===c?(c=pa(a.tag,b,a.key,a.mode),c.elementType=a.elementType,c.type=a.type,c.stateNode=a.stateNode,c.alternate=a,a.alternate=c):(c.pendingProps=b,c.type=a.type,c.flags=0,c.subtreeFlags=0,c.deletions=null);c.flags=a.flags&14680064;c.childLanes=a.childLanes;c.lanes=a.lanes;c.child= +a.child;c.memoizedProps=a.memoizedProps;c.memoizedState=a.memoizedState;c.updateQueue=a.updateQueue;b=a.dependencies;c.dependencies=null===b?null:{lanes:b.lanes,firstContext:b.firstContext};c.sibling=a.sibling;c.index=a.index;c.ref=a.ref;return c}function wd(a,b,c,d,e,f){var g=2;d=a;if("function"===typeof a)yf(a)&&(g=1);else if("string"===typeof a)g=5;else a:switch(a){case Bb:return ub(c.children,e,f,b);case fe:g=8;e|=8;break;case ee:return a=pa(12,c,b,e|2),a.elementType=ee,a.lanes=f,a;case ge:return a= +pa(13,c,b,e),a.elementType=ge,a.lanes=f,a;case he:return a=pa(19,c,b,e),a.elementType=he,a.lanes=f,a;case Vi:return Gd(c,e,f,b);default:if("object"===typeof a&&null!==a)switch(a.$$typeof){case hg:g=10;break a;case gg:g=9;break a;case ie:g=11;break a;case je:g=14;break a;case Ta:g=16;d=null;break a}throw Error(n(130,null==a?a:typeof a,""));}b=pa(g,c,b,e);b.elementType=a;b.type=d;b.lanes=f;return b}function ub(a,b,c,d){a=pa(7,a,d,b);a.lanes=c;return a}function Gd(a,b,c,d){a=pa(22,a,d,b);a.elementType= +Vi;a.lanes=c;a.stateNode={isHidden:!1};return a}function gf(a,b,c){a=pa(6,a,null,b);a.lanes=c;return a}function hf(a,b,c){b=pa(4,null!==a.children?a.children:[],a.key,b);b.lanes=c;b.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation};return b}function Wk(a,b,c,d,e){this.tag=b;this.containerInfo=a;this.finishedWork=this.pingCache=this.current=this.pendingChildren=null;this.timeoutHandle=-1;this.callbackNode=this.pendingContext=this.context=null;this.callbackPriority= +0;this.eventTimes=we(0);this.expirationTimes=we(-1);this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0;this.entanglements=we(0);this.identifierPrefix=d;this.onRecoverableError=e;this.mutableSourceEagerHydrationData=null}function Vf(a,b,c,d,e,f,g,h,k,m){a=new Wk(a,b,c,h,k);1===b?(b=1,!0===f&&(b|=8)):b=0;f=pa(3,null,null,b);a.current=f;f.stateNode=a;f.memoizedState={element:d,isDehydrated:c,cache:null,transitions:null, +pendingSuspenseBoundaries:null};df(f);return a}function Xk(a,b,c){var d=3