1

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 1

1

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.

8
  • 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? Commented 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. Commented 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. Commented 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 Commented 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 Commented Nov 12, 2014 at 4:48

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.