The checkData element

The checkData element contains an input/output vector pair (and optionally a dump of internal values) for the encoded model to assist in verification and debugging of the implementation.

    checkData : 
        staticShot* : name [refID]
            checkInputs :
                signal* :
                    signalName
                    [signalUnits]
                    signalValue
            [ internalValues :
                signal* :
                    signalID
                    signalValue ]
            checkOutputs :
                signal* :
                    signalName
                    [signalUnits]
                    signalValue
                    tol
	

checkData sub-elements:

staticShot

One or more check case data sets

checkInputs

A vector of input variables & values

internalValues

A vector of internal signal values [optional]

checkOutputs

A vector of output variables, including values & required matching tolerances

Example 14. An example of a check-case data set for a simple model

  <checkData>
    <staticShot name="Nominal" refID="NOTE1"> 1
      <checkInputs>  2
        <signal>  3
          <signalName>True_Airspeed_f_p_s</signalName>
          <signalUnits>ft/sec</signalUnits>
          <signalValue> 300.000</signalValue>
        </signal>
        <signal> 
          <signalName>Angle_of_Attack_deg</signalName>
          <signalUnits>deg</signalUnits>
          <signalValue>   5.000</signalValue>
        </signal>
        <signal>
          <signalName>s_Body_Pitch_Rate_rad_p_s</signalName>
          <signalUnits>rad/sec</signalUnits>
          <signalValue>   0.000</signalValue>
        </signal>
        <signal>
          <signalName>delta elevator</signalName> 
          <signalUnits>deg</signalUnits>
          <signalValue>   0.000</signalValue>
        </signal>
        <signal>
          <signalName>Xcg</signalName>
          <signalUnits>fract</signalUnits>
          <signalValue>   0.250</signalValue>
        </signal>
      </checkInputs>
      <checkOutputs> 4
        <signal>  5
          <signalName>CX</signalName>
          <signalValue>-0.00400000000000</signalValue>
          <tol>0.000001</tol>
        </signal>
        <signal> 
          <signalName>CZ</signalName>
          <signalValue>-0.41600000000000</signalValue>
          <tol>0.000001</tol>
        </signal>
        <signal>
          <signalName>CLM</signalName>
          <signalValue>-0.04660000000000</signalValue>
          <tol>0.000001</tol>
        </signal>
      </checkOutputs>
    </staticShot>
    <staticShot name="Positive pitch rate"> 6
      <checkInputs> 
         .
         .       (similar input and output signal information omitted)
         .
      </checkOutputs>
    </staticShot>
    <staticShot name="Positive elevator">
      <checkInputs> 
         .
         .       (similar input and output signal information omitted)
         .
      </checkOutputs>
    </staticShot>
  </checkData>
	  
1

This first check case refers to a note given in the file header; this is useful to document the source of the check case values.

2

The checkInputs element defines the input variable values, by variable name, as well as units (so they can be verified).

3

Multiple variable values are given, constituting the input "vector."

4

The checkOutputs element defines output variable values corresponding to the input vector.

5

Note the included tolerance value, within which the output values must match the check-case data values.

6

Multiple check cases may be specified; this one differs from the previous check-case due to an increase in the pitching rate input.


Example 15. A second checkData example with internalValues specified

  <checkData>
    <staticShot name="Skewed inputs">
      <checkInputs> 
        <signal> 
          <signalName>True_Airspeed_f_p_s</signalName>
          <signalUnits>ft/sec</signalUnits>\
          <signalValue> 300.000</signalValue>
        </signal>
        <signal>
          <signalName>Angle_of_Attack_deg</signalName>
          <signalUnits>deg</signalUnits>
          <signalValue>  16.200</signalValue>
        </signal>
        <signal>
          <signalName>s_Body_Pitch_Rate_rad_p_s</signalName>
          <signalUnits>rad/sec</signalUnits>
          <signalValue>  -0.760</signalValue>
          </signal>
        <signal>
          <signalName>delta elevator</signalName>
          <signalUnits>deg</signalUnits>
          <signalValue>   4.567</signalValue>
        </signal>
        <signal>
          <signalName>Xcg</signalName>
          <signalUnits>fract</signalUnits>
          <signalValue>   0.123</signalValue>
        </signal>
      </checkInputs>
      <internalValues> 1
        <signal>
          <signalID>vt</signalID>
          <signalValue>300.0</signalValue>
        </signal>
        <signal>
          <signalID>alpha</signalID>
          <signalValue>16.2</signalValue>
        </signal>
        <signal>
          <signalID>q</signalID>
          <signalValue>-0.76</signalValue>
        </signal>
         .
         .       (similar internal values omitted)
         .

      </internalValues>
      <checkOutputs>
        <signal>
          <signalName>CX</signalName>
          <signalValue> 0.04794994533333</signalValue>
          <tol>0.000001</tol>
        </signal>
        <signal>
          <signalName>CZ</signalName>
          <signalValue>-0.72934852554344</signalValue>
          <tol>0.000001</tol>
        </signal>
        <signal>
          <signalName>CLM</signalName>
          <signalValue>-0.10638585796503</signalValue>
          <tol>0.000001</tol>
        </signal>
      </checkOutputs>
    </staticShot>
  </checkData>
            
	  
1

A dump of all model-defined variable values is included in this example to aide in debugging the implementation by the recipient.