Environment levels and hierarchy


There are four levels of environment settings: application, tool, model, and model process.

All levels contain the same environment variables and have the same effect on output results. They differ only in how you access and set them.

Learn how to specify:

Application-level environments

Tool-level environments

Model-level environments

Model process-level environments

You can also specify environments in scripts separately from the four environment levels.

Learn more about script environments

Environment level hierarchy

The four environment levels form a hierarchy where application-level environments are the highest level. In this hierarchy, environment settings are passed down to the next level: application environment settings are passed down to tools, tool environment settings are passed down to models, and model environment settings are passed down to model processes. At each level, the passed-down environment settings can be overridden.

The one exception to this hierarchy is with models. If you run the model from ModelBuilder, the application environment is passed down. If you run the model using its tool dialog, the tool environment is passed down.

Environment hierarchy

Application environment settings

Application environment settings are the system wide default settings.

Learn how to set application environments

Tool environment settings

Tool environment settings inherit from application environment settings: When you open a tool's dialog and click the Environments button, the application environment settings are used as the initial values for the tool's environment settings.

Tool environment settings only apply to the current run of the tool and do not update the application environment settings.

Passing application environments down to a tool's environment settings

Learn how to set tool environments

Model environment settings

If you execute a model using its tool dialog, the tool environment settings are passed down to the model. If you execute the model using ModelBuilder, the application environment settings are passed down.

Model environment settings are saved with the model, and because of this, the dialog for setting model environments, shown below, is different than the dialog for setting the application or tool environments. On the model environment dialog, you check which environment settings you will permanently override in the model. Conversely, unchecked settings will use the value of the passed-down application or tool environment.

Setting model environments

Learn how to set model environments

You can only change model environments if you have write access to the model's toolbox.

Learn more about write access to toolboxes

Model process environment settings

Model environment settings are passed down to model processes (a model process is a tool plus its data). The dialog for setting a model process environment is the same as that for setting a model's environments. When the model process executes, the model's environments are passed down to the process and any checked environment in the model process permanently overrides the environment settings passed down from the model environment.

Learn how to set model process environments

See Also