US Army Corps of Engineers
Hydrologic Engineering Center

Skip Navigation LinksHome > software > hec-hms > known issues


Special Characters in Directories and File Names

Some languages include diacritic marks that modify letters.; Examples include the umlaut (¨) from German, the grave (`) from Portuguese, or the circumflex (ˆ) from Italian. There are many types of diacritic marks and many are used in more than one language. The Microsoft Windows operating system allows letters with diacritic marks to be used in directory and file names. The HEC-HMS software currently is not able to process directory or file names that include letters with diacritic marks. No directory or file name should use diacritic marks. The software may not be able to process the files if diacritic marks are used.

Decimal Separator

Most countries use either a period (.) or a comma (,) as the decimal separator in numbers; each country has adopted a standard for which one is preferred. The software allows you to select which decimal seperator to use regardless of any setting in the operating system. In some countries, there will be problems when the software interacts with the clipboard of the operating system.

Debug assertion failed error on exe launch

There is a character limit for the PATH environment variable for the HEC-HMS exe launcher which can cause a "Debug Assertion Failed!" error on launch. To launch via the exe launcher, your system PATH environment variable must be less than 2035 characters. Alternatively, you can launch HEC-HMS via HEC-HMS.cmd.

Small text and icons on high DPI displays

If the Windows display scaling setting is different than 100% HEC-HMS text and icons may appear unusually small. To mitigate this issue browse to the java.exe that is distributed with HEC-HMS. This is located in the <HEC-HMS root>/jre/bin folder. Right click java.exe, select Properties, select Compatibility tab, select Change high DPI settings, select Override high DPI scaling behavior, and select System.

Negative Parameter Values when Maximizing Nash Sutcliffe (Optimization)

In an optimization trial, if you choose the maximization goal with the Nash Sutcliffe objective function, the search will sometimes explore negative parameter values despite those values being outside of the acceptable parameter range. It might also converge to those parameter values. This is because the range of the Nash Sutcliffe objective function is between -infinity and 1, with 1 indicating perfect fit. When a parameter goes out of range in the maximization goal, the search penalizes the objective function by shrinking it by a magnitude proportional to the distance out of range the parameter is. This means that for Nash Sutcliffe it will shrink the objective function towards zero despite this not being the worst possible value for the objective function. The consequence of this is that despite being out-of-range, the contraction towards zero might be an improvement if the objective function is negative.

If you encounter negative parameter values using the maximization goal and Nash Sutcliffe objective function, consider switching to the Coefficient of Determination objective function instead. It is bounded between 0 and 1, and if you maximize Coefficient of Determination you will almost certainly maximize Nash Sutcliffe as well.

This problem is not planned to be repaired until a substantial overhaul of the maximization goal is undertaken at some point in the future.