Warnings are generated when the Valispace calculation algorithm detects possible issues with the current state of the formulas and values it is using. Their intention is to make you aware of these issues and provide a suggestion for fixing them.
Each warning has a 'code' for reference, which is a four-digit number. In general, the following high-level categories of warnings have been identified:
- 1000-1999: various warnings not belonging to other categories
- 2000-2999: calculation warning
- 2100-2199: unit conversion related warnings
- 3000-3999: requirements related warning
- 4000-4999: mode dependency and link matrix warnings
Warnings 2110 and 2120¶
Warnings 2110 and 2120 are created when unit conversion is enabled and units are specified that are not in the default unit list or in the custom defined units. See unit conversion for more on the unit conversion logic. They correspond to UndefinedUnitErrors in the Pint library.
Warning 2115 is created when an unsupported unit was entered (for example
%, -, $). This Vali will be treated as dimensionless, so the raw value will be used for any calculations. See unit conversion for the list of supported and unsupported units.
2110: 'Undefined unit specified for this vali'
2115: 'Unsupported unit specified for this vali'
2120: 'Using vali with undefined unit'
Warnings 2150 and 2160¶
Warnings 2150 and 2160 are created when unit conversion is enabled and the dimensionality of the units inside a formula does not match (for example you try to add meters to kilograms -> 2150 case) or the dimensionality of the formula result does not match with the unit of the Vali itself (for example you add two Valis in meter and the result Vali has a unit of kilogram -> 2160 case). See unit conversion for more on the unit conversion logic. They correspond to DimensionalityErrors in the Pint library.
2150: 'Dimensionality error in formula'
2160: 'Dimensionality error between formula and unit'
A 4010 warning is triggered when a formula of a Vali that is not mode dependent refers to a Vali that is mode dependent. This can in many cases lead to unexpected calculation results.
Example: mode dependent power budget
In this example, the AOCS and RW components have a power consumption Vali that is a single value, whereas the STR components have a power consumption that is different between the STR modes on, off and standby. The AOCS power consumption has a standard sum of children formula. However, since the AOCS component has no way of knowing which STR mode to take into account, it will ignore the STR power consumption values. This can lead to unexpected results of the sum of children formula.
The recommended way to fix this is to make the AOCS power consumption mode dependent. For example, AOCS could have modes active and standby. The 'modes' page explains how to do this. Then a link can be made between the AOCS and the STR modes to indicate that an active AOCS corresponds to an 'on' STR.