When data or values are added to a model they become variables. When tools are added to a model, only the output variable is created automatically in the model. To show other tool parameters as variables in the model, either create stand alone variables and connect them to a tool, or expose tool parameters as variables.
Tools are the basic building blocks of workflows in a model. Tools perform various operations on geographic or tabular data. When tools are added to a model they become model elements.
The tool dialog is the interface where a tool's parameters can be specified.
Tool parameters are inputs and outputs of a tool, as well as specifications that impact tool processing. Each parameter has a user interface control where a value or path is entered. Some parameters are required and others may be optional.
A process consists of a tool and variables connected to it. Connector lines indicate the sequence of processing. There can be several processes in a model chained together so that the derived data from one process becomes the input data for another process. Each process in a model is in one of four states:
- Not-ready-to-run: When you initially drag a tool into a ModelBuilder window, the process is in a not-ready-to-run state (the tool is white), because the required parameter values have not been specified.
- Ready-to-run: A process is ready-to-run when the tool has all required parameter values.
- Running: The process is in a running state if the model tools show red color and the results are created with messages in the Results window.
- Has-been-run: If you run the model from within ModelBuilder, the tool and derived data elements are displayed with drop shadows, indicating that the process has run and the derived data has been generated.
Environment settings can be thought of as additional parameters that affect a tool's results. They differ from normal tool parameters in that they don't appear on a tool's dialog box (with certain exceptions). Rather, they are values you set once using a separate dialog box and are interrogated and used by tools when they are run.
Changing the environment settings is often a prerequisite to performing geoprocessing tasks, for example, the Current and Scratch workspace environment settings, which allow you to set workspaces for inputs and outputs. Another example is the Extent environment setting, which allows your analysis to be limited to a small geographic area, or the Output Coordinate System environment setting, which defines the coordinate system (map projection) for new data.
There are four levels of environment settings.
- Application level settings are the default settings that will be applied to any tool when it is executed.
- Tool level settings are applied to a single run of a tool and override the application level settings.
- Model level settings are specified and saved with a model and override tool level and application level settings.
- Model process level settings are specified at the model process level, are saved with the model, and override model level settings.
When a model is run, output data is created for each process in the model. Some of this output data is only created as a middle step to connect to other processes that will create the final output. The data generated from these middle steps, called intermediate data, is often (but not always) of no use once the model has finished running. You can think of intermediate data as temporary scratch data that should be deleted after the model has run. However, when you run a model from the ModelBuilder window, intermediate data is not deleted—it is up to you to delete it.
You might choose to have ModelBuilder manage the location of the intermediate data. You can set a variable that represents the intermediate output data of a process to be managed by right-clicking the variable and clicking the Managed option. Once you've set a variable to Managed, you cannot change the output path of the intermediate data within ModelBuilder (the parameter control will always be unavailable).
Incomplete derived data
In the normal course of building a model, tools will update their derived (output) data elements to reflect changes that will be made by the tool when it executes. This updating of derived data to reflect the results of the tool simplifies model creation. Almost all geoprocessing tools can update their derived data in this manner. However, there are a few tools that can't, as they don't know their results until the tool is executed and do not update their derived data. Such data is called incomplete derived data.
Data variables reference data on disk and only contain descriptive information about the data on disk, not the actual data. Validating a model refreshes this descriptive information then checks this description against each tool parameter to ensure it is still valid.
Running a model within ModelBuilder
A model can be run from within ModelBuilder or from the model tool dialog box. When a model is open in ModelBuilder, you can run selected tools or the entire model from the Model menu or by using the Run tool on the toolbar.