# =============================================================================
#
# Author:	Kjell Swedin
# Purpose:	Mechanical remove disturbance
#
# =============================================================================
import sys
import libfbrw
import fbrw
import special_processing as sp

scale_these = {
    fbrw.SEVERITY[0]: {
        fbrw.TIMESTEP[0]: [
            (libfbrw.FBTypes.eCANOPY_TREES_TOTAL_PERCENT_COVER,0.850,""),
            (libfbrw.FBTypes.eCANOPY_TREES_OVERSTORY_DIAMETER_AT_BREAST_HEIGHT,1.100,""),
            (libfbrw.FBTypes.eCANOPY_TREES_OVERSTORY_HEIGHT_TO_LIVE_CROWN,1.250,""),
            (libfbrw.FBTypes.eCANOPY_TREES_OVERSTORY_PERCENT_COVER,0.750,""),
            (libfbrw.FBTypes.eCANOPY_TREES_OVERSTORY_STEM_DENSITY,0.750,""),
            (libfbrw.FBTypes.eCANOPY_TREES_MIDSTORY_DIAMETER_AT_BREAST_HEIGHT,1.100,""),
            (libfbrw.FBTypes.eCANOPY_TREES_MIDSTORY_HEIGHT_TO_LIVE_CROWN,1.250,""),
            (libfbrw.FBTypes.eCANOPY_TREES_MIDSTORY_PERCENT_COVER,0.750,""),
            (libfbrw.FBTypes.eCANOPY_TREES_MIDSTORY_STEM_DENSITY,0.750,""),
            (libfbrw.FBTypes.eCANOPY_TREES_UNDERSTORY_PERCENT_COVER,0.250,""),
            (libfbrw.FBTypes.eCANOPY_TREES_UNDERSTORY_STEM_DENSITY,0.250,""),
            (libfbrw.FBTypes.eSHRUBS_PRIMARY_LAYER_PERCENT_COVER,0.750,""),
            (libfbrw.FBTypes.eSHRUBS_PRIMARY_LAYER_PERCENT_LIVE,0.500,""),
            (libfbrw.FBTypes.eSHRUBS_SECONDARY_LAYER_PERCENT_COVER,0.750,""),
            (libfbrw.FBTypes.eSHRUBS_SECONDARY_LAYER_PERCENT_LIVE,0.500,""),
            (libfbrw.FBTypes.eHERBACEOUS_PRIMARY_LAYER_LOADING,0.750,""),
            (libfbrw.FBTypes.eHERBACEOUS_PRIMARY_LAYER_PERCENT_COVER,0.750,""),
            (libfbrw.FBTypes.eHERBACEOUS_PRIMARY_LAYER_PERCENT_LIVE,0.750,""),
            (libfbrw.FBTypes.eHERBACEOUS_SECONDARY_LAYER_LOADING,0.750,""),
            (libfbrw.FBTypes.eHERBACEOUS_SECONDARY_LAYER_PERCENT_COVER,0.750,""),
            (libfbrw.FBTypes.eHERBACEOUS_SECONDARY_LAYER_PERCENT_LIVE,0.750,""),
            (libfbrw.FBTypes.eWOODY_FUEL_ALL_DOWNED_WOODY_FUEL_DEPTH,0.750,""),
            (libfbrw.FBTypes.eWOODY_FUEL_ALL_DOWNED_WOODY_FUEL_TOTAL_PERCENT_COVER,0.750,""),
            (libfbrw.FBTypes.eWOODY_FUEL_SOUND_WOOD_LOADINGS_ZERO_TO_THREE_INCHES_ONE_TO_THREE_INCHES,0.750,""),
            (libfbrw.FBTypes.eWOODY_FUEL_SOUND_WOOD_LOADINGS_ZERO_TO_THREE_INCHES_QUARTER_INCH_TO_ONE_INCH,0.750,""),
            (libfbrw.FBTypes.eWOODY_FUEL_SOUND_WOOD_LOADINGS_ZERO_TO_THREE_INCHES_ZERO_TO_QUARTER_INCH,0.750,""),
            (libfbrw.FBTypes.eWOODY_FUEL_SOUND_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_THREE_TO_NINE_INCHES,0.900,""),
            (libfbrw.FBTypes.eWOODY_FUEL_SOUND_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_NINE_TO_TWENTY_INCHES,0.900,""),
            (libfbrw.FBTypes.eWOODY_FUEL_SOUND_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_GREATER_THAN_TWENTY_INCHES,0.900,""),
            (libfbrw.FBTypes.eWOODY_FUEL_ROTTEN_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_THREE_TO_NINE_INCHES,0.900,""),
            (libfbrw.FBTypes.eWOODY_FUEL_ROTTEN_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_NINE_TO_TWENTY_INCHES,0.900,""),
            (libfbrw.FBTypes.eWOODY_FUEL_ROTTEN_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_GREATER_THAN_TWENTY_INCHES,0.900,""),
            (libfbrw.FBTypes.eWOODY_FUEL_PILES_CLEAN_LOADING,0.750,""),
            (libfbrw.FBTypes.eWOODY_FUEL_PILES_DIRTY_LOADING,0.750,""),
            (libfbrw.FBTypes.eWOODY_FUEL_PILES_VERYDIRTY_LOADING,0.750,""),
            (libfbrw.FBTypes.eMOSS_LICHEN_LITTER_GROUND_LICHEN_DEPTH,0.750,""),
            (libfbrw.FBTypes.eMOSS_LICHEN_LITTER_GROUND_LICHEN_PERCENT_COVER,0.750,""),
            (libfbrw.FBTypes.eMOSS_LICHEN_LITTER_LITTER_DEPTH,0.750,""),
            (libfbrw.FBTypes.eMOSS_LICHEN_LITTER_LITTER_PERCENT_COVER,0.750,""),
            (libfbrw.FBTypes.eMOSS_LICHEN_LITTER_MOSS_DEPTH,0.750,""),
            (libfbrw.FBTypes.eMOSS_LICHEN_LITTER_MOSS_PERCENT_COVER,0.750,""),
            (libfbrw.FBTypes.eGROUND_FUEL_DUFF_LOWER_DEPTH,0.750,""),
            (libfbrw.FBTypes.eGROUND_FUEL_DUFF_LOWER_PERCENT_COVER,0.750,""),
            (libfbrw.FBTypes.eGROUND_FUEL_DUFF_UPPER_DEPTH,0.750,""),
            (libfbrw.FBTypes.eGROUND_FUEL_DUFF_UPPER_PERCENT_COVER,0.750,""),
            (libfbrw.FBTypes.eGROUND_FUEL_BASAL_ACCUMULATION_DEPTH,0.750,""),
            (libfbrw.FBTypes.eGROUND_FUEL_BASAL_ACCUMULATION_NUMBER_PER_UNIT_AREA,0.750,""),
            (libfbrw.FBTypes.eGROUND_FUEL_SQUIRREL_MIDDENS_DEPTH,0.750,""),
            (libfbrw.FBTypes.eGROUND_FUEL_SQUIRREL_MIDDENS_NUMBER_PER_UNIT_AREA,0.750,""),
        ],
        fbrw.TIMESTEP[1]: [
            (libfbrw.FBTypes.eSHRUBS_PRIMARY_LAYER_PERCENT_COVER,1.250,""),
            (libfbrw.FBTypes.eSHRUBS_PRIMARY_LAYER_PERCENT_LIVE,2.000,""),
            (libfbrw.FBTypes.eSHRUBS_SECONDARY_LAYER_PERCENT_COVER,1.250,""),
            (libfbrw.FBTypes.eSHRUBS_SECONDARY_LAYER_PERCENT_LIVE,2.000,""),
            (libfbrw.FBTypes.eHERBACEOUS_PRIMARY_LAYER_LOADING,1.500,""),
            (libfbrw.FBTypes.eHERBACEOUS_PRIMARY_LAYER_PERCENT_COVER,1.500,""),
            (libfbrw.FBTypes.eHERBACEOUS_PRIMARY_LAYER_PERCENT_LIVE,1.333,""),
            (libfbrw.FBTypes.eHERBACEOUS_SECONDARY_LAYER_LOADING,1.500,""),
            (libfbrw.FBTypes.eHERBACEOUS_SECONDARY_LAYER_PERCENT_COVER,1.500,""),
            (libfbrw.FBTypes.eHERBACEOUS_SECONDARY_LAYER_PERCENT_LIVE,1.333,""),
            (libfbrw.FBTypes.eWOODY_FUEL_SOUND_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_THREE_TO_NINE_INCHES,0.750,""),
            (libfbrw.FBTypes.eWOODY_FUEL_SOUND_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_NINE_TO_TWENTY_INCHES,0.750,""),
            (libfbrw.FBTypes.eWOODY_FUEL_SOUND_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_GREATER_THAN_TWENTY_INCHES,0.750,""),
            (libfbrw.FBTypes.eMOSS_LICHEN_LITTER_LITTER_DEPTH,1.333,""),
            (libfbrw.FBTypes.eMOSS_LICHEN_LITTER_LITTER_PERCENT_COVER,1.333,""),
        ],
        fbrw.TIMESTEP[2]: [
            (libfbrw.FBTypes.eSHRUBS_PRIMARY_LAYER_PERCENT_COVER,1.067,""),
            (libfbrw.FBTypes.eSHRUBS_SECONDARY_LAYER_PERCENT_COVER,1.067,""),
            (libfbrw.FBTypes.eHERBACEOUS_PRIMARY_LAYER_LOADING,0.889,""),
            (libfbrw.FBTypes.eHERBACEOUS_PRIMARY_LAYER_PERCENT_COVER,0.889,""),
            (libfbrw.FBTypes.eHERBACEOUS_SECONDARY_LAYER_LOADING,0.889,""),
            (libfbrw.FBTypes.eHERBACEOUS_SECONDARY_LAYER_PERCENT_COVER,0.889,""),
            (libfbrw.FBTypes.eWOODY_FUEL_ALL_DOWNED_WOODY_FUEL_DEPTH,1.333,""),
            (libfbrw.FBTypes.eWOODY_FUEL_ALL_DOWNED_WOODY_FUEL_TOTAL_PERCENT_COVER,1.333,""),
            (libfbrw.FBTypes.eWOODY_FUEL_SOUND_WOOD_LOADINGS_ZERO_TO_THREE_INCHES_ONE_TO_THREE_INCHES,1.333,""),
            (libfbrw.FBTypes.eWOODY_FUEL_SOUND_WOOD_LOADINGS_ZERO_TO_THREE_INCHES_QUARTER_INCH_TO_ONE_INCH,1.333,""),
            (libfbrw.FBTypes.eWOODY_FUEL_SOUND_WOOD_LOADINGS_ZERO_TO_THREE_INCHES_ZERO_TO_QUARTER_INCH,1.333,""),
            (libfbrw.FBTypes.eWOODY_FUEL_SOUND_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_THREE_TO_NINE_INCHES,0.500,""),
            (libfbrw.FBTypes.eWOODY_FUEL_SOUND_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_NINE_TO_TWENTY_INCHES,0.500,""),
            (libfbrw.FBTypes.eWOODY_FUEL_SOUND_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_GREATER_THAN_TWENTY_INCHES,0.500,""),
            (libfbrw.FBTypes.eMOSS_LICHEN_LITTER_GROUND_LICHEN_DEPTH,1.333,""),
            (libfbrw.FBTypes.eMOSS_LICHEN_LITTER_GROUND_LICHEN_PERCENT_COVER,1.333,""),
            (libfbrw.FBTypes.eMOSS_LICHEN_LITTER_MOSS_DEPTH,1.333,""),
            (libfbrw.FBTypes.eMOSS_LICHEN_LITTER_MOSS_PERCENT_COVER,1.333,""),
        ],
    },
    fbrw.SEVERITY[1]: {
        fbrw.TIMESTEP[0]: [
            (libfbrw.FBTypes.eCANOPY_TREES_TOTAL_PERCENT_COVER,0.670,""),
            (libfbrw.FBTypes.eCANOPY_TREES_OVERSTORY_DIAMETER_AT_BREAST_HEIGHT,1.250,""),
            (libfbrw.FBTypes.eCANOPY_TREES_OVERSTORY_HEIGHT_TO_LIVE_CROWN,1.500,""),
            (libfbrw.FBTypes.eCANOPY_TREES_OVERSTORY_PERCENT_COVER,0.500,""),
            (libfbrw.FBTypes.eCANOPY_TREES_OVERSTORY_STEM_DENSITY,0.500,""),
            (libfbrw.FBTypes.eCANOPY_TREES_MIDSTORY_DIAMETER_AT_BREAST_HEIGHT,1.250,""),
            (libfbrw.FBTypes.eCANOPY_TREES_MIDSTORY_HEIGHT_TO_LIVE_CROWN,1.500,""),
            (libfbrw.FBTypes.eCANOPY_TREES_MIDSTORY_PERCENT_COVER,0.500,""),
            (libfbrw.FBTypes.eCANOPY_TREES_MIDSTORY_STEM_DENSITY,0.500,""),
            (libfbrw.FBTypes.eSHRUBS_PRIMARY_LAYER_PERCENT_COVER,0.500,""),
            (libfbrw.FBTypes.eSHRUBS_PRIMARY_LAYER_PERCENT_LIVE,0.250,""),
            (libfbrw.FBTypes.eSHRUBS_SECONDARY_LAYER_PERCENT_COVER,0.500,""),
            (libfbrw.FBTypes.eSHRUBS_SECONDARY_LAYER_PERCENT_LIVE,0.250,""),
            (libfbrw.FBTypes.eHERBACEOUS_PRIMARY_LAYER_LOADING,0.500,""),
            (libfbrw.FBTypes.eHERBACEOUS_PRIMARY_LAYER_PERCENT_COVER,0.500,""),
            (libfbrw.FBTypes.eHERBACEOUS_PRIMARY_LAYER_PERCENT_LIVE,0.500,""),
            (libfbrw.FBTypes.eHERBACEOUS_SECONDARY_LAYER_LOADING,0.500,""),
            (libfbrw.FBTypes.eHERBACEOUS_SECONDARY_LAYER_PERCENT_COVER,0.500,""),
            (libfbrw.FBTypes.eHERBACEOUS_SECONDARY_LAYER_PERCENT_LIVE,0.500,""),
            (libfbrw.FBTypes.eWOODY_FUEL_ALL_DOWNED_WOODY_FUEL_DEPTH,0.500,""),
            (libfbrw.FBTypes.eWOODY_FUEL_ALL_DOWNED_WOODY_FUEL_TOTAL_PERCENT_COVER,0.500,""),
            (libfbrw.FBTypes.eWOODY_FUEL_SOUND_WOOD_LOADINGS_ZERO_TO_THREE_INCHES_ONE_TO_THREE_INCHES,0.500,""),
            (libfbrw.FBTypes.eWOODY_FUEL_SOUND_WOOD_LOADINGS_ZERO_TO_THREE_INCHES_QUARTER_INCH_TO_ONE_INCH,0.500,""),
            (libfbrw.FBTypes.eWOODY_FUEL_SOUND_WOOD_LOADINGS_ZERO_TO_THREE_INCHES_ZERO_TO_QUARTER_INCH,0.500,""),
            (libfbrw.FBTypes.eWOODY_FUEL_SOUND_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_THREE_TO_NINE_INCHES,0.800,""),
            (libfbrw.FBTypes.eWOODY_FUEL_SOUND_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_NINE_TO_TWENTY_INCHES,0.800,""),
            (libfbrw.FBTypes.eWOODY_FUEL_SOUND_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_GREATER_THAN_TWENTY_INCHES,0.800,""),
            (libfbrw.FBTypes.eWOODY_FUEL_ROTTEN_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_THREE_TO_NINE_INCHES,0.800,""),
            (libfbrw.FBTypes.eWOODY_FUEL_ROTTEN_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_NINE_TO_TWENTY_INCHES,0.800,""),
            (libfbrw.FBTypes.eWOODY_FUEL_ROTTEN_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_GREATER_THAN_TWENTY_INCHES,0.800,""),
            (libfbrw.FBTypes.eWOODY_FUEL_PILES_CLEAN_LOADING,0.500,""),
            (libfbrw.FBTypes.eWOODY_FUEL_PILES_DIRTY_LOADING,0.500,""),
            (libfbrw.FBTypes.eWOODY_FUEL_PILES_VERYDIRTY_LOADING,0.500,""),
            (libfbrw.FBTypes.eMOSS_LICHEN_LITTER_GROUND_LICHEN_DEPTH,0.500,""),
            (libfbrw.FBTypes.eMOSS_LICHEN_LITTER_GROUND_LICHEN_PERCENT_COVER,0.500,""),
            (libfbrw.FBTypes.eMOSS_LICHEN_LITTER_LITTER_DEPTH,0.500,""),
            (libfbrw.FBTypes.eMOSS_LICHEN_LITTER_LITTER_PERCENT_COVER,0.500,""),
            (libfbrw.FBTypes.eMOSS_LICHEN_LITTER_MOSS_DEPTH,0.500,""),
            (libfbrw.FBTypes.eMOSS_LICHEN_LITTER_MOSS_PERCENT_COVER,0.500,""),
            (libfbrw.FBTypes.eGROUND_FUEL_DUFF_LOWER_DEPTH,0.500,""),
            (libfbrw.FBTypes.eGROUND_FUEL_DUFF_LOWER_PERCENT_COVER,0.500,""),
            (libfbrw.FBTypes.eGROUND_FUEL_DUFF_UPPER_DEPTH,0.500,""),
            (libfbrw.FBTypes.eGROUND_FUEL_DUFF_UPPER_PERCENT_COVER,0.500,""),
            (libfbrw.FBTypes.eGROUND_FUEL_BASAL_ACCUMULATION_DEPTH,0.500,""),
            (libfbrw.FBTypes.eGROUND_FUEL_BASAL_ACCUMULATION_NUMBER_PER_UNIT_AREA,0.500,""),
            (libfbrw.FBTypes.eGROUND_FUEL_SQUIRREL_MIDDENS_DEPTH,0.500,""),
            (libfbrw.FBTypes.eGROUND_FUEL_SQUIRREL_MIDDENS_NUMBER_PER_UNIT_AREA,0.500,""),
        ],
        fbrw.TIMESTEP[1]: [
            (libfbrw.FBTypes.eSHRUBS_PRIMARY_LAYER_PERCENT_COVER,1.500,""),
            (libfbrw.FBTypes.eSHRUBS_PRIMARY_LAYER_PERCENT_LIVE,4.000,""),
            (libfbrw.FBTypes.eSHRUBS_SECONDARY_LAYER_PERCENT_COVER,1.500,""),
            (libfbrw.FBTypes.eSHRUBS_SECONDARY_LAYER_PERCENT_LIVE,4.000,""),
            (libfbrw.FBTypes.eHERBACEOUS_PRIMARY_LAYER_LOADING,1.500,""),
            (libfbrw.FBTypes.eHERBACEOUS_PRIMARY_LAYER_PERCENT_COVER,1.500,""),
            (libfbrw.FBTypes.eHERBACEOUS_PRIMARY_LAYER_PERCENT_LIVE,2.000,""),
            (libfbrw.FBTypes.eHERBACEOUS_SECONDARY_LAYER_LOADING,1.500,""),
            (libfbrw.FBTypes.eHERBACEOUS_SECONDARY_LAYER_PERCENT_COVER,1.500,""),
            (libfbrw.FBTypes.eHERBACEOUS_SECONDARY_LAYER_PERCENT_LIVE,2.000,""),
            (libfbrw.FBTypes.eWOODY_FUEL_SOUND_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_THREE_TO_NINE_INCHES,0.750,""),
            (libfbrw.FBTypes.eWOODY_FUEL_SOUND_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_NINE_TO_TWENTY_INCHES,0.750,""),
            (libfbrw.FBTypes.eWOODY_FUEL_SOUND_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_GREATER_THAN_TWENTY_INCHES,0.750,""),
            (libfbrw.FBTypes.eMOSS_LICHEN_LITTER_LITTER_DEPTH,2.000,""),
            (libfbrw.FBTypes.eMOSS_LICHEN_LITTER_LITTER_PERCENT_COVER,2.000,""),
        ],
        fbrw.TIMESTEP[2]: [
            (libfbrw.FBTypes.eSHRUBS_PRIMARY_LAYER_PERCENT_COVER,1.333,""),
            (libfbrw.FBTypes.eSHRUBS_SECONDARY_LAYER_PERCENT_COVER,1.333,""),
            (libfbrw.FBTypes.eHERBACEOUS_PRIMARY_LAYER_LOADING,1.333,""),
            (libfbrw.FBTypes.eHERBACEOUS_PRIMARY_LAYER_PERCENT_COVER,1.333,""),
            (libfbrw.FBTypes.eHERBACEOUS_SECONDARY_LAYER_LOADING,1.333,""),
            (libfbrw.FBTypes.eHERBACEOUS_SECONDARY_LAYER_PERCENT_COVER,1.333,""),
            (libfbrw.FBTypes.eWOODY_FUEL_ALL_DOWNED_WOODY_FUEL_DEPTH,0.660,""),
            (libfbrw.FBTypes.eWOODY_FUEL_ALL_DOWNED_WOODY_FUEL_TOTAL_PERCENT_COVER,0.660,""),
            (libfbrw.FBTypes.eWOODY_FUEL_SOUND_WOOD_LOADINGS_ZERO_TO_THREE_INCHES_ZERO_TO_QUARTER_INCH,0.660,""),
            (libfbrw.FBTypes.eWOODY_FUEL_SOUND_WOOD_LOADINGS_ZERO_TO_THREE_INCHES_QUARTER_INCH_TO_ONE_INCH,0.660,""),
            (libfbrw.FBTypes.eWOODY_FUEL_SOUND_WOOD_LOADINGS_ZERO_TO_THREE_INCHES_ONE_TO_THREE_INCHES,0.660,""),
            (libfbrw.FBTypes.eWOODY_FUEL_SOUND_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_THREE_TO_NINE_INCHES,0.500,""),
            (libfbrw.FBTypes.eWOODY_FUEL_SOUND_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_NINE_TO_TWENTY_INCHES,0.500,""),
            (libfbrw.FBTypes.eWOODY_FUEL_SOUND_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_GREATER_THAN_TWENTY_INCHES,0.500,""),
            (libfbrw.FBTypes.eMOSS_LICHEN_LITTER_GROUND_LICHEN_DEPTH,2.000,""),
            (libfbrw.FBTypes.eMOSS_LICHEN_LITTER_GROUND_LICHEN_PERCENT_COVER,2.000,""),
            (libfbrw.FBTypes.eMOSS_LICHEN_LITTER_MOSS_DEPTH,2.000,""),
            (libfbrw.FBTypes.eMOSS_LICHEN_LITTER_MOSS_PERCENT_COVER,2.000,""),
        ],
    },
    fbrw.SEVERITY[2]: {
        fbrw.TIMESTEP[0]: [
            (libfbrw.FBTypes.eCANOPY_TREES_TOTAL_PERCENT_COVER,0.330,""),
            (libfbrw.FBTypes.eCANOPY_TREES_OVERSTORY_DIAMETER_AT_BREAST_HEIGHT,1.250,""),
            (libfbrw.FBTypes.eCANOPY_TREES_OVERSTORY_HEIGHT_TO_LIVE_CROWN,1.500,""),
            (libfbrw.FBTypes.eCANOPY_TREES_OVERSTORY_PERCENT_COVER,0.250,""),
            (libfbrw.FBTypes.eCANOPY_TREES_OVERSTORY_STEM_DENSITY,0.250,""),
            (libfbrw.FBTypes.eCANOPY_TREES_MIDSTORY_DIAMETER_AT_BREAST_HEIGHT,1.250,""),
            (libfbrw.FBTypes.eCANOPY_TREES_MIDSTORY_HEIGHT_TO_LIVE_CROWN,1.500,""),
            (libfbrw.FBTypes.eCANOPY_TREES_MIDSTORY_PERCENT_COVER,0.250,""),
            (libfbrw.FBTypes.eCANOPY_TREES_MIDSTORY_STEM_DENSITY,0.250,""),
            (libfbrw.FBTypes.eSHRUBS_PRIMARY_LAYER_PERCENT_COVER,0.250,""),
            (libfbrw.FBTypes.eSHRUBS_PRIMARY_LAYER_PERCENT_LIVE,0.100,""),
            (libfbrw.FBTypes.eSHRUBS_SECONDARY_LAYER_PERCENT_COVER,0.250,""),
            (libfbrw.FBTypes.eSHRUBS_SECONDARY_LAYER_PERCENT_LIVE,0.100,""),
            (libfbrw.FBTypes.eHERBACEOUS_PRIMARY_LAYER_LOADING,0.250,""),
            (libfbrw.FBTypes.eHERBACEOUS_PRIMARY_LAYER_PERCENT_COVER,0.250,""),
            (libfbrw.FBTypes.eHERBACEOUS_PRIMARY_LAYER_PERCENT_LIVE,0.250,""),
            (libfbrw.FBTypes.eHERBACEOUS_SECONDARY_LAYER_LOADING,0.250,""),
            (libfbrw.FBTypes.eHERBACEOUS_SECONDARY_LAYER_PERCENT_COVER,0.250,""),
            (libfbrw.FBTypes.eHERBACEOUS_SECONDARY_LAYER_PERCENT_LIVE,0.250,""),
            (libfbrw.FBTypes.eWOODY_FUEL_ALL_DOWNED_WOODY_FUEL_DEPTH,0.250,""),
            (libfbrw.FBTypes.eWOODY_FUEL_ALL_DOWNED_WOODY_FUEL_TOTAL_PERCENT_COVER,0.250,""),
            (libfbrw.FBTypes.eWOODY_FUEL_SOUND_WOOD_LOADINGS_ZERO_TO_THREE_INCHES_ONE_TO_THREE_INCHES,0.250,""),
            (libfbrw.FBTypes.eWOODY_FUEL_SOUND_WOOD_LOADINGS_ZERO_TO_THREE_INCHES_QUARTER_INCH_TO_ONE_INCH,0.250,""),
            (libfbrw.FBTypes.eWOODY_FUEL_SOUND_WOOD_LOADINGS_ZERO_TO_THREE_INCHES_ZERO_TO_QUARTER_INCH,0.250,""),
            (libfbrw.FBTypes.eWOODY_FUEL_SOUND_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_THREE_TO_NINE_INCHES,0.550,""),
            (libfbrw.FBTypes.eWOODY_FUEL_SOUND_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_NINE_TO_TWENTY_INCHES,0.550,""),
            (libfbrw.FBTypes.eWOODY_FUEL_SOUND_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_GREATER_THAN_TWENTY_INCHES,0.550,""),
            (libfbrw.FBTypes.eWOODY_FUEL_ROTTEN_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_THREE_TO_NINE_INCHES,0.550,""),
            (libfbrw.FBTypes.eWOODY_FUEL_ROTTEN_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_NINE_TO_TWENTY_INCHES,0.550,""),
            (libfbrw.FBTypes.eWOODY_FUEL_ROTTEN_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_GREATER_THAN_TWENTY_INCHES,0.550,""),
            (libfbrw.FBTypes.eWOODY_FUEL_PILES_CLEAN_LOADING,0.250,""),
            (libfbrw.FBTypes.eWOODY_FUEL_PILES_DIRTY_LOADING,0.250,""),
            (libfbrw.FBTypes.eWOODY_FUEL_PILES_VERYDIRTY_LOADING,0.250,""),
            (libfbrw.FBTypes.eMOSS_LICHEN_LITTER_GROUND_LICHEN_DEPTH,0.250,""),
            (libfbrw.FBTypes.eMOSS_LICHEN_LITTER_GROUND_LICHEN_PERCENT_COVER,0.250,""),
            (libfbrw.FBTypes.eMOSS_LICHEN_LITTER_LITTER_DEPTH,0.250,""),
            (libfbrw.FBTypes.eMOSS_LICHEN_LITTER_LITTER_PERCENT_COVER,0.250,""),
            (libfbrw.FBTypes.eMOSS_LICHEN_LITTER_MOSS_DEPTH,0.250,""),
            (libfbrw.FBTypes.eMOSS_LICHEN_LITTER_MOSS_PERCENT_COVER,0.250,""),
            (libfbrw.FBTypes.eGROUND_FUEL_DUFF_LOWER_DEPTH,0.250,""),
            (libfbrw.FBTypes.eGROUND_FUEL_DUFF_LOWER_PERCENT_COVER,0.250,""),
            (libfbrw.FBTypes.eGROUND_FUEL_DUFF_UPPER_DEPTH,0.250,""),
            (libfbrw.FBTypes.eGROUND_FUEL_DUFF_UPPER_PERCENT_COVER,0.250,""),
            (libfbrw.FBTypes.eGROUND_FUEL_BASAL_ACCUMULATION_DEPTH,0.250,""),
            (libfbrw.FBTypes.eGROUND_FUEL_BASAL_ACCUMULATION_NUMBER_PER_UNIT_AREA,0.250,""),
            (libfbrw.FBTypes.eGROUND_FUEL_SQUIRREL_MIDDENS_DEPTH,0.250,""),
            (libfbrw.FBTypes.eGROUND_FUEL_SQUIRREL_MIDDENS_NUMBER_PER_UNIT_AREA,0.250,""),
        ],
        fbrw.TIMESTEP[1]: [
            (libfbrw.FBTypes.eSHRUBS_PRIMARY_LAYER_PERCENT_COVER,1.500,""),
            (libfbrw.FBTypes.eSHRUBS_PRIMARY_LAYER_PERCENT_LIVE,10.000,""),
            (libfbrw.FBTypes.eSHRUBS_SECONDARY_LAYER_PERCENT_COVER,1.500,""),
            (libfbrw.FBTypes.eSHRUBS_SECONDARY_LAYER_PERCENT_LIVE,10.000,""),
            (libfbrw.FBTypes.eHERBACEOUS_PRIMARY_LAYER_LOADING,1.500,""),
            (libfbrw.FBTypes.eHERBACEOUS_PRIMARY_LAYER_PERCENT_COVER,1.500,""),
            (libfbrw.FBTypes.eHERBACEOUS_PRIMARY_LAYER_PERCENT_LIVE,4.000,""),
            (libfbrw.FBTypes.eHERBACEOUS_SECONDARY_LAYER_LOADING,1.500,""),
            (libfbrw.FBTypes.eHERBACEOUS_SECONDARY_LAYER_PERCENT_COVER,1.500,""),
            (libfbrw.FBTypes.eHERBACEOUS_SECONDARY_LAYER_PERCENT_LIVE,4.000,""),
            (libfbrw.FBTypes.eWOODY_FUEL_SOUND_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_THREE_TO_NINE_INCHES,0.750,""),
            (libfbrw.FBTypes.eWOODY_FUEL_SOUND_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_NINE_TO_TWENTY_INCHES,0.750,""),
            (libfbrw.FBTypes.eWOODY_FUEL_SOUND_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_GREATER_THAN_TWENTY_INCHES,0.750,""),
            (libfbrw.FBTypes.eMOSS_LICHEN_LITTER_LITTER_DEPTH,4.000,""),
            (libfbrw.FBTypes.eMOSS_LICHEN_LITTER_LITTER_PERCENT_COVER,4.000,""),
        ],
        fbrw.TIMESTEP[2]: [
            (libfbrw.FBTypes.eSHRUBS_PRIMARY_LAYER_PERCENT_COVER,2.667,""),
            (libfbrw.FBTypes.eSHRUBS_SECONDARY_LAYER_PERCENT_COVER,2.667,""),
            (libfbrw.FBTypes.eHERBACEOUS_PRIMARY_LAYER_LOADING,2.667,""),
            (libfbrw.FBTypes.eHERBACEOUS_PRIMARY_LAYER_PERCENT_COVER,2.667,""),
            (libfbrw.FBTypes.eHERBACEOUS_SECONDARY_LAYER_LOADING,2.667,""),
            (libfbrw.FBTypes.eHERBACEOUS_SECONDARY_LAYER_PERCENT_COVER,2.667,""),
            (libfbrw.FBTypes.eWOODY_FUEL_ALL_DOWNED_WOODY_FUEL_DEPTH,1.320,""),
            (libfbrw.FBTypes.eWOODY_FUEL_ALL_DOWNED_WOODY_FUEL_TOTAL_PERCENT_COVER,1.320,""),
            (libfbrw.FBTypes.eWOODY_FUEL_SOUND_WOOD_LOADINGS_ZERO_TO_THREE_INCHES_ZERO_TO_QUARTER_INCH,1.320,""),
            (libfbrw.FBTypes.eWOODY_FUEL_SOUND_WOOD_LOADINGS_ZERO_TO_THREE_INCHES_QUARTER_INCH_TO_ONE_INCH,1.320,""),
            (libfbrw.FBTypes.eWOODY_FUEL_SOUND_WOOD_LOADINGS_ZERO_TO_THREE_INCHES_ONE_TO_THREE_INCHES,1.320,""),
            (libfbrw.FBTypes.eWOODY_FUEL_SOUND_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_THREE_TO_NINE_INCHES,0.500,""),
            (libfbrw.FBTypes.eWOODY_FUEL_SOUND_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_NINE_TO_TWENTY_INCHES,0.500,""),
            (libfbrw.FBTypes.eWOODY_FUEL_SOUND_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_GREATER_THAN_TWENTY_INCHES,0.500,""),
            (libfbrw.FBTypes.eMOSS_LICHEN_LITTER_GROUND_LICHEN_DEPTH,4.000,""),
            (libfbrw.FBTypes.eMOSS_LICHEN_LITTER_GROUND_LICHEN_PERCENT_COVER,4.000,""),
            (libfbrw.FBTypes.eMOSS_LICHEN_LITTER_MOSS_DEPTH,4.000,""),
            (libfbrw.FBTypes.eMOSS_LICHEN_LITTER_MOSS_PERCENT_COVER,4.000,""),
        ],
    },
}
            
