Skip to content

Linter Rules Reference ​

ModelScript ships 804 diagnostic rules across 43 languages. This page is generated from each language's rule catalog (for example languages/modelica/src/errors.ts), so codes, severities and message templates match what the tools report. Text in <angle brackets> is filled in from your model.

Running the linters ​

Diagnostics appear as you type in VS Code and the web IDE through the language server. From the command line:

bash
# Languages handled by the unified linter (detected by file extension)
msx lint ./models
msx lint ./models --format json --strict

# Domain formats with their own command
msx spice lint SensorFrontEnd.net

The CLI column below shows which command reports each language's rules.

Rule index ​

LanguagePackageRulesCLI
ModelScript@modelscript/modelscript10Language server / API
Modelica@modelscript/modelica307msx lint
SysML v2 / KerML@modelscript/sysml248msx lint
ReqIF@modelscript/reqif10msx reqif lint
SSP@modelscript/ssp14msx lint
OWL2@modelscript/owl224msx lint
STEP (ISO 10303)@modelscript/step8msx lint
OpenSCAD@modelscript/scad8msx lint
CFD (SU2 / OpenFOAM)@modelscript/cfd8msx lint
FEA (CalculiX / Abaqus / NASTRAN)@modelscript/fea8msx lint
C@modelscript/c10msx lint
Fortran@modelscript/fortran15msx lint
JSBSim@modelscript/jsbsim10msx jsbsim lint
NASA ROCETS@modelscript/rocets14msx lint
CCSDS@modelscript/ccsds8msx ccsds lint
EASY5@modelscript/easy512msx lint
AUTOSAR@modelscript/autosar15msx autosar lint
MATLAB Simulink@modelscript/simulink10msx simulink lint
GT-SUITE@modelscript/gtsuite15msx lint
ASAM OpenDRIVE@modelscript/opendrive8msx opendrive lint
ASAM OpenSCENARIO@modelscript/openscenario10msx openscenario lint
GENSYS@modelscript/gensys6msx gensys lint
SIMPACK@modelscript/simpack6msx simpack lint
PSCAD / EMTDC@modelscript/pscad17msx lint
PSS/E@modelscript/psse13msx psse lint
OpenDSS@modelscript/opendss10msx opendss lint
OLGA@modelscript/olga13msx olga lint
PipelineStudio@modelscript/lps12msx lint
ECLIPSE@modelscript/eclipse10msx eclipse lint
RELAP5-3D@modelscript/relap510msx relap5 lint
SIMA / SIMO / RIFLEX@modelscript/sima15msx lint
SPICE@modelscript/spice10msx lint
Verilog-A / AMS@modelscript/verilog-a10msx verilog-a lint
IBIS@modelscript/ibis9msx ibis lint
Touchstone@modelscript/touchstone10msx touchstone lint
URDF / Xacro@modelscript/urdf8msx lint
PLCopen / IEC 61131-3@modelscript/plcopen10msx plcopen lint
MSC Adams@modelscript/adams9msx adams lint
EnergyPlus@modelscript/energyplus8msx energyplus lint
EPANET@modelscript/epanet8msx epanet lint
EPA SWMM@modelscript/swmm13msx swmm lint
Aspen Plus / HYSYS@modelscript/aspen15msx aspen lint
SBML@modelscript/sbml10msx sbml lint

ModelScript ​

Native systems modeling & query language. 10 rules · @modelscript/modelscript · Source: languages/modelscript/src/errors.ts · Language guide

CodeRuleSeverityMessage
M1001parse-errorerrorParse error.
M2001undefined-variableerrorVariable '<name>' is not declared in current scope.
M2002duplicate-declarationerrorIdentifier '<name>' is already declared in this scope.
M2003unknown-typeerrorType '<typeName>' is not recognized.
M3001type-mismatcherrorType mismatch: cannot assign '<sourceType>' to '<targetType>'.
M3002invalid-binary-operanderrorOperator '<op>' cannot be applied to operands of type '<type>'.
M4001non-iterable-collectionerrorExpression '<expr>' in 'for' clause is not iterable.
M4002flwor-unbound-variableerrorVariable '<varName>' in FLWOR clause is not bound in preceding 'for' or 'let' clauses.
M5001argument-count-mismatcherrorFunction '<fnName>' expects <expected> arguments, but got <actual>.
M5002unknown-struct-fielderrorStruct '<structName>' has no field named '<fieldName>'.

Modelica ​

Acausal multi-domain physics. 307 rules · @modelscript/modelica · Source: languages/modelica/src/errors.ts, languages/modelica/src/lints/index.ts · Language guide

M1xxx — Syntax & parse

CodeRuleSeverityMessage
M1000identity-arg-counterrorWrong number of arguments to identity.
M1001parse-errorerrorParse error.
M1002parse-missingerrorParse error: '<expected>' expected.
M1003empty-array-constructorerrorParse error: Empty array constructors are not valid in Modelica.
M1003emptyarrayconstructorerrorEmpty array constructor '<target>' is not valid in Modelica.
M1004identity-first-arg-integererrorFirst argument to identity in component <compName> must be Integer expression.
M1005subscripted-modifiererrorSubscripting modifiers is not allowed. Apply the modification on the whole identifier using an array-expression or an each-modifier.
M1099wasm-flattener-unsupportederror[ModelicaFlattener] Model '<rootName>' could not be flattened using strict WASM backend.

M2xxx — Name & scope resolution

CodeRuleSeverityMessage
M2001duplicate-elementerrorAn element with name <name> is already declared in this scope.
M2002variable-not-founderrorVariable <name> not found in scope <scope>.
M2002variablenotfounderrorVariable <vName> not found in scope <className>.
M2003class-not-founderrorClass <className> not found in scope <scope> (looking for a function or record).
M2003typenotfounderrorClass or type '<fullType>' not found in scope.
M2004modifier-not-founderrorIn modifier of '<componentName>', class or component '<modName>' not found in '<className>'.
M2005identifier-mismatcherrorThe identifier at start and end are different.
M2005identifiermismatcherrorParse error: The identifier at start and end are different
M2006modified-element-not-founderrorModified element <modName> not found in class <className>.
M2007modifier-class-not-founderrorIn modifier (<modText>), class or component <modName> not found in <<className>>.
M2011same-name-type-shadowingerrorFound a component with same name when looking for type <typeSpec>.
M2012class-not-found-in-scopeerrorClass <className> not found in scope <scope>.
M2013base-class-not-found-in-scopeerrorBase class <className> not found in scope <scope>.
M2014partial-base-classerrorPart <partName> of base class name <extName> is not a class.
M2015base-class-ambiguouserrorThe base class name <partName> was found in one or more base classes: <candidateNames>.
M2016base-class-found-inerror<partName> was found in base class <baseName>.
M2038partial-lookup-disallowederror<className> is partial, name lookup is not allowed in partial classes.
M2090finaloverridenotificationinfoFrom here:
M2090from-herenotificationFrom here:
M2091redeclare-final-component-notificationinfoFrom here:
M2091redeclarefinalcomponentnotificationinfoFrom here:
M2092redeclare-constant-component-notificationinfoFrom here:
M2092redeclareconstantcomponentnotificationinfoFrom here:
M2093duplicate-modification-notificationinfoFrom here:
M2093duplicatemodificationnotificationinfoFrom here:
M2094missing-innerwarningNo corresponding 'inner' declaration found for component .<typeName> <componentName> declared as 'outer'. The existing 'inner' components are: <inners> Check if you have not misspelled the 'outer' component name. Please declare an 'inner' component with the same name in the top scope. Continuing flattening by only considering the 'outer' component declaration.
M2094missinginnerwarningNo corresponding 'inner' declaration found in scope for outer component '<target>'.
M2095from-here-tracenotificationFrom here:
M2096redeclare-non-replaceable-notificationinfoFrom here:
M2096redeclarenonreplaceablenotificationinfoFrom here:
M2097protected-modification-notificationinfoFrom here:
M2097protectedmodificationnotificationinfoFrom here:

M3xxx — Type system & operator / function signatures

CodeRuleSeverityMessage
M3001type-mismatch-bindingerrorType mismatch in binding <componentName> = <actualExpr>, expected subtype of <expectedType>, got type <actualType>.
M3001typemismatchbindingerrorType mismatch in binding <target>, expected subtype of <expName>, got type <actName>.
M3002type-mismatch-modifiererrorType mismatch: '<modName>' expects type '<expectedType>' but got '<actualType>'.
M3002typemismatchmodificationerrorType mismatch in binding or modification expression '<target>'.
M3003not-plug-compatibleerrorThe connectors in connect(<ref1>, <ref2>) are not type compatible.
M3004not-a-connectorerror<which> is not a valid connector.
M3005redeclare-type-mismatcherrorRedeclare of '<redeclaredName>': type '<newType>' is not compatible with constraining type '<constrainingType>'.
M3006function-arg-type-mismatcherrorType mismatch for positional argument <argPosition> in <callExpr>. The argument has type: <argTypeSignature> expected type: <expectedTypeSignature>
M3007connect-invalid-formerror<ref> is not a valid form for a connector, connectors must be either c1.c2...cn or m.c (where c is a connector and m is a non-connector).
M3008extends-type-mismatcherrorIn extends of '<className>': redeclared '<redeclaredName>' of type '<newType>' is not compatible with original type '<originalType>'.
M3009array-index-type-mismatcherrorArray index type mismatch: expected Integer or Boolean, but got '<actualType>'.
M3009arrayindextypemismatcherrorArray index '<target>' has invalid type: expected Integer or Boolean.
M3010unit-mismatchwarningUnit mismatch: Left-hand side has unit '<lhsUnit>' but right-hand side has incompatible unit '<rhsUnit>'.
M3010unitmismatchbindingwarningUnit mismatch in equation '<target>'.
M3010unitmismatchequationwarningUnit mismatch in equation '<target>'.
M3011binary-op-type-mismatcherrorCannot resolve type of expression <expr>. The operands have types <type1>, <type2> in component <NO_COMPONENT>.
M3012optimization-objective-typeerrorOptimization objective must be a scalar Real, but got type '<typeStr>'.
M3013optimization-constraint-typeerrorOptimization constraints must evaluate to scalar Real or Boolean expressions, but got type '<typeStr>'.
M3014builtin-attribute-type-mismatcherrorType mismatch in binding <attrName> = <bindingText>, expected subtype of <expectedType>, got type <actualType>.
M3015attribute-type-mismatcherrorVariable <varName>: Wrong type on builtin attribute <attrName> (type was: <actualType>, expected: <expectedType>).
M3016conditional-type-mismatcherrorType error in conditional '<condExpr>'. Expected Boolean, got <actualType>.
M3017connect-types-inconsistenterrorThe type of variables <r0Raw> type: <type0> and <r1Raw> type: <type1> are inconsistent in connect equations.
M3018array-element-type-mismatcherrorArray constructor elements have inconsistent types in '<exprText>'.
M3018arrayelementtypemismatcherrorArray element type mismatch in '<target>'.
M3019no-matching-functionerrorNo matching function found for <callExpr> of type <callSig> candidates are <candidateSig>
M3020type-mismatch-modifier-bindingerrorType mismatch in modifier of component <compName>, expected type <expectedType>, got modifier <exprText> of type <actualType>.
M3021function-return-type-mismatcherrorFunction '<funcName>' returns type '<actualType>' but '<expectedType>' expected.

M4xxx — Structural, inheritance, modification & connector semantics

