ukaea / PROCESS

PROCESS is a systems code at UKAEA that calculates in a self-consistent manner the parameters of a fusion power plant with a specified performance, ensuring that its operating limits are not violated, and with the option to optimise to a given function of these parameters.
https://ukaea.github.io/PROCESS/
MIT License
35 stars 11 forks source link

Sort optimisation parameter numbers #3135

Closed jonmaddock closed 5 months ago

jonmaddock commented 5 months ago

Ensures consistent order and makes output comparison easier.

jonmaddock commented 5 months ago

As the optimisation parameters are now sorted immediately after reading in from the input file, this causes the solution vector in the mfile to be re-ordered. The (re-ordered) solution vector is very similar, but not the same; this is likely to be to do with the non-idempotence effect previously observed when running the models multiple times or re-ordering the optimisation parameters. This can be reduced or eliminated by re-running the models until the outputs converge (https://github.com/ukaea/PROCESS-usage/issues/12). I think this effect is separate to this issue, and therefore although the resulting MFILE is (slightly) different, it is no less valid than the current regression reference.

timothy-nunn commented 5 months ago

Note that comparing itvar* and xcm* values in the test do not make sense due to the re-ordering of the inputs.

@jonmaddock should we try and do for the inputs what we did for the constraints (#3038)