def placeholder(fb):
    pass
    
def remove_understory(fb):
    fb.SetNodeEmpty(libfbrw.FBNodeWithSpeciesType.eCANOPY_TREES_UNDERSTORY)
    
  
special_funcs = {
    fbrw.SEVERITY[0]: {
        fbrw.TIMESTEP[0]: [ (sp.add_stumps, 0.25, 0.25) ],
        fbrw.TIMESTEP[1]: [ (sp.process_sound_wood, 0.25)],
        fbrw.TIMESTEP[2]: [ (sp.sound_to_rotten_stumps,), (sp.process_sound_wood, 0.5)],
    },
    fbrw.SEVERITY[1]: {
        fbrw.TIMESTEP[0]: [ (sp.add_stumps, 0.5, 0.5), (remove_understory,) ],
        fbrw.TIMESTEP[1]: [ (sp.process_sound_wood, 0.25) ],
        fbrw.TIMESTEP[2]: [ (sp.sound_to_rotten_stumps,), (sp.process_sound_wood, 0.5)],
    },
    fbrw.SEVERITY[2]: {
        fbrw.TIMESTEP[0]: [ (sp.add_stumps, 0.75, 0.75), (remove_understory,) ],
        fbrw.TIMESTEP[1]: [ (sp.process_sound_wood, 0.25)],
        fbrw.TIMESTEP[2]: [ (sp.sound_to_rotten_stumps,), (sp.process_sound_wood, 0.5)],
    }
}
  
'''  
special_funcs = {
    fbrw.SEVERITY[0]: {
        fbrw.TIMESTEP[0]: [ (placeholder), ],
        fbrw.TIMESTEP[1]: [ (placeholder), (sp.process_sound_wood, 0.25)],
        fbrw.TIMESTEP[2]: [ (placeholder), (sp.process_sound_wood, 0.5)],
    },
    fbrw.SEVERITY[1]: {
        fbrw.TIMESTEP[0]: [ (placeholder), ],
        fbrw.TIMESTEP[1]: [ (placeholder), (sp.process_sound_wood, 0.25)],
        fbrw.TIMESTEP[2]: [ (placeholder), (sp.process_sound_wood, 0.5)],
    },
    fbrw.SEVERITY[2]: {
        fbrw.TIMESTEP[0]: [ (placeholder), ],
        fbrw.TIMESTEP[1]: [ (placeholder), (sp.process_sound_wood, 0.25)],
        fbrw.TIMESTEP[2]: [ (placeholder), (sp.process_sound_wood, 0.5)],
    }
}
'''
#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#   Required functions for a disturbance module
#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
def do_special(fb, severity, timestep):
    for item in special_funcs[severity][timestep]:
        func = item[0]
        if len(item) > 1:
            args = item[1:]
            func(fb, *args)
        else:
            func(fb)
        
def get_scaling_params(severity, timestep):
    return scale_these[severity][timestep]
        
        
de89c2e272a67e06dead10b97ee9510b52c4d24c
<mask token>


def remove_understory(fb):
    fb.SetNodeEmpty(libfbrw.FBNodeWithSpeciesType.eCANOPY_TREES_UNDERSTORY)


<mask token>


