FAQ: Frequently Asked Questions


Versions 4.00 to 4.32, 5.* and above


Distribution Questions


Is it possible to get a demo version of SIC?

Yes! Please send an email to  asking for that, and then download it using the provided password. If you want to have more details about how to install and use this demo version you can check this page. The dongle drivers are not needed for the demo version since this version is not protected (but it is limited in size and new calculations are not possible).


Does SIC 4.* and 5.* run on Windows NT, 2000, XP or Seven?

Yes, but additional drivers have to be installed in order to detect the protection dongle. You can get them and other information at: http://www.actikey.com or directly here drivers.exe. They are also provided on the installation CD Rom or installation USB key. The drivers described in this section are for the parallel port dongle only. It can be provided on request, but the dongle we provide by default now is the USB dongle, since more and more computers are no more available with parallel ports. It is a pity since this parallel dongle is very robust and fast. The drivers.exe file contains drivers for all operating system (Windows NT, 2000, XP). You should first run this drivers.exe program to copy the files you need on your hard disk, and then install the driver you need from the files you copied. You can also only download the driver you need: d2kxp.exe for Windows 2000, XP and Seven and dnt.exe for Windows NT. These drivers are not needed for the demo version since this version is not protected (but it is limited in size and new calculations are not possible).

A new installer of Drivers has been released from 2007 for both the new USB key and the old Parallel port key. This installer is Setup_ithea.exe, located under the exe subdirectory of SIC. This Driver has been successfully used on Windows NT, 2000, XP, Seven 32 bits and Seven 64 bits. The Setup_ithea.exe program should start automatically when you select, for the first time, the protection option in the corresponding menu of SIC (to select USB or Parallel port dongle, and Local or Network). But in case it doesn't, you can also run this program by yourself. You have to install this driver prior to the first connection of the USB dongle key, otherwise Windows will install by default a wrong driver. When you run this setup_ithea.exe program (located under SIC/EXE sub-directory), you will be able to configure your local or network profile.

If you use this USB dongle key on the same computer as the one where SIC is installed, you just need to select "Utilisation monoposte". If you want to use this USB dongle key on a local business network, you may select "Serveur de licences" on the computer where you will connect the USB key, and "Client réseau" on the other computer(s) where SIC will be installed and used. If your network has a firewall, check that the 1331 port is opened.


Does Cemagref provide network dongles, instead of standalone ones?

Yes, the Actikey dongle can be configured (by Cemagref) to be used on the network. A network server should be installed on the computer with the dongle. You can get them and other information at: http://www.actikey.com or directly here drivers.exe. They are also provided on the installation CD Rom or installation USB key. The drivers.exe file contains servers for all operating system (Dos, Novel, Windows 3.11, 95, 98, Me, NT, 2000, XP, Seven). You should first run this drivers.exe program to copy the files you need on your hard disk, and then install the server you need from the files you copied. You can also only download the server you need: s9598me.exe for Windows 95, 98 and Me and snt2kxp.exe for Windows NT, 2000, XP and Seven (Dos, Novel and Windows 3.11 can be found in drivers.exe). See also the above Question of the FAQ for the new drivers Setup_ithea.exe.


Does Cemagref provide USB dongles, instead of parallel port ones?

(> December 2007): the USB dongle are available and working fine. They are just slower than the parallel ones. See also the above Question of the FAQ for the new drivers Setup_ithea.exe.

(November 2007): we are programming these USB dongle at the moment. They will be available within couple of weeks. They can be used as standalone local dongles or also as network server dongles. To be detected as local or server dongles a specific driver (service) has to be installed. We provide this and the installation setup is in several languages.

(Before 2007): The Actikey Company offers this technology, but, so far, even though we had this demand, we did not program this option. We will offer this option with SIC version 5. The problem appears with some laptops that do not have parallel port. In this case you can still run SIC if you have a network connection, using a network dongle. It may also work if your laptop has an expansion dock (using a specific multi pin connection but not a USB one). A parallel emulator connected on the USB port or the serial port may not work. Beware that only the unit 1 (topography-geometry) is protected by the dongle. You do not need the dongle to run steady flow nor unsteady flow simulations.


Why the dongle is not recognized by SIC, on my computer?

First check that the dongle is correctly plugged on the parallel port (for the parallel version) of your computer. In case a printer or another device is connected after the dongle, this device must be switched on.

If the dongle is still not recognized, it is probably because the correct driver is not installed on your computer. Read the previous section and install the drivers provided.

