Hi, we are currently using ArcGIS Pro to simulate all areas affected by heavy rain and flooding within our jurisdiction.
We export the results to a .CRF file with a timestamp every 15 minutes, but we would also like to export the maximum values per cell throughout the entire simulation.
To achieve the second scenario, we need to set the export interval to every 2–5 seconds and then use a “Maximum” summary statistic to export the maximum values from each slice.
The problem we now face is that the export performance of the .CRF file is extremely poor. If we simulate for 5 hours and create an export every 5 seconds, we end up with 3,600 slices in the .CRF file. As soon as the flood simulation export is complete, up to 4 additional dimensions are automatically calculated for each slice, but ArcGIS Pro freezes throughout this process.
Especially when we set the export interval to 1–2 seconds, I have to wait several days before ArcGIS Pro stops freezing.
Solved! Go to Solution.
Thanks Fabian. I'll chase that up with the Raster Team. It sounds like the final processing step of consolidating the CRF (with all its slices) into a ready-to-use data source is the delay. If this process isn't avoidable, we should at least inform the user what is happening (eg: building pyramids / overviews / etc).
Regarding the workflow, while a 10-second increment will definitely do a more robust job of getting the highest value for a cell, I'm wondering if capturing the heights of these very transient 'waves' as they pass across the landscape is worth the effort? Are they high / significant? Or just a few centimeters? Given the whole process is estimated / simulated, relying heavily on "exact" water depth values is not recommended (eg: "we won't close this street because the water maxes out at 0.48m high, and 0.50m is the cut off").
NOTE - we should still work on a fix for this (or at least 'provide information / feedback') --> I am just checking expectations for the values you are compiling. 😉
Thanks!!
-Nathan.
Hey @Fabian_Schroeer
So just out of curiosity, why does the export interval have to be so quick, 2-5 seconds would create an immense amount of data, which more than likely directly contributes to the time that ArcGIS Pro is taking to do these calculations.
If possible, I'd move the interval to 60+ seconds or even 3-5 minutes, how are you calculating the maximum summary statistic? Using the Aggregate tool?
Cody
Yeah sounds weird, but when I simulate a heavy rain scenario, set the export interval to 10 seconds, and then calculate the maximum water depths from each export, it creates wavy-looking data like here:
The faster the water flows, the greater the distances between the waves. So if I set the interval to 1–2 seconds, it would at least reduce the likelihood of generating such “waves” in certain places.
For this, I use the “Summary Statistics” tool in the ‘Multidimensional’ section and then select “Maximum”.
(Or using the aggregate tool, seems to do the same)
Best regards
Fabian
Hi Fabian,
If the waves are the primary issue, then there are two configuration options that help reduce that effect occurring in the math.
Are you using the following options?
1. Set a Roughness value. Even a hard-coded value for the whole scenario, such as 0.035, will reduce the way the core (St Venant) equation can result in a build-up-and-release of water as it starts its initial movement (eg: over small barriers, etc). If you're able to use a raster to define variable roughness over the AOI, that will also help with movement speed and accuracy. (Note - the infiltration options also help a little).
2. Use the 'High' temporal resolution option. This does 20x more calculations per simulation-second than 'Low' temporal resolution, which allows water to move downhill in smaller levels (fewer large waves).
If you're already using both these options... then maybe the "heavy" rainfall rate you are using might be creating deep/fast flows that are not well-suited for the shallow water equation model. ☹️ If the value is extremely high - as in, "not experienced by humans before" - then you should do a longer scenario with a smaller / feasible rainfall rate.
Otherwise, the general method of exporting multiple results to generate per-cell maximum water levels is solid - it's the volume and size of the export that is taking the time.
You could also think about using the caching model to help with export time. That is, in the Layer Properties > Cache tab, set a small-ish interval (like one minute), run the scenario, and then use the "use layer's cache interval" export option to (effectively) convert the cache into a CRF without needing to rerun it all.
Hope this helps!
Thanks,
-Nathan Shephard.
Hi Nathan,
I'm already using a roughness model and the “HIGH” temporal resolution option.
To calculate the maximum water depths within a simulation, I always use an interval of less than 10 seconds—the shorter, the better. My reasoning is simply that the more often I export, the better I can capture all the water depths.
The only problem is that ArcGIS Pro keeps freezing when you export this to CRF. Especially at the end of the simulation, when all the pyramids (L04, L03...) are being generated, sometimes for as many as 3,600 slices. As soon as all the pyramids have been fully calculated and ArcGIS Pro displays “Export successful,” ArcGIS Pro gets caught in a deadlock and freezes continuously. This can only be resolved by closing ArcGIS Pro via the Task Manager.
If I export TIFs instead, I have no problems at all. The only downside here is that I can quickly end up with > 3TB of raster data.
I’m already using simulation caching as well, but the settings only allow for a maximum of 100 steps, which means that — depending on the simulation’s duration — the cache intervals can be several minutes apart instead of the desired seconds.
I am aware that exporting a CRF takes a very long time due to the volume of data, the very high resolution, and the large number of calculations. Unfortunately, what bothers me is that ArcGIS Pro keeps freezing during the export, especially right at the end of the export.
Best regards
Fabian
Thanks Fabian. I'll chase that up with the Raster Team. It sounds like the final processing step of consolidating the CRF (with all its slices) into a ready-to-use data source is the delay. If this process isn't avoidable, we should at least inform the user what is happening (eg: building pyramids / overviews / etc).
Regarding the workflow, while a 10-second increment will definitely do a more robust job of getting the highest value for a cell, I'm wondering if capturing the heights of these very transient 'waves' as they pass across the landscape is worth the effort? Are they high / significant? Or just a few centimeters? Given the whole process is estimated / simulated, relying heavily on "exact" water depth values is not recommended (eg: "we won't close this street because the water maxes out at 0.48m high, and 0.50m is the cut off").
NOTE - we should still work on a fix for this (or at least 'provide information / feedback') --> I am just checking expectations for the values you are compiling. 😉
Thanks!!
-Nathan.
Thank you very much! It would be helpful if a progress bar or something similar were displayed at the end of the simulation, so you know that ArcGIS Pro is still processing the CRF. It’s just important to me that ArcGIS Pro doesn’t freeze while the pyramids are being generated at the end.
I probably need to really rethink whether an export interval of < 10 seconds makes any sense at all. An interval of 1 minute is likely more than sufficient. I always went in with the mindset that the more, the better. I think we’re actually only talking about a few centimeters here, which probably isn’t even worth all the effort I’m putting into it.
Thanks for your efforts!
Best regards
Fabian
Thanks Fabian! Yes, I am hopeful that one-minute intervals should get you what you need. Let me know how it goes - the 'max depth through time' use-case is an important one, so having confidence that you are getting a good result is important.
On our side, we're going to update the feedback shown on export dislaog to make it clear when the pyramids/statistics part of the process is happening. We're also considering a future option to opt-out of this part of the process when exporting from the flood simulation layer, so you can choose to run that data processing step later / separately.
Thanks!
-Nathan.