# =============================================================
# USDA Soil Taxonomy 13ed -- Ultisols Subgroups -- Cap 15
# =============================================================
# Cobertura cientifica focada (~110 SGs).
# =============================================================

subgroups:

  # ====== AQUULTS Subgroups ======

  "HAA":  # Plinthaquults (4)
    - code: "HAAA"
      name: "Aeric Plinthaquults"
      tests:
        all_of:
          - aeric_subgroup_usda: {}
    - code: "HAAB"
      name: "Umbric Plinthaquults"
      tests:
        all_of:
          - umbric_subgroup_usda: {}
    - code: "HAAC"
      name: "Lithic Plinthaquults"
      tests:
        all_of:
          - lithic_contact_usda: { max_top_cm: 50 }
    - code: "HAAD"
      name: "Typic Plinthaquults"
      tests:
        default: true

  "HAB":  # Fragiaquults (3)
    - code: "HABA"
      name: "Aeric Fragiaquults"
      tests:
        all_of:
          - aeric_subgroup_usda: {}
    - code: "HABB"
      name: "Umbric Fragiaquults"
      tests:
        all_of:
          - umbric_subgroup_usda: {}
    - code: "HABD"
      name: "Plinthic Fragiaquults"
      tests:
        all_of:
          - plinth_subgroup_usda: {}
    - code: "HABC"
      name: "Typic Fragiaquults"
      tests:
        default: true

  "HAC":  # Albaquults (4)
    - code: "HACA"
      name: "Aeric Albaquults"
      tests:
        all_of:
          - aeric_subgroup_usda: {}
    - code: "HACB"
      name: "Umbric Albaquults"
      tests:
        all_of:
          - umbric_subgroup_usda: {}
    - code: "HACC"
      name: "Plinthic Albaquults"
      tests:
        all_of:
          - plinth_subgroup_usda: {}
    - code: "HACD"
      name: "Typic Albaquults"
      tests:
        default: true

  "HAD":  # Kandiaquults (4)
    - code: "HADA"
      name: "Aeric Kandiaquults"
      tests:
        all_of:
          - aeric_subgroup_usda: {}
    - code: "HADB"
      name: "Umbric Kandiaquults"
      tests:
        all_of:
          - umbric_subgroup_usda: {}
    - code: "HADC"
      name: "Plinthic Kandiaquults"
      tests:
        all_of:
          - plinth_subgroup_usda: {}
    - code: "HADE"
      name: "Acraquoxic Kandiaquults"
      tests:
        all_of:
          - acric_andisol_usda: {}
    - code: "HADF"
      name: "Arenic Plinthic Kandiaquults"
      tests:
        all_of:
          - arenic_subgroup_usda: {}
          - plinth_subgroup_usda: {}
    - code: "HADG"
      name: "Arenic Umbric Kandiaquults"
      tests:
        all_of:
          - arenic_subgroup_usda: {}
          - umbric_subgroup_usda: {}
    - code: "HADH"
      name: "Arenic Kandiaquults"
      tests:
        all_of:
          - arenic_subgroup_usda: {}
    - code: "HADI"
      name: "Grossarenic Kandiaquults"
      tests:
        all_of:
          - grossarenic_subgroup_usda: {}
    - code: "HADD"
      name: "Typic Kandiaquults"
      tests:
        default: true

  "HAE":  # Kanhaplaquults (3)
    - code: "HAEA"
      name: "Aeric Kanhaplaquults"
      tests:
        all_of:
          - aeric_subgroup_usda: {}
    - code: "HAEB"
      name: "Lithic Kanhaplaquults"
      tests:
        all_of:
          - lithic_contact_usda: { max_top_cm: 50 }
    - code: "HAED"
      name: "Aquandic Kanhaplaquults"
      tests:
        all_of:
          - aquandic_subgroup_usda: {}
    - code: "HAEE"
      name: "Plinthic Kanhaplaquults"
      tests:
        all_of:
          - plinth_subgroup_usda: {}
    - code: "HAEF"
      name: "Umbric Kanhaplaquults"
      tests:
        all_of:
          - umbric_subgroup_usda: {}
    - code: "HAEC"
      name: "Typic Kanhaplaquults"
      tests:
        default: true

  "HAF":  # Paleaquults (4)
    - code: "HAFA"
      name: "Aeric Paleaquults"
      tests:
        all_of:
          - aeric_subgroup_usda: {}
    - code: "HAFB"
      name: "Umbric Paleaquults"
      tests:
        all_of:
          - umbric_subgroup_usda: {}
    - code: "HAFC"
      name: "Plinthic Paleaquults"
      tests:
        all_of:
          - plinth_subgroup_usda: {}
    - code: "HAFE"
      name: "Arenic Plinthic Paleaquults"
      tests:
        all_of:
          - arenic_subgroup_usda: {}
          - plinth_subgroup_usda: {}
    - code: "HAFF"
      name: "Arenic Umbric Paleaquults"
      tests:
        all_of:
          - arenic_subgroup_usda: {}
          - umbric_subgroup_usda: {}
    - code: "HAFG"
      name: "Arenic Paleaquults"
      tests:
        all_of:
          - arenic_subgroup_usda: {}
    - code: "HAFH"
      name: "Grossarenic Paleaquults"
      tests:
        all_of:
          - grossarenic_subgroup_usda: {}
    - code: "HAFD"
      name: "Typic Paleaquults"
      tests:
        default: true

  "HAG":  # Umbraquults (3)
    - code: "HAGA"
      name: "Aeric Umbraquults"
      tests:
        all_of:
          - aeric_subgroup_usda: {}
    - code: "HAGB"
      name: "Lithic Umbraquults"
      tests:
        all_of:
          - lithic_contact_usda: { max_top_cm: 50 }
    - code: "HAGD"
      name: "Plinthic Umbraquults"
      tests:
        all_of:
          - plinth_subgroup_usda: {}
    - code: "HAGC"
      name: "Typic Umbraquults"
      tests:
        default: true

  "HAH":  # Epiaquults (4)
    - code: "HAHA"
      name: "Aeric Epiaquults"
      tests:
        all_of:
          - aeric_subgroup_usda: {}
    - code: "HAHB"
      name: "Lithic Epiaquults"
      tests:
        all_of:
          - lithic_contact_usda: { max_top_cm: 50 }
    - code: "HAHC"
      name: "Plinthic Epiaquults"
      tests:
        all_of:
          - plinth_subgroup_usda: {}
    - code: "HAHE"
      name: "Arenic Epiaquults"
      tests:
        all_of:
          - arenic_subgroup_usda: {}
    - code: "HAHF"
      name: "Grossarenic Epiaquults"
      tests:
        all_of:
          - grossarenic_subgroup_usda: {}
    - code: "HAHG"
      name: "Fragic Epiaquults"
      tests:
        all_of:
          - fragipan_usda: {}
    - code: "HAHD"
      name: "Typic Epiaquults"
      tests:
        default: true

  "HAI":  # Endoaquults (4)
    - code: "HAIA"
      name: "Aeric Endoaquults"
      tests:
        all_of:
          - aeric_subgroup_usda: {}
    - code: "HAIB"
      name: "Lithic Endoaquults"
      tests:
        all_of:
          - lithic_contact_usda: { max_top_cm: 50 }
    - code: "HAIC"
      name: "Umbric Endoaquults"
      tests:
        all_of:
          - umbric_subgroup_usda: {}
    - code: "HAIE"
      name: "Arenic Endoaquults"
      tests:
        all_of:
          - arenic_subgroup_usda: {}
    - code: "HAIF"
      name: "Grossarenic Endoaquults"
      tests:
        all_of:
          - grossarenic_subgroup_usda: {}
    - code: "HAID"
      name: "Typic Endoaquults"
      tests:
        default: true

  # ====== HUMULTS ======

  "HBA":  # Sombrihumults (2)
    - code: "HBAA"
      name: "Lithic Sombrihumults"
      tests:
        all_of:
          - lithic_contact_usda: { max_top_cm: 50 }
    - code: "HBAB"
      name: "Typic Sombrihumults"
      tests:
        default: true

  "HBB":  # Plinthohumults (3)
    - code: "HBBA"
      name: "Lithic Plinthohumults"
      tests:
        all_of:
          - lithic_contact_usda: { max_top_cm: 50 }
    - code: "HBBB"
      name: "Aquic Plinthohumults"
      tests:
        all_of:
          - aquic_subgroup_usda: {}
    - code: "HBBC"
      name: "Typic Plinthohumults"
      tests:
        default: true

  "HBC":  # Kandihumults (4)
    - code: "HBCA"
      name: "Lithic Kandihumults"
      tests:
        all_of:
          - lithic_contact_usda: { max_top_cm: 50 }
    - code: "HBCB"
      name: "Aquic Kandihumults"
      tests:
        all_of:
          - aquic_subgroup_usda: {}
    - code: "HBCC"
      name: "Plinthic Kandihumults"
      tests:
        all_of:
          - plinth_subgroup_usda: {}
    - code: "HBCE"
      name: "Andic Kandihumults"
      tests:
        all_of:
          - andic_subgroup_usda: {}
    - code: "HBCD"
      name: "Typic Kandihumults"
      tests:
        default: true

  "HBD":  # Kanhaplohumults (3)
    - code: "HBDA"
      name: "Lithic Kanhaplohumults"
      tests:
        all_of:
          - lithic_contact_usda: { max_top_cm: 50 }
    - code: "HBDB"
      name: "Aquic Kanhaplohumults"
      tests:
        all_of:
          - aquic_subgroup_usda: {}
    - code: "HBDD"
      name: "Andic Kanhaplohumults"
      tests:
        all_of:
          - andic_subgroup_usda: {}
    - code: "HBDC"
      name: "Typic Kanhaplohumults"
      tests:
        default: true

  "HBE":  # Palehumults (3)
    - code: "HBEA"
      name: "Aquic Palehumults"
      tests:
        all_of:
          - aquic_subgroup_usda: {}
    - code: "HBEB"
      name: "Plinthic Palehumults"
      tests:
        all_of:
          - plinth_subgroup_usda: {}
    - code: "HBED"
      name: "Aquandic Palehumults"
      tests:
        all_of:
          - aquandic_subgroup_usda: {}
    - code: "HBEE"
      name: "Andic Palehumults"
      tests:
        all_of:
          - andic_subgroup_usda: {}
    - code: "HBEF"
      name: "Oxyaquic Palehumults"
      tests:
        all_of:
          - oxyaquic_subgroup_usda: {}
    - code: "HBEC"
      name: "Typic Palehumults"
      tests:
        default: true

  "HBF":  # Haplohumults (4)
    - code: "HBFA"
      name: "Lithic Haplohumults"
      tests:
        all_of:
          - lithic_contact_usda: { max_top_cm: 50 }
    - code: "HBFB"
      name: "Aquic Haplohumults"
      tests:
        all_of:
          - aquic_subgroup_usda: {}
    - code: "HBFC"
      name: "Andic Haplohumults"
      tests:
        all_of:
          - andic_subgroup_usda: {}
    - code: "HBFE"
      name: "Aquandic Haplohumults"
      tests:
        all_of:
          - aquandic_subgroup_usda: {}
    - code: "HBFF"
      name: "Plinthic Haplohumults"
      tests:
        all_of:
          - plinth_subgroup_usda: {}
    - code: "HBFG"
      name: "Oxyaquic Haplohumults"
      tests:
        all_of:
          - oxyaquic_subgroup_usda: {}
    - code: "HBFD"
      name: "Typic Haplohumults"
      tests:
        default: true

  # ====== UDULTS ======

  "HCA":  # Plinthudults (3)
    - code: "HCAA"
      name: "Lithic Plinthudults"
      tests:
        all_of:
          - lithic_contact_usda: { max_top_cm: 50 }
    - code: "HCAB"
      name: "Aquic Plinthudults"
      tests:
        all_of:
          - aquic_subgroup_usda: {}
    - code: "HCAC"
      name: "Typic Plinthudults"
      tests:
        default: true

  "HCB":  # Fragiudults (3)
    - code: "HCBA"
      name: "Aquic Fragiudults"
      tests:
        all_of:
          - aquic_subgroup_usda: {}
    - code: "HCBB"
      name: "Humic Fragiudults"
      tests:
        all_of:
          - humic_andisol_usda: {}
    - code: "HCBD"
      name: "Arenic Fragiudults"
      tests:
        all_of:
          - arenic_subgroup_usda: {}
    - code: "HCBE"
      name: "Plinthic Fragiudults"
      tests:
        all_of:
          - plinth_subgroup_usda: {}
    - code: "HCBC"
      name: "Typic Fragiudults"
      tests:
        default: true

  "HCC":  # Kandiudults (4)
    - code: "HCCA"
      name: "Lithic Kandiudults"
      tests:
        all_of:
          - lithic_contact_usda: { max_top_cm: 50 }
    - code: "HCCB"
      name: "Aquic Kandiudults"
      tests:
        all_of:
          - aquic_subgroup_usda: {}
    - code: "HCCC"
      name: "Plinthic Kandiudults"
      tests:
        all_of:
          - plinth_subgroup_usda: {}
    - code: "HCCE"
      name: "Aquic Arenic Kandiudults"
      tests:
        all_of:
          - aquic_subgroup_usda: {}
          - arenic_subgroup_usda: {}
    - code: "HCCF"
      name: "Arenic Plinthic Kandiudults"
      tests:
        all_of:
          - arenic_subgroup_usda: {}
          - plinth_subgroup_usda: {}
    - code: "HCCG"
      name: "Arenic Rhodic Kandiudults"
      tests:
        all_of:
          - arenic_subgroup_usda: {}
          - rhodic_subgroup_usda: {}
    - code: "HCCH"
      name: "Arenic Kandiudults"
      tests:
        all_of:
          - arenic_subgroup_usda: {}
    - code: "HCCI"
      name: "Grossarenic Plinthic Kandiudults"
      tests:
        all_of:
          - grossarenic_subgroup_usda: {}
          - plinth_subgroup_usda: {}
    - code: "HCCJ"
      name: "Grossarenic Kandiudults"
      tests:
        all_of:
          - grossarenic_subgroup_usda: {}
    - code: "HCCK"
      name: "Acrudoxic Plinthic Kandiudults"
      tests:
        all_of:
          - acric_andisol_usda: {}
          - plinth_subgroup_usda: {}
    - code: "HCCL"
      name: "Acrudoxic Kandiudults"
      tests:
        all_of:
          - acric_andisol_usda: {}
    - code: "HCCM"
      name: "Aquandic Kandiudults"
      tests:
        all_of:
          - aquandic_subgroup_usda: {}
    - code: "HCCN"
      name: "Andic Kandiudults"
      tests:
        all_of:
          - andic_subgroup_usda: {}
    - code: "HCCO"
      name: "Oxyaquic Kandiudults"
      tests:
        all_of:
          - oxyaquic_subgroup_usda: {}
    - code: "HCCP"
      name: "Rhodic Kandiudults"
      tests:
        all_of:
          - rhodic_subgroup_usda: {}
    - code: "HCCD"
      name: "Typic Kandiudults"
      tests:
        default: true

  "HCD":  # Kanhapludults (3)
    - code: "HCDA"
      name: "Lithic Kanhapludults"
      tests:
        all_of:
          - lithic_contact_usda: { max_top_cm: 50 }
    - code: "HCDB"
      name: "Aquic Kanhapludults"
      tests:
        all_of:
          - aquic_subgroup_usda: {}
    - code: "HCDD"
      name: "Arenic Plinthic Kanhapludults"
      tests:
        all_of:
          - arenic_subgroup_usda: {}
          - plinth_subgroup_usda: {}
    - code: "HCDE"
      name: "Arenic Kanhapludults"
      tests:
        all_of:
          - arenic_subgroup_usda: {}
    - code: "HCDF"
      name: "Acrudoxic Kanhapludults"
      tests:
        all_of:
          - acric_andisol_usda: {}
    - code: "HCDG"
      name: "Andic Kanhapludults"
      tests:
        all_of:
          - andic_subgroup_usda: {}
    - code: "HCDH"
      name: "Oxyaquic Kanhapludults"
      tests:
        all_of:
          - oxyaquic_subgroup_usda: {}
    - code: "HCDI"
      name: "Plinthic Kanhapludults"
      tests:
        all_of:
          - plinth_subgroup_usda: {}
    - code: "HCDJ"
      name: "Fragic Kanhapludults"
      tests:
        all_of:
          - fragipan_usda: {}
    - code: "HCDK"
      name: "Rhodic Kanhapludults"
      tests:
        all_of:
          - rhodic_subgroup_usda: {}
    - { code: "HCDL", name: "Fragiaquic Kanhapludults", tests: { all_of: [{fragipan_usda: {}}, {aquic_subgroup_usda: {}}] } }
    - code: "HCDC"
      name: "Typic Kanhapludults"
      tests:
        default: true

  "HCE":  # Paleudults (4)
    - code: "HCEA"
      name: "Lithic Paleudults"
      tests:
        all_of:
          - lithic_contact_usda: { max_top_cm: 50 }
    - code: "HCEB"
      name: "Aquic Paleudults"
      tests:
        all_of:
          - aquic_subgroup_usda: {}
    - code: "HCEC"
      name: "Plinthic Paleudults"
      tests:
        all_of:
          - plinth_subgroup_usda: {}
    - code: "HCEE"
      name: "Aquic Arenic Paleudults"
      tests:
        all_of:
          - aquic_subgroup_usda: {}
          - arenic_subgroup_usda: {}
    - code: "HCEF"
      name: "Oxyaquic Paleudults"
      tests:
        all_of:
          - oxyaquic_subgroup_usda: {}
    - code: "HCEG"
      name: "Lamellic Paleudults"
      tests:
        all_of:
          - lamellic_subgroup_usda: {}
    - code: "HCEH"
      name: "Arenic Plinthic Paleudults"
      tests:
        all_of:
          - arenic_subgroup_usda: {}
          - plinth_subgroup_usda: {}
    - code: "HCEI"
      name: "Grossarenic Plinthic Paleudults"
      tests:
        all_of:
          - grossarenic_subgroup_usda: {}
          - plinth_subgroup_usda: {}
    - code: "HCEJ"
      name: "Arenic Rhodic Paleudults"
      tests:
        all_of:
          - arenic_subgroup_usda: {}
          - rhodic_subgroup_usda: {}
    - code: "HCEK"
      name: "Arenic Paleudults"
      tests:
        all_of:
          - arenic_subgroup_usda: {}
    - code: "HCEL"
      name: "Grossarenic Paleudults"
      tests:
        all_of:
          - grossarenic_subgroup_usda: {}
    - code: "HCEM"
      name: "Fragic Paleudults"
      tests:
        all_of:
          - fragipan_usda: {}
    - code: "HCEN"
      name: "Rhodic Paleudults"
      tests:
        all_of:
          - rhodic_subgroup_usda: {}
    - { code: "HCEO", name: "Fragiaquic Paleudults", tests: { all_of: [{fragipan_usda: {}}, {aquic_subgroup_usda: {}}] } }
    - code: "HCED"
      name: "Typic Paleudults"
      tests:
        default: true

  "HCF":  # Rhodudults (3)
    - code: "HCFA"
      name: "Lithic Rhodudults"
      tests:
        all_of:
          - lithic_contact_usda: { max_top_cm: 50 }
    - code: "HCFB"
      name: "Humic Rhodudults"
      tests:
        all_of:
          - humic_andisol_usda: {}
    - code: "HCFC"
      name: "Typic Rhodudults"
      tests:
        default: true

  "HCG":  # Hapludults (5)
    - code: "HCGA"
      name: "Lithic Hapludults"
      tests:
        all_of:
          - lithic_contact_usda: { max_top_cm: 50 }
    - code: "HCGB"
      name: "Aquic Hapludults"
      tests:
        all_of:
          - aquic_subgroup_usda: {}
    - code: "HCGC"
      name: "Andic Hapludults"
      tests:
        all_of:
          - andic_subgroup_usda: {}
    - code: "HCGD"
      name: "Humic Hapludults"
      tests:
        all_of:
          - humic_andisol_usda: {}
    - code: "HCGF"
      name: "Aquic Arenic Hapludults"
      tests:
        all_of:
          - aquic_subgroup_usda: {}
          - arenic_subgroup_usda: {}
    - code: "HCGG"
      name: "Fragic Hapludults"
      tests:
        all_of:
          - fragipan_usda: {}
    - code: "HCGH"
      name: "Oxyaquic Hapludults"
      tests:
        all_of:
          - oxyaquic_subgroup_usda: {}
    - code: "HCGI"
      name: "Lamellic Hapludults"
      tests:
        all_of:
          - lamellic_subgroup_usda: {}
    - code: "HCGJ"
      name: "Arenic Hapludults"
      tests:
        all_of:
          - arenic_subgroup_usda: {}
    - code: "HCGK"
      name: "Grossarenic Hapludults"
      tests:
        all_of:
          - grossarenic_subgroup_usda: {}
    - { code: "HCGL", name: "Fragiaquic Hapludults", tests: { all_of: [{fragipan_usda: {}}, {aquic_subgroup_usda: {}}] } }
    - code: "HCGE"
      name: "Typic Hapludults"
      tests:
        default: true

  # ====== USTULTS ======

  "HDA":  # Plinthustults (3)
    - code: "HDAA"
      name: "Lithic Plinthustults"
      tests:
        all_of:
          - lithic_contact_usda: { max_top_cm: 50 }
    - code: "HDAB"
      name: "Aquic Plinthustults"
      tests:
        all_of:
          - aquic_subgroup_usda: {}
    - code: "HDAD"
      name: "Haplic Plinthustults"
      tests:
        all_of:
          - aquic_subgroup_usda: {}
    - code: "HDAC"
      name: "Typic Plinthustults"
      tests:
        default: true

  "HDB":  # Kandiustults (3)
    - code: "HDBA"
      name: "Lithic Kandiustults"
      tests:
        all_of:
          - lithic_contact_usda: { max_top_cm: 50 }
    - code: "HDBB"
      name: "Plinthic Kandiustults"
      tests:
        all_of:
          - plinth_subgroup_usda: {}
    - code: "HDBD"
      name: "Aquic Kandiustults"
      tests:
        all_of:
          - aquic_subgroup_usda: {}
    - code: "HDBE"
      name: "Arenic Plinthic Kandiustults"
      tests:
        all_of:
          - arenic_subgroup_usda: {}
          - plinth_subgroup_usda: {}
    - code: "HDBF"
      name: "Arenic Kandiustults"
      tests:
        all_of:
          - arenic_subgroup_usda: {}
    - code: "HDBG"
      name: "Andic Kandiustults"
      tests:
        all_of:
          - andic_subgroup_usda: {}
    - code: "HDBH"
      name: "Aridic Kandiustults"
      tests:
        all_of:
          - smr_aridic_usda: {}
    - code: "HDBI"
      name: "Rhodic Kandiustults"
      tests:
        all_of:
          - rhodic_subgroup_usda: {}
    - code: "HDBC"
      name: "Typic Kandiustults"
      tests:
        default: true

  "HDC":  # Kanhaplustults (3)
    - code: "HDCA"
      name: "Lithic Kanhaplustults"
      tests:
        all_of:
          - lithic_contact_usda: { max_top_cm: 50 }
    - code: "HDCB"
      name: "Aquic Kanhaplustults"
      tests:
        all_of:
          - aquic_subgroup_usda: {}
    - code: "HDCD"
      name: "Arenic Kanhaplustults"
      tests:
        all_of:
          - arenic_subgroup_usda: {}
    - code: "HDCE"
      name: "Andic Kanhaplustults"
      tests:
        all_of:
          - andic_subgroup_usda: {}
    - code: "HDCF"
      name: "Plinthic Kanhaplustults"
      tests:
        all_of:
          - plinth_subgroup_usda: {}
    - code: "HDCG"
      name: "Aridic Kanhaplustults"
      tests:
        all_of:
          - smr_aridic_usda: {}
    - code: "HDCH"
      name: "Rhodic Kanhaplustults"
      tests:
        all_of:
          - rhodic_subgroup_usda: {}
    - code: "HDCC"
      name: "Typic Kanhaplustults"
      tests:
        default: true

  "HDD":  # Paleustults (4)
    - code: "HDDA"
      name: "Lithic Paleustults"
      tests:
        all_of:
          - lithic_contact_usda: { max_top_cm: 50 }
    - code: "HDDB"
      name: "Aquic Paleustults"
      tests:
        all_of:
          - aquic_subgroup_usda: {}
    - code: "HDDC"
      name: "Plinthic Paleustults"
      tests:
        all_of:
          - plinth_subgroup_usda: {}
    - code: "HDDD"
      name: "Typic Paleustults"
      tests:
        default: true

  "HDE":  # Rhodustults (3)
    - code: "HDEA"
      name: "Lithic Rhodustults"
      tests:
        all_of:
          - lithic_contact_usda: { max_top_cm: 50 }
    - code: "HDEB"
      name: "Aquic Rhodustults"
      tests:
        all_of:
          - aquic_subgroup_usda: {}
    - code: "HDEC"
      name: "Typic Rhodustults"
      tests:
        default: true

  "HDF":  # Haplustults (4)
    - code: "HDFA"
      name: "Lithic Haplustults"
      tests:
        all_of:
          - lithic_contact_usda: { max_top_cm: 50 }
    - code: "HDFB"
      name: "Aquic Haplustults"
      tests:
        all_of:
          - aquic_subgroup_usda: {}
    - code: "HDFC"
      name: "Humic Haplustults"
      tests:
        all_of:
          - humic_andisol_usda: {}
    - code: "HDFE"
      name: "Petroferric Haplustults"
      tests:
        all_of:
          - petroferric_contact_usda: {}
    - code: "HDFF"
      name: "Arenic Haplustults"
      tests:
        all_of:
          - arenic_subgroup_usda: {}
    - code: "HDFG"
      name: "Plinthic Haplustults"
      tests:
        all_of:
          - plinth_subgroup_usda: {}
    - code: "HDFD"
      name: "Typic Haplustults"
      tests:
        default: true

  # ====== XERULTS ======

  "HEA":  # Palexerults (3)
    - code: "HEAA"
      name: "Lithic Palexerults"
      tests:
        all_of:
          - lithic_contact_usda: { max_top_cm: 50 }
    - code: "HEAB"
      name: "Aquic Palexerults"
      tests:
        all_of:
          - aquic_subgroup_usda: {}
    - code: "HEAD"
      name: "Aquandic Palexerults"
      tests:
        all_of:
          - aquandic_subgroup_usda: {}
    - code: "HEAE"
      name: "Andic Palexerults"
      tests:
        all_of:
          - andic_subgroup_usda: {}
    - code: "HEAC"
      name: "Typic Palexerults"
      tests:
        default: true

  "HEB":  # Haploxerults (4)
    - code: "HEBA"
      name: "Lithic Haploxerults"
      tests:
        all_of:
          - lithic_contact_usda: { max_top_cm: 50 }
    - code: "HEBB"
      name: "Aquic Haploxerults"
      tests:
        all_of:
          - aquic_subgroup_usda: {}
    - code: "HEBC"
      name: "Andic Haploxerults"
      tests:
        all_of:
          - andic_subgroup_usda: {}
    - code: "HEBE"
      name: "Lamellic Haploxerults"
      tests:
        all_of:
          - lamellic_subgroup_usda: {}
    - code: "HEBF"
      name: "Arenic Haploxerults"
      tests:
        all_of:
          - arenic_subgroup_usda: {}
    - code: "HEBG"
      name: "Grossarenic Haploxerults"
      tests:
        all_of:
          - grossarenic_subgroup_usda: {}
    - code: "HEBD"
      name: "Typic Haploxerults"
      tests:
        default: true
