fmi-cross-check icon indicating copy to clipboard operation
fmi-cross-check copied to clipboard

Allow only output variables as reference results

Open klausschuch opened this issue 6 years ago • 8 comments

The current cross-check rules document does not specify which variables can be part of the reference results. Currently, all variables can be used as reference results.

If the exporting tool adds parameters (even fixed or constant ones) to the reference results and the importing tool cannot record parameters during simulation, such an exporting tool cannot publish valid cross-check results for such an FMU.

Example: The fmusdk/bouncingBall FMU writes the parameters g and e as reference results (csv-header: "time","h","der(h)","v","der(v)","g","e"). All cross check results that contain only all other variables like (csv-header: "Time","h","der(h)","v","der(v)") will be dropped even though the actual simulation results are perfectly fine.

klausschuch avatar Feb 12 '19 10:02 klausschuch

Are internal variables allowed as reference results or only outputs? In some importing tools I would not know how to get internal varibles (if the importing toolbox would not have the option to expose internal variables as additional outputs)

chrbertsch avatar Feb 12 '19 10:02 chrbertsch

If we cannot make parameters as reference, handling parameters can only be measured indirectly. Not very nice, I think.

andreas-junghanns avatar Feb 12 '19 10:02 andreas-junghanns

On the other hand if the parameters have no significant influence on the output it's probably not a good test model...

t-sommer avatar Feb 12 '19 14:02 t-sommer

These are test FMUs. We are trying to spot errors easily. By excluding entire classes of variables, we make problem detection harder. If you now declare that parameters are suddenly not allowed as reference variables that a number of FMUs and their references might have to be changed again.

andreas-junghanns avatar Feb 12 '19 14:02 andreas-junghanns

Exporters could add additional outputs to their test models if they think these variables should be part of the reference results.

t-sommer avatar Feb 12 '19 14:02 t-sommer

Discussion at the Design Meeting Regensburg: No objections. Let's do this.

t-sommer avatar Mar 07 '19 16:03 t-sommer

Let's do this

What exactly did we decide in Regensburg?

Should we add a sentence to the rules that we allow all kinds of variables (if that was decided?) How do we treat tools that can only record output values?

chrbertsch avatar Jul 22 '19 19:07 chrbertsch

A note on synonymous variables: some FMUs define several real variables with different names but same value reference and variable type -> hence, results will be the same (I call these synonymous variables). It would suffice to only have one of these variables in the reference results - otherwise it would be only a waste of hard drive space (and the git-repo may grow beyond meaningful limits).

With respect of logging internal variables, the cross-check rules should state that the submitted xxx_out.csv file shall only contain variables that are requested as reference results (again: save hard disk space and bandwidth).

ghorwin avatar Aug 01 '19 13:08 ghorwin