# Data Source

Reading stand and tree tables from data sources is accomplished through the INPUTS commands.

SQLite (extension ‘.sqlite’) and Microsoft Access 2002-2013 are the default and preferred (well tested) database formats to use when loading data to OSM through INPUTS commands. However, OSM can also read from any OLE data source, which includes most databases, servers, and excel. For data sources other than SQLite or Access, a fully qualified connection string is required. See INPUTS commands for more information.

The OSM API allows third-party applications that work with OSM to automate this connection process for specific data sources.

# Input Tables

All OSM model variants require two input tables that describe:

· Stand or plot inventory attributes (OSM_StandList)

· Tree-level inventory attributes (OSM_TreeList)

Information in these two tables are linked by one column ‘SurveyID’. Units can be in metric or USA (English); see column descriptions for details.

Variant models can add required or optional columns, so consult the variant documentation on input tables as well.

## Stand List Table

Column | Type | Constraint | Default | Description
Scenario | Text | Is not Null | Null | Name of OSM growth scenario. This property is optional and is more commonly set using command SIMULATION.Scenario. If used here, this will override SIMULATION.Scenario.
SurveyID* | Int32 | Text | Is not Null | - | Unique survey ID of stand or plot. If you want to project multiple plots from a stand as a single simulation, then SurveyID equals Stand ID. If you want to project individual plots separately, then SurveyID should equal Plot ID. Note that no ‘Plot ID’ column is used because OSM does not track individual plots in a tree list.
SurveyYear | Int16 | > 0 | Current Year | Survey year of stand.
SurveyAge | Int16 | >=0 | 0 | Stand age in years at time of survey.
Plots† | Byte | > 0 | 1 | Number of plots in stand. Must be >=1 if present. If you are projecting a stand (tree list with multiple plots), then you should include this column for clarity. If you include this column, number of trees in the tree list (Stems column) will be divided by the number of Plots.
Stockable† | Float | > 0, <=1 | 1 | Ratio of total sample area (all plots) that supports productive tree growth. This information may be used when a known portion of a plot falls on a road or other non-forest feature.
X | Double |  | 0 | Longitude. Coordinate system is defined by Variant, if applicable. Default recommended for all Variants is WGS 1984.
Y | Double |  | 0 | Latitude. Coordinate system is defined by Variant, if applicable. Default recommended for all Variants is WGS 1984.

* Required column

† Internal tree record stem count = Stemst / Plots * Stockable. Both Plots and Stockable are provided for convenience and only used in OSM to adjust the tree factors in the Tree List table during import.

Additional Variant-specific stand input columns are important to understand and use as well as those shown above, as they often influence growth rates. For example, additional calibration information like site productivity and stand management type are needed for both of the following Variants:

· Acadian Variant stand columns

· Newfoundland and Labrador Variant stand columns

## Tree List Table

Column | Data Type | Constraint | Default | Description
SurveyID* | Int32 | Text | ≥0 | - | Stand or plot ID
TreeID | Int64 | ≥0 | - | IDs must be unique within SurveyID and also ≥ 0. If this column is not present in the table, OSM will assign unique negative IDs to each new tree imported beginning at -1.
Species* | Text | Int16 | Not Null | - | Variant alpha-code | USDA plant alpha-numeric-code | USDA FIA numeric ID Consult the variant model for a list of supported species.
DBH‡ | Float | ≥0 | NaN | Diameter outside bark in centimeters or inches at breast height. Default breast height = 1.37m (4.5ft); however, breast height can be variant dependent.
HT‡ | Float | ≥0 | Computed | Height to tree tip in meters or feet.
Stems* | Float | >0 | - | Trees per hectare or acre that this record represents; i.e., tree expansion factor.
ToCut | Float | (Null or ≥0) & ≤ Stems | NaN | Trees per hectare or acre that this record represents that should be cut at the beginning of the first simulation cycle.
Weight | Float | Null or ≥0 | NaN | If set >= 0, this value may override record weights used in some model calibration routines; e.g., local height calibration. See local height calibration for guidance on setting weights.
HTK | Float | >0, ≤HT | NaN | Height to tree top kill in meters or feet. Must be <= HT. If < HT, then a new leader is assumed to have established between HTK and HT.
CR | Float | ≥0 & ≤1 | Computed | Crown ratio. Equals height from live crown to tip divided by total tree height.
DBHI | Float | ≥0 | NaN | DBH annual increment for last measurement period in cm/year or inches/year.
HTI | Float | ≥0 | NaN | Height annual increment for the last measurement period in m/year or feet/year.
Origin | Byte | Text | [0] Unknown [1] SEED [2] Coppice [3] Plant | 0 | Mode of tree establishment on the site.
Born | Int16 | ≥0 | 0 | Year of tree establishment on site.
Died | Int16 | ≥0 | 0 | Year of tree death. If > 0 the tree is loaded to the snag list instead of the tree list. If year of death is unknown, either estimate year of death or enter 9999. If 9999, OSM will assume the tree died 7 years ago.
Risk | Byte | 0-255 | 0 | Tree risk class. Class values are user defined. This information is carried forward in projected tree lists, but cannot be predicted by the model. Subject to change as the role of risk in the model is not well defined yet.
Grade | Byte | 0-255 | 0 | Tree grade class. Class values are variant or user defined.

* Required

‡ DBH and HT cannot both be null or zero.

If HT < breast height (must be seedling), then DBH must = zero or blank (NaN);

else if HT is >= breast height (must be tree), then DBH must be > zero.

If DBH is > zero, then HT must be >= breast height or missing (blank or zero); if HT is missing, HT will be predicted from DBH.

Additional Variant-specific tree input columns may also be defined. Users should consult variant documentation of the OSM_TreeList input tables, for example:

· Acadian Variant inputs

· Newfoundland Variant inputs