Release notes
This page highlights key changes in NEMO since its initial public release. For a full history of NEMO releases, including the code for each version, see the Releases page on NEMO's GitHub site.
Version 1.3.1
- Solver parameters in NEMO configuration files: Added support for setting solver parameters via a NEMO configuration file. Users can activate this feature by assigning a comma-delimited list of parameter name-value pairs to the
parameters
key in a configuration file'ssolver
block. The pairs should be in this form: parameter1=value1, parameter2=value2, .... See the documentation for configuration files for more information.
- Forcing mixed-integer optimization problems: Added an option that forces NEMO to formulate a mixed-integer optimization problem when calculating a scenario. This can improve performance with some solvers. The option can be invoked as an argument passed to
calculatescenario
(forcemip
) or in a NEMO configuration file (forcemip
key incalculatescenarioargs
block). See the documentation forcalculatescenario
and configuration files for more information.
Version 1.3
- Julia and JuMP upgrade: Updated NEMO to run on Julia 1.5.3 and JuMP 0.21.6. The new version of JuMP includes support for the most recent versions of key solvers, among them Cbc (2.10), CPLEX (12.10 and 20.1), and Gurobi (9.0 and 9.1). Note that this version of JuMP also uses a new solver abstraction layer,
MathOptInterface
, which changes how solvers are referenced when creating a JuMP model. See the documentation forcalculatescenario
for more information and examples.
Version 1.2
- Ramp rates: Added support for modeling technology ramp rates. You can activate this feature with two new parameters -
RampRate
andRampingReset
.
- Parallel processing upgrades: Revised
calculatescenario
so users can take advantage of parallelization without having to invoke Julia'sDistributed
package and add processes manually. Introduced thenumprocs
argument, which lets users specify the number of processes to use for parallelized operations. Whennumprocs
is set, NEMO initializes new processes as needed. Refactored the queries incalculatescenario
to parallelize as many of them as possible.
- Xpress solver: Added Xpress as an officially supported NEMO solver. This includes incorporating Xpress in the Julia system image that's distributed with the NEMO installer program.
- Installer program enhancements: Upgraded the installer program to facilitate installation when the executing user isn't an operating system administrator. Also improved the integration of the installer program with LEAP.
- General error handling in
calculatescenario
: Restructuredcalculatescenario
so exceptions are trapped and presented along with information on how to report problems to the NEMO team.
- Other changes: Streamlined NEMO's logic for upgrading legacy database versions in
calculatescenario
. Now the functions that perform upgrades are only called when needed. Removed thecreatenemodb_leap
function since LEAP isn't using it.