I am building a series of Modles / Tools in ArcGIS ModelBuilder and so I am frequently editing different Models / Tools within Toolboxes. The Tools generally have at least two submodels and contain upwards of 30 separate Tools / processes.
I am using standard Modelbuilder Tools and Toolboxes, not Python script versions.
The issues I am requesting answers on is the behavior of models / Tools that begin to appear unstable and start throwing up Errors that are inconsistent between model runs or that are frequently solved by closing down ArcCatalog and then re running the model / Tool. It almost appears that some models after lots of editing or cutting and pasting sections of models between different models become "unstable" and throw up errors.
My question is this - do people have advice or help on how to maintain the stability of models / Tools in ModelBuilder when they are being edited for long period of time, and becoming very complex with lots of nested submodels?
Is there a best praqctice for tracking different versions of Model, e.g. renaming etc.
I am using ArcGIS Desktop Advanced 10.1
I have not posted a model / tool example because the issues i am thinking of have occurred sporadically across several different models and I have checked through all possible normal errors resulting from error codes etc.
The types of errors are: - model "unable to save" or "failed to save" - model becomes unstable and crashes, when sub models are opened - field calculator using VBA code suddenly stops working, and only works when changed to Python code version even though previous runs of the model have worked fine using the VBA field calculator - workspace or data source is read only
My current solutions to these issues have been:
- use in_memory for calculation where possible and keep deleting files that build up in memory after they have been used
- setting scratch and inputs, outputs work spaces within the model as parameters
- emptying the scratch workspace when lots of files build up from multiple model runs
- copy and paste the model into a new empty model and save
Any thoughts, help or tips from advanced ModelBuilder users would be greatly appreciated.
As this question was closed for being too vague I have opened some related questions here to hopefully share ModelBuider expertise and best practice: