Thank you for your interest in NEMO. Since NEMO has now diverged quite a bit from OSeMOSYS, its mathematical model differs from OSeMOSYS's. We don't yet have the mathematical model for NEMO written up in a compact format, but we're working on it and plan to add it to the
NEMO documentation when it's ready. In the meantime, I'd suggest looking at the
source code for NEMO's calculatescenario_main function. This function constructs the optimization model (i.e., a programmatic representation of the mathematical model) for NEMO each time NEMO is run. As you'll see, the optimization model is built with the Julia
JuMP toolkit. JuMP allows model construction through calling the @variable, @constraint, and @objective macros, which in turn create the model's endogenous variables, constraints, and objective. With these basic building blocks, you can infer the mathematical model.
Note that the optimization and mathematical models vary depending on user inputs; this is also shown in calculatescenario_main.
I hope this information is helpful.
Regards,
Jason