def do_special(fb, severity, timestep):
    for item in special_funcs[severity][timestep]:
        func = item[0]
        if len(item) > 1:
            args = item[1:]
            func(fb, *args)
        else:
            func(fb)


def get_scaling_params(severity, timestep):
    return scale_these[severity][timestep]

<mask token>


def placeholder(fb):
    pass


def remove_understory(fb):
    fb.SetNodeEmpty(libfbrw.FBNodeWithSpeciesType.eCANOPY_TREES_UNDERSTORY)


<mask token>


def do_special(fb, severity, timestep):
    for item in special_funcs[severity][timestep]:
        func = item[0]
        if len(item) > 1:
            args = item[1:]
            func(fb, *args)
        else:
            func(fb)


def get_scaling_params(severity, timestep):
    return scale_these[severity][timestep]

<mask token>
scale_these = {fbrw.SEVERITY[0]: {fbrw.TIMESTEP[0]: [(libfbrw.FBTypes.
    eCANOPY_TREES_TOTAL_PERCENT_COVER, 0.85, ''), (libfbrw.FBTypes.
    eCANOPY_TREES_OVERSTORY_DIAMETER_AT_BREAST_HEIGHT, 1.1, ''), (libfbrw.
    FBTypes.eCANOPY_TREES_OVERSTORY_HEIGHT_TO_LIVE_CROWN, 1.25, ''), (
    libfbrw.FBTypes.eCANOPY_TREES_OVERSTORY_PERCENT_COVER, 0.75, ''), (
    libfbrw.FBTypes.eCANOPY_TREES_OVERSTORY_STEM_DENSITY, 0.75, ''), (
    libfbrw.FBTypes.eCANOPY_TREES_MIDSTORY_DIAMETER_AT_BREAST_HEIGHT, 1.1,
    ''), (libfbrw.FBTypes.eCANOPY_TREES_MIDSTORY_HEIGHT_TO_LIVE_CROWN, 1.25,
    ''), (libfbrw.FBTypes.eCANOPY_TREES_MIDSTORY_PERCENT_COVER, 0.75, ''),
    (libfbrw.FBTypes.eCANOPY_TREES_MIDSTORY_STEM_DENSITY, 0.75, ''), (
    libfbrw.FBTypes.eCANOPY_TREES_UNDERSTORY_PERCENT_COVER, 0.25, ''), (
    libfbrw.FBTypes.eCANOPY_TREES_UNDERSTORY_STEM_DENSITY, 0.25, ''), (
    libfbrw.FBTypes.eSHRUBS_PRIMARY_LAYER_PERCENT_COVER, 0.75, ''), (
    libfbrw.FBTypes.eSHRUBS_PRIMARY_LAYER_PERCENT_LIVE, 0.5, ''), (libfbrw.
    FBTypes.eSHRUBS_SECONDARY_LAYER_PERCENT_COVER, 0.75, ''), (libfbrw.
    FBTypes.eSHRUBS_SECONDARY_LAYER_PERCENT_LIVE, 0.5, ''), (libfbrw.
    FBTypes.eHERBACEOUS_PRIMARY_LAYER_LOADING, 0.75, ''), (libfbrw.FBTypes.
    eHERBACEOUS_PRIMARY_LAYER_PERCENT_COVER, 0.75, ''), (libfbrw.FBTypes.
    eHERBACEOUS_PRIMARY_LAYER_PERCENT_LIVE, 0.75, ''), (libfbrw.FBTypes.
    eHERBACEOUS_SECONDARY_LAYER_LOADING, 0.75, ''), (libfbrw.FBTypes.
    eHERBACEOUS_SECONDARY_LAYER_PERCENT_COVER, 0.75, ''), (libfbrw.FBTypes.
    eHERBACEOUS_SECONDARY_LAYER_PERCENT_LIVE, 0.75, ''), (libfbrw.FBTypes.
    eWOODY_FUEL_ALL_DOWNED_WOODY_FUEL_DEPTH, 0.75, ''), (libfbrw.FBTypes.
    eWOODY_FUEL_ALL_DOWNED_WOODY_FUEL_TOTAL_PERCENT_COVER, 0.75, ''), (
    libfbrw.FBTypes.
    eWOODY_FUEL_SOUND_WOOD_LOADINGS_ZERO_TO_THREE_INCHES_ONE_TO_THREE_INCHES,
    0.75, ''), (libfbrw.FBTypes.
    eWOODY_FUEL_SOUND_WOOD_LOADINGS_ZERO_TO_THREE_INCHES_QUARTER_INCH_TO_ONE_INCH
    , 0.75, ''), (libfbrw.FBTypes.
    eWOODY_FUEL_SOUND_WOOD_LOADINGS_ZERO_TO_THREE_INCHES_ZERO_TO_QUARTER_INCH,
    0.75, ''), (libfbrw.FBTypes.
    eWOODY_FUEL_SOUND_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_THREE_TO_NINE_INCHES
    , 0.9, ''), (libfbrw.FBTypes.
    eWOODY_FUEL_SOUND_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_NINE_TO_TWENTY_INCHES
    , 0.9, ''), (libfbrw.FBTypes.
    eWOODY_FUEL_SOUND_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_GREATER_THAN_TWENTY_INCHES
    , 0.9, ''), (libfbrw.FBTypes.
    eWOODY_FUEL_ROTTEN_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_THREE_TO_NINE_INCHES
    , 0.9, ''), (libfbrw.FBTypes.
    eWOODY_FUEL_ROTTEN_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_NINE_TO_TWENTY_INCHES
    , 0.9, ''), (libfbrw.FBTypes.
    eWOODY_FUEL_ROTTEN_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_GREATER_THAN_TWENTY_INCHES
    , 0.9, ''), (libfbrw.FBTypes.eWOODY_FUEL_PILES_CLEAN_LOADING, 0.75, ''),
    (libfbrw.FBTypes.eWOODY_FUEL_PILES_DIRTY_LOADING, 0.75, ''), (libfbrw.
    FBTypes.eWOODY_FUEL_PILES_VERYDIRTY_LOADING, 0.75, ''), (libfbrw.
    FBTypes.eMOSS_LICHEN_LITTER_GROUND_LICHEN_DEPTH, 0.75, ''), (libfbrw.
    FBTypes.eMOSS_LICHEN_LITTER_GROUND_LICHEN_PERCENT_COVER, 0.75, ''), (
    libfbrw.FBTypes.eMOSS_LICHEN_LITTER_LITTER_DEPTH, 0.75, ''), (libfbrw.
    FBTypes.eMOSS_LICHEN_LITTER_LITTER_PERCENT_COVER, 0.75, ''), (libfbrw.
    FBTypes.eMOSS_LICHEN_LITTER_MOSS_DEPTH, 0.75, ''), (libfbrw.FBTypes.
    eMOSS_LICHEN_LITTER_MOSS_PERCENT_COVER, 0.75, ''), (libfbrw.FBTypes.
    eGROUND_FUEL_DUFF_LOWER_DEPTH, 0.75, ''), (libfbrw.FBTypes.
    eGROUND_FUEL_DUFF_LOWER_PERCENT_COVER, 0.75, ''), (libfbrw.FBTypes.
    eGROUND_FUEL_DUFF_UPPER_DEPTH, 0.75, ''), (libfbrw.FBTypes.
    eGROUND_FUEL_DUFF_UPPER_PERCENT_COVER, 0.75, ''), (libfbrw.FBTypes.
    eGROUND_FUEL_BASAL_ACCUMULATION_DEPTH, 0.75, ''), (libfbrw.FBTypes.
    eGROUND_FUEL_BASAL_ACCUMULATION_NUMBER_PER_UNIT_AREA, 0.75, ''), (
    libfbrw.FBTypes.eGROUND_FUEL_SQUIRREL_MIDDENS_DEPTH, 0.75, ''), (
    libfbrw.FBTypes.eGROUND_FUEL_SQUIRREL_MIDDENS_NUMBER_PER_UNIT_AREA, 
    0.75, '')], fbrw.TIMESTEP[1]: [(libfbrw.FBTypes.
    eSHRUBS_PRIMARY_LAYER_PERCENT_COVER, 1.25, ''), (libfbrw.FBTypes.
    eSHRUBS_PRIMARY_LAYER_PERCENT_LIVE, 2.0, ''), (libfbrw.FBTypes.
    eSHRUBS_SECONDARY_LAYER_PERCENT_COVER, 1.25, ''), (libfbrw.FBTypes.
    eSHRUBS_SECONDARY_LAYER_PERCENT_LIVE, 2.0, ''), (libfbrw.FBTypes.
    eHERBACEOUS_PRIMARY_LAYER_LOADING, 1.5, ''), (libfbrw.FBTypes.
    eHERBACEOUS_PRIMARY_LAYER_PERCENT_COVER, 1.5, ''), (libfbrw.FBTypes.
    eHERBACEOUS_PRIMARY_LAYER_PERCENT_LIVE, 1.333, ''), (libfbrw.FBTypes.
    eHERBACEOUS_SECONDARY_LAYER_LOADING, 1.5, ''), (libfbrw.FBTypes.
    eHERBACEOUS_SECONDARY_LAYER_PERCENT_COVER, 1.5, ''), (libfbrw.FBTypes.
    eHERBACEOUS_SECONDARY_LAYER_PERCENT_LIVE, 1.333, ''), (libfbrw.FBTypes.
    eWOODY_FUEL_SOUND_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_THREE_TO_NINE_INCHES
    , 0.75, ''), (libfbrw.FBTypes.
    eWOODY_FUEL_SOUND_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_NINE_TO_TWENTY_INCHES
    , 0.75, ''), (libfbrw.FBTypes.
    eWOODY_FUEL_SOUND_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_GREATER_THAN_TWENTY_INCHES
    , 0.75, ''), (libfbrw.FBTypes.eMOSS_LICHEN_LITTER_LITTER_DEPTH, 1.333,
    ''), (libfbrw.FBTypes.eMOSS_LICHEN_LITTER_LITTER_PERCENT_COVER, 1.333,
    '')], fbrw.TIMESTEP[2]: [(libfbrw.FBTypes.
    eSHRUBS_PRIMARY_LAYER_PERCENT_COVER, 1.067, ''), (libfbrw.FBTypes.
    eSHRUBS_SECONDARY_LAYER_PERCENT_COVER, 1.067, ''), (libfbrw.FBTypes.
    eHERBACEOUS_PRIMARY_LAYER_LOADING, 0.889, ''), (libfbrw.FBTypes.
    eHERBACEOUS_PRIMARY_LAYER_PERCENT_COVER, 0.889, ''), (libfbrw.FBTypes.
    eHERBACEOUS_SECONDARY_LAYER_LOADING, 0.889, ''), (libfbrw.FBTypes.
    eHERBACEOUS_SECONDARY_LAYER_PERCENT_COVER, 0.889, ''), (libfbrw.FBTypes
    .eWOODY_FUEL_ALL_DOWNED_WOODY_FUEL_DEPTH, 1.333, ''), (libfbrw.FBTypes.
    eWOODY_FUEL_ALL_DOWNED_WOODY_FUEL_TOTAL_PERCENT_COVER, 1.333, ''), (
    libfbrw.FBTypes.
    eWOODY_FUEL_SOUND_WOOD_LOADINGS_ZERO_TO_THREE_INCHES_ONE_TO_THREE_INCHES,
    1.333, ''), (libfbrw.FBTypes.
    eWOODY_FUEL_SOUND_WOOD_LOADINGS_ZERO_TO_THREE_INCHES_QUARTER_INCH_TO_ONE_INCH
    , 1.333, ''), (libfbrw.FBTypes.
    eWOODY_FUEL_SOUND_WOOD_LOADINGS_ZERO_TO_THREE_INCHES_ZERO_TO_QUARTER_INCH,
    1.333, ''), (libfbrw.FBTypes.
    eWOODY_FUEL_SOUND_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_THREE_TO_NINE_INCHES
    , 0.5, ''), (libfbrw.FBTypes.
    eWOODY_FUEL_SOUND_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_NINE_TO_TWENTY_INCHES
    , 0.5, ''), (libfbrw.FBTypes.
    eWOODY_FUEL_SOUND_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_GREATER_THAN_TWENTY_INCHES
    , 0.5, ''), (libfbrw.FBTypes.eMOSS_LICHEN_LITTER_GROUND_LICHEN_DEPTH, 
    1.333, ''), (libfbrw.FBTypes.
    eMOSS_LICHEN_LITTER_GROUND_LICHEN_PERCENT_COVER, 1.333, ''), (libfbrw.
    FBTypes.eMOSS_LICHEN_LITTER_MOSS_DEPTH, 1.333, ''), (libfbrw.FBTypes.
    eMOSS_LICHEN_LITTER_MOSS_PERCENT_COVER, 1.333, '')]}, fbrw.SEVERITY[1]:
    {fbrw.TIMESTEP[0]: [(libfbrw.FBTypes.eCANOPY_TREES_TOTAL_PERCENT_COVER,
    0.67, ''), (libfbrw.FBTypes.
    eCANOPY_TREES_OVERSTORY_DIAMETER_AT_BREAST_HEIGHT, 1.25, ''), (libfbrw.
    FBTypes.eCANOPY_TREES_OVERSTORY_HEIGHT_TO_LIVE_CROWN, 1.5, ''), (
    libfbrw.FBTypes.eCANOPY_TREES_OVERSTORY_PERCENT_COVER, 0.5, ''), (
    libfbrw.FBTypes.eCANOPY_TREES_OVERSTORY_STEM_DENSITY, 0.5, ''), (
    libfbrw.FBTypes.eCANOPY_TREES_MIDSTORY_DIAMETER_AT_BREAST_HEIGHT, 1.25,
    ''), (libfbrw.FBTypes.eCANOPY_TREES_MIDSTORY_HEIGHT_TO_LIVE_CROWN, 1.5,
    ''), (libfbrw.FBTypes.eCANOPY_TREES_MIDSTORY_PERCENT_COVER, 0.5, ''), (
    libfbrw.FBTypes.eCANOPY_TREES_MIDSTORY_STEM_DENSITY, 0.5, ''), (libfbrw
    .FBTypes.eSHRUBS_PRIMARY_LAYER_PERCENT_COVER, 0.5, ''), (libfbrw.
    FBTypes.eSHRUBS_PRIMARY_LAYER_PERCENT_LIVE, 0.25, ''), (libfbrw.FBTypes
    .eSHRUBS_SECONDARY_LAYER_PERCENT_COVER, 0.5, ''), (libfbrw.FBTypes.
    eSHRUBS_SECONDARY_LAYER_PERCENT_LIVE, 0.25, ''), (libfbrw.FBTypes.
    eHERBACEOUS_PRIMARY_LAYER_LOADING, 0.5, ''), (libfbrw.FBTypes.
    eHERBACEOUS_PRIMARY_LAYER_PERCENT_COVER, 0.5, ''), (libfbrw.FBTypes.
    eHERBACEOUS_PRIMARY_LAYER_PERCENT_LIVE, 0.5, ''), (libfbrw.FBTypes.
    eHERBACEOUS_SECONDARY_LAYER_LOADING, 0.5, ''), (libfbrw.FBTypes.
    eHERBACEOUS_SECONDARY_LAYER_PERCENT_COVER, 0.5, ''), (libfbrw.FBTypes.
    eHERBACEOUS_SECONDARY_LAYER_PERCENT_LIVE, 0.5, ''), (libfbrw.FBTypes.
    eWOODY_FUEL_ALL_DOWNED_WOODY_FUEL_DEPTH, 0.5, ''), (libfbrw.FBTypes.
    eWOODY_FUEL_ALL_DOWNED_WOODY_FUEL_TOTAL_PERCENT_COVER, 0.5, ''), (
    libfbrw.FBTypes.
    eWOODY_FUEL_SOUND_WOOD_LOADINGS_ZERO_TO_THREE_INCHES_ONE_TO_THREE_INCHES,
    0.5, ''), (libfbrw.FBTypes.
    eWOODY_FUEL_SOUND_WOOD_LOADINGS_ZERO_TO_THREE_INCHES_QUARTER_INCH_TO_ONE_INCH
    , 0.5, ''), (libfbrw.FBTypes.
    eWOODY_FUEL_SOUND_WOOD_LOADINGS_ZERO_TO_THREE_INCHES_ZERO_TO_QUARTER_INCH,
    0.5, ''), (libfbrw.FBTypes.
    eWOODY_FUEL_SOUND_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_THREE_TO_NINE_INCHES
    , 0.8, ''), (libfbrw.FBTypes.
    eWOODY_FUEL_SOUND_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_NINE_TO_TWENTY_INCHES
    , 0.8, ''), (libfbrw.FBTypes.
    eWOODY_FUEL_SOUND_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_GREATER_THAN_TWENTY_INCHES
    , 0.8, ''), (libfbrw.FBTypes.
    eWOODY_FUEL_ROTTEN_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_THREE_TO_NINE_INCHES
    , 0.8, ''), (libfbrw.FBTypes.
    eWOODY_FUEL_ROTTEN_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_NINE_TO_TWENTY_INCHES
    , 0.8, ''), (libfbrw.FBTypes.
    eWOODY_FUEL_ROTTEN_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_GREATER_THAN_TWENTY_INCHES
    , 0.8, ''), (libfbrw.FBTypes.eWOODY_FUEL_PILES_CLEAN_LOADING, 0.5, ''),
    (libfbrw.FBTypes.eWOODY_FUEL_PILES_DIRTY_LOADING, 0.5, ''), (libfbrw.
    FBTypes.eWOODY_FUEL_PILES_VERYDIRTY_LOADING, 0.5, ''), (libfbrw.FBTypes
    .eMOSS_LICHEN_LITTER_GROUND_LICHEN_DEPTH, 0.5, ''), (libfbrw.FBTypes.
    eMOSS_LICHEN_LITTER_GROUND_LICHEN_PERCENT_COVER, 0.5, ''), (libfbrw.
    FBTypes.eMOSS_LICHEN_LITTER_LITTER_DEPTH, 0.5, ''), (libfbrw.FBTypes.
    eMOSS_LICHEN_LITTER_LITTER_PERCENT_COVER, 0.5, ''), (libfbrw.FBTypes.
    eMOSS_LICHEN_LITTER_MOSS_DEPTH, 0.5, ''), (libfbrw.FBTypes.
    eMOSS_LICHEN_LITTER_MOSS_PERCENT_COVER, 0.5, ''), (libfbrw.FBTypes.
    eGROUND_FUEL_DUFF_LOWER_DEPTH, 0.5, ''), (libfbrw.FBTypes.
    eGROUND_FUEL_DUFF_LOWER_PERCENT_COVER, 0.5, ''), (libfbrw.FBTypes.
    eGROUND_FUEL_DUFF_UPPER_DEPTH, 0.5, ''), (libfbrw.FBTypes.
    eGROUND_FUEL_DUFF_UPPER_PERCENT_COVER, 0.5, ''), (libfbrw.FBTypes.
    eGROUND_FUEL_BASAL_ACCUMULATION_DEPTH, 0.5, ''), (libfbrw.FBTypes.
    eGROUND_FUEL_BASAL_ACCUMULATION_NUMBER_PER_UNIT_AREA, 0.5, ''), (
    libfbrw.FBTypes.eGROUND_FUEL_SQUIRREL_MIDDENS_DEPTH, 0.5, ''), (libfbrw
    .FBTypes.eGROUND_FUEL_SQUIRREL_MIDDENS_NUMBER_PER_UNIT_AREA, 0.5, '')],
    fbrw.TIMESTEP[1]: [(libfbrw.FBTypes.eSHRUBS_PRIMARY_LAYER_PERCENT_COVER,
    1.5, ''), (libfbrw.FBTypes.eSHRUBS_PRIMARY_LAYER_PERCENT_LIVE, 4.0, ''),
    (libfbrw.FBTypes.eSHRUBS_SECONDARY_LAYER_PERCENT_COVER, 1.5, ''), (
    libfbrw.FBTypes.eSHRUBS_SECONDARY_LAYER_PERCENT_LIVE, 4.0, ''), (
    libfbrw.FBTypes.eHERBACEOUS_PRIMARY_LAYER_LOADING, 1.5, ''), (libfbrw.
    FBTypes.eHERBACEOUS_PRIMARY_LAYER_PERCENT_COVER, 1.5, ''), (libfbrw.
    FBTypes.eHERBACEOUS_PRIMARY_LAYER_PERCENT_LIVE, 2.0, ''), (libfbrw.
    FBTypes.eHERBACEOUS_SECONDARY_LAYER_LOADING, 1.5, ''), (libfbrw.FBTypes
    .eHERBACEOUS_SECONDARY_LAYER_PERCENT_COVER, 1.5, ''), (libfbrw.FBTypes.
    eHERBACEOUS_SECONDARY_LAYER_PERCENT_LIVE, 2.0, ''), (libfbrw.FBTypes.
    eWOODY_FUEL_SOUND_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_THREE_TO_NINE_INCHES
    , 0.75, ''), (libfbrw.FBTypes.
    eWOODY_FUEL_SOUND_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_NINE_TO_TWENTY_INCHES
    , 0.75, ''), (libfbrw.FBTypes.
    eWOODY_FUEL_SOUND_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_GREATER_THAN_TWENTY_INCHES
    , 0.75, ''), (libfbrw.FBTypes.eMOSS_LICHEN_LITTER_LITTER_DEPTH, 2.0, ''
    ), (libfbrw.FBTypes.eMOSS_LICHEN_LITTER_LITTER_PERCENT_COVER, 2.0, '')],
    fbrw.TIMESTEP[2]: [(libfbrw.FBTypes.eSHRUBS_PRIMARY_LAYER_PERCENT_COVER,
    1.333, ''), (libfbrw.FBTypes.eSHRUBS_SECONDARY_LAYER_PERCENT_COVER, 
    1.333, ''), (libfbrw.FBTypes.eHERBACEOUS_PRIMARY_LAYER_LOADING, 1.333,
    ''), (libfbrw.FBTypes.eHERBACEOUS_PRIMARY_LAYER_PERCENT_COVER, 1.333,
    ''), (libfbrw.FBTypes.eHERBACEOUS_SECONDARY_LAYER_LOADING, 1.333, ''),
    (libfbrw.FBTypes.eHERBACEOUS_SECONDARY_LAYER_PERCENT_COVER, 1.333, ''),
    (libfbrw.FBTypes.eWOODY_FUEL_ALL_DOWNED_WOODY_FUEL_DEPTH, 0.66, ''), (
    libfbrw.FBTypes.eWOODY_FUEL_ALL_DOWNED_WOODY_FUEL_TOTAL_PERCENT_COVER, 
    0.66, ''), (libfbrw.FBTypes.
    eWOODY_FUEL_SOUND_WOOD_LOADINGS_ZERO_TO_THREE_INCHES_ZERO_TO_QUARTER_INCH,
    0.66, ''), (libfbrw.FBTypes.
    eWOODY_FUEL_SOUND_WOOD_LOADINGS_ZERO_TO_THREE_INCHES_QUARTER_INCH_TO_ONE_INCH
    , 0.66, ''), (libfbrw.FBTypes.
    eWOODY_FUEL_SOUND_WOOD_LOADINGS_ZERO_TO_THREE_INCHES_ONE_TO_THREE_INCHES,
    0.66, ''), (libfbrw.FBTypes.
    eWOODY_FUEL_SOUND_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_THREE_TO_NINE_INCHES
    , 0.5, ''), (libfbrw.FBTypes.
    eWOODY_FUEL_SOUND_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_NINE_TO_TWENTY_INCHES
    , 0.5, ''), (libfbrw.FBTypes.
    eWOODY_FUEL_SOUND_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_GREATER_THAN_TWENTY_INCHES
    , 0.5, ''), (libfbrw.FBTypes.eMOSS_LICHEN_LITTER_GROUND_LICHEN_DEPTH, 
    2.0, ''), (libfbrw.FBTypes.
    eMOSS_LICHEN_LITTER_GROUND_LICHEN_PERCENT_COVER, 2.0, ''), (libfbrw.
    FBTypes.eMOSS_LICHEN_LITTER_MOSS_DEPTH, 2.0, ''), (libfbrw.FBTypes.
    eMOSS_LICHEN_LITTER_MOSS_PERCENT_COVER, 2.0, '')]}, fbrw.SEVERITY[2]: {
    fbrw.TIMESTEP[0]: [(libfbrw.FBTypes.eCANOPY_TREES_TOTAL_PERCENT_COVER, 
    0.33, ''), (libfbrw.FBTypes.
    eCANOPY_TREES_OVERSTORY_DIAMETER_AT_BREAST_HEIGHT, 1.25, ''), (libfbrw.
    FBTypes.eCANOPY_TREES_OVERSTORY_HEIGHT_TO_LIVE_CROWN, 1.5, ''), (
    libfbrw.FBTypes.eCANOPY_TREES_OVERSTORY_PERCENT_COVER, 0.25, ''), (
    libfbrw.FBTypes.eCANOPY_TREES_OVERSTORY_STEM_DENSITY, 0.25, ''), (
    libfbrw.FBTypes.eCANOPY_TREES_MIDSTORY_DIAMETER_AT_BREAST_HEIGHT, 1.25,
    ''), (libfbrw.FBTypes.eCANOPY_TREES_MIDSTORY_HEIGHT_TO_LIVE_CROWN, 1.5,
    ''), (libfbrw.FBTypes.eCANOPY_TREES_MIDSTORY_PERCENT_COVER, 0.25, ''),
    (libfbrw.FBTypes.eCANOPY_TREES_MIDSTORY_STEM_DENSITY, 0.25, ''), (
    libfbrw.FBTypes.eSHRUBS_PRIMARY_LAYER_PERCENT_COVER, 0.25, ''), (
    libfbrw.FBTypes.eSHRUBS_PRIMARY_LAYER_PERCENT_LIVE, 0.1, ''), (libfbrw.
    FBTypes.eSHRUBS_SECONDARY_LAYER_PERCENT_COVER, 0.25, ''), (libfbrw.
    FBTypes.eSHRUBS_SECONDARY_LAYER_PERCENT_LIVE, 0.1, ''), (libfbrw.
    FBTypes.eHERBACEOUS_PRIMARY_LAYER_LOADING, 0.25, ''), (libfbrw.FBTypes.
    eHERBACEOUS_PRIMARY_LAYER_PERCENT_COVER, 0.25, ''), (libfbrw.FBTypes.
    eHERBACEOUS_PRIMARY_LAYER_PERCENT_LIVE, 0.25, ''), (libfbrw.FBTypes.
    eHERBACEOUS_SECONDARY_LAYER_LOADING, 0.25, ''), (libfbrw.FBTypes.
    eHERBACEOUS_SECONDARY_LAYER_PERCENT_COVER, 0.25, ''), (libfbrw.FBTypes.
    eHERBACEOUS_SECONDARY_LAYER_PERCENT_LIVE, 0.25, ''), (libfbrw.FBTypes.
    eWOODY_FUEL_ALL_DOWNED_WOODY_FUEL_DEPTH, 0.25, ''), (libfbrw.FBTypes.
    eWOODY_FUEL_ALL_DOWNED_WOODY_FUEL_TOTAL_PERCENT_COVER, 0.25, ''), (
    libfbrw.FBTypes.
    eWOODY_FUEL_SOUND_WOOD_LOADINGS_ZERO_TO_THREE_INCHES_ONE_TO_THREE_INCHES,
    0.25, ''), (libfbrw.FBTypes.
    eWOODY_FUEL_SOUND_WOOD_LOADINGS_ZERO_TO_THREE_INCHES_QUARTER_INCH_TO_ONE_INCH
    , 0.25, ''), (libfbrw.FBTypes.
    eWOODY_FUEL_SOUND_WOOD_LOADINGS_ZERO_TO_THREE_INCHES_ZERO_TO_QUARTER_INCH,
    0.25, ''), (libfbrw.FBTypes.
    eWOODY_FUEL_SOUND_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_THREE_TO_NINE_INCHES
    , 0.55, ''), (libfbrw.FBTypes.
    eWOODY_FUEL_SOUND_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_NINE_TO_TWENTY_INCHES
    , 0.55, ''), (libfbrw.FBTypes.
    eWOODY_FUEL_SOUND_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_GREATER_THAN_TWENTY_INCHES
    , 0.55, ''), (libfbrw.FBTypes.
    eWOODY_FUEL_ROTTEN_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_THREE_TO_NINE_INCHES
    , 0.55, ''), (libfbrw.FBTypes.
    eWOODY_FUEL_ROTTEN_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_NINE_TO_TWENTY_INCHES
    , 0.55, ''), (libfbrw.FBTypes.
    eWOODY_FUEL_ROTTEN_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_GREATER_THAN_TWENTY_INCHES
    , 0.55, ''), (libfbrw.FBTypes.eWOODY_FUEL_PILES_CLEAN_LOADING, 0.25, ''
    ), (libfbrw.FBTypes.eWOODY_FUEL_PILES_DIRTY_LOADING, 0.25, ''), (
    libfbrw.FBTypes.eWOODY_FUEL_PILES_VERYDIRTY_LOADING, 0.25, ''), (
    libfbrw.FBTypes.eMOSS_LICHEN_LITTER_GROUND_LICHEN_DEPTH, 0.25, ''), (
    libfbrw.FBTypes.eMOSS_LICHEN_LITTER_GROUND_LICHEN_PERCENT_COVER, 0.25,
    ''), (libfbrw.FBTypes.eMOSS_LICHEN_LITTER_LITTER_DEPTH, 0.25, ''), (
    libfbrw.FBTypes.eMOSS_LICHEN_LITTER_LITTER_PERCENT_COVER, 0.25, ''), (
    libfbrw.FBTypes.eMOSS_LICHEN_LITTER_MOSS_DEPTH, 0.25, ''), (libfbrw.
    FBTypes.eMOSS_LICHEN_LITTER_MOSS_PERCENT_COVER, 0.25, ''), (libfbrw.
    FBTypes.eGROUND_FUEL_DUFF_LOWER_DEPTH, 0.25, ''), (libfbrw.FBTypes.
    eGROUND_FUEL_DUFF_LOWER_PERCENT_COVER, 0.25, ''), (libfbrw.FBTypes.
    eGROUND_FUEL_DUFF_UPPER_DEPTH, 0.25, ''), (libfbrw.FBTypes.
    eGROUND_FUEL_DUFF_UPPER_PERCENT_COVER, 0.25, ''), (libfbrw.FBTypes.
    eGROUND_FUEL_BASAL_ACCUMULATION_DEPTH, 0.25, ''), (libfbrw.FBTypes.
    eGROUND_FUEL_BASAL_ACCUMULATION_NUMBER_PER_UNIT_AREA, 0.25, ''), (
    libfbrw.FBTypes.eGROUND_FUEL_SQUIRREL_MIDDENS_DEPTH, 0.25, ''), (
    libfbrw.FBTypes.eGROUND_FUEL_SQUIRREL_MIDDENS_NUMBER_PER_UNIT_AREA, 
    0.25, '')], fbrw.TIMESTEP[1]: [(libfbrw.FBTypes.
    eSHRUBS_PRIMARY_LAYER_PERCENT_COVER, 1.5, ''), (libfbrw.FBTypes.
    eSHRUBS_PRIMARY_LAYER_PERCENT_LIVE, 10.0, ''), (libfbrw.FBTypes.
    eSHRUBS_SECONDARY_LAYER_PERCENT_COVER, 1.5, ''), (libfbrw.FBTypes.
    eSHRUBS_SECONDARY_LAYER_PERCENT_LIVE, 10.0, ''), (libfbrw.FBTypes.
    eHERBACEOUS_PRIMARY_LAYER_LOADING, 1.5, ''), (libfbrw.FBTypes.
    eHERBACEOUS_PRIMARY_LAYER_PERCENT_COVER, 1.5, ''), (libfbrw.FBTypes.
    eHERBACEOUS_PRIMARY_LAYER_PERCENT_LIVE, 4.0, ''), (libfbrw.FBTypes.
    eHERBACEOUS_SECONDARY_LAYER_LOADING, 1.5, ''), (libfbrw.FBTypes.
    eHERBACEOUS_SECONDARY_LAYER_PERCENT_COVER, 1.5, ''), (libfbrw.FBTypes.
    eHERBACEOUS_SECONDARY_LAYER_PERCENT_LIVE, 4.0, ''), (libfbrw.FBTypes.
    eWOODY_FUEL_SOUND_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_THREE_TO_NINE_INCHES
    , 0.75, ''), (libfbrw.FBTypes.
    eWOODY_FUEL_SOUND_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_NINE_TO_TWENTY_INCHES
    , 0.75, ''), (libfbrw.FBTypes.
    eWOODY_FUEL_SOUND_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_GREATER_THAN_TWENTY_INCHES
    , 0.75, ''), (libfbrw.FBTypes.eMOSS_LICHEN_LITTER_LITTER_DEPTH, 4.0, ''
    ), (libfbrw.FBTypes.eMOSS_LICHEN_LITTER_LITTER_PERCENT_COVER, 4.0, '')],
    fbrw.TIMESTEP[2]: [(libfbrw.FBTypes.eSHRUBS_PRIMARY_LAYER_PERCENT_COVER,
    2.667, ''), (libfbrw.FBTypes.eSHRUBS_SECONDARY_LAYER_PERCENT_COVER, 
    2.667, ''), (libfbrw.FBTypes.eHERBACEOUS_PRIMARY_LAYER_LOADING, 2.667,
    ''), (libfbrw.FBTypes.eHERBACEOUS_PRIMARY_LAYER_PERCENT_COVER, 2.667,
    ''), (libfbrw.FBTypes.eHERBACEOUS_SECONDARY_LAYER_LOADING, 2.667, ''),
    (libfbrw.FBTypes.eHERBACEOUS_SECONDARY_LAYER_PERCENT_COVER, 2.667, ''),
    (libfbrw.FBTypes.eWOODY_FUEL_ALL_DOWNED_WOODY_FUEL_DEPTH, 1.32, ''), (
    libfbrw.FBTypes.eWOODY_FUEL_ALL_DOWNED_WOODY_FUEL_TOTAL_PERCENT_COVER, 
    1.32, ''), (libfbrw.FBTypes.
    eWOODY_FUEL_SOUND_WOOD_LOADINGS_ZERO_TO_THREE_INCHES_ZERO_TO_QUARTER_INCH,
    1.32, ''), (libfbrw.FBTypes.
    eWOODY_FUEL_SOUND_WOOD_LOADINGS_ZERO_TO_THREE_INCHES_QUARTER_INCH_TO_ONE_INCH
    , 1.32, ''), (libfbrw.FBTypes.
    eWOODY_FUEL_SOUND_WOOD_LOADINGS_ZERO_TO_THREE_INCHES_ONE_TO_THREE_INCHES,
    1.32, ''), (libfbrw.FBTypes.
    eWOODY_FUEL_SOUND_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_THREE_TO_NINE_INCHES
    , 0.5, ''), (libfbrw.FBTypes.
    eWOODY_FUEL_SOUND_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_NINE_TO_TWENTY_INCHES
    , 0.5, ''), (libfbrw.FBTypes.
    eWOODY_FUEL_SOUND_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_GREATER_THAN_TWENTY_INCHES
    , 0.5, ''), (libfbrw.FBTypes.eMOSS_LICHEN_LITTER_GROUND_LICHEN_DEPTH, 
    4.0, ''), (libfbrw.FBTypes.
    eMOSS_LICHEN_LITTER_GROUND_LICHEN_PERCENT_COVER, 4.0, ''), (libfbrw.
    FBTypes.eMOSS_LICHEN_LITTER_MOSS_DEPTH, 4.0, ''), (libfbrw.FBTypes.
    eMOSS_LICHEN_LITTER_MOSS_PERCENT_COVER, 4.0, '')]}}


