What's New
Research & Projects Publications
People
Data
Links

| Home | Contact | UCSB | Bren | ICESS |

PRESERVE SELECTION MODELING IN THE COLUMBIA PLATEAU


APPENDICES

Formulation of the Biodiversity Management Areas Selection (BMAS) Model

In order to formulate this model, we use the following notation (see the Glossary in Appendix 8.6 for definitions of terms):

We can formulate the general Biodiversity Management Area Selection (BMAS) Model in the following manner:

This model, which we have termed the biodiversity management area selection (BMAS) model, involves selecting the most suitable planning units that contain underrepresented biodiversity elements. An element is considered vulnerable until a specified fraction of its mapped distribution occurs in areas designated as BMAs. This is established by condition 1). Either a planning unit is selected as a BMA or it is isn't. This is enforced by condition 2).

The objective function (Equation (1)) contains two terms. The first term is strictly an area term, and has the effect of minimizing the total area selected for biodiversity management options (i.e., efficiency). The second term is a suitability term. As we define it , the less suitable an area is, the higher this term becomes. Thus this term operates to minimize the total "unsuitability" of the selected areas. The target levels for representation of biodiversity elements can be set for each type individually. This formulation provides some flexibility in the way that rare or endemic elements are treated relative to more widespread types.


GIS data sets

