spine-tools / SpinePeriods.jl

GNU Lesser General Public License v3.0
4 stars 1 forks source link

Normalise all resources by maximum value #2

Open ghost opened 3 years ago

ghost commented 3 years ago

Originally by @junglegobs (https://gitlab.vtt.fi/spine/SpinePeriods.jl/-/issues/1)

Not necessary, but would seem like an inoffensively useful thing to do. I think something needs to be added at this line:

resource.parameter_values[r] = Dict()
resource.parameter_values[r][:resource_availability] = unit.parameter_values[u][:unit_availability_factor]

I tried (as an example):

map(x -> x/10, SpinePeriods.SpineOpt.unit.parameter_values[u][:unit_availability_factor])
ERROR: MethodError: no method matching iterate(::SpineInterface.StandardTimeSeriesParameterValue{Float64})

Something to maybe watch out for is possible errors when writing to database (i.e. forgetting to "un-normalise" though I don't think this should be a problem).

junglegobs commented 3 years ago

Since the normalisation only needs to happen in the objective, I could just save normalisation patameters to the model and then apply them in the objective. That way the actual values remain untouched.

-------- Original Message -------- On 22 Apr 2021, 13:45, Erkka Rinne wrote:

Originally by @.***(https://github.com/junglegobs)

Not necessary, but would seem like an inoffensively useful thing to do. I think something needs to be added at this line:

resource.parameter_values[r] = Dict() resource.parameter_values[r][:resource_availability] = unit.parameter_values[u][:unit_availability_factor]

I tried (as an example):

map(x -> x/10, SpinePeriods.SpineOpt.unit.parameter_values[u][:unit_availability_factor]) ERROR: MethodError: no method matching iterate(::SpineInterface.StandardTimeSeriesParameterValue{Float64})

Something to maybe watch out for is possible errors when writing to database (i.e. forgetting to "un-normalise" though I don't think this should be a problem).

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or unsubscribe.