# =============================================================
# USDA Soil Taxonomy 13ed -- Vertisols Subgroups -- Cap 16
# =============================================================
# Cobertura cientifica focada -- ~85 SGs.
# =============================================================

subgroups:

  # ====== AQUERTS ======

  "FAA":  # Sulfaquerts (3)
    - code: "FAAA"
      name: "Halic Sulfaquerts"
      tests:
        all_of:
          - halic_subgroup_usda: {}
    - code: "FAAB"
      name: "Sodic Sulfaquerts"
      tests:
        all_of:
          - natric_subgroup_usda: {}
    - code: "FAAD"
      name: "Salic Sulfaquerts"
      tests:
        all_of:
          - salic_subgroup_usda: {}
    - code: "FAAE"
      name: "Sulfic Sulfaquerts"
      tests:
        all_of:
          - sulfic_subgroup_usda: {}
    - code: "FAAC"
      name: "Typic Sulfaquerts"
      tests:
        default: true

  "FAB":  # Salaquerts (3)
    - code: "FABA"
      name: "Sulfic Salaquerts"
      tests:
        all_of:
          - sulfic_subgroup_usda: {}
    - code: "FABB"
      name: "Sodic Salaquerts"
      tests:
        all_of:
          - natric_subgroup_usda: {}
    - code: "FABD"
      name: "Aridic Salaquerts"
      tests:
        all_of:
          - smr_aridic_usda: {}
    - code: "FABE"
      name: "Entic Salaquerts"
      tests:
        all_of:
          - entic_subgroup_usda: {}
    - code: "FABC"
      name: "Leptic Salaquerts"
      tests:
        all_of:
          - leptic_vertic_usda: {}
    - code: "FABF"
      name: "Chromic Salaquerts"
      tests:
        all_of:
          - chromic_subgroup_usda: {}
    - code: "FABG"
      name: "Typic Salaquerts"
      tests:
        default: true

  "FAC":  # Duraquerts (3)
    - code: "FACA"
      name: "Sodic Duraquerts"
      tests:
        all_of:
          - natric_subgroup_usda: {}
    - code: "FACB"
      name: "Calcic Duraquerts"
      tests:
        all_of:
          - calcic_subgroup_usda: {}
    - code: "FACD"
      name: "Aridic Duraquerts"
      tests:
        all_of:
          - smr_aridic_usda: {}
    - code: "FACE"
      name: "Chromic Duraquerts"
      tests:
        all_of:
          - chromic_subgroup_usda: { use_chroma: false }
    - code: "FACC"
      name: "Typic Duraquerts"
      tests:
        default: true

  "FAD":  # Natraquerts (3)
    - code: "FADA"
      name: "Salic Natraquerts"
      tests:
        all_of:
          - salic_subgroup_usda: {}
    - code: "FADB"
      name: "Calcic Natraquerts"
      tests:
        all_of:
          - calcic_subgroup_usda: {}
    - code: "FADC"
      name: "Typic Natraquerts"
      tests:
        default: true

  "FAE":  # Calciaquerts (3)
    - code: "FAEA"
      name: "Sodic Calciaquerts"
      tests:
        all_of:
          - natric_subgroup_usda: {}
    - code: "FAEB"
      name: "Salic Calciaquerts"
      tests:
        all_of:
          - salic_subgroup_usda: {}
    - code: "FAEC"
      name: "Typic Calciaquerts"
      tests:
        default: true

  "FAF":  # Dystraquerts (3)
    - code: "FAFA"
      name: "Aeric Dystraquerts"
      tests:
        all_of:
          - aeric_subgroup_usda: {}
    - code: "FAFB"
      name: "Humic Dystraquerts"
      tests:
        all_of:
          - humic_andisol_usda: {}
    - code: "FAFD"
      name: "Aridic Dystraquerts"
      tests:
        all_of:
          - smr_aridic_usda: {}
    - code: "FAFE"
      name: "Entic Dystraquerts"
      tests:
        all_of:
          - entic_subgroup_usda: {}
    - code: "FAFF"
      name: "Leptic Dystraquerts"
      tests:
        all_of:
          - leptic_vertic_usda: {}
    - code: "FAFG"
      name: "Chromic Dystraquerts"
      tests:
        all_of:
          - chromic_subgroup_usda: { use_chroma: false }
    - code: "FAFC"
      name: "Typic Dystraquerts"
      tests:
        default: true

  "FAG":  # Epiaquerts (4)
    - code: "FAGA"
      name: "Sodic Epiaquerts"
      tests:
        all_of:
          - natric_subgroup_usda: {}
    - code: "FAGB"
      name: "Salic Epiaquerts"
      tests:
        all_of:
          - salic_subgroup_usda: {}
    - code: "FAGC"
      name: "Calcic Epiaquerts"
      tests:
        all_of:
          - calcic_subgroup_usda: {}
    - code: "FAGE"
      name: "Halic Epiaquerts"
      tests:
        all_of:
          - halic_subgroup_usda: {}
    - code: "FAGF"
      name: "Aridic Epiaquerts"
      tests:
        all_of:
          - smr_aridic_usda: {}
    - code: "FAGG"
      name: "Entic Epiaquerts"
      tests:
        all_of:
          - entic_subgroup_usda: {}
    - code: "FAGH"
      name: "Leptic Epiaquerts"
      tests:
        all_of:
          - leptic_vertic_usda: {}
    - code: "FAGI"
      name: "Chromic Epiaquerts"
      tests:
        all_of:
          - chromic_subgroup_usda: { use_chroma: false }
    - code: "FAGD"
      name: "Typic Epiaquerts"
      tests:
        default: true

  "FAH":  # Endoaquerts (4)
    - code: "FAHA"
      name: "Sodic Endoaquerts"
      tests:
        all_of:
          - natric_subgroup_usda: {}
    - code: "FAHB"
      name: "Salic Endoaquerts"
      tests:
        all_of:
          - salic_subgroup_usda: {}
    - code: "FAHC"
      name: "Calcic Endoaquerts"
      tests:
        all_of:
          - calcic_subgroup_usda: {}
    - code: "FAHE"
      name: "Halic Endoaquerts"
      tests:
        all_of:
          - halic_subgroup_usda: {}
    - code: "FAHF"
      name: "Aridic Endoaquerts"
      tests:
        all_of:
          - smr_aridic_usda: {}
    - code: "FAHG"
      name: "Entic Endoaquerts"
      tests:
        all_of:
          - entic_subgroup_usda: {}
    - code: "FAHH"
      name: "Leptic Endoaquerts"
      tests:
        all_of:
          - leptic_vertic_usda: {}
    - code: "FAHI"
      name: "Chromic Endoaquerts"
      tests:
        all_of:
          - chromic_subgroup_usda: { use_chroma: false }
    - code: "FAHD"
      name: "Typic Endoaquerts"
      tests:
        default: true

  # ====== CRYERTS ======

  "FBA":  # Humicryerts (2)
    - code: "FBAA"
      name: "Aquic Humicryerts"
      tests:
        all_of:
          - aquic_subgroup_usda: {}
    - code: "FBAC"
      name: "Sodic Humicryerts"
      tests:
        all_of:
          - natric_subgroup_usda: {}
    - code: "FBAB"
      name: "Typic Humicryerts"
      tests:
        default: true

  "FBB":  # Haplocryerts (3)
    - code: "FBBA"
      name: "Aquic Haplocryerts"
      tests:
        all_of:
          - aquic_subgroup_usda: {}
    - code: "FBBB"
      name: "Lithic Haplocryerts"
      tests:
        all_of:
          - lithic_contact_usda: { max_top_cm: 50 }
    - code: "FBBD"
      name: "Sodic Haplocryerts"
      tests:
        all_of:
          - natric_subgroup_usda: {}
    - code: "FBBE"
      name: "Chromic Haplocryerts"
      tests:
        all_of:
          - chromic_subgroup_usda: {}
    - code: "FBBC"
      name: "Typic Haplocryerts"
      tests:
        default: true

  # ====== XERERTS ======

  "FCA":  # Durixererts (3)
    - code: "FCAA"
      name: "Aquic Durixererts"
      tests:
        all_of:
          - aquic_subgroup_usda: {}
    - code: "FCAB"
      name: "Sodic Durixererts"
      tests:
        all_of:
          - natric_subgroup_usda: {}
    - code: "FCAD"
      name: "Halic Durixererts"
      tests:
        all_of:
          - halic_subgroup_usda: {}
    - code: "FCAE"
      name: "Aridic Durixererts"
      tests:
        all_of:
          - smr_aridic_usda: {}
    - code: "FCAF"
      name: "Haplic Durixererts"
      tests:
        all_of:
          - aquic_subgroup_usda: {}
    - code: "FCAG"
      name: "Chromic Durixererts"
      tests:
        all_of:
          - chromic_subgroup_usda: {}
    - code: "FCAC"
      name: "Typic Durixererts"
      tests:
        default: true

  "FCB":  # Calcixererts (3)
    - code: "FCBA"
      name: "Aquic Calcixererts"
      tests:
        all_of:
          - aquic_subgroup_usda: {}
    - code: "FCBB"
      name: "Sodic Calcixererts"
      tests:
        all_of:
          - natric_subgroup_usda: {}
    - code: "FCBD"
      name: "Lithic Calcixererts"
      tests:
        all_of:
          - lithic_contact_usda: { max_top_cm: 50 }
    - code: "FCBE"
      name: "Petrocalcic Calcixererts"
      tests:
        all_of:
          - petrocalcic_subgroup_usda: {}
    - code: "FCBF"
      name: "Aridic Calcixererts"
      tests:
        all_of:
          - smr_aridic_usda: {}
    - code: "FCBG"
      name: "Entic Calcixererts"
      tests:
        all_of:
          - entic_subgroup_usda: {}
    - code: "FCBH"
      name: "Leptic Calcixererts"
      tests:
        all_of:
          - leptic_vertic_usda: {}
    - code: "FCBI"
      name: "Chromic Calcixererts"
      tests:
        all_of:
          - chromic_subgroup_usda: {}
    - code: "FCBC"
      name: "Typic Calcixererts"
      tests:
        default: true

  "FCC":  # Haploxererts (4)
    - code: "FCCA"
      name: "Aquic Haploxererts"
      tests:
        all_of:
          - aquic_subgroup_usda: {}
    - code: "FCCB"
      name: "Sodic Haploxererts"
      tests:
        all_of:
          - natric_subgroup_usda: {}
    - code: "FCCC"
      name: "Lithic Haploxererts"
      tests:
        all_of:
          - lithic_contact_usda: { max_top_cm: 50 }
    - code: "FCCE"
      name: "Halic Haploxererts"
      tests:
        all_of:
          - halic_subgroup_usda: {}
    - code: "FCCF"
      name: "Aridic Haploxererts"
      tests:
        all_of:
          - smr_aridic_usda: {}
    - code: "FCCG"
      name: "Entic Haploxererts"
      tests:
        all_of:
          - entic_subgroup_usda: {}
    - code: "FCCH"
      name: "Leptic Haploxererts"
      tests:
        all_of:
          - leptic_vertic_usda: {}
    - code: "FCCI"
      name: "Chromic Haploxererts"
      tests:
        all_of:
          - chromic_subgroup_usda: {}
    - code: "FCCD"
      name: "Typic Haploxererts"
      tests:
        default: true

  # ====== TORRERTS ======

  "FDA":  # Salitorrerts (2)
    - code: "FDAA"
      name: "Sodic Salitorrerts"
      tests:
        all_of:
          - natric_subgroup_usda: {}
    - code: "FDAC"
      name: "Aquic Salitorrerts"
      tests:
        all_of:
          - aquic_subgroup_usda: {}
    - code: "FDAD"
      name: "Entic Salitorrerts"
      tests:
        all_of:
          - entic_subgroup_usda: {}
    - code: "FDAB"
      name: "Leptic Salitorrerts"
      tests:
        all_of:
          - leptic_vertic_usda: {}
    - code: "FDAE"
      name: "Chromic Salitorrerts"
      tests:
        all_of:
          - chromic_subgroup_usda: {}
    - code: "FDAF"
      name: "Typic Salitorrerts"
      tests:
        default: true

  "FDB":  # Gypsitorrerts (3)
    - code: "FDBA"
      name: "Salic Gypsitorrerts"
      tests:
        all_of:
          - salic_subgroup_usda: {}
    - code: "FDBB"
      name: "Sodic Gypsitorrerts"
      tests:
        all_of:
          - natric_subgroup_usda: {}
    - code: "FDBD"
      name: "Chromic Gypsitorrerts"
      tests:
        all_of:
          - chromic_subgroup_usda: {}
    - code: "FDBC"
      name: "Typic Gypsitorrerts"
      tests:
        default: true

  "FDC":  # Calcitorrerts (3)
    - code: "FDCA"
      name: "Salic Calcitorrerts"
      tests:
        all_of:
          - salic_subgroup_usda: {}
    - code: "FDCB"
      name: "Sodic Calcitorrerts"
      tests:
        all_of:
          - natric_subgroup_usda: {}
    - code: "FDCD"
      name: "Petrocalcic Calcitorrerts"
      tests:
        all_of:
          - petrocalcic_subgroup_usda: {}
    - code: "FDCE"
      name: "Entic Calcitorrerts"
      tests:
        all_of:
          - entic_subgroup_usda: {}
    - code: "FDCF"
      name: "Leptic Calcitorrerts"
      tests:
        all_of:
          - leptic_vertic_usda: {}
    - code: "FDCG"
      name: "Chromic Calcitorrerts"
      tests:
        all_of:
          - chromic_subgroup_usda: {}
    - code: "FDCC"
      name: "Typic Calcitorrerts"
      tests:
        default: true

  "FDD":  # Haplotorrerts (4)
    - code: "FDDA"
      name: "Aquic Haplotorrerts"
      tests:
        all_of:
          - aquic_subgroup_usda: {}
    - code: "FDDB"
      name: "Sodic Haplotorrerts"
      tests:
        all_of:
          - natric_subgroup_usda: {}
    - code: "FDDC"
      name: "Calcic Haplotorrerts"
      tests:
        all_of:
          - calcic_subgroup_usda: {}
    - code: "FDDE"
      name: "Halic Haplotorrerts"
      tests:
        all_of:
          - halic_subgroup_usda: {}
    - code: "FDDF"
      name: "Entic Haplotorrerts"
      tests:
        all_of:
          - entic_subgroup_usda: {}
    - code: "FDDG"
      name: "Leptic Haplotorrerts"
      tests:
        all_of:
          - leptic_vertic_usda: {}
    - code: "FDDH"
      name: "Chromic Haplotorrerts"
      tests:
        all_of:
          - chromic_subgroup_usda: {}
    - code: "FDDD"
      name: "Typic Haplotorrerts"
      tests:
        default: true

  # ====== USTERTS ======

  "FEA":  # Dystrusterts (3)
    - code: "FEAA"
      name: "Aquic Dystrusterts"
      tests:
        all_of:
          - aquic_subgroup_usda: {}
    - code: "FEAB"
      name: "Lithic Dystrusterts"
      tests:
        all_of:
          - lithic_contact_usda: { max_top_cm: 50 }
    - code: "FEAD"
      name: "Aridic Dystrusterts"
      tests:
        all_of:
          - smr_aridic_usda: {}
    - code: "FEAE"
      name: "Entic Dystrusterts"
      tests:
        all_of:
          - entic_subgroup_usda: {}
    - code: "FEAF"
      name: "Leptic Dystrusterts"
      tests:
        all_of:
          - leptic_vertic_usda: {}
    - code: "FEAG"
      name: "Chromic Dystrusterts"
      tests:
        all_of:
          - chromic_subgroup_usda: {}
    - code: "FEAC"
      name: "Typic Dystrusterts"
      tests:
        default: true

  "FEB":  # Salusterts (3)
    - code: "FEBA"
      name: "Sulfic Salusterts"
      tests:
        all_of:
          - sulfic_subgroup_usda: {}
    - code: "FEBB"
      name: "Aquic Salusterts"
      tests:
        all_of:
          - aquic_subgroup_usda: {}
    - code: "FEBD"
      name: "Lithic Salusterts"
      tests:
        all_of:
          - lithic_contact_usda: { max_top_cm: 50 }
    - code: "FEBE"
      name: "Sodic Salusterts"
      tests:
        all_of:
          - natric_subgroup_usda: {}
    - code: "FEBF"
      name: "Aridic Salusterts"
      tests:
        all_of:
          - smr_aridic_usda: {}
    - code: "FEBG"
      name: "Entic Salusterts"
      tests:
        all_of:
          - entic_subgroup_usda: {}
    - code: "FEBH"
      name: "Leptic Salusterts"
      tests:
        all_of:
          - leptic_vertic_usda: {}
    - code: "FEBI"
      name: "Chromic Salusterts"
      tests:
        all_of:
          - chromic_subgroup_usda: {}
    - code: "FEBC"
      name: "Typic Salusterts"
      tests:
        default: true

  "FEC":  # Gypsiusterts (3)
    - code: "FECA"
      name: "Aquic Gypsiusterts"
      tests:
        all_of:
          - aquic_subgroup_usda: {}
    - code: "FECB"
      name: "Salic Gypsiusterts"
      tests:
        all_of:
          - salic_subgroup_usda: {}
    - code: "FECD"
      name: "Lithic Gypsiusterts"
      tests:
        all_of:
          - lithic_contact_usda: { max_top_cm: 50 }
    - code: "FECE"
      name: "Halic Gypsiusterts"
      tests:
        all_of:
          - halic_subgroup_usda: {}
    - code: "FECF"
      name: "Sodic Gypsiusterts"
      tests:
        all_of:
          - natric_subgroup_usda: {}
    - code: "FECG"
      name: "Aridic Gypsiusterts"
      tests:
        all_of:
          - smr_aridic_usda: {}
    - code: "FECH"
      name: "Entic Gypsiusterts"
      tests:
        all_of:
          - entic_subgroup_usda: {}
    - code: "FECI"
      name: "Leptic Gypsiusterts"
      tests:
        all_of:
          - leptic_vertic_usda: {}
    - code: "FECJ"
      name: "Chromic Gypsiusterts"
      tests:
        all_of:
          - chromic_subgroup_usda: {}
    - code: "FECC"
      name: "Typic Gypsiusterts"
      tests:
        default: true

  "FED":  # Calciusterts (4)
    - code: "FEDA"
      name: "Aquic Calciusterts"
      tests:
        all_of:
          - aquic_subgroup_usda: {}
    - code: "FEDB"
      name: "Sodic Calciusterts"
      tests:
        all_of:
          - natric_subgroup_usda: {}
    - code: "FEDC"
      name: "Salic Calciusterts"
      tests:
        all_of:
          - salic_subgroup_usda: {}
    - code: "FEDE"
      name: "Lithic Calciusterts"
      tests:
        all_of:
          - lithic_contact_usda: { max_top_cm: 50 }
    - code: "FEDF"
      name: "Halic Calciusterts"
      tests:
        all_of:
          - halic_subgroup_usda: {}
    - code: "FEDG"
      name: "Petrocalcic Calciusterts"
      tests:
        all_of:
          - petrocalcic_subgroup_usda: {}
    - code: "FEDH"
      name: "Aridic Calciusterts"
      tests:
        all_of:
          - smr_aridic_usda: {}
    - code: "FEDI"
      name: "Entic Calciusterts"
      tests:
        all_of:
          - entic_subgroup_usda: {}
    - code: "FEDJ"
      name: "Leptic Calciusterts"
      tests:
        all_of:
          - leptic_vertic_usda: {}
    - code: "FEDK"
      name: "Chromic Calciusterts"
      tests:
        all_of:
          - chromic_subgroup_usda: {}
    - code: "FEDD"
      name: "Typic Calciusterts"
      tests:
        default: true

  "FEE":  # Haplusterts (5)
    - code: "FEEA"
      name: "Aquic Haplusterts"
      tests:
        all_of:
          - aquic_subgroup_usda: {}
    - code: "FEEB"
      name: "Sodic Haplusterts"
      tests:
        all_of:
          - natric_subgroup_usda: {}
    - code: "FEEC"
      name: "Calcic Haplusterts"
      tests:
        all_of:
          - calcic_subgroup_usda: {}
    - code: "FEED"
      name: "Lithic Haplusterts"
      tests:
        all_of:
          - lithic_contact_usda: { max_top_cm: 50 }
    - code: "FEEF"
      name: "Halic Haplusterts"
      tests:
        all_of:
          - halic_subgroup_usda: {}
    - code: "FEEG"
      name: "Petrocalcic Haplusterts"
      tests:
        all_of:
          - petrocalcic_subgroup_usda: {}
    - code: "FEEH"
      name: "Aridic Haplusterts"
      tests:
        all_of:
          - smr_aridic_usda: {}
    - code: "FEEI"
      name: "Entic Haplusterts"
      tests:
        all_of:
          - entic_subgroup_usda: {}
    - code: "FEEM"
      name: "Leptic Haplusterts"
      tests:
        all_of:
          - leptic_vertic_usda: {}
    - code: "FEEO"
      name: "Chromic Haplusterts"
      tests:
        all_of:
          - chromic_subgroup_usda: {}
    - { code: "FEEJ", name: "Gypsic Haplusterts", tests: { all_of: [{gypsic_subgroup_usda: {max_top_cm: 150}}] } }
    - { code: "FEEK", name: "Aridic Leptic Haplusterts", tests: { all_of: [{smr_aridic_usda: {}}, {leptic_vertic_usda: {}}] } }
    - code: "FEEE"
      name: "Typic Haplusterts"
      tests:
        default: true

  # ====== UDERTS ======

  "FFA":  # Dystruderts (3)
    - code: "FFAA"
      name: "Aquic Dystruderts"
      tests:
        all_of:
          - aquic_subgroup_usda: {}
    - code: "FFAB"
      name: "Lithic Dystruderts"
      tests:
        all_of:
          - lithic_contact_usda: { max_top_cm: 50 }
    - code: "FFAD"
      name: "Oxyaquic Dystruderts"
      tests:
        all_of:
          - oxyaquic_subgroup_usda: {}
    - code: "FFAE"
      name: "Entic Dystruderts"
      tests:
        all_of:
          - entic_subgroup_usda: {}
    - code: "FFAC"
      name: "Leptic Dystruderts"
      tests:
        all_of:
          - leptic_vertic_usda: {}
    - code: "FFAF"
      name: "Chromic Dystruderts"
      tests:
        all_of:
          - chromic_subgroup_usda: {}
    - code: "FFAG"
      name: "Typic Dystruderts"
      tests:
        default: true

  "FFB":  # Hapluderts (4)
    - code: "FFBA"
      name: "Aquic Hapluderts"
      tests:
        all_of:
          - aquic_subgroup_usda: {}
    - code: "FFBB"
      name: "Calcic Hapluderts"
      tests:
        all_of:
          - calcic_subgroup_usda: {}
    - code: "FFBC"
      name: "Lithic Hapluderts"
      tests:
        all_of:
          - lithic_contact_usda: { max_top_cm: 50 }
    - code: "FFBE"
      name: "Oxyaquic Hapluderts"
      tests:
        all_of:
          - oxyaquic_subgroup_usda: {}
    - code: "FFBF"
      name: "Entic Hapluderts"
      tests:
        all_of:
          - entic_subgroup_usda: {}
    - code: "FFBD"
      name: "Leptic Hapluderts"
      tests:
        all_of:
          - leptic_vertic_usda: {}
    - code: "FFBG"
      name: "Chromic Hapluderts"
      tests:
        all_of:
          - chromic_subgroup_usda: {}
    - code: "FFBH"
      name: "Typic Hapluderts"
      tests:
        default: true
