[GIS] Using “managed” intermediate data in ModelBuilder – ArcGIS – what are the benefits? vs the costs of not using in-line variable substitution

arcgis-10.1arcgis-desktopmodelbuilder

Do you have experience or examples of using "managed" data to ensure custom models are able to be shared?

What are the costs / benefits of this versus setting the file path using in line variable substitution

Most of my models at present use in line variable substitution e.g.

%Scratch%\Var1b
or

%Scratch%\Variable%Value%_result

Within the Model Scratch is then set as a model parameter

I have found that in trying to make the models more robust and transferable (where there have been issues in sharing the custom tools) that making more of the intermediate data "managed" has solved some issues. However it causes other issues because if all data is set to be "managed" then the in_memory cannot be used and also in line variable substitution cannot be used to name files.

I'd be grateful to hear your experience and solutions with using "managed" intermediate data to ensure models are transferable (and any implications regarding using in-line variables / in_memory work space).

There is help note here that mentions that in some (unspecified) situations that not using "managed" intermediate data can cause generic error messages in Model Builder

http://help.arcgis.com/en%20/arcgisdesktop/10.0/help/index.html#//002w0000005p000000

I am using ArcGIS 10.1, SP1, Desktop Advanced, on Win 8, OS 64 bit,

Thanks,

Best Answer

Indeed, marking intermediate parameters as Managed can cause issues. Below is an example of using the Raster Calculator and then Raster to Polygon. When using in_memory the model fails; when marking the intermediate outputs as Managed, the in_memory - even though exists in the output path - is ignored and the data is written to %temp%, as the Scratch folder.

GP results in_memory and Managed

According to the in-memory workspace documentation, "Tables, feature classes, and rasters can be written to the in-memory workspace" and therefore it is not clear why it fails. This is not the first time that a 'funny' behavior of in_memory is reported by users, in this 4-part article the author reports of what seems to be in_memory data written to the disk rather than to the RAM (Python, ArcGIS 10.2.2). I therefore find that using Managed is to 'play it safe' in a way, saves the trouble of testing how each model performs.

With that in mind, I would like to mention two additional aspects to consider. Firstly, if the Model is to be published to ArcGIS Server, administrators may prefer the use of memory over storage and vice versa depending on the available resources and architecture; Secondly, according to the ArcGIS Pro documentation, Managed and Intermediate "The Intermediate and Managed options have been removed in ArcGIS Pro ModelBuilder". I gave it a go and tried both options in ArcGIS Pro 1.0. Surprisingly (or not), the results are exactly the same as running the Model from ArcCatalog. enter image description here

The above is for 10.3.1 and not 10.1 (the version in question). However, the key relevant documentation has not changed since. I used Win7 and Win 2008 R2.

Making intermediate data managed data - 10.1 | 10.3.1/latest

Using in-memory workspace - 10.1 | 10.3.1/latest

Related Question