|
| 1 | +------------------------------------------------------------------------------- |
| 2 | +Switch 2.0.1 |
| 3 | +------------------------------------------------------------------------------- |
| 4 | + |
| 5 | +- General |
| 6 | + - Switch is now compatible with Pyomo 5.6+ (in addition to earlier |
| 7 | + versions). |
| 8 | + - A new --no-post-solve option prevents all post-solve actions (e.g., saving |
| 9 | + variable results). |
| 10 | + - If the user specifies --reload-prior-solution, Switch now behaves as if it |
| 11 | + had just solved the model, i.e., after loading the solution, it runs post- |
| 12 | + solve code unless --no-post-solve is specified (useful for re-running |
| 13 | + reporting code), and it only drops to an interactive Python prompt if the |
| 14 | + user also specifies --interact. |
| 15 | + - A new --no-save-solution disables automatic solution-saving. This saves |
| 16 | + time and disk space for models that won't need to be reloaded later. |
| 17 | + - New --quiet and --no-stream-solver arguments cancel --verbose and |
| 18 | + --stream-solver. |
| 19 | + - A new "--save-expression[s] <name1> <name2> ..." argument can be used to |
| 20 | + save values for any Pyomo Expression object to a .tab file after the model |
| 21 | + is solved (similar to the automatic saving of variable values). This also |
| 22 | + works for Param objects. |
| 23 | + - The --include-module(s), --exclude-module(s), --save-expression(s), |
| 24 | + --suffix(es) and --scenario(s) flags can now be used repeatedly on the |
| 25 | + command line, in options.txt or in scenarios.txt. The include and exclude |
| 26 | + options will be applied in the order they are encountered, in options.txt, |
| 27 | + then scenarios.txt, then the command line. |
| 28 | + - A new --retrieve-cplex-mip-duals flag can be used to support retrieving |
| 29 | + duals for a MIP program from the cplex solver (users must also turn on the |
| 30 | + "duals") suffix. This flag patches the Pyomo-generated cplex command |
| 31 | + script to pass the "change problem fix" command to the solver and then |
| 32 | + solve a second time. This fixes integer variables at their final values, |
| 33 | + then re-solves to obtain duals. This flag is not needed with the cplexamp |
| 34 | + solver. |
| 35 | + - A new balancing.demand_response.iterative module has been added. This was |
| 36 | + formerly in the Hawaii regional package. This moduel performs iterative solutions with any convex demand system, based on a bid-response |
| 37 | + process. |
| 38 | + - New indexed sets have been added to allow efficient selection of groups of |
| 39 | + generators that use a particular technology, fuel or non-fuel energy |
| 40 | + source: GENS_BY_TECHNOLOGY, GENS_BY_FUEL, GENS_BY_NON_FUEL_ENERGY_SOURCE. |
| 41 | + - Generator capacity data is saved to gen_cap.tab instead of gen_cap.txt and |
| 42 | + rows are sorted if user specifies --sorted-output. |
| 43 | + - Even if a model has solver warnings, results will be reported and |
| 44 | + post-solve will be performed if a valid solution is available. |
| 45 | + - A more descriptive warning is given when switch_model.reporting finds an |
| 46 | + uninitialized variable. |
| 47 | + - A warning is given about potential errors parsing arguments in the form |
| 48 | + "--flag=value". Python's argument parsing module can make mistakes with |
| 49 | + these, so "--flag value" is a safer choice. |
| 50 | + - Switch now monkeypatches Pyomo to accelerate reloading prior solutions. |
| 51 | + Previously Pyomo 5.1.1 (and maybe others) took longer to load prior |
| 52 | + solutions than solving the model. |
| 53 | + - At startup, "switch solve-scenarios" will restart jobs that were |
| 54 | + previously interrupted after being started by the same worker (same |
| 55 | + --job-id argument or SWITCH_JOB_ID environment variable). Note that |
| 56 | + workers automatically pull scenarios from the scenario list file until |
| 57 | + there are none left to solve, and avoid solving scenarios that have been |
| 58 | + pulled by other workers. Each worker should be given a unique job ID, and |
| 59 | + this ID should be reused if the worker is terminated and restarted. The |
| 60 | + new behavior ensures that jobs are not abandoned if a worker is restarted. |
| 61 | + |
| 62 | +- Upgrade scripts |
| 63 | + - The upgrade scripts now report changes in module behavior or renamed |
| 64 | + modules while upgrading an inputs directory. This only reports changes to |
| 65 | + modules used in the current model. |
| 66 | + - The hawaii.reserves module is automatically replaced by |
| 67 | + balancing.operating_reserves.areas and |
| 68 | + balancing.operating_reserves.spinning_reserves in the module list. |
| 69 | + - The hawaii.demand_response module is replaced by |
| 70 | + balancing.demand_response.iterative and hawaii.r_demand_system is replaced |
| 71 | + by balancing.demand_response.iterative.r_demand_system in the module list. |
| 72 | + - "switch_mod" will not be changed to "switch_modelel" if a module file is |
| 73 | + upgraded from 2.0.0b1 to 2.0.0b2 twice. |
| 74 | + |
| 75 | +- Hawaii regional package |
| 76 | + - The hawaii.reserves module has been deprecated and the |
| 77 | + hawaii.demand_response module has been moved (see upgrade scripts) |
| 78 | + - Switch now places limits on down-reserves from pumped-storage hydro. |
| 79 | + - A new --rps-prefer-dist-pv option for hawaii.rps will prevent construction |
| 80 | + of new large PV until 90% of distributed PV potential has been developed. |
| 81 | + - Limits on load-shifting between hours in hawaii.demand_response_simple |
| 82 | + have been formalized. |
| 83 | + - The Hawaii storage energy cost calculation has been fixed. |
| 84 | + - Total production by energy source is reported by hawaii.save_results, |
| 85 | + ad-hoc technologies are added to production_by_technology.tsv, and |
| 86 | + hourly dispatch is disaggregated by non-fuel technologies. |
| 87 | + - Bugs have been fixed in reserve calculation for EVs and in |
| 88 | + hawaii.smooth_dispatch and hawaii.scenario_data. |
| 89 | + - hawaii.smooth_dispatch minimizes total inter-hour change instead of square |
| 90 | + of levels. The old quadratic smoothing method has been moved to |
| 91 | + hawaii.smooth_dispatch.quadratic (slow and possibly buggy). |
| 92 | + - The must-run requirement in hawaii.kalaeloa is turned off when RPS or EV |
| 93 | + share is above 75% (can be overridden by --run-kalaeloa-even-with-high-rps) |
| 94 | + - Support for nominal-dollar fuel price forecasts has been dropped from |
| 95 | + hawaii.scenario_data |
| 96 | + - A new --no-hydrogen flag can be used to deactivate the hydrogen module. |
| 97 | + - The hawaii.ev_advanced module now calculates vehicle fleet emissions. |
| 98 | + |
| 99 | +------------------------------------------------------------------------------- |
| 100 | +Switch 2.0.0 |
| 101 | +------------------------------------------------------------------------------- |
| 102 | + |
| 103 | +First public release of Switch 2. This uses a similar framework to Switch 1, |
| 104 | +but with numerous improvements. The most significant are: |
| 105 | + |
| 106 | +- Written in Python instead of AMPL language |
| 107 | +- Modular approach, so components can be easily added or removed from model |
| 108 | +- Modeling of unit commitment and part load heat rates (optional) |
| 109 | +- Generalization of sample timeseries to have arbitrary length instead of single |
| 110 | + days |
| 111 | +- Standardized reporting, e.g., automatic export of all variable values |
0 commit comments