If you are using the dongle (Parallel or USB) on a server, you must also check that the anti-virus or the firewall is not blocking the server application or service (cnrms0330 or ithea). In case you use the USB dongle you have also to check that the port 1331 is opened on your local network.


Does SIC run on Linux?

New (2010): we have a version 4.32 working on Linux, and also in the Palm (Cerfacs) coupling platform. Contact us in case of requirements for more details. The version 5.* is not under Linux for the moment.

(Before 2010): Unfortunately no, but you can test the Wine emulator. Please tell us in case you test this option.


Does SIC run on 64-bit PC and OS?

SIC is still compiled in 32-bit, but Windows 7 64-bit is compatible with 32-bit applications. In some future (2012?) we will also compile in 64-bit, there is no specific problems, since we use Intel Compiler (versions 10 and 11 at the moment) for Fortran programs, and Windev (version 17 at the moment in 2012) for interfaces, and they both handle 64-bit compilation. We just have a problem with one library of Windev provided in 32 bits but not yet in 64 bits.


What is the difference between the Professional and the Educational/Research version of SIC?

Both versions are exactly the same (same interfaces, same numerical capabilities, and same dongle system), except that the Educational/Research version can handle only limited size systems. The largest systems that can be handled with this version is : 2 branches, 10 reaches, 50 data cross sections, 250 calculation cross sections, 10 cross devices, 20 regulation modules. If you have specific requirements please contact us. See http://www.canari.free.fr/sic/vergb.htm for more details.


Hydraulic Questions


How to use the “pond” function? I would like to model a constant level reservoir upstream the canal. Is it possible with the pond function? I was trying to insert a pond, but I do not see that it has any effect on the water levels. I must have done something wrong or misunderstood something?

Yes this is possible. The "pond" concept in SIC is useful for indeed entering a reservoir upstream of the canal, and with a large enough pond the water level will be close to constant, or to model an inline storage reservoir, or also to close a canal at its downstream end. In the upstream node you enter this pond described by the relationship Surface = function (Elevation). Beware of the units, the surface is in hectares (10000 m2). At this upstream node you still have to enter an entering discharge, that will be the discharge entering the pond (from a small river for example), the canal being connected also to this pond, and will take the water from the pond. In steady flow calculation, this will indeed change nothing, since SIC will calculate the steady equilibrium, and this depends on the entering discharge and backwater calculation from downstream towards upstream sections. But in unsteady flow calculation, the pond will change the quantity of water entering the canal depending for example on the opening of a gate located at the entrance of the canal, downstream of the pond (at some section of the first reach leaving the pond). Since these ponds have effects only in unsteady flow, and not in steady flow, this is why in version 4 of SIC, the pond description was required only in Edisir (the editor for unsteady flow calculation). But since a pond is a sort of geometry data, this was confusing for some users. This is why the pond is now, inversion 5 of SIC, entered directly into the Geometry mode of the new Edisic integrated editor. Even though on the hydraulic point of view this will have no effect at all on the steady flow water elevations nor discharges, it will nevertheless be possible to compute the volume stored in these ponds, what can also be of interest for some SIC users. So this new way of entering this data has also some interest in steady flow calculations, at the result stage (stored volume calculation).


General Questions


Does SIC manage long file names?

Yes, the 4.0 version handles long file names for the installation directory (e.g.: C:\MyProgramsOnMyComputer\SIC40). But the SIC data files must have a short name (maximum 8 characters). This will be changed in the 5.0 version (available early 2008). Version 5.0 does handle long file names.


Is-it possible to drive SIC calculations (geometry processing, steady flow and unsteady flow calculations) from other programs?

Yes, the 4.* versions of SIC allowed this through a macro mode, and the 5.* versions allow this through a parameter variable mode. For the 4.* versions, the idea was to record a macro, going through the options you were interested in (such as defining or changing a boundary condition, a Manning-Strickler coefficient at some section(s) or zone of sections, a geometry of some devices, a gate opening, etc), and doing the calculations you wanted (steady flow, unsteady flow). This macro was saved in a simple ASCII text file, that you could edit or create with a third-party software such as MatLab, Scilab, batch command, etc. It was then possible to automate calculations, do calibration or optimization. The validation of the different versions of SIC, and non-regression tests were done using this features. The figure below was obtained for the automatic calibration of 2 Manning-Strickler coefficients, using MatLab calls of SIC unsteady flow module in macro mode. We can see the shape of the Criteria Function to minimize (quadratic function of the difference between model outputs and field measurements) as a function of 2 Manning-Strickler coefficients for 2 zones of a river. We can also see how the optimum values are found using a Simplex Nelder-Mead algorithm.

