//---------------------------------------------------------------------

        private void RemoveCohort(int index,
                                  ICohort cohort,
                                  ActiveSite site,
                                  ExtensionType disturbanceType)
        {
            if (isDebugEnabled)
            {
                log.DebugFormat("  cohort removed: {0}, {1} yrs, {2} Mg/ha ({3})",
                                cohort.Species.Name, cohort.Age, cohort.Biomass,
                                disturbanceType != null
                                    ? disturbanceType.Name
                                    : cohort.Age >= species.Longevity
                                        ? "senescence"
                                        : cohort.Biomass == 0
                                            ? "attrition"
                                            : "UNKNOWN");
            }

            cohortData.RemoveAt(index);
            Cohort.Died(this, cohort, site, disturbanceType);
        }