# RiverWare_Model 7.1 Development # Created 15:19 January 26, 2017 # CADSWES, University of Colorado at Boulder, http://cadswes.colorado.edu/ # # The catalog command is parsed by the RiverSMART # RiverWare model plugin: # - It must appear in the first 100 lines of the file. # - Lines up to and including it must not exceed 4K bytes. # - Its name must not change. Catalog {\ \ \ \ \ \ \ \ \ \ \ \ \ } # End Catalog ModelSimObjCount 1 ModelAccountCount 0 ModelSupplyCount 0 ModelExchangeCount 0 DST 0 $ws.Model.FileInfo saveInfo 1 {philw} {01-26-2017 15:19:43} {RiverWare 7.1} $ws.Model.FileInfo comment {} $ws.Model.RunHistoryRecord 1 0 {} {} \ {} {01-01-1800 00:00:00} {01-01-1800 00:00:00} {Not Running} SaveOutputs 1 SaveExtPrecision 0 FlagEncoding 3 BaselineModel 0 ModelLockSet 0 ObjectListWidth 256 WsObjListOrderMode SORT_BY_NAME LockedIcons 0 SelWindowIcon {RwIconStandard} WorkspaceSize 6450 6450 AccountingSize 6450 6450 GeospatialSize 6450 6450 DisplayProperties 0 EpochBeginYear 1800 OverrideDefaultPlotAxesForVertDist 0 CurrCanvasType SIMULATION InitCanvasSpec SIMULATION {\ \ \ \ } InitCanvasSpec ACCOUNTING {\ \ \ \ } InitCanvasSpec GEOSPATIAL {\ \ \ \ } WaterYearStartMonthIndex 9 YearNamedFromEnd SlotGroupsEnabled 1 SlotDlgPrefs {\ \ \ \ \ } $ws.runInfo pauseAtDate {01-26-2017 18:00:00} $ws.runInfo pauseAtPriority 2 $ws.runInfo setDescription {Model Run} $ws.runInfo runParam {01-26-2017 12:00:00} {01-27-2017 12:00:00} 6 HOUR $ws.runInfo setType 0 $ws.runInfo setResumedRun 0 {01-26-2017 18:00:00} $ws.runInfo setActiveCategories 1 0 $ws.runInfo setInlineCategories 1 0 $ws.runInfo setMaxSimIterations 40 $ws.runInfo setMaxAcctIterations 20 $ws.runInfo setSeriesExtensionIncrement 1 $ws.runInfo setWarnOutOfBounds 0 $ws.multiRunInfo setDescription {Model Run} $ws.multiRunInfo runParam {01-26-2017 12:00:00} {01-27-2017 12:00:00} 6 HOUR $ws.multiRunInfo setType 3 $ws.multiRunInfo setResumedRun 0 {01-26-2017 18:00:00} $ws.multiRunInfo setActiveCategories 1 0 $ws.multiRunInfo setInlineCategories 1 0 $ws.multiRunInfo setMaxSimIterations 40 $ws.multiRunInfo setMaxAcctIterations 20 $ws.multiRunInfo setSeriesExtensionIncrement 1 $ws.multiRunInfo setWarnOutOfBounds 0 # Section: Unit Manager Section {Unit Manager} set unitMgr "$ws.UnitMgr" $unitMgr initScaledUnits 61 $unitMgr scaledUnit 0 {NONE} 1 {NONE} $unitMgr scaledUnit 1 {Length} 1 {m} $unitMgr scaledUnit 2 {Length} 1 {ft} $unitMgr scaledUnit 3 {SqrtLength} 1 {m1/2} $unitMgr scaledUnit 4 {Area} 1 {m2} $unitMgr scaledUnit 5 {Area} 1 {acre} $unitMgr scaledUnit 6 {Volume} 1 {m3} $unitMgr scaledUnit 7 {Volume} 1 {acre-ft} $unitMgr scaledUnit 8 {Volume} 1 {acre-feet} $unitMgr scaledUnit 9 {Flow} 1 {cms} $unitMgr scaledUnit 10 {Flow} 1 {cfs} $unitMgr scaledUnit 11 {Flow} 1 {acre-ft/day} $unitMgr scaledUnit 12 {FlowSquared} 1 {cms2} $unitMgr scaledUnit 13 {FlowPerSqrtLength} 1 {cms/m1/2} $unitMgr scaledUnit 14 {PerFlow} 1 {1/cms} $unitMgr scaledUnit 15 {Power} 1 {MW} $unitMgr scaledUnit 16 {PowerPerFlow} 1 {MW/cms} $unitMgr scaledUnit 17 {Energy} 1 {MWH} $unitMgr scaledUnit 18 {Time} 1 {hr} $unitMgr scaledUnit 19 {Time} 1 {day} $unitMgr scaledUnit 20 {TimeSquared} 1 {hour2} $unitMgr scaledUnit 21 {Mass} 1 {g} $unitMgr scaledUnit 22 {Mass} 1 {tons} $unitMgr scaledUnit 23 {Heat} 1 {J} $unitMgr scaledUnit 24 {EnergyFlux} 1 {J/m2sec} $unitMgr scaledUnit 25 {MassFlux} 1 {g/m2sec} $unitMgr scaledUnit 26 {VolFlux} 1 {g/m3sec} $unitMgr scaledUnit 27 {Concentration} 1 {g/m3} $unitMgr scaledUnit 28 {Concentration} 1 {lb/ft3} $unitMgr scaledUnit 29 {AreaPerTime} 1 {m2/s} $unitMgr scaledUnit 30 {PerTime} 1 {1/sec} $unitMgr scaledUnit 31 {Temperature} 1 {C} $unitMgr scaledUnit 32 {LengthPerTemperature_F} 1 {m/F} $unitMgr scaledUnit 33 {TemperatureInFahren} 1 {F} $unitMgr scaledUnit 34 {SpecificHeat} 1 {J/gC} $unitMgr scaledUnit 35 {Velocity} 1 {m/s} $unitMgr scaledUnit 36 {VelocityPerTemperature_F} 1 {m/s-F} $unitMgr scaledUnit 37 {Density} 1 {kg/m3_dens} $unitMgr scaledUnit 38 {PowerCost} 1 {$/MWh} $unitMgr scaledUnit 39 {Value} 1 {$} $unitMgr scaledUnit 40 {ValuePerFlow} 1 {$/cms} $unitMgr scaledUnit 41 {ValuePerVolume} 1 {$/m3} $unitMgr scaledUnit 42 {LengthPerVolume} 1 {m/m3} $unitMgr scaledUnit 43 {LengthPerFlow} 1 {m/cms} $unitMgr scaledUnit 44 {PerLength} 1 {1/m} $unitMgr scaledUnit 45 {PerLengthTime} 1 {1/m-s} $unitMgr scaledUnit 46 {FlowPerLength} 1 {cms/m} $unitMgr scaledUnit 47 {VolumePerFlow} 1 {m3/cms} $unitMgr scaledUnit 48 {energyPerLength} 1 {MWH/m} $unitMgr scaledUnit 49 {powerPerLength} 1 {MW/m} $unitMgr scaledUnit 50 {Fraction} 1 {decimal} $unitMgr scaledUnit 51 {FractionPerFlow} 1 {decimal/cms} $unitMgr scaledUnit 52 {FractionPerLength} 1 {decimal/m} $unitMgr scaledUnit 53 {noDimension} 1 {m/m} $unitMgr scaledUnit 54 {VolumeSquared} 1 {m6} $unitMgr scaledUnit 55 {TimePerLength} 1 {s/m} $unitMgr scaledUnit 56 {FlowVolume} 1 {m6/t} $unitMgr scaledUnit 57 {FlowTime} 1 {cmshour} $unitMgr scaledUnit 58 {FlowPerTime} 1 {cmss} $unitMgr scaledUnit 59 {DateTime} 1 {FullDateTime} $unitMgr scaledUnit 60 {DateTime} 1 {MonthAndDay} $unitMgr end # Section: Unit Schemes "$ws.unitScheme" addUserScheme {\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ } "$ws.unitScheme" activeUnitScheme {Scheme 1} "$ws.unitScheme" skipTransitionScheme true CanvasConfig SIMULATION IconLabelLocation {Below} CanvasConfig SIMULATION CanvasColor #ffffff CanvasConfig SIMULATION IconLabelFont {MS Shell Dlg 2,8.25,-1,5,50,0,0,0,0,0} CanvasConfig SIMULATION IconLabelFontColor #000000 CanvasConfig ACCOUNTING IconLabelLocation {Below} CanvasConfig ACCOUNTING CanvasColor #ffffff CanvasConfig ACCOUNTING IconLabelFont {MS Shell Dlg 2,8.25,-1,5,50,0,0,0,0,0} CanvasConfig ACCOUNTING IconLabelFontColor #000000 CanvasConfig GEOSPATIAL ProjDescription {} CanvasConfig GEOSPATIAL ProjectionUnitsString {} 0 CanvasConfig GEOSPATIAL ProjHorizAxisText {x} CanvasConfig GEOSPATIAL ProjVertAxisText {y} CanvasConfig GEOSPATIAL GeoDescription {} CanvasConfig GEOSPATIAL GeoUnitsString {deg} 4 CanvasConfig GEOSPATIAL GeoHorizAxisText {long} CanvasConfig GEOSPATIAL GeoVertAxisText {lat} CanvasConfig GEOSPATIAL ProjWellKnownText {} CanvasConfig GEOSPATIAL CanvasLowerLeft 0 0 CanvasConfig GEOSPATIAL CanvasUpperRight 6450 6450 CanvasConfig GEOSPATIAL IconLabelLocation {Below} CanvasConfig GEOSPATIAL IconSize 40 CanvasConfig GEOSPATIAL CanvasColor #ffffff CanvasConfig GEOSPATIAL IconLabelFont {MS Shell Dlg 2,8.25,-1,5,50,0,0,0,0,0} CanvasConfig GEOSPATIAL IconLabelFontColor #000000 CanvasConfig GEOSPATIAL DisplayScale 1 CanvasConfig GEOSPATIAL DisplayScaleFromImage 1 # Section: DMI (part one) set mgr "$ws.dmiMgr" "$mgr" numInvRec 0 # Section: New Time Series Text Annotation Notes set annoMgr "$ws.AnnoMgr" # Section: Objects Section {Objects} set obj {IterativeMRM_Outputs} set o "$ws.IterativeMRM_Outputs" $ws SimObj $obj {DataObj} 72 61 {Cyan} 16 31 227157 3494123 "$o" geospatialCoords 0 0 227157.143714 3494123.14824 "$o" objAttributes { \ } "$o" userDescript {This object holds output/computed data from the Iterative MRM runs. Values on these slots should only be set by Iterative MRM rules and should not be input by the user.} "$o" objOrd wsList 5576 "$o" objOrd coordMgr 438 "$o" objSlotOrderType ListOrder_DEFAULT 0 Ascend "$o" {SeriesSlot} {IterativeRunFlag} set s "$o.IterativeRunFlag" "$s" order 1 "$s" userDescript {This slot is used as a check to see if we are in an iterative MRM run. It is set to 1.0 by the Pre-MRM rules. In a single run, it should be empty/NaN.

