Open dobrien13 opened 3 months ago
fuels/BFPaT
used to use GET DIRECT DATA. It looks like it was very recently changed to GET DIRECT CONSTANTS so it could be mapped to Future Year
rather than Vensim's native Time
subscript, presumably to support the five-year-ahead price forecasting used in the electricity sector.
Vensim doesn't know these values are years, so just like any other subscript, you'll need to make sure the input data align with the subscript elements. If you simply include a column in the input data file for every element of the "Future Year" subcript, and put the data into the correct columns, then there shouldn't be a mismatch. Just don't delete any columns for Future Years that aren't in use in a given EPS deployment in a geographic area. For instance, if the EU model's first Future Year is 2022, you still need to supply a column for 2021 in the input data file.
In the blue output tabs of the Excel file, you could label the columns with something other than plain year numbers to make it clearer that they are just subscript element labels and are not able to be read as numbers by Vensim. The actual elements of the Future Year subscript are Year2021
, Year2022
, etc. for instance. You could use these as the column labels.
It seems like this should be resolvable elsewhere in the Future Year mapping or subscript mapping since it’s mapping to specific elements in an array?
On Aug 21, 2024, at 5:41 PM, Jeff Rissman @.***> wrote:
fuels/BFPaT used to use GET DIRECT DATA. It looks like it was very recently changed to GET DIRECT CONSTANTS so it could be mapped to Future Year rather than Vensim's native Time subscript, presumably to support the five-year-ahead price forecasting used in the electricity sector.
Vensim doesn't know these values are years, so just like any other subscript, you'll need to make sure the input data align with the subscript elements. If you simply include a column in the input data file for every element of the "Future Year" subcript, and put the data into the correct columns, then there shouldn't be a mismatch. Just don't delete any columns for Future Years that aren't in use in a given EPS deployment in a geographic area. For instance, if the EU model's first Future Year is 2022, you still need to supply a column for 2021 in the input data file.
In the blue output tabs of the Excel file, you could label the columns with something other than plain year numbers to make it clearer that they are just subscript element labels and are not able to be read as numbers by Vensim. The actual elements of the Future Year subscript are Year2021, Year2022, etc. for instance. You could use these as the column labels.
— Reply to this email directly, view it on GitHubhttps://github.com/EnergyInnovation/eps-us/issues/324#issuecomment-2303059469, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AK5N6SN2MBBQUS77KP4GVPLZSUCQ7AVCNFSM6AAAAABM4TL4NKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGMBTGA2TSNBWHE. You are receiving this because you are subscribed to this thread.Message ID: @.***>
As in: FutureYear may be misaligned with the data in the model and need a fix there.
Sent from my iPhone
On Aug 21, 2024, at 5:41 PM, Jeff Rissman @.***> wrote:
fuels/BFPaT used to use GET DIRECT DATA. It looks like it was very recently changed to GET DIRECT CONSTANTS so it could be mapped to Future Year rather than Vensim's native Time subscript, presumably to support the five-year-ahead price forecasting used in the electricity sector.
Vensim doesn't know these values are years, so just like any other subscript, you'll need to make sure the input data align with the subscript elements. If you simply include a column in the input data file for every element of the "Future Year" subcript, and put the data into the correct columns, then there shouldn't be a mismatch. Just don't delete any columns for Future Years that aren't in use in a given EPS deployment in a geographic area. For instance, if the EU model's first Future Year is 2022, you still need to supply a column for 2021 in the input data file.
In the blue output tabs of the Excel file, you could label the columns with something other than plain year numbers to make it clearer that they are just subscript element labels and are not able to be read as numbers by Vensim. The actual elements of the Future Year subscript are Year2021, Year2022, etc. for instance. You could use these as the column labels.
— Reply to this email directly, view it on GitHubhttps://github.com/EnergyInnovation/eps-us/issues/324#issuecomment-2303059469, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AK5N6SN2MBBQUS77KP4GVPLZSUCQ7AVCNFSM6AAAAABM4TL4NKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGMBTGA2TSNBWHE. You are receiving this because you are subscribed to this thread.Message ID: @.***>
The mapping is done via an equation (in Future Year to Year Mapping
) and presumably cannot ever be wrong. Vensim is just reading data for every element in the subscript, the same as it does with any other subscript. If you include input data for every element of the Future Year subscript in BFPaT
, I don't see how misalignment can arise. Note that I haven't looked at the EU model and was narrowly answering Dan's question about why it appears GET DIRECT DATA is no longer used here.
Okay looked into this.
I suspect the issue here is that when the EU model was started, the first year in the EPS was 2021, so the FutureYear subscript mapped 2021-2100.
Since then, it has been advanced to 2022 and so subsequently while the data in BFPaT starts in 2021, the model is expecting it to be data for 2022.
There is not a model bug. But as Jeff points out, the data here needs to reflect the current FutureYear subscript.
Probably important to add a note on the about page about this. In certain circumstances, we could update BFPaT to fill out the year on the csv tabs based on what is on the about page, then use lookups to pull values for the right years. However, I have seen lots of different ways of calculating BFPaT, some of which include calculations on the csv tabs, so that is tricky. However, It is probably worth making this edit in BFPaT going forward to avoid this issue as well as including relevant text on the about page and a yellow cell where the first year is indicated.
From: Jeff Rissman @.> Sent: Wednesday, August 21, 2024 5:58 PM To: EnergyInnovation/eps-us @.> Cc: Robbie Orvis @.>; Comment @.> Subject: Re: [EnergyInnovation/eps-us] Revise BFPaT if possible to use GET DIRECT DATA (Issue #324)
The mapping is done via an equation (in Future Year to Year Mapping) and presumably cannot ever be wrong. Vensim is just reading data for every element in the subscript, the same as it does with any other subscript. If you include input data for every element of the Future Year subscript in BFPaT, I don't see how misalignment can arise. Note that I haven't looked at the EU model and was narrowly answering Dan's question about why it appears GET DIRECT DATA is no longer used here.
- Reply to this email directly, view it on GitHubhttps://github.com/EnergyInnovation/eps-us/issues/324#issuecomment-2303078627, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AK5N6SKSFJJO7L6MMX4ZJATZSUEOZAVCNFSM6AAAAABM4TL4NKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGMBTGA3TQNRSG4. You are receiving this because you commented.Message ID: @.**@.>>
Currently uses GET DIRECT CONSTANTS, possibly so EPS can map fuel prices to future years. As a result, EPS does not search for the correct year when pulling in data, just assuming the first logged year is the first modeled year. In EU model, it's pulling in 2021 data for 2022 model year.