CodeRuleSeverityMessage
M4000dimension-not-parametererrorExpression '<exprName>' that determines the size of dimension '<dim>' of '<callText>' is not an evaluable parameter expression.
M4001extends-cycleerrorextends <baseName> causes an instantiation loop.
M4001extendscycleerrorExtends cycle detected for '<target>'.
M4002duplicate-modificationerrorDuplicate modification of element <elementName> on <kind> <componentName>.
M4002duplicatemodificationerror<outerName>.<innerOrKind>
M4003array-dimension-mismatcherrorType mismatch in binding '<componentName> = <exprText>', expected array dimensions [<expectedShape>], got [<actualShape>].
M4003arrayshapemismatcherrorArray shape mismatch: declared dimension does not match initializer element count in '<target>'.
M4004unbalanced-modelwarningThe <classKind> '<name>' is not balanced: <nEquations> equation(s) and <nVariables> variable(s).
M4004unbalancedmodelwarningModel '<target>' is not balanced: <value> equations for <value> variables.
M4005protected-modificationerrorProtected element '<elementName>' may not be modified, got '<modText>'.
M4005protectedmodificationerrorProtected element '<eName>' may not be modified, got '<mText>'.
M4006external-with-algorithmerrorElement is not allowed in function context: algorithm
M4006externalwithalgorithmerrorElement '<target>' is not allowed in function context with algorithm section.
M4007function-public-variableerrorInvalid public variable <varName>, function variables that are not input/output must be protected.
M4007functionpublicvariableerrorInvalid public variable <varName>, function variables that are not input/output must be protected.
M4008array-subscript-count-mismatcherrorWrong number of subscripts in <refStr> (<actualCount> subscripts for <expectedCount> dimensions).
M4009function-default-arg-cycleerrorThe default value of <paramName> causes a cyclic dependency.
M4010function-invalid-var-typeerrorInvalid type <typeName> for function component <varName>.
M4011function-protected-ioerrorInvalid protected variable <varName>, function variables that are input/output must be public.
M4011functionprotectedioerrorInvalid protected variable <varName>, function variables that are input/output must be public.
M4012function-arg-variabilityerrorFunction argument <paramName>=<argExpr> in call to <funcName> has variability <actualVariability> which is not a <requiredVariability> expression.
M4013nested-when-statementerrorNested when statements are not allowed.
M4013nestedwhenerrorNested when statements are not allowed.
M4014tuple-expression-contexterrorTuple expressions may only occur on the left side of an assignment or equation with a single function call on the right side. Got the following expression: <exprText>.
M4014tupleexpressioncontexterrorTuple expressions may only occur on the left side of an assignment or equation with a single function call on the right side.
M4015within-in-scripterrorThe within directive is not allowed in script mode.
M4016statement-in-standard-modeerrorTop-level statements are not allowed in standard Modelica mode.
M4017restriction-violationerror<what> are not allowed in <classKind>.
M4017restrictionviolationerrorAlgorithm sections are not allowed in <kindStr>.
M4018partial-instantiationerrorIllegal to instantiate partial class <className>.
M4019redeclare-non-replaceableerrorRedeclaration with a new type requires '<elementName>' to be replaceable.
M4019redeclarenonreplaceableerrorRedeclaration with a new type requires '<eName>' to be replaceable.
M4020builtin-time-invaliderrortime is not allowed in a function.
M4020reservedbuiltintimeerrorIdentifier time is reserved for the built-in element with the same name.
M4020timeinfunctionerrortime is not allowed in a function.
M4021range-step-too-smallerrorStep size <stepSize> in range is too small.
M4022enum-range-with-steperrorRange of type enumeration <enumType> may not specify a step size.
M4022enumrangewithsteperrorRange of type enumeration '<target>' may not specify a step size.
M4023connect-in-whenerrorconnect may not be used inside when-equations (found <connectExpr>).
M4023connectinwhenerrorconnect may not be used inside when-equations (found <target>).
M4024connect-in-initialerrorConnect equations are not allowed in initial equation sections.
M4024connectininitialerrorConnect equations are not allowed in initial equation sections.
M4025connect-in-non-param-iferrorconnect may not be used inside if-equations with non-parametric conditions (found <connectExpr>).
M4025connectinnonparamiferrorconnect may not be used inside if-equations with non-parametric conditions (found <target>).
M4026final-overrideerrorTrying to override final element <elementName> with modifier '<modText>'.
M4026finaloverrideerrorTrying to override final element <eName> with modifier '<mText>'.
M4027variability-binding-mismatcherrorComponent <componentName> of variability <compVariability> has binding '<bindingExpr>' of higher variability <bindingVariability>.
M4027variabilitybindingmismatcherrorComponent <compName> of variability parameter has binding '<target>' of higher variability continuous.
M4028partial-type-componenterrorComponent '<componentName>' has partial type '<typeName>'.
M4028partialtypecomponenterrorComponent '<target>' has partial type.
M4029component-binding-restrictionerrorComponent '<componentName>' may not have a binding equation due to class specialization '<classKind>'.
M4030outer-modifiererrorModifier '<modText>' found on outer element <elementName>.
M4030outermodifiererrorModifier '<modNode>' found on outer element <nameNode>.
M4031array-index-out-of-boundserrorSubscript '<index>' for dimension <dimensionIndex> (size = <dimensionSize>) of <arrayName> is out of bounds.
M4031arrayindexoutofboundserrorSubscript 'index' for dimension <dimIndex> (size = <dimSize>) of array is out of bounds.
M4032function-invalid-prefixerrorInvalid prefix <prefix> on formal parameter <varName>.
M4032functioninvalidprefixerrorInvalid prefix '<target>' on formal parameter in function.
M4033function-multiple-algorithmerrorFunction <funcName> has more than one algorithm section or external declaration.
M4033functionmultiplealgorithmerrorFunction <name> has more than one algorithm section or external declaration.
M4034replaceable-base-classerrorClass '<className>' in 'extends <extendsText>' is replaceable, the base class name must be transitively non-replaceable.
M4034replaceablebaseclasserrorClass '<target>' in 'extends <target>' is replaceable, the base class name must be transitively non-replaceable.
M4035cyclic-dimension-dependencyerrorDimension <dimNum> of <varName>, '<exprText>', could not be evaluated due to a cyclic dependency.
M4036package-variable-not-constanterrorVariable <varName> in package <packageName> is not constant.
M4037connector-variabilityerrorInvalid variability <variability> on connector '<connectorName>'.
M4037connectorvariabilityerrorInvalid variability <pfx> on connector '<compName>'.
M4038flow-outside-connectorwarningPrefix 'flow' used outside connector declaration.
M4038flowoutsideconnectorwarningPrefix '<target>' used outside connector declaration.
M4039discrete-not-on-lhserrorFollowing variable is discrete, but does not appear on the LHS of a when-statement: '<varName>'.
M4039discretenotonlhserrorFollowing variable is discrete, but does not appear on the LHS of a when-statement: '<target>'.
M4040protected-element-modificationerrorProtected element '<varName>' may not be modified, got '<modText>'.
M4041negative-dimensionerrorNegative dimension index (<dim>) for component <varName>.
M4041negativedimensionerrorNegative dimension index (-1) for component component.
M4042constant-has-no-valueerrorConstant '<qualifiedName>' has no value.
M4042constanthasnovalueerrorConstant '<target>' has no value.
M4043constant-variability-violationerrorComponent <componentName> of variability constant has binding '<bindingText>' of higher variability <bindingVariability>.
M4043constantvariabilityviolationerrorComponent <compName> of variability constant has binding '<target>' of higher variability <varbNode>.
M4044non-array-modificationerrorNon-array modification '<modText>' for array component '<componentName>', possibly due to missing 'each'.
M4044nonarraymodificationerrorNon-array modification '<fullMod>' for array component, possibly due to missing 'each'.
M4045modified-element-not-found-csterrorModified element <modName> not found in class <className>.
M4045modifiedelementnotfounderrorModified element <eText> not found in class <tText>.
M4046constant-not-fixederrorConstant '<componentName>' must be fixed but has 'fixed = false'
M4046constantnotfixederrorConstant declaration '<target>' must be fixed.
M4047cardinality-invalid-contexterrorcardinality may only be used in the condition of an if-statement/equation or an assert.
M4047cardinalityinvalidcontexterrorOperator '<target>' may only be used in the condition of an if-statement/equation or an assert.
M4048cardinality-expected-componenterrorExpected <name> to be a component, but found class instead.
M4048cardinalityexpectedcomponenterrorExpected <target> to be a component, but found class instead.
M4049break-on-non-componenterrorInvalid use of break on non-component '<name>'.
M4049breakonnoncomponenterrorInvalid use of break on non-component '<ident>'.
M4050break-component-invalid-typeerrorInvalid use of break on component '<name>', component must be a model, block, or connector.
M4050breakcomponentinvalidtypeerrorInvalid use of break on component '<ident>', component must be a model, block, or connector.
M4051break-connect-not-founderrorNo matching element found for '<connText>'.
M4051breakconnectnotfounderrorNo matching element found for '<target>'.
M4052redeclare-final-componenterrorRedeclaration of final component <name> is not allowed.
M4052redeclarefinalcomponenterrorRedeclaration of final component <eName> is not allowed.
M4053redeclare-constant-componenterrorRedeclaration of constant component <name> is not allowed.
M4053redeclareconstantcomponenterrorRedeclaration of constant component <eName> is not allowed.
M4054stream-unbalanced-connectorerrorInvalid stream connector <connectorName>: A stream connector must have exactly one flow variable, this connector has <flowCount> flow variables.
M4054streamunbalancedconnectorerrorInvalid stream connector .<cName>: A stream connector must have exactly one flow variable, this connector has <fCount> flow variables.
M4055cannot-connect-expandable-with-non-expandableerrorCannot connect expandable connector <expName> with non-expandable connector <nonExpName>.
M4055cannotconnectexpandablewithnonexpandableerrorCannot connect expandable connector <expRef> with non-expandable connector <nonExpRef>.
M4056duplicate-inherited-element-not-identicalerrorDuplicate elements (due to inherited elements) not identical: first element is: <currText> second element is: <prevText>
M4057expandable-connector-flow-elementerrorPrefix 'flow' on component '<compName>' not allowed in class specialization 'expandable connector'.
M4057expandableconnectorflowelementerrorPrefix 'flow' on component '<compName>' not allowed in class specialization 'expandable connector'.
M4058recursive-definitionerrorDeclaration of element <elemName> causes recursive definition of class <className>.
M4059max-recursion-depth-exceedederrorThe maximum recursion depth of <depth> was reached, probably due to mutually recursive definitions.
M4061redeclare-non-inheritederrorIllegal redeclare of element <elementName>, no inherited element with that name exists.
M4061redeclarenoninheritederrorIllegal redeclare of element <eName>, no inherited element with that name exists.
M4062invalid-external-objecterrorExternal object <className> contains invalid element '<elemName>'.
M4063class-extends-non-inheritederrorBase class targeted by class extends <className> not found in the inherited classes.
M4063classextendsnoninheritederrorInvalid redeclaration of class <eName>, class extends only allowed on inherited classes.
M4064protected-in-connectorerrorProtected sections are not allowed in connector.
M4064protectedinconnectorerrorProtected sections are not allowed in <kindStr>.
M4065equationinconnectorerrorEquations are not allowed in connector.
M4065equations-in-connectorerrorEquations are not allowed in connector.
M4066algorithm-in-connectorerrorAlgorithm sections are not allowed in connector.
M4066algorithminconnectorerrorAlgorithm sections are not allowed in connector.
M4067external-object-missing-constructorerrorExternal object <className> is missing a constructor.
M4068redeclare-condition-attributeerrorInvalid redeclaration of <elementName>, a redeclare may not have a condition attribute.
M4068redeclareconditionattributeerrorInvalid redeclaration of <eName>, a redeclare may not have a condition attribute.
M4069external-object-return-restrictionerrorFunction <fnName> returns an external object, but the only function allowed to return this object is <extObjName>.constructor.
M4070external-non-functionerrorClass specialization violation: <className> is a <specialization>, which may not contain an external declaration.
M4070externalnonfunctionerrorClass specialization violation: <name> is a <kindStr>, which may not contain an external declaration.
M4071external-invalid-languageerror'<lang>' is not a valid language for an external function.
M4072external-invalid-arg-exprerrorExpression <expr> cannot be an external argument. Only identifiers, scalar constants, and size-expressions are allowed.
M4073external-invalid-arg-size-consterrorInvalid external argument '<expr>', the dimension index must be a constant expression.
M4074external-array-return-not-allowederrorThe lhs (result) of the external function declaration has array type (<typeStr>), but this is not allowed in the specification. You need to pass it as an input to the function (preferably also with a size()-expression to avoid out-of-bounds errors in the external call).
M4075invalid-type-prefix-flow-nestederrorInvalid type prefix 'flow' on variable <varName>, due to existing type prefix 'flow'.
M4076parameter-bound-contradictionerrorContradictory bounds for parameter '<paramName>': lower bound '<lower>' exceeds upper bound '<upper>'.
M4076parameterboundcontradictionerrorContradictory bounds for parameter 'parameter': lower bound 'min' exceeds upper bound 'max'.
M4077loop-termination-inconclusiveerrorLoop over '<loopVar>' with condition '<condition>' cannot be proven to terminate.
M4078terminate-in-functionerrorterminate is not allowed in a function.
M4078terminateinfunctionerrorterminate is not allowed in a function.
M4079return-outside-functionerror'return' may not be used outside function.
M4079returnoutsidefunctionerror'return' may not be used outside function.
M4080cyclic-constants-or-parameterserrorCyclically dependent constants or parameters found in scope <scopeName>: {<cycleList>} (ignore with -d=ignoreCycles).
M4081cyclic-function-componentserrorCyclically dependent function components found: {<cycleList>}
M4082connector-non-parameter-subscripterrorConnector '<connRef>' has non-parameter subscript '<subscriptText>'.
M4083enum-duplicate-literalerrorEnumeration has duplicate names: <dup> in list of names <list>.
M4084enum-reserved-attribute-literalerrorInvalid use of reserved attribute name <name> as enumeration literal.
M4091break-outside-looperror'break' must be inside a for or while loop, or enclose a connect equation.
M4091breakoutsidelooperror'break' may only be used in a while- or for-loop.
M4092binding-dimension-mismatcherrorType mismatch in binding '<componentName> = <bindingText>', expected array dimensions [<expectedDims>], got [<actualDims>].
M4093unused-input-variablewarningUnused input variable <varName> in function <funcName>.
M4094cardinality-in-condition-onlyerrorcardinality may only be used in the condition of an if-statement or if-equation.
M4095conditional-expression-not-evaluatederrorThe conditional expression <condText> could not be evaluated.
M4096dimensions-must-be-parametererrorDimensions must be parameter or constant expression (in <callStr>).
M4097called-function-partialerrorCalled function '<fnName>' is partial.
M4098class-specialization-violationerrorClass specialization violation: <className> <errorDetail>.
M4099cannot-connect-undeclared-expandable-connectorserrorCannot connect undeclared connectors <c1> with <c2>. At least one of them must be declared.
M4101top-level-outer-elementerrorThe model can't be instantiated due to top-level outer element '<elementName>', it may only be used as part of a simulation model.
M4102inner-not-found-existing-declerrorAn inner declaration for outer element '<elementName>' could not be found, and could not be automatically generated due to an existing declaration of that name.
M4103missing-redeclare-keyworderrorMissing redeclare keyword on attempted redeclaration of class <className>.
M4104invalid-redeclaration-class-as-componenterrorInvalid redeclaration of class <className> as component.
M4105duplicate-redeclareerror<name> is already redeclared in this scope.
M4106invalid-redeclaration-prefixerrorInvalid redeclaration '<newPrefix> <name>', original element is declared '<origPrefix>'.
M4107invalid-redeclaration-component-as-classerrorInvalid redeclaration of component <compName> as class.
M4108redeclare-enum-not-subtype-genericerrorRedeclaration of enumeration '<name>' is not a subtype of the redeclared element (use enumeration(😃 for a generic replaceable enumeration).
M4109redeclare-enum-not-subtypeerrorRedeclaration of enumeration '<name>' is not a subtype of the redeclared element.
M4110invalid-type-prefix-conflicterrorInvalid type prefix '<newPrefix>' on component <compName>, due to existing type prefix '<existingPrefix>'.
M4111invalid-redeclaration-basic-type-attributeerrorInvalid redeclaration of <attrName>, attributes of basic types may not be redeclared.
M4112extends-other-base-classerrorFound other base class for extends <baseName> after instantiating extends.
M4113external-object-missing-destructorerrorExternal object <className> is missing a destructor.
M4114invalid-connector-variabilityerrorInvalid variability <variability> on connector '<compName>'.
M4115external-object-not-replaceableerror'<elemName>' may not be replaceable.
M4116operator-encapsulationerrorOperator <recordName>.'<opName>' is not encapsulated.
M4117operator-constructor-outputserrorOperator <recordName>.'constructor' must have exactly one output.
M4118operator-constructor-output-typeerrorOutput '<outputName>' in operator <recordName>.'constructor' must be of type <recordName>, got type <actualType>.
M4119variable-in-package-not-constanterrorVariable <varName> in package <pkgName> is not constant.
M4120ambiguous-operator-overloaderrorAmbiguous matching overloaded operator functions found for <exprText>. Candidates are: <candidatesText>
M4121no-matching-operator-functionerrorNo matching function found for <callExprText>. Candidates are: <candidatesText>
M4122cannot-resolve-operator-typeerrorCannot resolve type of expression <exprText>. The operands have types <leftType>, <rightType> in component <NO_COMPONENT>.

M5xxx — Equations, algorithms & control-flow analysis

CodeRuleSeverityMessage
M5001equation-type-mismatcherrorType mismatch in equation <lhsExpanded>=<rhsExpanded> of type <lhsType>=<rhsType>.
M5001equationtypemismatcherrorType mismatch in equation <eqText2> of type <lName>=<rName>.
M5002constrainedby-type-mismatcherrorReplaceable '<componentName>': default type '<defaultType>' is not compatible with constraining type '<constrainingType>'.
M5003if-branch-type-mismatcherrorIf-equation branch type mismatch: '<varName>' assigned type '<branchType>' but expected '<expectedType>'.
M5004connect-flow-mismatcherrorCannot connect flow component <flowComp> to non-flow component <nonFlowComp>.
M5004connectflowmismatcherrorCannot connect flow component <flowRef>.<elemIdent> to non-flow component <nonFlowRef>.<elemIdent>.
M5005division-by-zeroerrorDivision by zero: <lhs> / 0.
M5005divisionbyzeroerrorDivision by literal zero in '<target>'.
M5006assignment-type-mismatcherrorType mismatch in assignment in <target> := <source> of <targetType> := <sourceType>
M5006assignmenttypemismatcherrorType mismatch in assignment in <target> of <tName> := <vName>
M5007for-iterator-not-1derrorIterator <iteratorName>, has type <shape>, but expected a 1D array expression.
M5007foriteratornot1derrorIterator iterator, has type Real, but expected a 1D array expression.
M5008assignment-to-constanterrorTrying to assign to constant component in <componentName> := <exprText>
M5008assignmenttoconstanterrorTrying to assign to constant component <idNode>.
M5009assignment-to-inputerrorTrying to assign to input component '<componentName>'.
M5009assignmenttoinputerrorTrying to assign to input component <idNode>.
M5010homotopy-recommendedinfoEquation contains steep nonlinearity '<term>' without homotopy. Consider wrapping with homotopy(actual, simplified).
M5011assignment-to-parametererrorTrying to assign to parameter component in <componentName> := <exprText>
M5012assignment-to-iteratorerrorAssignment to iterator '<iteratorName>'.
M5013not-a-stream-variableerrorOperand '<operand>' to operator '<operator>' is not a stream variable.
M5013notastreamvariableerrorOperand '<aText>' to operator '<fText>' is not a stream variable.
M5014assignment-to-non-variableerrorComponent '<componentName>' may not be assigned to due to class specialization '<specialization>'.
M5015function-call-contains-subscriptserrorFunction call <cref> contains subscripts.
M5016tuple-subscript-not-allowederrorTuple expression can not be subscripted.
M5017when-illegal-contexterrorA when-statement may not be used inside a function or a while, if, or for-clause.
M5017whenillegalcontexterrorA when-statement may not be used inside a function or a while, if, or for-clause.
M5018reduction-invalid-expr-typeerrorInvalid expression '<exprText>' of type <actualType> in <op> reduction, expected <expectedText>.
M5019failed-to-deduce-dimensionerrorFailed to deduce dimension <dimIdx> of <varName> due to missing binding equation.
M5020output-not-definitely-assignederrorOutput variable '<varName>' in function '<funcName>' is not definitely assigned on all control flow paths.
M5021uninitialized-variable-readwarningVariable '<varName>' is read before being definitely assigned.
M5022unreachable-statementwarningUnreachable statement detected.
M5023elsewhen-variable-mismatcherrorThe same variables must be solved in elsewhen clause as in the when clause.
M5023elsewhenvariablemismatcherrorThe same variables must be solved in elsewhen clause as in the when clause.
M5024reinit-type-mismatcherrorThe first argument to reinit must be a subtype of Real, but <varName> has type <actualType>.
M5025implicit-iterator-subscript-missingerrorIdentifier <iterName> of implicit for iterator must be present as array subscript in the loop body.
M5026implicit-iteration-dim-mismatcherrorDimension <dim1> of <name1> and <dim2> of <name2> differs when trying to deduce implicit iteration range.
M5027when-condition-not-discreteerrorWhen-condition '<condText>' is not a discrete-time expression.
M5028when-if-branch-lhs-mismatcherrorThe branches of an if-equation inside a when-equation must have the same set of component references on the left-hand side.
M5029clocked-when-has-elsewhenerrorClocked when equation can not contain elsewhen part.
M5030clocked-when-branch-in-whenerrorClocked when branch in when equation.
M5031invalid-when-lhserrorInvalid left-hand side of when-equation: <lhsStr>.
M5032when-conditional-expected-booleanerrorType error in when conditional '<condStr>'. Expected Boolean scalar or vector, got Clock.
M5033reinit-not-continuouserrorThe first argument to reinit must be a continuous time variable, but <varName> is <variability>.
M5034eval-external-builtinerrorInternal error NFCeval.evalBuiltinCall: unimplemented case for <funcName>
M5035argument-not-differentiableerrorArgument '<argName>' of der is not differentiable.
M5036invalid-size-indexerrorInvalid index <dim> in call to size of <arrName>, valid index interval is [1,<maxDim>].
M5037function-no-named-parametererrorFunction <funcName> has no input parameter named <paramName>.
M5038when-in-initial-equationerrorwhen-clause is not allowed in initial section.
M5039size-first-arg-not-arrayerrorThe first argument of size(<argText>) must be an array expression.
M5040reinit-outside-whenerrorOperator reinit may only be used in the body of a when equation.
M5041reinit-in-algorithmerrorOperator reinit may not be used in an algorithm section (use translation flag --allowNonStandardModelica=reinitInAlgorithms to ignore).
M5042reinit-arg1-not-variableerrorThe first argument to reinit must be a variable of type Real or an array of such variables.
M5043illegal-end-usageerror'end' can not be used outside array subscripts.
M5044reinit-arg2-type-mismatcherrorType mismatch for positional argument 2 in reinit(=<argText>). The argument has type: <actualType> expected type: <expectedType>

M6xxx — Synchronous clocks, state machines & purity

CodeRuleSeverityMessage
M6001mixed-clock-domainserrorClocked expression '<exprText>' mixes signals from different clock domains.
M6001mixedclockdomainserrorMixed clock domains in expression '<target>' without explicit conversion operator.
M6002sample-factor-not-positiveerrorSub-clock factor must be a positive integer.
M6002samplefactornotpositiveerrorSample factor '<target>' must be a positive non-zero integer.
M6003previous-outside-clockederrorOperator 'previous()' may only be applied to clocked discrete-time variables in '<exprText>'.
M6003previousoutsideclockederrorprevious() can only be called on clocked discrete variables, but '<target>' is unclocked.
M6004hold-in-continuouserrorOperator 'hold()' converts a clocked signal to continuous-time and cannot be used inside a clocked partition: '<exprText>'.
M6004holdincontinuouserrorhold() operator cannot be called in continuous equation section without boundary causality.
M6010duplicate-initial-stateerrorA state machine partition must have at most one initialState() call.
M6010duplicateinitialstateerrorMore than one state marked as initialState in state machine '<target>'.
M6020impure-called-in-pureerrorImpure function '<callText>' cannot be called inside a pure function.
M6020impurecalledinpureerrorPure function cannot call impure function '<target>'.
M6021impure-in-equation-sectionerrorImpure function '<callText>' may only be called inside a when-equation or when-statement.
M6021impureinequationsectionerrorImpure function '<target>' may only be called in algorithm sections or when equations.
M6040break-connection-not-founderrorConnection '<connText>' in 'break' modifier does not exist in base class.

SysML v2 / KerML ​

Systems architecture & requirements. 48 rules · @modelscript/sysml2 · Source: languages/sysml2/src/errors.ts · Language guide

S1xxx — Syntax, parsing & naming conventions

CodeRuleSeverityMessage
S1001parse-errorerrorParse error: <detail>.
S1002parse-missingerrorExpected token missing: '<expected>'.
S1003definition-namingwarningDefinition '<name>' should start with an uppercase letter
S1004usage-namingwarningUsage '<name>' should start with a lowercase letter
S1005package-namingwarningPackage '<name>' should start with an uppercase letter

S2xxx — Scoping & name resolution

CodeRuleSeverityMessage
S2001duplicate-memberwarningDuplicate member '<name>' in '<scope>'
S2002symbol-not-founderrorSymbol '<name>' not found in scope.
S2003allocation-target-unresolvederrorAllocation target '<target>' could not be resolved
S2003unresolved-targeterrorAllocation target '<target>' could not be resolved
S2004allocation-source-unresolvederrorAllocation source '<source>' could not be resolved
S2004unresolved-sourceerrorAllocation source '<source>' could not be resolved
S2005unresolved-importerrorImport '<pkg>' could not be resolved.
S2006unresolved-transition-stateerrorTransition state '<stateName>' could not be resolved in enclosing state machine.

S3xxx — Type system & static checking

CodeRuleSeverityMessage
S3001type-mismatcherrorType mismatch: cannot assign value of type '<actualType>' to feature '<featureName>' with declared type '<declaredType>'.
S3002incompatible-port-connectionerrorIncompatible port connection between '<p1>' (<t1>) and '<p2>' (<t2>).
S3003dimensional-mismatcherrorDimensional mismatch: cannot assign value of dimension '<actualDim>' to feature '<featureName>' with declared dimension '<targetDim>'.
S3004invalid-multiplicity-boundserrorInvalid multiplicity bounds: lower bound (<lower>) cannot be greater than upper bound (<upper>).
S3005target-not-requirementerrorTarget '<target>' is not a Requirement
S3006verify-target-not-a-requirementerrorVerify target '<target>' is not a Requirement
S3007dimensional-connection-mismatcherrorDimensional mismatch in connection between '<sourceName>' (<sourceDim>) and '<targetName>' (<targetDim>).

S4xxx — Structural & metamodel semantics

CodeRuleSeverityMessage
S4001circular-specializationerrorCircular specialization: '<name>' transitively specializes itself
S4002circular-satisfactionerrorCircular satisfaction: '<name>' transitively satisfies itself
S4003empty-definitioninfoDefinition '<name>' has no members
S4004abstract-requirement-violationerrorCannot make an existing concrete requirement abstract.
S4005ontological-inconsistencyerrorOntological inconsistency detected in '<name>'<detail>
S4006missing-subjectinfoRequirement '<name>' should have a specified subject or satisfy relation
S4007empty-packageinfoPackage '<name>' has no members
S4008requirement-without-constraintinfoRequirement '<name>' has no constraints or textual documentation
S4009empty-verification-caseinfoVerification case '<name>' has no verify requirements or sub-actions
S4010missing-verification-objectivewarningVerification case '<name>' has no verification objective or verify statement
S4011unverified-requirementwarningRequirement '<name>' is not verified by any verification case in package '<pkgName>'

S5xxx — Behavior, state machines & formal verification

CodeRuleSeverityMessage
S5001constraint-violatederrorConstraint '<name>' evaluates to false
S5002requirement-failederrorRequirement '<name>' has constraint(s) that evaluate to false
S5003broken-interface-contracterrorBroken interface contract on '<name>': <reason>
S5003interface-contract-brokenerrorBroken interface contract on '<name>': <reason>
S5004activity-cfa-unreachablewarning<detail>
S5005activity-soundness-violationerror<detail>
S5006definite-assignment-violationerrorVariable '<name>' may be used before definite assignment
S5007statemachine-nondeterministicerrorNon-deterministic guards detected: <detail>
S5008statemachine-deadlockerrorDeadlock gap detected in transition guards: <detail>
S5009satisfying-violated-requirementerrorPart '<partName>' cannot satisfy requirement '<reqName>': <violations>
S5010conflicting-requirementserrorConflicting requirements in '<pkgName>': <conflictNames> cannot be simultaneously satisfied.<witnessStr>
S5011interprocedural-contract-violationerror<detail>
S5012loop-non-terminatingwarning<detail>
S5013decision-table-non-exhaustivewarningDecision node '<decideName>' is not exhaustive: <detail>
S5014decision-table-nondeterministicerrorDecision node '<decideName>' has overlapping branch guards: <detail>
S5015decision-table-dead-branchwarningDecision node '<decideName>' has dead branch(es): <detail>
S5016activity-safety-violationerror<detail>

ReqIF ​

Requirements interchange & contract entailment. 10 rules · @modelscript/reqif · Source: languages/reqif/src/lints/rules.ts · Language guide

CodeRuleSeverityMessage
M7001dangling-requirement-relationerrorRequirement relation '<relId>' references missing <role> requirement '<missingId>'.
M7002type-attribute-mismatcherrorAttribute '<attrName>' expected type '<expectedType>', but got value '<actualValue>'.
M7003circular-requirement-hierarchyerrorCircular requirement hierarchy detected at '<reqId>' along cycle path [<cyclePath>].
M7004unverified-leaf-requirementwarningLeaf requirement '<reqId>' has no outgoing 'verifies' or 'satisfies' relation.
M7005unbounded-formal-contractwarningRequirement '<reqId>' is marked safety/functional but lacks a bounded mathematical contract.
M7006duplicate-spec-object-iderrorDuplicate requirement identifier '<reqId>' declared in specification.
M7007missing-mandatory-attributeerrorRequirement '<reqId>' is missing mandatory attribute '<attrName>'.
M7008empty-specificationwarningSpecification '<specId>' contains no requirement hierarchies.
M7009unresolved-type-referenceerrorElement '<elementId>' references undefined type '<typeRef>'.
M7010invalid-contract-comparatorerrorRequirement '<reqId>' specifies invalid contract comparator '<comp>'.

SSP ​

FMU system structure & parameterization. 14 rules · @modelscript/ssp · Source: languages/ssp/src/errors.ts · Language guide

CodeRuleSeverityMessage
S7001SSP_EMPTY_CONNECTOR_NAMEerrorConnector in <owner> has an empty name.
S7002SSP_DUPLICATE_CONNECTORerrorDuplicate connector '<name>' declared in <owner>.
S7003SSP_INVALID_CONNECTOR_KINDerrorInvalid connector kind '<kind>'. Must be input, output, inout, parameter, or calculatedParameter.
S7004SSP_EMPTY_COMPONENT_NAMEerrorComponent declared with an empty name attribute.
S7005SSP_DUPLICATE_COMPONENTerrorDuplicate component '<name>' in system.
S7006SSP_EMPTY_SOURCEerrorComponent '<comp>' has an empty or missing source FMU URI.
S7007SSP_UNDEFINED_COMPONENTerrorReferenced component '<comp>' is not defined in system elements.
S7008SSP_UNDEFINED_CONNECTORerrorReferenced connector '<conn>' not found on component '<comp>'.
S7009SSP_CONNECTOR_TYPE_MISMATCHerrorConnection type mismatch: '<startType>' cannot connect to '<endType>'.
S7010SSP_CONNECTOR_CAUSALITY_CONFLICTerrorConnection violates causal flow rules.
S7011SSP_CYCLIC_CONNECTIONerrorConnection creates an algebraic loop or cyclic dependency without delay.
S7012SSP_INVALID_EXPERIMENT_BOUNDSerrorDefaultExperiment stopTime must be strictly greater than startTime.
S7013SSP_CONNECTOR_UNIT_MISMATCHwarningConnector unit mismatch: '<startUnit>' connected to '<endUnit>'.
S7014SSP_ALGEBRAIC_FEEDTHROUGH_LOOPerrorAlgebraic feedthrough loop detected across connected components: <cyclePath>.

OWL2 ​

Ontologies & description-logic reasoning. 24 rules · @modelscript/owl2 · Source: languages/owl2/src/errors.ts · Language guide

CodeRuleSeverityMessage
O1001parse-errorerrorSyntax error near '<snippet>'.
O1002undeclared-prefixerrorPrefix '<prefix>:' used in abbreviated IRI '<iri>' is not declared.
O1003duplicate-prefixwarningPrefix '<prefix>:' is declared multiple times in the ontology header.
O1004invalid-irierrorInvalid or malformed IRI '<iri>'.
O1005insufficient-arityerrorOWL 2 construct '<construct>' requires at least <minArity> arguments, but got <actualArity>.
O2001undeclared-entitywarningEntity '<iri>' is used as a <role> without an explicit Declaration axiom.
O2002duplicate-declarationwarningDuplicate Declaration(<kind>(<iri>)) in ontology.
O2003reserved-vocabulary-declarationerrorCannot declare or redefine built-in OWL 2 / RDF / RDFS / XSD vocabulary IRI '<iri>'.
O3001illegal-property-punningerrorIllegal OWL 2 DL punning: '<iri>' is used as both '<kindA>' and '<kindB>' (ObjectProperty, DataProperty, and AnnotationProperty vocabularies must be disjoint).
O3002expected-object-propertyerrorExpected an ObjectProperty in '<construct>', but '<iri>' is declared as a DataProperty.
O3003expected-data-propertyerrorExpected a DataProperty in '<construct>', but '<iri>' is declared as an ObjectProperty.
O3004expected-class-expressionerrorExpected a Class expression in '<construct>', but '<iri>' is a Datatype.
O3005invalid-datatypewarningDatatype '<datatypeIri>' is not in the standard OWL 2 datatype map.
O3006datatype-literal-mismatcherrorLexical value '<literal>' is not a valid literal for datatype '<datatypeIri>'.
O4001non-simple-property-restrictionerrorOWL 2 DL global restriction violation: non-simple (transitive or composite) property '<propertyIri>' cannot be used in '<construct>'.
O4002contradictory-property-characteristicserrorObject property '<propertyIri>' has contradictory characteristics '<charA>' and '<charB>'.
O4003property-hierarchy-cyclewarningCycle detected in property hierarchy: '<cycle>'.
O4004class-hierarchy-cycleinfoSubClassOf cycle detected (equivalent classes): '<cycle>'.
O4005self-referential-axiomwarningRedundant or contradictory self-referential axiom '<axiomType>' on '<iri>'.
O5001functional-property-clasherrorFunctional/InverseFunctional property '<propertyIri>' violation: <detail>.
O5002negative-assertion-clasherrorNegative property assertion on '<propertyIri>' for '<subjectIri>' clashes with asserted or inferred value '<target>'.
O5003unsatisfiable-classerrorClass '<classIri>' is unsatisfiable (equivalent to owl:Nothing): <reason>.
O5004ontology-inconsistenterrorOntology is logically inconsistent: <explanation>
O6001profile-el-violationwarningConstruct '<construct>' is outside the OWL 2 EL profile.

STEP (ISO 10303) ​

B-Rep CAD assemblies & AP242 PMI. 8 rules · @modelscript/step · Source: languages/step/src/errors.ts · Language guide

CodeRuleSeverityMessage
M1001step-syntax-errorerrorSTEP file syntax error: <detail>.
M1002missing-header-sectionerrorSTEP exchange file is missing mandatory 'HEADER;' section.
M1003missing-schema-declarationwarningSTEP header lacks a recognized 'FILE_SCHEMA' declaration (e.g. AP203, AP214, AP242).
M1004missing-data-sectionerrorSTEP exchange file is missing mandatory 'DATA;' section.
M1005unresolved-entity-referenceerrorReferenced STEP entity '#<entityId>' is not defined in the DATA section.
M1006duplicate-entity-iderrorEntity ID '#<entityId>' is declared more than once in the DATA section.
M1007empty-data-sectionwarningSTEP DATA section contains no entity records.
M1008unsupported-ap-schemawarningApplication Protocol schema '<schema>' may not support complete PMI or B-Rep extraction.

OpenSCAD ​

Parametric constructive solid geometry. 8 rules · @modelscript/scad · Source: languages/scad/src/errors.ts · Language guide

CodeRuleSeverityMessage
K1001SCAD_UNDEFINED_VARIABLEerrorUndefined variable '<name>'.
K1002SCAD_UNDEFINED_FUNCTIONerrorUndefined function '<name>'.
K1003SCAD_UNDEFINED_MODULEerrorUndefined module '<name>'.
K1004SCAD_DIVISION_BY_ZEROerrorDivision by zero in expression.
K1005SCAD_INVALID_DIMENSIONerrorInvalid non-positive dimension (<val>) in '<param>': dimensions must be > 0.
K1006SCAD_ARGUMENT_COUNTerrorToo many arguments to '<name>': expected at most <expected>, got <actual>.
K1007SCAD_UNKNOWN_PARAMETERerrorUnknown parameter '<param>' in call to '<callable>'.
K1008SCAD_DUPLICATE_DECLARATIONwarningVariable '<name>' is assigned multiple times in the same scope.

CFD (SU2 / OpenFOAM) ​

Computational fluid dynamics meshes. 8 rules · @modelscript/cfd · Source: languages/cfd/src/errors.ts · Language guide

CodeRuleSeverityMessage
C1001cfl-stability-violationwarningCourant-Friedrichs-Lewy stability number '<cfl>' exceeds recommended maximum limit for explicit scheme.
C1002unresolved-mesh-fileerrorReferenced grid mesh file '<mesh>' cannot be located or is invalid.
C1003missing-inlet-boundarywarningCFD domain '<name>' lacks a declared inlet boundary condition or stagnation state.
C1004missing-outlet-boundarywarningCFD domain '<name>' lacks a declared outlet boundary condition or pressure exit.
C1005unphysical-freestream-macherrorFreestream Mach number '<mach>' is non-physical or outside valid range [0, 25].
C1006unphysical-reynolds-numbererrorFreestream Reynolds number '<re>' must be strictly positive.
C1007negative-surface-areaerrorAerodynamic reference area '<area>' must be strictly positive.
C1008turbulent-viscosity-ratiowarningTurbulent eddy viscosity ratio '<ratio>' is non-physical.

FEA (CalculiX / Abaqus / NASTRAN) ​

Finite-element structural analysis. 8 rules · @modelscript/fea · Source: languages/fea/src/errors.ts · Language guide

CodeRuleSeverityMessage
F1001zero-elastic-moduluserrorMaterial '<mat>' has non-positive Young's modulus '<val>'.
F1002poisson-ratio-limiterrorPoisson's ratio '<val>' for material '<mat>' violates physical stability bounds (-1.0 < nu < 0.5).
F1003unconstrained-rigid-bodywarningStructural mesh '<name>' has only '<count>' constrained boundary nodes; rigid-body motion may be unconstrained.
F1004empty-mesherrorFEA deck '<name>' does not contain any defined finite elements.
F1005missing-material-definitionerrorElement set '<elset>' lacks an assigned material specification or section.
F1006degenerate-element-nodeserrorElement '<elemId>' of type '<type>' contains duplicate or degenerate node references.
F1007negative-yield-stresserrorPlastic yield strength '<val>' for material '<mat>' must be strictly positive.
F1008negative-densitywarningMass density '<val>' for material '<mat>' must be strictly positive for dynamic analysis.

C ​

Numerical & embedded C integration. 10 rules · @modelscript/c · Source: languages/c/src/errors.ts · Language guide

CodeRuleSeverityMessage
M8401uninitialized-variablewarningLocal variable '<varName>' may be read before being initialized.
M8402constant-division-by-zeroerrorDivision or modulo by constant zero detected in arithmetic expression.
M8403array-bounds-overflowerrorStatic array subscript '<arrName>[<index>]' exceeds declared dimension bound of <bound>.
M8404unreachable-codewarningUnreachable statements detected following unconditional 'return', 'break', or 'goto'.
M8405assignment-in-conditionalwarningAssignment operator '=' used inside conditional expression; did you mean '=='?
M8406algebraic-dependency-cycleerrorProcedural algebraic dependency cycle detected without state lag: '<cycle>'.
M8407null-pointer-dereferenceerrorDereference of statically known NULL pointer in expression '<expr>'.
M8408function-prototype-mismatcherrorFunction '<fnName>' signature conflicts with declaration: expected '<expected>', got '<actual>'.
M8409missing-return-valueerrorNon-void function '<fnName>' with return type '<returnType>' reaches end of body without returning a value.
M8410implicit-lossy-conversioninfoImplicit floating-point to integer conversion from '<fromType>' to '<toType>' may cause lossy truncation.

Fortran ​

Legacy scientific subroutines. 15 rules · @modelscript/fortran · Source: languages/fortran/src/lints/index.ts · Language guide

CodeRuleSeverityMessage
M4070undeclared-variableerrorVariable '<varName>' referenced without declaration under strict typing.
M4071uninitialized-variablewarningVariable '<varName>' may be used before being assigned a value.
M4072constant-division-by-zeroerrorDivision by constant zero detected in arithmetic expression.
M4073storage-bounds-overflowerrorStorage array index <arrayName>(<index>) exceeds allocated capacity of <maxCapacity>.
M4074dead-code-after-returnwarningUnreachable statements detected following unconditional RETURN.
M4075do-loop-index-mutationerrorDO-loop index variable '<indexVar>' is modified within its loop body.
M4076procedural-algebraic-loopwarningAlgebraic cycle detected among procedural assignments without time-step lag: <cycleStr>.
M4077common-block-mismatcherrorCOMMON block '/<blockName>/' definition conflict: <reason>.
M4078array-dimension-underflowerrorArray '<arrName>' declared with non-positive dimension size (<dim> <= 0).
M4079obsolete-arithmetic-ifinfoThree-way arithmetic IF is obsolescent; prefer structured IF/THEN/ELSE.
M4080identifier-mismatcherrorEnd <unitKind> identifier '<endName>' does not match '<startName>'.
M4081intent-in-mutationerrorDummy argument '<varName>' declared with 'INTENT(IN)' cannot be modified.
M4082invalid-statement-syntaxerrorSyntax error in Fortran statement: <detail>.
M4083unclosed-blockerrorUnclosed or mismatched '<blockName>' block structure.
M4084math-domain-violationerrorIntrinsic math function '<fnName>' evaluated outside its real domain with argument '<argVal>'.

JSBSim ​

6-DOF flight dynamics. 10 rules · @modelscript/jsbsim · Source: languages/jsbsim/src/errors.ts · Language guide

CodeRuleSeverityMessage
M8901missing-aircraft-nameerrorJSBSim <fdm_config> element is missing required 'name' attribute.
M8902non-positive-reference-areaerrorWing reference area (<val>) must be strictly positive.
M8903non-positive-wingspan-chorderrorWing metric '<param>' (<val>) must be strictly positive.
M8904non-positive-empty-weighterrorAircraft empty weight (<val>) must be strictly positive.
M8905invalid-inertia-tensorerrorMoments of inertia tensor is invalid: <reason>.
M8906missing-aerodynamics-sectionerrorAircraft model does not define any aerodynamic force/moment coefficients in <aerodynamics>.
M8907missing-landing-gearwarningAircraft model defines no landing gear bogies in <ground_reactions>; ground interaction is disabled.
M8908negative-engine-thrusterrorEngine '<engineName>' specifies negative maximum thrust (<val>).
M8909undefined-fcs-inputwarningFCS channel '<channelName>' references input property '<inputProperty>' not bound in flight control.
M8910unrealistic-cg-locationwarningCenter of gravity (<cgX>) is significantly far from aerodynamic center (<aeroX>); aircraft may have extreme pitch instability.

NASA ROCETS ​

Liquid rocket engine transients. 14 rules · @modelscript/rocets · Source: languages/rocets/src/lints/index.ts · Language guide

CodeRuleSeverityMessage
M8001unconnected-fluid-porterrorFluid port '<comp>.<port>' is not connected in the propellant flow circuit.
M8002fluid-type-mismatcherrorIncompatible fluid stream connection '<conn>': cannot mix '<fromFluid>' into '<toFluid>' without a combustion chamber.
M8003shaft-power-imbalanceerrorTurbopump shaft '<shaftId>' power imbalance: <reason>.
M8004unbalanced-flow-spliterrorMass conservation failure at junction '<junct>': inlet and outlet flow mismatch exceeds tolerance (|\u0394m| = <value> kg/s).
M8005pump-cavitation-riskwarningPump '<pumpId>' inlet suction pressure is below required NPSH margin (margin: <value> kPa). Cavitation risk.
M8006negative-chamber-pressureerrorNon-physical pressure at '<comp>': computed pressure is <val> Pa (must be > 0).
M8007combustion-temperature-limitwarningGas temperature at '<comp>' (<value> K) exceeds throat thermal structural limit (<limitK> K).
M8008invalid-valve-scheduleerrorInvalid valve actuation profile for '<valveId>': <reason>.
M8009choked-flow-inconsistencywarningSupersonic nozzle expansion at '<comp>' is not choked (pressure ratio Pc/Pa = <value> < 1.89).
M8010user-fortran-routine-errorerrorFortran user routine in component '<comp>' has syntax or semantic error: <msg>.
M8011extreme-mixture-ratiowarningEngine mixture ratio (O/F = <value>) at '<comp>' is outside stable combustion limits.
M8012missing-fluid-tableerrorPropellant fluid table for '<fluid>' is not loaded in the session.
M8013turbine-overspeed-hazardwarningTurbopump shaft '<shaft>' speed (<value> RPM) exceeds maximum burst rating (<maxRpm> RPM).
M8014closed-flow-circuiterrorPump '<pumpId>' discharge is completely blocked with no open valve or recirculation path.

CCSDS ​

Astrodynamics & spacecraft telemetry. 8 rules · @modelscript/ccsds · Source: languages/ccsds/src/lints/rules.ts · Language guide

CodeRuleSeverityMessage
M8201sub-orbital-impact-trajectoryerrorSub-orbital pericenter radius <rp> km is below Earth radius <earthRadius> km, resulting in atmospheric re-entry or impact.
M8202telemetry-bit-packing-overlaperrorTelemetry bit packing overlap in container '<containerName>': entry '<entryName>' starts at bit <bitOffset> before previous entry '<prevEntry>' ends at bit <endBit>.
M8203hyperbolic-unbounded-orbitwarningOrbit eccentricity <eccentricity> indicates a hyperbolic or parabolic trajectory.
M8204unrecognized-reference-frameerrorUnrecognized or non-inertial reference frame '<refFrame>'.
M8205missing-epoch-timestamperrorEphemeris point missing valid timestamp at index <index>.
M8206non-monotonic-ephemeris-epochserrorEphemeris timestamp '<epoch>' is not strictly greater than previous timestamp '<prevEpoch>'.
M8207duplicate-parameter-nameerrorDuplicate telemetry parameter declaration for '<paramName>'.
M8208negative-spacecraft-masserrorSpacecraft mass <massKg> kg must be strictly positive.

EASY5 ​

Dynamic simulation & linear control. 12 rules · @modelscript/easy5 · Source: languages/easy5/src/lints/index.ts · Language guide

CodeRuleSeverityMessage
M7001unconnected-input-portwarningInput port '<comp>.<port>' has no incoming connection.
M7002csmf-algebraic-looperrorDirect feedthrough algebraic loop detected with no continuous state or delay: <value>.
M7003duplicate-component-iderrorDuplicate component identifier '<id>' in model.
M7004uninitialized-stateinfoContinuous state in component '<comp>' defaults to 0.0 with no explicit S0 specified.
M7005improper-transfer-functionerrorTransfer function in component '<comp>' is improper: numerator degree (<degNum>) exceeds denominator degree (<degDen>).
M7006parameter-out-of-boundserrorParameter '<param>' in component '<comp>' is out of valid bounds: <reason>.
M7007port-dimension-mismatcherrorConnection width mismatch from '<from>' (dim <dim1>) to '<to>' (dim <dim2>).
M7008state-index-out-of-boundserrorState index S(<idx>) in component '<comp>' exceeds allocated continuous states (<max>).
M7009sample-rate-mismatchwarningSample rate mismatch between '<from>' (<rate1>s) and '<to>' (<rate2>s) without rate transition block.
M7010user-fortran-syntax-errorerrorUser Fortran subroutine in '<comp>' has defect: <detail>
M7011unstable-linear-polewarningComponent '<comp>' has open-loop pole in right-half plane (Re = +<value>), indicating open-loop instability.
M7012table-extrapolation-hazardwarningComponent '<comp>' references table '<tableName>' without bounded extrapolation protection.

AUTOSAR ​

Classic & Adaptive software architecture. 15 rules · @modelscript/autosar · Source: languages/autosar/src/errors.ts · Language guide

CodeRuleSeverityMessage
M7401unconnected-mandatory-porterrorRequired port '<portName>' on component '<compName>' (<typeName>) is unconnected in composition '<compSwc>'.
M7402interface-mismatcherrorInterface mismatch in connector '<connName>': Provider port '<pPort>' provides '<pIf>' while requester port '<rPort>' requires '<rIf>'.
M7403data-element-type-mismatchwarningData element '<deName>' in interface '<ifName>' has no data type reference.
M7403invalid-runnable-perioderrorTiming event for runnable '<symbol>' defines non-positive period (<period> s).
M7404duplicate-short-nameerrorDuplicate SHORT-NAME '<name>' detected in package '<pkg>'.
M7405invalid-data-type-mappingerrorInvalid data type mapping for '<dtName>': <reason>.
M7405wcet-budget-overflowerrorExecution time WCET (<wcetMs> ms) of runnable '<runnableName>' exceeds its timing event period (<periodMs> ms).
M7406circular-composition-dependencyerrorCircular software component composition dependency detected: <path>.
M7406overlapping-pdu-bitserrorSignals '<sigA>' and '<sigB>' overlap bit index <bitIdx> in PDU '<pduName>'.
M7407missing-software-address-methodwarningVariable data prototype '<variable>' lacks a declared SwAddrMethod memory section mapping.
M7407pdu-exceeds-frame-capacityerrorPDU '<pduName>' length (<pduLen> bytes) exceeds CAN frame '<frameName>' payload capacity (<frameLen> bytes).
M7408cyclic-runnable-dependencyerrorCyclic data dependency detected between runnables: '<value>'.
M7408incompatible-port-interface-directionerrorPort '<portName>' interface direction violation: <reason>.
M7409missing-internal-behaviorwarningAtomic software component '<swcName>' lacks internal behavior definition.
M7410untriggered-runnableinfoRunnable entity '<rName>' in SWC '<swcName>' has no associated RTE trigger event.

Block diagrams & control systems. 10 rules · @modelscript/simulink · Source: languages/simulink/src/lints/rules.ts · Language guide

CodeRuleSeverityMessage
M7201unconnected-input-porterrorInput port <portNumber> on block '<blockName>' (<blockType>) is unconnected. All input ports must be driven or terminated with a Ground block.
M7202direct-feedthrough-algebraic-looperrorDirect-feedthrough algebraic loop detected across blocks: [<loopNames>]. Control loops with direct algebraic feedthrough must contain at least one state delay (Integrator or UnitDelay) or will require an iterative non-linear solver.
M7203unresolved-subsystem-linkerrorSubSystem block '<blockName>' has no defined sub-diagram or unresolved library reference.
M7204port-index-out-of-boundserrorBlock '<blockName>' has invalid port index <portNumber>. Port numbers must be positive integers (1, 2, ...).
M7205multirate-sample-time-conflictwarningBlock '<blockName>' has invalid SampleTime <sampleTime>. SampleTime must be >= 0 (discrete) or -1 (inherited).
M7206non-numeric-parametererrorBlock '<blockName>' parameter '<paramName>' contains non-finite value <value>. Parameters must evaluate to finite Real numbers.
M7207invalid-bus-selectorerrorBusSelector block '<blockName>' references signal '<signalName>' absent from the incoming bus schema from '<sourceBlock>'.
M7208duplicate-block-nameerrorDuplicate block name '<blockName>' found in subsystem scope '<systemName>'. Block names within a system must be unique.
M7209divide-by-zero-riskwarningProduct/Divide block '<blockName>' performs division operations with inputs '<inputs>'; ensure denominator signal is protected against division by zero.
M7210missing-integrator-initial-conditioninfoIntegrator block '<blockName>' does not specify an explicit 'InitialCondition'; defaulting to 0.0.

GT-SUITE ​

Engine, powertrain & thermal flow. 15 rules · @modelscript/gtsuite · Source: languages/gtsuite/src/lints/index.ts · Language guide

CodeRuleSeverityMessage
M9001cfl-acoustic-violationwarningPipe '<pipeId>' cell length violates acoustic CFL condition: simulation dt (<value> \xB5s) exceeds stability limit (<value> \xB5s).
M9002compressor-surge-hazardwarningCompressor '<compId>' operating point (PR = <value>, \u1E41 = <value> kg/s) falls into the aerodynamic surge region.
M9003compressor-choke-limitwarningCompressor '<compId>' mass flow (<value> kg/s) exceeds maximum choke/stonewall sonic flow capacity.
M9004valve-profile-overlap-errorerrorValve '<valveId>' kinematic profile defect: <reason>.
M9005compression-ratio-invaliderrorCylinder '<cylId>' compression ratio (<value>) is physically unrealistic (must be between 6.0 and 26.0).
M9006unconnected-plenum-nodeerrorFlow split or plenum '<plenumId>' has no connected flow paths or boundary conditions.
M9007discharge-coefficient-out-of-boundswarningValve or orifice '<valveId>' discharge coefficient (<value>) is non-physical (must satisfy 0.0 < Cd <= 1.0).
M9008knock-margin-deficitwarningCylinder '<cylId>' operates in severe autoignition/knock hazard (CR = <value>, ignition anchor = <value>\xB0 CA BTDC).
M9009missing-boundary-pressureerrorEnvironment node '<envId>' has invalid or uninitialized static pressure (<= 0 Pa).
M9010turbine-expansion-ratio-excesswarningTurbine '<turbId>' expansion ratio (<value>) exceeds single-stage choked limit (> 4.5).
M9011intercooler-effectiveness-invalidwarningIntercooler '<icId>' thermal effectiveness (<value>) violates 2nd Law of Thermodynamics (must satisfy 0.0 < eff <= 1.0).
M9012air-fuel-equivalence-out-of-boundserrorAir-fuel equivalence ratio lambda (<value>) is outside combustible flammability limits (0.50 <= lambda <= 2.50).
M9013negative-pipe-dimensionserrorPipe '<pipeId>' has non-positive <dim> (<value> m).
M9014injector-timing-conflicterrorInjector '<injId>' start of injection (<value>\xB0 CA) falls outside valid cycle window (-360\xB0 to +720\xB0).
M9015isolated-shaft-inertiawarningTurbocharger shaft '<shaftId>' has no linked compressor or turbine rotating components.

ASAM OpenDRIVE ​

Road network geometry. 8 rules · @modelscript/opendrive · Source: languages/opendrive/src/lints/rules.ts · Language guide

CodeRuleSeverityMessage
M7801road-tangency-discontinuityerrorTangency discontinuity between geometry segments in road '<roadId>' at s=<s>: position gap <value>m, heading gap <value>rad.
M7802unlinked-lane-boundaryerrorUnlinked lane connection: lane '<laneId>' in road '<roadId>' links to non-existent <dir> lane '<targetId>'.
M7803clothoid-curvature-divergenceerrorClothoid curvature rate of change in road '<roadId>' at s=<s> diverges (<value> 1/m^2).
M7804overlapping-junction-pathswarningConnecting path in junction '<junctionId>' between road '<road1>' and '<road2>' conflicts without priority control.
M7805elevation-gradient-extremewarningExtreme elevation gradient in road '<roadId>' at s=<s>: slope <value>% exceeds standard 15% safety threshold.
M7806negative-lane-widtherrorNegative or zero lane width in lane '<laneId>' of road '<roadId>' at sOffset=<sOffset>m.
M7807duplicate-road-iderrorDuplicate road ID '<roadId>' detected in roadway network.
M7808missing-center-laneerrorLane section in road '<roadId>' at s=<s> is missing mandatory center lane (ID 0).

ASAM OpenSCENARIO ​

Driving scenarios & RSS safety margins. 10 rules · @modelscript/openscenario · Source: languages/openscenario/src/errors.ts · Language guide

CodeRuleSeverityMessage
M8501dangling-entity-referenceerrorEntity '<entityName>' referenced in '<contextName>' is not defined in Entities catalog.
M8502unsatisfiable-triggerwarningTrigger condition '<conditionName>' is unsatisfiable: <reason>.
M8503unreachable-road-positionerrorRoad position specifies invalid road ID '<roadId>' or lane index '<laneId>'.
M8504cyclic-event-triggererrorCircular trigger condition detected between event '<eventA>' and event '<eventB>'.
M8505missing-ego-entityerrorScenario does not define an autonomous vehicle under test ('ego' vehicle).
M8506negative-speed-targeterrorSpeed action '<actionName>' specifies negative target velocity '<speed>' m/s.
M8507excessive-decelerationwarningAction demands deceleration '<decel>' m/s² for '<entityName>', exceeding vehicle limit '<limit>' m/s².
M8508imminent-collision-initial-stateerrorInitial positions for '<entityA>' and '<entityB>' violate collision envelope (distance: <value> m).
M8509empty-maneuver-groupwarningManeuver group '<groupName>' specifies no actors or no maneuvers.
M8510invalid-condition-delayerrorTrigger condition '<condName>' specifies negative activation delay '<delay>' s.

GENSYS ​

Railway vehicle dynamics & track. 6 rules · @modelscript/gensys · Source: languages/gensys/src/errors.ts · Language guide

CodeRuleSeverityMessage
G1001invalid-body-masserrorBody '<name>' has non-positive mass (<mass> kg).
G1002non-positive-inertiaerrorBody '<name>' has non-positive principal inertia tensor components.
G1003dangling-body1-referenceerrorCoupling '<name>' references unknown body1 '<body1>'.
G1004dangling-body2-referenceerrorCoupling '<name>' references unknown body2 '<body2>'.
G1005invalid-track-gaugeerrorTrack specification defines non-positive or unphysical gauge (<gauge> m).
G1006unclosed-rail-profilewarningWheel-rail contact profile '<profileName>' curve has discontinuous slope or is unclosed.

SIMPACK ​

Spatial multibody dynamics. 6 rules · @modelscript/simpack · Source: languages/simpack/src/errors.ts · Language guide

CodeRuleSeverityMessage
K7001invalid-body-masserrorBody '<id>' has non-positive mass (<mass> kg).
K7002dangling-body-referenceerrorMarker '<markerId>' references unknown parent body '<bodyId>'.
K7003unknown-from-markererrorJoint '<jointId>' references unknown from-marker '<marker>'.
K7004unknown-to-markererrorJoint '<jointId>' references unknown to-marker '<marker>'.
K7005overconstrained-mobilitywarningMechanism is overconstrained according to Grübler-Kutzbach criterion (Mobility = <mobility> < 0).
K7006baumgarte-divergencewarningJoint '<jointId>' Baumgarte stabilization parameter '<param>' is non-positive or divergent (<val>).

PSCAD / EMTDC ​

Electromagnetic transients (EMT). 17 rules · @modelscript/pscad · Source: languages/pscad/src/lints/index.ts · Language guide

CodeRuleSeverityMessage
M6001floating-electrical-nodeerrorElectrical node '<nodeName>' is floating with no closed connections.
M6002transformer-winding-mismatchwarningTransformer '<xfmrName>' <side> rating (<ratedKv> kV) does not match connected bus base (<busKv> kV).
M6003invalid-parameter-boundserrorComponent '<elemName>' parameter '<paramName>' = <val> is invalid: <reason>.
M6004weak-grid-warningwarningPoint of Interconnection '<poiBus>' has low Short-Circuit Ratio (SCR = <value> < 1.5). IBR control stability risks detected.
M6005csmf-unresolved-inputerrorCSMF control block '<blockId>' references unresolved upstream signal block '<missingInputId>'.
M6006line-travel-time-underflowerrorTransmission line '<lineId>' wave propagation delay (<value> us) is smaller than simulation time step (<value> us). Reduce time step or use a lumped pi-section model.
M6007sync-machine-reactance-ordererrorSynchronous machine '<machineId>' violates physical d-axis reactance hierarchy (Xd=<xd> >= Xd'=<xdPrime> >= Xd''=<xdSub> pu required).
M6008mov-arrester-under-ratedwarningMOV surge arrester '<arresterId>' reference voltage (<value> kV) is below connected bus '<busName>' nominal phase-to-ground peak voltage (<value> kV), causing continuous thermal conduction.
M6009duplicate-component-iderrorDuplicate component or bus ID '<id>' declared in schematic module '<modName>'.
M6010bus-voltage-conflicterrorConductive net shorts bus '<busA>' (<kvA> kV) directly to bus '<busB>' (<kvB> kV) without an intervening transformer.
M6011port-domain-mismatcherrorWire '<wireId>' connects control signal port '<sigPort>' directly to 3-phase electrical port '<elecPort>'.
M6012csmf-algebraic-looperrorCSMF control blocks form an algebraic loop with no state or delay element: <cycle>.
M6013parallel-ideal-sourceserrorIdeal voltage sources <sourceIds> are connected in parallel at bus '<busName>', making the nodal matrix singular.
M6014parallel-low-impedance-sourceswarningVoltage sources <sourceIds> are connected in parallel at bus '<busName>' with no declared source impedance; a stiff default impedance is assumed and large circulating currents may result.
M6015limiter-permanently-saturatedwarningLimiter '<blockId>' is permanently saturated: its input stays within [<inLo>, <inHi>] but its output limits are [<limLo>, <limHi>].
M6016component-check-failederrorComponent '<cmpName>' check failed: <reason>.
M6017component-check-warningwarningComponent '<cmpName>' check warning: <reason>.

PSS/E ​

Transmission power flow. 13 rules · @modelscript/psse · Source: languages/psse/src/errors.ts · Language guide

CodeRuleSeverityMessage
P1001bus-not-founderror<entityKind> '<id>' references non-existent <busRole>bus <busId>.
P1002generator-negative-powerwarningGenerator '<genId>' at bus <busId> has negative active power output (<pg> MW).
P1003duplicate-equipment-iderrorDuplicate generator ID '<genId>' at bus <busId>.
P2001isolated-buswarningBus <busId> ('<busName>') is isolated with 0 in-service connecting branches or transformers.
P2002missing-slack-buserrorPower network base case contains 0 slack/swing buses (Bus Type 3). Power flow solution cannot be anchored.
P2003multiple-slack-buseswarningPower network base case contains <count> swing buses without explicit multi-island partitioning.
P2004voltage-out-of-boundswarningInitial voltage magnitude at bus <busId> (<value> pu) is outside standard operational limits [0.8, 1.2 pu].
P3001generator-reactive-limits-invertederrorGenerator '<genId>' at bus <busId> has inverted reactive limits: Qmin (<qMin> MVAR) > Qmax (<qMax> MVAR).
P3002generator-power-limits-invertederrorGenerator '<genId>' at bus <busId> has inverted active power limits: Pmin (<pMin> MW) > Pmax (<pMax> MW).
P3003generator-scheduled-voltage-boundswarningGenerator '<genId>' scheduled voltage Vs = <vs> p.u. is outside the typical operating band [0.8, 1.2].
P4001branch-invalid-reactanceerrorTransmission branch '<ckt>' between bus <fromBus> and <toBus> has zero or negative reactance X = <x> p.u.
P4002branch-base-kv-mismatchwarningBranch '<ckt>' connects bus <fromBus> (<fromKv> kV) to bus <toBus> (<toKv> kV) without a transformer.
P4003transformer-tap-out-of-boundswarningTransformer '<ckt>' between bus <fromBus> and <toBus> has off-nominal tap ratio <ratio> outside typical limits [0.7, 1.3].

OpenDSS ​

Unbalanced distribution & DER hosting. 10 rules · @modelscript/opendss · Source: languages/opendss/src/errors.ts · Language guide

CodeRuleSeverityMessage
M8401unconnected-bus-nodeerror<elemType> '<elemName>' references undefined bus node '<busName>'.
M8402phase-count-mismatcherrorElement '<elemName>' (<elemPhases> phases) connected to bus '<busName>' with different phase count (<busPhases>).
M8402transformer-impedance-zeroerrorTransformer '<xfmrName>' specifies non-positive leakage reactance (xhl=<xhl>); must be > 0.
M8403load-pf-out-of-rangewarningLoad '<loadName>' specifies power factor (<pf>) outside valid range (0 < |pf| <= 1.0).
M8403transformer-voltage-mismatchwarningTransformer '<xfmrName>' winding <winding> rated voltage (<value> kV) differs from nominal bus voltage (<value> kV).
M8404reverse-power-hosting-riskwarningTotal DER generation capacity on feeder '<feederName>' (<value> kW) exceeds upstream transformer thermal rating (<value> kVA).
M8405missing-circuit-definitionerrorOpenDSS script defines circuit elements without declaring a 'New Circuit' voltage source.
M8406negative-load-powererrorLoad '<loadName>' specifies negative active power (<value> kW); use Generator or Storage for net generation.
M8407zero-or-negative-line-lengtherrorLine '<lineName>' specifies invalid non-positive length (<len>).
M8408missing-line-codeerrorLine '<lineName>' references undefined LineCode '<codeName>'.

OLGA ​

Transient multiphase flow assurance. 13 rules · @modelscript/olga · Source: languages/olga/src/errors.ts · Language guide

CodeRuleSeverityMessage
M7001cfl-condition-violationerrorSimulation timestep maxDt (<maxDt> s) violates convective/acoustic CFL stability limit (<value> s).
M7002invalid-pipe-dimensionserrorPipe section '<sectionId>' has invalid geometry: <reason>.
M7003missing-boundary-conditionerrorFlowpath '<flowpath>' has no defined <missing> boundary condition.
M7004steep-elevation-warningwarningPipe section '<sectionId>' has steep inclination (<value>\xB0), risking hydrodynamic slugging.
M7005fully-closed-choke-hazarderrorChoke valve '<chokeName>' is fully closed (opening = 0) with no active bypass route.
M7006severe-slugging-hazardwarningSevere slugging geometry detected on flowpath '<flowpath>' (seabed dip to steep riser).
M7007pig-stuck-hazarderrorPig '<pigName>' required differential pressure (<value> bar) exceeds maximum available (<value> bar).
M7008pvt-table-missing-or-invaliderrorPVT fluid table validation error: <detail>.
M7009wax-deposition-riskwarningFluid temperature (<value>\xB0C) on flowpath '<flowpath>' drops below Wax Appearance Temperature (<value>\xB0C).
M7010sand-erosion-or-dropout-hazardwarningSand transport issue on section '<sectionId>': <reason>.
M7011sour-service-metallurgy-violationerrorH2S partial pressure (<value> bar) on flowpath '<flowpath>' violates NACE MR0175 material limit (<value> bar).
M7012asphaltene-precipitation-hazardwarningOperating pressure (<value> bar) on flowpath '<flowpath>' enters Asphaltene Onset Pressure envelope (<value> bar).
M7013heatexchanger-parameter-violationerrorHeat exchanger '<hxName>' parameter violation: <detail>.

PipelineStudio ​

Gas & liquid pipeline hydraulics. 12 rules · @modelscript/lps · Source: languages/lps/src/errors.ts · Language guide

CodeRuleSeverityMessage
M8001maop-exceedederrorPipe '<pipeName>' operating pressure (<value> bar) exceeds Maximum Allowable Operating Pressure (<value> bar).
M8002compressor-surge-hazarderrorCompressor '<compName>' operating flow (<value> m\xB3/h) is below the aerodynamic surge limit (<value> m\xB3/h).
M8003compressor-stonewall-limitwarningCompressor '<compName>' throughput (<value> m\xB3/h) approaches sonic choke/stonewall limit (<value> m\xB3/h).
M8004unconnected-pipeline-nodeerrorNode '<nodeName>' is isolated and has no connecting pipes or equipment links.
M8005delivery-pressure-deficiterrorDelivery node '<nodeName>' is hydraulically unreachable from any supply or storage cavern.
M8006erosional-velocity-hazardwarningGas velocity in pipe '<pipeName>' (<value> m/s) exceeds API RP 14E erosional limit (<value> m/s).
M8007liquid-column-separationerrorTransient pressure in pipe '<pipeName>' (<value> bar) drops below liquid vapor pressure (<value> bar), risking cavitation.
M8008hydrogen-embrittlement-riskwarningHydrogen blend fraction in pipe '<pipeName>' (<value>%) exceeds 10% on steel without fracture toughness certification.
M8009batch-transmix-excesswarningBatch transmix interface on pipe '<pipeName>' exceeds allowable contamination threshold: <detail>.
M8010joule-thomson-freezingwarningJoule-Thomson throttling across regulator '<regName>' reduces outlet temperature to <value>\xB0C, risking ice/hydrate blockage.
M8011pump-npsh-deficiterrorPump '<pumpName>' net positive suction head available (<value> m) is below required NPSHr (<value> m).
M8012line-pack-depletion-riskwarningNetwork total line pack is depleting rapidly: <detail>.

ECLIPSE ​

Reservoir engineering. 10 rules · @modelscript/eclipse · Source: languages/eclipse/src/errors.ts · Language guide

CodeRuleSeverityMessage
M8701missing-reservoir-phaseserrorRUNSPEC section does not specify any active fluid phases ('OIL', 'WATER', or 'GAS').
M8702invalid-grid-dimensionserrorReservoir grid dimensions must be strictly positive integers (got <nx> x <ny> x <nz>).
M8703porosity-out-of-rangeerrorReservoir porosity (<val>) must be strictly positive and less than 1.0.
M8704negative-permeabilityerrorReservoir permeability '<prop>' (<val> mD) must be strictly positive.
M8705non-monotonic-pvt-tableerrorPVT table '<table>' has non-monotonic pressure progression (<prevP> -> <curP>).
M8706dangling-well-completionerrorWell completion for '<wellName>' at (<i>,<j>,<k>) exceeds grid boundary (<nx>,<ny>,<nz>).
M8707non-monotonic-saturation-tableerrorRelative permeability table '<table>' has non-monotonic saturation progression (<prevSat> -> <curSat>).
M8708undefined-well-referenceerrorKeyword '<contextKeyword>' references well '<wellName>' not defined in WELSPECS.
M8709invalid-well-control-targeterrorWell '<wellName>' specifies invalid control target for '<mode>' (<val>).
M8710negative-formation-volume-factorerrorPVT property specifies non-positive formation volume factor B_<phase> (<fvf>).

RELAP5-3D ​

Reactor thermal-hydraulics & kinetics. 10 rules · @modelscript/relap5 · Source: languages/relap5/src/errors.ts · Language guide

CodeRuleSeverityMessage
M8601dangling-volume-connectionerrorJunction '<junctionId>' specifies undefined <end>-volume '<volId>'.
M8602unclosed-trip-logic-cutseterrorTrip logic '<parentTripId>' references undefined child trip ID '<childTripId>'.
M8603negative-heat-capacityerrorHeat structure '<hsId>' specifies non-positive conductivity (<k> W/m-K) or capacity (<cp> J/m³-K).
M8604sonic-choked-flow-singularitywarningJunction '<junctionId>' flagged for critical sonic choked flow transition.
M8605missing-kinetics-delayed-groupserrorPoint kinetics model specifies <count> delayed groups; standard reactor kinetics requires 6 precursor groups.
M8606negative-prompt-neutron-lifetimeerrorPrompt neutron generation time '<lambda>' s must be strictly positive.
M8607adverse-volume-elevationwarningVolume '<volId>' elevation change dz (<dz> m) exceeds physical volume length (<length> m).
M8608negative-junction-loss-coefficienterrorJunction '<junctionId>' specifies negative form loss coefficient (K_forw=<kForw>, K_rev=<kRev>).
M8609invalid-time-step-boundserrorMinimum time step (<minDt> s) exceeds maximum time step (<maxDt> s).
M8610negative-pressure-stateerrorVolume '<volId>' specifies non-positive thermodynamic pressure (<p> Pa).

SIMA / SIMO / RIFLEX ​

Marine operations & riser dynamics. 15 rules · @modelscript/sima · Source: languages/sima/src/lints/error-codes.ts · Language guide

CodeRuleSeverityMessage
M7001negative-metacentric-heighterrorHydrostatic instability on vessel '<vessel>': negative <gmType> metacentric height (GM = <value> m < 0).
M7002line-length-underflowerrorMooring line '<line>' total length (<value> m) is less than water depth (<value> m), causing immediate vertical anchor snap load.
M7003acoustic-courant-violationerrorTime step dt=<value>s exceeds Courant axial acoustic wave limit (<value>s) for segment '<seg>'.
M7004unconnected-attachment-nodeerrorMooring line '<line>' references unresolved fairlead attachment '<fairleadId>' not found on any vessel.
M7005rao-frequency-extrapolationwarningEnvironmental wave peak frequency (<value> rad/s) is outside hydrodynamic RAO table range [<value>, <value>] rad/s.
M7006invalid-stiffness-hierarchyerrorNon-physical cross-sectional stiffness on segment '<seg>': <prop> (<val>) must be strictly positive.
M7007unphysical-seabed-frictionwarningUnrealistic seabed friction coefficient (\u03BC = <value>): expected value between 0.0 and 2.0.
M7008missing-hydrostatic-matrixerrorVessel '<vessel>' has zero or missing hydrostatic restoring matrix C; floating body cannot equilibrate in heave/roll/pitch.
M7009duplicate-line-identifiererrorDuplicate line identifier '<id>' declared in the slender system.
M7010slack-compression-hazardwarningMooring line '<line>' has negligible pre-tension under severe sea state (Hs > 8m), risking compression slack-snap loading.
M7011morison-drag-unspecifiedwarningSegment '<seg>' in wave zone has zero Morison drag coefficient (Cd = 0); hydrodynamic damping will be neglected.
M7012anchor-uplift-warningwarningCatenary line '<line>' exhibits vertical uplift angle (<value>\xB0) at anchor; drag-embedment anchors will pull out.
M7013mass-matrix-asymmetricerrorVessel '<vessel>' structural mass matrix is asymmetric at index (<r>, <c>).
M7014qtf-symmetry-violationwarningVessel '<vessel>' 2nd-order drift force QTF matrix violates conjugate symmetry.
M7015exceeds-minimum-bend-radiuserrorLine '<line>' minimum radius of curvature (<value> m) is below allowable MBR (<value> m).

SPICE ​

Analog circuit simulation. 10 rules · @modelscript/spice · Source: languages/spice/src/lints/rules.ts · Language guide

CodeRuleSeverityMessage
M7101spice-floating-nodeerrorFloating node '<nodeName>' has no DC reference path to ground.
M7102spice-voltage-looperrorVoltage source '<vName>' forms a closed loop of ideal voltage sources without series resistance.
M7103spice-current-cutseterrorNode '<nodeName>' is connected strictly to ideal current sources (current cutset).
M7104spice-unresolved-subcircuiterrorSubcircuit '<subName>' is referenced by '<compName>' but not defined.
M7105spice-invalid-passive-valueerrorPassive component '<compName>' has invalid non-positive value <val>.
M7106spice-timestep-violationerrorTransient analysis directive specifies invalid timestep '<tstep>' or stop time '<tstop>'.
M7107spice-duplicate-deviceerrorDuplicate component name '<compName>' detected in circuit scope.
M7108spice-missing-modelerrorActive device '<compName>' references undefined model '<modelName>'.
M7109spice-pin-count-mismatcherrorSubcircuit instance '<compName>' connects <nodeCount> pins but definition '<subName>' expects <portCount> ports.
M7110spice-malformed-directivewarningMalformed or unsupported directive '<dirName>'.

Verilog-A / AMS ​

Analog compact device models. 10 rules · @modelscript/verilog-a · Source: languages/verilog-a/src/lints/rules.ts · Language guide

CodeRuleSeverityMessage
M7601unassigned-analog-brancherrorElectrical port pair '<p>' and '<n>' has no constitutive branch equation in analog block.
M7602discontinuous-derivative-expressionwarningDiscontinuous time-derivative operator '<func>()' used inside conditional branch statement.
M7603invalid-parameter-rangeerrorParameter '<name>' default value <val> violates declared range '<range>'.
M7604unbounded-exponential-growthwarningUnbounded exponential function 'exp()' used instead of safe 'limexp()' in '<ctx>'.
M7605port-discipline-mismatcherrorPort '<port>' has no declared discipline or mismatch with module domain.
M7606undefined-node-referenceerrorBranch access '<branch>' references undeclared node '<node>'.
M7607duplicate-module-declarationerrorDuplicate module declaration for '<name>'.
M7608zero-resistance-brancherrorPotential contribution '<branch>' forms an unconstrained ideal short-circuit.
M7609floating-internal-nodewarningInternal node '<node>' is declared but never referenced in any analog branch equation.
M7610unsupported-analog-primitivewarningUnsupported or deprecated analog primitive '<primitive>'.

IBIS ​

I/O buffer behavioral models. 9 rules · @modelscript/ibis · Source: languages/ibis/src/errors.ts · Language guide

CodeRuleSeverityMessage
M8303non-monotonic-iv-curvewarningIBIS model '<modelName>' contains non-monotonic slope in '<tableType>' table between <value>V and <value>V.
M8305missing-pin-model-bindingerrorComponent pin '<pinName>' references undefined model '<modelName>'.
M8316missing-component-pinserrorComponent '<compName>' declaration has no defined pins in '[Pin]' section.
M8317invalid-voltage-rangeerrorIBIS model '<modelName>' has invalid [Voltage Range]: min (<value>V) is greater than max (<value>V).
M8318clamping-diode-divergencewarningModel '<modelName>' clamp table '<clampType>' diverges to excessive current (<value>A).
M8319missing-pullup-pulldownerrorDriver model '<modelName>' of type '<modelType>' is missing both I/V tables ([Pullup]/[Pulldown]) and [Ramp] slew rates.
M8320negative-die-capacitanceerrorIBIS model '<modelName>' specifies non-positive die capacitance C_comp '<val>'.
M8321negative-package-parasiticerrorComponent '<compName>' package parasitic '<param>' has non-positive value '<val>'.
M8322no-models-definederrorIBIS file contains no buffer [Model] definitions.

Touchstone ​

RF & signal-integrity S-parameters. 10 rules · @modelscript/touchstone · Source: languages/touchstone/src/errors.ts · Language guide

CodeRuleSeverityMessage
M8301passivity-violationerrorN-port scattering matrix violates passivity criterion (spectral norm <norm> > 1.0) at frequency <freq>.
M8302causality-violationerrorKramers-Kronig causality relation violated across frequency sweep: '<detail>'.
M8304frequency-grid-non-monotonicerrorFrequency grid is not monotonically increasing: step from <prevFreq> to <currFreq> is non-increasing.
M8306missing-option-linewarningMissing '#' option line; defaulting to '# GHz S MA R 50'.
M8307invalid-parameter-formaterrorInvalid Touchstone parameter token or format '<token>'.
M8308incomplete-matrix-dataerrorIncomplete N-port matrix row: expected <expected> values, received <received>.
M8309negative-reference-resistanceerrorReference resistance '<r>' must be strictly positive.
M8310asymmetric-reciprocal-networkwarningAsymmetry in reciprocal S-parameter network: |S<i><j> - S<j><i>| = <diff> exceeds threshold.
M8311no-frequency-pointserrorTouchstone file contains no valid frequency parameter points.
M8312duplicate-frequency-pointerrorDuplicate frequency sample point '<freq>' encountered in sweep.

URDF / Xacro ​

Robot kinematics & dynamics. 8 rules · @modelscript/urdf · Source: languages/urdf/src/errors.ts · Language guide

CodeRuleSeverityMessage
M7501unresolved-parent-linkerrorJoint '<jointName>' references non-existent parent link '<linkName>'.
M7502kinematic-looperrorClosed kinematic chain or duplicate parent detected at link '<linkName>' (URDF requires open tree).
M7503invalid-inertia-tensorerrorLink '<linkName>' defines non-physical inertia tensor: <reason>.
M7504invalid-joint-limitserrorJoint '<jointName>' defines invalid limits (lower: <lower> >= upper: <upper>).
M7505missing-mesh-resourcewarningVisual mesh URI '<uri>' on link '<linkName>' may not resolve at runtime.
M7506massless-linkwarningLink '<linkName>' has zero mass and no inertial specification.
M7507zero-norm-joint-axiserrorJoint '<jointName>' defines a zero-norm rotation/translation axis [0, 0, 0].
M7508continuous-joint-with-limitswarningJoint '<jointName>' is declared 'continuous' but specifies upper/lower limits.

PLCopen / IEC 61131-3 ​

PLC control software. 10 rules · @modelscript/plcopen · Source: languages/plcopen/src/lints/rules.ts · Language guide

CodeRuleSeverityMessage
M7701unassigned-variable-readerrorVariable '<name>' is read before being assigned or initialized in POU '<pouName>'.
M7702cyclic-task-overrunwarningComputational complexity in task '<taskName>' (<stmtCount> statements) may exceed cycle time '<interval>'.
M7703recursive-pou-callerrorRecursive invocation of POU '<calleeName>' detected in '<callerName>'. Recursion is prohibited in IEC 61131-3.
M7704io-mapping-collisionerrorHardware I/O address collision at '<address>': multiple variables ('<var1>', '<var2>') assigned to same output.
M7705type-mismatch-assignmenterrorType mismatch in assignment to '<varName>': expected '<expectedType>', got '<actualType>'.
M7706timer-preset-negativeerrorTimer preset time '<value>' for '<timerName>' cannot be negative.
M7707unbounded-loop-detectedwarningLoop in POU '<pouName>' does not have a deterministic bounded termination condition.
M7708unknown-pou-typeerrorUnknown or unresolvable POU or function block type '<typeName>' instantiated in '<instanceName>'.
M7709unreachable-codewarningUnreachable code detected after '<stmtKind>' statement in POU '<pouName>'.
M7710invalid-task-intervalerrorTask '<taskName>' specifies invalid or non-positive periodic interval '<interval>'.

MSC Adams ​

Mechanical system dynamics. 9 rules · @modelscript/adams · Source: languages/adams/src/errors.ts · Language guide

CodeRuleSeverityMessage
M7301overconstrained-mobilityerrorMechanism is overconstrained according to Grübler-Kutzbach criterion (Mobility = <mobility> < 0).
M7302gimbal-lock-orientationwarningEuler orientation angles for marker '<markerId>' indicate near-gimbal-lock singularity (psi = <value>\xB0).
M7303dangling-marker-referenceerror<source> references non-existent marker '<targetId>'.
M7304non-physical-inertia-tensorerrorPart '<partId>' has non-physical inertia tensor: <reason>.
M7305massless-part-floatingerrorMoving part '<partId>' has zero or negative mass without kinematic grounding.
M7307coincident-joint-markerswarningJoint '<jointId>' uses identical I and J markers ('<iMarker>').
M7308negative-spring-dampingerrorSpring-damper '<springId>' defines non-physical negative <param> (<value>).
M7309missing-ground-parterrorDataset does not define a ground reference body ('PART/... GROUND').
M7310unconstrained-partwarningPart '<partId>' is completely disconnected from joints or force elements (floating rigid body).

EnergyPlus ​

Building energy & HVAC. 8 rules · @modelscript/energyplus · Source: languages/energyplus/src/lints/rules.ts · Language guide

CodeRuleSeverityMessage
M7901unmatched-interzone-surfaceerrorInterzone surface '<surfName>' in zone '<zoneName>' specifies outside boundary object '<targetSurf>' which does not exist or has mismatched reciprocal boundary.
M7902non-convex-surface-polygonwarningSurface polygon '<surfName>' in zone '<zoneName>' violates planar convexity, which may impair solar raytracing and view factor calculations.
M7903missing-thermal-propertieserrorMaterial '<matName>' has non-positive thermal property '<prop>' (<val>), violating second law of thermodynamics.
M7904unconnected-hvac-zoneerrorHVAC component '<hvacName>' references non-existent thermal zone '<zoneName>'.
M7905excessive-surface-absorptionwarningMaterial '<matName>' has solar absorptance coefficient <value>, which exceeds the physical maximum of 1.0.
M7906duplicate-zone-nameerrorDuplicate thermal zone identifier '<zoneName>' detected in building model.
M7907unreferenced-constructionerrorBuilding surface '<surfName>' references undefined construction '<constName>'.
M7908zero-thickness-materialerrorOpaque material '<matName>' has invalid non-positive thickness (<value>m).

EPANET ​

Pressurized water distribution. 8 rules · @modelscript/epanet · Source: languages/epanet/src/lints/rules.ts · Language guide

CodeRuleSeverityMessage
M8101isolated-hydraulic-nodeerrorHydraulic node '<nodeId>' is isolated with no connecting pipes or pumps.
M8102negative-pressure-riskwarningJunction '<nodeId>' elevation (<value>m) exceeds maximum network source head (<value>m), risking cavitation and dry-out.
M8103non-monotonic-pump-curveerrorPump head curve '<curveId>' violates decreasing monotonicity: head increases from <value> to <value> between flow <value> and <value>.
M8104zero-length-pipeerrorPipe link '<pipeId>' has non-positive physical length (<value>m).
M8105zero-diameter-pipeerrorPipe link '<pipeId>' has non-positive internal diameter (<value>mm).
M8106duplicate-node-iderrorDuplicate node identifier '<nodeId>' detected in water network topology.
M8107duplicate-link-iderrorDuplicate link identifier '<linkId>' detected in water network topology.
M8108unreferenced-node-in-linkerrorLink '<linkId>' references undefined endpoint node '<nodeId>'.

EPA SWMM ​

Stormwater & urban drainage. 13 rules · @modelscript/swmm · Source: languages/swmm/src/errors.ts · Language guide

CodeRuleSeverityMessage
M8201dangling-node-referenceerrorLink '<linkId>' references undefined <role> node '<nodeId>'.
M8202adverse-conduit-slopewarningConduit '<conduitId>' has adverse slope: inlet elevation (<value>) is lower than outlet elevation (<value>).
M8203missing-cross-sectionerrorConduit '<conduitId>' has no hydraulic cross-section definition in '[XSECTIONS]'.
M8204unsupported-outfall-typeerrorOutfall '<outfallId>' specifies unsupported boundary condition type '<type>'.
M8205surcharge-overflow-riskwarningJunction '<junctionId>' rim elevation (<value>) is lower than connected conduit crown (<value>), creating surcharge overflow risk.
M8206duplicate-node-iderrorDuplicate node identifier '<nodeId>' declared in network.
M8207duplicate-link-iderrorDuplicate link identifier '<linkId>' declared in network.
M8208negative-roughnesserrorConduit '<conduitId>' specifies non-positive Manning's roughness coefficient (n = <n>).
M8209zero-length-conduiterrorConduit '<conduitId>' specifies non-positive length (<len>).
M8210isolated-network-nodewarningJunction '<nodeId>' has no connected conduits or hydraulic links (isolated node).
M8211subcatchment-outlet-not-founderrorSubcatchment '<subId>' references non-existent discharge outlet '<outletId>'.
M8212weir-offset-negativeerrorWeir '<weirId>' specifies negative crest height offset (<offset>).
M8213invalid-discharge-coefficienterrorLink '<linkId>' specifies non-positive discharge coefficient (Cd = <cd>).

Aspen Plus / HYSYS ​

Chemical process flowsheets. 15 rules · @modelscript/aspen · Source: languages/aspen/src/errors.ts · Language guide

CodeRuleSeverityMessage
M8101unconnected-stream-porterrorStream '<streamName>' connected to block '<blockName>' inlet has no producing source block outlet.
M8102tear-stream-unconvergederrorCircular flowsheet loop detected involving block '<blockName>' without designated tear stream.
M8103invalid-eos-parametererrorComponent '<compName>' lacks critical properties for property method '<propertyMethod>'.
M8104negative-component-fractionerrorStream '<streamName>' specifies negative component molar fraction for '<compName>' (<val>).
M8105column-reboiler-heat-deficitwarningColumn '<blockName>' duty results in non-positive reboiler boil-up.
M8106duplicate-block-iderrorDuplicate block ID '<blockId>' declared in flowsheet.
M8107duplicate-component-iderrorDuplicate component ID '<compId>' declared in COMPONENTS.
M8108fractions-sum-invalidwarningComponent mole fractions in stream '<streamName>' sum to <value>, expected 1.0.
M8109feed-stage-out-of-rangeerrorColumn '<blockName>' feed stage <stage> is out of bounds (1..<nStages>).
M8110product-stage-out-of-rangeerrorColumn '<blockName>' product stage <stage> is out of bounds (1..<nStages>).
M8111missing-flowsheet-entrywarningBlock '<blockName>' has parameter declarations but is not connected in FLOWSHEET.
M8112stream-temperature-negativeerrorStream '<streamName>' specifies non-physical absolute temperature <temp> K.
M8113stream-pressure-negativeerrorStream '<streamName>' specifies non-positive pressure <pres> bar.
M8114radfrac-stages-too-fewerrorRadFrac column '<blockName>' has fewer than 2 stages (<nStages>).
M8115reflux-ratio-negativeerrorColumn '<blockName>' reflux ratio (<rr>) must be non-negative.

SBML ​

Biochemical reaction networks. 10 rules · @modelscript/sbml · Source: languages/sbml/src/errors.ts · Language guide

CodeRuleSeverityMessage
M8801missing-model-iderrorSBML <model> element is missing required 'id' attribute.
M8802undefined-compartment-referenceerrorSpecies '<speciesId>' references undefined compartment '<compartmentId>'.
M8803undefined-species-referenceerrorReaction '<reactionId>' references undefined <role> species '<speciesId>'.
M8804negative-compartment-sizeerrorCompartment '<compartmentId>' defines non-positive size (<size>).
M8805negative-initial-amount-concentrationerrorSpecies '<speciesId>' specifies negative initial amount/concentration (<val>).
M8806empty-reactionerrorReaction '<reactionId>' must define at least one reactant or product.
M8807missing-kinetic-lawwarningReaction '<reactionId>' does not define a kineticLaw rate law equation.
M8808negative-stoichiometryerrorSpecies reference for '<speciesId>' in reaction '<reactionId>' specifies non-positive stoichiometry (<stoich>).
M8809undefined-kinetic-parameterwarningKinetic law formula in reaction '<reactionId>' references identifier '<id>' not found in parameters or species.
M8810circular-species-assignmentinfoReaction '<reactionId>' lists '<speciesId>' as both reactant and product with identical stoichiometry; consider defining as modifier.

Open-Core under the GNU AGPL v3 License; Enterprise Edition (ee/) under the ModelScript Enterprise License. • Trademark Policy