In some cases, you need to compute and report accumulated, average, the change or the rate of change of values over specified periods (e.g., monthly, annually). For example, you may need to report the cumulative amount of money or water that moved from one point to another each month.
To support this, GoldSim allows you to define Reporting Periods. Scheduled updates (timesteps) are created at the end of each Reporting Period. Hence, these can also be thought of as “Reporting Steps”. Whereas results saved at Basic Steps always represent instantaneous values, results saved at Reporting Periods can not only be displayed as instantaneous results, but can also report accumulated, averaged, the change or the rate of change of values over a specified period (e.g., monthly).
Reporting Periods are defined toward the bottom of the Time tab of the Simulation Settings dialog:
There are three options for Reporting Periods (referred to in the dialog explicitly as Reporting Steps to remind you that these actually create scheduled updates): “None” (the default), “Major” (in which your define a single Reporting Period), and “Major & Minor” (in which you define two Reporting Periods).
The manner in which Reporting Periods are specified differs based on whether the Time Basis is Elapsed Time or Calendar time.
For an Elapsed Time simulation, you simply specify the length of the Reporting Period for the Major and Minor Period:
In this example, a Major Period would be created every 100 days from the start of the simulation; a Minor Period would be created every 10 days from the start of the simulation.
You define the length using any time unit. This can be specified as a number or an equation (but you cannot link to another element).
Note: The Major Period must be a multiple of the Minor Period.
You must also define a Period Label for each type of period (which defaults to Major and Minor). These IDs are referenced when displaying Reporting Period results.
For a Calendar Time simulation, there are five options for the Major Period:
These create Reporting Periods every year, quarter, month, week or day, respectively.
Depending on what you select for the Major Period, limited options will be valid for the Minor Period, since the Major Period must be a multiple of the Minor Period. For example, if you select “annual” for the Major Period, only three options are valid for the Minor Period (quarterly, monthly and daily). If you were to pick “monthly” for the Major Period, there is only one valid option for the Minor Period: daily. Weekly is never a valid option (and is not provided in the drop-list) for the Minor Period, because it does not divide evenly into any of the possible Major Periods.
Calendar Periods are placed according to the following rules:
• Monthly Periods are added on start of the first day of the calendar month (at midnight).
• Daily Periods are added at midnight on each day.
• Where Annual and Quarterly Periods are added is controlled by how you define the “Start of reporting year” which is controlled via the Advanced… button at the bottom of the Time tab. Annual Periods are added on the first day of the month selected as the “Start of the reporting year”. Quarterly Periods are added on the first day of the month selected as the “Start of the reporting year”, and the first days of the months 3, 6 and 9 months after the selected month.
• Where Weekly Periods are added is controlled by how you define the “First day of model week” which is controlled via the Advanced… button at the bottom of the Time tab. Weekly Periods are added at midnight of the start of the specified first day of the week.
It is important to understand that in many cases, you should define your scheduled updates using Reporting Periods (and not bother to use a Basic Step at all). Recall that whereas results saved at Basic Steps always represent instantaneous values, results saved at Reporting Periods can not only be displayed as instantaneous results, but can also report the change, rate of change, accumulated or averaged values over a specified period (e.g., monthly). Hence, if you needed the change, rate of change, average or accumulated flows over steps (e.g., over the last day or the last month), you can do so by defining your steps using Reporting Periods.
Note: Most spreadsheet models implicitly compute accumulated values (e.g., flows) over a step (or the change from one step to the next). Hence, if you want to compare or integrate GoldSim with a spreadsheet model, you should use Reporting Periods to define your steps.
Of course, in some cases, you may want to create Reporting Periods in order to report accumulated or averaged values over a specified period, but you also may need a shorter computational step in order to ensure accuracy. For example, you may require a daily timestep to ensure accuracy, but only need to view monthly averages or accumulated values in terms of results. In this case, you would create a Basic Step as well as Reporting Periods.
When defining both Basic Steps and Reporting Periods, Reporting periods can be defined to coincide with Basic Steps (e.g., a 1 day Basic Step and a monthly reporting period), but they do not have to. However, if a Basic Step is specified, Reporting periods must always be at least twice as large as the Basic Step.
Once you have defined Reporting Periods, how can they be used? Reporting Periods impact your model in three ways:
1. Reporting Periods automatically create a scheduled timestep for your model (regardless of how you have defined your Basic Step).
Note: If you press the Show Scheduled Updates… button at the top of the Time tab, all of the scheduled timesteps in the model will be displayed. Because Reporting Periods add scheduled timesteps, you can use this to see exactly where they will be added. Updates associated with Major and/or Minor Periods are specifically identified (since Minor Periods must divide evenly into Major Periods, any Major Period listed automatically also represents a Minor Period).
2. Results based on Reporting Periods (e.g., cumulative values over each period, average values over each period, etc.) can be accessed and viewed via Time History Result elements.
3. When Reporting Periods are defined, a number of additional Run Properties are created that can be referenced in your model (e.g., the elapsed time from the start of the last Reporting Period, the remaining time to the start of the next Reporting Period).
A simple example file illustrating Reporting Periods (ReportingPeriods.gsm) can be found in the Running subfolder of the the General Examples folder in your GoldSim directory (accessed by selecting File | Open Example... from the main menu).
Learn more about:
Defining the Time Basis and Simulation Duration
Controlling When Weeks and Years Start
Understanding Timestepping in GoldSim
Viewing Reporting Period-Based Results in Time History Result Elements