A HYDSTRA variable is a 4digit code which refers to an environmental parameter, and the units in which it is measured. For example by default water level in metres is variable 100 and water level in feet is variable 232. You must uses separate variable numbers for each different set of units so that the variable conversion system can convert one into another.
How many different variables may I use?
By convention HYDSTRA uses 1-999 for time-series variables and 1000-9999 for water quality variables. However this is only a convention, and you may break it if you wish.
Do I need to stick with the variables delivered with HYDSTRA?
No, you can allocate your own variables freely. However you will have difficulty exchanging HYDSTRA files with other organisations unless you all use the same conventions for variables, variable conversions, and quality codes. If I use variable 10 for rainfall and you use variable 10 for water level, we cannot transfer files without mapping the variables.
What is a sub-variable?
HYDSTRA uses two decimal digits after the variable number (e.g. 100.01, 100.50) to distinguish between different recordings of the same variable. . For example you can store different time samplings (daily, hourly, 15 minute), different locations (upstream level, downstream level), different technologies (logger data, chart data), different depths (wind speed at 5m, wind speed at 20m), etc and distinguish between them using subvariables.
In most programs the variable and subvariable are folded together into one field.
What effect does the PRECISION field have?
The PRECISION filed in VARIABLE controls how HYDSTRA compresses data in two ways:
Data is guaranteed to be stored and retrieved to +/- 0.5*PRECISION. Thus if you specify water level to be stored to 0.001m (or 1mm), data will be stored and retrieved to the nearest 0.5mm.
Any run of points which lie within +/- 0.5*PRECISION of a straight line can be discarded.
There are two ways in which you can control whether or not points on a line are compressed away. Firstly, HYCONFIG.INI contains a setting COMPRESSTS that controls the default of whether or not to compress this way. Secondly, you can set up a VARSUB entry with the COMPRESS field set to provide finer control. If you specify a station/variable/subvariable, the compress setting applies to that combination. If you specify a station of 0, it applies for all stations with that variable and subvariable. Further, by specifying a variable of 0 as well, it will apply to all variables with the subvariable.
Bear in mind that data will be lost below the specified PRECISION. For example if you put away a value of 1.4276896 with PRECISION set to 0.1, you can guarantee that you will loose all the additional digits past 1.4. Hence it is important to balance the additional compression gained by increasing PRECISION with the definite loss of data that also follows. In general you should set PRECISION below the smallest possible difference you could realistically record with any known transducer.
Can I have different rating tables for different subvariables?
No. One constraint on subvariables is that all data with the same variable at the same site goes through the same variable conversions. Hence if you need to put the data through different rating tables, for example, you will need to use different variables. For the same reason you should probably distinguish between river level and reservoir level as separate variables, as you may need different variable conversion on each.
How do I transform a variable into another variable using the variable conversion system?
You need to register entries in up to 3 database tables. First you need to register what you have and what you want in the VARIABLE database. Then you need to break down the transformation into as series of steps and register each step in the VARCON table. Finally you thread all the steps together in the VARMAP table.
The process is fraught with complexity, and you need to carefully test any new conversions to ensure that they are behaving correctly.
How can I check my variable conversion entries?
Program HYUCONV has a Reports/Variables option which will check for gross mistakes in your variable conversion system. However HYUCONV cannot guarantee that you have set up the system to compute what you expected. The only real check is to carefully hand-work some examples, and check intermediate results.
HYEXTR can be used to list output from the variable conversion system at every data point by specifying POINT as the data type. To check integration and differentiation steps you will need to output a TOTAL or MEAN data type. There is no substitution for careful checking of outputs on any new variable conversion.
If you are developing conversions that include time on the bottom line of the units (e.g. megalitres per day), be sure to check the conversions for intervals other than the denominator interval. For example mean flow in megalitres per day is numerically the same as total flow in megalitres when run over daily steps, but it will be different if run over hourly steps.
Can I use the standard USGS methods for computing discharge using datum corrections, time shifts and stage shifts?
Yes, HYDSTRA supports the USGS techniques completely. As delivered, a new HYDSTRA system will include conversions from 232 (raw level ) to 233 (corrected level to 262 (discharge in cfs) and on to volume in cubic feet (262) and acre ft (272). You will need to set up time-based tables for datum shifts in TTABHED and TTABPTS using variable 280 (datum shift).
If you wish to use the USGS methods but want to use metric units you will have to replicate the conversions yourself, as we do not deliver a metric version of the USGS conversions.
If you already have a version of HYDSTRA installed but wish to see how to set up the USGS methods, look at the VARIABLE, VARCON and VARMAP databases on the latest release CD.
Can I add a new UNITCODE entry?
UNITCODE is a table of units maintained and distributed by HYDSTRA Systems. The variable database links to UNITCODE for each variable, giving us a way to check some of your variable conversions.
If you cannot find a unitcode for a variable that you need to work with, contact us and we will create one and tell you how to enter it yourself. You must not add UNITCODE entries without contacting us, as you will loose them at the next HYDSTRA release if you do.
Can I compute flow in different ways at different sites?
Yes, but you need to specify different paths through the variable conversion system. For example 100 to 141 must always be computed the same way for all stations. However you can go from stage to discharge one way, and from velocity to discharge another way.
How can I import rating tables from another organisation?
See the Ratings FAQ for details on how and when you can exchange tables between organisations.
How do datatrans and REPORTFORM interact?
REPORTFORM is used to decide how to format output, and it is loosely related to datatrans. Some programs look up REPORTFORM for a variable and then make assumptions about a default datatrans if they need to write data. For example REPORTFORM values of LEVEL and RATE are associated with datatrans 1 to 4, while TOTAL and RAIN are associated with datatrans 5 or 6.
How many decimal places are reported for a variable?
Unfortunately HYDSTRA does not currently have any sensible defaults. Each program decides for itself how many decimal places and/or significant figures to report. At some stage in the future we plan to add fields to VARIABLE specifying reporting decimal places and significant figures.
For daily summaries HYTAB can be configured for decimals and significant figures whereas HYDAY is hard-wired.