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 environmentsTool-level environmentsModel-level environmentsModel 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.
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.
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.
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