The merge operator seems to be scrambling data somehow. A division of one parameter by another returns the expected result. A division of one variable by another, both derived from a merged Ravel, does not.
Actually not the locks either. I eventually noticed that GDP_{nom} was reporting a size of 310 whereas all the other locked variables were reporting 920. After a lot debugging to figure out why, and eyeballing the XML in the .rvl file, I discovered that GDP_{nom} has tensor data attached to it. Clearly, you must have imported a CSV file into it, then later changed it to a flow variable and attached it to a lock.
This manifested a corner case bug, where the tensor data overrides the metadata (eg sizes of dimensions) even if it is a defined flow variable. So I added an extra check to not do that.
Not worthy of an out-of-cycle release, as this is a pretty obscure scenario.
In the meantime, if you do it again - simply delete all instances of the offending variable and recreate. That will get rid of the undesired tensor data.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Ah! What I actually did was define GDP as a parameter, and then put it into
a Ravel using the merge operator, then--here's the error--attach it to a
variable that I also called GDP. Ravel caught the error, so I then renamed
the variable GDP_{Nom}.
Status: closed Milestone: Babbage Created: Thu Aug 15, 2024 09:19 AM UTC by Steve Keen Last Updated: Fri Aug 16, 2024 04:21 AM UTC Owner: High Performance Coder Attachments:
The merge operator seems to be scrambling data somehow. A division of one parameter by another returns the expected result. A division of one variable by another, both derived from a merged Ravel, does not.
I believe it is more a problem with the locks, actually.
Actually not the locks either. I eventually noticed that GDP_{nom} was reporting a size of 310 whereas all the other locked variables were reporting 920. After a lot debugging to figure out why, and eyeballing the XML in the .rvl file, I discovered that GDP_{nom} has tensor data attached to it. Clearly, you must have imported a CSV file into it, then later changed it to a flow variable and attached it to a lock.
This manifested a corner case bug, where the tensor data overrides the metadata (eg sizes of dimensions) even if it is a defined flow variable. So I added an extra check to not do that.
Not worthy of an out-of-cycle release, as this is a pretty obscure scenario.
In the meantime, if you do it again - simply delete all instances of the offending variable and recreate. That will get rid of the undesired tensor data.
Ah! What I actually did was define GDP as a parameter, and then put it into
a Ravel using the merge operator, then--here's the error--attach it to a
variable that I also called GDP. Ravel caught the error, so I then renamed
the variable GDP_{Nom}.
Thanks. I'll go back and redo that file.
Best, Steve
Professor Steve Keen
Want to rebuild economics? Support me on
Patreon: https://www.patreon.com/ProfSteveKeen
https://www.patreon.com/ProfSteveKeen
My latest book, The New Economics, is now available from Polity:
http://politybooks.com/bookdetail/?isbn=9781509545285
@ProfSteveKeen
Mobile +66 (0) 99-257-2692
Honorary Professor, UCL &ISRS Distinguished Research Fellow
www.profstevekeen.com
On Fri, Aug 16, 2024 at 5:21 AM High Performance Coder hpcoder@users.sourceforge.net wrote:
Related
Ravel:
#622