Call Us: (866)-473-0453

How can we help you?

FAQ & Troubleshooting

Visual Otthymo and VO-SWMM

Technical support is not available for VO 2.3 and earlier versions. Please consider upgrading to the latest version.

The changes are summarized in What’s New.

The VO2 project file is not supported in VO6. Instead, the VO2 scenario files could be imported using menu File -> Import -> Import VO2 Scenario (Current Project). Multiple scenario files could be imported at the same time.

The MDraw is not registered correctly. Please follow the steps below to register it.

1) Open the Command Prompt using Run as administrator.

2) In the command prompt:

a. Go to the VO installation folder using the command. cd C:\Program Files (x86)\Visual OTTHYMO 6.0

In OTTHYMO 6.0:

b. Run the command below to register MDraw. regsvr32 mdraw32p.ocx. 

Then, re-run VO to import VO2 scenarios.

Yes. Any working dongles could be upgraded to VO6. Starting from version 5.0.2008, a new cloud-based licensing system is added. Dongle users are recommended to upgrade to the new system.

Due to various reasons, the driver for VO dongle might not work properly after the installation. This could be fixed by following the steps given in this document: How to Fix Dongle Driver Issue.

The dongle-based license uses a hardware dongle and the cloud-based license uses a license file. With cloud-based license, all licenses are concurrent licenses and could be accessed anywhere. And the license server is on the cloud and there is no need to maintain a local license server.

You need to have version 5.0.2008 and later installed to use the cloud-based license. When the program starts, the License Manager window will appear. Click the Add Cloud License File button on the bottom and select the license file. The license file will be automatically loaded when VO is started next time.


A connection to the cloud server is required for the license system to work. The connection may be block by firewall or antivirus software. You need to contact your IT department to enable the connection. The cloud server is located at ls30.rlmcloud.com and the port used is 5053. Please provide this info when you contact the IT department.

Please delete all files with name stormlibrary in C:\ProgramData\Civica\VH5 and restart VO. Note that C:\ProgramData is a hidden folder. You could copy the folder path and paste it in address bar.

The single-event model simulates the hydrograph resulting from short-term rainfall event. It doesn’t account the evaporation and track the soil moisture. The continuous model extents the simulation to long-term period, e.g. 10-years. The evaporation and snow process is simulated to update the soil moisture.

Yes. The VO continuous model is designed to reuse all parameters in a single-event model. First create a continuous model and use the menu File -> Import -> Import VH Scenario (Current Project) to convert the model.

The dockable window in VO includes the Project Manager, Tool Box, Properties, Error List, Hydrograph Results and Parameter Tables. They could be turned on/off by using the windows menus in the Home ribbon. If you cannot see the windows after checking them on, delete Layout.fig in C:\ProgramData\Civica\VH5 and then restart VO5. Note that C:\ProgramData is a hidden folder. You could copy the folder path and paste it in address bar.


DataCurrent

Frequency: low

Key WordsGIS layerService Layer, Edit Layer

Delete layer 2 and recreate it.

Frequency: medium

Key Words: sensor, equation, Logger channel, physical sensor

In DC, most non-calculated sensors get their data from a specific channel of a logger. A logger is a data source which can be a physical station installed in the sewage pipe, or a site from a data API. Suppose you have a depth sensor in a station. Its equation is m(E1), “m” means monitor and “E1” is the channel. So, this means that this sensor’s data comes from the channel “E1”.

If you also want to hold depth raw data in DataCurrent, assume you have a depth raw data channel called “RD“. You can set a new sensor that you may name “Depth Raw” and set its equation to m(RD). We can add new channel names for you if it doesn’t exist in DC for now.

If you also also want to hold depth approved data in DataCurrent, assume you have a depth approved data channel called “RDP“, you can set a new sensor that you can name “Depth Approved” and set its equation to m(RDP)

Or if you don’t have a data source for the approved data, you can simply set a sensor without setting the equation and manually upload the data to this sensor.

As you can see, for every channel, you can set a separated sensor for that channel. 

1. Go to your monitoring service page: https://cloud.datacurrent.ca/Monitoring/MonitoringService/Index/563

2. In the left-up corner, there is a dropdown: “Actions”, choose “Edit Service”.

3. Once you are in Edit service page, right click the layer that you want edit, choose “Edit”.

4. In the pop-up window, you can set the zoom level, you can leave Max empty. Click the “Apply Changes”, then click the “Close” button.

5. Click the “Save” button to save the service settings.

1) AV Flow Equation: Q = AV
where:
Q = free flow rate (l/s)
A = cross-sectional wetted area of flow
V = velocity of flow

Example 1:


Settings:
Pipe diameters: 0.45 meter

Depth sensor: Id = 3831, unit : m, we will use s(3831) to represent this sensor’s value in equation

Velocity sensor: Id = 3833, unit : m/s, we will use s(3833) to represent this sensor’s value in equation

Flow sensor: unit L/s

A = pipe_area(0.450,0.450,s(3831),0)
V = s(3833)

Flow sensor AV equation will be : pipe_area(0.450,0.450,s(3831),0)*s(3833)*1000

