Module of filters used for processing columns and pfts of particular types, including lake, non-lake, urban, soil, snow, non-snow, and naturally-vegetated patches.
USES:
use shr_kind_mod, only: r8 => shr_kind_r8 use abortutils, only : endrun use clm_varctl, only : iulogPUBLIC TYPES:
implicit none save private type clumpfilter #if (defined CNDV) integer, pointer :: natvegp(:) ! CNDV nat-vegetated (present) filter (pfts) integer :: num_natvegp ! number of pfts in nat-vegetated filter #endif integer, pointer :: pcropp(:) ! prognostic crop filter (pfts) integer :: num_pcropp ! number of pfts in prognostic crop filter integer, pointer :: soilnopcropp(:) ! soil w/o prog. crops (pfts) integer :: num_soilnopcropp ! number of pfts in soil w/o prog crops integer, pointer :: lakep(:) ! lake filter (pfts) integer :: num_lakep ! number of pfts in lake filter integer, pointer :: nolakep(:) ! non-lake filter (pfts) integer :: num_nolakep ! number of pfts in non-lake filter integer, pointer :: lakec(:) ! lake filter (columns) integer :: num_lakec ! number of columns in lake filter integer, pointer :: nolakec(:) ! non-lake filter (columns) integer :: num_nolakec ! number of columns in non-lake filter integer, pointer :: soilc(:) ! soil filter (columns) integer :: num_soilc ! number of columns in soil filter integer, pointer :: soilp(:) ! soil filter (pfts) integer :: num_soilp ! number of pfts in soil filter integer, pointer :: snowc(:) ! snow filter (columns) integer :: num_snowc ! number of columns in snow filter integer, pointer :: nosnowc(:) ! non-snow filter (columns) integer :: num_nosnowc ! number of columns in non-snow filter integer, pointer :: hydrologyc(:) ! hydrology filter (columns) integer :: num_hydrologyc ! number of columns in hydrology filter integer, pointer :: urbanl(:) ! urban filter (landunits) integer :: num_urbanl ! number of landunits in urban filter integer, pointer :: nourbanl(:) ! non-urban filter (landunits) integer :: num_nourbanl ! number of landunits in non-urban filter integer, pointer :: urbanc(:) ! urban filter (columns) integer :: num_urbanc ! number of columns in urban filter integer, pointer :: nourbanc(:) ! non-urban filter (columns) integer :: num_nourbanc ! number of columns in non-urban filter integer, pointer :: urbanp(:) ! urban filter (pfts) integer :: num_urbanp ! number of pfts in urban filter integer, pointer :: nourbanp(:) ! non-urban filter (pfts) integer :: num_nourbanp ! number of pfts in non-urban filter integer, pointer :: nolakeurbanp(:) ! non-lake, non-urban filter (pfts) integer :: num_nolakeurbanp ! number of pfts in non-lake, non-urban filter end type clumpfilter public clumpfilter type(clumpfilter), allocatable, public :: filter(:) public allocFilters ! allocate memory for filters public setFilters ! set filtersREVISION HISTORY:
Created by Mariana Vertenstein 11/13/03, Peter Thornton: Added soilp and num_soilp Jan/08, S. Levis: Added crop-related filters