DO NOT INPUT VALUES IN THIS SLOT.} "$s" cvg 2 0.0001 "$s" unit 0 {%f} 2 "$s" minMax NaN NaN "$s" usersIndexByInt "$s" setFSeries {NONE} {01-01-1800 00:00:00} {01-01-1800 09:00:00} 1 HOUR -1 2 @ 10 "$s" setDSeries {NONE} {01-01-1800 00:00:00} {01-01-1800 09:00:00} 1 HOUR -1 NaN @ 10 "$o" {SeriesSlot} {UseHistoricalTraces} set s "$o.UseHistoricalTraces" "$s" order 0 "$s" userDescript {This slot is used by those MRM configurations that will be using historical traces instead of finding the closest years.

DO NOT INPUT VALUES HERE} "$s" cvg 2 0.0001 "$s" unit 0 {%f} 2 "$s" minMax NaN NaN "$s" usersIndexByInt "$s" setFSeries {NONE} {01-01-1800 00:00:00} {01-01-1800 09:00:00} 1 HOUR -1 2 @ 10 "$s" setDSeries {NONE} {01-01-1800 00:00:00} {01-01-1800 09:00:00} 1 HOUR -1 NaN @ 10 "$o" {AggSeriesSlot} {DaysInArticleVII} set s "$o.DaysInArticleVII" "$s" order 2 "$s" userDescript {This integer indexed slot shows the number of days ArticleVII is active.} "$s" cvg 2 0.0001 "$s" unit 0 {%f} 0 "$s" minMax NaN NaN "$s" usersIndexByInt "$s" setFSeries {NONE} {01-01-1800 00:00:00} {01-01-1800 09:00:00} 1 HOUR -1 1 @ 10 "$s" setDSeries {NONE} {01-01-1800 00:00:00} {01-01-1800 09:00:00} 1 HOUR -1 11 @ 10 "$s" setAggLabel {CurrentYear} "$s" AggSubSlot {DaysInArticleVII.SubsequentYears} "$o" set s "$o.DaysInArticleVII.SubsequentYears" "$s" order 500 "$s" cvg 2 0.0001 "$s" unit 0 {%f} 0 "$s" minMax NaN NaN "$s" usersIndexByInt "$s" setFSeries {NONE} {01-01-1800 00:00:00} {01-01-1800 09:00:00} 1 HOUR -1 1 @ 10 "$s" setDSeries {NONE} {01-01-1800 00:00:00} {01-01-1800 09:00:00} 1 HOUR -1 222 @ 10 "$o" {AggSeriesSlot} {Abiquiu_EOYStorage} set s "$o.Abiquiu_EOYStorage" "$s" order 5 "$s" cvg 2 0.0001 "$s" unit 8 {%f} 2 "$s" minMax NaN NaN "$s" usersIndexByInt "$s" setFSeries {m3} {01-01-1800 00:00:00} {01-01-1800 09:00:00} 1 HOUR -1 2 @ 10 "$s" setDSeries {m3} {01-01-1800 00:00:00} {01-01-1800 09:00:00} 1 HOUR -1 NaN @ 10 "$s" setAggLabel {CurrentYear} "$s" AggSubSlot {Abiquiu_EOYStorage.SubsequentYears} "$o" set s "$o.Abiquiu_EOYStorage.SubsequentYears" "$s" order 500 "$s" cvg 2 0.0001 "$s" unit 8 {%f} 2 "$s" minMax NaN NaN "$s" usersIndexByInt "$s" setFSeries {m3} {01-01-1800 00:00:00} {01-01-1800 00:00:00} 1 HOUR -1 2 "$s" setDSeries {m3} {01-01-1800 00:00:00} {01-01-1800 00:00:00} 1 HOUR -1 NaN "$o" {AggSeriesSlot} {ElephantButte_EOYStorage} set s "$o.ElephantButte_EOYStorage" "$s" order 9 "$s" cvg 2 0.0001 "$s" unit 8 {%f} 2 "$s" minMax NaN NaN "$s" usersIndexByInt "$s" setFSeries {m3} {01-01-1800 00:00:00} {01-01-1800 09:00:00} 1 HOUR -1 2 @ 10 "$s" setDSeries {m3} {01-01-1800 00:00:00} {01-01-1800 09:00:00} 1 HOUR -1 NaN @ 10 "$s" setAggLabel {CurrentYear} "$s" AggSubSlot {ElephantButte_EOYStorage.SubsequentYears} "$o" set s "$o.ElephantButte_EOYStorage.SubsequentYears" "$s" order 500 "$s" cvg 2 0.0001 "$s" unit 8 {%f} 2 "$s" minMax NaN NaN "$s" usersIndexByInt "$s" setFSeries {m3} {01-01-1800 00:00:00} {01-01-1800 00:00:00} 1 HOUR -1 2 "$s" setDSeries {m3} {01-01-1800 00:00:00} {01-01-1800 00:00:00} 1 HOUR -1 NaN "$o" {AggSeriesSlot} {Jemez_EOYStorage} set s "$o.Jemez_EOYStorage" "$s" order 19 "$s" cvg 2 0.0001 "$s" unit 8 {%f} 2 "$s" minMax NaN NaN "$s" usersIndexByInt "$s" setFSeries {m3} {01-01-1800 00:00:00} {01-01-1800 09:00:00} 1 HOUR -1 2 @ 10 "$s" setDSeries {m3} {01-01-1800 00:00:00} {01-01-1800 09:00:00} 1 HOUR -1 NaN @ 10 "$s" setAggLabel {CurrentYear} "$s" AggSubSlot {Jemez_EOYStorage.SubsequentYears} "$o" set s "$o.Jemez_EOYStorage.SubsequentYears" "$s" order 500 "$s" cvg 2 0.0001 "$s" unit 8 {%f} 2 "$s" minMax NaN NaN "$s" usersIndexByInt "$s" setFSeries {m3} {01-01-1800 00:00:00} {01-01-1800 00:00:00} 1 HOUR -1 2 "$s" setDSeries {m3} {01-01-1800 00:00:00} {01-01-1800 00:00:00} 1 HOUR -1 NaN "$o" {AggSeriesSlot} {Heron_EOYStorage} set s "$o.Heron_EOYStorage" "$s" order 16 "$s" cvg 2 0.0001 "$s" unit 8 {%f} 2 "$s" minMax NaN NaN "$s" usersIndexByInt "$s" setFSeries {m3} {01-01-1800 00:00:00} {01-01-1800 09:00:00} 1 HOUR -1 2 @ 10 "$s" setDSeries {m3} {01-01-1800 00:00:00} {01-01-1800 09:00:00} 1 HOUR -1 NaN @ 10 "$s" setAggLabel {CurrentYear} "$s" AggSubSlot {Heron_EOYStorage.SubsequentYears} "$o" set s "$o.Heron_EOYStorage.SubsequentYears" "$s" order 500 "$s" cvg 2 0.0001 "$s" unit 8 {%f} 2 "$s" minMax NaN NaN "$s" usersIndexByInt "$s" setFSeries {m3} {01-01-1800 00:00:00} {01-01-1800 00:00:00} 1 HOUR -1 2 "$s" setDSeries {m3} {01-01-1800 00:00:00} {01-01-1800 00:00:00} 1 HOUR -1 NaN "$o" {AggSeriesSlot} {ElVado_EOYStorage} set s "$o.ElVado_EOYStorage" "$s" order 12 "$s" cvg 2 0.0001 "$s" unit 8 {%f} 2 "$s" minMax NaN NaN "$s" usersIndexByInt "$s" setFSeries {m3} {01-01-1800 00:00:00} {01-01-1800 09:00:00} 1 HOUR -1 2 @ 10 "$s" setDSeries {m3} {01-01-1800 00:00:00} {01-01-1800 09:00:00} 1 HOUR -1 NaN @ 10 "$s" setAggLabel {CurrentYear} "$s" AggSubSlot {ElVado_EOYStorage.SubsequentYears} "$o" set s "$o.ElVado_EOYStorage.SubsequentYears" "$s" order 500 "$s" cvg 2 0.0001 "$s" unit 8 {%f} 2 "$s" minMax NaN NaN "$s" usersIndexByInt "$s" setFSeries {m3} {01-01-1800 00:00:00} {01-01-1800 00:00:00} 1 HOUR -1 2 "$s" setDSeries {m3} {01-01-1800 00:00:00} {01-01-1800 00:00:00} 1 HOUR -1 NaN "$o" {AggSeriesSlot} {Cochiti_EOYStorage} set s "$o.Cochiti_EOYStorage" "$s" order 8 "$s" cvg 2 0.0001 "$s" unit 8 {%f} 2 "$s" minMax NaN NaN "$s" usersIndexByInt "$s" setFSeries {m3} {01-01-1800 00:00:00} {01-01-1800 09:00:00} 1 HOUR -1 2 @ 10 "$s" setDSeries {m3} {01-01-1800 00:00:00} {01-01-1800 09:00:00} 1 HOUR -1 NaN @ 10 "$s" setAggLabel {CurrentYear} "$s" AggSubSlot {Cochiti_EOYStorage.SubsequentYears} "$o" set s "$o.Cochiti_EOYStorage.SubsequentYears" "$s" order 500 "$s" cvg 2 0.0001 "$s" unit 8 {%f} 2 "$s" minMax NaN NaN "$s" usersIndexByInt "$s" setFSeries {m3} {01-01-1800 00:00:00} {01-01-1800 00:00:00} 1 HOUR -1 2 "$s" setDSeries {m3} {01-01-1800 00:00:00} {01-01-1800 00:00:00} 1 HOUR -1 NaN "$o" {AggSeriesSlot} {Caballo_EOYStorage} set s "$o.Caballo_EOYStorage" "$s" order 7 "$s" cvg 2 0.0001 "$s" unit 8 {%f} 2 "$s" minMax NaN NaN "$s" usersIndexByInt "$s" setFSeries {m3} {01-01-1800 00:00:00} {01-01-1800 09:00:00} 1 HOUR -1 2 @ 10 "$s" setDSeries {m3} {01-01-1800 00:00:00} {01-01-1800 09:00:00} 1 HOUR -1 NaN @ 10 "$s" setAggLabel {CurrentYear} "$s" AggSubSlot {Caballo_EOYStorage.SubsequentYears} "$o" set s "$o.Caballo_EOYStorage.SubsequentYears" "$s" order 500 "$s" cvg 2 0.0001 "$s" unit 8 {%f} 2 "$s" minMax NaN NaN "$s" usersIndexByInt "$s" setFSeries {m3} {01-01-1800 00:00:00} {01-01-1800 00:00:00} 1 HOUR -1 2 "$s" setDSeries {m3} {01-01-1800 00:00:00} {01-01-1800 00:00:00} 1 HOUR -1 NaN "$o" {AggSeriesSlot} {Heron_MRGCD_EOYStorage} set s "$o.Heron_MRGCD_EOYStorage" "$s" order 18 "$s" cvg 2 0.0001 "$s" unit 8 {%f} 2 "$s" minMax NaN NaN "$s" usersIndexByInt "$s" setFSeries {m3} {01-01-1800 00:00:00} {01-01-1800 09:00:00} 1 HOUR -1 2 @ 10 "$s" setDSeries {m3} {01-01-1800 00:00:00} {01-01-1800 09:00:00} 1 HOUR -1 NaN @ 10 "$s" setAggLabel {CurrentYear} "$s" AggSubSlot {Heron_MRGCD_EOYStorage.SubsequentYears} "$o" set s "$o.Heron_MRGCD_EOYStorage.SubsequentYears" "$s" order 500 "$s" cvg 2 0.0001 "$s" unit 8 {%f} 2 "$s" minMax NaN NaN "$s" usersIndexByInt "$s" setFSeries {m3} {01-01-1800 00:00:00} {01-01-1800 00:00:00} 1 HOUR -1 2 "$s" setDSeries {m3} {01-01-1800 00:00:00} {01-01-1800 00:00:00} 1 HOUR -1 NaN "$o" {AggSeriesSlot} {Heron_Albuquerque_EOYStorage} set s "$o.Heron_Albuquerque_EOYStorage" "$s" order 15 "$s" cvg 2 0.0001 "$s" unit 8 {%f} 2 "$s" minMax NaN NaN "$s" usersIndexByInt "$s" setFSeries {m3} {01-01-1800 00:00:00} {01-01-1800 09:00:00} 1 HOUR -1 2 @ 10 "$s" setDSeries {m3} {01-01-1800 00:00:00} {01-01-1800 09:00:00} 1 HOUR -1 NaN @ 10 "$s" setAggLabel {CurrentYear} "$s" AggSubSlot {Heron_Albuquerque_EOYStorage.SubsequentYears} "$o" set s "$o.Heron_Albuquerque_EOYStorage.SubsequentYears" "$s" order 500 "$s" cvg 2 0.0001 "$s" unit 8 {%f} 2 "$s" minMax NaN NaN "$s" usersIndexByInt "$s" setFSeries {m3} {01-01-1800 00:00:00} {01-01-1800 00:00:00} 1 HOUR -1 2 "$s" setDSeries {m3} {01-01-1800 00:00:00} {01-01-1800 00:00:00} 1 HOUR -1 NaN "$o" {AggSeriesSlot} {Heron_FederalSanJuan_EOYStorage} set s "$o.Heron_FederalSanJuan_EOYStorage" "$s" order 17 "$s" cvg 2 0.0001 "$s" unit 8 {%f} 2 "$s" minMax NaN NaN "$s" usersIndexByInt "$s" setFSeries {m3} {01-01-1800 00:00:00} {01-01-1800 09:00:00} 1 HOUR -1 2 @ 10 "$s" setDSeries {m3} {01-01-1800 00:00:00} {01-01-1800 09:00:00} 1 HOUR -1 NaN @ 10 "$s" setAggLabel {CurrentYear} "$s" AggSubSlot {Heron_FederalSanJuan_EOYStorage.SubsequentYears} "$o" set s "$o.Heron_FederalSanJuan_EOYStorage.SubsequentYears" "$s" order 500 "$s" cvg 2 0.0001 "$s" unit 8 {%f} 2 "$s" minMax NaN NaN "$s" usersIndexByInt "$s" setFSeries {m3} {01-01-1800 00:00:00} {01-01-1800 00:00:00} 1 HOUR -1 2 "$s" setDSeries {m3} {01-01-1800 00:00:00} {01-01-1800 00:00:00} 1 HOUR -1 NaN "$o" {AggSeriesSlot} {ElVado_MRGCD_EOYStorage} set s "$o.ElVado_MRGCD_EOYStorage" "$s" order 13 "$s" cvg 2 0.0001 "$s" unit 8 {%f} 2 "$s" minMax NaN NaN "$s" usersIndexByInt "$s" setFSeries {m3} {01-01-1800 00:00:00} {01-01-1800 09:00:00} 1 HOUR -1 2 @ 10 "$s" setDSeries {m3} {01-01-1800 00:00:00} {01-01-1800 09:00:00} 1 HOUR -1 NaN @ 10 "$s" setAggLabel {CurrentYear} "$s" AggSubSlot {ElVado_MRGCD_EOYStorage.SubsequentYears} "$o" set s "$o.ElVado_MRGCD_EOYStorage.SubsequentYears" "$s" order 500 "$s" cvg 2 0.0001 "$s" unit 8 {%f} 2 "$s" minMax NaN NaN "$s" usersIndexByInt "$s" setFSeries {m3} {01-01-1800 00:00:00} {01-01-1800 00:00:00} 1 HOUR -1 2 "$s" setDSeries {m3} {01-01-1800 00:00:00} {01-01-1800 00:00:00} 1 HOUR -1 NaN "$o" {AggSeriesSlot} {ElVado_RioGrande_EOYStorage} set s "$o.ElVado_RioGrande_EOYStorage" "$s" order 14 "$s" cvg 2 0.0001 "$s" unit 8 {%f} 2 "$s" minMax NaN NaN "$s" usersIndexByInt "$s" setFSeries {m3} {01-01-1800 00:00:00} {01-01-1800 09:00:00} 1 HOUR -1 2 @ 10 "$s" setDSeries {m3} {01-01-1800 00:00:00} {01-01-1800 09:00:00} 1 HOUR -1 NaN @ 10 "$s" setAggLabel {CurrentYear} "$s" AggSubSlot {ElVado_RioGrande_EOYStorage.SubsequentYears} "$o" set s "$o.ElVado_RioGrande_EOYStorage.SubsequentYears" "$s" order 500 "$s" cvg 2 0.0001 "$s" unit 8 {%f} 2 "$s" minMax NaN NaN "$s" usersIndexByInt "$s" setFSeries {m3} {01-01-1800 00:00:00} {01-01-1800 00:00:00} 1 HOUR -1 2 "$s" setDSeries {m3} {01-01-1800 00:00:00} {01-01-1800 00:00:00} 1 HOUR -1 NaN "$o" {AggSeriesSlot} {Abiquiu_Albuquerque_EOYStorage} set s "$o.Abiquiu_Albuquerque_EOYStorage" "$s" order 4 "$s" cvg 2 0.0001 "$s" unit 8 {%f} 2 "$s" minMax NaN NaN "$s" usersIndexByInt "$s" setFSeries {m3} {01-01-1800 00:00:00} {01-01-1800 09:00:00} 1 HOUR -1 2 @ 10 "$s" setDSeries {m3} {01-01-1800 00:00:00} {01-01-1800 09:00:00} 1 HOUR -1 NaN @ 10 "$s" setAggLabel {CurrentYear} "$s" AggSubSlot {Abiquiu_Albuquerque_EOYStorage.SubsequentYears} "$o" set s "$o.Abiquiu_Albuquerque_EOYStorage.SubsequentYears" "$s" order 500 "$s" cvg 2 0.0001 "$s" unit 8 {%f} 2 "$s" minMax NaN NaN "$s" usersIndexByInt "$s" setFSeries {m3} {01-01-1800 00:00:00} {01-01-1800 00:00:00} 1 HOUR -1 2 "$s" setDSeries {m3} {01-01-1800 00:00:00} {01-01-1800 00:00:00} 1 HOUR -1 NaN "$o" {AggSeriesSlot} {Abiquiu_Reclamation_EOYStorage} set s "$o.Abiquiu_Reclamation_EOYStorage" "$s" order 6 "$s" cvg 2 0.0001 "$s" unit 8 {%f} 2 "$s" minMax NaN NaN "$s" usersIndexByInt "$s" setFSeries {m3} {01-01-1800 00:00:00} {01-01-1800 09:00:00} 1 HOUR -1 2 @ 10 "$s" setDSeries {m3} {01-01-1800 00:00:00} {01-01-1800 09:00:00} 1 HOUR -1 NaN @ 10 "$s" setAggLabel {CurrentYear} "$s" AggSubSlot {Abiquiu_Reclamation_EOYStorage.SubsequentYears} "$o" set s "$o.Abiquiu_Reclamation_EOYStorage.SubsequentYears" "$s" order 500 "$s" cvg 2 0.0001 "$s" unit 8 {%f} 2 "$s" minMax NaN NaN "$s" usersIndexByInt "$s" setFSeries {m3} {01-01-1800 00:00:00} {01-01-1800 00:00:00} 1 HOUR -1 2 "$s" setDSeries {m3} {01-01-1800 00:00:00} {01-01-1800 00:00:00} 1 HOUR -1 NaN "$o" {AggSeriesSlot} {ElephantButte_NMCredit_EOYStorage} set s "$o.ElephantButte_NMCredit_EOYStorage" "$s" order 10 "$s" cvg 2 0.0001 "$s" unit 8 {%f} 2 "$s" minMax NaN NaN "$s" usersIndexByInt "$s" setFSeries {m3} {01-01-1800 00:00:00} {01-01-1800 09:00:00} 1 HOUR -1 2 @ 10 "$s" setDSeries {m3} {01-01-1800 00:00:00} {01-01-1800 09:00:00} 1 HOUR -1 NaN @ 10 "$s" setAggLabel {CurrentYear} "$s" AggSubSlot {ElephantButte_NMCredit_EOYStorage.SubsequentYears} "$o" set s "$o.ElephantButte_NMCredit_EOYStorage.SubsequentYears" "$s" order 500 "$s" cvg 2 0.0001 "$s" unit 8 {%f} 2 "$s" minMax NaN NaN "$s" usersIndexByInt "$s" setFSeries {m3} {01-01-1800 00:00:00} {01-01-1800 00:00:00} 1 HOUR -1 2 "$s" setDSeries {m3} {01-01-1800 00:00:00} {01-01-1800 00:00:00} 1 HOUR -1 NaN "$o" {AggSeriesSlot} {ElephantButte_RioGrande_EOYStorage} set s "$o.ElephantButte_RioGrande_EOYStorage" "$s" order 11 "$s" cvg 2 0.0001 "$s" unit 8 {%f} 2 "$s" minMax NaN NaN "$s" usersIndexByInt "$s" setFSeries {m3} {01-01-1800 00:00:00} {01-01-1800 09:00:00} 1 HOUR -1 2 @ 10 "$s" setDSeries {m3} {01-01-1800 00:00:00} {01-01-1800 09:00:00} 1 HOUR -1 NaN @ 10 "$s" setAggLabel {CurrentYear} "$s" AggSubSlot {ElephantButte_RioGrande_EOYStorage.SubsequentYears} "$o" set s "$o.ElephantButte_RioGrande_EOYStorage.SubsequentYears" "$s" order 500 "$s" cvg 2 0.0001 "$s" unit 8 {%f} 2 "$s" minMax NaN NaN "$s" usersIndexByInt "$s" setFSeries {m3} {01-01-1800 00:00:00} {01-01-1800 00:00:00} 1 HOUR -1 2 "$s" setDSeries {m3} {01-01-1800 00:00:00} {01-01-1800 00:00:00} 1 HOUR -1 NaN "$o" {AggSeriesSlot} {Nambe_EOYStorage} set s "$o.Nambe_EOYStorage" "$s" order 20 "$s" cvg 2 0.0001 "$s" unit 8 {%f} 2 "$s" minMax NaN NaN "$s" usersIndexByInt "$s" setFSeries {m3} {01-01-1800 00:00:00} {01-01-1800 09:00:00} 1 HOUR -1 2 @ 10 "$s" setDSeries {m3} {01-01-1800 00:00:00} {01-01-1800 09:00:00} 1 HOUR -1 NaN @ 10 "$s" setAggLabel {CurrentYear} "$s" AggSubSlot {Nambe_EOYStorage.SubsequentYears} "$o" set s "$o.Nambe_EOYStorage.SubsequentYears" "$s" order 500 "$s" cvg 2 0.0001 "$s" unit 8 {%f} 2 "$s" minMax NaN NaN "$s" usersIndexByInt "$s" setFSeries {m3} {01-01-1800 00:00:00} {01-01-1800 00:00:00} 1 HOUR -1 2 "$s" setDSeries {m3} {01-01-1800 00:00:00} {01-01-1800 00:00:00} 1 HOUR -1 NaN "$o" {AggSeriesSlot} {Platoro_EOYStorage} set s "$o.Platoro_EOYStorage" "$s" order 21 "$s" cvg 2 0.0001 "$s" unit 8 {%f} 2 "$s" minMax NaN NaN "$s" usersIndexByInt "$s" setFSeries {m3} {01-01-1800 00:00:00} {01-01-1800 09:00:00} 1 HOUR -1 2 @ 10 "$s" setDSeries {m3} {01-01-1800 00:00:00} {01-01-1800 09:00:00} 1 HOUR -1 NaN @ 10 "$s" setAggLabel {CurrentYear} "$s" AggSubSlot {Platoro_EOYStorage.SubsequentYears} "$o" set s "$o.Platoro_EOYStorage.SubsequentYears" "$s" order 500 "$s" cvg 2 0.0001 "$s" unit 8 {%f} 2 "$s" minMax NaN NaN "$s" usersIndexByInt "$s" setFSeries {m3} {01-01-1800 00:00:00} {01-01-1800 00:00:00} 1 HOUR -1 2 "$s" setDSeries {m3} {01-01-1800 00:00:00} {01-01-1800 00:00:00} 1 HOUR -1 NaN "$o" {AggSeriesSlot} {Platoro_Conejos_EOYStorage} set s "$o.Platoro_Conejos_EOYStorage" "$s" order 22 "$s" cvg 2 0.0001 "$s" unit 8 {%f} 2 "$s" minMax NaN NaN "$s" usersIndexByInt "$s" setFSeries {m3} {01-01-1800 00:00:00} {01-01-1800 09:00:00} 1 HOUR -1 2 @ 10 "$s" setDSeries {m3} {01-01-1800 00:00:00} {01-01-1800 09:00:00} 1 HOUR -1 NaN @ 10 "$s" setAggLabel {CurrentYear} "$s" AggSubSlot {Platoro_Conejos_EOYStorage.SubsequentYears} "$o" set s "$o.Platoro_Conejos_EOYStorage.SubsequentYears" "$s" order 500 "$s" cvg 2 0.0001 "$s" unit 8 {%f} 2 "$s" minMax NaN NaN "$s" usersIndexByInt "$s" setFSeries {m3} {01-01-1800 00:00:00} {01-01-1800 00:00:00} 1 HOUR -1 2 "$s" setDSeries {m3} {01-01-1800 00:00:00} {01-01-1800 00:00:00} 1 HOUR -1 NaN "$o" {AggSeriesSlot} {Platoro_ConejosProjectStorage_EOYStorage} set s "$o.Platoro_ConejosProjectStorage_EOYStorage" "$s" order 23 "$s" cvg 2 0.0001 "$s" unit 8 {%f} 2 "$s" minMax NaN NaN "$s" usersIndexByInt "$s" setFSeries {m3} {01-01-1800 00:00:00} {01-01-1800 09:00:00} 1 HOUR -1 2 @ 10 "$s" setDSeries {m3} {01-01-1800 00:00:00} {01-01-1800 09:00:00} 1 HOUR -1 NaN @ 10 "$s" setAggLabel {CurrentYear} "$s" AggSubSlot {Platoro_ConejosProjectStorage_EOYStorage.SubsequentYears} "$o" set s "$o.Platoro_ConejosProjectStorage_EOYStorage.SubsequentYears" "$s" order 500 "$s" cvg 2 0.0001 "$s" unit 8 {%f} 2 "$s" minMax NaN NaN "$s" usersIndexByInt "$s" setFSeries {m3} {01-01-1800 00:00:00} {01-01-1800 00:00:00} 1 HOUR -1 2 "$s" setDSeries {m3} {01-01-1800 00:00:00} {01-01-1800 00:00:00} 1 HOUR -1 NaN "$o" {AggSeriesSlot} {Platoro_RelinquishedWater_EOYStorage} set s "$o.Platoro_RelinquishedWater_EOYStorage" "$s" order 24 "$s" cvg 2 0.0001 "$s" unit 8 {%f} 2 "$s" minMax NaN NaN "$s" usersIndexByInt "$s" setFSeries {m3} {01-01-1800 00:00:00} {01-01-1800 09:00:00} 1 HOUR -1 2 @ 10 "$s" setDSeries {m3} {01-01-1800 00:00:00} {01-01-1800 09:00:00} 1 HOUR -1 NaN @ 10 "$s" setAggLabel {CurrentYear} "$s" AggSubSlot {Platoro_RelinquishedWater_EOYStorage.SubsequentYears} "$o" set s "$o.Platoro_RelinquishedWater_EOYStorage.SubsequentYears" "$s" order 500 "$s" cvg 2 0.0001 "$s" unit 8 {%f} 2 "$s" minMax NaN NaN "$s" usersIndexByInt "$s" setFSeries {m3} {01-01-1800 00:00:00} {01-01-1800 00:00:00} 1 HOUR -1 2 "$s" setDSeries {m3} {01-01-1800 00:00:00} {01-01-1800 00:00:00} 1 HOUR -1 NaN "$o" hideSlots 0 hideOff hideEmptyOff # Section: Objects/Snapshots # Section: Object Relationships set obj {IterativeMRM_Outputs} set o "$ws.IterativeMRM_Outputs" # Section: Workspace Ornaments Section {Workspace Ornaments} Section {Links} # Section: Links # Section: Link Groups $ws LinkGroup {Default} {linkDisplayInfo Sty:Solid Vis:1 Wid:0 Color:0 Pri:1 Ena:1} $ws LinkGroup {Main Channel Links} {linkDisplayInfo Sty:Solid Vis:1 Wid:0 Color:0 Pri:0 Ena:1} # Section: SimObj Groups # Section: Multiple Run Management Section {Multiple Run Management} $ws.mrm format 2 $ws.mrm iterRplSet {RULESET\ NAME "Iterative MRM Rules Set";\ AGENDA_ORDER ASCENDING;\ DESCRIPTION "";\ PRECISION 8;\ BEGIN\ \ END\ } $ws.mrm policyGroup { POLICY_GROUP "Previous Run Analysis";\ DESCRIPTION "";\ ACTIVE TRUE;\ BEGIN\ \ RULE "Output EOY Storage";\ DESCRIPTION "Output the EOY reservoir storage for all reservoirs for both the current year and subsequent years (if defined). For subsequent years, only the finish year's storages are output. This rule is called after each run in an iterative MRM run.";\ ACTIVE TRUE;\ RULE_EXEC_CONSTRAINT TRUE;\ BEGIN\ \ DESCRIPTION "Copy end of (current) year reservoir storages to integer indexed series slots.";\ FOREACH (OBJECT res IN "ListSubbasin"( "Reservoir" )) DO\ % "IterativeMRM_Outputs" & ( res CONCAT "_EOYStorage" ) ["GetRunIndex"( ), "CurrentYear"] := res & "Storage" ["EndOfCurrentYear"( )];\ \ ENDFOREACH;\ \ DESCRIPTION "Copy end of (subsequent) year reservoir storages to integer indexed series slots.";\ IF_STATEMENT (@"Start Year" != @"Finish Year") THEN\ FOREACH (OBJECT res IN "ListSubbasin"( "Reservoir" )) DO\ % "IterativeMRM_Outputs" & ( res CONCAT "_EOYStorage" ) ["GetRunIndex"( ), "SubsequentYears"] := res & "Storage" [@"Finish Timestep"];\ \ ENDFOREACH;\ \ END_IF_STATEMENT;\ \ END;\ \ RULE "Output EOY Account Storage";\ DESCRIPTION "Output the EOY account storage for various accounts for both the current year and subsequent years (if defined). For subsequent years, only the finish year's storages are output. This rule is called after each run in an iterative MRM run.";\ ACTIVE TRUE;\ RULE_EXEC_CONSTRAINT TRUE;\ BEGIN\ \ DESCRIPTION "Copy end of (current) year account storages to integer indexed series slots.";\ FOREACH (LIST objectAccount IN "ListOfOutputObjectsAndAccounts"( )) DO\ % "IterativeMRM_Outputs" & ( ( ( GET @INDEX 0.00000000 FROM objectAccount ) CONCAT "_" CONCAT GET @INDEX 1.00000000 FROM objectAccount ) CONCAT "_EOYStorage" ) ["GetRunIndex"( ), "CurrentYear"] := ( GET @INDEX 0.00000000 FROM objectAccount ) ~ ( ( GET @INDEX 1.00000000 FROM objectAccount ) CONCAT ".Storage" ) ["EndOfCurrentYear"( )];\ \ ENDFOREACH;\ \ DESCRIPTION "Copy end of (subsequent) year account storages to integer indexed series slots.";\ IF_STATEMENT (@"Start Year" != @"Finish Year") THEN\ FOREACH (LIST objectAccount IN "ListOfOutputObjectsAndAccounts"( )) DO\ % "IterativeMRM_Outputs" & ( ( ( GET @INDEX 0.00000000 FROM objectAccount ) CONCAT "_" CONCAT GET @INDEX 1.00000000 FROM objectAccount ) CONCAT "_EOYStorage" ) ["GetRunIndex"( ), "SubsequentYears"] := ( GET @INDEX 0.00000000 FROM objectAccount ) ~ ( ( GET @INDEX 1.00000000 FROM objectAccount ) CONCAT ".Storage" ) [@"Finish Timestep"];\ \ ENDFOREACH;\ \ END_IF_STATEMENT;\ \ END;\ \ RULE "Count Days in Article VII";\ DESCRIPTION "This rule sums the values in the the RioGrandeCompact.ArticleVIISwitch slot for the current year and for subsequent years (if defined). This essentially counts the number of days in which ArticleVII of the RioGrande Compact is in effect. This rule is called after each run in an iterative MRM run.";\ ACTIVE TRUE;\ RULE_EXEC_CONSTRAINT TRUE;\ BEGIN\ \ DESCRIPTION "Count the number of days in Article VII for the current year.";\ $ "IterativeMRM_Outputs.DaysInArticleVII" ["GetRunIndex"( ), "CurrentYear"] := "SumSlotSkipNaN"( $ "RioGrandeCompact.ArticleVIISwitch", @"Start Timestep", "EndOfCurrentYear"( ) );\ \ DESCRIPTION "Count the number of days in Article VII for the subsequent years (if configured).";\ IF_STATEMENT (@"Start Year" != @"Finish Year") THEN\ $ "IterativeMRM_Outputs.DaysInArticleVII" ["GetRunIndex"( ), "SubsequentYears"] := "SumSlotSkipNaN"( $ "RioGrandeCompact.ArticleVIISwitch", "EndOfCurrentYear"( ) + 1.00000000 "day", @"Finish Timestep" );\ \ END_IF_STATEMENT;\ \ END;\ \ END} $ws.mrm policyGroup { POLICY_GROUP "Run Setup";\ DESCRIPTION "";\ ACTIVE TRUE;\ BEGIN\ \ RULE "Increment Trace";\ DESCRIPTION "Increment the "Trace" on each forecast data object to the next year in the list of years to run in IterativeMRM_Inputs.RunsToMake integer indexed series slot. This rule is called at the beginning of each run in the TracesAndForecasts iterative MRM run configuration.";\ ACTIVE TRUE;\ RULE_EXEC_CONSTRAINT TRUE;\ STOP_ON_NAN;\ BEGIN\ \ FOREACH (STRING periodInModelRun IN { "PreForecast" , "Forecast" , "PostForecast" }) DO\ FOREACH (STRING forecastLocation IN "InputForecastLocations"( )) DO\ % "HistoricalYearsForAOPRuns" & periodInModelRun [1.00000000, forecastLocation] := $ "IterativeMRM_Inputs.RunsToMake" ["GetRunIndex"( ), "Year To Run"];\ \ ENDFOREACH;\ \ ENDFOREACH;\ \ END;\ \ END} $ws.mrm policyGroup { POLICY_GROUP "General";\ DESCRIPTION "";\ ACTIVE TRUE;\ BEGIN\ \ RULE "Use Historical Traces";\ DESCRIPTION "This rule sets a flag on a data object indicating that the MRM run is going to use historical traces (instead of finding similar years). It is called at the start of each run within a "TracesAndForecasts" iterative MRM run.";\ ACTIVE TRUE;\ RULE_EXEC_CONSTRAINT TRUE;\ BEGIN\ \ $ "IterativeMRM_Outputs.UseHistoricalTraces" ["GetRunIndex"( )] := "GetRunIndex"( );\ \ END;\ \ RULE "Set Iterative Run Flag";\ DESCRIPTION "This rule sets a flag on a data object indicating that an iterative MRM run is in progress. It is called at the start of each run within an iterative run.";\ ACTIVE TRUE;\ RULE_EXEC_CONSTRAINT TRUE;\ BEGIN\ \ $ "IterativeMRM_Outputs.IterativeRunFlag" ["GetRunIndex"( )] := "GetRunIndex"( );\ \ END;\ \ END} $ws.mrm utilityGroup { UTILITY_GROUP "Functions";\ DESCRIPTION "";\ ACTIVE TRUE;\ BEGIN\ \ FUNCTION "StartOfRunEndOfMonth" ( )\ RETURN_TYPE DATETIME;\ SCALE_UNITS "";\ DESCRIPTION "This function returns a datetime that represents the end of month for the start month. It does this by processing lots of strings that represent the hours, month, days in that month and year. This function is necessary as iterative rules cannot use the syntax Current Month and there is no other way to get this end of month datetime.";\ ACTIVE TRUE;\ PRE_EXEC_DIAG FALSE;\ POST_EXEC_DIAG FALSE;\ BEGIN\ \ WITH DATETIME startDate = "RunStartDate"( ) DO\ "GetDate"( "24:00 " CONCAT "GetMonthAsString"( startDate ) CONCAT " " CONCAT "GetWholeNumberAsString"( "GetDaysInMonth"( startDate ) ) CONCAT ", " CONCAT "GetWholeNumberAsString"( "GetYear"( startDate ) ) )\ ENDWITH;\ \ END;\ \ FUNCTION "GetWholeNumberAsString" ( NUMERIC number )\ RETURN_TYPE STRING;\ SCALE_UNITS "";\ DESCRIPTION "Convert a number to a string, split the string into a list containing the whole number and decimal portion, then return the whole number portion.";\ ACTIVE TRUE;\ PRE_EXEC_DIAG FALSE;\ POST_EXEC_DIAG FALSE;\ BEGIN\ \ GET @INDEX 0.00000000 FROM "Split"( STRINGIFY number, "." );\ \ END;\ \ FUNCTION "EndOfCurrentYear" ( )\ RETURN_TYPE DATETIME;\ SCALE_UNITS "";\ DESCRIPTION "Return the DATETIME representing the end of the start year. This is necessary as iterative MRM does not allow you to use the "Current Year" syntax.
";\ ACTIVE TRUE;\ PRE_EXEC_DIAG FALSE;\ POST_EXEC_DIAG FALSE;\ BEGIN\ \ "GetDate"( "24:00 December 31, " CONCAT "GetWholeNumberAsString"( "GetYear"( @"Start Timestep" ) ) );\ \ END;\ \ FUNCTION "ListOfOutputObjectsAndAccounts" ( )\ RETURN_TYPE LIST;\ SCALE_UNITS "";\ DESCRIPTION "This is a list of lists where each inner list contains an Object and Account on that object. These are the accounts for which the EOY storage is written to an integer indexed slot.";\ ACTIVE TRUE;\ PRE_EXEC_DIAG FALSE;\ POST_EXEC_DIAG FALSE;\ BEGIN\ \ { { % "Heron" , "MRGCD" } , { % "Heron" , "Albuquerque" } , { % "Heron" , "FederalSanJuan" } , { % "ElVado" , "MRGCD" } , { % "ElVado" , "RioGrande" } , { % "Abiquiu" , "Albuquerque" } , { % "Abiquiu" , "Reclamation" } , { % "ElephantButte" , "NMCredit" } , { % "ElephantButte" , "RioGrande" } };\ \ END;\ \ FUNCTION "InputForecastLocations" ( )\ RETURN_TYPE LIST;\ SCALE_UNITS "";\ DESCRIPTION "";\ ACTIVE TRUE;\ PRE_EXEC_DIAG TRUE;\ POST_EXEC_DIAG FALSE;\ BEGIN\ \ { "Lobatos" , "LobatosAnnual" , "RedRiverBlwFishHatchery" , "RioPuebloDeTaosAtLosCordovas" , "EmbudoCreekAtDixon" , "Otowi" , "NrJemez" , "ElVadoInflow" , "RioBlanco" , "NavajoRiver" , "DelNorte" };\ \ END;\ \ END} # Section: Subbasin Section {Subbasins} # Section: Sim Analysis Info Section {Sim Analysis Info} $ws.DispatchInfo displayedObjects $ws.DispatchInfo hiddenObjects $ws.DispatchInfo axisOption {1} $ws.DispatchInfo updateOption {1} $ws.DispatchInfo showObjIcons {1} $ws.DispatchInfo priorityColors # Section: Optimization Analysis Info Section {Optimization Analysis Info} $ws.OptAnalysisInfo optDisplayedObjects $ws.OptAnalysisInfo optHiddenObjects $ws.OptAnalysisInfo optAxisOption {1} $ws.OptAnalysisInfo optUpdateOption {1} $ws.OptAnalysisInfo showObjIcons {1} $ws.OptAnalysisInfo optPriorityColors # Section: Scenario Manager Section {Scenario Manager} $ws.ScenarioBaseline baselineComments {} # Section: RPL Expression Slot Manager Section {RPL Expression Slot Manager} set resm "$ws.RplExprSlotMgr" $resm collectNotes 0 $resm resmRplSet {RULESET\ NAME "Expression Slot Functions Set";\ AGENDA_ORDER ASCENDING;\ DESCRIPTION "";\ PRECISION 8;\ BEGIN\ \ END\ } # Section: SnapShot Manager Section {SnapShot Manager} # Section: Output Device Manager Section {Output Device Manager} $ws.outputDeviceMgr addModelReport {Iterative MRM Outputs Report} # Model Report output device configuration $ws.modelReportDevice {Iterative MRM Outputs Report} { \ Report\ 100438096\ 0\ \ IdentifierReport Name\ ValueIterative MRM Outputs Report\ TypeSingleLineText\ DefaultValue\ \ \ IdentifierReport File\ Value\ TypeFileName\ DefaultValue\ PreferredFileExtHTML File, html, htm\ \ \ IdentifierReport Title\ Value\ TypeSingleLineText\ DefaultValue\ \ \ IdentifierReport ShowIcons\ ValueYes\ TypeBoolean\ DefaultValueTrue\ TrueStringYes\ FalseStringNo\ \ \ IdentifierReport DisplayControls\ ValueYes\ TypeBoolean\ DefaultValueTrue\ TrueStringYes\ FalseStringNo\ \ \ IdentifierReport EmbedImages\ ValueYes\ TypeBoolean\ DefaultValueTrue\ TrueStringYes\ FalseStringNo\ \ \ IdentifierReport BodyFont\ Valuefont-family: sans-serif;\ TypeFont\ DefaultValuefont-family: sans-serif;\ \ \ IdentifierReport TitleFont\ Valuefont: bold 130% sans-serif;\ TypeFont\ DefaultValuefont: bold 130% sans-serif;\ \ \ IdentifierReport Level1Font\ Valuefont: 130% sans-serif;\ TypeFont\ DefaultValuefont: 130% sans-serif;\ \ \ IdentifierReport Level2Font\ Valuefont: 120% sans-serif;\ TypeFont\ DefaultValuefont: 120% sans-serif;\ \ \ IdentifierReport Level3Font\ Valuefont: 110% sans-serif;\ TypeFont\ DefaultValuefont: 110% sans-serif;\ \ \ IdentifierReport Level4Font\ Valuefont: italic 100% sans-serif;\ TypeFont\ DefaultValuefont: italic 100% sans-serif;\ \ \ IdentifierReport Level5Font\ Valuefont: italic 100% sans-serif;\ TypeFont\ DefaultValuefont: italic 100% sans-serif;\ \ \ IdentifierReport LabelFont\ Valuefont: bold 100% sans-serif;\ TypeFont\ DefaultValuefont: bold 100% sans-serif;\ \ \ IdentifierReport IncludeDateInName\ ValueNo\ TypeBoolean\ DefaultValueFalse\ TrueStringYes\ FalseStringNo\ \ \ IdentifierReport IncludeTimeInName\ ValueNo\ TypeBoolean\ DefaultValueFalse\ TrueStringYes\ FalseStringNo\ \ \ RplBlock\ 93851952\ 100438096\ \ IdentifierRplBlock SetName\ ValueIterative MRM Rules Set\ TypeEnumeration\ DefaultValue\ OptionsAreRplSetsTrue\ \ \ IdentifierRplBlock RplApp\ ValueRule Based Simulation\ TypeSingleLineText\ DefaultValueRule Based Simulation\ \ \ IdentifierRplBlock RuleName\ ValueCount Days in Article VII\ TypeRplRuleName\ DefaultValue\ \ \ IdentifierRplBlock GoalName\ Value\ TypeRplGoalName\ DefaultValue\ \ \ IdentifierRplBlock MethodName\ Value\ TypeRplMethName\ DefaultValue\ \ \ IdentifierRplBlock InitRuleName\ Value\ TypeRplInitRuleName\ DefaultValue\ \ \ IdentifierShowDescription\ ValueYes\ TypeBoolean\ DefaultValueTrue\ TrueStringYes\ FalseStringNo\ \ \ IdentifierShowRplComments\ ValueYes\ TypeBoolean\ DefaultValueTrue\ TrueStringYes\ FalseStringNo\ \ \ \ SimObjSection\ 95389376\ 100438096\ \ IdentifierSimObjSection ObjName\ ValueIterativeMRM_Outputs\ TypeSimObjName\ DefaultValue\ \ \ IdentifierSimObjSection ShowType\ ValueNo\ TypeBoolean\ DefaultValueFalse\ TrueStringYes\ FalseStringNo\ \ \ IdentifierShowDescription\ ValueYes\ TypeBoolean\ DefaultValueTrue\ TrueStringYes\ FalseStringNo\ \ \ Slot\ 101889536\ 95389376\ \ IdentifierSlot SlotName\ ValueIterativeMRM_Outputs.DaysInArticleVII\ TypeSlotName\ DefaultValue\ \ \ IdentifierSlot ShowObjName\ ValueNo\ TypeBoolean\ DefaultValueFalse\ TrueStringYes\ FalseStringNo\ \ \ IdentifierSlot ShowAccountName\ ValueNo\ TypeBoolean\ DefaultValueFalse\ TrueStringYes\ FalseStringNo\ \ \ IdentifierSlot ShowType\ ValueNo\ TypeBoolean\ DefaultValueFalse\ TrueStringYes\ FalseStringNo\ \ \ IdentifierSlot MaxTableCols\ Value0\ TypeInteger\ DefaultValue0\ MinValue0\ MaxValue999\ \ \ IdentifierSlot PlotWidth\ Value500\ TypeInteger\ DefaultValue500\ MinValue10\ MaxValue5000\ \ \ IdentifierSlot PlotHeight\ Value250\ TypeInteger\ DefaultValue250\ MinValue10\ MaxValue5000\ \ \ IdentifierSlot AddPeStorCol\ ValueYes\ TypeBoolean\ DefaultValueTrue\ TrueStringYes\ FalseStringNo\ \ \ IdentifierSlotDateTimeStart\ Value\ TypeRplDateTime\ DefaultValue\ \ \ IdentifierSlotDateTimeEnd\ Value\ TypeRplDateTime\ DefaultValue\ \ \ IdentifierShowDescription\ ValueYes\ TypeBoolean\ DefaultValueTrue\ TrueStringYes\ FalseStringNo\ \ \ IdentifierShowRplComments\ ValueYes\ TypeBoolean\ DefaultValueTrue\ TrueStringYes\ FalseStringNo\ \ \ \ \ } $ws collectRBSRunAnalysisInfo 1 $ws collectRPLPerformanceInfo 1 $ws RPLNumericComparisonTolerance 0 $ws RPLWhileExprMaxIterations 10000 # Section: Name Maps set mgr "$ws.nameMapMgr" "$mgr" format 2 "$mgr" end # Section: Datasets set mgr "$ws.datasetMgr" "$mgr" format 1 "$mgr" end # Section: DMI (part two) set mgr "$ws.dmiMgr" "$mgr" format 3 "$mgr" locked 0 "$mgr" showStatDlg 0 "$mgr" end # Section: Diagnostic Object Section {Diagnostic Settings} cwDiag diagEnabled 1 cwDiag diagFile 0 {} cwDiag toWindow 0 cwDiag filterByLevel 1 2 cwDiag filterByRegex 0 {} Diag optInfo 0 Diag Advanced 0 # Section: Global Functions Set Manager Section {Gobal Functions Set Manager} # Section: RuleSet Manager Section {RuleSet Manager} set rsm "$ws.RulesetMgr" # Section: Optimization Set Manager Section {Optimization Set Manager} set mgr "$ws.optSetMgr" # Section: Optimization Section {Optimization} $ws.RplBasedOptController setParameter {ADVANCE 2} $ws.RplBasedOptController setParameter {SIMPLEX PGRADIENT 4} $ws.RplBasedOptController setParameter {SIMPLEX TOLERANCE FEASIBILITY 1.000000e-009} $ws.RplBasedOptController setParameter {SIMPLEX TOLERANCE MARKOWITZ 5.000000e-001} $ws.RplBasedOptController setParameter {PREPROCESSING AGGREGATOR 10} $ws.RplBasedOptController setParameter {PREPROCESSING DUAL -1} $ws.RplBasedOptController setParameter {PREPROCESSING REDUCE 1} $ws.RplBasedOptController setParameter {TIMELIMIT 3.000000e+003} $ws.RplBasedOptController setParameter {SIMPLEX DISPLAY 0} # Section: Simulation Controller Section {Simulation Controller} $ws.SimControl ShouldExecInitRules 1 # Section: Rule Controller Section {Rule Controller} $ws.RuleControl ShouldExecInitRules 1 # Section: Initialization Rules Section {Initialization Rules} $ws initRules {RULESET\ NAME "Initialization Rules Set";\ AGENDA_ORDER ASCENDING;\ DESCRIPTION "";\ PRECISION 8;\ BEGIN\ \ END\ } # Section: Script Manager Section {Script Manager} # Section: Object Attribute Manager Section {Object Attribute Manager} # Section: Object Attribute Set "$ws.objectAttribMgr" objectAttribSet { \ } # Section: END (successful completion) Section {Done}