Assuming I start ArcGIS 8 times on my PC. One for each processor on my PC. Now lets say I run similar but slightly different models in each ArcGIS. Lets say reclass, zonal stats, or math. Now assume all 8 have the same inputs and outputs but the process is different. Could I get cross-pollinated results with all 8 using the same scratch directories or are the temp files tagged with the processor ID or similar to keep them distinct?
1 Answer
With instances of ArcMap and ArcCatalog no, each one creates a temp session directory in your %TMP% folder called arc<4 hex digits> like arcA7B0 and is thus unique.
For instances of python, yes, it happens frequently. Multiple running instances of python scripts started from command line will cause each other to crash randomly. This limitation does not apply to python scripts being run from ArcCatalog/ArcMap but only to scripts executed from the command line (cmd) or by batch file.
To verify this open the python window in ArcCatalog/ArcMap and type:
import os
print os.environ.get("Temp")
and then
print os.environ.get("Tmp")
To verify what your temp directory is open a command prompt and type:
Echo %temp%
and then
Echo %tmp%
Also, you can see them in Windows control panel / advanced system settings / advanced tab / Environment Variables button... but it's easier to echo (print) them. Set T
also will show any environment variable starting with a T in DOS.
-
Thanks, does this apply to FGDB directories that are set as scratch as well as folders whe running from the same model but with different parameters? Nov 12, 2014 at 4:39
-
Scratch is set implicitly, but if not set then geoprocessing scratch data will (theoretically) end up there and be removed either when the process finishes, is cancelled or the Arc session is terminated normally. Instances from crashed sessions may still exist. Nov 12, 2014 at 4:43
-
I am sorry but what about concurrent processes in your answer. Does the temp raster get the 4 unique hex digits if two models running in same scratch. Nov 12, 2014 at 4:46
-
Scratch databases are in the %TEMP% directory (used for editing and other processes in ArcObjects) and are given long random names like Scratch03ZNSZ0WUKVI9EYV4UJF1LBQ2DJ25E.gdb Nov 12, 2014 at 4:46
-
Each arc<4 hex> belongs to one instance of Arc and will have a file indicating the process-id, thus the intermediates are kept succinct. This is new to ArcGis 10, I assume other methods were used prior to this... First one gets Raster1, second gets Raster2 Nov 12, 2014 at 4:48