CARVIEW |
Navigation Menu
-
Notifications
You must be signed in to change notification settings - Fork 43
3. V3 input and output changes
The transition to V3 of the REopt API entailed major changes to both the structure of posts and the names of input and output keys and fields. See below for more details. See details on current expected job inputs and outputs in 2. Run analyses using the API.
The inputs and outputs structures in v1 are "nested", like so:
{
"Scenario": {
"timeout_seconds": 400,
"Site": {
"latitude": 30.1,
...,
"PV": {
...
}
...
}
}
}
where the PV
is within Site
, and the Site
is within the Scenario
.
In v3 the input and output JSON structure has been "flattened" like so:
{
"Scenario": {
"timeout_seconds": 400
},
"Site": {
"latitude": 30.1,
...
},
"PV": {
...
}
...
}
such that no capital case keys are contained within another capital case key.
In v1-v2, to exclude Wind
from the candidate technologies one would have to explicitly set its max_kw=0
like so:
{
"Scenario": {
...
"Site": {
...,
"Wind": {
"max_kw": 0
}
...
}
}
}
In v3, simply excluding the "Wind" key from the job POST will exclude Wind
from the optimization.
You can find a full mapping of REopt API v2 to v3 inputs here and outputs here.
The latest v3 inputs and outputs format for the job
endpoint can also be retrieved from the API via:
- Inputs: https://developer.nrel.gov/api/reopt/v3/job/inputs?api_key=DEMO_KEY
- Outputs: https://developer.nrel.gov/api/reopt/v3/job/outputs?api_key=DEMO_KEY
Below, we summarize the major changes to input and output names:
- Removed “us_dollars” from all applicable cost parameters
- e.g.
installed_cost_us_dollars_per_kw
->installed_cost_per_kw
- e.g.
- Changed “pct” to “rate_fraction” for all applicable financial parameters, and to “fraction” for other relevant fraction-based inputs. The values were fractions already, just misnamed as pct (percent).
- e.g.
escalation_pct
->escalation_rate_fraction
- e.g.
soc_min_pct
->soc_min_fraction
- e.g.
- Changed
LoadProfile
->ElectricLoad
- new
ElectricUtility
input structure for outage related inputs, net metering and interconnection limits - new
Settings
input structure for high level input values (moved fromScenario
) such as:- timeout_seconds
- time_steps_per_hour
- optimality_tolerance
- removed Site attributes that are not used
- Site.elevation_ft
- Site.outdoor_air_temp_degF
-
add_blended_rates_to_urdb_rate
->add_monthly_rates_to_urdb_rate
Key changes to output data field names:
- Removed “us_dollars” from all applicable cost parameters
- Changes “total” to “lifecycle” and specifies “before_tax” versus “after_tax” for each relevant financial output
- e.g.
total_energy_cost_us_dollars
->lifecycle_energy_cost_after_tax
- e.g.
- Power and thermal production profiles no longer use the “year_one” prefix, and instead just relies on the ending term e.g. “series_[unit]” to specify dispatch arrays
- e.g.
year_one_to_load_series_kw
->electric_to_load_series_kw
- e.g.
year_one_thermal_to_load_series_mmbtu_per_hour
->thermal_to_load_series_mmbtu_per_hour
- e.g.
- Spells out “tonnes” for emissions instead of “t”
- e.g.
lifecycle_emissions_tCO2
->lifecycle_emissions_tonnes_CO2
- e.g.
- Spells out “hour” instead of “hr”, always, instead of inconsistently
- Moved power and energy outputs related to the grid from
ElectricTariff
toElectricUtility
- Changed all output keys starting with "total_" or "net_" to "lifecycle_" (except "net_present_cost")
-
_after_tax
and_before_tax
appended to name for clarity -
existing_gen_*
Generator outputs now just have_bau
appended to the name (removedexisting_gen_
) - Removed
_series
from cashflow outputs -
irr_pct
->internal_rate_of_return
- if
_bau
was not at end of name it is now (eg.average_yearly_energy_produced_bau_kwh
->average_yearly_energy_producedkwh_bau
) - new
ElectricUtility
input structure for outage related inputs, net metering and interconnection limits - new
Settings
input structure for high level input values (moved fromScenario
) such as:- timeout_seconds
- time_steps_per_hour
- optimality_tolerance
- add_soc_incentive
- moved any inputs that are not needed for REopt optimization to
Scenario
- moved
Site.address
toScenario
- moved
- removed Site attributes that are not used
- Site.elevation_ft
- Site.outdoor_air_temp_degF
- moved power and energy outputs related to the grid from
ElectricTariff
toElectricUtility
- changed all output keys starting with "total_" or "net_" to "lifecycle_" (except "net_present_cost")
-
Financial.total_om_costs
andFinancial.year_one_om_costs
-> *_after_tax
appended to name for clarity -
existing_gen_*
Generator outputs now just have_bau
appended to the name (removedexisting_gen_
) - existing_pv_om_cost -> PV.total_om_cost_bau
- remove
_series
from cashflow outputs -
irr_pct
->internal_rate_of_return
-
resilience_check_flag
->bau_critical_load_met
- remove
year_one_power_production_series_kw
for all techs (b/c it is the sum of other outputs and we want to cut down on the amount of data in every response) -
average_yearly_
* outputs ->average_annual_
* (v1 has a mix of yearly and annual) - if
_bau
was not at end of name it is now (eg.average_yearly_energy_produced_bau_kwh
->average_yearly_energy_producedkwh_bau
)