I'm currently busy re-writing the following Python Module:
I have just realised that ArcHydro doesn't recognize the arcpy.env.workspace or the ArcHydroTools.SetTargetLocations("HydroConfig", "Layers", "RasterWorkspace", "VectorWorkspace")
<SPAN class="string token">'''
Created on March 13, 2017
ArcHydro Main Model
@author: PeterW
'''</SPAN>
<SPAN class="comment token"># import system modules and site-packages</SPAN>
<SPAN class="keyword token">from</SPAN> pathlib <SPAN class="keyword token">import</SPAN> Path
<SPAN class="keyword token">import</SPAN> arcpy
<SPAN class="keyword token">import</SPAN> ArcHydroTools
<SPAN class="comment token"># set arguments</SPAN>
rasters_workspace <SPAN class="operator token">=</SPAN> r<SPAN class="string token">"E:\Projects\2016\G113386\ArcHydro\Model01\Layers01"</SPAN>
dem <SPAN class="operator token">=</SPAN> r<SPAN class="string token">"E:\Projects\2016\G113386\DEM\raw"</SPAN>
fgdb_workspace <SPAN class="operator token">=</SPAN> r<SPAN class="string token">"E:\Projects\2016\G113386\ArcHydro\Model01\Model01.gdb"</SPAN>
<SPAN class="comment token"># check out extensions and set environment settings</SPAN>
arcpy<SPAN class="punctuation token">.</SPAN>CheckOutExtension<SPAN class="punctuation token">(</SPAN><SPAN class="string token">"Spatial"</SPAN><SPAN class="punctuation token">)</SPAN>
arcpy<SPAN class="punctuation token">.</SPAN>env<SPAN class="punctuation token">.</SPAN>overwriteOutput <SPAN class="operator token">=</SPAN> <SPAN class="token boolean">True</SPAN>
<SPAN class="keyword token">def</SPAN> <SPAN class="token function">rasters_main</SPAN><SPAN class="punctuation token">(</SPAN>rasters_workspace<SPAN class="punctuation token">,</SPAN> dem<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">:</SPAN>
<SPAN class="string token">""" Create Rasters as part of ArcHydro Pre-processing"""</SPAN>
<SPAN class="comment token"># set raster workspace</SPAN>
arcpy<SPAN class="punctuation token">.</SPAN>env<SPAN class="punctuation token">.</SPAN>workspace <SPAN class="operator token">=</SPAN> rasters_workspace
<SPAN class="comment token"># set ArcHyro Target Locations for Raster and Vector Datasets</SPAN>
ArcHydroTools<SPAN class="punctuation token">.</SPAN>SetTargetLocations<SPAN class="punctuation token">(</SPAN><SPAN class="string token">"HydroConfig"</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"Layers"</SPAN><SPAN class="punctuation token">,</SPAN> rasters_workspace<SPAN class="punctuation token">,</SPAN> fgdb_workspace<SPAN class="punctuation token">)</SPAN>
<SPAN class="comment token"># create Fil Sinks raster</SPAN>
arcpy<SPAN class="punctuation token">.</SPAN>AddMessage<SPAN class="punctuation token">(</SPAN><SPAN class="string token">"Processing Fill Sinks"</SPAN><SPAN class="punctuation token">)</SPAN>
ArcHydroTools<SPAN class="punctuation token">.</SPAN>FillSinks<SPAN class="punctuation token">(</SPAN>dem<SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"fil"</SPAN><SPAN class="punctuation token">)</SPAN>
<SPAN class="comment token"># create Flow Direction raster</SPAN>
rasters_main<SPAN class="punctuation token">(</SPAN>rasters_workspace<SPAN class="punctuation token">,</SPAN> dem<SPAN class="punctuation token">)</SPAN><SPAN class="line-numbers-rows"><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN></SPAN>
Python Module: arcpy.env.workspace and ArcHydroTools.SetTargetLocations ignored by ArcHydro
Processing Fill Sinks
Traceback <SPAN class="punctuation token">(</SPAN>most recent call last<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">:</SPAN>
File <SPAN class="string token">"E:\Python\Eclipse\2015\arcpy64bit\src\archydro\archydro_main_test.py"</SPAN><SPAN class="punctuation token">,</SPAN> line <SPAN class="number token">34</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="keyword token">in</SPAN> <SPAN class="operator token"><</SPAN>module<SPAN class="operator token">></SPAN>
rasters_main<SPAN class="punctuation token">(</SPAN>rasters_workspace<SPAN class="punctuation token">,</SPAN> dem<SPAN class="punctuation token">)</SPAN>
File <SPAN class="string token">"E:\Python\Eclipse\2015\arcpy64bit\src\archydro\archydro_main_test.py"</SPAN><SPAN class="punctuation token">,</SPAN> line <SPAN class="number token">31</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="keyword token">in</SPAN> rasters_main
ArcHydroTools<SPAN class="punctuation token">.</SPAN>FillSinks<SPAN class="punctuation token">(</SPAN>dem<SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"fil"</SPAN><SPAN class="punctuation token">)</SPAN>
File <SPAN class="string token">"C:\Program Files\ESRI\WaterUtils\ArcHydro\bin\ArcHydroTools.py"</SPAN><SPAN class="punctuation token">,</SPAN> line <SPAN class="number token">6805</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="keyword token">in</SPAN> FillSinks
<SPAN class="keyword token">raise</SPAN> e
arcgisscripting<SPAN class="punctuation token">.</SPAN>ExecuteError<SPAN class="punctuation token">:</SPAN> You need to set either the geoprocessing Workspace <SPAN class="operator token">or</SPAN> the Arc Hydro Raster Location before running the tool<SPAN class="punctuation token">.</SPAN>
Failed to execute <SPAN class="punctuation token">(</SPAN>FillSinks<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">.</SPAN>
<SPAN class="line-numbers-rows"><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN></SPAN>
Error Message:
I'm currently using ArcGIS 10.3.1 and ArcHydroTools 10.3.0.78