Dataset Source Processing History
Biological Element Data
Land-cover map of alliances or groups of alliances Gap Analysis of the Intermountain Semi-Desert Ecoregion (see Stoms et al. in review for mapping details); filled gaps in TNC ecoregion with state GAP maps; 100 ha minimum mapping unit
Invertebrate element occurrences TNC compiled by TNC core team from state Heritage programs
Vertebrate element occurrences TNC compiled by TNC core team from state Heritage programs
Plants element occurrences TNC compiled by TNC core team from state Heritage programs
Plant association element occurrences TNC compiled by TNC core team from state Heritage programs
Biophysical Data
Potential natural vegetation Interior Columbia Basin Ecosystem Management Plan team 1 km grid of interpreted categories that integrate life-form, prevailing temperature, and prevailing moisture
Land Management and Conservation Suitability Data
Land management status levels Gap Analysis of the Intermountain Semi-Desert Ecoregion; TNC GAP mapping modified by TNC by adding ICBEMP natural areas and revising some status classifications
Roadedness ICB/TIGER statewide Census Bureau TIGER files acquired from ICBEMP; roads buffered by Census Feature Class Code for road class and buffer area summarized by watershed; areas beyond ICBEMP region were similarly processed from TIGER CD-ROM
Human population density CIESIN convert this national set of interpolated population from 1990 census on a 1 km lattice of points into a 1 km grid; sum population over watersheds and convert to density. (source data at: ftp://ftp.ciesin.org/pub/census/usa/ grid/pall/us/)
Expert opinion TNC sum of the number of expert panels that identified each watershed as a priority for their taxon of interest
Aquatic integrity index Interior Columbia Basin Ecosystem Management Plan team composite index of fish community integrity as the average of a relative index of strong populations of key salmonids; a relative index of species richness within parent subbasin; and the relative index of the ratio of native species diversity to total species diversity, multiplied by native species evenness. index was at the resolution of HUC5 watersheds, but were assigned to all subwatersheds for TNC planning
Percentage of private land per watershed Gap Analysis of the Intermountain Semi-Desert Ecoregion summarized from original GAP land management status layer
Percentage of land converted to human use Gap Analysis of the Intermountain Semi-Desert Ecoregion summarized from GAP land-cover layer where land-use was developed, agricultural, or wheatgrass seedings
Distance from core areas UCSB EUCDISTANCE command on grid of management status; minimum distance in a watershed used
Planning Region & Units
Ecoregion boundary TNC Modified from USFS ECOMAP ecoregion coverage by TNC
Watersheds Interior Columbia Basin Ecosystem Management Plan team HUC6 subwatersheds delineated by ICBEMP team on mylar at 1:100,000 scale
Section boundaries TNC Modified from USFS ECOMAP region GIS coverage by TNC


Pre-processing GIS data

AML for pre-processing data

/*----------------------------------------------------------------------
/*
/*             BMAS_IN.AML: by dstoms 03/28/97
/*
/*              runs inside ARC
/*
/*----------------------------PURPOSE-----------------------------------
/*
/* THIS AML WILL DETERMINE AREA OF REMAINING VULNERABILITY OF DESIRED
/*    BIODIVERSITY ELEMENTS, SUITABILITY, AND AJK IN THE COLUMBIA
/*    PLATEAU ECOREGION
/*
/* USER CHOOSES REPRESENTATION TARGET, DEFINITION OF PROTECTION,
/*    AND SUITABILITY FACTOR WEIGHTS
/*
/*------------------------AML VARIABLES-------------------------------
/*
/* DATE         - current date and time for header of output files
/* ALTNAME      - root name of alternative as prefix for output files
/* EXISTBMA     - choice of what is currently protected
/* PLANREG      - choice of Columbia Plateau Ecoregion or sections
/*                over which representation targets should apply
/* ELEMENT      - choice of biodiversity elements to be represented
/* REPTARGET    - choice of percentage level for representation of elements
/* WT_ROADDENS  - weight for road density in suit-j
/* WT_POPDENS   - weight for population density in suit-j
/* WT_PVT       - weight for percent private land in suit-j
/* WT_PCTCONV   - weight for % land converted in suit-j
/* WT_EXPERT    - weight for # of expert opinion core areas in suit-j
/* WT_BMADIST   - weight for distance to nearest bma in suit-j
/* WT_COREDIST  - weight for distance to nearest bma or other seed
/*                     area in suit-j
/* WT_AQUA      - weight for ICB aquatic integrity index
/*                (see EXISTBMA for definition of "protected")
/*
/*------------------------INFO VARIABLES-------------------------------
/*
/* CPWATERSHED-ID    - ID OF WATERSHED X SECTION INTERSECTION IN
/*                     CPWATERSHED.SUIT, ETC.
/* SECTION   - CODENAME OF SECTION IN CPWATERSHED.SUIT, ETC.
/* AJK       - AREA OF ELEMENT K IN WATERSHED J, IN %ELEMENT%STEWWAT.FREQ2
/* AREAJ     - AREA OF WATERSHED J, IN CPWATERSHED.SUIT IN HECTARES
/* SUITJ     - SUITABILITY INDEX OF WATERSHED J, IN CPWATERSHED.SUIT
/* MINK      - AREA OF REMAINING VULNERABILITY OF ELEMENT K, IN
/*             %ELEMENT%STEWWAT.%ELEMENT%SUB
/* DESIREDELEM      - % REPRESENTATION TARGET CLASS TABLE BY ELEMENT
/*             SEE %ELEMENT%.ELEMS %ELEMENT%.TARGETS
/* ROADDENS  - road density for suit-j in CPWATERSHED.SUIT
/* POPDENS   - population density for suit-j in CPWATERSHED.SUIT
/* PCTPRIVATE    - % private land for suit-j in CPWATERSHED.SUIT
/* PCTCONVERT - % land converted for suit-j in CPWATERSHED.SUIT
/* BMADIST    - distance in km from nearest bma for suit-j in CPWATERSHED.SUIT
/* COREDIST   - distance in km from nearest bma or other seed area
/*                 for suit-j in CPWATERSHED.SUIT
/* EXPERT_NUM    - # of expert opinion core areas for suit-j in CPWATERSHED.SUIT
/* AQINTEG5  - aquatic integrity index (ICB) for suit-j in CPWATERSHED.SUIT
/*
/*------------------------INFO TABLES REQUIRED--------------------------
/*
/* CPWATERSHED.SUIT    - Table of watershed SUITJ computed by alternative
/* GAPSTEWWAT.FREQ     - Table of area of status of alliances by watershed
/*                       used to determine vulnerability
/* GAPSTEWWAT.GAPSUB   - Table of area and % protected (stat1, 2) by alliance
/*                       used with REPTARGET to compute MINK
/* GAPSTEWWAT.FREQ2    - Table of area AJK of alliances by watershed
/*                       derived from .FREQ table and alternative parameters
/* GAPSTEWWAT.ELEMS    - Table of representation class for biodiversity
/*                       elements in alternative
/* GAPSTEWWAT.TARGETS  - Table of representation targets for cover typesin alternative
/* ENVSTEWWAT.FREQ     - Table of area of status of environments by watershed
/*                       used to determine vulnerability
/* ENVSTEWWAT.ENVSUB   - Table of area and % protected (stat1, 2) by environment
/*                       used with REPTARGET to compute MINK
/* ENVSTEWWAT.FREQ2    - Table of area AJK of environment by watershed
/*                       derived from .FREQ table and alternative parameters
/* ENVSTEWWAT.ELEMS    - Table of representation class for biodiversity
/*                       elements in alternative
/* ENVSTEWWAT.TARGETS  - Table of representation targets for cover typesin alternative
/*
/*------------------------OUTPUT FILES PRODUCED------------------------
/*
/* %ALTNAME%.HDR   - list of user-defined parameters in current alternative
/* %ALTNAME%.AJK   - elements and their potential areal contribution
/*                    toward representation in watersheds
/* %ALTNAME%.SUIT  - suitability index and area of watershed in
/*                   current alternative
/* %ALTNAME%.MINK  - remaining vulnerability of elements in current alternative
/*
/*----------------------------------------------------------------------
/*      SELECT SCENARIO PARAMETERS
/*
display 9999
&terminal 9999 &mouse
&menu bmas_in
/*
/* save parameters to %ALTNAME%.HDR file
&sys echo Alternative = %altname% > bmasfiles/%altname%.hdr
&sys echo %comments% >> bmasfiles/%altname%.hdr
&sys echo Date = %date% >> bmasfiles/%altname%.hdr
&sys echo Existing BMA = %existbma% >> bmasfiles/%altname%.hdr
&sys echo Planning Region = %planreg% >> bmasfiles/%altname%.hdr
&sys echo Element = %element% >> bmasfiles/%altname%.hdr
&sys echo Road Density = %wt_road% >> bmasfiles/%altname%.hdr
&sys echo Pop Density = %wt_pop% >> bmasfiles/%altname%.hdr
&sys echo Pct Private = %wt_pvt% >> bmasfiles/%altname%.hdr
&sys echo Pct Converted = %wt_conv% >> bmasfiles/%altname%.hdr
&sys echo Land Values = %wt_landval% >> bmasfiles/%altname%.hdr
&sys echo Km to BMA = %wt_bmadist% >> bmasfiles/%altname%.hdr
&sys echo Km to Seeds = %wt_coredist% >> bmasfiles/%altname%.hdr
&sys echo G1G2 = %wt_g1g2sp% >> bmasfiles/%altname%.hdr
&sys echo Expert Opinion = %wt_expert% >> bmasfiles/%altname%.hdr
&sys echo Pct Protected = %wt_pctpro% >> bmasfiles/%altname%.hdr
&sys echo Aquatic Integrity = %wt_aqua% >> bmasfiles/%altname%.hdr
&sys echo Elements not to be represented in this alternative >> bmasfiles/%altname%.hdr
&data arc info
ARC
SEL %ELEMENT%STEWWAT.TARGETS
PURGE
Y
ADD FROM ../%ELEMENT%STEWWAT.TARGETS
SEL %ELEMENT%STEWWAT.ELEMS
CALC TARGET = 0
RELATE %ELEMENT%STEWWAT.TARGETS 2 BY DESIREDELEM OR RO
CALC TARGET = $2TARGET
RESELECT TARGET = 0
OUTPUT /HOME/BIOSCRATCH0/.TMP/DESIREDELEM INIT
PRINT GRID-CODE
Q STOP
&end
&sys cat /home/bioscratch0/.tmp/desiredelem >> bmasfiles/%altname%.hdr
&severity &error &routine bailout     
/* ------------------------------------------------------------
/*      CLEANUP FROM PREVIOUS RUN
   &ty cleaning up old files
&if [EXISTS %ELEMENT%STEWWAT.TEMP -info] = .true. &then
   &do
&data arc info
ARC
SELECT %ELEMENT%STEWWAT.TEMP
ERASE %ELEMENT%STEWWAT.TEMP
Y
Q STOP
&end
   &end
&if [EXISTS %ELEMENT%STEWWAT.FREQ2 -info] = .true. &then
   &do
&data arc info
ARC
SELECT %ELEMENT%STEWWAT.FREQ2
ERASE %ELEMENT%STEWWAT.FREQ2
Y
Q STOP
&end
   &end
/* ------------------------------------------------------------
/*      DETERMINE REMAINING VULNERABILITY--MINK--FOR DESIRED ELEMENTS
   &ty Determining remaining vulnerability...
/* pct status1 and status1+2 and s1+2+expert4/5 are precomputed
/*      in %ELEMENT%STEWWAT.%ELEMENT%SUB
/*
&do
   &data arc info
ARC
CALC $COMMA-SWITCH = -1
SELECT %ELEMENT%STEWWAT.%ELEMENT%SUB
RELATE %ELEMENT%STEWWAT.ELEMS 1 BY GRID-CODE OR RO
CALC MINK = 0
RESELECT $1TARGET GT 0
CALC MINK = (( $1TARGET / 100 ) * AREA ) - AREA%EXISTBMA%
RESELECT MINK GT 0
OUTPUT ../BMASFILES/%ALTNAME%.MINK INIT
PRINT SECT-CODE,MINK
Q STOP
   &end
&end
/*
/* ------------------------------------------------------------
/*      DETERMINE SUITABILITY FROM USER PARAMETERS
/*
/* the suitability factors are normalized by their regional mean values
/* dont count AQINTEG5 with values of 9999999
&data arc info
ARC
CALC $COMMA-SWITCH = -1
SEL CPWATERSHED.SUIT
RELATE %ELEMENT%STEWWAT.%ELEMENT%SUB 1 BY SECTION
CALC SUITJ = 0
CALC SUITJ = ( %WT_ROAD% *  ( ROADDENS / 15.95 ))
CALC SUITJ = SUITJ + ( %WT_POP% * ( POPDENS / 5.23 ))
CALC SUITJ = SUITJ + ( %WT_PVT% * ( PCTPRIVATE / 46.314 ))
CALC SUITJ = SUITJ + ( %WT_CONV% * ( PCTCONVERT / 29.64 ))
CALC SUITJ = SUITJ + ( %WT_BMADIST% * ( BMADIST / 20.12 ))
CALC SUITJ = SUITJ + ( %WT_COREDIST% * ( COREDIST / 18.18 ))
CALC SUITJ = SUITJ - ( %WT_EXPERT% * ( EXPERT_NUM / 0.8 ))
RES AQINTEG5 LE 1.0
CALC SUITJ = SUITJ - ( %WT_AQUA% * ( AQINTEG5 / 0.326 ))
ASEL
OUTPUT ../BMASFILES/%ALTNAME%.SUIT INIT
PRINT $1SUBREGION,CPWATERSHED-ID,SUITJ,AREAJ
Q STOP
&end
/*
/* ------------------------------------------------------------
/*      PRINT AREA JK TO OUTPUT FILE
/*
/* sum area of unprotected lands of vulnerable types by watershed...
/*
COPYINFO %ELEMENT%STEWWAT.FREQ %ELEMENT%STEWWAT.TEMP
&if %existbma% eq 12 &then &s existbma = 2
&if %existbma% eq 5 &then &s existbma = 2
&data arc info
ARC
SELECT %ELEMENT%STEWWAT.TEMP
RELATE %ELEMENT%STEWWAT.%ELEMENT%SUB 1 BY SECT-CODE OR RO
RELATE %ELEMENT%STEWWAT.ELEMS 2 BY GRID-CODE OR RO
RELATE CPWATERSHED.SUIT 3 BY CPWATERSHED-ID OR RO
RESELECT LEVEL LE %EXISTBMA%
ASELECT $3EXPERT_NUM GE 4
PURGE
Y
RESELECT $2TARGET GT 0
RESELECT $1MINK GT 0
NSEL
PURGE
Y
Q STOP
&end
FREQUENCY %ELEMENT%STEWWAT.TEMP %ELEMENT%STEWWAT.FREQ2
CPWATERSHED-ID
SECTION
HUC6
GRID-CODE
SECT-CODE
END
AREA
END
/* print ajk data to file...
&do
   &data arc info
ARC
CALC $COMMA-SWITCH = -1
SELECT %ELEMENT%STEWWAT.TEMP
ERASE %ELEMENT%STEWWAT.TEMP
Y
SELECT %ELEMENT%STEWWAT.FREQ2
RELATE %ELEMENT%STEWWAT.%ELEMENT%SUB 1 BY SECTION
OUTPUT ../BMASFILES/%ALTNAME%.AJK INIT
PRINT $1SUBREGION,CPWATERSHED-ID,SECT-CODE,AREA
ERASE %ELEMENT%STEWWAT.FREQ2
Y
Q STOP
   &end
&end
/* &watch &off
&return;&return YOUR PROCESSING IS COMPLETE...
/*******************************************************************************
&routine bailout
&severity &error &ignore
/* &watch &off
&return EXITING BMAS_IN.AML DUE TO ERROR...


ARC menu for pre-processing data

7 bmas_in.menu
/* This is the main form menu for setting bmas parameters
/* revised 5/19/97, /home/biouser21/stoms/tnc/bmas/bmas_in.menu

BMAS PREPROCESSING PARAMETERS FORM

University of California, Santa Barbara

Biogeography Lab

Enter alternative name: %name

Enter alternative description: %comments

BIODIVERSITY PARAMETERS

Choose existing BMAs: %existchoice

Choose planning regions: %planreg

Choose biodiversity elements: %elemchoice

WATERSHED SUITABILITY PARAMETERS

Pick desired suitability factors (enter zero if factor not to be used):

%road Roadedness %pop Population density %pvt Percent private land %conv Percent land converted %bdist Km to nearest BMA %cdist Km to nearest Seed Area %xprt Expert opinion core areas %aqua Aquatic integrity

%cancelbutton %runbutton %ttybutton

%now

%now DISPLAY date 35 VALUE

%name INPUT altname 12 TYPEIN YES SIZE 12 ~ REQUIRED ~ ERROR 'Name must be no more than 12 characters long' ~ HELP 'This name will be used as prefix for bmas output files' ~ NEXT %comments ~ INITIAL 'test' ~ CHARACTER

%comments INPUT comments 78 TYPEIN YES SIZE 78 ~ REQUIRED ~ HELP 'This field is used to describe intent of alternative' ~ NEXT %existchoice ~ CHARACTER

%existchoice CHOICE existbma PAIRS ~ INITIAL '5' ~ HELP 'Defines user assumption about what is currently protected' ~ NEXT %planreg ~ 'Status 1' '1' 'Status 1+2' '12' 'S1+2+Exp4+5' '5'

%planreg CHOICE planreg PAIRS ~ INITIAL '2' ~ HELP 'Sets targets for entire ecoregion or for each subregion' ~ NEXT %elemchoice ~ 'Ecoregion' '1' 'Sections' '2'

%elemchoice CHOICE element PAIRS ~ INITIAL '1' ~ HELP 'Determines elements of biodiversity for this alternative' ~ NEXT %road ~ 'GAP alliances' 'GAP' 'Environments' 'ENV' 'TNC EOs' 'TNC'

%road INPUT wt_road 5 TYPEIN YES SIZE 8 ~ REQUIRED ~ HELP 'Weight for road density in computing suitability index' ~ NEXT %pop ~ INITIAL '0.2' REAL

%pop INPUT wt_pop 5 TYPEIN YES SIZE 8 ~ REQUIRED ~ HELP 'Weight for population density in computing suitability index' ~ NEXT %pvt ~ INITIAL '0.2' REAL

%pvt INPUT wt_pvt 5 TYPEIN YES SIZE 8 ~ REQUIRED ~ HELP 'Weight for percent land in private ownership in computing suitability index' ~ NEXT %conv ~ INITIAL '0.2' REAL

%conv INPUT wt_conv 5 TYPEIN YES SIZE 8 ~ REQUIRED ~ HELP 'Weight for percent of watershed converted to non-habitat in computing suitability index' ~ NEXT %bdist ~ INITIAL '0.2' REAL

%bdist INPUT wt_bmadist 5 TYPEIN YES SIZE 8 ~ REQUIRED ~ HELP 'Weight for distance of watershed to nearest existing BMA in computing suitability index' ~ NEXT %cdist ~ INITIAL '0.0' REAL

%cdist INPUT wt_coredist 5 TYPEIN YES SIZE 8 ~ REQUIRED ~ HELP 'Weight for distance of watershed to nearest BMA or seed area in computing suitability index' ~ NEXT %xprt ~ INITIAL '5.0' REAL

%xprt INPUT wt_expert 5 TYPEIN YES SIZE 8 ~ REQUIRED ~ HELP 'Weight for value of expert opinion in computing suitability index' ~ NEXT %aqua ~ INITIAL '0.2' REAL

%aqua INPUT wt_aqua 5 TYPEIN YES SIZE 8 ~ REQUIRED ~ HELP 'Weight for value of aquatic integrity in computing suitability index' ~ INITIAL '0.2' REAL

%cancelbutton BUTTON KEEP ~ HELP 'Quit AML altogether' ~ 'Cancel' &return

%runbutton BUTTON KEEP ~ HELP 'Run bmas.aml with selected parameters' ~ 'Apply' &return

%ttybutton BUTTON KEEP ~ HELP 'Return temporarily to the terminal prompt' ~ 'TTY' &type Enter &return to return to menu; &tty

%FORMOPT SETVARIABLES RETURN %FORMINIT &sv date := [date -vfull]


Post-processing BMAS report output

Example BMAS solution report

  PROBLEM SOLVED: BMAS (CPLEX)
  Date: Thu Apr 17 21:54:18 1997
    Logfile: filter=50
    Dataset: comb.C
    Number of non-empty watersheds = 895
    Number of vulnerable elements = 66
    Minimum Watershed Size = 1
    Minimum Ajk Size = 1
    Minimum Mink Size = 1
    Weight for Area = 1
    Weight for Suitability = 5000
    Initial Seed = NA
    Number of Seed Changes = NA
    Maximum drops per Cycles = NA
    Drop Range = NA
    Add Tenure Range = NA
    Drop Tenure Range = NA
    Tabu Multiplier Range = NA

Notes: None

SOLUTION Cplex Objective = 664611.0000 (Best Integer) Objective Found at cycle: NA Parameters: NA Solution is feasible Total Area = 432106 Total Suitability = 46.5010 Total Time = 1414.93 seconds Total # Watersheds chosen = 54

Watershed Suitability Area ========= =========== ======== 1581 1.600 10939 1585 2.400 10295 1614 0.900 5744 1707 0.900 6784 1799 0.800 7384 (lines deleted)

Element Mink RV Excess ======= ======== ========== ========== C023 3656 212 C031 1463 232 C041 206 1855 C053 111 188 C054 22948 6562 C058 160 600 (lines deleted)


AML to convert BMAS report to GIS files


/*---------------------------------------------------------------------------
/*
/*             BMAS_OUT.AML: by dstoms 4/16/97
/*
/*              runs inside ARC
/*
/*----------------------------PURPOSE----------------------------------------
/*
/* THIS AML WILL READ BMAS SOLUTION REPORT AND REFORMAT FOR
/*   INPUT TO INFO TO DISPLAY SOLUTION IN ARCPLOT
/*
/*------------------------LOCAL VARIABLES------------------------------------
/*
/* DATASET - Name of alternative
/* WA   - Weight for area
/* WS   - Weight for suitability
/* NW   - Number of watersheds selected
/* NE   - Number of vulnerable elements
/* TA   - Total area selected
/* TS   - Total suitability
/*---------------------------------------------------------------------------
&args bmasrpt
/* cleanup from previous run
&s bmasrptcap := [translate %bmasrpt%]
&type %bmasrptcap%
&sys /bin/rm /home/bioscratch0/.tmp/sol.data
&sys /bin/rm /home/bioscratch0/.tmp/solution
/* Read in BMAS output report and reformat with awk
&IF [EXISTS %bmasrptcap% -INFO] eq .TRUE. &then
  &DO
    &type INFO TABLES ALREADY EXIST
    &data arc info
ARC
SEL %BMASRPTCAP%
PURGE
Y
SEL %BMASRPTCAP%.DATA
PURGE
Y
Q STOP
    &end
  &END
&ELSE
  &DO
    &data arc info
ARC
DEFINE %BMASRPTCAP%
CPWATERSHED-ID,4,5,B,0
SOL,1,1,I
~
DEFINE %bmasrptcap%.DATA
WA,4,6,F,4
WS,4,9,F,4
TA,4,10,F,2
TS,4,8,F,2
NW,4,4,I
NE,4,4,I
DATASET,12,12,C
~
Q STOP
   &end
  &END
&ty RUNNING AWK PROGRAM
&do section &list A C D E H I W
    &sys awk -f bmas_out.awk < bmas_out/%bmasrpt%.%section%
/* AWK program is listed in Appendix 8.4.3
&end
    &data arc info
ARC
SEL %BMASRPTCAP%
ADD FROM /HOME/BIOSCRATCH0/.TMP/SOLUTION
SORT ON CPWATERSHED-ID
RES CPWATERSHED-ID = 0
PURGE
Y
SELECT %bmasrptcap%.DATA
ADD FROM /HOME/BIOSCRATCH0/.TMP/SOL.DATA
Q STOP
&end


awk program for reformatting BMAS report into ASCII tables


# bmas_out.awk script --revised 4/9/97
#Reformat data from BMAS output to INFO input for displaying solution
# syntax = awk -f bmas_out.awk < "bmasoutput file"
#####################################################################
# VARIABLES
# wa = weight for area
# ws = weight for suitability
# ta = total area selected
# ts = total suitability
# tr = total remaining vulnerabilty
# obj = objective value
# nw = number of watersheds selected
# ne = number of vulnerable elements
# 
#####################################################################
#skip text on first 4 lines of BMAS output
BEGIN { { for (i=1; i<=4; i++)
             getline; }
# read in data from bmas output and set variables
getline
printf("%s\n",$0)
dataset = $2;
getline; getline;
printf("%s\n",$0)
ne = $6;
getline; getline; getline; getline
printf("%s\n",$0)
wa = $5
getline
printf("%s\n",$0)
ws = $5
getline; getline; getline;getline
getline; getline; getline;getline
getline; getline; getline;getline
printf("%s\n",$0)
obj = $4
getline; getline; getline; getline; getline
printf("%s\n",$0)
ta = $4
getline
printf("%s\n",$0)
ts = $4
getline; getline
printf("%s\n",$0)
nw = $6
getline; getline; getline
# print weights, total area, total suitability, # of watersheds selected
printf("%6.4f,%9.4f,%10.2f,%8.2f,%d,%d,%4s\n",
       wa,ws,ta,ts,nw,ne,dataset) >> "/home/bioscratch0/.tmp/sol.data"
printf("%6.4f,%9.4f,%10.2f,%8.2f,%d,%d,%4s\n",
       wa,ws,ta,ts,nw,ne,dataset)
for (j=1; j <= nw+3; j++) {
   getline
# print out list of selected watersheds for entry into info table
   if ( $1 > 0 ) {
       printf("%d,1\n", $1) >> "/home/bioscratch0/.tmp/solution"
       printf("%d,1\n", $1)
   }
}
}


Subwatershed Evaluation Report

Perl program to generate subwatershed reports


#!/usr/local/bin/perl4
# REPORT.pl--formats relevant data for a specified subwatershed
#   for Columbia Plateau Project
# dstoms 04/25/97
#
# FIX suitability factors to reflect 5/20 data
# recreate suit.data file with new data
# recreate STATUS file with TNC status coverage
# FIX common names of tnc species and communities with new ids
#
# runs by > report.pl $cpwatershed-id $altname
# Reads .suit, .ajk, .mink, plus status and steward files
# Then outputs collected data from separate files into a report
# for the subwatershed in $wsid.rpt file to give analyst a complete
# picture of biological, suitability, and management factors
$wsid = $ARGV[0];      # name of the selected subwatershed
$altname = $ARGV[1];   # name of alternative dataset to see if ws selected
# compile total suitability, area data for watershed
open(SUIT,"$altname.suit") || die "Couldn't find $altname.suit file\n";
while (<SUIT>) {
   chop;
   @line = split (' ');         # white space is delimiter in *.suit files
   if($wsid eq $line[1]) {
# parse into attributes
   $section = $line[0];
   $suitj = $line[2];
   $areaj = $line[3];
   }
}

# compile suitability factor weights from .hdr file open(HDR,"$altname.hdr") || die "Couldn't find $altname.hdr file\n"; while (<HDR>) { chop; @line = split (' '); # white space is delimiter in *.suit files if($line[0] eq 'Road') { $wt_road = $line[3]; } if($line[0] eq 'Pop') { $wt_pop = $line[3]; } if($line[1] eq 'Private') { $wt_pctpvt = $line[3]; } if($line[1] eq 'Converted') { $wt_pctconv = $line[3]; } if($line[0] eq 'Km') { $wt_coredist = $line[3]; } if($line[0] eq 'Aquatic') { $wt_aqua = $line[3]; } if($line[0] eq 'Expert') { $wt_expert = $line[3]; } }

# compile data on suitability factor values open(SUITVAL,"suit.data") || die "Couldn't find suit.data file\n"; while (<SUITVAL>) { chop; @line = split (','); # white space is delimiter in *.suit files if($line[0] eq $wsid) { $roaddens = $line[2]; $popdens = $line[3]; $expert = $line[4]; $aqua = $line[5]; $pctpvt = $line[6]; $pctconvert = $line[7]; $coredist = $line[8]; } } open (OUTFILE, "> ws.rpt") || die ("Cannot open ws.rpt\n"); ("Cannot open /home/bioscratch0/stoms/ws$wsid.$altname.rpt\n"); printf OUTFILE "REPORT ON SUBWATERSHED %d IN SECTION %s FOR ALTERNATIVE %s\n\n", $wsid,$section,$altname; # Was watershed selected in this alternative? system("rm /home/bioscratch0/.tmp/solution"); system("awk -f ../bmas_out.awk < ../bmas_out/$altname.$section"); open(SOL,"/home/bioscratch0/.tmp/solution") || die "Couldn't find /home/bioscratch0/.tmp/solution file\n"; while (<SOL>) { chop; @line = split (','); if($line[0] eq $wsid) { printf OUTFILE "Subwatershed WAS selected\t\t"; $count = 1; } } if($count == 0) { printf OUTFILE "Subwatershed was NOT selected\t\t"; } printf OUTFILE "SIZE IN HA:\t%f\n\n",$areaj; print OUTFILE "SUITABILITY:\n\tFACTOR\t\tVALUE\t\tREG MEAN\tWEIGHT\n"; printf OUTFILE "\tPct Roaded\t%7.3f\t\t15.95\t\t%4.1f\n", $roaddens,$wt_road; printf OUTFILE "\tPop Density\t%7.3f\t\t 5.23\t\t%4.1f\n", $popdens,$wt_pop; printf OUTFILE "\t# of Experts\t%7.3f\t\t 0.00\t\t%4.1f\n", $expert,$wt_expert; printf OUTFILE "\tAq. Integrity\t%7.3f\t\t 0.00\t\t%4.1f\n", $aqua,$wt_aqua; printf OUTFILE "\tPct Private\t%7.3f\t\t46.31\t\t%4.1f\n", $pctpvt,$wt_pctpvt; printf OUTFILE "\tPct Convert\t%7.3f\t\t29.64\t\t%4.1f\n", $pctconvert,$wt_pctconv; printf OUTFILE "\tKm to Core\t%7.3f\t\t20.12\t\t%4.1f\n", $coredist,$wt_coredist; printf OUTFILE "\tTOTAL INDEX\t%7.3f\n\n",$suitj;

# now print status and stewardship info # regional values are set in associative array %regstat = ( '1','1.0', '2','3.4', '3','42.9', '4','52.8' );

print OUTFILE "MGMT STATUS:\n\tLEVEL\t\tAREA\t\tPCT\t\tREG-PCT\n"; open(STATUS,"status") || die "Couldn't find status file\n"; while (<STATUS>) { chop; @line = split (','); # white space is delimiter in *.suit files if($line[0] eq $wsid) { $status = $line[1]; $statarea = $line[2]; $statpct = $line[3]; printf OUTFILE "\t%d\t%10.3f\t\t%5.1f\t\t%5.1f\n",$status,$statarea,$statpct, $regstat{$status}; } } printf OUTFILE "\nSTEWARDSHIP:\n\tSTEWARD\t\tAREA\t\tPCT\t\tREG-PCT\n";

# associative array of steward codes/names %stew = ( '32','County', '3','Private', '56','State', '84','Tribal', '83','US BLM', '118','US BoR', '120','US DoD/CoE', '127','US DoE', '70','US FS', '53','US FWS', '47','US NPS', '48','Water' ); # associative array of steward pct in region %regstew = ( '32','0.0', '3','46.3', '56','4.1', '84','2.8', '83','39.6', '118','0.3', '120','0.7', '127','1.3', '70','2.8', '53','1.5', '47','0.1', '48','0.4' ); while (<>) { chop; } open(STEWARD,"steward") || die "Couldn't find steward file\n"; while (<STEWARD>) { chop; @line = split (','); # white space is delimiter in *.suit files if($line[0] eq $wsid) { $stewcode = $line[1]; $stewarea = $line[2]; $stewpct = $line[3]; printf OUTFILE "\t%s\t%10.3f\t\t%5.1f\t\t%5.1f\n",$stew{$stewcode},$stewarea,$stewpct, $regstew{$stewcode}; } } printf OUTFILE "\nTARGETS:\n\tEL CODE\t\tAREA\tPCT RV\tCOMMON NAME\n"; printf OUTFILE "\nTARGETS:\n\tEL CODE\t\tAREA\tPCT RV\tCOMMON NAME\n";

# associative array of gap cover type codes/names %cover = ( '011','Pinus contorta Forest', '013','Pinus ponderosa Forest', '014','Pinus ponderosa-Pseudotsuga menziesii Forest', '015','Pinus monticola-Thuja plicata Forest', '021','Abies spp.', '022','Picea engelmannii and/or Abies lasiocarpa Forest', '023','Pseudotsuga menziesii Forest', '031','Populus tremuloides Forest', '041','Riparian Forest', '051','Pinyon Woodland', '052','Pinyon-Juniper Woodland', [lines deleted....]

'1005','GRASSHOPPER SPARROW', '1012','FERRUGINOUS HAWK', '1034','BALD EAGLE', '1039','LONG-BILLED CURLEW', '1045','GREEN-TAILED TOWHEE', '1050','COLUMBIA SPOTTED FROG', '1055','BULL TROUT', '1061','WESTERN BURROWING OWL', '1062','WASHINGTON GROUND SQUIRREL', '1181','WHITE STURGEON', '1185','BLACK-THROATED SPARROW', '1186','PALLID BAT', '1190','WESTERN TOAD', '1191','FERRUGINOUS HAWK', '1193','WESTERN SAGE GROUSE', '1194','BLACK TERN', '1196','TOWNSENDS WESTERN BIG-EARED BAT', [lines deleted....]

); open(AJK,"$altname.ajk") || die "Couldn't find $altname.ajk file\n"; while (<AJK>) { chop; @line = split (' '); # white space is delimiter in *.suit files if($line[1] eq $wsid) { $sect_code = $line[2]; # $grid-code = substr($sect_code,1,3); $covarea = $line[3]; open(MINK,"$altname.mink") || die "Couldn't find $altname.mink file\n"; while (<MINK>) { chop; @junk = split (' '); # white space is delimiter in *.suit files if($junk[0] eq $sect_code) { $mink = $junk[1]; $contrib = $contrib + ($covarea / $mink * 100); } } printf OUTFILE "\t%s\t%10.3f\t%5.1f\t%s\n",$sect_code,$covarea,( $covarea / $mink * 100 ),$cover{substr($sect_code,1,5)}; } } printf OUTFILE "\tTOTAL CONTRIBUTION\n\tTO GOALS\t\t%5.1f\n",$contrib;

close(OUTFILE); close(STEWARD); close(STATUS); close(SUIT); close(HDR); close(SUITVAL);


Sample report for subwatershed #2263


REPORT ON SUBWATERSHED 2263 IN SECTION W FOR ALTERNATIVE comb6

Subwatershed WAS selected SIZE IN HA: 5774.451000 SUITABILITY: FACTOR VALUE REG MEAN WEIGHT Roadedness 18.743 15.95 0.2 Pop Density 0.168 5.23 0.2 # of Experts 0 0.80 -0.2 Aq. integrity NA 0.33 -0.2 Pct Private 32.764 46.31 0.2 Pct Convert 22.479 29.64 0.2 Km to Core 9.434 20.12 5.0

TOTAL INDEX 3.100

MGMT STATUS: LEVEL AREA PCT REG-PCT 3 526.055 9.1 42.9 4 5248.396 90.9 52.8

STEWARDSHIP: STEWARD AREA PCT REG-PCT Private 1891.913 32.8 46.3 State 3356.482 58.1 4.1 US BLM 526.055 9.1 39.6

TARGETS: EL CODE AREA PCT RV COMMON NAME W096 605.254 1.5 Artemisia tridentata-A. arbuscula W097 3633.851 5.0 Artemisia tridentata Shrubland W161 237.294 37.0 Dry Perennial Grassland W11108 1000.000 100.0 MALHEUR CAVE AMPHIPOD TOTAL CONTRIBUTION TO GOALS 143.5


Glossary of terms

alliance: a land unit made up of an "alliance" of natural communities that have the same dominant or co-dominant plant species or, in the absence of vegetation, by the dominant land cover typically described according to the Anderson land cover classification

biodiversity management area (BMA): an area with an active ecosystem management plan in operation whose purpose is to contribute to regional maintenance of native genetic, species and community levels of biodiversity and the processes that maintain that biodiversity. Generally a BMA will be comprised of several landscapes. In this analysis the TNC core planning team identified all managed areas in status level 1 and 2 as modified by TNC from the Gap Analysis database as being existing BMA's for all alternatives.

BMAS: the Biodiversity Management Area Selection model used to select a set of planning units to achieve the representation goals for the target elements while maximizing efficiency and suitability of the set of sites

coarse-filter strategy: an approach to conserving biodiversity focusing on large ecological units, usually but not exclusively focusing on spatial rather than organismal concepts that make up higher levels in the biodiversity hierarchy (e.g., landscapes, ecosystems, communities)

core area: a site chosen by one of the decision rules as a required site in the portfolio of sites. In this study, core areas were selected as the set of subwatersheds containing sites identified by at least four of the six expert workshops.

ecoregion: a large region, usually spanning several million hectares, characterized by having similar biota, climate, and physiography (topography, hydrology, etc.)

efficiency: an objective in conservation planning to meet the stated representation goals with the least "cost", which may be measured as the least land area in the absence of actual data on land values and resource opportunity costs

element occurrence: a recorded location of a rare species or plant association from a Heritage program database

fine-filter strategy: an approach to conserving biodiversity focusing on small ecological units, usually but not exclusively focusing on organismal rather than spatial concepts that make up lower levels in the biodiversity hierarchy (e.g., single species)

gap analysis: a comparison of the distribution of elements of biodiversity with that of areas managed for their long-term viability to identify elements with inadequate representation

Gap Analysis Program (GAP): the multi-state program administered by the US Geological Survey-Biological Resources Division responsible for conducting gap analysis throughout the United States

geographic information system: computer hardware and software for storing, retrieving, manipulating, and analyzing spatial data

GIS: see "geographic information system"

heuristic: an approach to solving a computationally difficult problem by simplifying it. In the case of BMAS, this means finding a good initial solution and searching for similar solutions that are better until a stopping rule is invoked.

ICBEMP: the Interior Columbia Basin Ecosystem Management Plan, a joint planning effort of the U. S. Forest Service and the Bureau of Land Management

land-cover type: a non-technical higher-level floristic and structural description of vegetation cover

land management status: a categorization of the management of public and private lands defined by the level of emphasis on biodiversity conservation

optimization: solving a linear programming problem with a mathematically provable superior solution in terms of the objectives

planning unit: the spatial unit used to analyze patterns of specific elements of biodiversity in order to identify priority areas. It covers areas of approximately 10-10,000 km² (Davis and Stoms 1996). In this study, the HUC6 subwatersheds delineated for the Interior Columbia Basin Ecosystem Management Plan, subdivided by sections, were used as the planning units.

plant association: the next lower level of vegetation classification below alliance. Plants in the subdominant canopy shrub layers contribute to the definition of the vegetation type

portfolio: a coherent collection of complementary sites within a given ecoregion. Each portfolio contributes to conserving the diversity of an ecoregion.

representation goal: a desired measure of the level of protection for a biodiversity element state either as a percentage of its distribution or as a number of occurrences within the planning region

reserve network: the set of biodiversity management areas in a region

section: broad areas of similar geomorphic process, stratigraphy, geologic origin, drainage networks, topography, and regional climate. In this planning process, representation goals were established within each section.

subwatershed: the lowest level in the hierarchy of watersheds (HUC6 or the 12 digit identifier), used as planning units in this project

suitability: an objective in conservation planning to select the "best" set of sites in terms of their compatibility with biodiversity management

sweep analysis: determining how well a given selection of planning units does in representing those biodiversity elements that were not explicitly targeted in the prioritization

target element: a biodiversity element (e.g., an alliance or rare species) which is currently classified as "vulnerable" and for which additional habitat should be added to the network of biodiversity management areas in the planning process

TNC: The Nature Conservancy

vulnerable: as used in this report, a biodiversity element for which the amount of land within existing biodiversity management areas is less than the representation goal


Return to Table of Contents

Biogeography Lab Home Page

Email stoms@bren.ucsb.edu