skip to main content
RDF Annualizer Event
The RDF Annualizer event takes the data from an RDF file with a timestep of less than a year and aggregates the data, generating an RDF file with an annual timestep.
Configuring the RDF Annualizer
To configure the RDF Annualizer, you specify the following items:
• Source RDF file—source file with non-annualized data.
• Method control file—defines the methods for aggregating the slot data from the input file.
• End-year month—defines the last month of the aggregated year, allowing you to generate aggregations for calendar years or water years, for example.
• Result annual RDF file—file with the resulting annualized data.
Source RDF File
RDF files are generated from RiverWare and include data for user-specified slots. Non-series slots can be written to RDF files, but the RDF Annualizer only processes data for series slots. See the “Output Utilities” section of the RiverWare Help for details about the RDF file format.
In the Output tab of the MRM Configuration window, you can configure slot data for a multiple run in RiverWare to be output to an RDF file.
The source RDF file must include series data with a timestep of less than a year. This includes timesteps of 1 hour, 6 hour, 12 hour, daily, weekly, and monthly. If the source RDF file includes yearly timestep data, the RDF Annualizer displays an error message that the run is already annualized.
Method Control File
The method control file specifies the slots to be processed and the annualization method to be used for each one. This is a text file, with one entry per line. Each line has the following syntax:
Object.Slot: Method
Note:  If a slot is included more than once in the file—by specific declaration or wildcard—the RDF Annualizer uses first method listed.
Object can be any of the following:
• Specific object name from RiverWare
• * (asterisk) as a wildcard to match any object name
• Object type from RiverWare, to match all objects of this type, such as LevelPowerReservoir
Slot can be any of the following.
• Specific slot name from RiverWare
• * (asterisk) as a wildcard to match any slot name
Method can be any of the following.
• Sum—sum of all values for the year
• Average—average of all values for the year
• Max—maximum value for the year
• Min—minimum value for the year
• End—last value for the year
• Begin—first value for the year
• SumNan
• AverageNan
• MaxNan
• MinNan
• EndNan
• BeginNan
Methods with the “Nan” suffix ignore NaN input values when calculating the annualized value. Methods without the “Nan” suffix report “NaN” for the annualized value if any input values for the year are NaN.
Example 5.2  Sample method control file entries
*.Outflow: Average
*.Pool Elevation: End
Big Reservoir.Evaporation: SumNan
DataObj.*: EndNan
These entries are processed as follows:
• Outflow values for all objects in the file are averaged over the year. If any values are NaN, the result for those objects is NaN.
• Pool Elevation for all objects in the file is the last value for the year. If any values are NaN, the result for those objects is NaN.
• For the object named “Big Reservoir”, the Evaporation slot is summed over the year. If any values are NaN, they are skipped and the remaining values are used in the sum.
• For all data objects in the file, all slots are assigned the last value of the year, regardless of whether any values are NaN.
End-year Month
The end-year month defines the last month of the year for the annualization calculations. The default is December, which annualizes to a calendar year; however, you can specify any month, such as September for water years.
For example, if you want to create an RDF file that includes storage values for reservoirs at the end of March, you can specify March as the end month and use the End method to report the last value for the year.
Note:  The result RDF file only includes data for full annualized years. If the timesteps in the source RDF file result in partial years at the beginning or end of the time range when annualized according to the end-year month, the partial years are dropped from the result RDF file.
Result Annual RDF File
The result RDF file includes the same descriptive fields as the source RDF file—such as name, owner, and description—and the same number of runs.
Note:  Only source file slots with a defined method in the method control file are processed by the RDF Annualizer; therefore, the output RDF file may include fewer slots than the input file. Also, any non-series slots in the source RDF file are not annualized.
The time_step_unit field is written as year, and the end times for the annualized years are listed as the new timesteps for the file.
The slot header information in the result RDF file is the same as the source file, except a method field is added to identify the method by which the slot data was annualized. Also, if the method is Sum or SumNan, the units field for the slot includes the phrase “summed over the year”; for example, “acre-ft/month summed over the year”.
Essentially, the result RDF file appears the same as an RDF file that was output from a RiverWare model with a yearly timestep, with a few minor exceptions.
RDF Annualizer Configuration Window
This window opens when you open an RDF Annualizer event on the RiverSMART workspace.
Note:  The source RDF file and result annual RDF file are configured in the program calling the event; therefore they are not included in this window.
Method Control File
Specify the file name, either by entering the file path in the text file or by selecting Select and navigating to the file in the File Chooser. Environment variables are allowed; for example, if you enter $NAME, the defined NAME system environment variable is substituted in the Method Control File path when the RDF Annualizer event is run.
End of Year Month
Select the last month of the annualized year in the menu.
Revised: 12/06/2024