The function pipe_area(x_diam, y_diam, water_h, silt_h) has 4 parameters and return wetted area:
x_diam is pipe’s x axis diameter (pipe width)
y_diam is pipe’s y axis diameter (pipe height)
water_h is water depth which is depth sensor value , represented as s(3831)
silt_h is deaddog height ( silt height, if you don’t know, you may assume it is 0)

Note: the units of all the 4 parameters must be same, if you use the meter as the diameter unit, then silt_h and water_h must be in meters, if they are not in meters, you must convert them to meter in equation, check the “Example 2” for details.

Since we set flow unit as L/s and the above equation result unit will be m^3/s, the result need to be multiplied by 1000 (1 cubic meter/s = 1000 Liter/s).

So the final equation will be: 

pipe_area(0.450,0.450,s(3831),0)* 

s(3833)*1000

 

Example 2:


Settings:

Pipe diameters: 0.575 meter

Depth sensor: Id = 1453, unit : mm, we will use s(1453) to represent this sensor’s value in equation

Velocity sensor: Id = 1454, unit : m/s, we will use s(1454) to represent this sensor’s value in equation

Flow sensor: unit L/s

As you can see that this example’s depth sensor unit is mm, we need convert it to meter in equation which is represented as s(1453)/1000 in equation:

pipe_area(0.575, 0.575, s(1453)/1000, 0)*s(1454)*1000

 

2) Palmer-Bowlus Flume Flow EquationQ=K〖H_ 〗^1.9

Where:             

Q = free flow rate (l/s)

H = head in meters

K = constant, dependent upon throat width and units

 

Palmer-Bowlus Flume Free-Flow Discharge Values:

Size (D) K value

4-inches 468.34

6-inches 607.7

8-inches 722.03

10-inches 749.9

12-inches 922.75

Example 1:

Settings:

Depth sensor: Id = 1593, unit : meters, we will use s(1593) to represent this sensor’s value in equation

D size: 4 inches

K = 468.34

Offset: 0.1 m  Note: The head (H) in the flume discharge equation = depth – offset. The offset is a constant value specific to each flume or site, here we just use 0.1m as an example.

〖H_ 〗^    = depth – offset = s(1593)-0.1

〖H_ 〗^1.9 = pow(s(1593)-0.1,1.9)

K = 468.34

So the equation will be : Q=K〖H_ 〗^1.9 = 468.34* pow(s(1593)-0.1,1.9)

The function pow(x,y) has two parameters and returns a specified number raised to the specified power:

The number x raised to the power y.

3) Rectangular Weir without End Contractions Flow Equation (Overflow): Q = KLH^(1.5)

Where:             
Q = flow rate (l/s)
H = head on the weir (meters)
K = 1838 (used for l/s calculation)
L = crest length of weir (m)
 
Example 1:

Settings:

Depth sensor: Id = 1593, unit: meters, we will use s(1593) to represent this sensor’s value in equation

L : 0.4 m

Offset: 0.1 m 

Note: The head (H) in the flume discharge equation = depth – offset. The offset is a constant value specific to each flume or site. We are just using 0.1m as an example.

 
K = 1838

L = 0.4 m

〖H_ 〗^= depth – offset= s(1593)-0.1

〖H_ 〗^1.5= pow(s(1593)-0.1,1.5)

Q=K〖〖LH〗_ 〗^1.5 = 1838*0.4* pow(s(1593)-0.1,1.5)

So the flow equation is : 1838*0.4* pow(s(1593)-0.1,1.5) 

4) Overflow Equation

Example 1: 

IF Depth > 360mm, THEN Q=AV

Settings:

Pipe diameters: 0.45 meter

Depth sensor: Id = 3831, unit: m,  we will use s(3831) to represent this sensor’s value in equation

Velocity sensor: Id = 3833, unit: m/s,  we will use s(3833) to represent this sensor’s value in equation

Overflow sensor: unit L/s

Overflow equation will be:

if(gt(s(3831)*1000, 360), pipe_area(0.450,0.450,s(3831),0)*s(3833)*1000, 0)

We are using function if(cond, ifyes, ifno) which has 3 parameters: return ifyes if cond (condition) is true, otherwise return ifno

We also use the function gt(a, b) which has two parameters: return true if a greater than b, otherwise return false.

cond = gt(a, b) = gt(s(3831)*1000, 360)   NOTE: Convert depth unit from m to mm in the equation:  s(3831)*1000

Ifyes = AV = pipe_area(0.450,0.450,s(3831),0)*s(3833)*1000

Ifno = 0 NOTE: If Depth <= 360mm, then there is no overflow, set overflow value to 0

So if(cond, ifyes, ifno) = if(gt(s(3831)*1000, 360)

pipe_area(0.450,0.450,s(3831),0)*s(3833)*1000, 0)

You get the overflow equation:

if(gt(s(3831)*1000, 360), pipe_area(0.450,0.450,s(3831),0)*s(3833)*1000, 0)

You can add another equation with a datetime as “valid until”. You must leave one (only one) equation with empty “Valid until” when you set up more than one equation for one sensor.