DHI.Mike1D.BoundaryModule.PeriodicItem Namespace

Periodic/diurnal boundary item

Classes

AlwaysSchedule A IPeriodicSchedule that always returns true.
BoundaryItemPeriodic Periodic boundary item implementation
ListIPeriodicSpecialDays Class implementing a list of IPeriodicSpecialDay's Required for generic list COM interop
OneDayTsProfile Implementation of IOneDayProfile A IOneDayProfile is a list of pairs of TimeOfDay times and values that repeat every day. A IOneDayProfile is a set of pairs of times and values. Times are the TimeOfDay part of a date, the first one must have zero TimeOfDay part (beginning of day), all elements must have increasing TimeOfDay parts. Data is stored in an time series item (because it has all the interpolation routines), and the type of values (instantaneous, forward step etc. must be proveded at creation. A special version exists where the values are defined to be instantaneous in the middle between two times, see CreateMidpointValues(IListDouble, IListDouble, String, IDiagnostics) Values can be absolute or relative. When relative, GetValue will in general not return the values that was given as input. The values are scaled such that if integrating GetValue(t) over a day, the result is one.
PeriodicSchedule Default implementation of IPeriodicSchedule.

In this schedule you define individually which of the days (1-31), months (1-12) and weekdays (Monday-Sunday) that the schedule it is active. All checks must return true before a schedule is active.

When checking for a given date/time, the weekday is provided explicitly. The weekday of a given date may have been overridden by a special day.

PeriodicScheduler Default implementation of IPeriodicScheduler The GetValue results are buffered. If updating the SpecialDays or the SchedulePatternMatch, call Reset() in order to reset the buffer.
PeriodicSpecialDay Default implementation of IPeriodicSpecialDay

Interfaces

IBoundaryItemPeriodic Interface for periodic boundary item. A periodic boundary item has a IPeriodicScheduler The value from the IPeriodicScheduler is multiplied with the AverageValue to get the value of the item. The PeriodicScheduler usually returns a value that accumulates to 1 over one day, hence the IBoundaryItemPeriodic will in that case have the AverageValue as the average of the day.
IListIPeriodicSpecialDays Interface for a list of IPeriodicSpecialDay's Required for generic list COM interop
IOneDayProfile Interface for a profile covering one day. The DateTime input to the GetValue(DateTime) function only uses the TimeOfDay part to evaluate the value
IPeriodicSchedule A periodic schedule returns true on the Check functions if a date is part of the schedule.
IPeriodicScheduler Interface for a periodic scheduler. A periodic scheduler has a number of IPeriodicSchedule with each their IOneDayProfile attached. It searches through the list of IPeriodicSchedules and finds the first active one and uses its IOneDayProfile Special days can be added, in order to change the weekday behavior of some special days, using a given date as a sunday or similar.
IPeriodicSpecialDay Interface for a Periodic Special day. A special day that is specific, or recurring yearly. Only the Date part of a DateTime is used. Remember to set the usage of the special day. The usage tells how this special day is to be handled. It can either not be handled, or handled as another weekday. Use Check(DateTime,...) to test if a DateTime mathces the special day.

Enumerations

OneDayTsProfileValueType Enumeration defining the meaning of the value in the time series.