def placeholder(fb):
    pass


def remove_understory(fb):
    fb.SetNodeEmpty(libfbrw.FBNodeWithSpeciesType.eCANOPY_TREES_UNDERSTORY)


special_funcs = {fbrw.SEVERITY[0]: {fbrw.TIMESTEP[0]: [(sp.add_stumps, 0.25,
    0.25)], fbrw.TIMESTEP[1]: [(sp.process_sound_wood, 0.25)], fbrw.
    TIMESTEP[2]: [(sp.sound_to_rotten_stumps,), (sp.process_sound_wood, 0.5
    )]}, fbrw.SEVERITY[1]: {fbrw.TIMESTEP[0]: [(sp.add_stumps, 0.5, 0.5), (
    remove_understory,)], fbrw.TIMESTEP[1]: [(sp.process_sound_wood, 0.25)],
    fbrw.TIMESTEP[2]: [(sp.sound_to_rotten_stumps,), (sp.process_sound_wood,
    0.5)]}, fbrw.SEVERITY[2]: {fbrw.TIMESTEP[0]: [(sp.add_stumps, 0.75, 
    0.75), (remove_understory,)], fbrw.TIMESTEP[1]: [(sp.process_sound_wood,
    0.25)], fbrw.TIMESTEP[2]: [(sp.sound_to_rotten_stumps,), (sp.
    process_sound_wood, 0.5)]}}
