ArcSWAT Structure – Developer View

ArcSWAT is the standard SWAT interface which is used by most of the modelers. Knowing its structure would help understand what’s going on under each command and locate the possible exceptions more easily, which in turn would help improve model itself.

Key facts about ArcSWAT

  • ArcSWAT is ArcGIS Extension
  • ArcSWAT defines toolbar and menus
  • ArcSWAT is developed with .NET framework
  • ArcSWAT needs to be registered in system before use

ArcSWAT is ArcGIS Extension

An extension is a class which implements interface IExtension and IExtensionConfig.

ArcSWAT defines toolbar and menus

A toolbar is a class which implements interface IToolBarDef.

A menu is a class which implements interface IMenuDef.

A menu item is a class which implements interface ICommand. The method OnClick will be executed when the menu item is clicked.

ArcSWAT is developed with .NET framework

There are six .NET assemblies in ArcSWAT. They are corresponding to six menus in ArcSWAT toolbar and located at ArcSWAT installation folder.

  • SWAT_PM2.dll, project management, corresponding to “SWAT Project Setup” menu in ArcSWAT toolbar.
  • SWAT_WD.dll, watershed delineation, corresponding to “Watershed Delineator” menu in ArcSWAT toolbar
  • SWAT_HRU.dll, HRU definition, corresponding to “HRU Analysis” menu in ArcSWAT toolbar
  • SWAT_InputFileGen.dll, input generation, corresponding to “Write Input Tables” menu in ArcSWAT toolbar
  • SWAT_InputFileEdit.dll, input edit, corresponding to “Edit SWAT Input” menu in ArcSWAT toolbar
  • SWAT_RunSWAT.dll, swat simulation, corresponding to “SWAT Simulation” menu in ArcSWAT toolbar

ArcSWAT needs to be registered in system
before use

To use ArcSWAT, all six assemblies must be register in system, which is automatically done during installation.

The registration process could also be used to manually install ArcSWAT or fix problem of ArcSWAT installation.

Leave a Reply