The Data Import interface has frames for constant data, irregular data, and regular data.  There is also a linked data frame envisioned to support data generated during simulations by other software as triggered and based on ecological condition, but that is not coded yet.  Each frame allows users to create data types and data sets.  Data types are collections of data sets.  A data set is information that collectively provides spatial and temporal values that characterize an aspect of a virtual environment.  For example, if a user wants to include air temperature as part of the virtual environment for simulation and they have spatially-distributed air temperature data for three climate scenarios (warmer, neutral, and cooler), then those data could be imported as independent data sets (e.g., temperature-warmer, temperature-neutral, and temperature-cooler) or as parts of a data type (e.g., data type is “temperature” with associated data sets for warmer, neutral, cooler).  Rules that guide the behaviors of simulated communities can reference data sets and data types.  Referencing a data type such as “temperature” as part of a rule essentially means that choice of actual data set is deferred until the creation of alternatives.  Referencing a data set as part of a rule means that the rule would need to be changed to include a different data set.

Data imported are inherently spatial and temporal. 

There are a few instances in EFMSim where time series (temporal only) can be imported for use, but those are handled in ways that apply a spatial arrangement.  In boundary conditions, time series of simulated communities enter the study area through spatial ports such that new community members are spready to elements bordering the port.  In the create variables calculator, time series can be used in equations that generate spatial data sets such that a time series of air temperature observed at a point would be applied as a spatial constant for all elements in a layout.  In hatcheries, time series of the number of community members collected or planted are applied to spatial zones.

Even constant data, where a single map layer is used to characterize an unchanging characteristic of the virtual environment are temporal in the sense that those values are known (and unchanging) through time.

Right clicking in the constant, irregular, or regular data frames offers options to Add New Data Set and Add New Data Type.  Data types and data sets can be renamed, deleted, and edited.  Right clicking on an existing data type also offers an option to Add Data Set to Existing Data Type.  Data types have a user-applied name and description.  Data sets have a name, description, and many other details that guide how the software will import that data into the underlying HDF database for use in simulations.

Constant data are the simplest of the three data options.  Adding a constant data set is done via a two-step wizard where the data set is first named, described, identified as a scalar or vector data form, and identified as a grid or polygon mesh format and then the corresponding file(s) and attribute(s) are specified (Figure).

Figure.  The Constant Data wizard allows users to create and characterize constant data sets.


Both scalar and vector data can be imported.  Scalar data sets contain one type of data values.  Vector data sets contain two types of data values.  Water depths and water velocities are a common example.  Water depths are scalars and have one type of data value, a magnitude for depth.  Water velocities are vectors and have two types of data values, a magnitude for velocity and a direction to show how the magnitude acts.

EFMSim can import several common forms of data.  Compatible grid formats are floats (.flt) and geotiff (.tif) files.  Combinations of polygon meshes and associated data tables can also be used.  Compatible polygon meshes are shapefiles (.shp).  Compatible data tables (also known as “flat” files) are comma, space, and tab delimited text files (.csv, .txt, and .dat).  Data tables can also be imported from an HDF file or from a series of HDF files.

Irregular Data and Regular Data use the same five-step wizard where the data set is 1) named, described, data form identified as a scalar or vector, time type identified (options provided for instantaneous (step), instantaneous (linear), period average (time is for end of period), and period average (time is for beginning of period) with period average data also assigned a time step), 2) identified as a grid or polygon mesh format, 3) identified source as flat file or HDF (for polygon mesh option only), 4) specify corresponding file(s), orientation, and options, and 5) preview data to be imported (for polygon mesh option only).  Figure shows key steps.

Figure.  The Irregular Data wizard allows users to create and characterize irregular data sets.


Irregular and regular data sets that use period average data must have an internally consistent time step (i.e., not okay to have a time span of hourly data and a time span of daily data within the same data set).  Regular data cannot have any missing time steps.  Irregular data can have missing data.  Additionally, irregular data can be set to “0” by simply entering “0” in lieu of a file name for the corresponding date and time.  A “0” entry functionally serves as a spatial layer of zero values for that date and time.  Any interpolations done by the software as part of data import will use those zero values numerically.