<mask token>


def do_special(fb, severity, timestep):
    for item in special_funcs[severity][timestep]:
        func = item[0]
        if len(item) > 1:
            args = item[1:]
            func(fb, *args)
        else:
            func(fb)


def get_scaling_params(severity, timestep):
    return scale_these[severity][timestep]

import sys
import libfbrw
import fbrw
import special_processing as sp
scale_these = {fbrw.SEVERITY[0]: {fbrw.TIMESTEP[0]: [(libfbrw.FBTypes.
    eCANOPY_TREES_TOTAL_PERCENT_COVER, 0.85, ''), (libfbrw.FBTypes.
    eCANOPY_TREES_OVERSTORY_DIAMETER_AT_BREAST_HEIGHT, 1.1, ''), (libfbrw.
    FBTypes.eCANOPY_TREES_OVERSTORY_HEIGHT_TO_LIVE_CROWN, 1.25, ''), (
    libfbrw.FBTypes.eCANOPY_TREES_OVERSTORY_PERCENT_COVER, 0.75, ''), (
    libfbrw.FBTypes.eCANOPY_TREES_OVERSTORY_STEM_DENSITY, 0.75, ''), (
    libfbrw.FBTypes.eCANOPY_TREES_MIDSTORY_DIAMETER_AT_BREAST_HEIGHT, 1.1,
    ''), (libfbrw.FBTypes.eCANOPY_TREES_MIDSTORY_HEIGHT_TO_LIVE_CROWN, 1.25,
    ''), (libfbrw.FBTypes.eCANOPY_TREES_MIDSTORY_PERCENT_COVER, 0.75, ''),
    (libfbrw.FBTypes.eCANOPY_TREES_MIDSTORY_STEM_DENSITY, 0.75, ''), (
    libfbrw.FBTypes.eCANOPY_TREES_UNDERSTORY_PERCENT_COVER, 0.25, ''), (
    libfbrw.FBTypes.eCANOPY_TREES_UNDERSTORY_STEM_DENSITY, 0.25, ''), (
    libfbrw.FBTypes.eSHRUBS_PRIMARY_LAYER_PERCENT_COVER, 0.75, ''), (
    libfbrw.FBTypes.eSHRUBS_PRIMARY_LAYER_PERCENT_LIVE, 0.5, ''), (libfbrw.
    FBTypes.eSHRUBS_SECONDARY_LAYER_PERCENT_COVER, 0.75, ''), (libfbrw.
    FBTypes.eSHRUBS_SECONDARY_LAYER_PERCENT_LIVE, 0.5, ''), (libfbrw.
    FBTypes.eHERBACEOUS_PRIMARY_LAYER_LOADING, 0.75, ''), (libfbrw.FBTypes.
    eHERBACEOUS_PRIMARY_LAYER_PERCENT_COVER, 0.75, ''), (libfbrw.FBTypes.
    eHERBACEOUS_PRIMARY_LAYER_PERCENT_LIVE, 0.75, ''), (libfbrw.FBTypes.
    eHERBACEOUS_SECONDARY_LAYER_LOADING, 0.75, ''), (libfbrw.FBTypes.
    eHERBACEOUS_SECONDARY_LAYER_PERCENT_COVER, 0.75, ''), (libfbrw.FBTypes.
    eHERBACEOUS_SECONDARY_LAYER_PERCENT_LIVE, 0.75, ''), (libfbrw.FBTypes.
    eWOODY_FUEL_ALL_DOWNED_WOODY_FUEL_DEPTH, 0.75, ''), (libfbrw.FBTypes.
    eWOODY_FUEL_ALL_DOWNED_WOODY_FUEL_TOTAL_PERCENT_COVER, 0.75, ''), (
    libfbrw.FBTypes.
    eWOODY_FUEL_SOUND_WOOD_LOADINGS_ZERO_TO_THREE_INCHES_ONE_TO_THREE_INCHES,
    0.75, ''), (libfbrw.FBTypes.
    eWOODY_FUEL_SOUND_WOOD_LOADINGS_ZERO_TO_THREE_INCHES_QUARTER_INCH_TO_ONE_INCH
    , 0.75, ''), (libfbrw.FBTypes.
    eWOODY_FUEL_SOUND_WOOD_LOADINGS_ZERO_TO_THREE_INCHES_ZERO_TO_QUARTER_INCH,
    0.75, ''), (libfbrw.FBTypes.
    eWOODY_FUEL_SOUND_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_THREE_TO_NINE_INCHES
    , 0.9, ''), (libfbrw.FBTypes.
    eWOODY_FUEL_SOUND_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_NINE_TO_TWENTY_INCHES
    , 0.9, ''), (libfbrw.FBTypes.
    eWOODY_FUEL_SOUND_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_GREATER_THAN_TWENTY_INCHES
    , 0.9, ''), (libfbrw.FBTypes.
    eWOODY_FUEL_ROTTEN_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_THREE_TO_NINE_INCHES
    , 0.9, ''), (libfbrw.FBTypes.
    eWOODY_FUEL_ROTTEN_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_NINE_TO_TWENTY_INCHES
    , 0.9, ''), (libfbrw.FBTypes.
    eWOODY_FUEL_ROTTEN_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_GREATER_THAN_TWENTY_INCHES
    , 0.9, ''), (libfbrw.FBTypes.eWOODY_FUEL_PILES_CLEAN_LOADING, 0.75, ''),
    (libfbrw.FBTypes.eWOODY_FUEL_PILES_DIRTY_LOADING, 0.75, ''), (libfbrw.
    FBTypes.eWOODY_FUEL_PILES_VERYDIRTY_LOADING, 0.75, ''), (libfbrw.
    FBTypes.eMOSS_LICHEN_LITTER_GROUND_LICHEN_DEPTH, 0.75, ''), (libfbrw.
    FBTypes.eMOSS_LICHEN_LITTER_GROUND_LICHEN_PERCENT_COVER, 0.75, ''), (
    libfbrw.FBTypes.eMOSS_LICHEN_LITTER_LITTER_DEPTH, 0.75, ''), (libfbrw.
    FBTypes.eMOSS_LICHEN_LITTER_LITTER_PERCENT_COVER, 0.75, ''), (libfbrw.
    FBTypes.eMOSS_LICHEN_LITTER_MOSS_DEPTH, 0.75, ''), (libfbrw.FBTypes.
    eMOSS_LICHEN_LITTER_MOSS_PERCENT_COVER, 0.75, ''), (libfbrw.FBTypes.
    eGROUND_FUEL_DUFF_LOWER_DEPTH, 0.75, ''), (libfbrw.FBTypes.
    eGROUND_FUEL_DUFF_LOWER_PERCENT_COVER, 0.75, ''), (libfbrw.FBTypes.
    eGROUND_FUEL_DUFF_UPPER_DEPTH, 0.75, ''), (libfbrw.FBTypes.
    eGROUND_FUEL_DUFF_UPPER_PERCENT_COVER, 0.75, ''), (libfbrw.FBTypes.
    eGROUND_FUEL_BASAL_ACCUMULATION_DEPTH, 0.75, ''), (libfbrw.FBTypes.
    eGROUND_FUEL_BASAL_ACCUMULATION_NUMBER_PER_UNIT_AREA, 0.75, ''), (
    libfbrw.FBTypes.eGROUND_FUEL_SQUIRREL_MIDDENS_DEPTH, 0.75, ''), (
    libfbrw.FBTypes.eGROUND_FUEL_SQUIRREL_MIDDENS_NUMBER_PER_UNIT_AREA, 
    0.75, '')], fbrw.TIMESTEP[1]: [(libfbrw.FBTypes.
    eSHRUBS_PRIMARY_LAYER_PERCENT_COVER, 1.25, ''), (libfbrw.FBTypes.
    eSHRUBS_PRIMARY_LAYER_PERCENT_LIVE, 2.0, ''), (libfbrw.FBTypes.
    eSHRUBS_SECONDARY_LAYER_PERCENT_COVER, 1.25, ''), (libfbrw.FBTypes.
    eSHRUBS_SECONDARY_LAYER_PERCENT_LIVE, 2.0, ''), (libfbrw.FBTypes.
    eHERBACEOUS_PRIMARY_LAYER_LOADING, 1.5, ''), (libfbrw.FBTypes.
    eHERBACEOUS_PRIMARY_LAYER_PERCENT_COVER, 1.5, ''), (libfbrw.FBTypes.
    eHERBACEOUS_PRIMARY_LAYER_PERCENT_LIVE, 1.333, ''), (libfbrw.FBTypes.
    eHERBACEOUS_SECONDARY_LAYER_LOADING, 1.5, ''), (libfbrw.FBTypes.
    eHERBACEOUS_SECONDARY_LAYER_PERCENT_COVER, 1.5, ''), (libfbrw.FBTypes.
    eHERBACEOUS_SECONDARY_LAYER_PERCENT_LIVE, 1.333, ''), (libfbrw.FBTypes.
    eWOODY_FUEL_SOUND_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_THREE_TO_NINE_INCHES
    , 0.75, ''), (libfbrw.FBTypes.
    eWOODY_FUEL_SOUND_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_NINE_TO_TWENTY_INCHES
    , 0.75, ''), (libfbrw.FBTypes.
    eWOODY_FUEL_SOUND_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_GREATER_THAN_TWENTY_INCHES
    , 0.75, ''), (libfbrw.FBTypes.eMOSS_LICHEN_LITTER_LITTER_DEPTH, 1.333,
    ''), (libfbrw.FBTypes.eMOSS_LICHEN_LITTER_LITTER_PERCENT_COVER, 1.333,
    '')], fbrw.TIMESTEP[2]: [(libfbrw.FBTypes.
    eSHRUBS_PRIMARY_LAYER_PERCENT_COVER, 1.067, ''), (libfbrw.FBTypes.
    eSHRUBS_SECONDARY_LAYER_PERCENT_COVER, 1.067, ''), (libfbrw.FBTypes.
    eHERBACEOUS_PRIMARY_LAYER_LOADING, 0.889, ''), (libfbrw.FBTypes.
    eHERBACEOUS_PRIMARY_LAYER_PERCENT_COVER, 0.889, ''), (libfbrw.FBTypes.
    eHERBACEOUS_SECONDARY_LAYER_LOADING, 0.889, ''), (libfbrw.FBTypes.
    eHERBACEOUS_SECONDARY_LAYER_PERCENT_COVER, 0.889, ''), (libfbrw.FBTypes
    .eWOODY_FUEL_ALL_DOWNED_WOODY_FUEL_DEPTH, 1.333, ''), (libfbrw.FBTypes.
    eWOODY_FUEL_ALL_DOWNED_WOODY_FUEL_TOTAL_PERCENT_COVER, 1.333, ''), (
    libfbrw.FBTypes.
    eWOODY_FUEL_SOUND_WOOD_LOADINGS_ZERO_TO_THREE_INCHES_ONE_TO_THREE_INCHES,
    1.333, ''), (libfbrw.FBTypes.
    eWOODY_FUEL_SOUND_WOOD_LOADINGS_ZERO_TO_THREE_INCHES_QUARTER_INCH_TO_ONE_INCH
    , 1.333, ''), (libfbrw.FBTypes.
    eWOODY_FUEL_SOUND_WOOD_LOADINGS_ZERO_TO_THREE_INCHES_ZERO_TO_QUARTER_INCH,
    1.333, ''), (libfbrw.FBTypes.
    eWOODY_FUEL_SOUND_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_THREE_TO_NINE_INCHES
    , 0.5, ''), (libfbrw.FBTypes.
    eWOODY_FUEL_SOUND_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_NINE_TO_TWENTY_INCHES
    , 0.5, ''), (libfbrw.FBTypes.
    eWOODY_FUEL_SOUND_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_GREATER_THAN_TWENTY_INCHES
    , 0.5, ''), (libfbrw.FBTypes.eMOSS_LICHEN_LITTER_GROUND_LICHEN_DEPTH, 
    1.333, ''), (libfbrw.FBTypes.
    eMOSS_LICHEN_LITTER_GROUND_LICHEN_PERCENT_COVER, 1.333, ''), (libfbrw.
    FBTypes.eMOSS_LICHEN_LITTER_MOSS_DEPTH, 1.333, ''), (libfbrw.FBTypes.
    eMOSS_LICHEN_LITTER_MOSS_PERCENT_COVER, 1.333, '')]}, fbrw.SEVERITY[1]:
    {fbrw.TIMESTEP[0]: [(libfbrw.FBTypes.eCANOPY_TREES_TOTAL_PERCENT_COVER,
    0.67, ''), (libfbrw.FBTypes.
    eCANOPY_TREES_OVERSTORY_DIAMETER_AT_BREAST_HEIGHT, 1.25, ''), (libfbrw.
    FBTypes.eCANOPY_TREES_OVERSTORY_HEIGHT_TO_LIVE_CROWN, 1.5, ''), (
    libfbrw.FBTypes.eCANOPY_TREES_OVERSTORY_PERCENT_COVER, 0.5, ''), (
    libfbrw.FBTypes.eCANOPY_TREES_OVERSTORY_STEM_DENSITY, 0.5, ''), (
    libfbrw.FBTypes.eCANOPY_TREES_MIDSTORY_DIAMETER_AT_BREAST_HEIGHT, 1.25,
    ''), (libfbrw.FBTypes.eCANOPY_TREES_MIDSTORY_HEIGHT_TO_LIVE_CROWN, 1.5,
    ''), (libfbrw.FBTypes.eCANOPY_TREES_MIDSTORY_PERCENT_COVER, 0.5, ''), (
    libfbrw.FBTypes.eCANOPY_TREES_MIDSTORY_STEM_DENSITY, 0.5, ''), (libfbrw
    .FBTypes.eSHRUBS_PRIMARY_LAYER_PERCENT_COVER, 0.5, ''), (libfbrw.
    FBTypes.eSHRUBS_PRIMARY_LAYER_PERCENT_LIVE, 0.25, ''), (libfbrw.FBTypes
    .eSHRUBS_SECONDARY_LAYER_PERCENT_COVER, 0.5, ''), (libfbrw.FBTypes.
    eSHRUBS_SECONDARY_LAYER_PERCENT_LIVE, 0.25, ''), (libfbrw.FBTypes.
    eHERBACEOUS_PRIMARY_LAYER_LOADING, 0.5, ''), (libfbrw.FBTypes.
    eHERBACEOUS_PRIMARY_LAYER_PERCENT_COVER, 0.5, ''), (libfbrw.FBTypes.
    eHERBACEOUS_PRIMARY_LAYER_PERCENT_LIVE, 0.5, ''), (libfbrw.FBTypes.
    eHERBACEOUS_SECONDARY_LAYER_LOADING, 0.5, ''), (libfbrw.FBTypes.
    eHERBACEOUS_SECONDARY_LAYER_PERCENT_COVER, 0.5, ''), (libfbrw.FBTypes.
    eHERBACEOUS_SECONDARY_LAYER_PERCENT_LIVE, 0.5, ''), (libfbrw.FBTypes.
    eWOODY_FUEL_ALL_DOWNED_WOODY_FUEL_DEPTH, 0.5, ''), (libfbrw.FBTypes.
    eWOODY_FUEL_ALL_DOWNED_WOODY_FUEL_TOTAL_PERCENT_COVER, 0.5, ''), (
    libfbrw.FBTypes.
    eWOODY_FUEL_SOUND_WOOD_LOADINGS_ZERO_TO_THREE_INCHES_ONE_TO_THREE_INCHES,
    0.5, ''), (libfbrw.FBTypes.
    eWOODY_FUEL_SOUND_WOOD_LOADINGS_ZERO_TO_THREE_INCHES_QUARTER_INCH_TO_ONE_INCH
    , 0.5, ''), (libfbrw.FBTypes.
    eWOODY_FUEL_SOUND_WOOD_LOADINGS_ZERO_TO_THREE_INCHES_ZERO_TO_QUARTER_INCH,
    0.5, ''), (libfbrw.FBTypes.
    eWOODY_FUEL_SOUND_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_THREE_TO_NINE_INCHES
    , 0.8, ''), (libfbrw.FBTypes.
    eWOODY_FUEL_SOUND_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_NINE_TO_TWENTY_INCHES
    , 0.8, ''), (libfbrw.FBTypes.
    eWOODY_FUEL_SOUND_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_GREATER_THAN_TWENTY_INCHES
    , 0.8, ''), (libfbrw.FBTypes.
    eWOODY_FUEL_ROTTEN_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_THREE_TO_NINE_INCHES
    , 0.8, ''), (libfbrw.FBTypes.
    eWOODY_FUEL_ROTTEN_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_NINE_TO_TWENTY_INCHES
    , 0.8, ''), (libfbrw.FBTypes.
    eWOODY_FUEL_ROTTEN_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_GREATER_THAN_TWENTY_INCHES
    , 0.8, ''), (libfbrw.FBTypes.eWOODY_FUEL_PILES_CLEAN_LOADING, 0.5, ''),
    (libfbrw.FBTypes.eWOODY_FUEL_PILES_DIRTY_LOADING, 0.5, ''), (libfbrw.
    FBTypes.eWOODY_FUEL_PILES_VERYDIRTY_LOADING, 0.5, ''), (libfbrw.FBTypes
    .eMOSS_LICHEN_LITTER_GROUND_LICHEN_DEPTH, 0.5, ''), (libfbrw.FBTypes.
    eMOSS_LICHEN_LITTER_GROUND_LICHEN_PERCENT_COVER, 0.5, ''), (libfbrw.
    FBTypes.eMOSS_LICHEN_LITTER_LITTER_DEPTH, 0.5, ''), (libfbrw.FBTypes.
    eMOSS_LICHEN_LITTER_LITTER_PERCENT_COVER, 0.5, ''), (libfbrw.FBTypes.
    eMOSS_LICHEN_LITTER_MOSS_DEPTH, 0.5, ''), (libfbrw.FBTypes.
    eMOSS_LICHEN_LITTER_MOSS_PERCENT_COVER, 0.5, ''), (libfbrw.FBTypes.
    eGROUND_FUEL_DUFF_LOWER_DEPTH, 0.5, ''), (libfbrw.FBTypes.
    eGROUND_FUEL_DUFF_LOWER_PERCENT_COVER, 0.5, ''), (libfbrw.FBTypes.
    eGROUND_FUEL_DUFF_UPPER_DEPTH, 0.5, ''), (libfbrw.FBTypes.
    eGROUND_FUEL_DUFF_UPPER_PERCENT_COVER, 0.5, ''), (libfbrw.FBTypes.
    eGROUND_FUEL_BASAL_ACCUMULATION_DEPTH, 0.5, ''), (libfbrw.FBTypes.
    eGROUND_FUEL_BASAL_ACCUMULATION_NUMBER_PER_UNIT_AREA, 0.5, ''), (
    libfbrw.FBTypes.eGROUND_FUEL_SQUIRREL_MIDDENS_DEPTH, 0.5, ''), (libfbrw
    .FBTypes.eGROUND_FUEL_SQUIRREL_MIDDENS_NUMBER_PER_UNIT_AREA, 0.5, '')],
    fbrw.TIMESTEP[1]: [(libfbrw.FBTypes.eSHRUBS_PRIMARY_LAYER_PERCENT_COVER,
    1.5, ''), (libfbrw.FBTypes.eSHRUBS_PRIMARY_LAYER_PERCENT_LIVE, 4.0, ''),
    (libfbrw.FBTypes.eSHRUBS_SECONDARY_LAYER_PERCENT_COVER, 1.5, ''), (
    libfbrw.FBTypes.eSHRUBS_SECONDARY_LAYER_PERCENT_LIVE, 4.0, ''), (
    libfbrw.FBTypes.eHERBACEOUS_PRIMARY_LAYER_LOADING, 1.5, ''), (libfbrw.
    FBTypes.eHERBACEOUS_PRIMARY_LAYER_PERCENT_COVER, 1.5, ''), (libfbrw.
    FBTypes.eHERBACEOUS_PRIMARY_LAYER_PERCENT_LIVE, 2.0, ''), (libfbrw.
    FBTypes.eHERBACEOUS_SECONDARY_LAYER_LOADING, 1.5, ''), (libfbrw.FBTypes
    .eHERBACEOUS_SECONDARY_LAYER_PERCENT_COVER, 1.5, ''), (libfbrw.FBTypes.
    eHERBACEOUS_SECONDARY_LAYER_PERCENT_LIVE, 2.0, ''), (libfbrw.FBTypes.
    eWOODY_FUEL_SOUND_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_THREE_TO_NINE_INCHES
    , 0.75, ''), (libfbrw.FBTypes.
    eWOODY_FUEL_SOUND_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_NINE_TO_TWENTY_INCHES
    , 0.75, ''), (libfbrw.FBTypes.
    eWOODY_FUEL_SOUND_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_GREATER_THAN_TWENTY_INCHES
    , 0.75, ''), (libfbrw.FBTypes.eMOSS_LICHEN_LITTER_LITTER_DEPTH, 2.0, ''
    ), (libfbrw.FBTypes.eMOSS_LICHEN_LITTER_LITTER_PERCENT_COVER, 2.0, '')],
    fbrw.TIMESTEP[2]: [(libfbrw.FBTypes.eSHRUBS_PRIMARY_LAYER_PERCENT_COVER,
    1.333, ''), (libfbrw.FBTypes.eSHRUBS_SECONDARY_LAYER_PERCENT_COVER, 
    1.333, ''), (libfbrw.FBTypes.eHERBACEOUS_PRIMARY_LAYER_LOADING, 1.333,
    ''), (libfbrw.FBTypes.eHERBACEOUS_PRIMARY_LAYER_PERCENT_COVER, 1.333,
    ''), (libfbrw.FBTypes.eHERBACEOUS_SECONDARY_LAYER_LOADING, 1.333, ''),
    (libfbrw.FBTypes.eHERBACEOUS_SECONDARY_LAYER_PERCENT_COVER, 1.333, ''),
    (libfbrw.FBTypes.eWOODY_FUEL_ALL_DOWNED_WOODY_FUEL_DEPTH, 0.66, ''), (
    libfbrw.FBTypes.eWOODY_FUEL_ALL_DOWNED_WOODY_FUEL_TOTAL_PERCENT_COVER, 
    0.66, ''), (libfbrw.FBTypes.
    eWOODY_FUEL_SOUND_WOOD_LOADINGS_ZERO_TO_THREE_INCHES_ZERO_TO_QUARTER_INCH,
    0.66, ''), (libfbrw.FBTypes.
    eWOODY_FUEL_SOUND_WOOD_LOADINGS_ZERO_TO_THREE_INCHES_QUARTER_INCH_TO_ONE_INCH
    , 0.66, ''), (libfbrw.FBTypes.
    eWOODY_FUEL_SOUND_WOOD_LOADINGS_ZERO_TO_THREE_INCHES_ONE_TO_THREE_INCHES,
    0.66, ''), (libfbrw.FBTypes.
    eWOODY_FUEL_SOUND_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_THREE_TO_NINE_INCHES
    , 0.5, ''), (libfbrw.FBTypes.
    eWOODY_FUEL_SOUND_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_NINE_TO_TWENTY_INCHES
    , 0.5, ''), (libfbrw.FBTypes.
    eWOODY_FUEL_SOUND_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_GREATER_THAN_TWENTY_INCHES
    , 0.5, ''), (libfbrw.FBTypes.eMOSS_LICHEN_LITTER_GROUND_LICHEN_DEPTH, 
    2.0, ''), (libfbrw.FBTypes.
    eMOSS_LICHEN_LITTER_GROUND_LICHEN_PERCENT_COVER, 2.0, ''), (libfbrw.
    FBTypes.eMOSS_LICHEN_LITTER_MOSS_DEPTH, 2.0, ''), (libfbrw.FBTypes.
    eMOSS_LICHEN_LITTER_MOSS_PERCENT_COVER, 2.0, '')]}, fbrw.SEVERITY[2]: {
    fbrw.TIMESTEP[0]: [(libfbrw.FBTypes.eCANOPY_TREES_TOTAL_PERCENT_COVER, 
    0.33, ''), (libfbrw.FBTypes.
    eCANOPY_TREES_OVERSTORY_DIAMETER_AT_BREAST_HEIGHT, 1.25, ''), (libfbrw.
    FBTypes.eCANOPY_TREES_OVERSTORY_HEIGHT_TO_LIVE_CROWN, 1.5, ''), (
    libfbrw.FBTypes.eCANOPY_TREES_OVERSTORY_PERCENT_COVER, 0.25, ''), (
    libfbrw.FBTypes.eCANOPY_TREES_OVERSTORY_STEM_DENSITY, 0.25, ''), (
    libfbrw.FBTypes.eCANOPY_TREES_MIDSTORY_DIAMETER_AT_BREAST_HEIGHT, 1.25,
    ''), (libfbrw.FBTypes.eCANOPY_TREES_MIDSTORY_HEIGHT_TO_LIVE_CROWN, 1.5,
    ''), (libfbrw.FBTypes.eCANOPY_TREES_MIDSTORY_PERCENT_COVER, 0.25, ''),
    (libfbrw.FBTypes.eCANOPY_TREES_MIDSTORY_STEM_DENSITY, 0.25, ''), (
    libfbrw.FBTypes.eSHRUBS_PRIMARY_LAYER_PERCENT_COVER, 0.25, ''), (
    libfbrw.FBTypes.eSHRUBS_PRIMARY_LAYER_PERCENT_LIVE, 0.1, ''), (libfbrw.
    FBTypes.eSHRUBS_SECONDARY_LAYER_PERCENT_COVER, 0.25, ''), (libfbrw.
    FBTypes.eSHRUBS_SECONDARY_LAYER_PERCENT_LIVE, 0.1, ''), (libfbrw.
    FBTypes.eHERBACEOUS_PRIMARY_LAYER_LOADING, 0.25, ''), (libfbrw.FBTypes.
    eHERBACEOUS_PRIMARY_LAYER_PERCENT_COVER, 0.25, ''), (libfbrw.FBTypes.
    eHERBACEOUS_PRIMARY_LAYER_PERCENT_LIVE, 0.25, ''), (libfbrw.FBTypes.
    eHERBACEOUS_SECONDARY_LAYER_LOADING, 0.25, ''), (libfbrw.FBTypes.
    eHERBACEOUS_SECONDARY_LAYER_PERCENT_COVER, 0.25, ''), (libfbrw.FBTypes.
    eHERBACEOUS_SECONDARY_LAYER_PERCENT_LIVE, 0.25, ''), (libfbrw.FBTypes.
    eWOODY_FUEL_ALL_DOWNED_WOODY_FUEL_DEPTH, 0.25, ''), (libfbrw.FBTypes.
    eWOODY_FUEL_ALL_DOWNED_WOODY_FUEL_TOTAL_PERCENT_COVER, 0.25, ''), (
    libfbrw.FBTypes.
    eWOODY_FUEL_SOUND_WOOD_LOADINGS_ZERO_TO_THREE_INCHES_ONE_TO_THREE_INCHES,
    0.25, ''), (libfbrw.FBTypes.
    eWOODY_FUEL_SOUND_WOOD_LOADINGS_ZERO_TO_THREE_INCHES_QUARTER_INCH_TO_ONE_INCH
    , 0.25, ''), (libfbrw.FBTypes.
    eWOODY_FUEL_SOUND_WOOD_LOADINGS_ZERO_TO_THREE_INCHES_ZERO_TO_QUARTER_INCH,
    0.25, ''), (libfbrw.FBTypes.
    eWOODY_FUEL_SOUND_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_THREE_TO_NINE_INCHES
    , 0.55, ''), (libfbrw.FBTypes.
    eWOODY_FUEL_SOUND_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_NINE_TO_TWENTY_INCHES
    , 0.55, ''), (libfbrw.FBTypes.
    eWOODY_FUEL_SOUND_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_GREATER_THAN_TWENTY_INCHES
    , 0.55, ''), (libfbrw.FBTypes.
    eWOODY_FUEL_ROTTEN_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_THREE_TO_NINE_INCHES
    , 0.55, ''), (libfbrw.FBTypes.
    eWOODY_FUEL_ROTTEN_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_NINE_TO_TWENTY_INCHES
    , 0.55, ''), (libfbrw.FBTypes.
    eWOODY_FUEL_ROTTEN_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_GREATER_THAN_TWENTY_INCHES
    , 0.55, ''), (libfbrw.FBTypes.eWOODY_FUEL_PILES_CLEAN_LOADING, 0.25, ''
    ), (libfbrw.FBTypes.eWOODY_FUEL_PILES_DIRTY_LOADING, 0.25, ''), (
    libfbrw.FBTypes.eWOODY_FUEL_PILES_VERYDIRTY_LOADING, 0.25, ''), (
    libfbrw.FBTypes.eMOSS_LICHEN_LITTER_GROUND_LICHEN_DEPTH, 0.25, ''), (
    libfbrw.FBTypes.eMOSS_LICHEN_LITTER_GROUND_LICHEN_PERCENT_COVER, 0.25,
    ''), (libfbrw.FBTypes.eMOSS_LICHEN_LITTER_LITTER_DEPTH, 0.25, ''), (
    libfbrw.FBTypes.eMOSS_LICHEN_LITTER_LITTER_PERCENT_COVER, 0.25, ''), (
    libfbrw.FBTypes.eMOSS_LICHEN_LITTER_MOSS_DEPTH, 0.25, ''), (libfbrw.
    FBTypes.eMOSS_LICHEN_LITTER_MOSS_PERCENT_COVER, 0.25, ''), (libfbrw.
    FBTypes.eGROUND_FUEL_DUFF_LOWER_DEPTH, 0.25, ''), (libfbrw.FBTypes.
    eGROUND_FUEL_DUFF_LOWER_PERCENT_COVER, 0.25, ''), (libfbrw.FBTypes.
    eGROUND_FUEL_DUFF_UPPER_DEPTH, 0.25, ''), (libfbrw.FBTypes.
    eGROUND_FUEL_DUFF_UPPER_PERCENT_COVER, 0.25, ''), (libfbrw.FBTypes.
    eGROUND_FUEL_BASAL_ACCUMULATION_DEPTH, 0.25, ''), (libfbrw.FBTypes.
    eGROUND_FUEL_BASAL_ACCUMULATION_NUMBER_PER_UNIT_AREA, 0.25, ''), (
    libfbrw.FBTypes.eGROUND_FUEL_SQUIRREL_MIDDENS_DEPTH, 0.25, ''), (
    libfbrw.FBTypes.eGROUND_FUEL_SQUIRREL_MIDDENS_NUMBER_PER_UNIT_AREA, 
    0.25, '')], fbrw.TIMESTEP[1]: [(libfbrw.FBTypes.
    eSHRUBS_PRIMARY_LAYER_PERCENT_COVER, 1.5, ''), (libfbrw.FBTypes.
    eSHRUBS_PRIMARY_LAYER_PERCENT_LIVE, 10.0, ''), (libfbrw.FBTypes.
    eSHRUBS_SECONDARY_LAYER_PERCENT_COVER, 1.5, ''), (libfbrw.FBTypes.
    eSHRUBS_SECONDARY_LAYER_PERCENT_LIVE, 10.0, ''), (libfbrw.FBTypes.
    eHERBACEOUS_PRIMARY_LAYER_LOADING, 1.5, ''), (libfbrw.FBTypes.
    eHERBACEOUS_PRIMARY_LAYER_PERCENT_COVER, 1.5, ''), (libfbrw.FBTypes.
    eHERBACEOUS_PRIMARY_LAYER_PERCENT_LIVE, 4.0, ''), (libfbrw.FBTypes.
    eHERBACEOUS_SECONDARY_LAYER_LOADING, 1.5, ''), (libfbrw.FBTypes.
    eHERBACEOUS_SECONDARY_LAYER_PERCENT_COVER, 1.5, ''), (libfbrw.FBTypes.
    eHERBACEOUS_SECONDARY_LAYER_PERCENT_LIVE, 4.0, ''), (libfbrw.FBTypes.
    eWOODY_FUEL_SOUND_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_THREE_TO_NINE_INCHES
    , 0.75, ''), (libfbrw.FBTypes.
    eWOODY_FUEL_SOUND_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_NINE_TO_TWENTY_INCHES
    , 0.75, ''), (libfbrw.FBTypes.
    eWOODY_FUEL_SOUND_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_GREATER_THAN_TWENTY_INCHES
    , 0.75, ''), (libfbrw.FBTypes.eMOSS_LICHEN_LITTER_LITTER_DEPTH, 4.0, ''
    ), (libfbrw.FBTypes.eMOSS_LICHEN_LITTER_LITTER_PERCENT_COVER, 4.0, '')],
    fbrw.TIMESTEP[2]: [(libfbrw.FBTypes.eSHRUBS_PRIMARY_LAYER_PERCENT_COVER,
    2.667, ''), (libfbrw.FBTypes.eSHRUBS_SECONDARY_LAYER_PERCENT_COVER, 
    2.667, ''), (libfbrw.FBTypes.eHERBACEOUS_PRIMARY_LAYER_LOADING, 2.667,
    ''), (libfbrw.FBTypes.eHERBACEOUS_PRIMARY_LAYER_PERCENT_COVER, 2.667,
    ''), (libfbrw.FBTypes.eHERBACEOUS_SECONDARY_LAYER_LOADING, 2.667, ''),
    (libfbrw.FBTypes.eHERBACEOUS_SECONDARY_LAYER_PERCENT_COVER, 2.667, ''),
    (libfbrw.FBTypes.eWOODY_FUEL_ALL_DOWNED_WOODY_FUEL_DEPTH, 1.32, ''), (
    libfbrw.FBTypes.eWOODY_FUEL_ALL_DOWNED_WOODY_FUEL_TOTAL_PERCENT_COVER, 
    1.32, ''), (libfbrw.FBTypes.
    eWOODY_FUEL_SOUND_WOOD_LOADINGS_ZERO_TO_THREE_INCHES_ZERO_TO_QUARTER_INCH,
    1.32, ''), (libfbrw.FBTypes.
    eWOODY_FUEL_SOUND_WOOD_LOADINGS_ZERO_TO_THREE_INCHES_QUARTER_INCH_TO_ONE_INCH
    , 1.32, ''), (libfbrw.FBTypes.
    eWOODY_FUEL_SOUND_WOOD_LOADINGS_ZERO_TO_THREE_INCHES_ONE_TO_THREE_INCHES,
    1.32, ''), (libfbrw.FBTypes.
    eWOODY_FUEL_SOUND_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_THREE_TO_NINE_INCHES
    , 0.5, ''), (libfbrw.FBTypes.
    eWOODY_FUEL_SOUND_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_NINE_TO_TWENTY_INCHES
    , 0.5, ''), (libfbrw.FBTypes.
    eWOODY_FUEL_SOUND_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_GREATER_THAN_TWENTY_INCHES
    , 0.5, ''), (libfbrw.FBTypes.eMOSS_LICHEN_LITTER_GROUND_LICHEN_DEPTH, 
    4.0, ''), (libfbrw.FBTypes.
    eMOSS_LICHEN_LITTER_GROUND_LICHEN_PERCENT_COVER, 4.0, ''), (libfbrw.
    FBTypes.eMOSS_LICHEN_LITTER_MOSS_DEPTH, 4.0, ''), (libfbrw.FBTypes.
    eMOSS_LICHEN_LITTER_MOSS_PERCENT_COVER, 4.0, '')]}}


