Better appearance on high resolution monitors when Windows has scaled the size of text and other items larger than 100%. WEAP will now scale correctly so that text is larger and fits well within dialog boxes and windows.
New option for reservoir water quality:SimpleMixing. NOTE: This method is only appropriate where complete mixing can be assumed, i.e., small reservoir, conservative constituent, monthly timestep. Choose SimpleMixing from the drop-down menu in the expression box for Reservoir Water Quality. SimpleMixing will calculate the concentration of water in storage in the reservoir, starting from its initial concentration (the initial condition for the first timestep of the simulation is given as the parameter to the SimpleMixing function, thereafter it is the concentration from the previous timestep), adding in any pollution loads from inflows to the reservoir. Evaporation will increase the concentration, because the water that evaporates carries no pollution. This function is only available for conservative constituents -- it cannot be used for temperature, BOD, DO or any constituent with first-order decay. For reservoirs with SimpleMixing, you can see the results for their concentration in the Results View report: Water Quality, Reservoir Storage Water Quality (Mixed). This report is only available for reservoirs that use SimpleMixing.
MODFLOW General Head Flow: WEAP will now read results from the GHB package (General Head Boundary) and include in its groundwater mass balance. New Results: MODFLOW General Head Flow Volume, MODFLOW General Head Flow Depth. General Head has been added to the list of features you can view on the Results View Map.
Plugins: If the user makes changes to the definition for a user-defined variable that is included in a plugin, the plugin is automatically updated to include the changes.
Results View: Options that are shown above the chart (dropdown boxes, checkboxes) will now automatically wrap to a second line if the WEAP window is not wide enough to accommodate them all on one line.
Fixed bug in Climate file creation of catchment delineation mode: If daily data was used and the Windows date format was not mm/dd/yyyy, WEAP wrote the incorrect date format to the climate csv file.
Expression Elaboration: Expressions that are too long were causing problems for the Expression Elaboration report (in the Data View, next to Chart and Table), so expressions longer than 1000 characters are now truncated (in the report).
MODFLOW Recharge: Fixed cases where MODFLOW Recharge results were not converted to the correct unit in cases where the recharge result was very close to the value for an inactive cell (e.g., 999.99).
4/30/2018, Version 2018.0
Major new version of WEAP: highlights include:
Automatic Catchment Delineation: WEAP can delineate catchments and rivers (using digital elevation data), calculate land area (disaggregated by elevation band and land cover), and download historical climate data for each catchment (by elevation band). This will greatly simply the process of setting up and modeling catchment hydrology. WEAP will automatically download global datasets for elevation, land cover and climate as needed. WebHelp/index.html#Catchment_Delineation.htm
Tags: Tags allow you to create entirely new structures for organizing the data and objects in your model, and can be used for grouping, organizing, filtering, highlighting and subtotaling results. Every object on the schematic can be assigned one or more user-defined tags, and tags can be grouped into user-defined tag categories. Think of tag categories as different dimensions for your data, such as location (north, south, east, west), river basin, economic sector (industry, agriculture) or ownership (state, federal). WebHelp/index.html#ManageTags.htm
Plugins: Plugins can be added to your models to extend their capabilities, such as calculating reservoir evaporation, agricultural residues or energy requirements. Create your own plugins or download them from the WEAP website or from colleagues. WebHelp/index.html#Plugins.htm
Filtering the Schematic and Tree: You can selectively show or hide objects on the Schematic and Data View Tree based on their scenario, type and tags. For example, to show only objects that are not active in Current Accounts, set the filter to: Scenario <> Current Accounts. WebHelp/index.html#FilteringSchematic.htm
Numerous other improvements, optimizations and bug fixes.
Create non-rectangular regions for group operations (move, delete, tag) on the Schematic: Alt-click and drag to create a rectangular region on the schematic; control-alt-click and drag to create an irregular shape. Click once for each point on the shape, double click to finish it. A red shape is drawn, and you can drag it to move the objects within, or right click for a menu of options, including delete, and add or remove tags.
Canceling operations on the Schematic: On the schematic, hitting the escape key will cancel the following: moving a label, moving a node or point, moving a group of objects (defined by Alt-drag), and restore to the Mapped position.
DATA AND EXPRESSIONS:
Moved "Pollutant Decrease in Return Links" on the tree: From under Water Quality to the Water Quality section under Supply and Resources \ Return Links
Improved stability of copying branches on the Data Tree.
Import from Excel: When importing expressions and units from Excel for variables whose units have denominators, you can now import both the numerator and the denominator unit. Previously, only the numerator was importable. For example, importing transmission link Maximum Flow Volume, which has units volume/time, such as ft^3/s or Million gallons/day.
The following Plant Growth Model Method (PGM) result variables can now be referenced in an expression (using PrevTSValue): Potential Biomass, Actual Biomass, Daily Yield, Yield, Actual Harvest Index
Import expressions from Excel: WEAP had been unable to import expressions longer than 8221 characters, but now the limit is 32,000 characters.
Referring to crop results in expressions: A few new result variable can now be referred to in expressions: Yield (MABIA), Market Value (MABIA), Production (PGM). You can specify a single crop, or total over all crops, e.g., PrevTSValue(Demand Sites and Catchments:Production[kg, Crop=Corn]) is total production of the PGM crop named "Corn" for all catchments, PrevTSValue(Demand Sites and Catchments\Big Farm:Production[kg]) is total production for all branches and crops under catchment "Big Farm"; PrevTSValue(Demand Sites and Catchments:Crop Yield[kg, Crop=Lettuce (Mediterranean)]) is total yield of the MABIA crop Lettuce (Mediterranean) over all catchments.
Improved accuracy of soil moisture method mass balance
Reduced memory use during calculations.
New MABIA Demand result: Theoretical Catchment Irrigation Demand: An irrigation shortfall in one timestep will cause an increased irrigation demand in subsequent timesteps because of the holdover soil moisture deficit. "Theoretical Catchment Irrigation Demand" will reflect only the demand from the current timestep's evapotranspiration, not counting any holdover soil moisture deficit from previous timesteps.
New MABIA Demand result: Annual Theoretical Catchment Irrigation Shortfall. This is the annual sum of Theoretical Catchment Irrigation Demand minus the annual sum of Irrigation (Supply Delivered) to the catchment branch. This is the "actual" unmet demand, which is not based on the double counted irrigation demand that occurs in cases of irrigation shortage.
New Plant Growth Model (PGM) result: Biomass Production. This is the total annual mass of harvested biomass: Actual Biomass on Harvest Date[kg/ha] * Area[ha] = Biomass Production[ha].
New Plant Growth Model (PGM) result: Actual Harvest Index: the fraction of the plant mass that is harvested.
APPLICATION PROGRAMMING INTERFACE (API):
Create schematic nodes and links via the API: The two API methods are WEAP.CreateNode and WEAP.CreateLink, which each return a WEAPBranch object for the new schematic node or link. The syntax is:
CreateNode(TypeNameOrID, X, Y, Name, MapLabel, ActiveInBaseYear, Priority, IsIrrigated) The first four parameters are required.
CreateLink(TypeNameOrID, Source, Destination, ActiveInBaseYear, Preference) The first three parameters are required.
See the help topic for the API class WEAPApplication for full information. WebHelp/index.html#WEAPApplication.htm
Here is a VBS example of its use (for the Weaping River Basin area):
Set NorthCity = WEAP.CreateNode("Demand Site", -70.88, 42, "North City", "North;City", True, 2)
Print NorthCity.FullName & " is located at " & FormatNumber(NorthCity.X, 2) & ", " & FormatNumber(NorthCity.Y, 2) ' Demand Sites\North City is located at -70.879997253418, 42
Set NewGWLink = WEAP.CreateLink("Transmission Link", WEAP.Branch("North Aquifer"), NorthCity)
Print NewGWLink.FullName & " goes from (" & FormatNumber(NewGWLink.X, 2) & ", " & FormatNumber(NewGWLink.Y, 2) & "), to (" & FormatNumber(NewGWLink.X2, 2) & ", " & FormatNumber(NewGWLink.Y2, 2) & ")"
Set NewWithdrawalNode = WEAP.CreateNode("River Withdrawal", -70.886, 41.97, "Withdrawal for North City")
Set NewRiverLink = WEAP.CreateLink("Transmission Link", NewWithdrawalNode, NorthCity)
Set NewRiverReturnLink = WEAP.CreateLink("Return Flow", NorthCity, NewWithdrawalNode)
Interactive calculations via the API: Interactive calculations make it possible to calculate a single timestep in WEAP and then perform other tasks in a script before calculating the next timestep, such as transferring WEAP results for the timestep just calculated to another model that is run and results from it are imported back into WEAP. During the pause between timestep calculations, you may change data expressions; you can change any CSV files that WEAP is reading via the ReadFromFile expression and that new file will be used for subsequent timesteps' calculations; and you can get access to result values that have been calculated in this or a previous timestep, using WEAP.ResultValue.See the help topics for the API classes WEAPApplication and WEAPScenario for more information on the following functions: WEAPApplication.InitializeInteractiveCalculations, WEAPApplication.FinalizeInteractiveCalculations, WEAPApplication.IsCalculatingInteractively, WEAPScenario.InitializeInteractiveCalculations, WEAPScenario.CalculateNextTimestep, WEAPScenario.IsCalculatingInteractively and WEAPScenario.FinalizeInteractiveCalculations.
Here is a VBS example of its use:
IF WEAP.InitializeInteractiveCalculations THEN
FOR EACH S IN WEAP.Scenarios
IF WEAP.Status AND S.ResultsShown AND S.InitializeInteractiveCalculations THEN
KeepCalculating = TRUE
KeepCalculating = S.CalculateNextTimestep ' CalculateNextTimestep = FALSE after last timestep in scenario is calculated
Perform some other tasks... ' Use WEAP.CalcYear and WEAP.CalcTS to determine which timestep was just calculated
IF WEAP.Status THEN
WEAP.FinalizeInteractiveCalculations "There was an error calculating." ' Display error message to user
WEAP.ResultSetting("Branch"): Expanded cases where this can be used, e.g., in the Groundwater Storage report, you can set which groundwater nodes are displayed, e.g., WEAP.ResultSetting("Branch")="Supply and Resources\Groundwater\West Aquifer"
WEAP.SaveAreaAs(NewAreaName): Save area with new name. The old area will still exist. Any unsaved changes to current area will be saved in new area, but not in the old area
WEAP.Branch can now use partial branch paths, e.g., WEAP.Branch("Central Reservoir") is a shorthand way to refer to WEAP.Branch("\Supply and Resources\River\Weaping River\Reservoirs\Central Reservoir"). However, if two branches have the same name, only the first one will be the one selected.
New API properties: WEAPScenario.FirstYear, WEAPScenario.LastYear. Get the first and last years of the scenario.
Improved speed for scripts that make millions of calls to WEAP.ResultValue
In cases where millions of API calls to WEAP.ResultValue were made, WEAP was running out of space in a temporary internal table. Further reduced the maximum size the temporary table was allowed to grow to.
Change the scenario displayed in Overview charts: WEAP.ResultSetting("Scenario") = "All", or = "Scenario Name", or = "From Favorite"
ExportResults: WEAP will now automatically overwrite an existing file when ExportResults is called from the WEAP API (if the setting for Verbose is 0 or 1, i.e., no questions are asked).
New API property: Branch.ShapeID
New API: ExportExpressions and ImportExpressions, to export and import expressions to and from Excel (in the Data View). Refer to help for more information: WebHelp/index.html#WEAPApplication.htm
WEAP.ResultValue can now get daily result values.
Fixed bug in Schematic View "Set Active in Current Accounts" screen, used for changing setting for "Active in Current Accounts?" for many objects at once.
Fixed bug in linkage to LEAP: WEAP's Expression Builder was unable to add references to variables in recent versions of LEAP.
Fixed bug: Link to LEAP screen was not working correctly -- could not select LEAP scenarios or timesteps to link
Fixed bug in MODFLOW: WEAP was not adding pumping to the well file from catchments that had land use branches that were not linked in the linkage shape file.
Fixed bug in MODFLOW calculations: Recharge was not being calculated correctly in cases where catchments had land use branches but the MODFLOW link shapefile only linked cells to catchments, not also to land use branches.
Fixed bug: A bug was preventing adding a default expression to any built-in variables that also had result variables with the same name, e.g., Precipitation.
Fixed crash in Expression Elaboration caused by extremely long expressions (e.g., more than 4000 characters).
Fixed bug: In cases where a reservoir had an expression for the buffer zone priority or the hydropower priority, and the expression evaluated to zero, WEAP was not clearing the previous non-zero value for the priority. For example, if the buffer zone priority was set to 5 in one run, and then set to 0 in the next run, WEAP would still be using the value of 5 in the second run.
Fixed bug in ReadFromFile: In ReadFromFile expressions that referred to columns by name instead of index, WEAP was getting confused by some column names (that included non-alphabetic characters, such as %, or that started with a number).
Improved ReadFromFile: in some cases, WEAP was thinking that the "Year" and "Month" column labels in the $Columns directive were data columns.
Fixed crash in expressions: If two different variables referenced each other, in some cases WEAP would crash (in an infinite loop). This is fixed.
Fixed bug in MABIA: In cases where the land use area went from zero in one year to greater than zero in the next year, WEAP was not calculating the soil water balance correctly.
Fixed bug in Plant Growth Method calculation of annual production and biomass. WEAP had be double counting annual production and biomass for irrigated branches.
Improved water quality calculation order: In some rare configurations, WEAP was not properly routing pollution from point to another, e.g., flow between linked local reservoirs.
Reformulation of the LP constraints that handle reservoir maximum hydraulic outflows (MHO), which should be more robust.
Changes to LP model to prevent a few rare cases of failure to solve.
Fixed bug: "Range check error" at the beginning of calculations for some models.
Fixed bug: Albedo data was not being read from the lowest-level branches when climate data was set to "Each branch within a catchment can have different climate data"
Fixed bug in Groundwater Inflows and Outflows report: In cases where the user has entered data for Natural Recharge that is less than zero, WEAP was erroneously reporting it as Overflow in the Groundwater Inflows and Outflows report.
Fixed bug in Reach Inflows and Outflows report: Outflow to downstream for the last reach on an unconnected river was mislabeled as "Evaporation."
Fixed bug: Eliminated some instances of the "Temporary table resource limit" error while displaying large reports in the Results View.
Fixed bug: In some cases, values for some of the Key Assumptions or Other Assumptions were not being displayed in the Results View.
Fixed bug: In the Results View, WEAP was displaying the incorrect title above the chart if you switched to the Map tab and back
Fixed bug: If scenario A had been calculated, then turned off, scenario B calculated, then scenario A turned back on, scenario A's results were not shown in the Results View. Fixed.
Fixed bug that gave an error when WEAP started in cases where the previously opened area was deleted outside of WEAP.
Fixed bug that in some cases caused a crash when opening an older dataset.
Updated translations for all included languages. See index.asp?action=219 for the list of volunteers who have done the translation.
Filtering the Schematic and Tree: You can selectively show or hide objects on the Schematic and Data View Tree based on their scenario, type and tags. For example, to show only objects that are not active in Current Accounts, set the filter to: Scenario <> Current Accounts. From the menu, go to Schematic, Filter, or, in the Data View, Tree, Filter, or use the filter box below the inset map. See the help topic Data \ Filtering, for more information.
DSS Export: Option to export results to HEC-DSS files after calculation. On the menu, go to Advanced, DSS Export Settings. See the help topic for full details. www.weap21.org/WebHelp/DSSExportOptions.htm
MODFLOW-2005: WEAP can now link to MODFLOW-2005.
MODFLOW-NWT: WEAP can now link to MODFLOW-NWT, which uses a Newton-Raphson formulation to improve solution of unconfined groundwater-flow problems. MODFLOW-NWT uses two new packages: Upstream Weighting (UPW) and Newton Solver (NWT). See https://water.usgs.gov/ogw/modflow-nwt/ for more information.
MODFLOW Linkage: Handle cases where a demand site is linked to multiple groundwater nodes.
WEAP will no longer allow duplicate names for objects of the same type (e.g., no two demand sites with the same name). Upon opening an area, WEAP will check for duplicate names. If any are found, they will be automatically renamed to ensure each is unique. The list of duplicate names will be shown.
Solver: When using an alternate LP solver, you can now choose whether or not to fall back to GLPK in case the solver has a failure to solve
Export expressions to Excel: Increased maximum number of rows from 65,000 to 1,000,000.
WEAP now checks for TMin > TMax in the MABIA climate data. If this occurs, and an error message will be added to the list of calculation errors, and a list of the bad data points will be saved to BadClimateData.csv
9/1/2016, Version 2016.01
New API: ExportExpressions and ImportExpressions, to export and import expressions to and from Excel (in the Data View). Refer to help for more information: WebHelp/WEAPApplication.htm
Import expressions from Excel: WEAP had been unable to import expressions longer than 8221 characters, but now the limit is 32,000 characters.
Referring to crop results in expressions: A few new result variable can now be referred to in expressions: Yield (MABIA), Market Value (MABIA), Production (PGM). You can specify a single crop, or total over all crops, e.g., PrevTSValue(Demand Sites and Catchments:Production[kg, Crop=Corn]) is total production of the PGM crop named "Corn" for all catchments, PrevTSValue(Demand Sites and Catchments\Big Farm:Production[kg]) is total production for all branches and crops under catchment "Big Farm"; PrevTSValue(Demand Sites and Catchments:Crop Yield[kg, Crop=Lettuce (Mediterranean)]) is total yield of the MABIA crop Lettuce (Meditteranean) over all catchments.
Fixed bug in FDCShift function: WEAP gave an error while trying to calculate FDCShift.
8/26/2016, Version 2016.0
This new version has many new and improved features, as well as several bug fixes.
Reservoir Water Quality: Previously, the outflow water quality from a river reservoir must have been specified as data. There is now a new method -- you can choose to have the outflow water quality be the same as the inflow water quality. Use the expression drop-down menu to choose "Same as Inflow". Warning: "Same as Inflow" may not be appropriate for non-conservative constituents or large reservoirs.
Buffer zone filling priority: You can now set an optional priority for filling the buffer pool (Data View, Reservoir, Priority, Buffer Priority). If set, it must be higher priority than the overall reservoir-filling priority.
Fraction covered: New optional data variable added to MABIA method: Effective fraction of soil surface covered by vegetation. If blank, Fc will be calculated by standard equation: Fc = [ (Kcb - Kc min) / (Kc max - Kc min) ] ^ (1 + 0.5 * Crop Height[m])
Albedo for Soil Moisture Method: three new optional albedo data variables (Albedo, Albedo Lower Bound, Albedo Upper Bound). If Albedo expression is not blank, it will be used to calculate albedo, overriding the built-in calculation. If Albedo variable is blank, Albedo will be calculated by WEAP as a linear function of snow accumulation -- a linear interpolation between Albedo Lower Bound and Albedo Upper Bound. Albedo = Albedo Lower Bound when snow accumulation = 0; Albedo = Albedo Upper Bound when snow accumulation is at or above 10 mm * number of days in the timestep. Albedo Lower Bound and Albedo Upper Bound default to 0.15 and 0.25, but you can enter different values if desired.
Groundwater-Surface water interactions: A river reach is now allowed to have simultaneous flow to and from a groundwater node (with a user's consent).
% of flow to groundwater: A river reach can now specify a % of river flow to a groundwater node that is already set to use the "wedge" method ("Model GW-SW flows") from other reaches.
Daily user-defined variables: If any MABIA or PGM catchments are defined, you can choose Daily as the timestep for user-defined variables.
Simplified Coefficient Method catchments are now allowed to have zero surface water runoff links. Previously, at least one was required.
Expression Elaboration: In addition to showing variables that the current variable references, WEAP now shows all variables that reference the current variable.
Deleting branches: When you delete a branch from the tree in the Data View, WEAP will warn you if there are any expressions that refer to it.
Use column names in ReadFromFile Expression: If you use the optional $Columns directive in your CSV files to document the contents of each data column, you can now refer to those in your ReadFromFile expression, instead of using the column number. For example, if file gauge.csv contained this line: $Columns = Gauge 101[CMS}, Gauge 312[CMS}, Gauge 505[CMS} then you could refer to the second data column (Gauge 312) with this expression: ReadFromFile(Gauge.csv, "Gauge 312[CMS]"). The column name must be enclosed in quotes in the ReadFromFile expression, whereas quotes are optional in the $Columns directive (unless any of the names themselves include commas). You can include a unit inside square brackets, but WEAP will not do any unit conversion if the unit in the ReadFromFile expression is different from that in the $Columns directive.
ReadFromFile can now automatically determine the appropriate ListSeparator used in the CSV file if it is not specified in the file and different from the Windows system ListSeparator.
Stage and velocity are now calculated for any river reaches with Flow-Stage-Width data, even if water quality is not being calculated for the river.
Velocity calculation: WEAP is now using trapezoids for calculating stream cross-sectional area, used by streamflow velocity calculation. Trapezoids should give a better approximation of area, and therefore a better estimate of velocity.
Modified MABIA runoff calculations, to accommodate rare cases where the runoff from rice area was larger than the irrigation applied (either due to declining maximum surface storage, or significant rain on a ponded surface with a flow through requirement).
Change in MABIA mass balance: For timesteps where the coverage < 100%, WEAP will now update the groundwater mass balance and storage with the "actual" infiltration flow to groundwater, instead of the linear approximation calculated before the allocations were made. This will result in decreased flows to groundwater than were previously calculated (but only for timesteps in which the coverage < 100%.)
MABIA: Fixed problem (WEAP gave an error) with perennial crops in leap years.
WEAP now checks for missing demand site return flow link if < 100% consumption.
WEAP crashed during calculations if a groundwater node had a maximum withdrawal limit set but no transmission links connected to it.
Improved stability of soil moisture method calculation when Z1 diverges due to bad parameters (e.g., Soil Water Capacity too small).
Reservoir Inflow Water Quality (mixed) result variable/report: New result has water quality concentration on inflows to river and local reservoirs (mixed, if several inflows).
River Reach Inflows and Outflow result variable/report: A mass balance of all water entering and leaving each river reach. Inflows (from groundwater, other surface water inflow and the upstream node) are represented as positive amounts, outflows (to groundwater, evaporation, catchments (river flooding) and the downstream node) as negative amounts.
Local Reservoir Overflow result variable/report: Any water that exceeds a reservoir's Top of Conservation threshold will overflow. For a local reservoir, this overflow is lost from the system, in the same way that evaporation is lost. There is now a new result variable named "Local Reservoir Overflow" that will show how much overflowed (and was lost).
River Reach Total Node Outflow result (via API): This now includes evaporation.
Report of Priorities: WEAP creates a report of demand priorities, supply preferences and allocation orders. The file is named Result_Priorities.csv
Now able to refer to more MABIA result variables in expressions, e.g., Current Saturation, Maximum Saturation, Field Capacity, etc.
APPLICATION PROGRAMMING INTERFACE (API):
WaterYearStart: Use WEAP.WaterYearStart to get or set the index of the first timestep of the water year.
ExtractAllBinaryResultsToParadoxTables: Extract all results from binary results files into Paradox database tables -- one table for each result variable.
ResultSetting: WEAP.ResultSetting can make changes to settings for the currently displayed chart or table in the Results View. Some examples:
Emailing areas: Improved ability to send and receive an area via email. To send an area, go to Areas, Manage Areas and click the Email button. WEAP will package the area into a single .WEAP file. The recipient only needs to double-click on the .WEAP file attachment and WEAP will automatically start and load the area. You have the option to include one or more previous versions in the .WEAP file.
Improved: Paste a vector of annual or monthly values from Excel or other programs. It can either be a two-column (or two-row) array, with the year or month name in one column (or row), or it can be a one-column (or one-row) array.
Stopping calculations: You can tell WEAP to stop calculating at a specific year and timestep, and optionally a specific allocation order or allocation order iteration within that timestep. Create a text file named StopCalc and put it in the WEAP area's subdirectory, e.g., ...\Weaping River Basin\StopCalc. The file should contain a single line that specifies the year, timestep, allocation order and allocation order iteration to stop on, separated by semicolons. For example, to stop in the 7th timestep of 2015, it would have this line: 2015;7 To stop before allocation order 4 of this timestep, it would be: 2015;7;4 You can even stop at a specific iteration of an allocation order, e.g., 2015;7;4;3
Sped up Scenario Manager screen for areas with a large number of scenarios.
Sped up opening of Expression Builder: more than 100x faster for very large models.
Export to Excel: Fixed problem with table export to Excel when the decimal separator was a comma.
Export to Excel: Fixed bug when exporting daily results using a Windows System date format that is not mm/dd/yyyy. Excel was displaying incorrect dates for the first 12 days of each month.
Sped up calculations
Supply Delivered result via API: When accessed via the API (WEAP.ResultValue('BranchName:SupplyDelivered'), it was erroneously including any runoff flow from connected catchments.
Fixed bug in Spanish MonthlyValues expression: If your water year does not start in January, then WEAP was not correctly interpreting the month names in the MonthlyValues function. This was only a problem when entering a new expression -- if the expression had been entered in English, it would translate correctly into Spanish and gave the correct result when calculated.
Plant Growth Method (PGM) Soil Library: Corrected incorrect values for Theta Residual, Alpha, N and Saturated Hydraulic Conductivity. Changed unit of Theta Residual from fraction to percent.
ReadFromFile Column title line: Handle $Columns line that is surrounded by quotes, e.g., "$Columns=Year, Timestep, Title One, Title Two"
Display of data input data in Results View: Fixed bug whereby daily input data (e.g., MABIA or PGM climate data) was incorrectly displayed as monthly data in the Results View Input Data section.
Fixed error that occurred when referring to PrevTSValue of a daily Mabia result variable, such as Bucket 1 Current Saturation.
Fixed bug with PEST: Daily models that had leap days turned on were giving PEST errors.
Fixed bug in binary results: Fixed a few rare cases of the following error during calculations: "Error writing results to binary results files"
Fixed bug in Soil Profiles Wizard: WEAP gave an error when importing from a CSV file.
Fixed bug: Unable to save a chart favorite with selected scenarios
Fixed bug: Demand sites that sent wastewater for reuse by other demand site but did not have any return flow links were not always getting as much supply from their sources as they could.
Fixed bug: Data Expressions report was working for Current Account but not any scenarios.
In some cases with very large models: WEAP is unable to show some results in the Results View, instead getting an error message, such as "operation not applicable." If you have this problem, put an empty file named FasterQuery.yes into the area subdirectory to switch to a different method of generating the result chart or table that uses less memory. Note: A limitation to this approach is that if you are showing multiple levels of branches (e.g., South City\Multifamily\Showers), WEAP will sort the list of branches only by the name of the lowest level shown.
Safe Yield Wizard: Fixed bug that caused the wizard to fail when the WEAP area consisted of only one year (BaseYear = EndYear)
Safe Yield Wizard: Results may not have been correct for areas with unirrigated Soil Moisture Method catchments.
Fixed issue with expression evaluation and the API: When getting data variable results via the API (WEAP.Branch("...").Variable("...").Value), WEAP had not been recalculating expressions that referred to other variables that had just been changed via the API.
Fixed bug that prevented WEAP in some cases from exporting transposed results tables to Excel.
8/5/2015, Version 2015
Major new version of WEAP released: highlights include:
IHA: Integration of The Nature Conservancy's Indictors of Hydrologic Alteration (IHA), to aid in understanding the ecological impacts of changes in streamflow.
PGM: A more detailed method for catchment hydrology, the Plant Growth Method (PGM) simulates daily plant growth, water use, and crop yields as a function of CO2 concentration, season length variability, and temperature and water stress, based on the approach taken in the SWAT and EPIC models.
Glaciers: Model growth and shrinkage of glaciers.
River Flooding: A fraction of streamflow over a threshold can flood to a catchment.
Linking Areas: Linking flows from one WEAP area to another.
Faster: Calculations are much faster (100x in some cases) and more robust.
Windows 10 compatible
Numerous other improvements, optimizations and bug fixes.
NOTE: This version has new file formats, such that once an area is converted to this new version, YOU WILL NOT BE ABLE TO OPEN IT IN ANY PREVIOUS VERSION OF WEAP WITHOUT LOSS OF DATA. Therefore, anyone with whom you want to share datasets MUST ALSO UPDATE TO THIS VERSION or later.
Catchment runoff and infiltration: A catchment can now runoff to any number of surface water destinations (previously, only one was allowed), and infiltrate to an unlimited number of groundwater nodes. If you have more than one link per type (surface or groundwater), you will need to specify the share of runoff or infiltration to each destination. These data variables can be found on the Data Tree in the Supply and Resources \ Runoff and Infiltration section.
Schematic Lock: On the menu, choose Schematic, Lock Schematic to lock or unlock the Schematic for editing. A benefit of locking the schematic is that it will prevent you from inadvertently moving a node or link. As a separate improvement, even if not locked, WEAP will not let you move an element that is hidden, e.g., if youíve hidden groundwater nodes, you cannot intentionally or unintentionally move groundwater nodes or links to or from groundwater nodes.
Hiding WEAP objects on Schematic: When a node type is hidden, all links to or from those nodes are also hidden. For example, if Demand Sites are hidden, then all transmission links to and return flow links from any demand site are also hidden. If a river or diversion is hidden, all nodes on the river or diversion are also hidden (along with all links to or from the river nodes).
Show or hide all background layers at once: New option on Schematic menu or background layer list right click menu to show or hide all background layers at once. Much faster than checking or unchecking each layer individually.
Much faster to add an object (Demand Site, Reservoir, River, etc.) to a schematic that already has many objects.
Expression Elaboration: Added a new tab in the Data View, next to Chart, Table and Notes, that shows details of all variables referenced by the highlighted expression. Right click on the list of variables referenced to get the option to copy it to the Windows clipboard. Double click on a variable in the list to jump to it.
River bifurcation using Fraction Diverted: To divert a fixed percentage of river flow into a diversion, select the diversion on the Data Tree and select the Fraction Diverted variable tab. Enter the percent that is diverted. You can use an expression to make this fraction vary over time, but it cannot be a function of the current timestep flow in the river. It can be a function of the streamflow in the previous timestep.
River Flooding: A river reach can flood to a Soil Moisture Method catchment. On the Flooding section of a river reach, go to "River Flooding Threshold" and select the catchment to which floodwater will flow and the river flow threshold when the river begins to flood. Go to "River Flooding Fraction" and enter the % of flow above the River Flooding Threshold that will flow to the catchment. Go to the Flooding section of the catchment, and enter the "Maximum Depth" and "Fraction Flooding Received." When the flooded depth of a catchment exceeds Maximum Depth, all of the excess will run off, unless you fill in a value for "Flood Return Fraction" to specify the fraction that can run off each timestep. On the Land Class Inflows & Outflows report, inflows from flooding will be listed as "River Flood Inflow"
Reservoir Volume-Elevation curve: You can now export the list of Volume-Elevation data points to Excel.
MABIA: Kcb can now be 0. Default value for Kcb for fallow is 0.
Catchment "Ponding" is now called "Flooding"
Change in defaults for Minimum Depth and Target Depth for Flooding: Both will now default to 0. (Previously, if blank, Minimum Depth defaulted to Target Depth, and Target Depth defaulted to Maximum Depth.)
New variable for Groundwater wedge model: If modeling groundwater/surface water interactions by their head difference, setting the Maximum Head Difference will limit flow from river to groundwater in cases where the groundwater level is far below the river level. Leave blank if no maximum.
Increased maximum number of branches: Previous maximum was 32,000; new maximum = 2 billion.
Search for branch by name in Data View Tree: In the Data View, hit Control-F (or Edit, Find Branch...) to search for a branch in the tree by text. Partial words are fine, and the search is not case sensitive. If you give multiple words, WEAP will search for branches that include all words (e.g., butte creek), unless you include OR (e.g., butte OR creek). To exclude terms precede with a minus (e.g., butte -creek). Hit F3 (or Edit, Find Again) to repeat the search using the same search text. If the bottom of the tree is reached without finding a match, WEAP will wrap around to look from the top of the tree.
Undock Data View Inset Map: If you have two or more monitors, you can "undock" the inset map on the Data View to another monitor. This can be especially useful for very large models. In the Data View, go to the Edit menu and choose Undock Inset Map.
Much faster to add individual branches to the Data Tree (right click on the branch and choose Add).
Better names for links (return flow, runoff) to river nodes: Previously, the name included the river node name, e.g., "Return Flow from Industry East to Ag West With.". Now, the river name is used instead of the river node name, e.g., "Return Flow from Industry East to Return Flow from Industry East" Existing links WILL be automatically renamed.
Better names for new Return Flow Nodes, Withdrawal Nodes and Runoff Inflow nodes: Previously, the nodes would be named generically, e.g., Return Flow Node 1. Now, they will be named according to what they are linked to, e.g., South City Return. Existing nodes will NOT be renamed. (You can manually change the names if you want -- right click on the node in the Schematic and choose General Info.)
Groundwater Hydraulic Conductivity variable can now vary by timestep.
Total Reservoir Storage can now be 0.
Improved handling of MissingValue in expressions: Any expression that includes a MissingValue (-9999) will be equal to MissingValue. E.g., MissingValue / 12 will be MissingValue. This could happen if you are reading values from a file, such as river gauge values, and some are missing. If you were converting them from CFS to CMS by dividing by 35.315, previously WEAP would have incorrectly divided any MissingValues (-9999) by 35.315, yielding -283.14. Also, for any operation that totals or averages a group of numbers that includes at least one MissingValue, the result will be the MissingValue. For example, if you are aggregating daily streamflow values to be monthly, if even one of the daily values is missing, the aggregated value for that month will be missing. Remember, the ReadFromFile function can fill in missing values using several different functions (Interpolate, Repeat, Replace).
Override inherited expression with blank: To blank out an expression inherited from a parent scenario, enter MissingValue as the expression.
ReadFromFile changed: ReadFromFile now allows setting the YearOffset to before the first year of data. This is useful if the area Base Year is before the first year of data in the CSV file.
Import from Excel can now change units: The Import from Excel function can now import and change units for Demand and Key Assumption branches. See help for Import for Excel for more info.
Current timestep result references: WEAP allows you to make references to current timestep results because it can check (during calculations) if they valid, i.e., that the expression is evaluated AFTER the result has been saved. For example, hydropower expressions can reference demand results, and cost expressions can reference streamflow results, because Demand is calculated before Streamflow which is calculated before Costs. However, demand expressions cannot reference current timestep streamflow results, because they have not been calculated at the time the demand expression is evaluated. If WEAP finds an invalid current timestep result reference during calculations, it will offer to automatically change the reference to a PREVIOUS timestep reference, by inserting a PrevTSValue function into the expression.
Ability to refer to result variables that have extra "dimensions," e.g., source, water quality constituent or cost/benefit type. Specify the dimension inside the square brackets, after the unit. For example:
PrevTSValue(Demand Sites\South City:Pollution Generation[kg, WQ Constituent=BOD])
PrevTSValue(Water Quality\Wastewater Treatment\South City WWTP:Pollution Inflow at Treatment Plants[kg, WQ Constituent=BOD, Source=South City])
PrevTSValue(Supply and Resources\River\Weaping River\Returns\Return Flow from South City:Pollution Loads[kg, Source=South City, WQ Constituent=BOD])
PrevTSValue(Supply and Resources\River\Weaping River\Reaches\Below Return Flow from South City:River Water Quality[g/l, WQ Constituent=BOD])
PrevTSValue(Demand Sites\Agriculture West:Supply Delivered[m^3, Source=West Aquifer])
PrevTSValue(Demand Sites\Agriculture West:Supply Delivered[m^3, Source=Ag West With.])
PrevTSValue(Demand Sites\South City:Net Benefit[$, Cost/Benefit Type=Operating Cost])
Warning on duplicate variable names: If there are two variables for a branch with the same name (perhaps one is user defined), WEAP will stop calculations with an error message. Previously, WEAP only added a message to the list of calculation warnings and errors shown in the Results View, which could be easily overlooked. In this case, you should rename the user-defined variable and check any expressions that reference it to verify they reference the new name.
Better error handling when CALLing DLLs from expressions.
Access to Supply Delivered result values from expressions and API: For example, PrevTSValue(Demand Sites\Agriculture West:Supply Delivered[m^3]) is the sum of the supply delivered to Agriculture West from all sources.
Allow CSV files to use ; (semicolon) as list separator, by using: $ListSeparator = ;
Improved the ReadFromFile function and wizard when dealing with csv files that have entire columns of data missing.
Logical expressions: Improved handling of expressions with "logical" operators ("and," "or," "not"), e.g., A and B.
Much faster calculations
WEAP uses less memory (RAM) during calculations
Model groundwater to groundwater flow: Draw a runoff/infiltration link between two groundwater nodes, then enter an expression on the link to specify how much will flow from one node to the other. Enter a negative value for flow in the reverse direction. A groundwater node can be connected to an unlimited number of other groundwater nodes. Results are shown on "Infiltration/Runoff Flow" report, in addition to "Groundwater Inflows and Outflows" report.
Yield calculation for the Soil Moisture Method, including yield response to water stress: the simple crop yield model from the Simplified Coefficient Method has been extended to work with the Soil Moisture Method.
Yield calculations: Now include optional "Planting Date" and "Harvest Date," to restrict the timesteps considered when summing ETActual and ETPotential for yield reduction calculation. Changed in both the Soil Moisture Method and Simplified Coefficient Method. If Planting Date is blank, will default to beginning of water year (timestep = 1). If Harvest Date is blank, will default to end of water year (timestep = Num Timesteps). Planting Date and Harvest Date are used ONLY to calculate yield reduction due to water stress (NOT for irrigation or other calculations).
Results file format: All results will be saved to binary format files, instead of Paradox tables, which should be much faster for large models. A side benefit of the binary results is that WEAP will now detect if an expression makes a reference to a current timestep result BEFORE it has been calculated. This is an error and will be reported during calculations.
Catchment demand results: A zero will now be written for a land use branch's demand and supply requirement in cases where there is no irrigation, to prevent gaps in the result table in cases where the irrigation is on for some timesteps and off for others.
Reservoir evaporation: Prevent a reservoir from having negative evaporation when its storage capacity is zero.
"Smart" calculation of non-irrigated soil moisture method catchments: WEAP will not recalculate any non-irrigated soil moisture method catchments whose input data have not changed since the last calculation, instead using results from the previous calculation. In some cases, this might greatly speed up subsequent calculations. NOTE: WEAP cannot yet detect the following cases that should require recalculation of the catchment: an expression is deleted (so that it inherits from the parent scenario or uses the default value), land area unit changes (e.g., from acre to hectare), csv file is changed (that is read using ReadFromFile, although the non-smart calculations don't catch this case either), or the default expression for a variable changes. To force WEAP to recalculate all catchments, even those it thinks don't need calculation, hold down the control key when clicking the Results View button.
Transmission link variable revenue ("benefit"): Per unit water revenue on transmission link flows now apply to the flow OUT of a transmission link instead of the flow INTO the transmission link, to reflect the fact that customers are not charged for water lost in transmission. (Flows out equal flows in minus losses to evaporation or groundwater).
Change in MABIA irrigation requirements calculation: Previously, if the fraction wetted by irrigation was < 100%, WEAP would only apply irrigation to the wetted fraction of land. However, this assumption was incorrect--even if irrigation was applied to a fraction of the land, the water would go to fill up the depletion on all the land. The effect was to underestimate the supply requirement.
MABIA maximum infiltration rate: Now, maximum infiltration rate will constrain irrigation and ponding/flooding as well as precipitation. Anything that cannot infiltrate will run off to the river.
MABIA percolation: Ineffective rainfall to groundwater and inefficient irrigation to groundwater now goes to the bottom bucket (if using two buckets) instead of directly to groundwater. This means that it will not go to groundwater unless the bottom bucket exceeds field capacity. Also, it is subject to the maximum percolation rate constraint. If only one bucket, both are also now subject to the maximum percolation rate constraint. Previously, ineffective rainfall and inefficient irrigation to groundwater were not limited by max perc rate.
MABIA Ponding: The rice ponding model is now available for both the Soil Moisture method and the MABIA method. They function the same, although because MABIA simulates at a daily timestep, the ponding also simulates daily. Flow through requirement: Always release (surface runoff) flow through requirement. Always irrigate with at least (flow through requirement - precip), but more if ET and infiltration draws surface depth below minimum depth. Flow through requirement = Minimum[ Flow through requirement, surface depth at beginning of day ].
Change in rice ponding irrigation algorithm: Previously, WEAP did not irrigate unless the surface depth was LESS THAN the minimum surface depth. Now, irrigation will occur if the surface depth is less than OR EQUAL TO the minimum surface depth. For example, if the minimum surface depth is 0 and the target is greater than 0, previously WEAP would never have irrigated, because it was never less than the minimum (0). With this change, now it will irrigate in this case.
Turning off results to save time and space: Many result variables that were previously required are now optional and can be turned off (not saved for Results View) to save calculation time and disk space. On the menu, go to Edit, Result Variable, Select Variables to Save. However, if you refer to the PrevTSValue for a result variable in any of your expressions, you will need to have that variable turned on. WEAP will warn you if this is the case.
Tweaked the linear program (LP) algorithm to handle a few rare cases of "Failure to solve" caused by reservoir Maximum Hydraulic Outflow constraints.
QUAL2K Version: Now using QUAL2K version 2.07
QUAL2K Reach Climate Data: Fixed bug with writing data for reach climate data (had only been using data from first WEAP reach).
QUAL2K Headflow: Runoff from catchments that represent river headflow is now written to the headflow section in QUAL2K, not as a point source.
Split up Land Class Inflows and Outflows report: Each variable is now available as a separate report (Precipitation, Irrigation, Evapotranspiration, Surface Runoff, Interflow, Base Flow, Outflow to Groundwater, Increase in Soil Moisture, Decrease in Soil Moisture, Snow Melt, Snow Accumulation, Increase in Surface Storage, Decrease in Surface Storage), and can be independently turned on or off to save calculation time and disk space. Because each result has its own result file, calculations should be somewhat faster (even if all are turned on), and solve problems where the file was too large to generate a report (Out of memory).
Reading from Excel faster: Data read from Excel using Interp function are now cached so that WEAP does not need to open the file in the future unless the file has changed. This greatly speeds up calculations that read from Excel.
Changed sign of Net Present Value: Now, a positive NPV means that Benefits are larger than Costs.
Net Cost report: "Net Cost" report is now called "Net Benefit." The numbers reported have not changed -- they are still Benefits - Costs. A positive value represents a benefit; a negative value represents a cost.
Other results renamed: This might impact default expressions, but not expressions for specific branches: "Snow Accumulation" -> "Snow Depth (MWE)", "Snow Accumulations" -> "Increase in Snow", "Snow Melt" -> "Decrease in Snow (Melt)", "Reservoir Evaporation" -> "Reservoir Net Evaporation"
Scenario Explorer Chart "Same Scale" option: (on the toolbar on the right) -- if on, it will force all charts with the same unit to use the same scale, to facilitate comparison among them.
Scenario Explorer results can be displayed as Monthly Average: Also, if "From Favorite" is chosen (instead of "All Scenarios"), then the setting for Annual Total or Monthly Average will depend on its setting in each favorite, each of which can be different.
Results View Message tab options: You can now export the error/warning messages table to Excel, copy to the Windows clipboard, or change the font size.
Viewing Key Assumptions and Other Assumptions in Results View: faster for loading in models with a large number of assumption branches.
Groundwater Outflow to River report: Previously, this report only included surface water flows to or from groundwater that was modeled with the wedge model. Now it also includes flows for models that specify GW/SW flows.
Faster display of results in Results View: Optimized database queries of results to show results faster.
Selected items in Results View: When selecting from a large list, e.g., the list of all river nodes and reaches, the window for selecting items has a search box. As you type in search terms, WEAP will instantly filter the list to show only those items that include the search terms. As a separate improvement, if you donít type in a search term, the scroll bar will now work as expected, showing you how far down in the list you are.
Added "(gauge)" to the name of gauges in the streamflow reports to distinguish them from other river nodes.
Zooming on results charts with mouse wheel: Use the mouse wheel to zoom in or out of a point on a chart. Hold down Shift key while wheeling to zoom only vertically; hold down Alt key while wheeling to zoom only horizontally.
Application Programming Interface (API):
Changed sign of costs and benefits when accessed via the API or expression: Costs are now shown as negative numbers; benefits as positive numbers. This is consistent with the Net Benefits report.
API option to log calculation errors to logfile: Set WEAP.LogCalculationErrors = true to log all "calculation" errors and warnings to WEAP.LogFile. Calculation errors are those that appear on the Messages tab in the Results View.
Easier filtered references in API: To refer to the flow from a river to a demand site or catchment, you can use the name of the river, e.g., WEAP.ResultValue("Demand Sites and Catchments\Agriculture West:Supply Delivered[Source=Weaping River]",2010,1,"Reference"). Previously, you needed to use the name of the river node, e.g., WEAP.ResultValue("Demand Sites and Catchments\Agriculture West:Supply Delivered[Source=Ag West With.]",2010,1,"Reference"). Note: if the demand site or catchment has inflows from multiple nodes on the same river, this will sum the inflow from all of them.
API: WEAP API now can get (but not set) the "Method" for Demand Sites and Groundwater Nodes via the Expression property, e.g., WEAP.BranchVariable("\Demand Sites\South City:Method").Expression should return "Specify yearly demand and monthly variation"
API: Fixed bug when trying to get result values the API for "Flow from Surface Water to GW Constrained" and "Flow from Surface Water to GW Unconstrained" for river reaches connected to groundwater nodes that use the wedge method to estimate groundwater-surface water flows.
New API WEAPBranch.AddChild(NewName): Create a new branch named NewName on the Data Tree under the current branch. Only works for branches under Demand Sites and Catchments, Key Assumptions or Other Assumptions. Returns the new branch. E.g., NewBranch = WEAP.Branch("\Demand Sites\South City").AddChild("Suburban")
New API WEAPBranch.Split(DoCopyData, NewName1, NewName2, ..., NewName10): Subdivide a branch into up to ten subbranches. NewName1 is required; all other names are optional. If DoCopyData is true, copy all data from the current branch to the new branches (except Activity Level and Area). Activity Unit for the new branches will be set to percent. E.g., CALL WEAP.Branch("\Demand Sites and Catchments\Agriculture North\Corn").Split(TRUE, "Sprinkler", "Drip Irrigation")
New API WEAPBranch.CopyData(SourceBranch): Copy all data from SourceBranch to the current branch. SourceBranch is a WEAPBranch object, not the name of a branch. E.g., WEAP.Branch("\Demand Sites and Catchments\Agriculture West\Corn").CopyData( WEAP.Branch("\Demand Sites and Catchments\Agriculture North\Corn") )
Expanded API WEAPBranch.NodeAbove and WEAPBranch.NodeBelow: NodeAbove and NodeBelow now work for transmission links, return flow links and catchment runoff links, identifying the source (NodeAbove) or destination (NodeBelow) of the link.
New API WEAPBranch.ConnectedGroundwater: For river reaches, transmission links, return flow links and reservoirs, get the groundwater node that it is connected to, if any (for losses to or gains from groundwater). Return an empty branch (Branch.ConnectedGroundwater.ID = 0) if no connection.
New API classes: WEAPFavorites and WEAPFavorite. Get access to the list of "favorites" (saved reports from the Results View).
Expanded API WEAPBranch.NodeAbove, WEAPBranch.NodeBelow, WEAPBranch.ReachAbove and WEAPBranch.ReachBelow: For the first node or reach on a diversion, NodeAbove will return the diversion node on the main river and ReachAbove will return the reach above the diversion node. For the last node or reach on a river or diversion that flows into another river or diversion, NodeBelow will return the tributary inflow node on the downstream river, ReachBelow will return the reach below the tributary inflow node.
New branches on the tree corresponding to return flow nodes and catchment runoff inflow nodes: These nodes are hidden on the tree (because they do not have any associated data variables), but can be referenced via the API for results. E.g., to get the streamflow at the return flow node for South City, you would use WEAP.ResultValue("Supply and Resources\River\Weaping River\Returns\Return Flow from South City:Streamflow[m^3], 2020, 7, "Reference")
Linking flows from one WEAP area to another: Whenever WEAP calculates an area, it will now automatically create additional CSV files containing the outflow from all unconnected rivers and diversions, one for each river and scenario. The files will be named Result_S__RiverOutflow___.csv, e.g., Result_S02_Reference_RiverOutflow_Weaping-River_2010-2020_Monthly.csv. In order to link the outflow from an upstream WEAP area "A" to an inflow point in downstream WEAP area "B," you would create a river object in area B to represent the lower most river from area A, and give it the same name. Go to the headflow data variable in area B for the new river and open the ReadFromFile wizard. Browse the folder for area A and choose the CSV file with the river outflow results. Because the names are descriptive, it will be easy to choose which file is correct. The ReadFromFile wizard will read and display the CSV data, so it will be easy to verify that it has the correct years and units. Do this linkage for each scenario in B. If the timestep in A is smaller than in B, e.g., A is daily and B is monthly, WEAP will automatically aggregate the A results for use by B.
Choose format for time step names: Go to General, Years and Time Steps, then choose the time step name format you want from the dropdown box on the lower right (below the table of timesteps), e.g., for a weekly model, you can choose among the following: Week 40, Wk 40, Oct 1-7, Oct 1, Oct 7.
Managing results: The Manage Areas screen now includes a column that indicates how much space is taken by results in each area. A new button (upper right, labeled "Results") will delete all the result files in an area. In some cases this will greatly reduce how much space a WEAP area occupies; however, it will mean that WEAP will need to recalculate next time you want to view results.
Much faster reading from CSV files: WEAP now caches CSV files in a binary format that is much faster to read.
Allow Maximum Diversion variable to have as its value MissingValue, which would remove any upper bound. This is better than setting it to a very large number, which could cause LP instability (or not be large enough and inadvertently cause a restriction where none should exist).
For example, if you have a key assumption that turns on and off operations ( Key Assumptions\Simulate Operations: 0 = simulate natural flows, 1 = simulate operations), then you could use the following expression for Maximum Diversion on a diversion, to turn it on or off:
IF( Key Assumptions\Simulate Operations = 0, 0, MissingValue) ; If not simulate operations, set maximum diversion to 0 (turn if off); otherwise, set to MissingValue (no upper limit)
NOTE: This will NOT work: Key Assumptions\Simulate Operations * MissingValue, because if you add or multiply a number by MissingValue, the result will always be MissingValue, e.g., 0 * MissingValue = MissingValue. You can think of it as MissingValue swallows up the numbers around it.
Improved display of languages with different character sets (e.g., Chinese, Arabic, Russian, Farsi).
On window for adding or editing user-defined variables, you can now decide if the variable will allow gaps (MissingData) in the data.
New volume unit: cubic kilometer (km^3)
New partial translations for: Bengali, Indonesian, German, Lithuanian and Turkish; improved translations for Arabic, Chinese, Farsi, French, Korean, Portuguese, Russian, Spanish, Thai and Vietnamese.
Fixed bug in MABIA method: The demand and supply requirement results shown in the Results View may not be correct in cases where coverage < 100%. If the supply was less than the supply requirement, WEAP was recalculating demand and supply requirement using the actual amount of irrigation, which in some cases resulted in lower values for demand and supply requirement from the "first pass," in which it was assumed that 100% of the supply requirement would be met. All of the other results -- e.g., coverage, irrigation, runoff, ET -- were accurate. It was just demand and supply requirement that were inaccurate. (Other parts of the model that depended on supply requirement, e.g., transmission link restrictions as a % of demand, were correct, because they used the total supply requirement for the catchment that was calculated in the first pass, instead of the supply requirements of each branch, which were incorrectly calculated on the second pass.)
Fix rare bug in MABIA: In cases where irrigation occurred on the last day of a month, there was the possibility for overestimation of irrigation flow to groundwater in the following month. If this had occurred, there would have been a calculation error message "Runoff fraction to groundwater > 1"
Fixed bug in wastewater reuse: In cases where a demand site's wastewater was reused by another demand site (via a transmission link) and the first demand site's consumption was 100%, WEAP was incorrectly supplying water to the second demand site.
Fixed bug in variable benefit calculation for transmission links with losses to groundwater: WEAP should not have been including the volume of water lost to groundwater in calculating variable benefit of water delivered.
Fixed bug: WEAP crashed if rivers are linked to QUAL2K but are all turned off for water quality modeling.
Fixed bug: Values for Key Assumption branches were not displayed in Results View if the WEAP area was annual (one timestep per year).
Fixed error in hydropower revenue calculation: WEAP was incorrectly reducing hydropower revenue by the scale of the Hydropower Energy unit (General, Units, Reservoir, Hydropower Energy). For example, if the Hydropower Energy unit was thousand GJ, the result for hydropower revenue was too low by a factor of 1000.
Fixed bug for WTP Overflow and Capacity Utilization results: In some cases, WEAP was not calculating these results.
Fixed bug for rice ponding and lower bucket: For soil moisture method catchments that were not linked to a groundwater node and had a branch that used the rice/ponding module, WEAP had not been adding to the lower bucket water balance the water that percolated down from the top bucket. This resulted in the bottom bucket gradually drying out and a corresponding reduction in base flow. This bug has been fixed.
Fixed bug: When linking to a MODFLOW model with Constant Head Flow that is defined in IBOUND but no CHD package, WEAP was not including the constant head flow in the Groundwater Inflows and Outflows.
Fixed bug for reservoir maximum hydraulic outflow (MHO): WEAP was incorrectly allowing the reservoir to completely fill in some cases where the reservoir outflow was less than the MHO.
Fixed bug in PEST calibration: WEAP was not properly formatting the PEST files for models with daily timesteps, which caused PEST to not run.
Fixed a subtle bug in inheriting expressions. Previously, if you had entered a Current Accounts expression for an object (e.g., a reservoir), and then later made the object not active in the Current Accounts, there are a few places where WEAP got confused about whether there was an expression to inherit from the Current Accounts.
6/10/13, Version 3.431
Look for registration in Program Folder
Fixed bug: Results for simplified coefficient method catchments were incorrect when displayed using depth units (e.g., mm)
Disallow MissingDataValue (-9999) for all variables (except gauges).
5/29/13, Version 3.43
New API functions: Branch.NodeAbove, Branch.NodeBelow, Branch.ReachAbove, Branch.ReachBelow. Get the node or reach above or below the current branch. For example, IF WEAP.Branch("\Supply and Resources\River\Weaping River\Reaches\Below Central Reservoir").NodeAbove.TypeID = 4 THEN ...
New API function: Branch.River: Gets the WEAPBranch for the river this node or reach is on.
New API function: Branch.RiverOrder: Gets the ordering of this node or reach on the river, starting at the top, where the headflow reach has Order = 0. Returns -1 if the branch is not on a river.
Ability to refer to catchment Total Yield results (for simplified coefficient method) in expressions.
Ability to refer to catchment Soil Moisture results in expressions: For the soil moisture method (2 bucket model), you can refer to the results from the previous timestep for any catchment branch's soil moisture (%) for either bucket 1 or bucket 2. For example, from the Tutorial chapter on hydrology, you could use the following expression: PrevTSValue(Demand Sites and Catchments\Agriculture Catchment\Irrigated:Relative Soil Moisture 1[%])
Improved handling of corrupt data tables: WEAP can detect and offer to repair certain types of data corruption that in some cases was preventing WEAP from starting.
Better handle reading from Excel files (using Interp function) that have the same name but are in different folders.
Catchments using method "Irrigation Demands only (simplified coefficient method)" no longer require a runoff or infiltration link to surface or groundwater.
LossRate variable now used for monthly demand method in addition annual demand method.
Fixed bug (from version 3.4101) in Results View: Current Accounts year was not being shown.
4/17/13, Version 3.4101
Improved speed of chart creation in the Results View, especially in large models
Fixed bug in SoilProfile wizard
4/15/13, Version 3.41
Fixed crash during calculations: In a few cases, some people were getting an error during calculations: Table does not exist: Result_38.DB
3/22/13, Version 3.4
MODFLOW groundwater flow field vectors: The groundwater flow field can be shown both as 3-D vectors and superimposed on the Schematic, one per MODFLOW cell, with the length of the vector reflecting the magnitude of the Darcy velocity. See WebHelp/index.html#MODFLOW_Run.htm for details.
Display of MODFLOW cell attributes: When viewing MODFLOW results, there is now an option to display the MODFLOW cell attributes in each cell (W=Well, R=Recharge, D=Drain, V=River, H=Constant Head, F=Flooded, dry=Dry Cells). See WebHelp/index.html#MODFLOW_Run.htm for an example.
Pumping from dry cells: A demand site is no longer able to pump from a MODFLOW cell that is or becomes dry, which might result in unmet demand (depending on if all of the linked cells are dry, and it cannot use other supplies).
Link Demand Site sub-branches to specific MODFLOW cells: For even more precision in specifying pumping and recharge, you may link WEAP demand site sub-branches to individual MODFLOW cells. In this case, flows to and from these branches will go to only the cells linked to those branches. See WebHelp/index.html#MODFLOW_Link.htm for details.
Enhanced display of background maps: Many new options for displaying background layers, including "thematic" shading based on geographic data. See WebHelp/index.html#Map_Layer.htm for more information.
A Demand Site's Supply Preference can now vary over time (monthly or yearly) or by scenario.
Two buckets for Mabia catchment method: If your model includes any catchments that use the MABIA catchment method, you can now choose whether to use one or two vertically stratified "buckets" (compartments) to compute the water balance. The top bucket is defined by the rooting zone, and includes the surface layer (the layer that is subject to evaporation). The bottom bucket, if the two bucket method is used, is the remainder of the soil below the rooting depth down to the Total Soil Thickness. The size of the two buckets changes with the rooting depth, but the sum remains constant. Infiltration takes place at the top bucket only, groundwater recharge from the bottom bucket only. Flow from bucket one to bucket two, or from bucket two to groundwater, only occurs if the bucket's field capacity is exceeded. If using two buckets, WEAP will calculate the average soil water capacity separately for the top and bottom bucket, based on the horizons that fall within each bucket.
Mabia Soil Profile Wizard and Consolidated Rock: Layers below consolidated rock are ignored.
Mabia crops can now span a water year boundary.
Divide into Clusters (ReadFromFile disaggregation method): Divide the monthly value from the CSV file into a sequence of evenly spaced "events," such as rainstorms, each of which can last several days. The number of events per month is specified by the Disaggregation Method Parameter; the duration of each event is specified by the ClusterLength parameter. Useful for creating a plausible daily timeseries of rainfall from a monthly CSV file. See WebHelp/index.html#Read_From_File.htm for details.
Lookup function for expressions: Looks up the value of an independent variable (X), and returns a value for a corresponding dependent variable (Y). The set of N data points -- (X1, Y1), (X2, Y2), ..., (Xn, Yn) -- defines a function: f(X) = Y. Syntax: Lookup( XTitle, YTitle, InterpMethod, X, X1, Y1, X2, Y2, ..., Xn, Yn) InterpMethod is either "Linear" or "Step". E.g., Lookup( Cost[$], Demand[m^3], Linear, \Key\Water Price, 0.10, 2000, 0.50, 1000, 1.0, 100) ; X is water price and Y is water demand. As price goes up, demand goes down.
Wizard for Lookup function: Wizard to help constructing a Lookup expression, including pasting an array of numbers from Excel. In the Data View, click the dropdown arrow in the expression box and choose "Lookup Function Wizard."
New API function SaveSchematic: Save the Schematic to a jpg, png or Google Earth file. See help for details.
New API function ZoomSchematic: Zoom the Schematic out to show the full area boundaries.
Refer to groundwater overflow result in expressions: Can now refer to the previous timestep's result for groundwater overflow in an expression, e.g., PrevTSValue(North Aquifer:Overflow)
Line charts: The line width on charts can be changed (anywhere from 1 to 4 pixels wide). To make all vectors the same color, change "Number of colors" to 1 on the Legend Colors dialog. (Click the rainbow button on the chart toolbar.) Also, you can change the color palette (rainbow, greyscale, reds, greens, blues). Therefore, to make the lines all black, set to 1 color and gray scale. This can be useful to simplify the display of groundwater flow field results from MODFLOW.
Translations: Spanish translation complete; partial translations for Arabic, Chinese, Farsi, French, Greek, Korean, Lithuanian, Portuguese, Russian, Thai and Vietnamese.
Added global cities layer to new, blank WEAP areas.
Disabled old WEAP license registration codes: Registration codes from before 2008 were not secure, so they have been disabled. If you still qualify for a free license, you may re-apply online: Apply
Fixed bug in groundwater "wedge" model: When using the groundwater wedge model (Option: "Model groundwater-surface water interactions" WebHelp/index.html#Purkey_Wedge_Method.htm ), WEAP had been overestimating groundwater-surface water flows by a factor of 365 (both inflows and outflows). In this new version, when WEAP first opens a model that has groundwater wedges, it will warn you about the previous error, and offer to make a correction (decrease Horizontal Distance by 19.1, which is the square root of 365) so that the results will be unchanged.
Fixed bug in editing water quality variables: Unable to make changes to variables that represented Temperature.
Fixed bug in order of reaches: Newly added reaches were not being added into the correct place in the tree in the Data View.
Fixed bug in orphaned user-defined result variables: If a user created a new variable and marked it as a result variable, then deleted it, it was still showing up on the list of results variables in the Results View.
Fixed unit conversion bug in initial snow data: WEAP was incorrectly dividing the initial snow data by 1000.
Fixed bug in MODFLOW linkage: WEAP was not adding the newly created Recharge package to the new Name file if one didn't exist in the original MODFLOW name file.
Fixed bug in user-defined LP constraints: WEAP would crash if a constraint referred to a streamflow variable using a flow unit (e.g., CFS).
Fixed bug in Random() function: It was crashing when called with 2 or fewer parameters
Fixed bug that prevented WEAP from starting in Windows XP if not running as administrator.
Fixed bug in reservoir evaporation: If a reservoir was not active in the current accounts and had data (in the scenario) on maximum hydraulic outflow, WEAP incorrectly calculated evaporation in years before the reservoir became active.
Fixed bug in CSV export of daily results (all dates after the 600th day were missing).
Fixed bug in maximum hydraulic outflow constraint for local reservoirs.
9/12/12, Version 3.3001
Handle MODFLOW models without recharge packages
Fixed bugs in Copy and Rename functions of the Scenario Manager
9/3/12, Version 3.3
Major new version of WEAP released: highlights include:
Model the Water-Energy Nexus: Dynamic linkage to SEI's Long-range Energy Alternatives Planning (LEAP) system
Wizard for modeling environmental flow requirements
Wizard for exploring and importing time series data files (CSV)
Calculations are faster and more robust
Numerous other improvements, optimizations and bug fixes
Model the Water-Energy Nexus: Dynamic linkage to SEI's Long-range Energy Alternatives Planning (LEAP) system. Create dynamic, bidirectional links between a WEAP water planning model and a LEAP energy planning model. Users can now explore how individual water or energy management choices ripple through both the water and energy systems, understanding tradeoffs that might not be apparent when looking at either system alone. They can then evaluate outcomes against their policy goals and priorities: to supply enough water for all, to reduce GHG emissions, etc. If one approach leads to unacceptable results, they can then explore alternative policies and measures.
Modeling environmental flow requirements: There is a new function and wizard to help with specifying environmental flow requirements. Starting with streamflow gauge record, either historical or artificial (e.g., from a climate projection), WEAP can shift this "flow duration curve" by a variable amount to approximate different Environmental Management Classes (EMC). The syntax is: FDCShift( ReadFromFile(CSVFileName, other ReadFromFile parameters...), Environmental Management Class), where Environmental Management Class is a letter from A-F that indicates how far to shift the original time series. There is a FDCShift Wizard to help build this expression. See WebHelp/index.html#Read_From_File_Wizard.htm for more info.
ReadFromFile Wizard for exploring and importing time series data files (CSV): Use the wizard to quickly explore, compare and select individual time series from one or more CSV text files. See WebHelp/index.html#Read_From_File_Wizard.htm for more info.
Added FirstYear and LastYear parameters to ReadFromFile: The optional 8th and 9th parameters to ReadFromFile can be used to restrict the first and last years of data to use from a CSV file. If not specified, they will default to the first and last years of data in the file. See WebHelp/index.html#Read_From_File.htm for more info.
Added "Cycle" parameter to ReadFromFile: The optional 10th parameter to ReadFromFile is either "Cycle" or "No Cycle" (without the quotes). If "Cycle" is specified, WEAP will wraparound from the end of the file back to the beginning. For example, if the WEAP area time horizon is 2000-2050 and a CSV file has data from 1960-1969, WEAP would use data from 1960-1969 for years 2000-2009, then wraparound so that 2010-2019 would also use 1960-1969, and the same for all subsequent years. If the cycle parameter is not specified, it will default to "No Cycle."
Changed how missing values are filled in ReadFromFile: If you are aggregating daily data into monthly values, or monthly data into annual values, WEAP will now fill missing data using the Missing Value Method before aggregating. For example, if you have daily temperature data that you need to aggregate to monthly averages, you might use the Interpolate Missing Value Method to fill in gaps in the daily data, all of which will all be averaged to get the monthly average temperature.
Faster: Numerous optimizations to speed up calculations and display in both the Data View and Results View.
More robust: Make structural changes to the LP model formulated by WEAP that result in speed and stability improvements. In rare cases, typically with very complex models, WEAP's internal linear program (LP) solver had be unable to solve the allocation and flows in a few timesteps. Several changes to the LP formulation have improved its reliability. In extremely rare circumstances where it still cannot find a solution, WEAP will use the open source GLPK solver http://www.gnu.org/software/glpk/
Improved handling of reservoir maximum hydraulic outflow (MHO): In some cases, typically where the flow into the reservoir was much larger than the total storage capacity of the reservoir, it caused an LP failure. Now, any MHO constraints that cause an LP failure will be temporarily disabled (for that timestep only). WEAP will report which MHOs were temporarily disabled.
Improved allocation algorithm: WEAP now does a better job at equalizing coverage among demand sites with the same supply priority and preference. NOTE: this change may cause results from previous versions of WEAP to differ slightly from results in this new version.
Minimize unused outflow from diversions: WEAP will try to reduce the amount diverted into a diversion, so as to minimize how much water flows out the end of the diversion (and is lost from the system).
You can speed up calculations by turning off selected result variables: The more result variables you calculate, the longer calculations will take and the more disk space will be used, but the more detail you can see in the Results View. Some variables must be saved because they are used internally during calculations. Also, if you reference any result variables in Data View expressions (with the PrevTSValue function), you must also save these. On the menu, go to Edit, Result Variable, Select Variables to Calculate.
Warning message in calculations if you have an extremely large data value (larger than 100 billion), because very large numbers can cause problems for the LP solver.
Warning message in calculations if you run low of disk space during calculations (less than 50 MB free).
Warning message in calculations if any estimated surface water flows to groundwater (when using the "Model GW-SW Flows" method) had to be reduced (because they exceeded available river flow).
Disallowed using a transmission link to move water from one river or diversion to another river or diversion. Use a diversion instead.
Change in Interp: When using the Interp function for scenario expressions, now you can override the Base Year value with a different value. If so, WEAP will interpolate using the new Base Year value instead of the actual Base Year value from Current Accounts.
Allow changing value of "Model WQ?" variable for diversions not active in Current Accounts.
WEAP will now check for and prohibit Catchment Land Area from being less than zero.
New Result Reports:
Wastewater Treatment Plant Total Inflow. Total volume of wastewater that flows into a wastewater treatment plant (without regard to the plant's capacity). Could be useful in calculating treatment costs or energy use on a per unit basis.
Unconstrained and Constrained Flow from Surface Water to Groundwater: If you are using the "Model GW-SW Flows" method, in some cases it can estimate flows from surface water to groundwater that exceed available flow in the river. When this happens, the estimated flow to groundwater must be reduced. These two Supply and Resources\River reports show the original, unreduced estimated flow ("Unconstrained") and the actual amount simulated by WEAP AFTER any required reductions are made ("Constrained"). Note: The Groundwater Inflows and Outflows report shows the Constrained flows.
Link Water Quality: Concentrations of water quality constituents in transmission links, return flow links and infiltration/runoff links.
Wastewater Treatment Plant Capacity Utilization: The fraction of a Wastewater Treatment Plant's capacity that is used. (Capacity is an optional data variable--if left blank, there will be no capacity restriction.)
Water quality reports renamed for clarity: "Surface Water Quality" is now "River Water Quality"; "Source Water Quality (by Source)" is now "Outflow Water Quality (by Source)" (the concentration of outflows from non-river nodes); and "Source Water Quality (by Mixed)" is now "Inflow Water Quality (Mixed)" (the concentration of the mixed transmission link inflows to a demand sites).
Get or set Branch.StartupYear: View or change an object's Startup Year in the active scenario using the API Branch.StartupYear property, e.g., WEAP.Branch("\Supply and Resources\River\Weaping River\Reservoirs\North Reservoir").StartupYear = 2014. Make sure the active scenario is correct first, e.g., WEAP.ActiveScenario = "Supply Measures"
Get or set WEAP.DiscountRate: View or change the area-wide discount rate (percent). E.g., To set the discount rate to 3%, WEAP.DiscountRate = 3 Can also be set in WEAP from the Main Menu: General, Units, Monetary.
GIS coordinates via Branch API: New properties (IsNode, IsLine, X, Y, X2, Y2) added to the Branch API class that exposes the GIS coordinates of any node or line from the WEAP Schematic. For example, in Weaping River Basin, WEAP.Branch("Demand Sites\South City").X will get the longitude for South City. See the help topic "WEAPBranch and WEAPBranches Classes" for details and more examples.
Get if WEAP is registered (licensed): WEAP.Registered
Expression references to variables of an object that was not active in the Base Year and only became active after the first scenario year incorrectly evaluated to 0.
Water quality constituents were not being calculated in flows in transmission link from supplies into reservoir or river nodes.
Catchment results were not correct in daily models that included leap days on March 1 in non-leap years.
Water was prevented from flowing from Other Local Supplies that were directly connected to a river or diversion.
In some cases, when viewing Data Variables in the Results View, some data variables were not being recalculated.
WEAP occasionally froze while the user was drawing a new river on the Schematic.
Deleting a river left behind orphan branches on the tree in the Data View.
In some cases where the maximum catchment ponding depth decreased at the same time of heavy precipitation, there was negative irrigation demands for ponding (with the Soil Moisture method).
Fixed discrepancy with reported groundwater outflow to river: In some cases, there was a discrepancy between results on the "Groundwater Outflow to River" report and the "Groundwater Inflows and Outflows" report.
Working directory management:
Option to automatically delete all files in the working directory when WEAP exits: Put the following line in the WEAP.ini file, which is located in the WEAP Areas folder (not the WEAP Program folder): DeleteWorkDirFilesOnExit=1 It is completely safe to do this--WEAP will copy them back to the working directory when it next starts. Note: To edit WEAP.ini, make sure WEAP is not running at the time.
WEAP will now automatically create a custom working directory location that is specified in WEAP.ini (using the line: WorkDir=), no matter how many directories it contains, e.g., WorkDir=B:\WEAP Files\Jack\Temp Note: to speed up WEAP's calculations, you can create a RAMDisk and place WEAP's working directory on it. See index.asp?action=9&read=1352&fID=30 for more information.
You can use the Windows user name to set the customized working directory using %UserName% in the WEAP.ini WorkDir line, e.g., WorkDir = B:\WEAPFiles\%UserName%
Saving and restoring large datasets is now twice as fast
Ranges for variables displayed in Data view: If a data variable has a required range (e.g., Consumption must be between 0 and 100%), it will be listed below the description of that variable.
Set variables read only: The Edit Variable screen has a setting to make a variable (both user-defined and built-in) read only. If a variable is read only, the user cannot override the default value or expression.
Hide cost variables: Cost data variables (e.g., Capital Costs, Operating Costs) can be selectively hidden for different object types. For example, you could hide the cost variables for demand sites and groundwater nodes, but not for transmission links or wastewater treatment plants. (Previously, if you hid Capital Costs for Demand Sites, it would also be hidden for all other objects.)
Ability to rename "Other Assumptions" branch name: right click on the branch and choose Rename.
Remember schematic setting for priority display: When opening an area, WEAP will remember the previous setting for the display of priorities and preferences on the Schematic. (From the menu: Schematic, Change priority view)
Export to Excel: Export Expressions to Excel will now export the Startup Year variable
The "FAO Crop Requirements Method" has been renamed the "Simplified Coefficient Method."
10/31/11, Version 3.22
Fixed PEST problem: Fixed a problem that was preventing the PEST Calibration Wizard from working correctly.
10/21/11, Version 3.21
Instream water quality calculations: Fixed a problem that caused incorrect calculations for instream water quality calculations in cases where the unit for river flow and river width was not CMS and meters, respectively.
Groundwater nodes not active in Current Accounts: Fixed a problem that ignored the initial storage for groundwater nodes that were not active in Current Accounts.
10/13/11, Version 3.2
User-defined result variables: Some data variables may actually represent calculated results, especially if you provide a default expression. In this case, you might want to highlight the result by having it appear in the Results View among the built-in result variables, instead of with all the other data variables under the results category "Input Data." To do this, right click on the data variable tab and choose Edit, then check "Result Variable" and choose the results category under which it should appear (e.g., Demand, Reservoir, Groundwater).
New report: Reservoir Storage Volume and Zones. For a single reservoir, see how the simulated storage compares with the reservoir zones (Conservation, Buffer, Inactive). See Downloads/ReservoirZones.gif
Automated error reporting: In the unlikely event of a crash in WEAP, you now have the option to email the error report to ErrorReport@weap21.org. The error report will contain details of the crash, the full errorlog file (WEAP_Errors.txt), and the option to attach the current area (zipped) and/or a screen capture at the moment of impact.
Password-protect areas: Option to add a password to an area that would then be required to either open or save changes to the area. Add a password when creating an area. Add or change the password from the Manage Areas screen.
Add notes when creating an area: At the moment you create an area you can give a description of the new area. This should make it easier and therefore more likely for you to add this crucial piece of documentation to your data.
Semicolon (;) is now allowed as List Separator character: Previously, because ";" (semicolon) was reserved as the comment character for expressions, WEAP did not allow the Windows List Separator character to be ";"
Access to Net Cost and Net Present Value result values from expressions (sums across cost types) and API: For example, PrevTSValue(Supply and Resources\Transmission Links:Net Cost[$]) is the sum of the capital costs, operating costs and benefits (net cost) in all transmission links.
Calculations faster: Made several optimizations in the calculation code to speed up calculations. Some models will see greater speed up than others, depending on the details of the models.
Dynamic loading of background GIS layers: Previously, WEAP was always loading or attempting to load background layers on the Schematic map, even if they were not marked as being shown (unchecked in the list on the left). With this change, WEAP will only load a layer onto the map if it is set as visible (checked). This results in a substantial speedup in opening WEAP areas that referenced GIS layers on inaccessible network drives (e.g., 40 seconds, because WEAP had to wait for Windows to time out its network search).
Complete list of background GIS layers: Previously, if a GIS layer was not available (for example, if the area had come from another user who had referenced a layer in a folder outside the WEAP area folder, and therefore did not exist on the new user's computer), WEAP would not list it in the list of background layers. With this change, WEAP will list all the layers in the list on the left, even those that are not accessible, so that the user can see which ones are missing, and have the option to find the GIS files or remove the layer from the map. If a layer had been checked but is currently unavailable, it will be unchecked.
Hydropower result unit: Hydropower can now be reported in Power (e.g., megawatt) as well as Energy (e.g., megawatt-hour) units.
Improved selection of nodes on Schematic: You can now click anywhere on a node (e.g., Demand Site, Reservoir, Groundwater node) to select it, not just near the center of the node.
Fixed bug with wastewater routing: Previously, if wastewater was routed to a wastewater treatment plant that had not started, the pollution disappeared. With this fix, the pollution will not disappear, and a calculation message will warn that wastewater was routed to an inactive wastewater treatment plant.
Fixed error caused by diversions flowing out of local reservoirs.
6/4/11, Version 3.11
Fixed bug in Remainder: Version 3.1 had a bug in the calculation of Remainder that could cause incorrect results in some cases.
SaveVersion API: WEAP.SaveVersion API method has a new, optional parameter to include result in the version. SaveVersion(Comment, IncludeResults): Create a new version of the active area with the given comment. If optional IncludeResults is TRUE, include the results in the version.
DeleteResults API: WEAP.DeleteResults: Delete all results files for the active area. This might speed up calculations, if the results file contain previously calculated results from many scenarios, but you only want to look at results for one or a few scenarios.
5/24/11, Version 3.1
Export results to Google Earth: WEAP can export the area schematic and results in Google Earth format (.kmz). This provides a powerful and convenient way to package the results from a WEAP analysis to share with others--everything is saved in one file that can be sent via email or posted on a web site for others to download and open in Google Earth. See WebHelp/index.html#Google_Earth.htm for details. See a video demonstration: http://goo.gl/g1YNf
Maximum reservoir outflow: Option to constrain reservoir release due to a maximum hydraulic flow. If there is a hydraulic constraint, specify it on the new reservoir variable "Maximum Hydraulic Outflow" (Category: Physical). Typically this will be function of reservoir elevation at beginning of timestep, which you can access with PrevTSValue(Storage Elevation). Optional--no constraint if blank. Also, no constraint in timesteps when reservoir is completely full--water will overtop reservoir at unlimited rate. See WebHelp/index.html#Reservoir_Max_Outflow.htm
New LP solver: Updated to latest version (5.52) of linear program (LP) solver, which should be faster and more numerically robust. LP Solver version number now listed in Help, About.
Area names with international characters: Fixed bug that prevented WEAP from recognizing WEAP areas with international characters in the name.
Faster zooming on map: Hold down the control key while moving the mouse wheel over any map to speed up zooming in and out
API methods to add and delete scenarios: WEAP.Scenarios.Add("New scenario name", "Parent Scenario") will create a new scenario as a child of the named parent scenario, e.g., WEAP.Scenarios.Add("Larger reservoir", "Supply Measures"). WEAP.Scenario("Scenario name").Delete will delete the scenario, e.g., WEAP.Scenario("Larger reservoir").Delete. If it has children, you must use the optional DeleteChildren parameter set to true, e.g., WEAP.Scenario("Reference").Delete(True)
Trig functions: Version 3 of WEAP had inadvertently redefined the trigonometry function (cos, sin, tan, arccos, arcsin and arctan) to use radians instead of degrees. With this version, they will use degrees again.
Better handling of key assumptions values in Data View: In cases where different key assumptions have the same unit but different scales (e.g., AF and TAF), WEAP now displays the values correctly in Data View charts and tables. (WEAP had always been using the correctly scaled values for calculations.)
Different LP scaling factors: Changed LP scaling factors to fix rare instances of LP infeasibilities.
Fixed bug with daily models with leap days: A bug was preventing WEAP from opening areas that had a daily timestep and leap years turned on.
Turn off catchments: To facilitate catchment calibration, you can temporarily turn off individual catchments to speed up calculations (e.g., turn off all but the few catchments being calibrated). Just set them not active in the Current Accounts with no startup year, and they will not be calculated. The easiest way to turn them on or off: In the Schematic View, go to the menu: Schematic, Set "Active in Current Accounts?" If you want to only activate a few at a time, click "Set All NOT Active" then individually turn on the few that are active.
1/6/11, Version 3.0
Major new version of WEAP released: highlights include:
Scenario Explorer: The Overviews View has been renamed the Scenario Explorer View, and it now comes with a section to create "sliders" for data variables. Move the slider to change the value of the associated data variable, and then recalculate to see the impact on results. Scenarios can be created and managed directly from the Scenario Explorer. Right click on various items for context menus, or choose the Explorer menu. See WebHelp/index.html#Scenario_Explorer.htm
User-defined variables: You can create user-defined variables under the sections for Demand Sites, Supply and Resources, and Water Quality, which you can reference in expressions elsewhere in WEAP. The definition can include default expressions for Current Accounts and Scenarios, allowing for the creation of a calculated variable (vs. a data variable). This is a very powerful feature, as it allows you to easily create your own models within WEAP. Right-click on a Data View variable tab and choose Add New Variable, or from the Edit menu choose Add New Variable. See WebHelp/index.html#User_Defined_Variables.htm
Edit built-in data variables: In addition to user-defined variables, built-in data variables (e.g., Demand Site Consumption) can now be edited. In particular, the default expression for Current Account and Scenarios can be changed. Right click on the variable tab and choose Edit Variable.
Hide data variables: Built-in data variables (e.g., Demand Site Consumption) can be hidden. Right click on tab and choose "Hide," or go to Edit, Data Variables menu. To unhide, select "Show" from these menus and select the variable to unhide.
Data variable report: Get a report of all available data variables, along with their definitions (including unit, default expressions, min and max values). Variables for non-existent objects, e.g., catchments variables if the area has no catchments, are not shown. To view report, go to the menu Edit, Data Variables, Report. The report can be exported to a CSV, ASCII, Excel, Word, HTML or XML file, or to the Windows clipboard.
Customize Result Variables: You may customize WEAP's result variables (e.g., Unmet Demand or Inflows to Area) to some extent. You are allowed to edit the title of a variable or hide it entirely. In the Result View, right click on the result variable selection box at the top and choose Edit Name or Hide. (Or from the Main Menu: Edit: Result Variable) If you have changed the name of a variable and want to reset it to its original value, right click and choose Reset Name to Default. To unhide previously hidden variables, right click and choose Unhide, and then choose the variable to show, or All Variables to unhide all previously hidden variables. Hiding unused variables can be a useful way to simplify a model's appearance, perhaps for display to stakeholders. Note: result variables can still be used in calculations even when hidden (via the PrevTSValue function).
MABIA: New method for catchment hydrology: the MABIA method is a daily simulation of transpiration, evaporation, irrigation requirements and scheduling, crop growth and yields, and includes modules for estimating reference evapotranspiration and soil water capacity. The MABIA Method uses the "dual" Kc method, as described in FAO Irrigation and Drainage Paper No. 56, whereby the Kc value is divided into a "basal" crop coefficient, Kcb, and a separate component, Ke, representing evaporation from the soil surface. The basal crop coefficient represents actual ET conditions when the soil surface is dry but sufficient root zone moisture is present to support full transpiration. In this way, MABIA is an improvement over CROPWAT, which use a single Kc method, and hence, does not separate evaporation and transpiration. It was derived from the MABIA suite of software tools, developed at the Institut National Agronomique de Tunisie by Dr. Ali Sahli and Mohamed Jabloun. For more information about MABIA and to download standalone versions of the software, visit http://mabia-agrosoftware.co For more information about MABIA in WEAP, see WebHelp/index.html#Overview_of_Catchment_Calculation_Methods.htm
Hydropower priority: Hydropower energy demands can be assigned supply priorities, either for individual reservoirs and run of river hydropower, or for the system as a whole. With a priority and energy demand set, WEAP will try to release water from reservoirs in order to meet the energy demands. Many new Result View charts: see Supply and Resources \ Reservoir. See WebHelp/index.html#Reservoir_Hydropower.htm
Hydropower: Hydropower now calculated based on elevation at beginning of month, rather than average of begin and end of month (required for hydropower priority enhancement).
Removed minimum turbine flow variable
PEST Calibration Wizard: Can use PEST (Parameter ESTimation tool) to help calibrate one or more WEAP variables (e.g., parameters for the soil moisture hydrology method), using historical data to calibrate to (e.g., streamflow gauges, reservoir storage records, snowpack data). Go to Advanced, PEST Calibration. See WebHelp/index.html#PEST_Calibration.htm
Reservoir storage data: Enter observed data on reservoir storage for use in calibrating to simulated values for reservoir storage. Enter data under reservoir physical data, variable named "Observed Volume."
Snowpack gauge data: Enter observed data on snow accumulation for use in calibrating to simulated values for snowpack. Enter data, in melt water equivalent, for the catchment on: Climate, Snow Accumulation Gauge.
MODPATH Linkage: WEAP models that are linked to a MODFLOW groundwater model require only additional data on groundwater cell porosity in order to link to the USGS MODPATH groundwater particle tracking model. WEAP can display particle pathlines as 3-dimension vectors. See WebHelp/index.html#Linking_to_MODPATH.htm
Safe Yield Wizard: Optimize and evaluate tradeoffs among human and environmental water supply needs by finding the maximum safe yield for a given WEAP model. For example, you could explore different policies for reservoir release, instream flow requirements and demand management to see what impact they had on the maximum safe yield from the reservoir and on instream flow. See WebHelp/index.html#Yield_Wizard.htm
Pie charts: Pie charts now can be displayed in many more cases than before, including showing multiple pie charts at once (one for each item on the X-axis, such as each year or month)
Chart marks: Individual chart points or bars can optionally be labeled with their value or percent. Click the yellow rectangle in the chart toolbar (on the right side).
Line symbols: Symbols for every data point can be shown on line charts, greatly enhancing legibility for greyscale charts.
Line patterns: Lines on line charts can have patterns (e.g., solid, dots, dashes), to better distinguish them from each other.
Bar and area patterns improved: The appearance of these patterns has been improved.
Advanced chart options: A detailed dialog box will give access to EVERY detail of chart appearance. See the last icon (bottom) on the chart toolbar.
Save chart to file: Export charts to graphic format files (JPG, BMP, PNG, SVP, PDF, GIF, VML/html, EMF, PCX)
Manual scaling: Next to the unit dropdown box (next to chart title), the scale can be set manually. This setting can be saved in a favorite.
Rotate X-Axis labels: X-Axis labels can be displayed horizontally, vertically and diagonally.
Scrolling legend: if the chart legend is too long to fit, a scrollbar will appear
Scale overview charts: Click the "Axis Scale" button (to the right of the overview charts) to use the same scale for every chart's Y-axis. This makes it easy to compare values across charts, e.g., how demand compares to reservoir storage. For MODPATH particle pathline charts, this will also scale the X and Y (or Row and Column) axes.
Transpose tables: Transpose rows and columns in Results View tables (table toolbar icon: circular arrow).
Setting and AreaSetting API functions: Set or get a text value associated with a key (text). Value is stored in file weap.ini in main WEAP directory (Setting), or in area.ini in the area subdirectory (AreaSetting). These files can be a convenient place for the user to store settings (WEAP-wide or area-specific). See WebHelp/index.html#WEAPApplication.htm
New API properties: The following properties have been added for WEAPBranch: ActiveInCurrentAccounts, ID, Parent, ParentID, TypeID, Order. ActiveInCurrentAccounts is read/write; the others are read only. See WebHelp/index.html#WEAPBranch.htm
New API properties: CalledByBranch, CalledByScenario, CalledByTimeStep, CalledByVariable, and CalledByYear. If the script containing these properties are called from an expression using the Call function, they will return, respectively: the WEAPBranch object for the branch that made the call, the WEAPScenario object for the scenario that made the call, the timestep number (from 1 to NumTimeSteps) for the timestep that made the call, the WEAPVariable object for the variable that made the call, and the year number (between BaseYear and EndYear) for the year that made the call. Read only. See WebHelp/index.html#WEAPApplication.htm
New API classes for Timestep, Timesteps: See help ( Advanced Topics, Automating WEAP, WEAPTimestep and WEAPTimesteps Classes ) for more information. See WebHelp/index.html#WEAPTimestep.htm
New API property: Variable.ScaleUnitText: Gets a string containing the scale and units of the variable (works with both data and results variables). See WebHelp/index.html#WEAPVariable.htm
Aggregate or disaggregate: Daily data can be aggregated to match your timestep (e.g., monthly), using one of many aggregation methods (Average, Sum, Median, Minimum and Maximum). In cases where aggregate data needs to be disaggregated, such as extracting a daily time series from monthly climate data, one of many disaggregation methods can be used (Interpolate, Repeat, Divide, Divide with Gaps).
Missing data values: WEAP better handles missing values when reading data from a text file. See the help topic "ReadFromFile" for details. An optional fourth parameter to ReadFromFile specifies how to handle missing values. The options are: Interpolate, Repeat, Replace, Mark as Missing. Interpolate: linear interpolation from values before and after. Repeat: repeat the previous value. Replace: replace with the number specified as the 5th parameter (defaults to 0 if not given). Mark as Missing: the value will be -9999, which is the special value for missing values. A value of -9999 will not be shown on the graph or used in gauge comparisons. However, for all other calculations requiring a value, an error will occur.
Save to CSV options: new options to transpose rows and columns and to save in a format compatible with the ReadFromFile function (e.g., Year, Timestep, DataColumn1, DataColumn2, ...)
List separators in ReadFromFile: ReadFromFile will now use the Windows ListSeparator character when reading from CSV files. However, you can override this setting by using the $ListSeparator directive in your CSV file. For example, to use & as the list separator, add the following line to the beginning of the CSV file: $ListSeparator = & In this way, you will guarantee that the files can be read on any system, regardless of their setting of the Windows ListSeparator character.
Comments: Comment lines do not need to start with ; or # Any line that doesn't start with a number is considered a comment and is ignored.
ReadFromFile Date Format: Use the $DateFormat directive in a CSV file to specify the date format for daily data to be read in ReadFromFile, e.g., $DateFormat=mm/dd/yyyy This will avoid depending on the Windows system date format, which can vary from country to country.
CSV Export: Tables exported to CSV files can now have an unlimited number of columns (previously, the limit was 256, taken from Excel's 256 column limitation, for versions of Excel prior to 2007). The API method WEAP.ExportResults has a 4th parameter: set to true to export in ReadFromFile format. It is optional, and will default to false.
ReadFromFile: If you leave some parameters blank, WEAP will use the default values. E.g., for ReadFromFile(Filename , , YearOffset), WEAP will use the default value of 1 for the second parameter (DataColumn).
Column limit: Increased maximum number of columns that can be read from a CSV file from 1000 to 20,000.
Arccos and Arcsin: These two inverse trig functions now return an angle in degrees, not radians.
New function "Between": Between can be used in expressions to test if a value is between two other values. Between(x, LowerBound, UpperBound) can be used instead of And((x >= LowerBound), (x <= UpperBound)) See WebHelp/index.html#Between.htm
IsBlank function: The IsBlank function returns True if there is no expression entered for the named Branch:VariableName. Note: if there is an expression entered for a parent scenario (or Current Accounts), IsBlank will be false. See WebHelp/index.html#IsBlank.htm
Refer to Effective Precip: Can now refer to the results for effective precipitation (including effects of snow accumulation and snowmelt), e.g., PrevTSValue(Agriculture Catchment:Effective Precip for ET[m])
Random(LowerBound, UpperBound): Returns a different random real number, between LowerBound and UpperBound, for each timestep. If not specified, the lower and upper bounds default to 0 and 1. The value returned is a random but repeatable value for any given branch, scenario, year and month. This means that the numbers will be the same each time a scenario is calculated (for a given branch, year and timestep). See WebHelp/index.html#Random.htm
RandomInteger(LowerBound, UpperBound): Returns a different random integer, between LowerBound and UpperBound, for each timestep. If not specified, the lower and upper bounds default to 0 and 1. The value returned is a random but repeatable value for any given branch, scenario, year and month. This means that the numbers will be the same each time a scenario is calculated (for a given branch, year and timestep). See WebHelp/index.html#RandomInteger.htm
Random normal distribution: New function for use in expressions: RandomDistribution(Mean, StandardDeviation) produces random numbers with Gaussian distribution about the Mean. This is useful for simulating data with sampling errors and expected deviations from the Mean. See WebHelp/index.html#RandomDistribution.htm
Errors in expressions flagged: If the result of an expression is undefined (such as Log(0), which WEAP displays as NAN, or Not A Number), an entry will be made in the list of errors and warnings on the Messages tab in the Results View.
Check for invalid branches: During calculations, all branch references in expressions are checked for validity. (This will catch references to branches that have been deleted.)
Better error messages for expressions: Error messages are now more informative
New expression constant for missing value: MissingValue evaluates to -9999. For example, If(Catchment:Precipitation = MissingValue, 0, Catchment:Precipitation) See WebHelp/index.html#MissingValue.htm
Sped up ponding/rice calculations
Fixed bug in catchment ponding/rice: In cases when the surface storage was above the Minimum Depth (and therefore no need for irrigation), there still should have been a demand for the release requirement (if any).
Snow melt: Now using Latent Heat of Fusion (334 kJ/kg) instead of Latent Heat of Vaporization (2260 kJ/kg, at 100 C) for snow melt algorithm in submonthly models. For already calibrated models, you may want to continue using Latent Heat of Vaporization. To make this change, go to General, Basic Parameters. See WebHelp/index.html#BasicParameters.htm
Ignore irrigation data on catchments not marked as having irrigation: If a catchment had been marked as having irrigation and irrigation data had been entered for some of its branches, and then the user later turned off irrigation for the entire catchment (from the Schematic View), WEAP was still computing irrigation supply requirements and if the catchment still had a transmission link, was supplying water to meet the requirement. This bug has been fixed.
Error checking on upper and lower irrigation thresholds: WEAP now requires that lower threshold is less than upper threshold
Refer to catchment and demand site results in expressions, including sub-branches: Various catchment results (interflow, base flow, surface runoff, evapotranspiration, snow melt, snow accumulation, irrigation) and demand site results (water demand, supply requirements) can now be referenced using PrevTSValue in expressions. In the Expression Builder, drag the branch down to the expression edit box to choose from a list of all data and result variables. You can refer to results from any level of the demand tree, e.g., catchments as a whole or land class branches underneath catchments. If a referred branch has several subbranches, they will be totaled automatically.
Windows 7 and 64-bit Windows Compatible
Transmission link terminology: On the Data View tree, the branch for transmission links has been renamed from "Supply and Resources\Linking Demands and Supply" to "Supply and Resources\Transmission Links"
Other Supply inflow to Reservoir or River: To have a supply source of type Other Supply flow into a reservoir (e.g., to model a desalination plant whose output is stored in a reservoir) or to a river, use a transmission link to connect the Other Supply to the Reservoir or River. The flow in the Other Supply will not flow along the transmission link unless there is a downstream demand that requests it, including the reservoir filling demand.
Sub-annual variation of priorities: Priorities for demand sites, flow requirements and reservoirs (separately for filling and for hydropower) may now vary by timestep (e.g., monthly), via the expression for the priority variables in the Data View.
Negative groundwater recharge: For groundwater nodes, "Natural recharge" variable is now allowed to be less than zero, for example, to model lateral outflow from an aquifer to another aquifer outside the system.
Improved result view display of user-defined variables: Sped it up and eliminated extraneous branches from displaying.
Selecting river nodes: River node and reach names, when selecting which to display in the Results View, now correspond with the names given in the chart legend.
Leap years: An option to add an extra day for February 29 in leap years (e.g., 2000, 2004, 2008). Go to General, Years and Time Steps and check "Add Leap Days?" If the time step is daily (365 time steps per year), there will be 366 time steps in the leap years. Otherwise, the time step that includes February 28th will have an extra day in leap years. See WebHelp/index.html#Years_and_Time_Steps.htm
Create MODFLOW file for all WEAP timesteps: WEAP will create one aggregate MODFLOW input file for each scenario, in which each WEAP timestep becomes a MODFLOW stress period. Data for the RIV, RCH, WEL and DRN packages will be aggregated for all timesteps. Each scenario also includes data for the Current Accounts year. Each multi-stress period MODFLOW input file (one per scenario) can be run outside of WEAP to create a MODFLOW results file that spans the entire WEAP study period. The MODFLOW file will be named with the original MODFLOW filename, with _S## appended on the end, where ## is the number of the scenario (Current Accounts = 01, the first scenario will be = 02, etc.). For example, if the original MODFLOW name file was Tutorial.NAM, the aggregate MODFLOW name file for the reference scenario would be Tutorial_S02.NAM.
Diversion flow from reservoirs: A diversion can now flow directly out of a reservoir. To do this when creating a diversion, drag the diversion symbol from the legend and drop it on the reservoir. If the diversion already exists, drag its headflow point and drop it on the reservoir.
WARNING: After you read a WEAP area with this new version, that area CANNOT be read with an older version of WEAP (prior to August 2008). Therefore, if you will be giving your datasets to other people, they must also update to at least this version of WEAP.
6/16/08, Version 2.2054
New background layer point symbols: For background GIS layers that have points (as opposed to lines or polygons), many symbols are now available for displaying the points. To change the symbol displayed, double click on the background layer in the legend and choose the Appearance tab of the Map Layer dialog box.
Greek version: The WEAP program has been translated into Greek by Spyros Michas.
Russian Help: The online help has been translated into Russian by Andre Savitsky.
5/31/08, Version 2.2052
Widespread release to all WEAP users
Handles OPEN/CLOSE and EXTERNAL in MODFLOW files: WEAP can now handle OPEN/CLOSE and EXTERNAL in MODFLOW input files, in any format (FREE, fixed or BINARY).
5/30/08, Version 2.2051
Fixed bug with display of Soil Moisture results
5/25/08, Version 2.2050
VolumeToElevation and ElevationToVolume: Improved error checking; documented in help file.
5/19/08, Version 2.2048
VolumeToElevation and ElevationToVolume functions: New functions for expressions to convert between reservoir volume and elevation, using the Volume-Elevation curve data. Here is an example that uses elevation data (in feet) to set the Top of Conservation zone data: ElevationToVolume(MonthlyValues(May, 625.0, Jun, 625.0, Jul, 610.0, Aug, 610.0, Sep, 630.0, Oct, 630.0, Nov, 625.0)) Assumes the elevation and volume units are those as set for reservoirs under General, Units, Reservoir. See WebHelp/index.html#VolumeToElevation.htm
5/15/08, Version 2.2047
Paste multiple values into expressions: Paste a vector of annual or monthly values from Excel or other programs. Also, paste a volume-elevation array into the Volume-Elevation Curve tab for a reservoir.
5/12/08, Version 2.2045
Individual result files: In order to accommodate very large models, the results file are now split into many smaller files. This should allow larger models to be calculated, as well as faster access to result tables and charts in the Results View.
4/9/08, Version 2.2039
Sped up calculations a bit
4/7/08, Version 2.2038
Terminology change: "revenue" broadened to "benefit." Benefits can include revenues, or other positive impacts, such as the value of ecosystem services.
Smaller results files: automatic packing of results file will save disk space and speed viewing of results.
Reduced memory use: WEAP now uses less memory (RAM) during calculations, especially on larger datasets.
API LoadOverview: Using the API, use WEAP.LoadOverview(overviewName) to load a previously saved overview.
API ExportResults to Excel: ExportResults can save to either a CSV or Excel file, depending on the extension for the file name you give. E.g., WEAP.ExportResults(C:\Overview.xls) or WEAP.ExportResults(C:\Groundwater.csv). Also, you can now export results from the Overview View.
4/1/08, Version 2.2037
Handles PARAMETERs in MODFLOW files: WEAP can now handle PARAMETERs, including time-varying parameters (with instances), for the following MODFLOW packages: WEL, DRN, RIV, RCH.
Handles OPEN/CLOSE in MODFLOW files: WEAP can now handle OPEN/CLOSE in MODFLOW input files. For now, it can only read in FREE format files, but soon will also be able to handle formatted and binary files, in addition to EXTERNAL files.
3/21/08, Version 2.2036
New reservoir evaporation report
3/14/08, Version 2.2034
Terminology: Renamed "Leaf Area Index (LAI)" to "Runoff Resistance Factor." Runoff Resistance Factor incorporates factors such as LAI and land slope to determine surface runoff. Higher values of Runoff Resistance Factor lead to lower values of runoff.
Fixed bug with startup year
3/7/08, Version 2.2033
Fixed bug with PrevTSValue: There was a problem with complex PrevTSValue expressions.
3/5/08, Version 2.2032
Fixed bug in startup year: Scenario were incorrectly inheriting the "Startup year" value from their parent scenario.
3/4/08, Version 2.2031
Cloudiness fraction for catchments: New variable "Cloudiness fraction" for catchments and river reaches (on which river water temperature is calculated), to help refine the calculation of net solar radiation.
New API property Branch.Variable: Can be used to refer to a named variable for a branch, e.g., WEAP.Branch("\Demand Sites\South City").Variable("Consumption").Expression = 30
3/2/08, Version 2.2029
Select branches in Results View: Choose a subset of branches to display in the Results View.
3/1/08, Version 2.2028
Catchment results in mm: See catchment results (e.g., Land Class Inflows and Outflows) in terms of depth, such as in mm, in addition to volume (cubic meters) and flow (cubic meters per second) units.
2/26/08, Version 2.2024
New API functions BranchExists and VariableExists: Test if a branch or variable exists from the API, e.g., IF WEAP.BranchExists("\Demand Sites\Big City") THEN ..., or IF WEAP.Branch("\Demand Sites and Catchments\Upper Watershed").VariableExists("Wind") THEN ...
Incremental calculation in the API: The API function Calculate now takes optional parameters to specify how far to calculate. E.g., WEAP.Calculate(2005, 6) will stop calculations at the 6th timestep of 2005.
2/7/08, Version 2.2019
Handles irregular MODFLOW grids: When creating a shape file to link the WEAP model to the MODFLOW model, WEAP will now handle irregular MODFLOW grids (where the rows or column widths vary). Also, it can handle either UTM and latitude/longitude shape files.
2/4/08, Version 2.2018
Display results in units of flow (e.g., CFS): For any results in the Results View that use volume units, such as cubic meters or acre feet (e.g., Streamflow, Supply Requirement), the results can now be display also in flow units (e.g., cubic meters per second or cubic feet per second).
1/29/08, Version 2.2016
Support of confined and multi-aquifer systems (MODFLOW): On the "Link to MODFLOW" screen, click the "Define Aquifers" button to specify which MODFLOW layers should be grouped into which aquifers. In the Results View, there are two new reports in the MODFLOW section: "Groundwater Inflows and Outflows by Layer" (available only if the MODFLOW model has more than one layer) and "Groundwater Inflows and Outflows by Aquifer" (available only if the MODFLOW model has more than one layer and you have created more than one aquifer).
Improved inflows and outflows reports: these reports (such as Groundwater Inflows and Outflows) now have more details on flows; choose "Selected Sources and Destinations" above the legend to choose a subset to display
12/16/07, Version 2.2014
Climate data can vary by land use: One can choose whether all land use branches within a catchment will have the same climate data, or whether each branch can have different climate data. This second option might be necessary if there is a large variation in the elevation among different land uses with a catchment. Alternatively, the catchment could be divided into several different catchment nodes according to elevation, so that the climate within each catchment did not vary by land use. Go to General, Basic Parameters to make the choice.
12/15/07, Version 2.2013
Speed up for API: Making WEAP not visible (WEAP.Visible = False) now results in faster calculations when using the API.
12/12/07, Version 2.2011
Create MODFLOW linkage shape file in WEAP: Using parameters from the MODFLOW discretization file and user-supplied parameters, WEAP can create a GIS shape file that can be used to link a WEAP model to a MODFLOW model. This means that separate GIS software, such as ArcMap, is not required to link MODFLOW to WEAP. Go to General, MODFLOW Link. Click button "Choose shape file that...." Choose < Create new shape file > under "Background shape file with MODFLOW linkage information"
Access to MODFLOW results in expressions: To access MODFLOW results for individual cells, use PrevTsValue(MODFLOWVariableName[layer, row, column], ...), for example, PrevTSValue(Cell Head[1,57,30], 1, 12, 2) will give the minimum value of the cell head elevation for layer 1, row 57, column 30 over the previous twelve months. In API, use WEAP.ResultValue(MODFLOWVariableName[layer, row, column], ...), for example, WEAP.ResultValue("Cell Head[1, 57, 30]", 2005, 1)
11/27/07, Version 2.2009
Individual result values in status bar: Move the mouse over any line or bar in a chart (in the Data View, Results View or Overview View) and its value will be displayed in the WEAP status bar below. (No need to click the mouse.) See a video demonstration: http://screencast.com/t/yDbr97xSTCb
Schematic elements named in Status bar: Move the mouse over any WEAP element (e.g., Demand Site, River, Reservoir) in the Schematic View and its name will be displayed in the WEAP status bar below. (No need to click the mouse.)
Zoom and pan result charts: To zoom in on charts in the Data and Results Views, hold down the control key and click and drag a rectangle on the chart. To zoom in, click and drag from upper left to lower right. To zoom back out again, click and drag from lower right to upper left. When zoomed in, hold the shift key and click and drag to pan the chart. These shortcut keys--control drag to zoom, shift drag to pan--also work on the Schematic.
Easily change labels for background layers: Right click on a background layer name (e.g., Country) and choose the label to use on the "Set label to" menu.
Edit shape file data: Double click the background layer name in the Schematic to edit the values in its attribute table. See a video demonstration: http://screencast.com/t/kMvbqgwFx
MODFLOW Tutorial: New chapter of Tutorial on MODFLOW with matching dataset: Tutorial
10/31/07, Version 2.2003
Circular reference error: Improved diagnostic error reporting for circular references
New expression constants: In addition to the constants (which can be used in expressions) Y, Year, PrevYear, Month, TS, and Days, new constants have been added: DaysBefore, JulianDaysBefore and TotalDaysBefore
10/25/07, Version 2.2001
Trig functions: Added arccos, arcsin and arctan
9/21/07, Version 2.2
Major new version of WEAP released: highlights include:
Link to MODFLOW: Link WEAP's groundwater nodes to one or more MODFLOW groundwater cells for detailed modeling of groundwater.
Link to QUAL2K: Calculate instream water quality using the US EPA model QUAL2K. Constituents modeled include: Ammonia, nitrate, organic and inorganic phosphorous, algae, sediment, pH and pathogens.
Call DLL functions from WEAP expressions: To call a dll function, use the following syntax: Call( DllFileName ! DllFunctionName, parameter1, parameter2, ...)
Refer to result values in data expressions: Using PrevTSValue function, results from the previous timesteps can provide feedback for data expressions. Results include: Demand Site: Supply Requirement, Supplied, Coverage, Unmet Demand, Reliability; Transmission Link: Flow; River nodes and reaches: Streamflow; Reservoir: Storage Volume, Storage Elevation, Hydropower; Flow Requirement: Requirement, Requiremend Delivered, Requirement Coverage; Groundwater: Storage; Return Flow: Flow
Rice paddy module: Track requirements for and hydrological effects of ponding / flooding in rice cultivation (and wetlands).
Infiltration basins and retention ponds: Seepage losses from reservoirs can be significant, particularly in lakes and unlined reservoirs. To model these losses, specify the groundwater node and flow to it for each timestep. Net gains from groundwater to the reservoir should be entered as negative numbers. You can also model infiltration basins and retention ponds, which can be used for artificial recharge of aquifers.
Tiered water pricing: Added function BlockRate for tiered pricing structure of demand site customer water charges.
Combined sewer overflows (CSO): Model CSOs by routing a catchment's stormwater runoff to a wastewater treatment plant, which can overflow if its maximum treatment capacity is exceeded.
Key Assumptions in Results View: Display one or more user-defined variables from Key Assumptions in the Results View.
Return flow gain from groundwater: Infiltration from groundwater into the return flow link, typically via cracked pipes, can lead to sewer overflows and increased wastewater treatment costs.
Rivers can now flow into groundwater nodes: drag the endpoint of a river and drop it on top of an groundwater node to connect them. (WEAP will ask you if you want to connect them.) Once connected, any water that flows out of the last river reach will flow into the groundwater node.
Transmission and return flow link losses to groundwater: transmission links and return flow links have two variables for losses: "Loss from System" and "Loss to Groundwater," each entered as a percent of flow through the link. Loss from system will disappear, whereas Loss to Groundwater will flow into the named groundwater node.
Units shown for variable references: WEAP now shows the unit, and allows scale and unit conversions, when referring to variables in data expressions. This should greatly reduce the incidence of conversion errors.
Faster calculations: Calculations take less time now to complete, especially on computers with at least 512 MB RAM.
Scenario comparison: In Results View, see the difference between one scenario and one or more other scenarios.
Multiline expressions: When editing expressions in the Expression Builder, you can add line breaks to enhance readability for complex expressions.
Renormalize monthly data: The Monthly Time Series Wizard now has a "Renormalize" option, to proportionally change all values so that they sum to 100%.
Wastewater Treatment Plant Overflow Report: Overflow is defined as inflow to a wastewater treatment plant that exceeds its capacity.
View input data in Results View: Access all data inputs on Result View charts, tables and maps.
Change Y-axis origin: Whereas previously, the y-axis of all graphs always started at 0, now there is an option to use the minimum value as the origin. This will exaggerate changes on the graph--thus making it easier to see differences, but potentially misleading. Click the "Y=0" button on the toolbar to the right of the graph to toggle the Y-axis origin.
Language Translations: full or partial translations into Chinese, Korean, French, Spanish, Portuguese, Arabic, Farsi, Russian and Thai.
8/5/05, Version 2.0016
Financial planning module: Attach revenues, capital costs and operating costs to individual elements (demand sites, transmission links, return flow links, wastewater treatment plants, groundwater sources, reservoirs, etc.), either as fixed annual costs or as costs per unit of water. Other uncategorized costs can be entered as "other system costs" (capital, operating and revenue). All of these annual costs could vary by year or by scenario. Use LoanPayment function to calculate loan payments on capital costs. Results include net costs, average cost of supplied water, and net present value.
Water quality inflow constraints: Set optional constraints on maximum concentration of inflow to a demand site, from all sources mixed.
Water quality gauge data: Enter data for water quality concentrations at various points in the river. WEAP will display a report comparing these data with model results. This ability is similar to the current option for entering water flow data in streamflow gauges, for reporting.
Disaggregated pollution generation: Data on demand site pollution generation, either by intensity or concentration, can now be entered at any level of disaggregation under the demand site level on the tree.
Running count of model elements: The legend on the Schematic View shows the total number of each element defined, e.g., if 5 demand sites exist, it will read Demand Site (5).
Save small models in evaluation version: The unregistered evaluation version of WEAP can now save small models--up to 6 nodes and 3 rivers.
6/8/05, Version 2.0005
New version of WEAP released: highlights include:
Hydrologic models: Using data on climate and land use, WEAP can model runoff, infiltration, baseflow, evapotranspiration, irrigation requirements and crop yields from catchments.
Two hydrologic models are available: a simplified model using the FAO crop requirements method, and a more detailed model which tracks soil moisture in two soil layers via a lumped-parameter hydrologic representation.
Surface water/groundwater interactions: Simulate flows between surface water and groundwater, based on their head difference and various aquifer parameters.
Instream water quality: Models for water temperature, BOD, DO, conservative substances (e.g., salt) and non-conservative substances (which follow first-order exponential decay) in river reaches.
Wastewater reuse: Wastewater return flows from demand sites and wastewater treatment plants can be used directly by other demand sites.
View results on the map: Results from one or more variables (e.g., demand, streamflow, water quality, reservoir storage) can be displayed on the map, both in numerical form and as varying widths/sizes of elements (e.g., demand sites, reservoir, river reach lines).
Automatic data backup: WEAP maintains multiple versions of each dataset (as it changes over time), which can be useful in case of data corruption or a desire to undo many changes.
Multilingual: English, French and Korean, with partial translations into Chinese, Spanish and Portuguese.
4/8/05, Version 1.0435
Area Save As: Save open area, along with any as yet unsaved changes, to a new area. Main menu: Area, Save As...
Automatic versioning of areas: WEAP will automatically keep multiple versions of each area's data so that you can revert to a previous version.
Create milestone copy: Save a version of the area (with an optional comment). Main menu: Area, Save Version...
Revert to previous version: Discard the current version of an area's data and replace with a previously saved version. Can be used to easily undo all changes made since last save. Main menu: Area, Revert to Version
4/7/05, Version 1.0434
Exclude results: When backing up or emailing an area from Manage Areas, there is now the option to exclude the result files to save space.
3/10/05, Version 1.0418
Batch export and import of data expressions to/from excel: After exporting to workbook, you can modify the expressions and then import them back into WEAP. With autofilter turned on, Excel becomes an excellent way to view the expressions, perhaps better than the text Data Report.
2/3/05, Version 1.0404
Map multiple results: Multiple variables can be mapped at once in Results View (on the Map tab)
1/28/05, Version 1.04
Wastewater reuse: (transmission link from one demand site to another demand site, or from a wastewater treatment plant to a demand site) This change necessitates two new variables--Demand Site Consumption and Wastewater Treatment Plant Consumption--and a redefinition of return link routing fractions (now they are as a fraction of outflow, not a fraction of inflow)
Flow duration curve: aka exceedance graphs
View "data" variables in the results view: e.g., Reservoir top of conservation pool
User-defined results tables: In the Overview View, you can now see all the numbers behind the graphs
View results on the map: In the Results View, there is now a map tab. Move the slider below the map to animate it over time. Click the chart icon on the right to see the variable graphed below.
11/11/04, Version 1.0351
Catchment runoff symbol: a new symbol on the legend for catchment runoff--blue dotted line, instead of a red return flow link.
Specify catchment inflow: You can specify on the General Info for a catchment which river it flows into, whether that inflow represents the headflow for that river, which groundwater node (if any) receives recharge from the catchment, and whether it includes any irrigated areas.
Catchment runoff as headflow: If a catchment is the headflow for a river, you cannot also enter data for that river's headflow. This prevents double counting.
4/16/04, Version 1.0342
Read from file with dates: You may specify data dates in files to be read using ReadFromFile using mm/dd/yyyy syntax, in addition to having the year be in column 1 and the time step in column 2. (This only works if your timestep is monthly or daily.)
3/19/04, Version 1.0327
Turn off automatic calculation: In the Data View, go to the Main Menu: Edit, Automatic Calculation to turn on or off calculation and display of results in the Data View (does not affect Results View). If Auto Calc is off, hit F9 to do a calculation (this will not turn auto calc back on).
1/23/04, Version 1.0304
Graph river results according to distance downstream: In results, all river reports (e.g., streamflow, gauges, surface water quality) can display the results along the X axis spaced proportionally to their distance along the river. Choose "Nodes and Reaches" for the X axis dimension, then check off "Represent true relative distance?"
1/2/04, Version 1.031
River Reach Length report: in Results, choose: Supply and Resources, River, Reach Length. Reach Length is used in calculating temperature, BOD, DO, and other water quality constituents that decay
12/31/03, Version 1.0299
Order branches alphabetically: When sorting branches in the tree (right-click on a branch), you can choose "Sort by Name (all levels below)" or "Sort by Name (just one level below)". For example, to order the list of demand sites alphabetically, but leave each demand site's sector branches unsorted, right-click on "Demands Sites" branch and choose "Sort by Name (just one level below)".
10/28/03, Version 1.0292
Reservoir priorities: priorities (on order of filling and releases) can now change over time, similar to demand sites and flow requirements.
9/23/03, Version 1.0285
Branches flash on map: In Data View, when you click on a branch in the tree, the corresponding object in the schematic will flash on the inset map (below the tree).
8/25/03, Version 1.028
Reservoir Elevation report
7/22/03, Version 1.0264
Mouse wheel: Use mouse wheel to zoom in and out of schematic.
7/3/03, Version 1.0257
Help button for data variables: Click the "Help" button (next to the description of the variable) for help on current data variable.
6/27/03, Version 10255
Enter monthly demand: Option to enter monthly demand directly, rather than enter annual demand and monthly variation. Choose "Specify Monthly Demand" for the Method on the Advanced button in the Data View. You may use ReadFromFile function (see description below) to read in monthly demands from a file for multiple years.
5/30/03, Version 1.0234
Land class area report: New report that details area by catchment and land class. Choose Levels = 2 to see land class detail. Then check the "Group?" box to see subtotals by land class.
5/23/03, Version 1.0231
Patterned charts: charts with more than twenty items in the legend use patterns to differentiate the bars.
Restore area from FTP site: Go to Manage Areas, click the Restore button, then enter your ftp site in the "File Name" box to browse for a WEAP area file to restore. For example, enter ftp://exchange.tellus.org/WEAPAreas and you should be able to see Weaping River Basin.zip
4/7/03, Version 1.0224
New Flow Requirements reports: three new flow requirements reports have been added: Instream Flow Requirement, Instream Flow Requirement Delivered, and Unmet Instream Flow Requirement. They can be found grouped with the other Demand reports. (Previously, the Flow Requirement Coverage report was under Supply and Resources, River.)
4/3/03, Version 1.0223
Fixed "Table is full" error: increased the maximum size of the results file from 128MB to 1 GB.
3/31/03, Version 1.0221
New Manage Areas: greatly enhanced the "Manage Areas" screen.
Minimal diversion: Modified behavior of diversions, so that WEAP will not divert more than is requested on the diversion. (Essentially, there is now a priority 100 (i.e., last) iteration in which the flows diverted from rivers into diversions are minimized (subject to the constraints of how much needs to be diverted, based on instream flow requirements and offstream demands on the diversions).)
Temperature and Observed Precip reports: Results View, Land Use, Yates Runoff Method, Temperature and Observed Precipitation. Look at monthly averages to compare climate change.
Flow from Groundwater into River report: For flows surface water-groundwater interactions modeled, see Supply and Resources, Groundwater, Flow from Groundwater into River. (Negative values represent flows from river into groundwater.)
Monthly averages: When viewing result charts with time along the x-axis, click the "Monthly Average?" checkbox above the chart to see the average for each month.
Interrupt calculations: Calculations can be stopped via a Cancel button.
Changes logged: The text file Changes.txt (stored in the subdirectory for a WEAP area) has a record of every change made to data, in the order the changes were made, along with who made the change.
User login: Users enter their initials when WEAP starts, so that changes to data can be associated with the person who made them.
User-defined units: To add new units, go to the main menu and select General, Units, then click the "Units Definitions" button.
Statistics: When viewing tables of results in the Results View, click the "Stat" button on the right to see the minimum, maximum, average, standard deviation and root mean square.
Browse map data: To view the data associated with a GIS layer (*.shp files), right-click on the layer name, then select Edit to go to the Edit Layer window. Click the "Browse Data" button to see data for all map elements, or click on an element in the map to see its data in the grid to the left of the map.
Monthly variation of demand: Each branch within a demand site can have a different monthly variation. On the main menu, select General, Basic Parameters.
Streamflow gauges: Use the streamflow gauge objects to facilitate comparing calculated and observed streamflow. On the schematic, place a gauge on a river. Edit its data to specify observed flow, typically using the ReadFromFile function. In results, look at the Supply and Resources, River, Streamflow Relative to Gauge report to compare.
Variable Time Step: The time step can be set anywhere from one day to 365 days. Every year and scenario in an area must have the same time step. Go to the main menu and select General, Years and Time Steps.
Variable water year start month: The water year can start on any month. Go to the main menu and select General, Years and Time Steps.
Group small results into "All Others": If there are more than 12 items in the results legend, you can click the "Grp" button on the right to group the smallest items together.
Turn off individual scenarios: To show or hide results for individual Scenarios, go to the menu main and select Area, Manage Scenarios, then check or uncheck "Show Results for Scenario" for each scenario. If this box is unchecked, then WEAP will not calculate results for that scenario.
ReadFromFile function: Use the expression ReadFromFile(FileName, ColumnNumber) to import monthly or annual data. The file should be an ASCII, comma separated value file, with the year in the first column, month in the second column (for monthly data), then one or more data columns. In the ReadFromFile function, the first data column is ColumnNumber = 1.
Annual totals: In the Results View, you can sum monthly results to see Annual Totals--check the "Annual Total" box in the chart subtitle (Years must be selected for the X-axis).
Disaggregated Demand results: On the Water Demand and Supply Requirement reports, use the "Levels" button (located underneath the report title) to show more or less detail. For example, on Weaping River Basin results, choose "All Branches" for the legend. Level 1 shows demand for each demand site; Level 2 disaggregates demand by agricultural county and crop type (Agriculture West), industrial water use (Industry East), irrigation technology (Agriculture North), and single and multi family (South City). When Levels is greater than 1, a "Group?" checkbox appears, that will group together branches with the same name. Set Levels = 3 and check Group?, to see that Flood Irrigation consumes nearly 50% of the total Weaping River Basin demand in the Current Accounts.
Wastewater Treatment Plant capacity: Wastewater Treatment Plants can have a maximum processing daily capacity.
Save or print schematic as graphic: The Schematic can be copied to the Windows clipboard, for pasting into Word or other applications. In the Schematic View, go to the menu main and select Schematic, Copy Schematic to clipboard.
Reservoir priorities: Reservoir can be assigned supply priorities, which are used to determine the order in which they are filled. They default to 99--the lowest priority.
Data Report: A "Data Report" lists all data for the active scenario. In Data View, click "Data Report" button in upper right corner of screen.