With the 5.* versions of SIC this is even easier, since in the interface you can select the variables you want to play with, defining them as a parametered variable. The corresponding variables are given a name (eg.: X1=…) and the value(s) will then be written and read in a small specified ASCII .par file. Using a third-party software (MatLab, SciLab, etc), you can create or edit such simple file and run in batch mode the calculations and export result at the locations and type of variable you are interested in.


Regulation Module Questions


How is it possible to use SIC with MatLab?

There are 2 ways you can use MatLab to design a regulation module for SIC. One very simple way is to design a state space controller, and to use the DSS regulation module (Cf. documentation). Another way is to use the MATLAB regulation module. This regulation module uses a DDE link between SIC (more precisely the Sirene program for the unsteady flow calculation) and MatLab. But this option is much slower than the other options (DSS, PID, USER, etc), since the data has to be sent forth and back between SIC and MatLab through the DDE link, and a .m file has to be executed (automatically by the DDE link) each time step in MatLab. This DDE link is working with MatLab 6 and MatLab 7. It should also work with above versions but we did not test it so far. Please contact us in case of difficulties.


What is the purpose to introduce a measurement time step (PZ = 600. for example), since we have specified the sampling time with PU?

Sirene program (the unsteady flow calculation program of SIC) is using different time steps:

1. DT for the unsteady flow computation. This DT is defined in the Editor Edisir (and stored in the .sir file, in minutes). It is the DT used for the Preissmann Scheme.

2. When using a regulation module we can define some other time steps, in the .reg file (in seconds). DTU is the regulation time steps which can be different (but larger, and best if possible, a multiple of DT). It is defined on the "PU=" line in the .reg file. If this DTU is set to 0, then DTU is taken by default as DT.

3. On the .reg file, we also give the possibility to give a DTZ time step, which is the measurement time step of the variables Z. The variable Z will be updated only every DTZ seconds.

With the possibility to define these 3 time steps you can for example run a simulation with a 1 minute time step (DT = 1 minute = 60 seconds), and a regulation time step taking measurements every 3 minutes (DTZ = 180.), and making a gate adjustment every 9 minutes (DTU = 540.).


Why do we need to define the measured variable Z, if we have already defined the controlled variable Y?

Usually, for a PID for example, there is no distinction between the variables you want to control (Y), and the variable you measure (Z). But for some other controllers, you can have a distinction. For example for a LQG controller, you can measure the water levels upstream and downstream of each gate, but you want to control the water level upstream of each gate only. Therefore in this case there is an interest in defining the Z variables used by the observer, and the Y variables used for the design of the controller.

Some controllers use the Y variables and some others use the Z variables, as inputs. Cf. the documentation for the detailed list of the variables used by each controller.

The only problem is that usually now the control community uses the inverse terminology ("y" for what is supplied to the controller, and "z" for the variables on which design specifications are given). But we use this terminology from a long time ago for historical reasons.


How do we define the different U and Y for a multivariable regulator?

You can define as many U, Y and Z as you want in any regulation module you want to write (USER1 to USER9). The only limitation is the one we impose when compiling SIC (in the professional version: NBUM=100, NBYM=100, NBZM=500). Most of the regulation modules (DSS, MATLAB, LP, PRINT, etc.) also accept as many variables U, Y and Z as you want. The PID regulation module as programmed in SIC is a SISO one, but you can program a MIMO one if you want (in USER1 for example). Or you can use the DSS module (in this case you have to provide the A, B, C and D matrices of the controller in state space, Cf. the documentation).


Warning or Error Questions


When trying to run Sirene (the unsteady flow calculation) you get a message saying the MSVCR71.dll or MSVCP71.dll file is missing. Why?

Sirene has an optional feature of a DDE link with the MatLab engine allowing testing easily complex regulation modules. Even if you do not use this powerful feature, the exe code has to be complete and contains the corresponding routines. You can specify which version of MatLab could be used in the "Options/DDE link" menu. If you get this message it is because the "None" or "Default" or "MatLab 7" option has been selected and that this msvcr71.dll or msvcp71.dll is looked for by the program but is not installed on your hard disk (certainly because you do not have MatLab 7 installed on your computer). The best is to select the MatLab 6 option which does not need this dll. To solve this problem from version 4.23 we install these 2 dll files in the exe subdirectory.