def placeholder(fb):
    pass


def remove_understory(fb):
    fb.SetNodeEmpty(libfbrw.FBNodeWithSpeciesType.eCANOPY_TREES_UNDERSTORY)


special_funcs = {fbrw.SEVERITY[0]: {fbrw.TIMESTEP[0]: [(sp.add_stumps, 0.25,
    0.25)], fbrw.TIMESTEP[1]: [(sp.process_sound_wood, 0.25)], fbrw.
    TIMESTEP[2]: [(sp.sound_to_rotten_stumps,), (sp.process_sound_wood, 0.5
    )]}, fbrw.SEVERITY[1]: {fbrw.TIMESTEP[0]: [(sp.add_stumps, 0.5, 0.5), (
    remove_understory,)], fbrw.TIMESTEP[1]: [(sp.process_sound_wood, 0.25)],
    fbrw.TIMESTEP[2]: [(sp.sound_to_rotten_stumps,), (sp.process_sound_wood,
    0.5)]}, fbrw.SEVERITY[2]: {fbrw.TIMESTEP[0]: [(sp.add_stumps, 0.75, 
    0.75), (remove_understory,)], fbrw.TIMESTEP[1]: [(sp.process_sound_wood,
    0.25)], fbrw.TIMESTEP[2]: [(sp.sound_to_rotten_stumps,), (sp.
    process_sound_wood, 0.5)]}}
<mask token>


