Iterators Used with Select By Dimension & NetCDF files in ModelBuilder causes Crashing

2728
6
04-09-2018 05:35 PM
ChrisMcCloud
New Contributor

In order to expedite the models that I've been working with, I've been attempting to use an iterator in ModelBuilder so fewer file name changes in the model process (the main time consumer) are necessary.  However, whenever the model process reaches the iterator itself, the program crashes.  I've tried using systems with more processing power, but that doesn't fix the issue.  Anyone have any idea what the issue might be?  I can't find much out there on this topic, so I'm not sure what the problem itself might be.  Would prefer a solution that involves adjusting the model itself rather than a Python-based solution, since most of our processes are run through ModelBuilder.  I've attached a screenshot of the model.  I'm using ArcGIS 10.4.

EDIT: I have attached the Python code output to help in diagnosing the issue.

0 Kudos
6 Replies
DanPatterson_Retired
MVP Emeritus

Looking at the iterator examples for 'For' http://pro.arcgis.com/en/pro-app/tool-reference/modelbuilder-toolbox/examples-of-using-iterators-in-...

what are your dimension values iterating through?

0 Kudos
ChrisMcCloud
New Contributor

Climate model outputs, each value is an individual model output.  In this case, each is an individual model projection for average temperature projections for RCP 2.6 from 2017-2025.  The model as a whole merges them to form an ensemble model output for a given time period. We have similar models for temperature extremes (max/min) and precipitation; they all follow the same general outline, but the number of models that are involved in calculating the composite changes depending on the RCP and time period (2025, 2050, 2080, or 2099); not all models have outputs for each. 

0 Kudos
DanPatterson_Retired
MVP Emeritus

so they aren't files then.. since the iterators have different purposes and the 'for' iterator seems to be limited in its scope (another reason for python scripting)

0 Kudos
ChrisMcCloud
New Contributor

I should say, for the input data, each timeframe output for each RCP is stored in a NetCDF file - but that's overall.  Each model deals with a single NetCDF input file; the SBD tool runs on it to select the appropriate raster data, and copy it out to individual raster files.  Perhaps it's easiest to show in the non-interated form:

Each of the individual rows runs on each dimensional value, then merges the layers to create the ensemble, clips and projects out as appropriate.  
 

This is a separate model, but identical template (the broken nature of the far right is unrelated to this issue, that's just a question of file paths changing between computers and isn't related to the OP in this case).

It's the left portion that we are obviously trying to iterate.  The "For" operator seemed the appropriate one from the material that I read regarding it, since what is being selected are individual dimensions within a multidimensional dataset, but if a different iterator is more appropriate, I'm open to considering that as well.  

0 Kudos
ChrisMcCloud
New Contributor

I have added the output Python script, hope that helps.

0 Kudos
KoryKramer
Esri Community Moderator

Chris, are you able to go to C:\Users\<User Name>\AppData\Local\ESRI\ErrorReports and get the latest .dmp file and attach that for us to analyze?

0 Kudos