Versions up to 3.90


Distribution Questions


Does SIC run on Windows NT, 2000 or XP?

Yes it does, but by default the dongle is not recognized. You have to install a special driver on your computer. For more information on this driver you can check the following web page: http://www.rainbow.com/tech/sysdrvr-fqs.htm.

Since one module of SIC (Edital.exe) is still a 16 bits application, another driver has to be installed. This driver is named "sentdos.sys". You must copy it on your hard disk (click on sentdos.sys with the right button of the mouse and choose "save link as ..."). You must then add in the CONFIG.BAT or CONFIG.NT file "device=%path%\sentdos.sys", where %path% is the actual path where sentdos.sys resides (for example "device=c:\winnt\system32\sentdos.sys"). If you want more information on this driver you can check the sysdrvr.exe file, containing this driver and others.

In some cases, the first call from a program checking the dongle (Edital.exe) will not recognize it. But this is just an initialization problem of the driver and the next calls will detect it and work fine.

Nevertheless, some computer such as Compaq and some IBM still cannot recognize the dongle. The reason is that their parallel port is using a voltage below 3 Volts, and cannot run the dongle properly. No solution exists in that case. The next versions of SIC (4.0 and above) use another type of dongle, with a more recent technology allowing low voltage.


Does Cemagref provide network dongles, instead of standalone ones?

Not for the 3.9 version, but this solution is proposed for the next versions (SIC 4.0 and above).


Installation Questions


I have difficulties to install SIC from the ZIP file provided by Cemagref. Why?

You must first unzip the big ZIP file (about 10 MB) provided by Cemagref (either by email or from the Canari Web site). When doing that you must use the option using the directory names, in order to reconstruct the directory structure required by the installation procedure:

Then, you must run the installe.exe (start the installation interface in French) or setup.exe (start the installation interface in English) program located under the Disk01 subdirectory.


I get an error message concerning the DATA directory the first time I run SIC after installation. Is it normal?

Unfortunately yes. This is due to a bug in the installation program we use (developed by another company). It will be corrected in a future version. In fact this problem is due to an incorrect generation of the Sic.ini file.

 

But this is not a big problem, since you can provide the correct directory.

 

Using the "Browse" option you can select the correct data directory: either "Dat" or one of its subdirectories where more demo data files are located.

Remark: the same problem exists for the "Mini Editor" option in the "File" menu. The correct directory name must be given in the "Option" menu. It is up to you to select the program you want to run using this option.


General Questions


Does SIC manage long file names?

Yes, but a small modification in the Sic.ini file must be done. When you install Sic, you can specify any drive and directory name, even some using long file names (e.g.: C:\MyProgramsOnMyComputer\SIC38). But when you try to run this version, you will get a message saying that the Sic.ans or the Sic.wdl file cannot be found. This is due to the fact that Sic.exe is still a 16 bits program, and does not handle long file names. But you can go ahead by editing the Sic.ini file before running Sic, changing the long file name by its short version (e.g.: C:\MyProg~1\SIC38).


Regulation Module Questions


How is it possible to use SIC with MatLab?

There are 2 ways you can use MatLab to design a regulation module for SIC. One very simple way is to design a state space controller, and to use the DSS regulation module (Cf. documentation in French). Another way is to use the MATLAB regulation module. This regulation module uses a DDE link between SIC and MatLab. It was working in the 16 bit version of SIC, but we did not adapt it yet to the present 32 bit version. It has been done for the next versions (version 4.0 and above). But this option is much slower than the other options (DSS, PID, USER, etc), since the data has to be sent forth and back between SIC and MatLab through the DDE link, and a .m file has to be executed (automatically by the DDE link) each time step in MatLab.


How do we define the different U and Y for a multivariable regulator?

You can define as many U, Y and Z as you want in any regulation module you want to write (USER1 to USER9). The only limitation is the one we impose when compiling SIC (in the professional version: NBUM=100, NBYM=100, NBZM=500). Most of the regulation modules (DSS, MATLAB, LP, PRINT, etc.) also accept as many variables U, Y and Z as you want. The PID regulation module as programmed in SIC is a SISO one, but you can program a MIMO one if you want (in USER1 for example). Or you can use the DSS module (in this case you have to provide the A, B, C and D matrices of the controller in state space, in a .mat file version 4, Cf. the documentation).


Pierre-Olivier Malaterre home page | CANARI server