def do_special(fb, severity, timestep):
    for item in special_funcs[severity][timestep]:
        func = item[0]
        if len(item) > 1:
            args = item[1:]
            func(fb, *args)
        else:
            func(fb)


def get_scaling_params(severity, timestep):
    return scale_these[severity][timestep]

# =============================================================================
#
# Author:	Kjell Swedin
# Purpose:	Mechanical remove disturbance
#
# =============================================================================
import sys
import libfbrw
import fbrw
import special_processing as sp

scale_these = {
    fbrw.SEVERITY[0]: {
        fbrw.TIMESTEP[0]: [
            (libfbrw.FBTypes.eCANOPY_TREES_TOTAL_PERCENT_COVER,0.850,""),
            (libfbrw.FBTypes.eCANOPY_TREES_OVERSTORY_DIAMETER_AT_BREAST_HEIGHT,1.100,""),
            (libfbrw.FBTypes.eCANOPY_TREES_OVERSTORY_HEIGHT_TO_LIVE_CROWN,1.250,""),
            (libfbrw.FBTypes.eCANOPY_TREES_OVERSTORY_PERCENT_COVER,0.750,""),
            (libfbrw.FBTypes.eCANOPY_TREES_OVERSTORY_STEM_DENSITY,0.750,""),
            (libfbrw.FBTypes.eCANOPY_TREES_MIDSTORY_DIAMETER_AT_BREAST_HEIGHT,1.100,""),
            (libfbrw.FBTypes.eCANOPY_TREES_MIDSTORY_HEIGHT_TO_LIVE_CROWN,1.250,""),
            (libfbrw.FBTypes.eCANOPY_TREES_MIDSTORY_PERCENT_COVER,0.750,""),
            (libfbrw.FBTypes.eCANOPY_TREES_MIDSTORY_STEM_DENSITY,0.750,""),
            (libfbrw.FBTypes.eCANOPY_TREES_UNDERSTORY_PERCENT_COVER,0.250,""),
            (libfbrw.FBTypes.eCANOPY_TREES_UNDERSTORY_STEM_DENSITY,0.250,""),
            (libfbrw.FBTypes.eSHRUBS_PRIMARY_LAYER_PERCENT_COVER,0.750,""),
            (libfbrw.FBTypes.eSHRUBS_PRIMARY_LAYER_PERCENT_LIVE,0.500,""),
            (libfbrw.FBTypes.eSHRUBS_SECONDARY_LAYER_PERCENT_COVER,0.750,""),
            (libfbrw.FBTypes.eSHRUBS_SECONDARY_LAYER_PERCENT_LIVE,0.500,""),
            (libfbrw.FBTypes.eHERBACEOUS_PRIMARY_LAYER_LOADING,0.750,""),
            (libfbrw.FBTypes.eHERBACEOUS_PRIMARY_LAYER_PERCENT_COVER,0.750,""),
            (libfbrw.FBTypes.eHERBACEOUS_PRIMARY_LAYER_PERCENT_LIVE,0.750,""),
            (libfbrw.FBTypes.eHERBACEOUS_SECONDARY_LAYER_LOADING,0.750,""),
            (libfbrw.FBTypes.eHERBACEOUS_SECONDARY_LAYER_PERCENT_COVER,0.750,""),
            (libfbrw.FBTypes.eHERBACEOUS_SECONDARY_LAYER_PERCENT_LIVE,0.750,""),
            (libfbrw.FBTypes.eWOODY_FUEL_ALL_DOWNED_WOODY_FUEL_DEPTH,0.750,""),
            (libfbrw.FBTypes.eWOODY_FUEL_ALL_DOWNED_WOODY_FUEL_TOTAL_PERCENT_COVER,0.750,""),
            (libfbrw.FBTypes.eWOODY_FUEL_SOUND_WOOD_LOADINGS_ZERO_TO_THREE_INCHES_ONE_TO_THREE_INCHES,0.750,""),
            (libfbrw.FBTypes.eWOODY_FUEL_SOUND_WOOD_LOADINGS_ZERO_TO_THREE_INCHES_QUARTER_INCH_TO_ONE_INCH,0.750,""),
            (libfbrw.FBTypes.eWOODY_FUEL_SOUND_WOOD_LOADINGS_ZERO_TO_THREE_INCHES_ZERO_TO_QUARTER_INCH,0.750,""),
            (libfbrw.FBTypes.eWOODY_FUEL_SOUND_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_THREE_TO_NINE_INCHES,0.900,""),
            (libfbrw.FBTypes.eWOODY_FUEL_SOUND_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_NINE_TO_TWENTY_INCHES,0.900,""),
            (libfbrw.FBTypes.eWOODY_FUEL_SOUND_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_GREATER_THAN_TWENTY_INCHES,0.900,""),
            (libfbrw.FBTypes.eWOODY_FUEL_ROTTEN_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_THREE_TO_NINE_INCHES,0.900,""),
            (libfbrw.FBTypes.eWOODY_FUEL_ROTTEN_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_NINE_TO_TWENTY_INCHES,0.900,""),
            (libfbrw.FBTypes.eWOODY_FUEL_ROTTEN_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_GREATER_THAN_TWENTY_INCHES,0.900,""),
            (libfbrw.FBTypes.eWOODY_FUEL_PILES_CLEAN_LOADING,0.750,""),
            (libfbrw.FBTypes.eWOODY_FUEL_PILES_DIRTY_LOADING,0.750,""),
            (libfbrw.FBTypes.eWOODY_FUEL_PILES_VERYDIRTY_LOADING,0.750,""),
            (libfbrw.FBTypes.eMOSS_LICHEN_LITTER_GROUND_LICHEN_DEPTH,0.750,""),
            (libfbrw.FBTypes.eMOSS_LICHEN_LITTER_GROUND_LICHEN_PERCENT_COVER,0.750,""),
            (libfbrw.FBTypes.eMOSS_LICHEN_LITTER_LITTER_DEPTH,0.750,""),
            (libfbrw.FBTypes.eMOSS_LICHEN_LITTER_LITTER_PERCENT_COVER,0.750,""),
            (libfbrw.FBTypes.eMOSS_LICHEN_LITTER_MOSS_DEPTH,0.750,""),
            (libfbrw.FBTypes.eMOSS_LICHEN_LITTER_MOSS_PERCENT_COVER,0.750,""),
            (libfbrw.FBTypes.eGROUND_FUEL_DUFF_LOWER_DEPTH,0.750,""),
            (libfbrw.FBTypes.eGROUND_FUEL_DUFF_LOWER_PERCENT_COVER,0.750,""),
            (libfbrw.FBTypes.eGROUND_FUEL_DUFF_UPPER_DEPTH,0.750,""),
            (libfbrw.FBTypes.eGROUND_FUEL_DUFF_UPPER_PERCENT_COVER,0.750,""),
            (libfbrw.FBTypes.eGROUND_FUEL_BASAL_ACCUMULATION_DEPTH,0.750,""),
            (libfbrw.FBTypes.eGROUND_FUEL_BASAL_ACCUMULATION_NUMBER_PER_UNIT_AREA,0.750,""),
            (libfbrw.FBTypes.eGROUND_FUEL_SQUIRREL_MIDDENS_DEPTH,0.750,""),
            (libfbrw.FBTypes.eGROUND_FUEL_SQUIRREL_MIDDENS_NUMBER_PER_UNIT_AREA,0.750,""),
        ],
        fbrw.TIMESTEP[1]: [
            (libfbrw.FBTypes.eSHRUBS_PRIMARY_LAYER_PERCENT_COVER,1.250,""),
            (libfbrw.FBTypes.eSHRUBS_PRIMARY_LAYER_PERCENT_LIVE,2.000,""),
            (libfbrw.FBTypes.eSHRUBS_SECONDARY_LAYER_PERCENT_COVER,1.250,""),
            (libfbrw.FBTypes.eSHRUBS_SECONDARY_LAYER_PERCENT_LIVE,2.000,""),
            (libfbrw.FBTypes.eHERBACEOUS_PRIMARY_LAYER_LOADING,1.500,""),
            (libfbrw.FBTypes.eHERBACEOUS_PRIMARY_LAYER_PERCENT_COVER,1.500,""),
            (libfbrw.FBTypes.eHERBACEOUS_PRIMARY_LAYER_PERCENT_LIVE,1.333,""),
            (libfbrw.FBTypes.eHERBACEOUS_SECONDARY_LAYER_LOADING,1.500,""),
            (libfbrw.FBTypes.eHERBACEOUS_SECONDARY_LAYER_PERCENT_COVER,1.500,""),
            (libfbrw.FBTypes.eHERBACEOUS_SECONDARY_LAYER_PERCENT_LIVE,1.333,""),
            (libfbrw.FBTypes.eWOODY_FUEL_SOUND_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_THREE_TO_NINE_INCHES,0.750,""),
            (libfbrw.FBTypes.eWOODY_FUEL_SOUND_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_NINE_TO_TWENTY_INCHES,0.750,""),
            (libfbrw.FBTypes.eWOODY_FUEL_SOUND_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_GREATER_THAN_TWENTY_INCHES,0.750,""),
            (libfbrw.FBTypes.eMOSS_LICHEN_LITTER_LITTER_DEPTH,1.333,""),
            (libfbrw.FBTypes.eMOSS_LICHEN_LITTER_LITTER_PERCENT_COVER,1.333,""),
        ],
        fbrw.TIMESTEP[2]: [
            (libfbrw.FBTypes.eSHRUBS_PRIMARY_LAYER_PERCENT_COVER,1.067,""),
            (libfbrw.FBTypes.eSHRUBS_SECONDARY_LAYER_PERCENT_COVER,1.067,""),
            (libfbrw.FBTypes.eHERBACEOUS_PRIMARY_LAYER_LOADING,0.889,""),
            (libfbrw.FBTypes.eHERBACEOUS_PRIMARY_LAYER_PERCENT_COVER,0.889,""),
            (libfbrw.FBTypes.eHERBACEOUS_SECONDARY_LAYER_LOADING,0.889,""),
            (libfbrw.FBTypes.eHERBACEOUS_SECONDARY_LAYER_PERCENT_COVER,0.889,""),
            (libfbrw.FBTypes.eWOODY_FUEL_ALL_DOWNED_WOODY_FUEL_DEPTH,1.333,""),
            (libfbrw.FBTypes.eWOODY_FUEL_ALL_DOWNED_WOODY_FUEL_TOTAL_PERCENT_COVER,1.333,""),
            (libfbrw.FBTypes.eWOODY_FUEL_SOUND_WOOD_LOADINGS_ZERO_TO_THREE_INCHES_ONE_TO_THREE_INCHES,1.333,""),
            (libfbrw.FBTypes.eWOODY_FUEL_SOUND_WOOD_LOADINGS_ZERO_TO_THREE_INCHES_QUARTER_INCH_TO_ONE_INCH,1.333,""),
            (libfbrw.FBTypes.eWOODY_FUEL_SOUND_WOOD_LOADINGS_ZERO_TO_THREE_INCHES_ZERO_TO_QUARTER_INCH,1.333,""),
            (libfbrw.FBTypes.eWOODY_FUEL_SOUND_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_THREE_TO_NINE_INCHES,0.500,""),
            (libfbrw.FBTypes.eWOODY_FUEL_SOUND_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_NINE_TO_TWENTY_INCHES,0.500,""),
            (libfbrw.FBTypes.eWOODY_FUEL_SOUND_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_GREATER_THAN_TWENTY_INCHES,0.500,""),
            (libfbrw.FBTypes.eMOSS_LICHEN_LITTER_GROUND_LICHEN_DEPTH,1.333,""),
            (libfbrw.FBTypes.eMOSS_LICHEN_LITTER_GROUND_LICHEN_PERCENT_COVER,1.333,""),
            (libfbrw.FBTypes.eMOSS_LICHEN_LITTER_MOSS_DEPTH,1.333,""),
            (libfbrw.FBTypes.eMOSS_LICHEN_LITTER_MOSS_PERCENT_COVER,1.333,""),
        ],
    },
    fbrw.SEVERITY[1]: {
        fbrw.TIMESTEP[0]: [
            (libfbrw.FBTypes.eCANOPY_TREES_TOTAL_PERCENT_COVER,0.670,""),
            (libfbrw.FBTypes.eCANOPY_TREES_OVERSTORY_DIAMETER_AT_BREAST_HEIGHT,1.250,""),
            (libfbrw.FBTypes.eCANOPY_TREES_OVERSTORY_HEIGHT_TO_LIVE_CROWN,1.500,""),
            (libfbrw.FBTypes.eCANOPY_TREES_OVERSTORY_PERCENT_COVER,0.500,""),
            (libfbrw.FBTypes.eCANOPY_TREES_OVERSTORY_STEM_DENSITY,0.500,""),
            (libfbrw.FBTypes.eCANOPY_TREES_MIDSTORY_DIAMETER_AT_BREAST_HEIGHT,1.250,""),
            (libfbrw.FBTypes.eCANOPY_TREES_MIDSTORY_HEIGHT_TO_LIVE_CROWN,1.500,""),
            (libfbrw.FBTypes.eCANOPY_TREES_MIDSTORY_PERCENT_COVER,0.500,""),
            (libfbrw.FBTypes.eCANOPY_TREES_MIDSTORY_STEM_DENSITY,0.500,""),
            (libfbrw.FBTypes.eSHRUBS_PRIMARY_LAYER_PERCENT_COVER,0.500,""),
            (libfbrw.FBTypes.eSHRUBS_PRIMARY_LAYER_PERCENT_LIVE,0.250,""),
            (libfbrw.FBTypes.eSHRUBS_SECONDARY_LAYER_PERCENT_COVER,0.500,""),
            (libfbrw.FBTypes.eSHRUBS_SECONDARY_LAYER_PERCENT_LIVE,0.250,""),
            (libfbrw.FBTypes.eHERBACEOUS_PRIMARY_LAYER_LOADING,0.500,""),
            (libfbrw.FBTypes.eHERBACEOUS_PRIMARY_LAYER_PERCENT_COVER,0.500,""),
            (libfbrw.FBTypes.eHERBACEOUS_PRIMARY_LAYER_PERCENT_LIVE,0.500,""),
            (libfbrw.FBTypes.eHERBACEOUS_SECONDARY_LAYER_LOADING,0.500,""),
            (libfbrw.FBTypes.eHERBACEOUS_SECONDARY_LAYER_PERCENT_COVER,0.500,""),
            (libfbrw.FBTypes.eHERBACEOUS_SECONDARY_LAYER_PERCENT_LIVE,0.500,""),
            (libfbrw.FBTypes.eWOODY_FUEL_ALL_DOWNED_WOODY_FUEL_DEPTH,0.500,""),
            (libfbrw.FBTypes.eWOODY_FUEL_ALL_DOWNED_WOODY_FUEL_TOTAL_PERCENT_COVER,0.500,""),
            (libfbrw.FBTypes.eWOODY_FUEL_SOUND_WOOD_LOADINGS_ZERO_TO_THREE_INCHES_ONE_TO_THREE_INCHES,0.500,""),
            (libfbrw.FBTypes.eWOODY_FUEL_SOUND_WOOD_LOADINGS_ZERO_TO_THREE_INCHES_QUARTER_INCH_TO_ONE_INCH,0.500,""),
            (libfbrw.FBTypes.eWOODY_FUEL_SOUND_WOOD_LOADINGS_ZERO_TO_THREE_INCHES_ZERO_TO_QUARTER_INCH,0.500,""),
            (libfbrw.FBTypes.eWOODY_FUEL_SOUND_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_THREE_TO_NINE_INCHES,0.800,""),
            (libfbrw.FBTypes.eWOODY_FUEL_SOUND_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_NINE_TO_TWENTY_INCHES,0.800,""),
            (libfbrw.FBTypes.eWOODY_FUEL_SOUND_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_GREATER_THAN_TWENTY_INCHES,0.800,""),
            (libfbrw.FBTypes.eWOODY_FUEL_ROTTEN_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_THREE_TO_NINE_INCHES,0.800,""),
            (libfbrw.FBTypes.eWOODY_FUEL_ROTTEN_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_NINE_TO_TWENTY_INCHES,0.800,""),
            (libfbrw.FBTypes.eWOODY_FUEL_ROTTEN_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_GREATER_THAN_TWENTY_INCHES,0.800,""),
            (libfbrw.FBTypes.eWOODY_FUEL_PILES_CLEAN_LOADING,0.500,""),
            (libfbrw.FBTypes.eWOODY_FUEL_PILES_DIRTY_LOADING,0.500,""),
            (libfbrw.FBTypes.eWOODY_FUEL_PILES_VERYDIRTY_LOADING,0.500,""),
            (libfbrw.FBTypes.eMOSS_LICHEN_LITTER_GROUND_LICHEN_DEPTH,0.500,""),
            (libfbrw.FBTypes.eMOSS_LICHEN_LITTER_GROUND_LICHEN_PERCENT_COVER,0.500,""),
            (libfbrw.FBTypes.eMOSS_LICHEN_LITTER_LITTER_DEPTH,0.500,""),
            (libfbrw.FBTypes.eMOSS_LICHEN_LITTER_LITTER_PERCENT_COVER,0.500,""),
            (libfbrw.FBTypes.eMOSS_LICHEN_LITTER_MOSS_DEPTH,0.500,""),
            (libfbrw.FBTypes.eMOSS_LICHEN_LITTER_MOSS_PERCENT_COVER,0.500,""),
            (libfbrw.FBTypes.eGROUND_FUEL_DUFF_LOWER_DEPTH,0.500,""),
            (libfbrw.FBTypes.eGROUND_FUEL_DUFF_LOWER_PERCENT_COVER,0.500,""),
            (libfbrw.FBTypes.eGROUND_FUEL_DUFF_UPPER_DEPTH,0.500,""),
            (libfbrw.FBTypes.eGROUND_FUEL_DUFF_UPPER_PERCENT_COVER,0.500,""),
            (libfbrw.FBTypes.eGROUND_FUEL_BASAL_ACCUMULATION_DEPTH,0.500,""),
            (libfbrw.FBTypes.eGROUND_FUEL_BASAL_ACCUMULATION_NUMBER_PER_UNIT_AREA,0.500,""),
            (libfbrw.FBTypes.eGROUND_FUEL_SQUIRREL_MIDDENS_DEPTH,0.500,""),
            (libfbrw.FBTypes.eGROUND_FUEL_SQUIRREL_MIDDENS_NUMBER_PER_UNIT_AREA,0.500,""),
        ],
        fbrw.TIMESTEP[1]: [
            (libfbrw.FBTypes.eSHRUBS_PRIMARY_LAYER_PERCENT_COVER,1.500,""),
            (libfbrw.FBTypes.eSHRUBS_PRIMARY_LAYER_PERCENT_LIVE,4.000,""),
            (libfbrw.FBTypes.eSHRUBS_SECONDARY_LAYER_PERCENT_COVER,1.500,""),
            (libfbrw.FBTypes.eSHRUBS_SECONDARY_LAYER_PERCENT_LIVE,4.000,""),
            (libfbrw.FBTypes.eHERBACEOUS_PRIMARY_LAYER_LOADING,1.500,""),
            (libfbrw.FBTypes.eHERBACEOUS_PRIMARY_LAYER_PERCENT_COVER,1.500,""),
            (libfbrw.FBTypes.eHERBACEOUS_PRIMARY_LAYER_PERCENT_LIVE,2.000,""),
            (libfbrw.FBTypes.eHERBACEOUS_SECONDARY_LAYER_LOADING,1.500,""),
            (libfbrw.FBTypes.eHERBACEOUS_SECONDARY_LAYER_PERCENT_COVER,1.500,""),
            (libfbrw.FBTypes.eHERBACEOUS_SECONDARY_LAYER_PERCENT_LIVE,2.000,""),
            (libfbrw.FBTypes.eWOODY_FUEL_SOUND_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_THREE_TO_NINE_INCHES,0.750,""),
            (libfbrw.FBTypes.eWOODY_FUEL_SOUND_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_NINE_TO_TWENTY_INCHES,0.750,""),
            (libfbrw.FBTypes.eWOODY_FUEL_SOUND_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_GREATER_THAN_TWENTY_INCHES,0.750,""),
            (libfbrw.FBTypes.eMOSS_LICHEN_LITTER_LITTER_DEPTH,2.000,""),
            (libfbrw.FBTypes.eMOSS_LICHEN_LITTER_LITTER_PERCENT_COVER,2.000,""),
        ],
        fbrw.TIMESTEP[2]: [
            (libfbrw.FBTypes.eSHRUBS_PRIMARY_LAYER_PERCENT_COVER,1.333,""),
            (libfbrw.FBTypes.eSHRUBS_SECONDARY_LAYER_PERCENT_COVER,1.333,""),
            (libfbrw.FBTypes.eHERBACEOUS_PRIMARY_LAYER_LOADING,1.333,""),
            (libfbrw.FBTypes.eHERBACEOUS_PRIMARY_LAYER_PERCENT_COVER,1.333,""),
            (libfbrw.FBTypes.eHERBACEOUS_SECONDARY_LAYER_LOADING,1.333,""),
            (libfbrw.FBTypes.eHERBACEOUS_SECONDARY_LAYER_PERCENT_COVER,1.333,""),
            (libfbrw.FBTypes.eWOODY_FUEL_ALL_DOWNED_WOODY_FUEL_DEPTH,0.660,""),
            (libfbrw.FBTypes.eWOODY_FUEL_ALL_DOWNED_WOODY_FUEL_TOTAL_PERCENT_COVER,0.660,""),
            (libfbrw.FBTypes.eWOODY_FUEL_SOUND_WOOD_LOADINGS_ZERO_TO_THREE_INCHES_ZERO_TO_QUARTER_INCH,0.660,""),
            (libfbrw.FBTypes.eWOODY_FUEL_SOUND_WOOD_LOADINGS_ZERO_TO_THREE_INCHES_QUARTER_INCH_TO_ONE_INCH,0.660,""),
            (libfbrw.FBTypes.eWOODY_FUEL_SOUND_WOOD_LOADINGS_ZERO_TO_THREE_INCHES_ONE_TO_THREE_INCHES,0.660,""),
            (libfbrw.FBTypes.eWOODY_FUEL_SOUND_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_THREE_TO_NINE_INCHES,0.500,""),
            (libfbrw.FBTypes.eWOODY_FUEL_SOUND_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_NINE_TO_TWENTY_INCHES,0.500,""),
            (libfbrw.FBTypes.eWOODY_FUEL_SOUND_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_GREATER_THAN_TWENTY_INCHES,0.500,""),
            (libfbrw.FBTypes.eMOSS_LICHEN_LITTER_GROUND_LICHEN_DEPTH,2.000,""),
            (libfbrw.FBTypes.eMOSS_LICHEN_LITTER_GROUND_LICHEN_PERCENT_COVER,2.000,""),
            (libfbrw.FBTypes.eMOSS_LICHEN_LITTER_MOSS_DEPTH,2.000,""),
            (libfbrw.FBTypes.eMOSS_LICHEN_LITTER_MOSS_PERCENT_COVER,2.000,""),
        ],
    },
    fbrw.SEVERITY[2]: {
        fbrw.TIMESTEP[0]: [
            (libfbrw.FBTypes.eCANOPY_TREES_TOTAL_PERCENT_COVER,0.330,""),
            (libfbrw.FBTypes.eCANOPY_TREES_OVERSTORY_DIAMETER_AT_BREAST_HEIGHT,1.250,""),
            (libfbrw.FBTypes.eCANOPY_TREES_OVERSTORY_HEIGHT_TO_LIVE_CROWN,1.500,""),
            (libfbrw.FBTypes.eCANOPY_TREES_OVERSTORY_PERCENT_COVER,0.250,""),
            (libfbrw.FBTypes.eCANOPY_TREES_OVERSTORY_STEM_DENSITY,0.250,""),
            (libfbrw.FBTypes.eCANOPY_TREES_MIDSTORY_DIAMETER_AT_BREAST_HEIGHT,1.250,""),
            (libfbrw.FBTypes.eCANOPY_TREES_MIDSTORY_HEIGHT_TO_LIVE_CROWN,1.500,""),
            (libfbrw.FBTypes.eCANOPY_TREES_MIDSTORY_PERCENT_COVER,0.250,""),
            (libfbrw.FBTypes.eCANOPY_TREES_MIDSTORY_STEM_DENSITY,0.250,""),
            (libfbrw.FBTypes.eSHRUBS_PRIMARY_LAYER_PERCENT_COVER,0.250,""),
            (libfbrw.FBTypes.eSHRUBS_PRIMARY_LAYER_PERCENT_LIVE,0.100,""),
            (libfbrw.FBTypes.eSHRUBS_SECONDARY_LAYER_PERCENT_COVER,0.250,""),
            (libfbrw.FBTypes.eSHRUBS_SECONDARY_LAYER_PERCENT_LIVE,0.100,""),
            (libfbrw.FBTypes.eHERBACEOUS_PRIMARY_LAYER_LOADING,0.250,""),
            (libfbrw.FBTypes.eHERBACEOUS_PRIMARY_LAYER_PERCENT_COVER,0.250,""),
            (libfbrw.FBTypes.eHERBACEOUS_PRIMARY_LAYER_PERCENT_LIVE,0.250,""),
            (libfbrw.FBTypes.eHERBACEOUS_SECONDARY_LAYER_LOADING,0.250,""),
            (libfbrw.FBTypes.eHERBACEOUS_SECONDARY_LAYER_PERCENT_COVER,0.250,""),
            (libfbrw.FBTypes.eHERBACEOUS_SECONDARY_LAYER_PERCENT_LIVE,0.250,""),
            (libfbrw.FBTypes.eWOODY_FUEL_ALL_DOWNED_WOODY_FUEL_DEPTH,0.250,""),
            (libfbrw.FBTypes.eWOODY_FUEL_ALL_DOWNED_WOODY_FUEL_TOTAL_PERCENT_COVER,0.250,""),
            (libfbrw.FBTypes.eWOODY_FUEL_SOUND_WOOD_LOADINGS_ZERO_TO_THREE_INCHES_ONE_TO_THREE_INCHES,0.250,""),
            (libfbrw.FBTypes.eWOODY_FUEL_SOUND_WOOD_LOADINGS_ZERO_TO_THREE_INCHES_QUARTER_INCH_TO_ONE_INCH,0.250,""),
            (libfbrw.FBTypes.eWOODY_FUEL_SOUND_WOOD_LOADINGS_ZERO_TO_THREE_INCHES_ZERO_TO_QUARTER_INCH,0.250,""),
            (libfbrw.FBTypes.eWOODY_FUEL_SOUND_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_THREE_TO_NINE_INCHES,0.550,""),
            (libfbrw.FBTypes.eWOODY_FUEL_SOUND_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_NINE_TO_TWENTY_INCHES,0.550,""),
            (libfbrw.FBTypes.eWOODY_FUEL_SOUND_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_GREATER_THAN_TWENTY_INCHES,0.550,""),
            (libfbrw.FBTypes.eWOODY_FUEL_ROTTEN_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_THREE_TO_NINE_INCHES,0.550,""),
            (libfbrw.FBTypes.eWOODY_FUEL_ROTTEN_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_NINE_TO_TWENTY_INCHES,0.550,""),
            (libfbrw.FBTypes.eWOODY_FUEL_ROTTEN_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_GREATER_THAN_TWENTY_INCHES,0.550,""),
            (libfbrw.FBTypes.eWOODY_FUEL_PILES_CLEAN_LOADING,0.250,""),
            (libfbrw.FBTypes.eWOODY_FUEL_PILES_DIRTY_LOADING,0.250,""),
            (libfbrw.FBTypes.eWOODY_FUEL_PILES_VERYDIRTY_LOADING,0.250,""),
            (libfbrw.FBTypes.eMOSS_LICHEN_LITTER_GROUND_LICHEN_DEPTH,0.250,""),
            (libfbrw.FBTypes.eMOSS_LICHEN_LITTER_GROUND_LICHEN_PERCENT_COVER,0.250,""),
            (libfbrw.FBTypes.eMOSS_LICHEN_LITTER_LITTER_DEPTH,0.250,""),
            (libfbrw.FBTypes.eMOSS_LICHEN_LITTER_LITTER_PERCENT_COVER,0.250,""),
            (libfbrw.FBTypes.eMOSS_LICHEN_LITTER_MOSS_DEPTH,0.250,""),
            (libfbrw.FBTypes.eMOSS_LICHEN_LITTER_MOSS_PERCENT_COVER,0.250,""),
            (libfbrw.FBTypes.eGROUND_FUEL_DUFF_LOWER_DEPTH,0.250,""),
            (libfbrw.FBTypes.eGROUND_FUEL_DUFF_LOWER_PERCENT_COVER,0.250,""),
            (libfbrw.FBTypes.eGROUND_FUEL_DUFF_UPPER_DEPTH,0.250,""),
            (libfbrw.FBTypes.eGROUND_FUEL_DUFF_UPPER_PERCENT_COVER,0.250,""),
            (libfbrw.FBTypes.eGROUND_FUEL_BASAL_ACCUMULATION_DEPTH,0.250,""),
            (libfbrw.FBTypes.eGROUND_FUEL_BASAL_ACCUMULATION_NUMBER_PER_UNIT_AREA,0.250,""),
            (libfbrw.FBTypes.eGROUND_FUEL_SQUIRREL_MIDDENS_DEPTH,0.250,""),
            (libfbrw.FBTypes.eGROUND_FUEL_SQUIRREL_MIDDENS_NUMBER_PER_UNIT_AREA,0.250,""),
        ],
        fbrw.TIMESTEP[1]: [
            (libfbrw.FBTypes.eSHRUBS_PRIMARY_LAYER_PERCENT_COVER,1.500,""),
            (libfbrw.FBTypes.eSHRUBS_PRIMARY_LAYER_PERCENT_LIVE,10.000,""),
            (libfbrw.FBTypes.eSHRUBS_SECONDARY_LAYER_PERCENT_COVER,1.500,""),
            (libfbrw.FBTypes.eSHRUBS_SECONDARY_LAYER_PERCENT_LIVE,10.000,""),
            (libfbrw.FBTypes.eHERBACEOUS_PRIMARY_LAYER_LOADING,1.500,""),
            (libfbrw.FBTypes.eHERBACEOUS_PRIMARY_LAYER_PERCENT_COVER,1.500,""),
            (libfbrw.FBTypes.eHERBACEOUS_PRIMARY_LAYER_PERCENT_LIVE,4.000,""),
            (libfbrw.FBTypes.eHERBACEOUS_SECONDARY_LAYER_LOADING,1.500,""),
            (libfbrw.FBTypes.eHERBACEOUS_SECONDARY_LAYER_PERCENT_COVER,1.500,""),
            (libfbrw.FBTypes.eHERBACEOUS_SECONDARY_LAYER_PERCENT_LIVE,4.000,""),
            (libfbrw.FBTypes.eWOODY_FUEL_SOUND_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_THREE_TO_NINE_INCHES,0.750,""),
            (libfbrw.FBTypes.eWOODY_FUEL_SOUND_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_NINE_TO_TWENTY_INCHES,0.750,""),
            (libfbrw.FBTypes.eWOODY_FUEL_SOUND_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_GREATER_THAN_TWENTY_INCHES,0.750,""),
            (libfbrw.FBTypes.eMOSS_LICHEN_LITTER_LITTER_DEPTH,4.000,""),
            (libfbrw.FBTypes.eMOSS_LICHEN_LITTER_LITTER_PERCENT_COVER,4.000,""),
        ],
        fbrw.TIMESTEP[2]: [
            (libfbrw.FBTypes.eSHRUBS_PRIMARY_LAYER_PERCENT_COVER,2.667,""),
            (libfbrw.FBTypes.eSHRUBS_SECONDARY_LAYER_PERCENT_COVER,2.667,""),
            (libfbrw.FBTypes.eHERBACEOUS_PRIMARY_LAYER_LOADING,2.667,""),
            (libfbrw.FBTypes.eHERBACEOUS_PRIMARY_LAYER_PERCENT_COVER,2.667,""),
            (libfbrw.FBTypes.eHERBACEOUS_SECONDARY_LAYER_LOADING,2.667,""),
            (libfbrw.FBTypes.eHERBACEOUS_SECONDARY_LAYER_PERCENT_COVER,2.667,""),
            (libfbrw.FBTypes.eWOODY_FUEL_ALL_DOWNED_WOODY_FUEL_DEPTH,1.320,""),
            (libfbrw.FBTypes.eWOODY_FUEL_ALL_DOWNED_WOODY_FUEL_TOTAL_PERCENT_COVER,1.320,""),
            (libfbrw.FBTypes.eWOODY_FUEL_SOUND_WOOD_LOADINGS_ZERO_TO_THREE_INCHES_ZERO_TO_QUARTER_INCH,1.320,""),
            (libfbrw.FBTypes.eWOODY_FUEL_SOUND_WOOD_LOADINGS_ZERO_TO_THREE_INCHES_QUARTER_INCH_TO_ONE_INCH,1.320,""),
            (libfbrw.FBTypes.eWOODY_FUEL_SOUND_WOOD_LOADINGS_ZERO_TO_THREE_INCHES_ONE_TO_THREE_INCHES,1.320,""),
            (libfbrw.FBTypes.eWOODY_FUEL_SOUND_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_THREE_TO_NINE_INCHES,0.500,""),
            (libfbrw.FBTypes.eWOODY_FUEL_SOUND_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_NINE_TO_TWENTY_INCHES,0.500,""),
            (libfbrw.FBTypes.eWOODY_FUEL_SOUND_WOOD_LOADINGS_GREATER_THAN_THREE_INCHES_GREATER_THAN_TWENTY_INCHES,0.500,""),
            (libfbrw.FBTypes.eMOSS_LICHEN_LITTER_GROUND_LICHEN_DEPTH,4.000,""),
            (libfbrw.FBTypes.eMOSS_LICHEN_LITTER_GROUND_LICHEN_PERCENT_COVER,4.000,""),
            (libfbrw.FBTypes.eMOSS_LICHEN_LITTER_MOSS_DEPTH,4.000,""),
            (libfbrw.FBTypes.eMOSS_LICHEN_LITTER_MOSS_PERCENT_COVER,4.000,""),
        ],
    },
}
            
