-
Notifications
You must be signed in to change notification settings - Fork 169
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
MSL 4.1.0 Regressions - Blocks.Tables #4343
Comments
I am confused. I ran the result comparison of ModelicaTest.Tables of MSL4.1.0-beta.1 w.r.t. MSL v4.0.0 and get different comparison errors, see https://beutlich.github.io/MSLTEST410BETA1FAILED_Tables/ |
We had two bug fixes for CombiTable2D, which fixed the interpolation and 2-nd derivatives in case of extrapolation by constant continuation: ModelicaStandardLibrary/Modelica/Resources/C-Sources/ModelicaStandardTables.c Lines 47 to 56 in da5c5de
|
The regression tests of LTX cover the branch "master". We do NOT consider the branch maint/4.1.0 |
Hm, it indeed doubles the workload, but it should not be confusing since main development happens on master and gets back-ported to maint branches if necessary or desired. |
@GallLeo I have problems in opening the comparison links, e.g. https://www.ltx.de/download/MA/Compare_MSL_v4.1.0/Compare/ModelicaTest/20240316005556/ModelicaTest.Tables.CombiTable2Ds.Test26/CSVCompare/Test26_report.html |
Being called "MSL 4.1.0 Regressions" - they should no longer run from master, but from maint/4.1.0 branch. |
@HansOlsson Regarding ModelicaTest.Tables.CombiTable2Ds.Test26 the issue is in the very last step (at t = 1) of the second derivative no longer being -8 but 0 (as is the case for t > 1 s).
After rolling d0d1580 of #3893 back, I can confirm that the regression issue is gone. To me that change in the discontinuous second derivative looks strange. |
Hm, not sure what I did then, but I finally can reproduce the regression report of ModelicaTest.Tables:
|
@HansOlsson Can you please define the expected value of ModelicaTest.Tables.CombiTable2Ds.Test26.d2_t_new.y at time=1? I believe it should be -8 (as is the case in MSL v4.0.0 and also sensible when loooking at d2_t_new.u) and not jump to zero. |
I will investigate it further as there seems to be some problem for other cases, but I don't see that specific case as problematic: |
The other case seems a lot more important; I was afraid that I had messed up something - but that doesn't seem like the case. Consider the following two models:
Currently tabletest3894 gives reasonable result, but Test26Var does after 1s have a constant signal with derivative -2. That is clearly non-sense, and blocking. Manually reverting #3896 fixes Test26Var, but tabletest3894 then gives bad results. |
Thanks for finding. It is addressed by #4415. |
To do:
|
@HansOlsson what about PR #4360? Should it also be merged or is it now obsolete? If it is obsolete, please close it with a short explanation for the record. Thanks! @HansOlsson, @beutlich once #4415 is cherry-picked, who takes care of rebuilding the binaries? |
The library officers do. |
This is controversial, see #4360 (comment) |
OK. Two questions about that:
Thanks! |
The example is all here in this issue. I am going to clarify with @HansOlsson such that there will be a common understanding. Thanks. |
The commit history gives the answer: https://github.com/modelica/ModelicaStandardLibrary/commits/master/Modelica/Resources/Library
Since adding binaries to this repository has been controversial from the beginning (convenience vs. binary blobs in git) and binaries should not be part of the git history the behaviour will be changed in the future for master branch. Check the open PRs: https://github.com/modelica/ModelicaStandardLibrary/pulls?q=is%3Apr+is%3Aopen+binaries+label%3A%22L%3A+Resources%22+ |
@beutlich I understand what is missing to close this ticket is
Do I miss something else? |
No, #4415 is already back-ported from master to maint/4.1.x via #4417. Hence, that's no more an issue.
Yes, I am actually concerned about #4360 which I did not like to see closed. So far, no clarification.
Can do. But I was waiting to see #4360 clarified first to avoid double work. |
I'm not sure #4360 can be considered a blocker for the whole 4.1.0 release. This seems to me a really minor issue. If you can find an agreement with @HansOlsson that would be good, otherwise I'd keep it open for 4.2.0. Thanks! |
Yes, the reference results need to be updated (once the binaries are rebuilt?), per earlier comments in this issue. |
Not sure actually.
Well, I was hoping so. |
There now is #4426. |
The following models fail in result comparison.
Tested revision: f9bddf8 (2024-02-16)
Changed C-code/binaries, need reference update after library officer check:
- Reason: Change of edge case
- Updated reference files? @GallLeo please update reference files once Restore derivatives for one-sided extrapolation by constant continuation in case of 2D tables that actually degrade to 1D tables #4415 is cherry-picked
- Reason: Change of edge case
- Updated reference files? @GallLeo please update reference files once Restore derivatives for one-sided extrapolation by constant continuation in case of 2D tables that actually degrade to 1D tables #4415 is cherry-picked
- Reason: Change of edge case
- Updated reference files? @GallLeo please update reference files once Restore derivatives for one-sided extrapolation by constant continuation in case of 2D tables that actually degrade to 1D tables #4415 is cherry-picked
- Reason: Change of edge case
- Updated reference files? @GallLeo please update reference files once Restore derivatives for one-sided extrapolation by constant continuation in case of 2D tables that actually degrade to 1D tables #4415 is cherry-picked
The change is that the 2nd derivative of the output changes discontinuously exactly at the end of the simulation, whether we use left- or right-limit shouldn't matter. Optionally we could change the simulation stop time to make that clearer.
No signals to compare, define more comparison signals:
- Updated comparisonSignals.txt?
- Updated reference files?
- Updated comparisonSignals.txt?
- Updated reference files?
- Updated comparisonSignals.txt?
- Updated reference files?
I propose to not do anything for these.
The issue is that the comparison signals for these surfaces are generated in ModelicaServices and are thus tool-specific (technically we should compare the animation results).
I propose to not do anything for these. The derivative change is just left- or right-limit.
Useful Links
Current comparison report:
https://www.ltx.de/download/MA/Compare_MSL_v4.1.0/comparison_report_overview.html
-> Reference result test -> Comparison
Comparison signal definitions:
https://github.com/modelica/ModelicaStandardLibrary/tree/master/Modelica/Resources/Reference/Modelica
https://github.com/modelica/ModelicaStandardLibrary/tree/master/ModelicaTest/Resources/Reference/ModelicaTest
Reference results:
https://github.com/modelica/MAP-LIB_ReferenceResults
The text was updated successfully, but these errors were encountered: