You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+14-1Lines changed: 14 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -24,6 +24,19 @@ Classify the change according to the following categories:
24
24
### Fixed
25
25
### Deprecated
26
26
### Removed
27
+
28
+
29
+
## v0.51.1
30
+
### Added
31
+
- Added the following output fields: `year_one_fuel_cost_after_tax` for `ExistingBoiler`, `CHP`, `Generator`, and `Boiler`; `ElectricTariff`: `year_one_bill_after_tax` and `year_one_export_benefit_after_tax`, `Financial`: `capital_costs_after_non_discounted_incentives`, `year_one_total_operating_cost_savings_before_tax`, `year_one_total_operating_cost_savings_after_tax`, `year_one_total_operating_cost_before_tax`, `year_one_total_operating_cost_after_tax`, `year_one_fuel_cost_before_tax`, `year_one_fuel_cost_after_tax`, `year_one_chp_standby_cost_after_tax`, `year_one_chp_standby_cost_after_tax`, `GHP.avoided_capex_by_ghp_present_value`
32
+
- Add a warning so that when **SteamTurbine** is included, renewable energy fractions may not be accurate.
33
+
- Added new attribute **fuel_renewable_energy_fraction** to the technology **Boiler**.
34
+
### Changed
35
+
- Updated and fixed some `docs` pages: improved setup, using HiGHS solver, fixed docstrings
36
+
- Changed the name of the following output fields: `Financial.capital_costs_after_incentives_without_macrs` to `Financial.capital_costs_after_non_discounted_incentives_without_macrs`
37
+
### Fixed
38
+
- Update the **REoptInputs** parameter **tech_renewable_energy_fraction** so that only electricity-producing and fuel-burning heating technologies are included (instead of all technologies).
39
+
- Included the following in the `Financial.lifecycle_capital_costs` and `Financial.initial_capital_costs`: `m[Symbol("OffgridOtherCapexAfterDepr"*_n)] - m[Symbol("AvoidedCapexByGHP"*_n)] - m[Symbol("ResidualGHXCapCost"*_n)] - m[Symbol("AvoidedCapexByASHP"*_n)]`
27
40
28
41
## v0.51.0
29
42
### Added
@@ -53,7 +66,7 @@ Classify the change according to the following categories:
53
66
### Fixed
54
67
- Make **ElectricTariff****export_rate_beyond_net_metering_limit** and **wholesale_rate** with sub-hour time step work
55
68
- Update the expression `m[:AnnualEleckWh]` to include electrified thermal loads
56
-
- Update expressions `m[AnnualREHeatkWh]` and `AnnualHeatkWh` so that only non-electrified thermal loads are included and storage losses are proportional to the contribution of fuel-burning technologies to charging storage
69
+
- Update expressions `m[:AnnualREHeatkWh]` and `m[:AnnualHeatkWh]` so that only non-electrified thermal loads are included and storage losses are proportional to the contribution of fuel-burning technologies to charging storage
Copy file name to clipboardExpand all lines: README.md
+4-8Lines changed: 4 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,18 +9,14 @@ For more information about REopt.jl please see the Julia documentation:
9
9
10
10
11
11
## Quick Start
12
-
Evaluating only `PV` and `Storage` requires a linear program solver. Adding a generator and/or multiple outages makes the problem mixed-integer linear, and thus requires a MILP solver. See https://jump.dev/JuMP.jl/stable/installation/ for a list of solvers. The REopt package has been tested with `Xpress`, `Cbc`, `HiGHS` and `CPLEX`.
13
-
14
-
Note that not all solvers support indicator constraints and special order sets (such as HiGHS), and so not all REopt problems can be solved with solvers lacking these capabilities.
12
+
Evaluating simple `PV` and `ElectricStorage` scenarios requires a linear program solver. Evaluating net-metering, `Generator`, multiple outages, or other more complex scenario makes the problem mixed-integer linear, and thus requires a MILP solver. See https://jump.dev/JuMP.jl/stable/installation/ for a list of solvers. The REopt package has been tested with , `HiGHS`, `Cbc`, `SCIP`, `Xpress` (commercial), and `CPLEX` (commercial).
15
13
16
14
### Example
17
15
```
18
-
using Xpress
19
-
using JuMP
20
-
using REopt
16
+
using REopt, JuMP, HiGHS
21
17
22
-
m = Model(Xpress.Optimizer)
23
-
results = run_reopt(m, "path/to/scenario.json")
18
+
m = Model(HiGHS.Optimizer)
19
+
results = run_reopt(m, "pv_storage.json")
24
20
```
25
21
See the `test/scenarios` directory for examples of `scenario.json`.
Copy file name to clipboardExpand all lines: docs/src/index.md
+12-7Lines changed: 12 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,14 +5,13 @@
5
5
This package is used as the core model of the [REopt API](https://github.com/NREL/REopt_API) and the [REopt Web Tool](https://reopt.nrel.gov/tool). This package contains additional functionality and flexibility to run locally and customize.
6
6
7
7
## Installing
8
-
REopt evaluations for all system types **except GHP** can be performed using the following installation instructions from the Julia REPL:
9
-
```julia
10
-
using Pkg
11
-
Pkg.add("REopt")
8
+
REopt evaluations for all system types except GHP (see below) can be performed using the following installation instructions from the package manager mode (`]`) of the Julia REPL:
9
+
```sh
10
+
(active_env) pkg> add REopt JuMP HiGHS
12
11
```
13
12
14
13
### Add NREL developer API key for PV and Wind
15
-
If you don't have an NREL developer network API key, sign up here to get one (free): https://developer.nrel.gov/signup/; this is required to load PV and Wind resource profiles from PVWatts and the Wind Toolkit APIs from within REopt.jl.
14
+
If you don't have an NREL developer network API key, [sign up here on https://developer.nrel.govto get one (free)](https://developer.nrel.gov/signup); this is required to load PV and Wind resource profiles from PVWatts and the Wind Toolkit APIs from within REopt.jl.
16
15
Assign your API key to the expected environment variable:
17
16
```julia
18
17
ENV["NREL_DEVELOPER_API_KEY"]="your API key"
@@ -21,7 +20,13 @@ before running PV or Wind scenarios.
21
20
22
21
### Additional package loading for GHP
23
22
GHP evaluations must load in the [`GhpGhx.jl`](https://github.com/NREL/GhpGhx.jl) package separately because it has a more [restrictive license](https://github.com/NREL/GhpGhx.jl/blob/main/LICENSE.md) and is not a registered Julia package.
23
+
24
+
First add the GhpGhx.jl package to the project's dependencies from the package manager (`]`):
Copy file name to clipboardExpand all lines: docs/src/reopt/examples.md
+13-11Lines changed: 13 additions & 11 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,22 +1,24 @@
1
1
# Examples
2
-
To use REopt you will need to have a solver installed. REopt.jl has been tested with Xpress, Cbc, and CPLEX solvers, but it should work with other Linear Progam solvers (for PV and Storage scenarios) or Mixed Integer Linear Program solvers (for scenarios with outages and/or Generators).
2
+
To use REopt you will need to have a solver installed. This just requires adding one of the compatible open-source solver Julia packages to your Julia environment, along with the JuMP.jl optimization modeling package. If you want to use a commercial solver which requires a licenese, installation of that solver is required external to the Julia environment.
3
+
4
+
REopt.jl has been tested with HiGHS (preferred open-source), Xpress (commercial), Cbc, SCIP, and CPLEX (commercial) solvers, but it should work with other Linear Progam solvers (for PV and Storage scenarios) or Mixed Integer Linear Program solvers (for scenarios with outages and/or Generators).
The `scenario.json` contains a `Dict` of inputs. For more on the `scenario.json`see the [REopt Inputs](@ref) section and find examples at [test/scenarios](https://github.com/NREL/REopt/blob/master/test/scenarios). For more examples of how to run REopt, see [`test_with_cplex.jl`](https://github.com/NREL/REopt/blob/master/test/test_with_cplex.jl)and [`test_with_xpress.jl`](https://github.com/NREL/REopt/blob/master/test/test_with_xpress.jl)
15
+
The input file, in this case `pv_storage.json`, contains the set of user-defined inputs. For more on the inputs .json file, see the [REopt Inputs](@ref) section and find examples at [test/scenarios](https://github.com/NREL/REopt/blob/master/test/scenarios). For more examples of how to run REopt, see [`runtests.jl`](https://github.com/NREL/REopt.jl/blob/master/test/runtests.jl). To adjust settings such as optimality tolerance and logging, see more about relevant `Model()` arguments here: [open source solver setups](https://github.com/NREL/REopt_API/blob/master/julia_src/os_solvers.jl).
14
16
15
17
To compare the optimized case to a "Business-as-usual" case (with existing techs or no techs), you can run the [BAUScenario](@ref) scenario in parallel by providing two `JuMP.Model`s like so:
When the [BAUScenario](@ref) is included as shown above, the outputs will include comparative results such as the net present value and emissions reductions of the optimal system as compared to the BAU Scenario.
22
24
@@ -30,13 +32,13 @@ When the [BAUScenario](@ref) is included as shown above, the outputs will includ
30
32
Using the `build_reopt!` method and `JuMP` methods one can modify the REopt model before optimizing.
31
33
In the following example we add a cost for curtailed PV power.
0 commit comments