def placeholder(fb):
    pass
    
def remove_understory(fb):
    fb.SetNodeEmpty(libfbrw.FBNodeWithSpeciesType.eCANOPY_TREES_UNDERSTORY)
    
  
special_funcs = {
    fbrw.SEVERITY[0]: {
        fbrw.TIMESTEP[0]: [ (sp.add_stumps, 0.25, 0.25) ],
        fbrw.TIMESTEP[1]: [ (sp.process_sound_wood, 0.25)],
        fbrw.TIMESTEP[2]: [ (sp.sound_to_rotten_stumps,), (sp.process_sound_wood, 0.5)],
    },
    fbrw.SEVERITY[1]: {
        fbrw.TIMESTEP[0]: [ (sp.add_stumps, 0.5, 0.5), (remove_understory,) ],
        fbrw.TIMESTEP[1]: [ (sp.process_sound_wood, 0.25) ],
        fbrw.TIMESTEP[2]: [ (sp.sound_to_rotten_stumps,), (sp.process_sound_wood, 0.5)],
    },
    fbrw.SEVERITY[2]: {
        fbrw.TIMESTEP[0]: [ (sp.add_stumps, 0.75, 0.75), (remove_understory,) ],
        fbrw.TIMESTEP[1]: [ (sp.process_sound_wood, 0.25)],
        fbrw.TIMESTEP[2]: [ (sp.sound_to_rotten_stumps,), (sp.process_sound_wood, 0.5)],
    }
}
  
'''  
special_funcs = {
    fbrw.SEVERITY[0]: {
        fbrw.TIMESTEP[0]: [ (placeholder), ],
        fbrw.TIMESTEP[1]: [ (placeholder), (sp.process_sound_wood, 0.25)],
        fbrw.TIMESTEP[2]: [ (placeholder), (sp.process_sound_wood, 0.5)],
    },
    fbrw.SEVERITY[1]: {
        fbrw.TIMESTEP[0]: [ (placeholder), ],
        fbrw.TIMESTEP[1]: [ (placeholder), (sp.process_sound_wood, 0.25)],
        fbrw.TIMESTEP[2]: [ (placeholder), (sp.process_sound_wood, 0.5)],
    },
    fbrw.SEVERITY[2]: {
        fbrw.TIMESTEP[0]: [ (placeholder), ],
        fbrw.TIMESTEP[1]: [ (placeholder), (sp.process_sound_wood, 0.25)],
        fbrw.TIMESTEP[2]: [ (placeholder), (sp.process_sound_wood, 0.5)],
    }
}
'''
#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#   Required functions for a disturbance module
#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
def do_special(fb, severity, timestep):
    for item in special_funcs[severity][timestep]:
        func = item[0]
        if len(item) > 1:
            args = item[1:]
            func(fb, *args)
        else:
            func(fb)
        
def get_scaling_params(severity, timestep):
    return scale_these[severity][timestep]
        
        