diff --git a/modules-local/aerodyn/src/AeroDyn.f90 b/modules-local/aerodyn/src/AeroDyn.f90 index 2bfe6c424..455fe9095 100644 --- a/modules-local/aerodyn/src/AeroDyn.f90 +++ b/modules-local/aerodyn/src/AeroDyn.f90 @@ -866,8 +866,7 @@ subroutine SetParameters( InitInp, InputFileData, p, ErrStat, ErrMsg ) p%AirDens = InputFileData%AirDens p%KinVisc = InputFileData%KinVisc - - + p%SpdSound = InputFileData%SpdSound !p%AFI ! set in call to AFI_Init() [called early because it wants to use the same echo file as AD] !p%BEMT ! set in call to BEMT_Init() @@ -1418,11 +1417,7 @@ SUBROUTINE ValidateInputData( InitInp, InputFileData, NumBl, ErrStat, ErrMsg ) if (InputFileData%AirDens <= 0.0) call SetErrStat ( ErrID_Fatal, 'The air density (AirDens) must be greater than zero.', ErrStat, ErrMsg, RoutineName ) if (InputFileData%KinVisc <= 0.0) call SetErrStat ( ErrID_Fatal, 'The kinesmatic viscosity (KinVisc) must be greater than zero.', ErrStat, ErrMsg, RoutineName ) if (InputFileData%SpdSound <= 0.0) call SetErrStat ( ErrID_Fatal, 'The speed of sound (SpdSound) must be greater than zero.', ErrStat, ErrMsg, RoutineName ) - if (InputFileData%Pvap <= 0.0) call SetErrStat ( ErrID_Fatal, 'The vapour pressure (Pvap) must be greater than zero.', ErrStat, ErrMsg, RoutineName ) - if (InputFileData%Patm <= 0.0) call SetErrStat ( ErrID_Fatal, 'The atmospheric pressure (Patm) must be greater than zero.', ErrStat, ErrMsg, RoutineName ) - if (InputFileData%FluidDepth <= 0.0) call SetErrStat ( ErrID_Fatal, 'Fluid depth (FluidDepth) cannot be negative', ErrStat, ErrMsg, RoutineName ) - - + ! BEMT inputs ! bjj: these checks should probably go into BEMT where they are used... @@ -1444,14 +1439,7 @@ SUBROUTINE ValidateInputData( InitInp, InputFileData, NumBl, ErrStat, ErrMsg ) if (.not. InputFileData%FLookUp ) call SetErrStat( ErrID_Fatal, 'FLookUp must be TRUE for this version.', ErrStat, ErrMsg, RoutineName ) end if - - if ( InputFileData%CavitCheck .and. InputFileData%AFAeroMod == 2) then - call SetErrStat( ErrID_Fatal, 'Cannot use unsteady aerodynamics module with a cavitation check', ErrStat, ErrMsg, RoutineName ) - end if - - if (InputFileData%InCol_Cpmin == 0 .and. InputFileData%CavitCheck) call SetErrStat( ErrID_Fatal, 'InCol_Cpmin must not be 0 to do a cavitation check.', ErrStat, ErrMsg, RoutineName ) - - + ! validate the AFI input data because it doesn't appear to be done in AFI if (InputFileData%NumAFfiles < 1) call SetErrStat( ErrID_Fatal, 'The number of unique airfoil tables (NumAFfiles) must be greater than zero.', ErrStat, ErrMsg, RoutineName ) @@ -1711,10 +1699,7 @@ SUBROUTINE Init_BEMTmodule( InputFileData, u_AD, u, p, x, xd, z, OtherState, y, InitInp%numBlades = p%NumBlades InitInp%airDens = InputFileData%AirDens - InitInp%kinVisc = InputFileData%KinVisc - InitInp%Patm = InputFileData%Patm - InitInp%Pvap = InputFileData%Pvap - InitInp%FluidDepth = InputFileData%FluidDepth + InitInp%kinVisc = InputFileData%KinVisc InitInp%skewWakeMod = InputFileData%SkewMod InitInp%aTol = InputFileData%IndToler InitInp%useTipLoss = InputFileData%TipLoss @@ -1763,13 +1748,10 @@ SUBROUTINE Init_BEMTmodule( InputFileData, u_AD, u, p, x, xd, z, OtherState, y, end do end do - InitInp%UA_Flag = InputFileData%AFAeroMod == AFAeroMod_BL_unsteady - InitInp%UAMod = InputFileData%UAMod - InitInp%Flookup = InputFileData%Flookup - InitInp%a_s = InputFileData%SpdSound - InitInp%CavitCheck = InputFileData%CavitCheck - - + InitInp%UA_Flag = InputFileData%AFAeroMod == AFAeroMod_BL_unsteady + InitInp%UAMod = InputFileData%UAMod + InitInp%Flookup = InputFileData%Flookup + InitInp%a_s = InputFileData%SpdSound if (ErrStat >= AbortErrLev) then call cleanup() @@ -3775,7 +3757,6 @@ FUNCTION CheckBEMTInputPerturbations( p, m ) RESULT(ValidPerturb) end if - else ! not UseInduction do k=1,p%NumBlades diff --git a/modules-local/aerodyn/src/AeroDyn_Driver.f90 b/modules-local/aerodyn/src/AeroDyn_Driver.f90 index e6f4df8c0..a42b0fe4f 100644 --- a/modules-local/aerodyn/src/AeroDyn_Driver.f90 +++ b/modules-local/aerodyn/src/AeroDyn_Driver.f90 @@ -197,4 +197,4 @@ subroutine Dvr_End() end subroutine Dvr_End !................................ end program AeroDyn_Driver - + \ No newline at end of file diff --git a/modules-local/aerodyn/src/AeroDyn_IO.f90 b/modules-local/aerodyn/src/AeroDyn_IO.f90 index 3149129c0..5afd4ed27 100644 --- a/modules-local/aerodyn/src/AeroDyn_IO.f90 +++ b/modules-local/aerodyn/src/AeroDyn_IO.f90 @@ -2,8 +2,6 @@ ! LICENSING ! Copyright (C) 2015-2016 National Renewable Energy Laboratory ! - - ! This file is part of AeroDyn. ! ! Licensed under the Apache License, Version 2.0 (the "License"); @@ -37,10 +35,10 @@ MODULE AeroDyn_IO ! =================================================================================================== ! NOTE: The following lines of code were generated by a Matlab script called "Write_ChckOutLst.m" -! using the parameters listed in the "OutListParameters_RMurray.xlsx" Excel file. Any changes to these +! using the parameters listed in the "OutListParameters.xlsx" Excel file. Any changes to these ! lines should be modified in the Matlab script and/or Excel worksheet as necessary. ! =================================================================================================== -! This code was generated by Write_ChckOutLst.m at 16-Feb-2017 15:50:51. +! This code was generated by Write_ChckOutLst.m at 11-Mar-2016 14:45:58. ! Parameters related to output length (number of characters allowed in the output data headers): @@ -1150,116 +1148,34 @@ MODULE AeroDyn_IO INTEGER(IntKi), PARAMETER :: B3N7Clrnc = 1084 INTEGER(IntKi), PARAMETER :: B3N8Clrnc = 1085 INTEGER(IntKi), PARAMETER :: B3N9Clrnc = 1086 - INTEGER(IntKi), PARAMETER :: B1N1Cpmin = 1087 - INTEGER(IntKi), PARAMETER :: B1N2Cpmin = 1088 - INTEGER(IntKi), PARAMETER :: B1N3Cpmin = 1089 - INTEGER(IntKi), PARAMETER :: B1N4Cpmin = 1090 - INTEGER(IntKi), PARAMETER :: B1N5Cpmin = 1091 - INTEGER(IntKi), PARAMETER :: B1N6Cpmin = 1092 - INTEGER(IntKi), PARAMETER :: B1N7Cpmin = 1093 - INTEGER(IntKi), PARAMETER :: B1N8Cpmin = 1094 - INTEGER(IntKi), PARAMETER :: B1N9Cpmin = 1095 - INTEGER(IntKi), PARAMETER :: B2N1Cpmin = 1096 - INTEGER(IntKi), PARAMETER :: B2N2Cpmin = 1097 - INTEGER(IntKi), PARAMETER :: B2N3Cpmin = 1098 - INTEGER(IntKi), PARAMETER :: B2N4Cpmin = 1099 - INTEGER(IntKi), PARAMETER :: B2N5Cpmin = 1100 - INTEGER(IntKi), PARAMETER :: B2N6Cpmin = 1101 - INTEGER(IntKi), PARAMETER :: B2N7Cpmin = 1102 - INTEGER(IntKi), PARAMETER :: B2N8Cpmin = 1103 - INTEGER(IntKi), PARAMETER :: B2N9Cpmin = 1104 - INTEGER(IntKi), PARAMETER :: B3N1Cpmin = 1105 - INTEGER(IntKi), PARAMETER :: B3N2Cpmin = 1106 - INTEGER(IntKi), PARAMETER :: B3N3Cpmin = 1107 - INTEGER(IntKi), PARAMETER :: B3N4Cpmin = 1108 - INTEGER(IntKi), PARAMETER :: B3N5Cpmin = 1109 - INTEGER(IntKi), PARAMETER :: B3N6Cpmin = 1110 - INTEGER(IntKi), PARAMETER :: B3N7Cpmin = 1111 - INTEGER(IntKi), PARAMETER :: B3N8Cpmin = 1112 - INTEGER(IntKi), PARAMETER :: B3N9Cpmin = 1113 - INTEGER(IntKi), PARAMETER :: B1N1SigCr = 1114 - INTEGER(IntKi), PARAMETER :: B1N2SigCr = 1115 - INTEGER(IntKi), PARAMETER :: B1N3SigCr = 1116 - INTEGER(IntKi), PARAMETER :: B1N4SigCr = 1117 - INTEGER(IntKi), PARAMETER :: B1N5SigCr = 1118 - INTEGER(IntKi), PARAMETER :: B1N6SigCr = 1119 - INTEGER(IntKi), PARAMETER :: B1N7SigCr = 1120 - INTEGER(IntKi), PARAMETER :: B1N8SigCr = 1121 - INTEGER(IntKi), PARAMETER :: B1N9SigCr = 1122 - INTEGER(IntKi), PARAMETER :: B2N1SigCr = 1123 - INTEGER(IntKi), PARAMETER :: B2N2SigCr = 1124 - INTEGER(IntKi), PARAMETER :: B2N3SigCr = 1125 - INTEGER(IntKi), PARAMETER :: B2N4SigCr = 1126 - INTEGER(IntKi), PARAMETER :: B2N5SigCr = 1127 - INTEGER(IntKi), PARAMETER :: B2N6SigCr = 1128 - INTEGER(IntKi), PARAMETER :: B2N7SigCr = 1129 - INTEGER(IntKi), PARAMETER :: B2N8SigCr = 1130 - INTEGER(IntKi), PARAMETER :: B2N9SigCr = 1131 - INTEGER(IntKi), PARAMETER :: B3N1SigCr = 1132 - INTEGER(IntKi), PARAMETER :: B3N2SigCr = 1133 - INTEGER(IntKi), PARAMETER :: B3N3SigCr = 1134 - INTEGER(IntKi), PARAMETER :: B3N4SigCr = 1135 - INTEGER(IntKi), PARAMETER :: B3N5SigCr = 1136 - INTEGER(IntKi), PARAMETER :: B3N6SigCr = 1137 - INTEGER(IntKi), PARAMETER :: B3N7SigCr = 1138 - INTEGER(IntKi), PARAMETER :: B3N8SigCr = 1139 - INTEGER(IntKi), PARAMETER :: B3N9SigCr = 1140 - INTEGER(IntKi), PARAMETER :: B1N1SgCav = 1141 - INTEGER(IntKi), PARAMETER :: B1N2SgCav = 1142 - INTEGER(IntKi), PARAMETER :: B1N3SgCav = 1143 - INTEGER(IntKi), PARAMETER :: B1N4SgCav = 1144 - INTEGER(IntKi), PARAMETER :: B1N5SgCav = 1145 - INTEGER(IntKi), PARAMETER :: B1N6SgCav = 1146 - INTEGER(IntKi), PARAMETER :: B1N7SgCav = 1147 - INTEGER(IntKi), PARAMETER :: B1N8SgCav = 1148 - INTEGER(IntKi), PARAMETER :: B1N9SgCav = 1149 - INTEGER(IntKi), PARAMETER :: B2N1SgCav = 1150 - INTEGER(IntKi), PARAMETER :: B2N2SgCav = 1151 - INTEGER(IntKi), PARAMETER :: B2N3SgCav = 1152 - INTEGER(IntKi), PARAMETER :: B2N4SgCav = 1153 - INTEGER(IntKi), PARAMETER :: B2N5SgCav = 1154 - INTEGER(IntKi), PARAMETER :: B2N6SgCav = 1155 - INTEGER(IntKi), PARAMETER :: B2N7SgCav = 1156 - INTEGER(IntKi), PARAMETER :: B2N8SgCav = 1157 - INTEGER(IntKi), PARAMETER :: B2N9SgCav = 1158 - INTEGER(IntKi), PARAMETER :: B3N1SgCav = 1159 - INTEGER(IntKi), PARAMETER :: B3N2SgCav = 1160 - INTEGER(IntKi), PARAMETER :: B3N3SgCav = 1161 - INTEGER(IntKi), PARAMETER :: B3N4SgCav = 1162 - INTEGER(IntKi), PARAMETER :: B3N5SgCav = 1163 - INTEGER(IntKi), PARAMETER :: B3N6SgCav = 1164 - INTEGER(IntKi), PARAMETER :: B3N7SgCav = 1165 - INTEGER(IntKi), PARAMETER :: B3N8SgCav = 1166 - INTEGER(IntKi), PARAMETER :: B3N9SgCav = 1167 ! Rotor: - INTEGER(IntKi), PARAMETER :: RtSpeed = 1168 - INTEGER(IntKi), PARAMETER :: RtTSR = 1169 - INTEGER(IntKi), PARAMETER :: RtVAvgxh = 1170 - INTEGER(IntKi), PARAMETER :: RtVAvgyh = 1171 - INTEGER(IntKi), PARAMETER :: RtVAvgzh = 1172 - INTEGER(IntKi), PARAMETER :: RtSkew = 1173 - INTEGER(IntKi), PARAMETER :: RtAeroFxh = 1174 - INTEGER(IntKi), PARAMETER :: RtAeroFyh = 1175 - INTEGER(IntKi), PARAMETER :: RtAeroFzh = 1176 - INTEGER(IntKi), PARAMETER :: RtAeroMxh = 1177 - INTEGER(IntKi), PARAMETER :: RtAeroMyh = 1178 - INTEGER(IntKi), PARAMETER :: RtAeroMzh = 1179 - INTEGER(IntKi), PARAMETER :: RtAeroPwr = 1180 - INTEGER(IntKi), PARAMETER :: RtArea = 1181 - INTEGER(IntKi), PARAMETER :: RtAeroCp = 1182 - INTEGER(IntKi), PARAMETER :: RtAeroCq = 1183 - INTEGER(IntKi), PARAMETER :: RtAeroCt = 1184 + INTEGER(IntKi), PARAMETER :: RtSpeed = 1087 + INTEGER(IntKi), PARAMETER :: RtTSR = 1088 + INTEGER(IntKi), PARAMETER :: RtVAvgxh = 1089 + INTEGER(IntKi), PARAMETER :: RtVAvgyh = 1090 + INTEGER(IntKi), PARAMETER :: RtVAvgzh = 1091 + INTEGER(IntKi), PARAMETER :: RtSkew = 1092 + INTEGER(IntKi), PARAMETER :: RtAeroFxh = 1093 + INTEGER(IntKi), PARAMETER :: RtAeroFyh = 1094 + INTEGER(IntKi), PARAMETER :: RtAeroFzh = 1095 + INTEGER(IntKi), PARAMETER :: RtAeroMxh = 1096 + INTEGER(IntKi), PARAMETER :: RtAeroMyh = 1097 + INTEGER(IntKi), PARAMETER :: RtAeroMzh = 1098 + INTEGER(IntKi), PARAMETER :: RtAeroPwr = 1099 + INTEGER(IntKi), PARAMETER :: RtArea = 1100 + INTEGER(IntKi), PARAMETER :: RtAeroCp = 1101 + INTEGER(IntKi), PARAMETER :: RtAeroCq = 1102 + INTEGER(IntKi), PARAMETER :: RtAeroCt = 1103 ! The maximum number of output channels which can be output by the code. - INTEGER(IntKi), PARAMETER :: MaxOutPts = 1184 + INTEGER(IntKi), PARAMETER :: MaxOutPts = 1103 !End of code generated by Matlab script ! =================================================================================================== - INTEGER, PARAMETER :: TwNVUnd(3, 9) = RESHAPE( (/ & ! Undisturbed wind velocity TwN1VUndx,TwN1VUndy,TwN1VUndz, & @@ -1402,43 +1318,21 @@ MODULE AeroDyn_IO B2N1Curve,B2N2Curve,B2N3Curve,B2N4Curve,B2N5Curve,B2N6Curve,B2N7Curve,B2N8Curve,B2N9Curve, & B3N1Curve,B3N2Curve,B3N3Curve,B3N4Curve,B3N5Curve,B3N6Curve,B3N7Curve,B3N8Curve,B3N9Curve & /), (/9, 3/) ) - INTEGER, PARAMETER :: BNCl(9, 3) = RESHAPE( (/ & ! lift force coefficient B1N1Cl,B1N2Cl,B1N3Cl,B1N4Cl,B1N5Cl,B1N6Cl,B1N7Cl,B1N8Cl,B1N9Cl, & B2N1Cl,B2N2Cl,B2N3Cl,B2N4Cl,B2N5Cl,B2N6Cl,B2N7Cl,B2N8Cl,B2N9Cl, & B3N1Cl,B3N2Cl,B3N3Cl,B3N4Cl,B3N5Cl,B3N6Cl,B3N7Cl,B3N8Cl,B3N9Cl & /), (/9, 3/) ) - INTEGER, PARAMETER :: BNCd(9, 3) = RESHAPE( (/ & ! drag force coefficient B1N1Cd,B1N2Cd,B1N3Cd,B1N4Cd,B1N5Cd,B1N6Cd,B1N7Cd,B1N8Cd,B1N9Cd, & B2N1Cd,B2N2Cd,B2N3Cd,B2N4Cd,B2N5Cd,B2N6Cd,B2N7Cd,B2N8Cd,B2N9Cd, & B3N1Cd,B3N2Cd,B3N3Cd,B3N4Cd,B3N5Cd,B3N6Cd,B3N7Cd,B3N8Cd,B3N9Cd & /), (/9, 3/) ) - INTEGER, PARAMETER :: BNCm(9, 3) = RESHAPE( (/ & ! pitching moment coefficient B1N1Cm,B1N2Cm,B1N3Cm,B1N4Cm,B1N5Cm,B1N6Cm,B1N7Cm,B1N8Cm,B1N9Cm, & B2N1Cm,B2N2Cm,B2N3Cm,B2N4Cm,B2N5Cm,B2N6Cm,B2N7Cm,B2N8Cm,B2N9Cm, & B3N1Cm,B3N2Cm,B3N3Cm,B3N4Cm,B3N5Cm,B3N6Cm,B3N7Cm,B3N8Cm,B3N9Cm & /), (/9, 3/) ) - - INTEGER, PARAMETER :: BNCpmin(9, 3) = RESHAPE( (/ & ! pressure coefficient - B1N1Cpmin,B1N2Cpmin,B1N3Cpmin,B1N4Cpmin,B1N5Cpmin,B1N6Cpmin,B1N7Cpmin,B1N8Cpmin,B1N9Cpmin, & - B2N1Cpmin,B2N2Cpmin,B2N3Cpmin,B2N4Cpmin,B2N5Cpmin,B2N6Cpmin,B2N7Cpmin,B2N8Cpmin,B2N9Cpmin, & - B3N1Cpmin,B3N2Cpmin,B3N3Cpmin,B3N4Cpmin,B3N5Cpmin,B3N6Cpmin,B3N7Cpmin,B3N8Cpmin,B3N9Cpmin & - /), (/9, 3/) ) - - INTEGER, PARAMETER :: BNSigCr(9, 3) = RESHAPE( (/ & ! Critical cavitation number - B1N1SigCr,B1N2SigCr,B1N3SigCr,B1N4SigCr,B1N5SigCr,B1N6SigCr,B1N7SigCr,B1N8SigCr,B1N9SigCr, & - B2N1SigCr,B2N2SigCr,B2N3SigCr,B2N4SigCr,B2N5SigCr,B2N6SigCr,B2N7SigCr,B2N8SigCr,B2N9SigCr, & - B3N1SigCr,B3N2SigCr,B3N3SigCr,B3N4SigCr,B3N5SigCr,B3N6SigCr,B3N7SigCr,B3N8SigCr,B3N9SigCr & - /), (/9, 3/) ) - - INTEGER, PARAMETER :: BNSgCav(9, 3) = RESHAPE( (/ & ! Cavitation number - B1N1SgCav,B1N2SgCav,B1N3SgCav,B1N4SgCav,B1N5SgCav,B1N6SgCav,B1N7SgCav,B1N8SgCav,B1N9SgCav, & - B2N1SgCav,B2N2SgCav,B2N3SgCav,B2N4SgCav,B2N5SgCav,B2N6SgCav,B2N7SgCav,B2N8SgCav,B2N9SgCav, & - B3N1SgCav,B3N2SgCav,B3N3SgCav,B3N4SgCav,B3N5SgCav,B3N6SgCav,B3N7SgCav,B3N8SgCav,B3N9SgCav & - /), (/9, 3/) ) - INTEGER, PARAMETER :: BNCx(9, 3) = RESHAPE( (/ & ! normal force (to plane) coefficient B1N1Cx,B1N2Cx,B1N3Cx,B1N4Cx,B1N5Cx,B1N6Cx,B1N7Cx,B1N8Cx,B1N9Cx, & B2N1Cx,B2N2Cx,B2N3Cx,B2N4Cx,B2N5Cx,B2N6Cx,B2N7Cx,B2N8Cx,B2N9Cx, & @@ -1684,16 +1578,11 @@ SUBROUTINE Calc_WriteOutput( p, u, m, y, indx, ErrStat, ErrMsg ) m%AllOuts( BNPhi( beta,k) ) = m%BEMT_y%phi(j,k)*R2D m%AllOuts( BNCurve(beta,k) ) = m%Curve(j,k)*R2D - m%AllOuts( BNCl( beta,k) ) = m%BEMT_y%Cl(j,k) - m%AllOuts( BNCd( beta,k) ) = m%BEMT_y%Cd(j,k) - - m%AllOuts( BNCpmin( beta,k) ) = m%BEMT%Cpmin(j,k) - m%AllOuts( BNSigCr( beta,k) ) = m%BEMT%SigmaCavitCrit(j,k) - m%AllOuts( BNSgCav( beta,k) ) = m%BEMT%SigmaCavit(j,k) - + !m%AllOuts( BNCl( beta,k) ) = m%BEMT_y%Cl(j,k) + !m%AllOuts( BNCd( beta,k) ) = m%BEMT_y%Cd(j,k) cp=cos(m%BEMT_y%phi(j,k)) sp=sin(m%BEMT_y%phi(j,k)) - m%AllOuts( BNCpmin( beta,k) ) = m%BEMT_y%Cx(j,k)*cp + m%BEMT_y%Cy(j,k)*sp + m%AllOuts( BNCl( beta,k) ) = m%BEMT_y%Cx(j,k)*cp + m%BEMT_y%Cy(j,k)*sp m%AllOuts( BNCd( beta,k) ) = m%BEMT_y%Cx(j,k)*sp - m%BEMT_y%Cy(j,k)*cp m%AllOuts( BNCm( beta,k) ) = m%BEMT_y%Cm(j,k) m%AllOuts( BNCx( beta,k) ) = m%BEMT_y%Cx(j,k) @@ -2019,16 +1908,6 @@ SUBROUTINE ReadPrimaryFile( InputFile, InputFileData, ADBlFile, OutFileRoot, UnE CALL ReadVar( UnIn, InputFile, InputFileData%FrozenWake, "FrozenWake", "Assume frozen wake during linearization? (flag)", ErrStat2, ErrMsg2, UnEc) CALL SetErrStat( ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName ) - - ! CavitCheck - Perform cavitation check? (flag): - CALL ReadVar( UnIn, InputFile, InputFileData%CavitCheck, "CavitCheck", "Perform cavitation check? (flag)", ErrStat2, ErrMsg2, UnEc) - CALL SetErrStat( ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName ) - - ! AddedMass - Include added mass effects? (flag): -! CALL ReadVar( UnIn, InputFile, InputFileData%AddedMass, "AddedMass", "Include added mass effects? (flag)", ErrStat2, ErrMsg2, UnEc) - ! CALL SetErrStat( ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName ) - - ! Return on error at end of section IF ( ErrStat >= AbortErrLev ) THEN CALL Cleanup() @@ -2046,26 +1925,11 @@ SUBROUTINE ReadPrimaryFile( InputFile, InputFileData, ADBlFile, OutFileRoot, UnE ! KinVisc - Kinematic air viscosity (m^2/s): CALL ReadVar( UnIn, InputFile, InputFileData%KinVisc, "KinVisc", "Kinematic air viscosity (m^2/s)", ErrStat2, ErrMsg2, UnEc) CALL SetErrStat( ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName ) - - ! SpdSound - Speed of sound (m/s): + + ! SpdSound - Speed of sound (m/s): CALL ReadVar( UnIn, InputFile, InputFileData%SpdSound, "SpdSound", "Speed of sound (m/s)", ErrStat2, ErrMsg2, UnEc) CALL SetErrStat( ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName ) - ! Patm - Atmospheric pressure (Pa): - CALL ReadVar( UnIn, InputFile, InputFileData%Patm, "Patm", "Atmospheric pressure (Pa)", ErrStat2, ErrMsg2, UnEc) - CALL SetErrStat( ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName ) - - - ! Pvap - Vapour pressure of fluid (Pa): - CALL ReadVar( UnIn, InputFile, InputFileData%Pvap, "Pvap", "Vapour pressure of fluid (Pa)", ErrStat2, ErrMsg2, UnEc) - CALL SetErrStat( ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName ) - - ! FluidDepth - Water depth above mid-hub height (m) - used for caviation check: - CALL ReadVar( UnIn, InputFile, InputFileData%FluidDepth, "FluidDepth", "Water depth above mid-hub height (MHK only, for cavitation check) (m)", ErrStat2, ErrMsg2, UnEc) - CALL SetErrStat( ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName ) - - - ! Return on error at end of section IF ( ErrStat >= AbortErrLev ) THEN CALL Cleanup() @@ -2180,8 +2044,6 @@ SUBROUTINE ReadPrimaryFile( InputFile, InputFileData, ADBlFile, OutFileRoot, UnE ! InCol_Cpmin - The column in the airfoil tables that contains the drag coefficient; use zero if there is no Cpmin column (-): CALL ReadVar( UnIn, InputFile, InputFileData%InCol_Cpmin, "InCol_Cpmin", "The column in the airfoil tables that contains the drag coefficient; use zero if there is no Cpmin column (-)", ErrStat2, ErrMsg2, UnEc) CALL SetErrStat( ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName ) - - IF ( ErrStat >= AbortErrLev ) RETURN ! NumAFfiles - Number of airfoil files used (-): @@ -2716,6 +2578,7 @@ END SUBROUTINE AD_PrintSum !---------------------------------------------------------------------------------------------------------------------------------- + !********************************************************************************************************************************** ! NOTE: The following lines of code were generated by a Matlab script called "Write_ChckOutLst.m" ! using the parameters listed in the "OutListParameters.xlsx" Excel file. Any changes to these @@ -2727,7 +2590,7 @@ END SUBROUTINE AD_PrintSum !! the sign is set to 0 if the channel is invalid. !! It sets assumes the value p%NumOuts has been set before this routine has been called, and it sets the values of p%OutParam here. !! -!! This routine was generated by Write_ChckOutLst.m using the parameters listed in OutListParameters.xlsx at 16-Feb-2017 15:50:51. +!! This routine was generated by Write_ChckOutLst.m using the parameters listed in OutListParameters.xlsx at 11-Mar-2016 14:45:58. SUBROUTINE SetOutParam(OutList, p, ErrStat, ErrMsg ) !.................................................................................................................................. @@ -2744,7 +2607,6 @@ SUBROUTINE SetOutParam(OutList, p, ErrStat, ErrMsg ) INTEGER :: ErrStat2 ! temporary (local) error status INTEGER :: I ! Generic loop-counting index - INTEGER :: J ! Generic loop-counting index INTEGER :: INDX ! Index for valid arrays LOGICAL :: CheckOutListAgain ! Flag used to determine if output parameter starting with "M" is valid (or the negative of another parameter) @@ -2752,506 +2614,467 @@ SUBROUTINE SetOutParam(OutList, p, ErrStat, ErrMsg ) CHARACTER(ChanLen) :: OutListTmp ! A string to temporarily hold OutList(I) CHARACTER(*), PARAMETER :: RoutineName = "SetOutParam" - CHARACTER(OutStrLenM1), PARAMETER :: ValidParamAry(1184) = (/ & ! This lists the names of the allowed parameters, which must be sorted alphabetically + CHARACTER(OutStrLenM1), PARAMETER :: ValidParamAry(1103) = (/ & ! This lists the names of the allowed parameters, which must be sorted alphabetically "B1AZIMUTH","B1N1ALPHA","B1N1AXIND","B1N1CD ","B1N1CL ","B1N1CLRNC","B1N1CM ", & - "B1N1CN ","B1N1CPMIN","B1N1CT ","B1N1CURVE","B1N1CX ","B1N1CY ","B1N1DYNP ", & - "B1N1FD ","B1N1FL ","B1N1FN ","B1N1FT ","B1N1FX ","B1N1FY ","B1N1M ", & - "B1N1MM ","B1N1PHI ","B1N1RE ","B1N1SGCAV","B1N1SIGCR","B1N1STVX ","B1N1STVY ", & - "B1N1STVZ ","B1N1THETA","B1N1TNIND","B1N1VDISX","B1N1VDISY","B1N1VDISZ","B1N1VINDX", & - "B1N1VINDY","B1N1VREL ","B1N1VUNDX","B1N1VUNDY","B1N1VUNDZ","B1N2ALPHA","B1N2AXIND", & - "B1N2CD ","B1N2CL ","B1N2CLRNC","B1N2CM ","B1N2CN ","B1N2CPMIN","B1N2CT ", & - "B1N2CURVE","B1N2CX ","B1N2CY ","B1N2DYNP ","B1N2FD ","B1N2FL ","B1N2FN ", & - "B1N2FT ","B1N2FX ","B1N2FY ","B1N2M ","B1N2MM ","B1N2PHI ","B1N2RE ", & - "B1N2SGCAV","B1N2SIGCR","B1N2STVX ","B1N2STVY ","B1N2STVZ ","B1N2THETA","B1N2TNIND", & - "B1N2VDISX","B1N2VDISY","B1N2VDISZ","B1N2VINDX","B1N2VINDY","B1N2VREL ","B1N2VUNDX", & - "B1N2VUNDY","B1N2VUNDZ","B1N3ALPHA","B1N3AXIND","B1N3CD ","B1N3CL ","B1N3CLRNC", & - "B1N3CM ","B1N3CN ","B1N3CPMIN","B1N3CT ","B1N3CURVE","B1N3CX ","B1N3CY ", & + "B1N1CN ","B1N1CT ","B1N1CURVE","B1N1CX ","B1N1CY ","B1N1DYNP ","B1N1FD ", & + "B1N1FL ","B1N1FN ","B1N1FT ","B1N1FX ","B1N1FY ","B1N1M ","B1N1MM ", & + "B1N1PHI ","B1N1RE ","B1N1STVX ","B1N1STVY ","B1N1STVZ ","B1N1THETA","B1N1TNIND", & + "B1N1VDISX","B1N1VDISY","B1N1VDISZ","B1N1VINDX","B1N1VINDY","B1N1VREL ","B1N1VUNDX", & + "B1N1VUNDY","B1N1VUNDZ","B1N2ALPHA","B1N2AXIND","B1N2CD ","B1N2CL ","B1N2CLRNC", & + "B1N2CM ","B1N2CN ","B1N2CT ","B1N2CURVE","B1N2CX ","B1N2CY ","B1N2DYNP ", & + "B1N2FD ","B1N2FL ","B1N2FN ","B1N2FT ","B1N2FX ","B1N2FY ","B1N2M ", & + "B1N2MM ","B1N2PHI ","B1N2RE ","B1N2STVX ","B1N2STVY ","B1N2STVZ ","B1N2THETA", & + "B1N2TNIND","B1N2VDISX","B1N2VDISY","B1N2VDISZ","B1N2VINDX","B1N2VINDY","B1N2VREL ", & + "B1N2VUNDX","B1N2VUNDY","B1N2VUNDZ","B1N3ALPHA","B1N3AXIND","B1N3CD ","B1N3CL ", & + "B1N3CLRNC","B1N3CM ","B1N3CN ","B1N3CT ","B1N3CURVE","B1N3CX ","B1N3CY ", & "B1N3DYNP ","B1N3FD ","B1N3FL ","B1N3FN ","B1N3FT ","B1N3FX ","B1N3FY ", & - "B1N3M ","B1N3MM ","B1N3PHI ","B1N3RE ","B1N3SGCAV","B1N3SIGCR","B1N3STVX ", & - "B1N3STVY ","B1N3STVZ ","B1N3THETA","B1N3TNIND","B1N3VDISX","B1N3VDISY","B1N3VDISZ", & - "B1N3VINDX","B1N3VINDY","B1N3VREL ","B1N3VUNDX","B1N3VUNDY","B1N3VUNDZ","B1N4ALPHA", & - "B1N4AXIND","B1N4CD ","B1N4CL ","B1N4CLRNC","B1N4CM ","B1N4CN ","B1N4CPMIN", & - "B1N4CT ","B1N4CURVE","B1N4CX ","B1N4CY ","B1N4DYNP ","B1N4FD ","B1N4FL ", & - "B1N4FN ","B1N4FT ","B1N4FX ","B1N4FY ","B1N4M ","B1N4MM ","B1N4PHI ", & - "B1N4RE ","B1N4SGCAV","B1N4SIGCR","B1N4STVX ","B1N4STVY ","B1N4STVZ ","B1N4THETA", & - "B1N4TNIND","B1N4VDISX","B1N4VDISY","B1N4VDISZ","B1N4VINDX","B1N4VINDY","B1N4VREL ", & - "B1N4VUNDX","B1N4VUNDY","B1N4VUNDZ","B1N5ALPHA","B1N5AXIND","B1N5CD ","B1N5CL ", & - "B1N5CLRNC","B1N5CM ","B1N5CN ","B1N5CPMIN","B1N5CT ","B1N5CURVE","B1N5CX ", & - "B1N5CY ","B1N5DYNP ","B1N5FD ","B1N5FL ","B1N5FN ","B1N5FT ","B1N5FX ", & - "B1N5FY ","B1N5M ","B1N5MM ","B1N5PHI ","B1N5RE ","B1N5SGCAV","B1N5SIGCR", & - "B1N5STVX ","B1N5STVY ","B1N5STVZ ","B1N5THETA","B1N5TNIND","B1N5VDISX","B1N5VDISY", & - "B1N5VDISZ","B1N5VINDX","B1N5VINDY","B1N5VREL ","B1N5VUNDX","B1N5VUNDY","B1N5VUNDZ", & - "B1N6ALPHA","B1N6AXIND","B1N6CD ","B1N6CL ","B1N6CLRNC","B1N6CM ","B1N6CN ", & - "B1N6CPMIN","B1N6CT ","B1N6CURVE","B1N6CX ","B1N6CY ","B1N6DYNP ","B1N6FD ", & - "B1N6FL ","B1N6FN ","B1N6FT ","B1N6FX ","B1N6FY ","B1N6M ","B1N6MM ", & - "B1N6PHI ","B1N6RE ","B1N6SGCAV","B1N6SIGCR","B1N6STVX ","B1N6STVY ","B1N6STVZ ", & - "B1N6THETA","B1N6TNIND","B1N6VDISX","B1N6VDISY","B1N6VDISZ","B1N6VINDX","B1N6VINDY", & - "B1N6VREL ","B1N6VUNDX","B1N6VUNDY","B1N6VUNDZ","B1N7ALPHA","B1N7AXIND","B1N7CD ", & - "B1N7CL ","B1N7CLRNC","B1N7CM ","B1N7CN ","B1N7CPMIN","B1N7CT ","B1N7CURVE", & - "B1N7CX ","B1N7CY ","B1N7DYNP ","B1N7FD ","B1N7FL ","B1N7FN ","B1N7FT ", & - "B1N7FX ","B1N7FY ","B1N7M ","B1N7MM ","B1N7PHI ","B1N7RE ","B1N7SGCAV", & - "B1N7SIGCR","B1N7STVX ","B1N7STVY ","B1N7STVZ ","B1N7THETA","B1N7TNIND","B1N7VDISX", & + "B1N3M ","B1N3MM ","B1N3PHI ","B1N3RE ","B1N3STVX ","B1N3STVY ","B1N3STVZ ", & + "B1N3THETA","B1N3TNIND","B1N3VDISX","B1N3VDISY","B1N3VDISZ","B1N3VINDX","B1N3VINDY", & + "B1N3VREL ","B1N3VUNDX","B1N3VUNDY","B1N3VUNDZ","B1N4ALPHA","B1N4AXIND","B1N4CD ", & + "B1N4CL ","B1N4CLRNC","B1N4CM ","B1N4CN ","B1N4CT ","B1N4CURVE","B1N4CX ", & + "B1N4CY ","B1N4DYNP ","B1N4FD ","B1N4FL ","B1N4FN ","B1N4FT ","B1N4FX ", & + "B1N4FY ","B1N4M ","B1N4MM ","B1N4PHI ","B1N4RE ","B1N4STVX ","B1N4STVY ", & + "B1N4STVZ ","B1N4THETA","B1N4TNIND","B1N4VDISX","B1N4VDISY","B1N4VDISZ","B1N4VINDX", & + "B1N4VINDY","B1N4VREL ","B1N4VUNDX","B1N4VUNDY","B1N4VUNDZ","B1N5ALPHA","B1N5AXIND", & + "B1N5CD ","B1N5CL ","B1N5CLRNC","B1N5CM ","B1N5CN ","B1N5CT ","B1N5CURVE", & + "B1N5CX ","B1N5CY ","B1N5DYNP ","B1N5FD ","B1N5FL ","B1N5FN ","B1N5FT ", & + "B1N5FX ","B1N5FY ","B1N5M ","B1N5MM ","B1N5PHI ","B1N5RE ","B1N5STVX ", & + "B1N5STVY ","B1N5STVZ ","B1N5THETA","B1N5TNIND","B1N5VDISX","B1N5VDISY","B1N5VDISZ", & + "B1N5VINDX","B1N5VINDY","B1N5VREL ","B1N5VUNDX","B1N5VUNDY","B1N5VUNDZ","B1N6ALPHA", & + "B1N6AXIND","B1N6CD ","B1N6CL ","B1N6CLRNC","B1N6CM ","B1N6CN ","B1N6CT ", & + "B1N6CURVE","B1N6CX ","B1N6CY ","B1N6DYNP ","B1N6FD ","B1N6FL ","B1N6FN ", & + "B1N6FT ","B1N6FX ","B1N6FY ","B1N6M ","B1N6MM ","B1N6PHI ","B1N6RE ", & + "B1N6STVX ","B1N6STVY ","B1N6STVZ ","B1N6THETA","B1N6TNIND","B1N6VDISX","B1N6VDISY", & + "B1N6VDISZ","B1N6VINDX","B1N6VINDY","B1N6VREL ","B1N6VUNDX","B1N6VUNDY","B1N6VUNDZ", & + "B1N7ALPHA","B1N7AXIND","B1N7CD ","B1N7CL ","B1N7CLRNC","B1N7CM ","B1N7CN ", & + "B1N7CT ","B1N7CURVE","B1N7CX ","B1N7CY ","B1N7DYNP ","B1N7FD ","B1N7FL ", & + "B1N7FN ","B1N7FT ","B1N7FX ","B1N7FY ","B1N7M ","B1N7MM ","B1N7PHI ", & + "B1N7RE ","B1N7STVX ","B1N7STVY ","B1N7STVZ ","B1N7THETA","B1N7TNIND","B1N7VDISX", & "B1N7VDISY","B1N7VDISZ","B1N7VINDX","B1N7VINDY","B1N7VREL ","B1N7VUNDX","B1N7VUNDY", & "B1N7VUNDZ","B1N8ALPHA","B1N8AXIND","B1N8CD ","B1N8CL ","B1N8CLRNC","B1N8CM ", & - "B1N8CN ","B1N8CPMIN","B1N8CT ","B1N8CURVE","B1N8CX ","B1N8CY ","B1N8DYNP ", & - "B1N8FD ","B1N8FL ","B1N8FN ","B1N8FT ","B1N8FX ","B1N8FY ","B1N8M ", & - "B1N8MM ","B1N8PHI ","B1N8RE ","B1N8SGCAV","B1N8SIGCR","B1N8STVX ","B1N8STVY ", & - "B1N8STVZ ","B1N8THETA","B1N8TNIND","B1N8VDISX","B1N8VDISY","B1N8VDISZ","B1N8VINDX", & - "B1N8VINDY","B1N8VREL ","B1N8VUNDX","B1N8VUNDY","B1N8VUNDZ","B1N9ALPHA","B1N9AXIND", & - "B1N9CD ","B1N9CL ","B1N9CLRNC","B1N9CM ","B1N9CN ","B1N9CPMIN","B1N9CT ", & - "B1N9CURVE","B1N9CX ","B1N9CY ","B1N9DYNP ","B1N9FD ","B1N9FL ","B1N9FN ", & - "B1N9FT ","B1N9FX ","B1N9FY ","B1N9M ","B1N9MM ","B1N9PHI ","B1N9RE ", & - "B1N9SGCAV","B1N9SIGCR","B1N9STVX ","B1N9STVY ","B1N9STVZ ","B1N9THETA","B1N9TNIND", & - "B1N9VDISX","B1N9VDISY","B1N9VDISZ","B1N9VINDX","B1N9VINDY","B1N9VREL ","B1N9VUNDX", & - "B1N9VUNDY","B1N9VUNDZ","B1PITCH ","B2AZIMUTH","B2N1ALPHA","B2N1AXIND","B2N1CD ", & - "B2N1CL ","B2N1CLRNC","B2N1CM ","B2N1CN ","B2N1CPMIN","B2N1CT ","B2N1CURVE", & + "B1N8CN ","B1N8CT ","B1N8CURVE","B1N8CX ","B1N8CY ","B1N8DYNP ","B1N8FD ", & + "B1N8FL ","B1N8FN ","B1N8FT ","B1N8FX ","B1N8FY ","B1N8M ","B1N8MM ", & + "B1N8PHI ","B1N8RE ","B1N8STVX ","B1N8STVY ","B1N8STVZ ","B1N8THETA","B1N8TNIND", & + "B1N8VDISX","B1N8VDISY","B1N8VDISZ","B1N8VINDX","B1N8VINDY","B1N8VREL ","B1N8VUNDX", & + "B1N8VUNDY","B1N8VUNDZ","B1N9ALPHA","B1N9AXIND","B1N9CD ","B1N9CL ","B1N9CLRNC", & + "B1N9CM ","B1N9CN ","B1N9CT ","B1N9CURVE","B1N9CX ","B1N9CY ","B1N9DYNP ", & + "B1N9FD ","B1N9FL ","B1N9FN ","B1N9FT ","B1N9FX ","B1N9FY ","B1N9M ", & + "B1N9MM ","B1N9PHI ","B1N9RE ","B1N9STVX ","B1N9STVY ","B1N9STVZ ","B1N9THETA", & + "B1N9TNIND","B1N9VDISX","B1N9VDISY","B1N9VDISZ","B1N9VINDX","B1N9VINDY","B1N9VREL ", & + "B1N9VUNDX","B1N9VUNDY","B1N9VUNDZ","B1PITCH ","B2AZIMUTH","B2N1ALPHA","B2N1AXIND", & + "B2N1CD ","B2N1CL ","B2N1CLRNC","B2N1CM ","B2N1CN ","B2N1CT ","B2N1CURVE", & "B2N1CX ","B2N1CY ","B2N1DYNP ","B2N1FD ","B2N1FL ","B2N1FN ","B2N1FT ", & - "B2N1FX ","B2N1FY ","B2N1M ","B2N1MM ","B2N1PHI ","B2N1RE ","B2N1SGCAV", & - "B2N1SIGCR","B2N1STVX ","B2N1STVY ","B2N1STVZ ","B2N1THETA","B2N1TNIND","B2N1VDISX", & - "B2N1VDISY","B2N1VDISZ","B2N1VINDX","B2N1VINDY","B2N1VREL ","B2N1VUNDX","B2N1VUNDY", & - "B2N1VUNDZ","B2N2ALPHA","B2N2AXIND","B2N2CD ","B2N2CL ","B2N2CLRNC","B2N2CM ", & - "B2N2CN ","B2N2CPMIN","B2N2CT ","B2N2CURVE","B2N2CX ","B2N2CY ","B2N2DYNP ", & - "B2N2FD ","B2N2FL ","B2N2FN ","B2N2FT ","B2N2FX ","B2N2FY ","B2N2M ", & - "B2N2MM ","B2N2PHI ","B2N2RE ","B2N2SGCAV","B2N2SIGCR","B2N2STVX ","B2N2STVY ", & - "B2N2STVZ ","B2N2THETA","B2N2TNIND","B2N2VDISX","B2N2VDISY","B2N2VDISZ","B2N2VINDX", & - "B2N2VINDY","B2N2VREL ","B2N2VUNDX","B2N2VUNDY","B2N2VUNDZ","B2N3ALPHA","B2N3AXIND", & - "B2N3CD ","B2N3CL ","B2N3CLRNC","B2N3CM ","B2N3CN ","B2N3CPMIN","B2N3CT ", & - "B2N3CURVE","B2N3CX ","B2N3CY ","B2N3DYNP ","B2N3FD ","B2N3FL ","B2N3FN ", & - "B2N3FT ","B2N3FX ","B2N3FY ","B2N3M ","B2N3MM ","B2N3PHI ","B2N3RE ", & - "B2N3SGCAV","B2N3SIGCR","B2N3STVX ","B2N3STVY ","B2N3STVZ ","B2N3THETA","B2N3TNIND", & - "B2N3VDISX","B2N3VDISY","B2N3VDISZ","B2N3VINDX","B2N3VINDY","B2N3VREL ","B2N3VUNDX", & - "B2N3VUNDY","B2N3VUNDZ","B2N4ALPHA","B2N4AXIND","B2N4CD ","B2N4CL ","B2N4CLRNC", & - "B2N4CM ","B2N4CN ","B2N4CPMIN","B2N4CT ","B2N4CURVE","B2N4CX ","B2N4CY ", & - "B2N4DYNP ","B2N4FD ","B2N4FL ","B2N4FN ","B2N4FT ","B2N4FX ","B2N4FY ", & - "B2N4M ","B2N4MM ","B2N4PHI ","B2N4RE ","B2N4SGCAV","B2N4SIGCR","B2N4STVX ", & - "B2N4STVY ","B2N4STVZ ","B2N4THETA","B2N4TNIND","B2N4VDISX","B2N4VDISY","B2N4VDISZ", & - "B2N4VINDX","B2N4VINDY","B2N4VREL ","B2N4VUNDX","B2N4VUNDY","B2N4VUNDZ","B2N5ALPHA", & - "B2N5AXIND","B2N5CD ","B2N5CL ","B2N5CLRNC","B2N5CM ","B2N5CN ","B2N5CPMIN", & - "B2N5CT ","B2N5CURVE","B2N5CX ","B2N5CY ","B2N5DYNP ","B2N5FD ","B2N5FL ", & - "B2N5FN ","B2N5FT ","B2N5FX ","B2N5FY ","B2N5M ","B2N5MM ","B2N5PHI ", & - "B2N5RE ","B2N5SGCAV","B2N5SIGCR","B2N5STVX ","B2N5STVY ","B2N5STVZ ","B2N5THETA", & + "B2N1FX ","B2N1FY ","B2N1M ","B2N1MM ","B2N1PHI ","B2N1RE ","B2N1STVX ", & + "B2N1STVY ","B2N1STVZ ","B2N1THETA","B2N1TNIND","B2N1VDISX","B2N1VDISY","B2N1VDISZ", & + "B2N1VINDX","B2N1VINDY","B2N1VREL ","B2N1VUNDX","B2N1VUNDY","B2N1VUNDZ","B2N2ALPHA", & + "B2N2AXIND","B2N2CD ","B2N2CL ","B2N2CLRNC","B2N2CM ","B2N2CN ","B2N2CT ", & + "B2N2CURVE","B2N2CX ","B2N2CY ","B2N2DYNP ","B2N2FD ","B2N2FL ","B2N2FN ", & + "B2N2FT ","B2N2FX ","B2N2FY ","B2N2M ","B2N2MM ","B2N2PHI ","B2N2RE ", & + "B2N2STVX ","B2N2STVY ","B2N2STVZ ","B2N2THETA","B2N2TNIND","B2N2VDISX","B2N2VDISY", & + "B2N2VDISZ","B2N2VINDX","B2N2VINDY","B2N2VREL ","B2N2VUNDX","B2N2VUNDY","B2N2VUNDZ", & + "B2N3ALPHA","B2N3AXIND","B2N3CD ","B2N3CL ","B2N3CLRNC","B2N3CM ","B2N3CN ", & + "B2N3CT ","B2N3CURVE","B2N3CX ","B2N3CY ","B2N3DYNP ","B2N3FD ","B2N3FL ", & + "B2N3FN ","B2N3FT ","B2N3FX ","B2N3FY ","B2N3M ","B2N3MM ","B2N3PHI ", & + "B2N3RE ","B2N3STVX ","B2N3STVY ","B2N3STVZ ","B2N3THETA","B2N3TNIND","B2N3VDISX", & + "B2N3VDISY","B2N3VDISZ","B2N3VINDX","B2N3VINDY","B2N3VREL ","B2N3VUNDX","B2N3VUNDY", & + "B2N3VUNDZ","B2N4ALPHA","B2N4AXIND","B2N4CD ","B2N4CL ","B2N4CLRNC","B2N4CM ", & + "B2N4CN ","B2N4CT ","B2N4CURVE","B2N4CX ","B2N4CY ","B2N4DYNP ","B2N4FD ", & + "B2N4FL ","B2N4FN ","B2N4FT ","B2N4FX ","B2N4FY ","B2N4M ","B2N4MM ", & + "B2N4PHI ","B2N4RE ","B2N4STVX ","B2N4STVY ","B2N4STVZ ","B2N4THETA","B2N4TNIND", & + "B2N4VDISX","B2N4VDISY","B2N4VDISZ","B2N4VINDX","B2N4VINDY","B2N4VREL ","B2N4VUNDX", & + "B2N4VUNDY","B2N4VUNDZ","B2N5ALPHA","B2N5AXIND","B2N5CD ","B2N5CL ","B2N5CLRNC", & + "B2N5CM ","B2N5CN ","B2N5CT ","B2N5CURVE","B2N5CX ","B2N5CY ","B2N5DYNP ", & + "B2N5FD ","B2N5FL ","B2N5FN ","B2N5FT ","B2N5FX ","B2N5FY ","B2N5M ", & + "B2N5MM ","B2N5PHI ","B2N5RE ","B2N5STVX ","B2N5STVY ","B2N5STVZ ","B2N5THETA", & "B2N5TNIND","B2N5VDISX","B2N5VDISY","B2N5VDISZ","B2N5VINDX","B2N5VINDY","B2N5VREL ", & "B2N5VUNDX","B2N5VUNDY","B2N5VUNDZ","B2N6ALPHA","B2N6AXIND","B2N6CD ","B2N6CL ", & - "B2N6CLRNC","B2N6CM ","B2N6CN ","B2N6CPMIN","B2N6CT ","B2N6CURVE","B2N6CX ", & - "B2N6CY ","B2N6DYNP ","B2N6FD ","B2N6FL ","B2N6FN ","B2N6FT ","B2N6FX ", & - "B2N6FY ","B2N6M ","B2N6MM ","B2N6PHI ","B2N6RE ","B2N6SGCAV","B2N6SIGCR", & - "B2N6STVX ","B2N6STVY ","B2N6STVZ ","B2N6THETA","B2N6TNIND","B2N6VDISX","B2N6VDISY", & - "B2N6VDISZ","B2N6VINDX","B2N6VINDY","B2N6VREL ","B2N6VUNDX","B2N6VUNDY","B2N6VUNDZ", & - "B2N7ALPHA","B2N7AXIND","B2N7CD ","B2N7CL ","B2N7CLRNC","B2N7CM ","B2N7CN ", & - "B2N7CPMIN","B2N7CT ","B2N7CURVE","B2N7CX ","B2N7CY ","B2N7DYNP ","B2N7FD ", & - "B2N7FL ","B2N7FN ","B2N7FT ","B2N7FX ","B2N7FY ","B2N7M ","B2N7MM ", & - "B2N7PHI ","B2N7RE ","B2N7SGCAV","B2N7SIGCR","B2N7STVX ","B2N7STVY ","B2N7STVZ ", & - "B2N7THETA","B2N7TNIND","B2N7VDISX","B2N7VDISY","B2N7VDISZ","B2N7VINDX","B2N7VINDY", & - "B2N7VREL ","B2N7VUNDX","B2N7VUNDY","B2N7VUNDZ","B2N8ALPHA","B2N8AXIND","B2N8CD ", & - "B2N8CL ","B2N8CLRNC","B2N8CM ","B2N8CN ","B2N8CPMIN","B2N8CT ","B2N8CURVE", & + "B2N6CLRNC","B2N6CM ","B2N6CN ","B2N6CT ","B2N6CURVE","B2N6CX ","B2N6CY ", & + "B2N6DYNP ","B2N6FD ","B2N6FL ","B2N6FN ","B2N6FT ","B2N6FX ","B2N6FY ", & + "B2N6M ","B2N6MM ","B2N6PHI ","B2N6RE ","B2N6STVX ","B2N6STVY ","B2N6STVZ ", & + "B2N6THETA","B2N6TNIND","B2N6VDISX","B2N6VDISY","B2N6VDISZ","B2N6VINDX","B2N6VINDY", & + "B2N6VREL ","B2N6VUNDX","B2N6VUNDY","B2N6VUNDZ","B2N7ALPHA","B2N7AXIND","B2N7CD ", & + "B2N7CL ","B2N7CLRNC","B2N7CM ","B2N7CN ","B2N7CT ","B2N7CURVE","B2N7CX ", & + "B2N7CY ","B2N7DYNP ","B2N7FD ","B2N7FL ","B2N7FN ","B2N7FT ","B2N7FX ", & + "B2N7FY ","B2N7M ","B2N7MM ","B2N7PHI ","B2N7RE ","B2N7STVX ","B2N7STVY ", & + "B2N7STVZ ","B2N7THETA","B2N7TNIND","B2N7VDISX","B2N7VDISY","B2N7VDISZ","B2N7VINDX", & + "B2N7VINDY","B2N7VREL ","B2N7VUNDX","B2N7VUNDY","B2N7VUNDZ","B2N8ALPHA","B2N8AXIND", & + "B2N8CD ","B2N8CL ","B2N8CLRNC","B2N8CM ","B2N8CN ","B2N8CT ","B2N8CURVE", & "B2N8CX ","B2N8CY ","B2N8DYNP ","B2N8FD ","B2N8FL ","B2N8FN ","B2N8FT ", & - "B2N8FX ","B2N8FY ","B2N8M ","B2N8MM ","B2N8PHI ","B2N8RE ","B2N8SGCAV", & - "B2N8SIGCR","B2N8STVX ","B2N8STVY ","B2N8STVZ ","B2N8THETA","B2N8TNIND","B2N8VDISX", & - "B2N8VDISY","B2N8VDISZ","B2N8VINDX","B2N8VINDY","B2N8VREL ","B2N8VUNDX","B2N8VUNDY", & - "B2N8VUNDZ","B2N9ALPHA","B2N9AXIND","B2N9CD ","B2N9CL ","B2N9CLRNC","B2N9CM ", & - "B2N9CN ","B2N9CPMIN","B2N9CT ","B2N9CURVE","B2N9CX ","B2N9CY ","B2N9DYNP ", & - "B2N9FD ","B2N9FL ","B2N9FN ","B2N9FT ","B2N9FX ","B2N9FY ","B2N9M ", & - "B2N9MM ","B2N9PHI ","B2N9RE ","B2N9SGCAV","B2N9SIGCR","B2N9STVX ","B2N9STVY ", & - "B2N9STVZ ","B2N9THETA","B2N9TNIND","B2N9VDISX","B2N9VDISY","B2N9VDISZ","B2N9VINDX", & - "B2N9VINDY","B2N9VREL ","B2N9VUNDX","B2N9VUNDY","B2N9VUNDZ","B2PITCH ","B3AZIMUTH", & - "B3N1ALPHA","B3N1AXIND","B3N1CD ","B3N1CL ","B3N1CLRNC","B3N1CM ","B3N1CN ", & - "B3N1CPMIN","B3N1CT ","B3N1CURVE","B3N1CX ","B3N1CY ","B3N1DYNP ","B3N1FD ", & - "B3N1FL ","B3N1FN ","B3N1FT ","B3N1FX ","B3N1FY ","B3N1M ","B3N1MM ", & - "B3N1PHI ","B3N1RE ","B3N1SGCAV","B3N1SIGCR","B3N1STVX ","B3N1STVY ","B3N1STVZ ", & - "B3N1THETA","B3N1TNIND","B3N1VDISX","B3N1VDISY","B3N1VDISZ","B3N1VINDX","B3N1VINDY", & - "B3N1VREL ","B3N1VUNDX","B3N1VUNDY","B3N1VUNDZ","B3N2ALPHA","B3N2AXIND","B3N2CD ", & - "B3N2CL ","B3N2CLRNC","B3N2CM ","B3N2CN ","B3N2CPMIN","B3N2CT ","B3N2CURVE", & - "B3N2CX ","B3N2CY ","B3N2DYNP ","B3N2FD ","B3N2FL ","B3N2FN ","B3N2FT ", & - "B3N2FX ","B3N2FY ","B3N2M ","B3N2MM ","B3N2PHI ","B3N2RE ","B3N2SGCAV", & - "B3N2SIGCR","B3N2STVX ","B3N2STVY ","B3N2STVZ ","B3N2THETA","B3N2TNIND","B3N2VDISX", & - "B3N2VDISY","B3N2VDISZ","B3N2VINDX","B3N2VINDY","B3N2VREL ","B3N2VUNDX","B3N2VUNDY", & - "B3N2VUNDZ","B3N3ALPHA","B3N3AXIND","B3N3CD ","B3N3CL ","B3N3CLRNC","B3N3CM ", & - "B3N3CN ","B3N3CPMIN","B3N3CT ","B3N3CURVE","B3N3CX ","B3N3CY ","B3N3DYNP ", & - "B3N3FD ","B3N3FL ","B3N3FN ","B3N3FT ","B3N3FX ","B3N3FY ","B3N3M ", & - "B3N3MM ","B3N3PHI ","B3N3RE ","B3N3SGCAV","B3N3SIGCR","B3N3STVX ","B3N3STVY ", & + "B2N8FX ","B2N8FY ","B2N8M ","B2N8MM ","B2N8PHI ","B2N8RE ","B2N8STVX ", & + "B2N8STVY ","B2N8STVZ ","B2N8THETA","B2N8TNIND","B2N8VDISX","B2N8VDISY","B2N8VDISZ", & + "B2N8VINDX","B2N8VINDY","B2N8VREL ","B2N8VUNDX","B2N8VUNDY","B2N8VUNDZ","B2N9ALPHA", & + "B2N9AXIND","B2N9CD ","B2N9CL ","B2N9CLRNC","B2N9CM ","B2N9CN ","B2N9CT ", & + "B2N9CURVE","B2N9CX ","B2N9CY ","B2N9DYNP ","B2N9FD ","B2N9FL ","B2N9FN ", & + "B2N9FT ","B2N9FX ","B2N9FY ","B2N9M ","B2N9MM ","B2N9PHI ","B2N9RE ", & + "B2N9STVX ","B2N9STVY ","B2N9STVZ ","B2N9THETA","B2N9TNIND","B2N9VDISX","B2N9VDISY", & + "B2N9VDISZ","B2N9VINDX","B2N9VINDY","B2N9VREL ","B2N9VUNDX","B2N9VUNDY","B2N9VUNDZ", & + "B2PITCH ","B3AZIMUTH","B3N1ALPHA","B3N1AXIND","B3N1CD ","B3N1CL ","B3N1CLRNC", & + "B3N1CM ","B3N1CN ","B3N1CT ","B3N1CURVE","B3N1CX ","B3N1CY ","B3N1DYNP ", & + "B3N1FD ","B3N1FL ","B3N1FN ","B3N1FT ","B3N1FX ","B3N1FY ","B3N1M ", & + "B3N1MM ","B3N1PHI ","B3N1RE ","B3N1STVX ","B3N1STVY ","B3N1STVZ ","B3N1THETA", & + "B3N1TNIND","B3N1VDISX","B3N1VDISY","B3N1VDISZ","B3N1VINDX","B3N1VINDY","B3N1VREL ", & + "B3N1VUNDX","B3N1VUNDY","B3N1VUNDZ","B3N2ALPHA","B3N2AXIND","B3N2CD ","B3N2CL ", & + "B3N2CLRNC","B3N2CM ","B3N2CN ","B3N2CT ","B3N2CURVE","B3N2CX ","B3N2CY ", & + "B3N2DYNP ","B3N2FD ","B3N2FL ","B3N2FN ","B3N2FT ","B3N2FX ","B3N2FY ", & + "B3N2M ","B3N2MM ","B3N2PHI ","B3N2RE ","B3N2STVX ","B3N2STVY ","B3N2STVZ ", & + "B3N2THETA","B3N2TNIND","B3N2VDISX","B3N2VDISY","B3N2VDISZ","B3N2VINDX","B3N2VINDY", & + "B3N2VREL ","B3N2VUNDX","B3N2VUNDY","B3N2VUNDZ","B3N3ALPHA","B3N3AXIND","B3N3CD ", & + "B3N3CL ","B3N3CLRNC","B3N3CM ","B3N3CN ","B3N3CT ","B3N3CURVE","B3N3CX ", & + "B3N3CY ","B3N3DYNP ","B3N3FD ","B3N3FL ","B3N3FN ","B3N3FT ","B3N3FX ", & + "B3N3FY ","B3N3M ","B3N3MM ","B3N3PHI ","B3N3RE ","B3N3STVX ","B3N3STVY ", & "B3N3STVZ ","B3N3THETA","B3N3TNIND","B3N3VDISX","B3N3VDISY","B3N3VDISZ","B3N3VINDX", & "B3N3VINDY","B3N3VREL ","B3N3VUNDX","B3N3VUNDY","B3N3VUNDZ","B3N4ALPHA","B3N4AXIND", & - "B3N4CD ","B3N4CL ","B3N4CLRNC","B3N4CM ","B3N4CN ","B3N4CPMIN","B3N4CT ", & - "B3N4CURVE","B3N4CX ","B3N4CY ","B3N4DYNP ","B3N4FD ","B3N4FL ","B3N4FN ", & - "B3N4FT ","B3N4FX ","B3N4FY ","B3N4M ","B3N4MM ","B3N4PHI ","B3N4RE ", & - "B3N4SGCAV","B3N4SIGCR","B3N4STVX ","B3N4STVY ","B3N4STVZ ","B3N4THETA","B3N4TNIND", & - "B3N4VDISX","B3N4VDISY","B3N4VDISZ","B3N4VINDX","B3N4VINDY","B3N4VREL ","B3N4VUNDX", & - "B3N4VUNDY","B3N4VUNDZ","B3N5ALPHA","B3N5AXIND","B3N5CD ","B3N5CL ","B3N5CLRNC", & - "B3N5CM ","B3N5CN ","B3N5CPMIN","B3N5CT ","B3N5CURVE","B3N5CX ","B3N5CY ", & - "B3N5DYNP ","B3N5FD ","B3N5FL ","B3N5FN ","B3N5FT ","B3N5FX ","B3N5FY ", & - "B3N5M ","B3N5MM ","B3N5PHI ","B3N5RE ","B3N5SGCAV","B3N5SIGCR","B3N5STVX ", & - "B3N5STVY ","B3N5STVZ ","B3N5THETA","B3N5TNIND","B3N5VDISX","B3N5VDISY","B3N5VDISZ", & - "B3N5VINDX","B3N5VINDY","B3N5VREL ","B3N5VUNDX","B3N5VUNDY","B3N5VUNDZ","B3N6ALPHA", & - "B3N6AXIND","B3N6CD ","B3N6CL ","B3N6CLRNC","B3N6CM ","B3N6CN ","B3N6CPMIN", & + "B3N4CD ","B3N4CL ","B3N4CLRNC","B3N4CM ","B3N4CN ","B3N4CT ","B3N4CURVE", & + "B3N4CX ","B3N4CY ","B3N4DYNP ","B3N4FD ","B3N4FL ","B3N4FN ","B3N4FT ", & + "B3N4FX ","B3N4FY ","B3N4M ","B3N4MM ","B3N4PHI ","B3N4RE ","B3N4STVX ", & + "B3N4STVY ","B3N4STVZ ","B3N4THETA","B3N4TNIND","B3N4VDISX","B3N4VDISY","B3N4VDISZ", & + "B3N4VINDX","B3N4VINDY","B3N4VREL ","B3N4VUNDX","B3N4VUNDY","B3N4VUNDZ","B3N5ALPHA", & + "B3N5AXIND","B3N5CD ","B3N5CL ","B3N5CLRNC","B3N5CM ","B3N5CN ","B3N5CT ", & + "B3N5CURVE","B3N5CX ","B3N5CY ","B3N5DYNP ","B3N5FD ","B3N5FL ","B3N5FN ", & + "B3N5FT ","B3N5FX ","B3N5FY ","B3N5M ","B3N5MM ","B3N5PHI ","B3N5RE ", & + "B3N5STVX ","B3N5STVY ","B3N5STVZ ","B3N5THETA","B3N5TNIND","B3N5VDISX","B3N5VDISY", & + "B3N5VDISZ","B3N5VINDX","B3N5VINDY","B3N5VREL ","B3N5VUNDX","B3N5VUNDY","B3N5VUNDZ", & + "B3N6ALPHA","B3N6AXIND","B3N6CD ","B3N6CL ","B3N6CLRNC","B3N6CM ","B3N6CN ", & "B3N6CT ","B3N6CURVE","B3N6CX ","B3N6CY ","B3N6DYNP ","B3N6FD ","B3N6FL ", & "B3N6FN ","B3N6FT ","B3N6FX ","B3N6FY ","B3N6M ","B3N6MM ","B3N6PHI ", & - "B3N6RE ","B3N6SGCAV","B3N6SIGCR","B3N6STVX ","B3N6STVY ","B3N6STVZ ","B3N6THETA", & - "B3N6TNIND","B3N6VDISX","B3N6VDISY","B3N6VDISZ","B3N6VINDX","B3N6VINDY","B3N6VREL ", & - "B3N6VUNDX","B3N6VUNDY","B3N6VUNDZ","B3N7ALPHA","B3N7AXIND","B3N7CD ","B3N7CL ", & - "B3N7CLRNC","B3N7CM ","B3N7CN ","B3N7CPMIN","B3N7CT ","B3N7CURVE","B3N7CX ", & - "B3N7CY ","B3N7DYNP ","B3N7FD ","B3N7FL ","B3N7FN ","B3N7FT ","B3N7FX ", & - "B3N7FY ","B3N7M ","B3N7MM ","B3N7PHI ","B3N7RE ","B3N7SGCAV","B3N7SIGCR", & - "B3N7STVX ","B3N7STVY ","B3N7STVZ ","B3N7THETA","B3N7TNIND","B3N7VDISX","B3N7VDISY", & - "B3N7VDISZ","B3N7VINDX","B3N7VINDY","B3N7VREL ","B3N7VUNDX","B3N7VUNDY","B3N7VUNDZ", & - "B3N8ALPHA","B3N8AXIND","B3N8CD ","B3N8CL ","B3N8CLRNC","B3N8CM ","B3N8CN ", & - "B3N8CPMIN","B3N8CT ","B3N8CURVE","B3N8CX ","B3N8CY ","B3N8DYNP ","B3N8FD ", & - "B3N8FL ","B3N8FN ","B3N8FT ","B3N8FX ","B3N8FY ","B3N8M ","B3N8MM ", & - "B3N8PHI ","B3N8RE ","B3N8SGCAV","B3N8SIGCR","B3N8STVX ","B3N8STVY ","B3N8STVZ ", & - "B3N8THETA","B3N8TNIND","B3N8VDISX","B3N8VDISY","B3N8VDISZ","B3N8VINDX","B3N8VINDY", & - "B3N8VREL ","B3N8VUNDX","B3N8VUNDY","B3N8VUNDZ","B3N9ALPHA","B3N9AXIND","B3N9CD ", & - "B3N9CL ","B3N9CLRNC","B3N9CM ","B3N9CN ","B3N9CPMIN","B3N9CT ","B3N9CURVE", & - "B3N9CX ","B3N9CY ","B3N9DYNP ","B3N9FD ","B3N9FL ","B3N9FN ","B3N9FT ", & - "B3N9FX ","B3N9FY ","B3N9M ","B3N9MM ","B3N9PHI ","B3N9RE ","B3N9SGCAV", & - "B3N9SIGCR","B3N9STVX ","B3N9STVY ","B3N9STVZ ","B3N9THETA","B3N9TNIND","B3N9VDISX", & - "B3N9VDISY","B3N9VDISZ","B3N9VINDX","B3N9VINDY","B3N9VREL ","B3N9VUNDX","B3N9VUNDY", & - "B3N9VUNDZ","B3PITCH ","RTAEROCP ","RTAEROCQ ","RTAEROCT ","RTAEROFXH","RTAEROFYH", & - "RTAEROFZH","RTAEROMXH","RTAEROMYH","RTAEROMZH","RTAEROPWR","RTAREA ","RTSKEW ", & - "RTSPEED ","RTTSR ","RTVAVGXH ","RTVAVGYH ","RTVAVGZH ","TWN1DYNP ","TWN1FDX ", & - "TWN1FDY ","TWN1M ","TWN1RE ","TWN1STVX ","TWN1STVY ","TWN1STVZ ","TWN1VREL ", & - "TWN1VUNDX","TWN1VUNDY","TWN1VUNDZ","TWN2DYNP ","TWN2FDX ","TWN2FDY ","TWN2M ", & - "TWN2RE ","TWN2STVX ","TWN2STVY ","TWN2STVZ ","TWN2VREL ","TWN2VUNDX","TWN2VUNDY", & - "TWN2VUNDZ","TWN3DYNP ","TWN3FDX ","TWN3FDY ","TWN3M ","TWN3RE ","TWN3STVX ", & - "TWN3STVY ","TWN3STVZ ","TWN3VREL ","TWN3VUNDX","TWN3VUNDY","TWN3VUNDZ","TWN4DYNP ", & - "TWN4FDX ","TWN4FDY ","TWN4M ","TWN4RE ","TWN4STVX ","TWN4STVY ","TWN4STVZ ", & - "TWN4VREL ","TWN4VUNDX","TWN4VUNDY","TWN4VUNDZ","TWN5DYNP ","TWN5FDX ","TWN5FDY ", & - "TWN5M ","TWN5RE ","TWN5STVX ","TWN5STVY ","TWN5STVZ ","TWN5VREL ","TWN5VUNDX", & - "TWN5VUNDY","TWN5VUNDZ","TWN6DYNP ","TWN6FDX ","TWN6FDY ","TWN6M ","TWN6RE ", & - "TWN6STVX ","TWN6STVY ","TWN6STVZ ","TWN6VREL ","TWN6VUNDX","TWN6VUNDY","TWN6VUNDZ", & - "TWN7DYNP ","TWN7FDX ","TWN7FDY ","TWN7M ","TWN7RE ","TWN7STVX ","TWN7STVY ", & - "TWN7STVZ ","TWN7VREL ","TWN7VUNDX","TWN7VUNDY","TWN7VUNDZ","TWN8DYNP ","TWN8FDX ", & - "TWN8FDY ","TWN8M ","TWN8RE ","TWN8STVX ","TWN8STVY ","TWN8STVZ ","TWN8VREL ", & - "TWN8VUNDX","TWN8VUNDY","TWN8VUNDZ","TWN9DYNP ","TWN9FDX ","TWN9FDY ","TWN9M ", & - "TWN9RE ","TWN9STVX ","TWN9STVY ","TWN9STVZ ","TWN9VREL ","TWN9VUNDX","TWN9VUNDY", & - "TWN9VUNDZ"/) - INTEGER(IntKi), PARAMETER :: ParamIndxAry(1184) = (/ & ! This lists the index into AllOuts(:) of the allowed parameters ValidParamAry(:) + "B3N6RE ","B3N6STVX ","B3N6STVY ","B3N6STVZ ","B3N6THETA","B3N6TNIND","B3N6VDISX", & + "B3N6VDISY","B3N6VDISZ","B3N6VINDX","B3N6VINDY","B3N6VREL ","B3N6VUNDX","B3N6VUNDY", & + "B3N6VUNDZ","B3N7ALPHA","B3N7AXIND","B3N7CD ","B3N7CL ","B3N7CLRNC","B3N7CM ", & + "B3N7CN ","B3N7CT ","B3N7CURVE","B3N7CX ","B3N7CY ","B3N7DYNP ","B3N7FD ", & + "B3N7FL ","B3N7FN ","B3N7FT ","B3N7FX ","B3N7FY ","B3N7M ","B3N7MM ", & + "B3N7PHI ","B3N7RE ","B3N7STVX ","B3N7STVY ","B3N7STVZ ","B3N7THETA","B3N7TNIND", & + "B3N7VDISX","B3N7VDISY","B3N7VDISZ","B3N7VINDX","B3N7VINDY","B3N7VREL ","B3N7VUNDX", & + "B3N7VUNDY","B3N7VUNDZ","B3N8ALPHA","B3N8AXIND","B3N8CD ","B3N8CL ","B3N8CLRNC", & + "B3N8CM ","B3N8CN ","B3N8CT ","B3N8CURVE","B3N8CX ","B3N8CY ","B3N8DYNP ", & + "B3N8FD ","B3N8FL ","B3N8FN ","B3N8FT ","B3N8FX ","B3N8FY ","B3N8M ", & + "B3N8MM ","B3N8PHI ","B3N8RE ","B3N8STVX ","B3N8STVY ","B3N8STVZ ","B3N8THETA", & + "B3N8TNIND","B3N8VDISX","B3N8VDISY","B3N8VDISZ","B3N8VINDX","B3N8VINDY","B3N8VREL ", & + "B3N8VUNDX","B3N8VUNDY","B3N8VUNDZ","B3N9ALPHA","B3N9AXIND","B3N9CD ","B3N9CL ", & + "B3N9CLRNC","B3N9CM ","B3N9CN ","B3N9CT ","B3N9CURVE","B3N9CX ","B3N9CY ", & + "B3N9DYNP ","B3N9FD ","B3N9FL ","B3N9FN ","B3N9FT ","B3N9FX ","B3N9FY ", & + "B3N9M ","B3N9MM ","B3N9PHI ","B3N9RE ","B3N9STVX ","B3N9STVY ","B3N9STVZ ", & + "B3N9THETA","B3N9TNIND","B3N9VDISX","B3N9VDISY","B3N9VDISZ","B3N9VINDX","B3N9VINDY", & + "B3N9VREL ","B3N9VUNDX","B3N9VUNDY","B3N9VUNDZ","B3PITCH ","RTAEROCP ","RTAEROCQ ", & + "RTAEROCT ","RTAEROFXH","RTAEROFYH","RTAEROFZH","RTAEROMXH","RTAEROMYH","RTAEROMZH", & + "RTAEROPWR","RTAREA ","RTSKEW ","RTSPEED ","RTTSR ","RTVAVGXH ","RTVAVGYH ", & + "RTVAVGZH ","TWN1DYNP ","TWN1FDX ","TWN1FDY ","TWN1M ","TWN1RE ","TWN1STVX ", & + "TWN1STVY ","TWN1STVZ ","TWN1VREL ","TWN1VUNDX","TWN1VUNDY","TWN1VUNDZ","TWN2DYNP ", & + "TWN2FDX ","TWN2FDY ","TWN2M ","TWN2RE ","TWN2STVX ","TWN2STVY ","TWN2STVZ ", & + "TWN2VREL ","TWN2VUNDX","TWN2VUNDY","TWN2VUNDZ","TWN3DYNP ","TWN3FDX ","TWN3FDY ", & + "TWN3M ","TWN3RE ","TWN3STVX ","TWN3STVY ","TWN3STVZ ","TWN3VREL ","TWN3VUNDX", & + "TWN3VUNDY","TWN3VUNDZ","TWN4DYNP ","TWN4FDX ","TWN4FDY ","TWN4M ","TWN4RE ", & + "TWN4STVX ","TWN4STVY ","TWN4STVZ ","TWN4VREL ","TWN4VUNDX","TWN4VUNDY","TWN4VUNDZ", & + "TWN5DYNP ","TWN5FDX ","TWN5FDY ","TWN5M ","TWN5RE ","TWN5STVX ","TWN5STVY ", & + "TWN5STVZ ","TWN5VREL ","TWN5VUNDX","TWN5VUNDY","TWN5VUNDZ","TWN6DYNP ","TWN6FDX ", & + "TWN6FDY ","TWN6M ","TWN6RE ","TWN6STVX ","TWN6STVY ","TWN6STVZ ","TWN6VREL ", & + "TWN6VUNDX","TWN6VUNDY","TWN6VUNDZ","TWN7DYNP ","TWN7FDX ","TWN7FDY ","TWN7M ", & + "TWN7RE ","TWN7STVX ","TWN7STVY ","TWN7STVZ ","TWN7VREL ","TWN7VUNDX","TWN7VUNDY", & + "TWN7VUNDZ","TWN8DYNP ","TWN8FDX ","TWN8FDY ","TWN8M ","TWN8RE ","TWN8STVX ", & + "TWN8STVY ","TWN8STVZ ","TWN8VREL ","TWN8VUNDX","TWN8VUNDY","TWN8VUNDZ","TWN9DYNP ", & + "TWN9FDX ","TWN9FDY ","TWN9M ","TWN9RE ","TWN9STVX ","TWN9STVY ","TWN9STVZ ", & + "TWN9VREL ","TWN9VUNDX","TWN9VUNDY","TWN9VUNDZ"/) + INTEGER(IntKi), PARAMETER :: ParamIndxAry(1103) = (/ & ! This lists the index into AllOuts(:) of the allowed parameters ValidParamAry(:) B1Azimuth , B1N1Alpha , B1N1AxInd , B1N1Cd , B1N1Cl , B1N1Clrnc , B1N1Cm , & - B1N1Cn , B1N1Cpmin , B1N1Ct , B1N1Curve , B1N1Cx , B1N1Cy , B1N1DynP , & - B1N1Fd , B1N1Fl , B1N1Fn , B1N1Ft , B1N1Fx , B1N1Fy , B1N1M , & - B1N1Mm , B1N1Phi , B1N1Re , B1N1SgCav , B1N1SigCr , B1N1STVx , B1N1STVy , & - B1N1STVz , B1N1Theta , B1N1TnInd , B1N1VDisx , B1N1VDisy , B1N1VDisz , B1N1Vindx , & - B1N1Vindy , B1N1VRel , B1N1VUndx , B1N1VUndy , B1N1VUndz , B1N2Alpha , B1N2AxInd , & - B1N2Cd , B1N2Cl , B1N2Clrnc , B1N2Cm , B1N2Cn , B1N2Cpmin , B1N2Ct , & - B1N2Curve , B1N2Cx , B1N2Cy , B1N2DynP , B1N2Fd , B1N2Fl , B1N2Fn , & - B1N2Ft , B1N2Fx , B1N2Fy , B1N2M , B1N2Mm , B1N2Phi , B1N2Re , & - B1N2SgCav , B1N2SigCr , B1N2STVx , B1N2STVy , B1N2STVz , B1N2Theta , B1N2TnInd , & - B1N2VDisx , B1N2VDisy , B1N2VDisz , B1N2Vindx , B1N2Vindy , B1N2VRel , B1N2VUndx , & - B1N2VUndy , B1N2VUndz , B1N3Alpha , B1N3AxInd , B1N3Cd , B1N3Cl , B1N3Clrnc , & - B1N3Cm , B1N3Cn , B1N3Cpmin , B1N3Ct , B1N3Curve , B1N3Cx , B1N3Cy , & + B1N1Cn , B1N1Ct , B1N1Curve , B1N1Cx , B1N1Cy , B1N1DynP , B1N1Fd , & + B1N1Fl , B1N1Fn , B1N1Ft , B1N1Fx , B1N1Fy , B1N1M , B1N1Mm , & + B1N1Phi , B1N1Re , B1N1STVx , B1N1STVy , B1N1STVz , B1N1Theta , B1N1TnInd , & + B1N1VDisx , B1N1VDisy , B1N1VDisz , B1N1Vindx , B1N1Vindy , B1N1VRel , B1N1VUndx , & + B1N1VUndy , B1N1VUndz , B1N2Alpha , B1N2AxInd , B1N2Cd , B1N2Cl , B1N2Clrnc , & + B1N2Cm , B1N2Cn , B1N2Ct , B1N2Curve , B1N2Cx , B1N2Cy , B1N2DynP , & + B1N2Fd , B1N2Fl , B1N2Fn , B1N2Ft , B1N2Fx , B1N2Fy , B1N2M , & + B1N2Mm , B1N2Phi , B1N2Re , B1N2STVx , B1N2STVy , B1N2STVz , B1N2Theta , & + B1N2TnInd , B1N2VDisx , B1N2VDisy , B1N2VDisz , B1N2Vindx , B1N2Vindy , B1N2VRel , & + B1N2VUndx , B1N2VUndy , B1N2VUndz , B1N3Alpha , B1N3AxInd , B1N3Cd , B1N3Cl , & + B1N3Clrnc , B1N3Cm , B1N3Cn , B1N3Ct , B1N3Curve , B1N3Cx , B1N3Cy , & B1N3DynP , B1N3Fd , B1N3Fl , B1N3Fn , B1N3Ft , B1N3Fx , B1N3Fy , & - B1N3M , B1N3Mm , B1N3Phi , B1N3Re , B1N3SgCav , B1N3SigCr , B1N3STVx , & - B1N3STVy , B1N3STVz , B1N3Theta , B1N3TnInd , B1N3VDisx , B1N3VDisy , B1N3VDisz , & - B1N3Vindx , B1N3Vindy , B1N3VRel , B1N3VUndx , B1N3VUndy , B1N3VUndz , B1N4Alpha , & - B1N4AxInd , B1N4Cd , B1N4Cl , B1N4Clrnc , B1N4Cm , B1N4Cn , B1N4Cpmin , & - B1N4Ct , B1N4Curve , B1N4Cx , B1N4Cy , B1N4DynP , B1N4Fd , B1N4Fl , & - B1N4Fn , B1N4Ft , B1N4Fx , B1N4Fy , B1N4M , B1N4Mm , B1N4Phi , & - B1N4Re , B1N4SgCav , B1N4SigCr , B1N4STVx , B1N4STVy , B1N4STVz , B1N4Theta , & - B1N4TnInd , B1N4VDisx , B1N4VDisy , B1N4VDisz , B1N4Vindx , B1N4Vindy , B1N4VRel , & - B1N4VUndx , B1N4VUndy , B1N4VUndz , B1N5Alpha , B1N5AxInd , B1N5Cd , B1N5Cl , & - B1N5Clrnc , B1N5Cm , B1N5Cn , B1N5Cpmin , B1N5Ct , B1N5Curve , B1N5Cx , & - B1N5Cy , B1N5DynP , B1N5Fd , B1N5Fl , B1N5Fn , B1N5Ft , B1N5Fx , & - B1N5Fy , B1N5M , B1N5Mm , B1N5Phi , B1N5Re , B1N5SgCav , B1N5SigCr , & - B1N5STVx , B1N5STVy , B1N5STVz , B1N5Theta , B1N5TnInd , B1N5VDisx , B1N5VDisy , & - B1N5VDisz , B1N5Vindx , B1N5Vindy , B1N5VRel , B1N5VUndx , B1N5VUndy , B1N5VUndz , & - B1N6Alpha , B1N6AxInd , B1N6Cd , B1N6Cl , B1N6Clrnc , B1N6Cm , B1N6Cn , & - B1N6Cpmin , B1N6Ct , B1N6Curve , B1N6Cx , B1N6Cy , B1N6DynP , B1N6Fd , & - B1N6Fl , B1N6Fn , B1N6Ft , B1N6Fx , B1N6Fy , B1N6M , B1N6Mm , & - B1N6Phi , B1N6Re , B1N6SgCav , B1N6SigCr , B1N6STVx , B1N6STVy , B1N6STVz , & - B1N6Theta , B1N6TnInd , B1N6VDisx , B1N6VDisy , B1N6VDisz , B1N6Vindx , B1N6Vindy , & - B1N6VRel , B1N6VUndx , B1N6VUndy , B1N6VUndz , B1N7Alpha , B1N7AxInd , B1N7Cd , & - B1N7Cl , B1N7Clrnc , B1N7Cm , B1N7Cn , B1N7Cpmin , B1N7Ct , B1N7Curve , & - B1N7Cx , B1N7Cy , B1N7DynP , B1N7Fd , B1N7Fl , B1N7Fn , B1N7Ft , & - B1N7Fx , B1N7Fy , B1N7M , B1N7Mm , B1N7Phi , B1N7Re , B1N7SgCav , & - B1N7SigCr , B1N7STVx , B1N7STVy , B1N7STVz , B1N7Theta , B1N7TnInd , B1N7VDisx , & + B1N3M , B1N3Mm , B1N3Phi , B1N3Re , B1N3STVx , B1N3STVy , B1N3STVz , & + B1N3Theta , B1N3TnInd , B1N3VDisx , B1N3VDisy , B1N3VDisz , B1N3Vindx , B1N3Vindy , & + B1N3VRel , B1N3VUndx , B1N3VUndy , B1N3VUndz , B1N4Alpha , B1N4AxInd , B1N4Cd , & + B1N4Cl , B1N4Clrnc , B1N4Cm , B1N4Cn , B1N4Ct , B1N4Curve , B1N4Cx , & + B1N4Cy , B1N4DynP , B1N4Fd , B1N4Fl , B1N4Fn , B1N4Ft , B1N4Fx , & + B1N4Fy , B1N4M , B1N4Mm , B1N4Phi , B1N4Re , B1N4STVx , B1N4STVy , & + B1N4STVz , B1N4Theta , B1N4TnInd , B1N4VDisx , B1N4VDisy , B1N4VDisz , B1N4Vindx , & + B1N4Vindy , B1N4VRel , B1N4VUndx , B1N4VUndy , B1N4VUndz , B1N5Alpha , B1N5AxInd , & + B1N5Cd , B1N5Cl , B1N5Clrnc , B1N5Cm , B1N5Cn , B1N5Ct , B1N5Curve , & + B1N5Cx , B1N5Cy , B1N5DynP , B1N5Fd , B1N5Fl , B1N5Fn , B1N5Ft , & + B1N5Fx , B1N5Fy , B1N5M , B1N5Mm , B1N5Phi , B1N5Re , B1N5STVx , & + B1N5STVy , B1N5STVz , B1N5Theta , B1N5TnInd , B1N5VDisx , B1N5VDisy , B1N5VDisz , & + B1N5Vindx , B1N5Vindy , B1N5VRel , B1N5VUndx , B1N5VUndy , B1N5VUndz , B1N6Alpha , & + B1N6AxInd , B1N6Cd , B1N6Cl , B1N6Clrnc , B1N6Cm , B1N6Cn , B1N6Ct , & + B1N6Curve , B1N6Cx , B1N6Cy , B1N6DynP , B1N6Fd , B1N6Fl , B1N6Fn , & + B1N6Ft , B1N6Fx , B1N6Fy , B1N6M , B1N6Mm , B1N6Phi , B1N6Re , & + B1N6STVx , B1N6STVy , B1N6STVz , B1N6Theta , B1N6TnInd , B1N6VDisx , B1N6VDisy , & + B1N6VDisz , B1N6Vindx , B1N6Vindy , B1N6VRel , B1N6VUndx , B1N6VUndy , B1N6VUndz , & + B1N7Alpha , B1N7AxInd , B1N7Cd , B1N7Cl , B1N7Clrnc , B1N7Cm , B1N7Cn , & + B1N7Ct , B1N7Curve , B1N7Cx , B1N7Cy , B1N7DynP , B1N7Fd , B1N7Fl , & + B1N7Fn , B1N7Ft , B1N7Fx , B1N7Fy , B1N7M , B1N7Mm , B1N7Phi , & + B1N7Re , B1N7STVx , B1N7STVy , B1N7STVz , B1N7Theta , B1N7TnInd , B1N7VDisx , & B1N7VDisy , B1N7VDisz , B1N7Vindx , B1N7Vindy , B1N7VRel , B1N7VUndx , B1N7VUndy , & B1N7VUndz , B1N8Alpha , B1N8AxInd , B1N8Cd , B1N8Cl , B1N8Clrnc , B1N8Cm , & - B1N8Cn , B1N8Cpmin , B1N8Ct , B1N8Curve , B1N8Cx , B1N8Cy , B1N8DynP , & - B1N8Fd , B1N8Fl , B1N8Fn , B1N8Ft , B1N8Fx , B1N8Fy , B1N8M , & - B1N8Mm , B1N8Phi , B1N8Re , B1N8SgCav , B1N8SigCr , B1N8STVx , B1N8STVy , & - B1N8STVz , B1N8Theta , B1N8TnInd , B1N8VDisx , B1N8VDisy , B1N8VDisz , B1N8Vindx , & - B1N8Vindy , B1N8VRel , B1N8VUndx , B1N8VUndy , B1N8VUndz , B1N9Alpha , B1N9AxInd , & - B1N9Cd , B1N9Cl , B1N9Clrnc , B1N9Cm , B1N9Cn , B1N9Cpmin , B1N9Ct , & - B1N9Curve , B1N9Cx , B1N9Cy , B1N9DynP , B1N9Fd , B1N9Fl , B1N9Fn , & - B1N9Ft , B1N9Fx , B1N9Fy , B1N9M , B1N9Mm , B1N9Phi , B1N9Re , & - B1N9SgCav , B1N9SigCr , B1N9STVx , B1N9STVy , B1N9STVz , B1N9Theta , B1N9TnInd , & - B1N9VDisx , B1N9VDisy , B1N9VDisz , B1N9Vindx , B1N9Vindy , B1N9VRel , B1N9VUndx , & - B1N9VUndy , B1N9VUndz , B1Pitch , B2Azimuth , B2N1Alpha , B2N1AxInd , B2N1Cd , & - B2N1Cl , B2N1Clrnc , B2N1Cm , B2N1Cn , B2N1Cpmin , B2N1Ct , B2N1Curve , & + B1N8Cn , B1N8Ct , B1N8Curve , B1N8Cx , B1N8Cy , B1N8DynP , B1N8Fd , & + B1N8Fl , B1N8Fn , B1N8Ft , B1N8Fx , B1N8Fy , B1N8M , B1N8Mm , & + B1N8Phi , B1N8Re , B1N8STVx , B1N8STVy , B1N8STVz , B1N8Theta , B1N8TnInd , & + B1N8VDisx , B1N8VDisy , B1N8VDisz , B1N8Vindx , B1N8Vindy , B1N8VRel , B1N8VUndx , & + B1N8VUndy , B1N8VUndz , B1N9Alpha , B1N9AxInd , B1N9Cd , B1N9Cl , B1N9Clrnc , & + B1N9Cm , B1N9Cn , B1N9Ct , B1N9Curve , B1N9Cx , B1N9Cy , B1N9DynP , & + B1N9Fd , B1N9Fl , B1N9Fn , B1N9Ft , B1N9Fx , B1N9Fy , B1N9M , & + B1N9Mm , B1N9Phi , B1N9Re , B1N9STVx , B1N9STVy , B1N9STVz , B1N9Theta , & + B1N9TnInd , B1N9VDisx , B1N9VDisy , B1N9VDisz , B1N9Vindx , B1N9Vindy , B1N9VRel , & + B1N9VUndx , B1N9VUndy , B1N9VUndz , B1Pitch , B2Azimuth , B2N1Alpha , B2N1AxInd , & + B2N1Cd , B2N1Cl , B2N1Clrnc , B2N1Cm , B2N1Cn , B2N1Ct , B2N1Curve , & B2N1Cx , B2N1Cy , B2N1DynP , B2N1Fd , B2N1Fl , B2N1Fn , B2N1Ft , & - B2N1Fx , B2N1Fy , B2N1M , B2N1Mm , B2N1Phi , B2N1Re , B2N1SgCav , & - B2N1SigCr , B2N1STVx , B2N1STVy , B2N1STVz , B2N1Theta , B2N1TnInd , B2N1VDisx , & - B2N1VDisy , B2N1VDisz , B2N1Vindx , B2N1Vindy , B2N1VRel , B2N1VUndx , B2N1VUndy , & - B2N1VUndz , B2N2Alpha , B2N2AxInd , B2N2Cd , B2N2Cl , B2N2Clrnc , B2N2Cm , & - B2N2Cn , B2N2Cpmin , B2N2Ct , B2N2Curve , B2N2Cx , B2N2Cy , B2N2DynP , & - B2N2Fd , B2N2Fl , B2N2Fn , B2N2Ft , B2N2Fx , B2N2Fy , B2N2M , & - B2N2Mm , B2N2Phi , B2N2Re , B2N2SgCav , B2N2SigCr , B2N2STVx , B2N2STVy , & - B2N2STVz , B2N2Theta , B2N2TnInd , B2N2VDisx , B2N2VDisy , B2N2VDisz , B2N2Vindx , & - B2N2Vindy , B2N2VRel , B2N2VUndx , B2N2VUndy , B2N2VUndz , B2N3Alpha , B2N3AxInd , & - B2N3Cd , B2N3Cl , B2N3Clrnc , B2N3Cm , B2N3Cn , B2N3Cpmin , B2N3Ct , & - B2N3Curve , B2N3Cx , B2N3Cy , B2N3DynP , B2N3Fd , B2N3Fl , B2N3Fn , & - B2N3Ft , B2N3Fx , B2N3Fy , B2N3M , B2N3Mm , B2N3Phi , B2N3Re , & - B2N3SgCav , B2N3SigCr , B2N3STVx , B2N3STVy , B2N3STVz , B2N3Theta , B2N3TnInd , & - B2N3VDisx , B2N3VDisy , B2N3VDisz , B2N3Vindx , B2N3Vindy , B2N3VRel , B2N3VUndx , & - B2N3VUndy , B2N3VUndz , B2N4Alpha , B2N4AxInd , B2N4Cd , B2N4Cl , B2N4Clrnc , & - B2N4Cm , B2N4Cn , B2N4Cpmin , B2N4Ct , B2N4Curve , B2N4Cx , B2N4Cy , & - B2N4DynP , B2N4Fd , B2N4Fl , B2N4Fn , B2N4Ft , B2N4Fx , B2N4Fy , & - B2N4M , B2N4Mm , B2N4Phi , B2N4Re , B2N4SgCav , B2N4SigCr , B2N4STVx , & - B2N4STVy , B2N4STVz , B2N4Theta , B2N4TnInd , B2N4VDisx , B2N4VDisy , B2N4VDisz , & - B2N4Vindx , B2N4Vindy , B2N4VRel , B2N4VUndx , B2N4VUndy , B2N4VUndz , B2N5Alpha , & - B2N5AxInd , B2N5Cd , B2N5Cl , B2N5Clrnc , B2N5Cm , B2N5Cn , B2N5Cpmin , & - B2N5Ct , B2N5Curve , B2N5Cx , B2N5Cy , B2N5DynP , B2N5Fd , B2N5Fl , & - B2N5Fn , B2N5Ft , B2N5Fx , B2N5Fy , B2N5M , B2N5Mm , B2N5Phi , & - B2N5Re , B2N5SgCav , B2N5SigCr , B2N5STVx , B2N5STVy , B2N5STVz , B2N5Theta , & + B2N1Fx , B2N1Fy , B2N1M , B2N1Mm , B2N1Phi , B2N1Re , B2N1STVx , & + B2N1STVy , B2N1STVz , B2N1Theta , B2N1TnInd , B2N1VDisx , B2N1VDisy , B2N1VDisz , & + B2N1Vindx , B2N1Vindy , B2N1VRel , B2N1VUndx , B2N1VUndy , B2N1VUndz , B2N2Alpha , & + B2N2AxInd , B2N2Cd , B2N2Cl , B2N2Clrnc , B2N2Cm , B2N2Cn , B2N2Ct , & + B2N2Curve , B2N2Cx , B2N2Cy , B2N2DynP , B2N2Fd , B2N2Fl , B2N2Fn , & + B2N2Ft , B2N2Fx , B2N2Fy , B2N2M , B2N2Mm , B2N2Phi , B2N2Re , & + B2N2STVx , B2N2STVy , B2N2STVz , B2N2Theta , B2N2TnInd , B2N2VDisx , B2N2VDisy , & + B2N2VDisz , B2N2Vindx , B2N2Vindy , B2N2VRel , B2N2VUndx , B2N2VUndy , B2N2VUndz , & + B2N3Alpha , B2N3AxInd , B2N3Cd , B2N3Cl , B2N3Clrnc , B2N3Cm , B2N3Cn , & + B2N3Ct , B2N3Curve , B2N3Cx , B2N3Cy , B2N3DynP , B2N3Fd , B2N3Fl , & + B2N3Fn , B2N3Ft , B2N3Fx , B2N3Fy , B2N3M , B2N3Mm , B2N3Phi , & + B2N3Re , B2N3STVx , B2N3STVy , B2N3STVz , B2N3Theta , B2N3TnInd , B2N3VDisx , & + B2N3VDisy , B2N3VDisz , B2N3Vindx , B2N3Vindy , B2N3VRel , B2N3VUndx , B2N3VUndy , & + B2N3VUndz , B2N4Alpha , B2N4AxInd , B2N4Cd , B2N4Cl , B2N4Clrnc , B2N4Cm , & + B2N4Cn , B2N4Ct , B2N4Curve , B2N4Cx , B2N4Cy , B2N4DynP , B2N4Fd , & + B2N4Fl , B2N4Fn , B2N4Ft , B2N4Fx , B2N4Fy , B2N4M , B2N4Mm , & + B2N4Phi , B2N4Re , B2N4STVx , B2N4STVy , B2N4STVz , B2N4Theta , B2N4TnInd , & + B2N4VDisx , B2N4VDisy , B2N4VDisz , B2N4Vindx , B2N4Vindy , B2N4VRel , B2N4VUndx , & + B2N4VUndy , B2N4VUndz , B2N5Alpha , B2N5AxInd , B2N5Cd , B2N5Cl , B2N5Clrnc , & + B2N5Cm , B2N5Cn , B2N5Ct , B2N5Curve , B2N5Cx , B2N5Cy , B2N5DynP , & + B2N5Fd , B2N5Fl , B2N5Fn , B2N5Ft , B2N5Fx , B2N5Fy , B2N5M , & + B2N5Mm , B2N5Phi , B2N5Re , B2N5STVx , B2N5STVy , B2N5STVz , B2N5Theta , & B2N5TnInd , B2N5VDisx , B2N5VDisy , B2N5VDisz , B2N5Vindx , B2N5Vindy , B2N5VRel , & B2N5VUndx , B2N5VUndy , B2N5VUndz , B2N6Alpha , B2N6AxInd , B2N6Cd , B2N6Cl , & - B2N6Clrnc , B2N6Cm , B2N6Cn , B2N6Cpmin , B2N6Ct , B2N6Curve , B2N6Cx , & - B2N6Cy , B2N6DynP , B2N6Fd , B2N6Fl , B2N6Fn , B2N6Ft , B2N6Fx , & - B2N6Fy , B2N6M , B2N6Mm , B2N6Phi , B2N6Re , B2N6SgCav , B2N6SigCr , & - B2N6STVx , B2N6STVy , B2N6STVz , B2N6Theta , B2N6TnInd , B2N6VDisx , B2N6VDisy , & - B2N6VDisz , B2N6Vindx , B2N6Vindy , B2N6VRel , B2N6VUndx , B2N6VUndy , B2N6VUndz , & - B2N7Alpha , B2N7AxInd , B2N7Cd , B2N7Cl , B2N7Clrnc , B2N7Cm , B2N7Cn , & - B2N7Cpmin , B2N7Ct , B2N7Curve , B2N7Cx , B2N7Cy , B2N7DynP , B2N7Fd , & - B2N7Fl , B2N7Fn , B2N7Ft , B2N7Fx , B2N7Fy , B2N7M , B2N7Mm , & - B2N7Phi , B2N7Re , B2N7SgCav , B2N7SigCr , B2N7STVx , B2N7STVy , B2N7STVz , & - B2N7Theta , B2N7TnInd , B2N7VDisx , B2N7VDisy , B2N7VDisz , B2N7Vindx , B2N7Vindy , & - B2N7VRel , B2N7VUndx , B2N7VUndy , B2N7VUndz , B2N8Alpha , B2N8AxInd , B2N8Cd , & - B2N8Cl , B2N8Clrnc , B2N8Cm , B2N8Cn , B2N8Cpmin , B2N8Ct , B2N8Curve , & + B2N6Clrnc , B2N6Cm , B2N6Cn , B2N6Ct , B2N6Curve , B2N6Cx , B2N6Cy , & + B2N6DynP , B2N6Fd , B2N6Fl , B2N6Fn , B2N6Ft , B2N6Fx , B2N6Fy , & + B2N6M , B2N6Mm , B2N6Phi , B2N6Re , B2N6STVx , B2N6STVy , B2N6STVz , & + B2N6Theta , B2N6TnInd , B2N6VDisx , B2N6VDisy , B2N6VDisz , B2N6Vindx , B2N6Vindy , & + B2N6VRel , B2N6VUndx , B2N6VUndy , B2N6VUndz , B2N7Alpha , B2N7AxInd , B2N7Cd , & + B2N7Cl , B2N7Clrnc , B2N7Cm , B2N7Cn , B2N7Ct , B2N7Curve , B2N7Cx , & + B2N7Cy , B2N7DynP , B2N7Fd , B2N7Fl , B2N7Fn , B2N7Ft , B2N7Fx , & + B2N7Fy , B2N7M , B2N7Mm , B2N7Phi , B2N7Re , B2N7STVx , B2N7STVy , & + B2N7STVz , B2N7Theta , B2N7TnInd , B2N7VDisx , B2N7VDisy , B2N7VDisz , B2N7Vindx , & + B2N7Vindy , B2N7VRel , B2N7VUndx , B2N7VUndy , B2N7VUndz , B2N8Alpha , B2N8AxInd , & + B2N8Cd , B2N8Cl , B2N8Clrnc , B2N8Cm , B2N8Cn , B2N8Ct , B2N8Curve , & B2N8Cx , B2N8Cy , B2N8DynP , B2N8Fd , B2N8Fl , B2N8Fn , B2N8Ft , & - B2N8Fx , B2N8Fy , B2N8M , B2N8Mm , B2N8Phi , B2N8Re , B2N8SgCav , & - B2N8SigCr , B2N8STVx , B2N8STVy , B2N8STVz , B2N8Theta , B2N8TnInd , B2N8VDisx , & - B2N8VDisy , B2N8VDisz , B2N8Vindx , B2N8Vindy , B2N8VRel , B2N8VUndx , B2N8VUndy , & - B2N8VUndz , B2N9Alpha , B2N9AxInd , B2N9Cd , B2N9Cl , B2N9Clrnc , B2N9Cm , & - B2N9Cn , B2N9Cpmin , B2N9Ct , B2N9Curve , B2N9Cx , B2N9Cy , B2N9DynP , & - B2N9Fd , B2N9Fl , B2N9Fn , B2N9Ft , B2N9Fx , B2N9Fy , B2N9M , & - B2N9Mm , B2N9Phi , B2N9Re , B2N9SgCav , B2N9SigCr , B2N9STVx , B2N9STVy , & - B2N9STVz , B2N9Theta , B2N9TnInd , B2N9VDisx , B2N9VDisy , B2N9VDisz , B2N9Vindx , & - B2N9Vindy , B2N9VRel , B2N9VUndx , B2N9VUndy , B2N9VUndz , B2Pitch , B3Azimuth , & - B3N1Alpha , B3N1AxInd , B3N1Cd , B3N1Cl , B3N1Clrnc , B3N1Cm , B3N1Cn , & - B3N1Cpmin , B3N1Ct , B3N1Curve , B3N1Cx , B3N1Cy , B3N1DynP , B3N1Fd , & - B3N1Fl , B3N1Fn , B3N1Ft , B3N1Fx , B3N1Fy , B3N1M , B3N1Mm , & - B3N1Phi , B3N1Re , B3N1SgCav , B3N1SigCr , B3N1STVx , B3N1STVy , B3N1STVz , & - B3N1Theta , B3N1TnInd , B3N1VDisx , B3N1VDisy , B3N1VDisz , B3N1Vindx , B3N1Vindy , & - B3N1VRel , B3N1VUndx , B3N1VUndy , B3N1VUndz , B3N2Alpha , B3N2AxInd , B3N2Cd , & - B3N2Cl , B3N2Clrnc , B3N2Cm , B3N2Cn , B3N2Cpmin , B3N2Ct , B3N2Curve , & - B3N2Cx , B3N2Cy , B3N2DynP , B3N2Fd , B3N2Fl , B3N2Fn , B3N2Ft , & - B3N2Fx , B3N2Fy , B3N2M , B3N2Mm , B3N2Phi , B3N2Re , B3N2SgCav , & - B3N2SigCr , B3N2STVx , B3N2STVy , B3N2STVz , B3N2Theta , B3N2TnInd , B3N2VDisx , & - B3N2VDisy , B3N2VDisz , B3N2Vindx , B3N2Vindy , B3N2VRel , B3N2VUndx , B3N2VUndy , & - B3N2VUndz , B3N3Alpha , B3N3AxInd , B3N3Cd , B3N3Cl , B3N3Clrnc , B3N3Cm , & - B3N3Cn , B3N3Cpmin , B3N3Ct , B3N3Curve , B3N3Cx , B3N3Cy , B3N3DynP , & - B3N3Fd , B3N3Fl , B3N3Fn , B3N3Ft , B3N3Fx , B3N3Fy , B3N3M , & - B3N3Mm , B3N3Phi , B3N3Re , B3N3SgCav , B3N3SigCr , B3N3STVx , B3N3STVy , & + B2N8Fx , B2N8Fy , B2N8M , B2N8Mm , B2N8Phi , B2N8Re , B2N8STVx , & + B2N8STVy , B2N8STVz , B2N8Theta , B2N8TnInd , B2N8VDisx , B2N8VDisy , B2N8VDisz , & + B2N8Vindx , B2N8Vindy , B2N8VRel , B2N8VUndx , B2N8VUndy , B2N8VUndz , B2N9Alpha , & + B2N9AxInd , B2N9Cd , B2N9Cl , B2N9Clrnc , B2N9Cm , B2N9Cn , B2N9Ct , & + B2N9Curve , B2N9Cx , B2N9Cy , B2N9DynP , B2N9Fd , B2N9Fl , B2N9Fn , & + B2N9Ft , B2N9Fx , B2N9Fy , B2N9M , B2N9Mm , B2N9Phi , B2N9Re , & + B2N9STVx , B2N9STVy , B2N9STVz , B2N9Theta , B2N9TnInd , B2N9VDisx , B2N9VDisy , & + B2N9VDisz , B2N9Vindx , B2N9Vindy , B2N9VRel , B2N9VUndx , B2N9VUndy , B2N9VUndz , & + B2Pitch , B3Azimuth , B3N1Alpha , B3N1AxInd , B3N1Cd , B3N1Cl , B3N1Clrnc , & + B3N1Cm , B3N1Cn , B3N1Ct , B3N1Curve , B3N1Cx , B3N1Cy , B3N1DynP , & + B3N1Fd , B3N1Fl , B3N1Fn , B3N1Ft , B3N1Fx , B3N1Fy , B3N1M , & + B3N1Mm , B3N1Phi , B3N1Re , B3N1STVx , B3N1STVy , B3N1STVz , B3N1Theta , & + B3N1TnInd , B3N1VDisx , B3N1VDisy , B3N1VDisz , B3N1Vindx , B3N1Vindy , B3N1VRel , & + B3N1VUndx , B3N1VUndy , B3N1VUndz , B3N2Alpha , B3N2AxInd , B3N2Cd , B3N2Cl , & + B3N2Clrnc , B3N2Cm , B3N2Cn , B3N2Ct , B3N2Curve , B3N2Cx , B3N2Cy , & + B3N2DynP , B3N2Fd , B3N2Fl , B3N2Fn , B3N2Ft , B3N2Fx , B3N2Fy , & + B3N2M , B3N2Mm , B3N2Phi , B3N2Re , B3N2STVx , B3N2STVy , B3N2STVz , & + B3N2Theta , B3N2TnInd , B3N2VDisx , B3N2VDisy , B3N2VDisz , B3N2Vindx , B3N2Vindy , & + B3N2VRel , B3N2VUndx , B3N2VUndy , B3N2VUndz , B3N3Alpha , B3N3AxInd , B3N3Cd , & + B3N3Cl , B3N3Clrnc , B3N3Cm , B3N3Cn , B3N3Ct , B3N3Curve , B3N3Cx , & + B3N3Cy , B3N3DynP , B3N3Fd , B3N3Fl , B3N3Fn , B3N3Ft , B3N3Fx , & + B3N3Fy , B3N3M , B3N3Mm , B3N3Phi , B3N3Re , B3N3STVx , B3N3STVy , & B3N3STVz , B3N3Theta , B3N3TnInd , B3N3VDisx , B3N3VDisy , B3N3VDisz , B3N3Vindx , & B3N3Vindy , B3N3VRel , B3N3VUndx , B3N3VUndy , B3N3VUndz , B3N4Alpha , B3N4AxInd , & - B3N4Cd , B3N4Cl , B3N4Clrnc , B3N4Cm , B3N4Cn , B3N4Cpmin , B3N4Ct , & - B3N4Curve , B3N4Cx , B3N4Cy , B3N4DynP , B3N4Fd , B3N4Fl , B3N4Fn , & - B3N4Ft , B3N4Fx , B3N4Fy , B3N4M , B3N4Mm , B3N4Phi , B3N4Re , & - B3N4SgCav , B3N4SigCr , B3N4STVx , B3N4STVy , B3N4STVz , B3N4Theta , B3N4TnInd , & - B3N4VDisx , B3N4VDisy , B3N4VDisz , B3N4Vindx , B3N4Vindy , B3N4VRel , B3N4VUndx , & - B3N4VUndy , B3N4VUndz , B3N5Alpha , B3N5AxInd , B3N5Cd , B3N5Cl , B3N5Clrnc , & - B3N5Cm , B3N5Cn , B3N5Cpmin , B3N5Ct , B3N5Curve , B3N5Cx , B3N5Cy , & - B3N5DynP , B3N5Fd , B3N5Fl , B3N5Fn , B3N5Ft , B3N5Fx , B3N5Fy , & - B3N5M , B3N5Mm , B3N5Phi , B3N5Re , B3N5SgCav , B3N5SigCr , B3N5STVx , & - B3N5STVy , B3N5STVz , B3N5Theta , B3N5TnInd , B3N5VDisx , B3N5VDisy , B3N5VDisz , & - B3N5Vindx , B3N5Vindy , B3N5VRel , B3N5VUndx , B3N5VUndy , B3N5VUndz , B3N6Alpha , & - B3N6AxInd , B3N6Cd , B3N6Cl , B3N6Clrnc , B3N6Cm , B3N6Cn , B3N6Cpmin , & + B3N4Cd , B3N4Cl , B3N4Clrnc , B3N4Cm , B3N4Cn , B3N4Ct , B3N4Curve , & + B3N4Cx , B3N4Cy , B3N4DynP , B3N4Fd , B3N4Fl , B3N4Fn , B3N4Ft , & + B3N4Fx , B3N4Fy , B3N4M , B3N4Mm , B3N4Phi , B3N4Re , B3N4STVx , & + B3N4STVy , B3N4STVz , B3N4Theta , B3N4TnInd , B3N4VDisx , B3N4VDisy , B3N4VDisz , & + B3N4Vindx , B3N4Vindy , B3N4VRel , B3N4VUndx , B3N4VUndy , B3N4VUndz , B3N5Alpha , & + B3N5AxInd , B3N5Cd , B3N5Cl , B3N5Clrnc , B3N5Cm , B3N5Cn , B3N5Ct , & + B3N5Curve , B3N5Cx , B3N5Cy , B3N5DynP , B3N5Fd , B3N5Fl , B3N5Fn , & + B3N5Ft , B3N5Fx , B3N5Fy , B3N5M , B3N5Mm , B3N5Phi , B3N5Re , & + B3N5STVx , B3N5STVy , B3N5STVz , B3N5Theta , B3N5TnInd , B3N5VDisx , B3N5VDisy , & + B3N5VDisz , B3N5Vindx , B3N5Vindy , B3N5VRel , B3N5VUndx , B3N5VUndy , B3N5VUndz , & + B3N6Alpha , B3N6AxInd , B3N6Cd , B3N6Cl , B3N6Clrnc , B3N6Cm , B3N6Cn , & B3N6Ct , B3N6Curve , B3N6Cx , B3N6Cy , B3N6DynP , B3N6Fd , B3N6Fl , & B3N6Fn , B3N6Ft , B3N6Fx , B3N6Fy , B3N6M , B3N6Mm , B3N6Phi , & - B3N6Re , B3N6SgCav , B3N6SigCr , B3N6STVx , B3N6STVy , B3N6STVz , B3N6Theta , & - B3N6TnInd , B3N6VDisx , B3N6VDisy , B3N6VDisz , B3N6Vindx , B3N6Vindy , B3N6VRel , & - B3N6VUndx , B3N6VUndy , B3N6VUndz , B3N7Alpha , B3N7AxInd , B3N7Cd , B3N7Cl , & - B3N7Clrnc , B3N7Cm , B3N7Cn , B3N7Cpmin , B3N7Ct , B3N7Curve , B3N7Cx , & - B3N7Cy , B3N7DynP , B3N7Fd , B3N7Fl , B3N7Fn , B3N7Ft , B3N7Fx , & - B3N7Fy , B3N7M , B3N7Mm , B3N7Phi , B3N7Re , B3N7SgCav , B3N7SigCr , & - B3N7STVx , B3N7STVy , B3N7STVz , B3N7Theta , B3N7TnInd , B3N7VDisx , B3N7VDisy , & - B3N7VDisz , B3N7Vindx , B3N7Vindy , B3N7VRel , B3N7VUndx , B3N7VUndy , B3N7VUndz , & - B3N8Alpha , B3N8AxInd , B3N8Cd , B3N8Cl , B3N8Clrnc , B3N8Cm , B3N8Cn , & - B3N8Cpmin , B3N8Ct , B3N8Curve , B3N8Cx , B3N8Cy , B3N8DynP , B3N8Fd , & - B3N8Fl , B3N8Fn , B3N8Ft , B3N8Fx , B3N8Fy , B3N8M , B3N8Mm , & - B3N8Phi , B3N8Re , B3N8SgCav , B3N8SigCr , B3N8STVx , B3N8STVy , B3N8STVz , & - B3N8Theta , B3N8TnInd , B3N8VDisx , B3N8VDisy , B3N8VDisz , B3N8Vindx , B3N8Vindy , & - B3N8VRel , B3N8VUndx , B3N8VUndy , B3N8VUndz , B3N9Alpha , B3N9AxInd , B3N9Cd , & - B3N9Cl , B3N9Clrnc , B3N9Cm , B3N9Cn , B3N9Cpmin , B3N9Ct , B3N9Curve , & - B3N9Cx , B3N9Cy , B3N9DynP , B3N9Fd , B3N9Fl , B3N9Fn , B3N9Ft , & - B3N9Fx , B3N9Fy , B3N9M , B3N9Mm , B3N9Phi , B3N9Re , B3N9SgCav , & - B3N9SigCr , B3N9STVx , B3N9STVy , B3N9STVz , B3N9Theta , B3N9TnInd , B3N9VDisx , & - B3N9VDisy , B3N9VDisz , B3N9Vindx , B3N9Vindy , B3N9VRel , B3N9VUndx , B3N9VUndy , & - B3N9VUndz , B3Pitch , RtAeroCp , RtAeroCq , RtAeroCt , RtAeroFxh , RtAeroFyh , & - RtAeroFzh , RtAeroMxh , RtAeroMyh , RtAeroMzh , RtAeroPwr , RtArea , RtSkew , & - RtSpeed , RtTSR , RtVAvgxh , RtVAvgyh , RtVAvgzh , TwN1DynP , TwN1Fdx , & - TwN1Fdy , TwN1M , TwN1Re , TwN1STVx , TwN1STVy , TwN1STVz , TwN1Vrel , & - TwN1VUndx , TwN1VUndy , TwN1VUndz , TwN2DynP , TwN2Fdx , TwN2Fdy , TwN2M , & - TwN2Re , TwN2STVx , TwN2STVy , TwN2STVz , TwN2Vrel , TwN2VUndx , TwN2VUndy , & - TwN2VUndz , TwN3DynP , TwN3Fdx , TwN3Fdy , TwN3M , TwN3Re , TwN3STVx , & - TwN3STVy , TwN3STVz , TwN3Vrel , TwN3VUndx , TwN3VUndy , TwN3VUndz , TwN4DynP , & - TwN4Fdx , TwN4Fdy , TwN4M , TwN4Re , TwN4STVx , TwN4STVy , TwN4STVz , & - TwN4Vrel , TwN4VUndx , TwN4VUndy , TwN4VUndz , TwN5DynP , TwN5Fdx , TwN5Fdy , & - TwN5M , TwN5Re , TwN5STVx , TwN5STVy , TwN5STVz , TwN5Vrel , TwN5VUndx , & - TwN5VUndy , TwN5VUndz , TwN6DynP , TwN6Fdx , TwN6Fdy , TwN6M , TwN6Re , & - TwN6STVx , TwN6STVy , TwN6STVz , TwN6Vrel , TwN6VUndx , TwN6VUndy , TwN6VUndz , & - TwN7DynP , TwN7Fdx , TwN7Fdy , TwN7M , TwN7Re , TwN7STVx , TwN7STVy , & - TwN7STVz , TwN7Vrel , TwN7VUndx , TwN7VUndy , TwN7VUndz , TwN8DynP , TwN8Fdx , & - TwN8Fdy , TwN8M , TwN8Re , TwN8STVx , TwN8STVy , TwN8STVz , TwN8Vrel , & - TwN8VUndx , TwN8VUndy , TwN8VUndz , TwN9DynP , TwN9Fdx , TwN9Fdy , TwN9M , & - TwN9Re , TwN9STVx , TwN9STVy , TwN9STVz , TwN9Vrel , TwN9VUndx , TwN9VUndy , & - TwN9VUndz /) - CHARACTER(ChanLen), PARAMETER :: ParamUnitsAry(1184) = (/ & ! This lists the units corresponding to the allowed parameters + B3N6Re , B3N6STVx , B3N6STVy , B3N6STVz , B3N6Theta , B3N6TnInd , B3N6VDisx , & + B3N6VDisy , B3N6VDisz , B3N6Vindx , B3N6Vindy , B3N6VRel , B3N6VUndx , B3N6VUndy , & + B3N6VUndz , B3N7Alpha , B3N7AxInd , B3N7Cd , B3N7Cl , B3N7Clrnc , B3N7Cm , & + B3N7Cn , B3N7Ct , B3N7Curve , B3N7Cx , B3N7Cy , B3N7DynP , B3N7Fd , & + B3N7Fl , B3N7Fn , B3N7Ft , B3N7Fx , B3N7Fy , B3N7M , B3N7Mm , & + B3N7Phi , B3N7Re , B3N7STVx , B3N7STVy , B3N7STVz , B3N7Theta , B3N7TnInd , & + B3N7VDisx , B3N7VDisy , B3N7VDisz , B3N7Vindx , B3N7Vindy , B3N7VRel , B3N7VUndx , & + B3N7VUndy , B3N7VUndz , B3N8Alpha , B3N8AxInd , B3N8Cd , B3N8Cl , B3N8Clrnc , & + B3N8Cm , B3N8Cn , B3N8Ct , B3N8Curve , B3N8Cx , B3N8Cy , B3N8DynP , & + B3N8Fd , B3N8Fl , B3N8Fn , B3N8Ft , B3N8Fx , B3N8Fy , B3N8M , & + B3N8Mm , B3N8Phi , B3N8Re , B3N8STVx , B3N8STVy , B3N8STVz , B3N8Theta , & + B3N8TnInd , B3N8VDisx , B3N8VDisy , B3N8VDisz , B3N8Vindx , B3N8Vindy , B3N8VRel , & + B3N8VUndx , B3N8VUndy , B3N8VUndz , B3N9Alpha , B3N9AxInd , B3N9Cd , B3N9Cl , & + B3N9Clrnc , B3N9Cm , B3N9Cn , B3N9Ct , B3N9Curve , B3N9Cx , B3N9Cy , & + B3N9DynP , B3N9Fd , B3N9Fl , B3N9Fn , B3N9Ft , B3N9Fx , B3N9Fy , & + B3N9M , B3N9Mm , B3N9Phi , B3N9Re , B3N9STVx , B3N9STVy , B3N9STVz , & + B3N9Theta , B3N9TnInd , B3N9VDisx , B3N9VDisy , B3N9VDisz , B3N9Vindx , B3N9Vindy , & + B3N9VRel , B3N9VUndx , B3N9VUndy , B3N9VUndz , B3Pitch , RtAeroCp , RtAeroCq , & + RtAeroCt , RtAeroFxh , RtAeroFyh , RtAeroFzh , RtAeroMxh , RtAeroMyh , RtAeroMzh , & + RtAeroPwr , RtArea , RtSkew , RtSpeed , RtTSR , RtVAvgxh , RtVAvgyh , & + RtVAvgzh , TwN1DynP , TwN1Fdx , TwN1Fdy , TwN1M , TwN1Re , TwN1STVx , & + TwN1STVy , TwN1STVz , TwN1Vrel , TwN1VUndx , TwN1VUndy , TwN1VUndz , TwN2DynP , & + TwN2Fdx , TwN2Fdy , TwN2M , TwN2Re , TwN2STVx , TwN2STVy , TwN2STVz , & + TwN2Vrel , TwN2VUndx , TwN2VUndy , TwN2VUndz , TwN3DynP , TwN3Fdx , TwN3Fdy , & + TwN3M , TwN3Re , TwN3STVx , TwN3STVy , TwN3STVz , TwN3Vrel , TwN3VUndx , & + TwN3VUndy , TwN3VUndz , TwN4DynP , TwN4Fdx , TwN4Fdy , TwN4M , TwN4Re , & + TwN4STVx , TwN4STVy , TwN4STVz , TwN4Vrel , TwN4VUndx , TwN4VUndy , TwN4VUndz , & + TwN5DynP , TwN5Fdx , TwN5Fdy , TwN5M , TwN5Re , TwN5STVx , TwN5STVy , & + TwN5STVz , TwN5Vrel , TwN5VUndx , TwN5VUndy , TwN5VUndz , TwN6DynP , TwN6Fdx , & + TwN6Fdy , TwN6M , TwN6Re , TwN6STVx , TwN6STVy , TwN6STVz , TwN6Vrel , & + TwN6VUndx , TwN6VUndy , TwN6VUndz , TwN7DynP , TwN7Fdx , TwN7Fdy , TwN7M , & + TwN7Re , TwN7STVx , TwN7STVy , TwN7STVz , TwN7Vrel , TwN7VUndx , TwN7VUndy , & + TwN7VUndz , TwN8DynP , TwN8Fdx , TwN8Fdy , TwN8M , TwN8Re , TwN8STVx , & + TwN8STVy , TwN8STVz , TwN8Vrel , TwN8VUndx , TwN8VUndy , TwN8VUndz , TwN9DynP , & + TwN9Fdx , TwN9Fdy , TwN9M , TwN9Re , TwN9STVx , TwN9STVy , TwN9STVz , & + TwN9Vrel , TwN9VUndx , TwN9VUndy , TwN9VUndz /) + CHARACTER(ChanLen), PARAMETER :: ParamUnitsAry(1103) = (/ character(ChanLen) :: & ! This lists the units corresponding to the allowed parameters "(deg) ","(deg) ","(-) ","(-) ","(-) ","(m) ","(-) ", & + "(-) ","(-) ","(deg) ","(-) ","(-) ","(Pa) ","(N/m) ", & + "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(-) ","(N·m/m) ", & + "(deg) ","(-) ","(m/s) ","(m/s) ","(m/s) ","(deg) ","(-) ", & + "(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ", & + "(m/s) ","(m/s) ","(deg) ","(-) ","(-) ","(-) ","(m) ", & "(-) ","(-) ","(-) ","(deg) ","(-) ","(-) ","(Pa) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(-) ", & - "(N·m/m) ","(deg) ","(-) ","(-) ","(-) ","(m/s) ","(m/s) ", & + "(N·m/m) ","(deg) ","(-) ","(m/s) ","(m/s) ","(m/s) ","(deg) ", & + "(-) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ", & + "(m/s) ","(m/s) ","(m/s) ","(deg) ","(-) ","(-) ","(-) ", & + "(m) ","(-) ","(-) ","(-) ","(deg) ","(-) ","(-) ", & + "(Pa) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & + "(-) ","(N·m/m) ","(deg) ","(-) ","(m/s) ","(m/s) ","(m/s) ", & + "(deg) ","(-) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ", & + "(m/s) ","(m/s) ","(m/s) ","(m/s) ","(deg) ","(-) ","(-) ", & + "(-) ","(m) ","(-) ","(-) ","(-) ","(deg) ","(-) ", & + "(-) ","(Pa) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & + "(N/m) ","(-) ","(N·m/m) ","(deg) ","(-) ","(m/s) ","(m/s) ", & "(m/s) ","(deg) ","(-) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ", & "(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(deg) ","(-) ", & - "(-) ","(-) ","(m) ","(-) ","(-) ","(-) ","(-) ", & - "(deg) ","(-) ","(-) ","(Pa) ","(N/m) ","(N/m) ","(N/m) ", & - "(N/m) ","(N/m) ","(N/m) ","(-) ","(N·m/m) ","(deg) ","(-) ", & - "(-) ","(-) ","(m/s) ","(m/s) ","(m/s) ","(deg) ","(-) ", & - "(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ", & - "(m/s) ","(m/s) ","(deg) ","(-) ","(-) ","(-) ","(m) ", & - "(-) ","(-) ","(-) ","(-) ","(deg) ","(-) ","(-) ", & - "(Pa) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & - "(-) ","(N·m/m) ","(deg) ","(-) ","(-) ","(-) ","(m/s) ", & + "(-) ","(-) ","(m) ","(-) ","(-) ","(-) ","(deg) ", & + "(-) ","(-) ","(Pa) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & + "(N/m) ","(N/m) ","(-) ","(N·m/m) ","(deg) ","(-) ","(m/s) ", & "(m/s) ","(m/s) ","(deg) ","(-) ","(m/s) ","(m/s) ","(m/s) ", & "(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(deg) ", & "(-) ","(-) ","(-) ","(m) ","(-) ","(-) ","(-) ", & - "(-) ","(deg) ","(-) ","(-) ","(Pa) ","(N/m) ","(N/m) ", & - "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(-) ","(N·m/m) ","(deg) ", & - "(-) ","(-) ","(-) ","(m/s) ","(m/s) ","(m/s) ","(deg) ", & - "(-) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ", & - "(m/s) ","(m/s) ","(m/s) ","(deg) ","(-) ","(-) ","(-) ", & - "(m) ","(-) ","(-) ","(-) ","(-) ","(deg) ","(-) ", & - "(-) ","(Pa) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & - "(N/m) ","(-) ","(N·m/m) ","(deg) ","(-) ","(-) ","(-) ", & + "(deg) ","(-) ","(-) ","(Pa) ","(N/m) ","(N/m) ","(N/m) ", & + "(N/m) ","(N/m) ","(N/m) ","(-) ","(N·m/m) ","(deg) ","(-) ", & "(m/s) ","(m/s) ","(m/s) ","(deg) ","(-) ","(m/s) ","(m/s) ", & "(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ", & "(deg) ","(-) ","(-) ","(-) ","(m) ","(-) ","(-) ", & - "(-) ","(-) ","(deg) ","(-) ","(-) ","(Pa) ","(N/m) ", & - "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(-) ","(N·m/m) ", & - "(deg) ","(-) ","(-) ","(-) ","(m/s) ","(m/s) ","(m/s) ", & - "(deg) ","(-) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ", & - "(m/s) ","(m/s) ","(m/s) ","(m/s) ","(deg) ","(-) ","(-) ", & - "(-) ","(m) ","(-) ","(-) ","(-) ","(-) ","(deg) ", & - "(-) ","(-) ","(Pa) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & - "(N/m) ","(N/m) ","(-) ","(N·m/m) ","(deg) ","(-) ","(-) ", & + "(-) ","(deg) ","(-) ","(-) ","(Pa) ","(N/m) ","(N/m) ", & + "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(-) ","(N·m/m) ","(deg) ", & "(-) ","(m/s) ","(m/s) ","(m/s) ","(deg) ","(-) ","(m/s) ", & "(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ", & "(m/s) ","(deg) ","(-) ","(-) ","(-) ","(m) ","(-) ", & + "(-) ","(-) ","(deg) ","(-) ","(-) ","(Pa) ","(N/m) ", & + "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(-) ","(N·m/m) ", & + "(deg) ","(-) ","(m/s) ","(m/s) ","(m/s) ","(deg) ","(-) ", & + "(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ", & + "(m/s) ","(m/s) ","(deg) ","(-) ","(-) ","(-) ","(m) ", & "(-) ","(-) ","(-) ","(deg) ","(-) ","(-) ","(Pa) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(-) ", & - "(N·m/m) ","(deg) ","(-) ","(-) ","(-) ","(m/s) ","(m/s) ", & - "(m/s) ","(deg) ","(-) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ", & - "(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(deg) ","(-) ", & - "(-) ","(-) ","(m) ","(-) ","(-) ","(-) ","(-) ", & + "(N·m/m) ","(deg) ","(-) ","(m/s) ","(m/s) ","(m/s) ","(deg) ", & + "(-) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ", & + "(m/s) ","(m/s) ","(m/s) ","(deg) ","(deg) ","(deg) ","(-) ", & + "(-) ","(-) ","(m) ","(-) ","(-) ","(-) ","(deg) ", & + "(-) ","(-) ","(Pa) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & + "(N/m) ","(N/m) ","(-) ","(N·m/m) ","(deg) ","(-) ","(m/s) ", & + "(m/s) ","(m/s) ","(deg) ","(-) ","(m/s) ","(m/s) ","(m/s) ", & + "(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(deg) ", & + "(-) ","(-) ","(-) ","(m) ","(-) ","(-) ","(-) ", & "(deg) ","(-) ","(-) ","(Pa) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(-) ","(N·m/m) ","(deg) ","(-) ", & - "(-) ","(-) ","(m/s) ","(m/s) ","(m/s) ","(deg) ","(-) ", & + "(m/s) ","(m/s) ","(m/s) ","(deg) ","(-) ","(m/s) ","(m/s) ", & "(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ", & - "(m/s) ","(m/s) ","(deg) ","(deg) ","(deg) ","(-) ","(-) ", & - "(-) ","(m) ","(-) ","(-) ","(-) ","(-) ","(deg) ", & - "(-) ","(-) ","(Pa) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & - "(N/m) ","(N/m) ","(-) ","(N·m/m) ","(deg) ","(-) ","(-) ", & + "(deg) ","(-) ","(-) ","(-) ","(m) ","(-) ","(-) ", & + "(-) ","(deg) ","(-) ","(-) ","(Pa) ","(N/m) ","(N/m) ", & + "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(-) ","(N·m/m) ","(deg) ", & "(-) ","(m/s) ","(m/s) ","(m/s) ","(deg) ","(-) ","(m/s) ", & "(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ", & "(m/s) ","(deg) ","(-) ","(-) ","(-) ","(m) ","(-) ", & + "(-) ","(-) ","(deg) ","(-) ","(-) ","(Pa) ","(N/m) ", & + "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(-) ","(N·m/m) ", & + "(deg) ","(-) ","(m/s) ","(m/s) ","(m/s) ","(deg) ","(-) ", & + "(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ", & + "(m/s) ","(m/s) ","(deg) ","(-) ","(-) ","(-) ","(m) ", & "(-) ","(-) ","(-) ","(deg) ","(-) ","(-) ","(Pa) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(-) ", & - "(N·m/m) ","(deg) ","(-) ","(-) ","(-) ","(m/s) ","(m/s) ", & + "(N·m/m) ","(deg) ","(-) ","(m/s) ","(m/s) ","(m/s) ","(deg) ", & + "(-) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ", & + "(m/s) ","(m/s) ","(m/s) ","(deg) ","(-) ","(-) ","(-) ", & + "(m) ","(-) ","(-) ","(-) ","(deg) ","(-) ","(-) ", & + "(Pa) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & + "(-) ","(N·m/m) ","(deg) ","(-) ","(m/s) ","(m/s) ","(m/s) ", & + "(deg) ","(-) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ", & + "(m/s) ","(m/s) ","(m/s) ","(m/s) ","(deg) ","(-) ","(-) ", & + "(-) ","(m) ","(-) ","(-) ","(-) ","(deg) ","(-) ", & + "(-) ","(Pa) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & + "(N/m) ","(-) ","(N·m/m) ","(deg) ","(-) ","(m/s) ","(m/s) ", & "(m/s) ","(deg) ","(-) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ", & "(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(deg) ","(-) ", & - "(-) ","(-) ","(m) ","(-) ","(-) ","(-) ","(-) ", & + "(-) ","(-) ","(m) ","(-) ","(-) ","(-) ","(deg) ", & + "(-) ","(-) ","(Pa) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & + "(N/m) ","(N/m) ","(-) ","(N·m/m) ","(deg) ","(-) ","(m/s) ", & + "(m/s) ","(m/s) ","(deg) ","(-) ","(m/s) ","(m/s) ","(m/s) ", & + "(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(deg) ", & + "(-) ","(-) ","(-) ","(m) ","(-) ","(-) ","(-) ", & "(deg) ","(-) ","(-) ","(Pa) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(-) ","(N·m/m) ","(deg) ","(-) ", & - "(-) ","(-) ","(m/s) ","(m/s) ","(m/s) ","(deg) ","(-) ", & + "(m/s) ","(m/s) ","(m/s) ","(deg) ","(-) ","(m/s) ","(m/s) ", & "(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ", & - "(m/s) ","(m/s) ","(deg) ","(-) ","(-) ","(-) ","(m) ", & - "(-) ","(-) ","(-) ","(-) ","(deg) ","(-) ","(-) ", & + "(deg) ","(deg) ","(deg) ","(-) ","(-) ","(-) ","(m) ", & + "(-) ","(-) ","(-) ","(deg) ","(-) ","(-) ","(Pa) ", & + "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(-) ", & + "(N·m/m) ","(deg) ","(-) ","(m/s) ","(m/s) ","(m/s) ","(deg) ", & + "(-) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ", & + "(m/s) ","(m/s) ","(m/s) ","(deg) ","(-) ","(-) ","(-) ", & + "(m) ","(-) ","(-) ","(-) ","(deg) ","(-) ","(-) ", & "(Pa) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & - "(-) ","(N·m/m) ","(deg) ","(-) ","(-) ","(-) ","(m/s) ", & + "(-) ","(N·m/m) ","(deg) ","(-) ","(m/s) ","(m/s) ","(m/s) ", & + "(deg) ","(-) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ", & + "(m/s) ","(m/s) ","(m/s) ","(m/s) ","(deg) ","(-) ","(-) ", & + "(-) ","(m) ","(-) ","(-) ","(-) ","(deg) ","(-) ", & + "(-) ","(Pa) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & + "(N/m) ","(-) ","(N·m/m) ","(deg) ","(-) ","(m/s) ","(m/s) ", & + "(m/s) ","(deg) ","(-) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ", & + "(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(deg) ","(-) ", & + "(-) ","(-) ","(m) ","(-) ","(-) ","(-) ","(deg) ", & + "(-) ","(-) ","(Pa) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & + "(N/m) ","(N/m) ","(-) ","(N·m/m) ","(deg) ","(-) ","(m/s) ", & "(m/s) ","(m/s) ","(deg) ","(-) ","(m/s) ","(m/s) ","(m/s) ", & "(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(deg) ", & "(-) ","(-) ","(-) ","(m) ","(-) ","(-) ","(-) ", & - "(-) ","(deg) ","(-) ","(-) ","(Pa) ","(N/m) ","(N/m) ", & - "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(-) ","(N·m/m) ","(deg) ", & - "(-) ","(-) ","(-) ","(m/s) ","(m/s) ","(m/s) ","(deg) ", & - "(-) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ", & - "(m/s) ","(m/s) ","(m/s) ","(deg) ","(-) ","(-) ","(-) ", & - "(m) ","(-) ","(-) ","(-) ","(-) ","(deg) ","(-) ", & - "(-) ","(Pa) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & - "(N/m) ","(-) ","(N·m/m) ","(deg) ","(-) ","(-) ","(-) ", & + "(deg) ","(-) ","(-) ","(Pa) ","(N/m) ","(N/m) ","(N/m) ", & + "(N/m) ","(N/m) ","(N/m) ","(-) ","(N·m/m) ","(deg) ","(-) ", & "(m/s) ","(m/s) ","(m/s) ","(deg) ","(-) ","(m/s) ","(m/s) ", & "(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ", & "(deg) ","(-) ","(-) ","(-) ","(m) ","(-) ","(-) ", & - "(-) ","(-) ","(deg) ","(-) ","(-) ","(Pa) ","(N/m) ", & - "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(-) ","(N·m/m) ", & - "(deg) ","(-) ","(-) ","(-) ","(m/s) ","(m/s) ","(m/s) ", & - "(deg) ","(-) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ", & - "(m/s) ","(m/s) ","(m/s) ","(m/s) ","(deg) ","(-) ","(-) ", & - "(-) ","(m) ","(-) ","(-) ","(-) ","(-) ","(deg) ", & - "(-) ","(-) ","(Pa) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & - "(N/m) ","(N/m) ","(-) ","(N·m/m) ","(deg) ","(-) ","(-) ", & + "(-) ","(deg) ","(-) ","(-) ","(Pa) ","(N/m) ","(N/m) ", & + "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(-) ","(N·m/m) ","(deg) ", & "(-) ","(m/s) ","(m/s) ","(m/s) ","(deg) ","(-) ","(m/s) ", & "(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ", & "(m/s) ","(deg) ","(-) ","(-) ","(-) ","(m) ","(-) ", & - "(-) ","(-) ","(-) ","(deg) ","(-) ","(-) ","(Pa) ", & - "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(-) ", & - "(N·m/m) ","(deg) ","(-) ","(-) ","(-) ","(m/s) ","(m/s) ", & - "(m/s) ","(deg) ","(-) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ", & - "(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(deg) ","(deg) ", & - "(deg) ","(-) ","(-) ","(-) ","(m) ","(-) ","(-) ", & "(-) ","(-) ","(deg) ","(-) ","(-) ","(Pa) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(-) ","(N·m/m) ", & - "(deg) ","(-) ","(-) ","(-) ","(m/s) ","(m/s) ","(m/s) ", & - "(deg) ","(-) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ", & - "(m/s) ","(m/s) ","(m/s) ","(m/s) ","(deg) ","(-) ","(-) ", & - "(-) ","(m) ","(-) ","(-) ","(-) ","(-) ","(deg) ", & - "(-) ","(-) ","(Pa) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & - "(N/m) ","(N/m) ","(-) ","(N·m/m) ","(deg) ","(-) ","(-) ", & - "(-) ","(m/s) ","(m/s) ","(m/s) ","(deg) ","(-) ","(m/s) ", & + "(deg) ","(-) ","(m/s) ","(m/s) ","(m/s) ","(deg) ","(-) ", & "(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ", & - "(m/s) ","(deg) ","(-) ","(-) ","(-) ","(m) ","(-) ", & + "(m/s) ","(m/s) ","(deg) ","(-) ","(-) ","(-) ","(m) ", & "(-) ","(-) ","(-) ","(deg) ","(-) ","(-) ","(Pa) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(-) ", & - "(N·m/m) ","(deg) ","(-) ","(-) ","(-) ","(m/s) ","(m/s) ", & - "(m/s) ","(deg) ","(-) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ", & - "(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(deg) ","(-) ", & - "(-) ","(-) ","(m) ","(-) ","(-) ","(-) ","(-) ", & - "(deg) ","(-) ","(-) ","(Pa) ","(N/m) ","(N/m) ","(N/m) ", & - "(N/m) ","(N/m) ","(N/m) ","(-) ","(N·m/m) ","(deg) ","(-) ", & - "(-) ","(-) ","(m/s) ","(m/s) ","(m/s) ","(deg) ","(-) ", & - "(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ", & - "(m/s) ","(m/s) ","(deg) ","(-) ","(-) ","(-) ","(m) ", & - "(-) ","(-) ","(-) ","(-) ","(deg) ","(-) ","(-) ", & - "(Pa) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & - "(-) ","(N·m/m) ","(deg) ","(-) ","(-) ","(-) ","(m/s) ", & - "(m/s) ","(m/s) ","(deg) ","(-) ","(m/s) ","(m/s) ","(m/s) ", & - "(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(deg) ", & - "(-) ","(-) ","(-) ","(m) ","(-) ","(-) ","(-) ", & - "(-) ","(deg) ","(-) ","(-) ","(Pa) ","(N/m) ","(N/m) ", & - "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(-) ","(N·m/m) ","(deg) ", & - "(-) ","(-) ","(-) ","(m/s) ","(m/s) ","(m/s) ","(deg) ", & + "(N·m/m) ","(deg) ","(-) ","(m/s) ","(m/s) ","(m/s) ","(deg) ", & "(-) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ", & "(m/s) ","(m/s) ","(m/s) ","(deg) ","(-) ","(-) ","(-) ", & - "(m) ","(-) ","(-) ","(-) ","(-) ","(deg) ","(-) ", & - "(-) ","(Pa) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & - "(N/m) ","(-) ","(N·m/m) ","(deg) ","(-) ","(-) ","(-) ", & - "(m/s) ","(m/s) ","(m/s) ","(deg) ","(-) ","(m/s) ","(m/s) ", & - "(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ", & - "(deg) ","(-) ","(-) ","(-) ","(m) ","(-) ","(-) ", & - "(-) ","(-) ","(deg) ","(-) ","(-) ","(Pa) ","(N/m) ", & - "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(-) ","(N·m/m) ", & - "(deg) ","(-) ","(-) ","(-) ","(m/s) ","(m/s) ","(m/s) ", & + "(m) ","(-) ","(-) ","(-) ","(deg) ","(-) ","(-) ", & + "(Pa) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & + "(-) ","(N·m/m) ","(deg) ","(-) ","(m/s) ","(m/s) ","(m/s) ", & "(deg) ","(-) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ", & "(m/s) ","(m/s) ","(m/s) ","(m/s) ","(deg) ","(-) ","(-) ", & - "(-) ","(m) ","(-) ","(-) ","(-) ","(-) ","(deg) ", & - "(-) ","(-) ","(Pa) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & - "(N/m) ","(N/m) ","(-) ","(N·m/m) ","(deg) ","(-) ","(-) ", & - "(-) ","(m/s) ","(m/s) ","(m/s) ","(deg) ","(-) ","(m/s) ", & - "(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ", & - "(m/s) ","(deg) ","(-) ","(-) ","(-) ","(N) ","(N) ", & - "(N) ","(N·m) ","(N·m) ","(N·m) ","(W) ","(m^2) ","(deg) ", & - "(rpm) ","(-) ","(m/s) ","(m/s) ","(m/s) ","(Pa) ","(N/m) ", & - "(N/m) ","(-) ","(-) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ", & - "(m/s) ","(m/s) ","(m/s) ","(Pa) ","(N/m) ","(N/m) ","(-) ", & - "(-) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ", & + "(-) ","(N) ","(N) ","(N) ","(N·m) ","(N·m) ","(N·m) ", & + "(W) ","(m^2) ","(deg) ","(rpm) ","(-) ","(m/s) ","(m/s) ", & "(m/s) ","(Pa) ","(N/m) ","(N/m) ","(-) ","(-) ","(m/s) ", & "(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(Pa) ", & "(N/m) ","(N/m) ","(-) ","(-) ","(m/s) ","(m/s) ","(m/s) ", & @@ -3264,7 +3087,10 @@ SUBROUTINE SetOutParam(OutList, p, ErrStat, ErrMsg ) "(N/m) ","(-) ","(-) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ", & "(m/s) ","(m/s) ","(m/s) ","(Pa) ","(N/m) ","(N/m) ","(-) ", & "(-) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ", & - "(m/s) "/) + "(m/s) ","(Pa) ","(N/m) ","(N/m) ","(-) ","(-) ","(m/s) ", & + "(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(Pa) ", & + "(N/m) ","(N/m) ","(-) ","(-) ","(m/s) ","(m/s) ","(m/s) ", & + "(m/s) ","(m/s) ","(m/s) ","(m/s) "/) ! Initialize values @@ -3274,7 +3100,7 @@ SUBROUTINE SetOutParam(OutList, p, ErrStat, ErrMsg ) ! ..... Developer must add checking for invalid inputs here: ..... -!bjj: do we want to avoid outputting this if we haven't used tower aero? + !bjj: do we want to avoid outputting this if we haven't used tower aero? if ( p%TwrPotent == TwrPotent_none .and. .not. p%TwrShadow ) then @@ -3382,6 +3208,7 @@ SUBROUTINE SetOutParam(OutList, p, ErrStat, ErrMsg ) InvalidOutput( BNClrnc(i,:) ) = .true. END DO + ! ................. End of validity checking ................. @@ -3469,4 +3296,5 @@ END SUBROUTINE SetOutParam !********************************************************************************************************************************** + END MODULE AeroDyn_IO diff --git a/modules-local/aerodyn/src/AeroDyn_Registry.txt b/modules-local/aerodyn/src/AeroDyn_Registry.txt index 5bb5d1401..f9373e98e 100644 --- a/modules-local/aerodyn/src/AeroDyn_Registry.txt +++ b/modules-local/aerodyn/src/AeroDyn_Registry.txt @@ -65,12 +65,8 @@ typedef ^ AD_InputFile IntKi TwrPotent - - - "Type tower influence on wind based typedef ^ AD_InputFile LOGICAL TwrShadow - - - "Calculate tower influence on wind based on downstream tower shadow?" - typedef ^ AD_InputFile LOGICAL TwrAero - - - "Calculate tower aerodynamic loads?" flag typedef ^ AD_InputFile Logical FrozenWake - - - "Flag that tells this module it should assume a frozen wake during linearization." - -typedef ^ AD_InputFile Logical CavitCheck - - - "Flag that tells us if we want to check for cavitation" - typedef ^ AD_InputFile ReKi AirDens - - - "Air density" kg/m^3 typedef ^ AD_InputFile ReKi KinVisc - - - "Kinematic air viscosity" m^2/s -typedef ^ AD_InputFile ReKi Patm - - - "Atmospheric pressure" Pa -typedef ^ AD_InputFile ReKi Pvap - - - "Vapour pressure" Pa -typedef ^ AD_InputFile ReKi FluidDepth - - - "Submerged hub depth" m typedef ^ AD_InputFile ReKi SpdSound - - - "Speed of sound" m/s typedef ^ AD_InputFile IntKi SkewMod - - - "Type of skewed-wake correction model {1=uncoupled, 2=Pitt/Peters, 3=coupled} [used only when WakeMod=1]" - typedef ^ AD_InputFile LOGICAL TipLoss - - - "Use the Prandtl tip-loss model? [used only when WakeMod=1]" flag diff --git a/modules-local/aerodyn/src/AirfoilInfo.f90 b/modules-local/aerodyn/src/AirfoilInfo.f90 index a695cdaf2..a8ef71e0f 100644 --- a/modules-local/aerodyn/src/AirfoilInfo.f90 +++ b/modules-local/aerodyn/src/AirfoilInfo.f90 @@ -110,7 +110,6 @@ SUBROUTINE AFI_Init ( InitInput, p, ErrStat, ErrMsg, UnEcho ) p%ColCd = 2 p%ColCm = 0 ! These may or may not be used; initialize to zero in case they aren't used p%ColCpmin = 0 ! These may or may not be used; initialize to zero in case they aren't used - IF ( InitInput%InCol_Cm > 0 ) THEN p%ColCm = 3 IF ( InitInput%InCol_Cpmin > 0 ) THEN @@ -120,8 +119,8 @@ SUBROUTINE AFI_Init ( InitInput, p, ErrStat, ErrMsg, UnEcho ) p%ColCpmin = 3 END IF NumCoefs = MAX(p%ColCd, p%ColCm,p%ColCpmin) ! number of non-zero coefficient columns + - ! Process the airfoil files. ALLOCATE ( p%AFInfo( InitInput%NumAFfiles ), STAT=ErrStat2 ) @@ -130,9 +129,6 @@ SUBROUTINE AFI_Init ( InitInput, p, ErrStat, ErrMsg, UnEcho ) RETURN ENDIF - p%AFInfo( :)%ColCpmin=p%ColCpmin - p%AFInfo( :)%ColCm=p%ColCm - DO File=1,InitInput%NumAFfiles @@ -500,7 +496,6 @@ SUBROUTINE ReadAFfile ( AFfile, NumCoefs, InCol_Alfa, InCol_Cl, InCol_Cd, InCol_ TYPE (AFInfoType), INTENT(INOUT) :: AFInfo ! The derived type for holding the constant parameters for this airfoil. - ! Local declarations. REAL(ReKi) :: Coords (2) ! An array to hold data from the airfoil-shape table. @@ -810,8 +805,6 @@ SUBROUTINE ReadAFfile ( AFfile, NumCoefs, InCol_Alfa, InCol_Cl, InCol_Cd, InCol_ CALL Cleanup() RETURN ENDIF - - DO Row=1,AFInfo%Table(Table)%NumAlf diff --git a/modules-local/aerodyn/src/AirfoilInfo_Registry.txt b/modules-local/aerodyn/src/AirfoilInfo_Registry.txt index 03c27c0ae..62858637e 100644 --- a/modules-local/aerodyn/src/AirfoilInfo_Registry.txt +++ b/modules-local/aerodyn/src/AirfoilInfo_Registry.txt @@ -94,8 +94,6 @@ typedef ^ ^ INTEGER NumCpminAoAkts - - - "The number of angle-of-attack knots fo typedef ^ ^ INTEGER NumCpminReKts - - - "The number of log(Re) knots for 2D splines of Cpmin" - typedef ^ ^ INTEGER NumTabs - - - "The number of airfoil tables in the airfoil file" - typedef ^ ^ AFI_Table_Type Table {:} - - "The tables of airfoil data for given Re and control setting" - -typedef ^ ^ INTEGER ColCpmin - - - "Column number for Cpmin" - -typedef ^ ^ INTEGER ColCm - - - "Column number for Cm" - # ..... Initialization data ....................................................................................................... # The following derived type stores information that comes from the calling module (say, AeroDyn): diff --git a/modules-local/aerodyn/src/BEMT.f90 b/modules-local/aerodyn/src/BEMT.f90 index f53265922..caf0e3300 100644 --- a/modules-local/aerodyn/src/BEMT.f90 +++ b/modules-local/aerodyn/src/BEMT.f90 @@ -162,9 +162,6 @@ subroutine BEMT_SetParameters( InitInp, p, errStat, errMsg ) p%numBladeNodes = InitInp%numBladeNodes p%numBlades = InitInp%numBlades p%UA_Flag = InitInp%UA_Flag - p%CavitCheck = InitInp%CavitCheck - - allocate ( p%chord(p%numBladeNodes, p%numBlades), STAT = errStat2 ) if ( errStat2 /= 0 ) then @@ -208,13 +205,10 @@ subroutine BEMT_SetParameters( InitInp, p, errStat, errMsg ) end do end do - - !p%DT = InitInp%DT + + !p%DT = InitInp%DT p%airDens = InitInp%airDens - p%kinVisc = InitInp%kinVisc - p%Patm = InitInp%Patm - p%Pvap = InitInp%Pvap - p%FluidDepth = InitInp%FluidDepth + p%kinVisc = InitInp%kinVisc p%skewWakeMod = InitInp%skewWakeMod p%useTipLoss = InitInp%useTipLoss p%useHubLoss = InitInp%useHubLoss @@ -225,7 +219,6 @@ subroutine BEMT_SetParameters( InitInp, p, errStat, errMsg ) p%numReIterations = InitInp%numReIterations p%maxIndIterations = InitInp%maxIndIterations p%aTol = InitInp%aTol - end subroutine BEMT_SetParameters @@ -438,7 +431,7 @@ end subroutine BEMT_AllocInput !---------------------------------------------------------------------------------------------------------------------------------- -subroutine BEMT_AllocOutput( y, p, m, errStat, errMsg ) +subroutine BEMT_AllocOutput( y, p, errStat, errMsg ) ! This routine is called from BEMT_Init. ! ! @@ -446,7 +439,6 @@ subroutine BEMT_AllocOutput( y, p, m, errStat, errMsg ) type(BEMT_OutputType), intent( out) :: y ! output data type(BEMT_ParameterType), intent(in ) :: p ! Parameters - type(BEMT_MiscVarType), intent(inout) :: m ! Misc/optimization variables integer(IntKi), intent( out) :: errStat ! Error status of the operation character(*), intent( out) :: errMsg ! Error message if ErrStat /= ErrID_None @@ -473,10 +465,6 @@ subroutine BEMT_AllocOutput( y, p, m, errStat, errMsg ) call allocAry( y%Cm, p%numBladeNodes, p%numBlades, 'y%Cm', errStat2, errMsg2); call setErrStat(errStat2,ErrMsg2,ErrStat,ErrMsg,RoutineName) call allocAry( y%Cl, p%numBladeNodes, p%numBlades, 'y%Cl', errStat2, errMsg2); call setErrStat(errStat2,ErrMsg2,ErrStat,ErrMsg,RoutineName) call allocAry( y%Cd, p%numBladeNodes, p%numBlades, 'y%Cd', errStat2, errMsg2); call setErrStat(errStat2,ErrMsg2,ErrStat,ErrMsg,RoutineName) - call allocAry( m%Cpmin, p%numBladeNodes, p%numBlades, 'm%Cpmin', errStat2, errMsg2); call setErrStat(errStat2,ErrMsg2,ErrStat,ErrMsg,RoutineName) - call allocAry( m%SigmaCavit, p%numBladeNodes, p%numBlades, 'm%SigmaCavit', errStat2, errMsg2); call setErrStat(errStat2,ErrMsg2,ErrStat,ErrMsg,RoutineName) - call allocAry( m%SigmaCavitCrit, p%numBladeNodes, p%numBlades, 'm%SigmaCavitCrit', errStat2, errMsg2); call setErrStat(errStat2,ErrMsg2,ErrStat,ErrMsg,RoutineName) - if (ErrStat >= AbortErrLev) RETURN @@ -494,8 +482,7 @@ subroutine BEMT_AllocOutput( y, p, m, errStat, errMsg ) y%tanInduction = 0.0_ReKi y%AOA = 0.0_ReKi y%Cl = 0.0_ReKi - y%Cd = 0.0_ReKi - + y%Cd = 0.0_ReKi end subroutine BEMT_AllocOutput @@ -718,7 +705,6 @@ subroutine BEMT_Init( InitInp, u, p, x, xd, z, OtherState, AFInfo, y, misc, Inte write (69,'(A)') ' ' #endif - do j = 1,p%numBlades do i = 1,p%numBladeNodes ! Loop over blades and nodes @@ -740,8 +726,6 @@ subroutine BEMT_Init( InitInp, u, p, x, xd, z, OtherState, AFInfo, y, misc, Inte call WrScr( 'Warning: Turning off Unsteady Aerodynamics because C_nalpha is 0. BladeNode = '//trim(num2lstr(i))//', Blade = '//trim(num2lstr(j)) ) end if - - end do end do @@ -772,7 +756,7 @@ subroutine BEMT_Init( InitInp, u, p, x, xd, z, OtherState, AFInfo, y, misc, Inte !call BEMT_InitOut(p, InitOut, errStat2, errMsg2) !call CheckError( errStat2, errMsg2 ) - call BEMT_AllocOutput(y, p, misc, errStat2, errMsg2) !u is sent so we can create sibling meshes + call BEMT_AllocOutput(y, p, errStat2, errMsg2) !u is sent so we can create sibling meshes call SetErrStat( errStat2, errMsg2, errStat, errMsg, RoutineName ) if (errStat >= AbortErrLev) then call cleanup() @@ -1097,8 +1081,8 @@ subroutine BEMT_CalcOutput( t, u, p, x, xd, z, OtherState, AFInfo, y, m, errStat ! Local variables: - real(ReKi) :: Re, fzero, theta, Vx, Vy - real(ReKi) :: Rtip, SigmaCavitCrit, SigmaCavit ! maximum rlocal value for node j over all blades + real(ReKi) :: Re, fzero + real(ReKi) :: Rtip ! maximum rlocal value for node j over all blades integer(IntKi) :: i ! Generic index integer(IntKi) :: j ! Loops through nodes / elements @@ -1178,12 +1162,6 @@ subroutine BEMT_CalcOutput( t, u, p, x, xd, z, OtherState, AFInfo, y, m, errStat NodeTxt = '(node '//trim(num2lstr(i))//', blade '//trim(num2lstr(j))//')' - ! local velocities and twist angle - Vx = u%Vx(i,j) - Vy = u%Vy(i,j) - - - ! Set the active blade element for UnsteadyAero m%UA%iBladeNode = i m%UA%iBlade = j @@ -1257,34 +1235,9 @@ subroutine BEMT_CalcOutput( t, u, p, x, xd, z, OtherState, AFInfo, y, m, errStat else ! TODO: When we start using Re, should we use the uninduced Re since we used uninduced Re to solve for the inductions!? Probably this won't change, instead create a Re loop up above. call ComputeSteadyAirfoilCoefs( y%AOA(i,j), y%Re(i,j), AFInfo(p%AFindx(i,j)), & - y%Cl(i,j), y%Cd(i,j), y%Cm(i,j), m%Cpmin(i,j), errStat2, errMsg2 ) + y%Cl(i,j), y%Cd(i,j), y%Cm(i,j), errStat2, errMsg2 ) call SetErrStat(ErrStat2,ErrMsg2,ErrStat,ErrMsg,RoutineName//trim(NodeTxt)) if (errStat >= AbortErrLev) return - - - - - ! Calculate the cavitation number for the airfoil at the node in quesiton, and compare to the critical cavitation number based on the vapour pressure and submerged depth - if ( p%CavitCheck ) then - SigmaCavit= -1* m%Cpmin(i,j) ! Cavitation number on blade node j - - if ( EqualRealNos( y%Vrel(i,j), 0.0_ReKi ) ) then !if Vrel = 0 in certain cases when Prandtls tip and hub loss factors are used, use the relative verlocity without induction - if ( EqualRealNos( Vx, 0.0_ReKi ) .and. EqualRealNos( Vy, 0.0_ReKi ) ) call SetErrStat( ErrID_Fatal, 'Velocity can not be zero for cavitation check, turn off Prandtls tip loss', ErrStat, ErrMsg, RoutineName ) - SigmaCavitCrit= ( ( p%Patm + ( 9.81_ReKi * (p%FluidDepth - ( u%rlocal(i,j))* cos(u%psi(j) )) * p%airDens)) - p%Pvap ) / ( 0.5_ReKi * p%airDens * (sqrt((Vx**2 + Vy**2)))**2) ! Critical value of Sigma, cavitation if we go over this - - else - SigmaCavitCrit= ( ( p%Patm + ( 9.81_ReKi * (p%FluidDepth - ( u%rlocal(i,j))* cos(u%psi(j) )) * p%airDens)) - p%Pvap ) / ( 0.5_ReKi * p%airDens * y%Vrel(i,j)**2) ! Critical value of Sigma, cavitation if we go over this - end if - - - if (SigmaCavitCrit < SigmaCavit) then - call WrScr( NewLine//'Cavitation occured at node # = '//trim(num2lstr(i)//'and blade # = '//trim(num2lstr(j)))) - end if - - m%SigmaCavit(i,j)= SigmaCavit - m%SigmaCavitCrit(i,j)=SigmaCavitCrit - - end if end if @@ -1850,7 +1803,6 @@ subroutine BEMT_UnCoupledSolve( phi, numBlades, airDens, mu, AFInfo, rlocal, cho integer :: i, TestRegionResult logical :: IsValidSolution real(ReKi) :: Re, Vrel - ErrStat = ErrID_None ErrMsg = "" @@ -1979,8 +1931,5 @@ end subroutine BEMT_UnCoupledSolve - end module BEMT - - - - +end module BEMT + \ No newline at end of file diff --git a/modules-local/aerodyn/src/BEMTUncoupled.f90 b/modules-local/aerodyn/src/BEMTUncoupled.f90 index 991a3d790..6daa2fc70 100644 --- a/modules-local/aerodyn/src/BEMTUncoupled.f90 +++ b/modules-local/aerodyn/src/BEMTUncoupled.f90 @@ -129,14 +129,14 @@ end subroutine Transform_ClCd_to_CxCy !---------------------------------------------------------------------------------------------------------------------------------- subroutine ComputeSteadyAirfoilCoefs( AOA, Re, AFInfo, & - Cl, Cd, Cm, Cpmin, errStat, errMsg ) + Cl, Cd, Cm, errStat, errMsg ) ! This routine is called from BEMTU_InductionWithResidual and possibly BEMT_CalcOutput. ! Determine the Cl, Cd, Cm, coeficients for a given angle of attack !.................................................................................................................................. real(ReKi), intent(in ) :: AOA real(ReKi), intent(in ) :: Re ! Unused in the current version! type(AFInfoType), intent(in ) :: AFInfo - real(ReKi), intent( out) :: Cl, Cd, Cm, Cpmin + real(ReKi), intent( out) :: Cl, Cd, Cm integer(IntKi), intent( out) :: errStat ! Error status of the operation character(*), intent( out) :: errMsg ! Error message if ErrStat /= ErrID_None @@ -166,24 +166,12 @@ subroutine ComputeSteadyAirfoilCoefs( AOA, Re, AFInfo, & , AFInfo%Table(1)%SplineCoefs & , ErrStat, ErrMsg ) - - Cl = IntAFCoefs(1) - Cd = IntAFCoefs(2) - + Cl = IntAFCoefs(1) + Cd = IntAFCoefs(2) + Cm = IntAFCoefs(3) - IF ( AFInfo%ColCm > 0 ) THEN ! If there is Cm data, it is in column 3 - Cm = IntAFCoefs(3) - - IF ( AFInfo%ColCpmin > 0 ) THEN - Cpmin = IntAFCoefs(4) - END IF - - ELSE IF ( AFInfo%ColCpmin > 0 ) THEN ! If there is Cpmin data and no Cm data, Cpmin is in column 3 - Cpmin = IntAFCoefs(3) - END IF - - - + + end subroutine ComputeSteadyAirfoilCoefs !---------------------------------------------------------------------------------------------------------------------------------- @@ -267,7 +255,7 @@ real(ReKi) function BEMTU_InductionWithResidual(phi, AOA, Re, numBlades, rlocal, real(ReKi) :: fzero - real(ReKi) :: Cl, Cd, Cx, Cy, Cm, Cpmin + real(ReKi) :: Cl, Cd, Cx, Cy, Cm ErrStat = ErrID_None @@ -287,7 +275,7 @@ real(ReKi) function BEMTU_InductionWithResidual(phi, AOA, Re, numBlades, rlocal, tanInduction = 0.0_ReKi else !if ( (.NOT. VelocityIsZero(Vx)) .AND. (.NOT. VelocityIsZero(Vy)) ) then - call ComputeSteadyAirfoilCoefs( AOA, Re, AFInfo, Cl, Cd, Cm, Cpmin, errStat2, errMsg2 ) !bjj: would be nice if this could be done outside this routine (so we don't copy AFInfo so much) + call ComputeSteadyAirfoilCoefs( AOA, Re, AFInfo, Cl, Cd, Cm, errStat2, errMsg2 ) !bjj: would be nice if this could be done outside this routine (so we don't copy AFInfo so much) call SetErrStat( errStat2, errMsg2, errStat, errMsg, RoutineName ) if (ErrStat >= AbortErrLev) return @@ -653,4 +641,4 @@ real(reKi) function getHubTipLossCorrection(sphi, useHubLoss, useTipLoss, hubLos end function getHubTipLossCorrection !----------------------------------------------------------------------------------------- -end module BEMTUncoupled +end module BEMTUncoupled \ No newline at end of file diff --git a/modules-local/aerodyn/src/BEMT_Registry.txt b/modules-local/aerodyn/src/BEMT_Registry.txt index c3a47fc47..8a791bca7 100644 --- a/modules-local/aerodyn/src/BEMT_Registry.txt +++ b/modules-local/aerodyn/src/BEMT_Registry.txt @@ -34,9 +34,6 @@ typedef BEMT/BEMT InitInputType ReKi typedef ^ ^ INTEGER numBlades - - - "Number of blades" - typedef ^ ^ ReKi airDens - - - "Air density" kg/m^3 typedef ^ ^ ReKi kinVisc - - - "Kinematic air viscosity" m^2/s -typedef ^ ^ ReKi Patm - - - "Atmospheric pressure" Pa -typedef ^ ^ ReKi Pvap - - - "Vapour pressure" Pa -typedef ^ ^ ReKi FluidDepth - - - "Submerged hub height" m typedef ^ ^ INTEGER skewWakeMod - - - "Type of skewed-wake correction model [switch] {1=uncoupled, 2=Pitt/Peters, 3=coupled}" - typedef ^ ^ ReKi aTol - - - "Tolerance for the induction solution" - typedef ^ ^ LOGICAL useTipLoss - - - "Use the Prandtl tip-loss model? [flag]" - @@ -55,7 +52,6 @@ typedef ^ ^ ReKi typedef ^ ^ INTEGER UAMod - - - "Model for the dynamic stall equations [1 = Leishman/Beddoes, 2 = Gonzalez, 3 = Minnema]" - typedef ^ ^ LOGICAL UA_Flag - - - "logical flag indicating whether to use UnsteadyAero" - typedef ^ ^ LOGICAL Flookup - - - "Use table lookup for f' and f'' " - -typedef ^ ^ LOGICAL CavitCheck - - - "logical flag indicating whether to check for cavitation" - typedef ^ ^ ReKi a_s - - - "speed of sound" m/s # # @@ -87,7 +83,6 @@ typedef ^ ^ LOGICAL typedef ^ ^ LOGICAL ValidPhi {:}{:} - - "set to indicate when there is no valid Phi for this node at this time (temporarially turn off induction when this is false)" - typedef ^ OtherStateType Logical nodesInitialized - - - "the node states have been initialized properly" - - # ..... Misc/Optimization variables................................................................................................. # Define any data that are used only for efficiency purposes (these variables are not associated with time): # e.g. indices for searching in an array, large arrays that are local variables in any routine called multiple times, etc. @@ -97,9 +92,6 @@ typedef ^ MiscVarType UA_OutputTy typedef ^ MiscVarType ReKi TnInd_op {:}{:} - - "tangential induction at the operating point (for linearization with frozen wake assumption)" typedef ^ MiscVarType ReKi AxInd_op {:}{:} - - "axial induction at the operating point (for linearization) with frozen wake assumption" typedef ^ MiscVarType Logical UseFrozenWake - - - "flag set to determine if frozen values of TnInd_op and AxInd_op should be used for this calculation in the linearization process" -typedef ^ ^ ReKi Cpmin {:}{:} - - "min Cpressure" - -typedef ^ ^ ReKi SigmaCavitCrit {:}{:} - - "critical cavitation number- inception value (above which cavit will occur)" - -typedef ^ ^ ReKi SigmaCavit {:}{:} - - "cavitation nubmer at node " - # ..... Parameters ................................................................................................................ # Define parameters here: @@ -110,9 +102,6 @@ typedef ^ ^ ReKi typedef ^ ^ INTEGER numBlades - - - "Number of blades" - typedef ^ ^ ReKi airDens - - - "Air density" kg/m^3 typedef ^ ^ ReKi kinVisc - - - "Kinematic air viscosity" m^2/s -typedef ^ ^ ReKi Patm - - - "Atmospheric pressure" Pa -typedef ^ ^ ReKi Pvap - - - "Vapour pressure" Pa -typedef ^ ^ ReKi FluidDepth - - - "Submerged hub height" m typedef ^ ^ INTEGER skewWakeMod - - - "Type of skewed-wake correction model [switch] {1=uncoupled, 2=Pitt/Peters, 3=coupled}" - typedef ^ ^ ReKi aTol - - - "Tolerance for the induction solution" - typedef ^ ^ LOGICAL useTipLoss - - - "Use the Prandtl tip-loss model? [flag]" - @@ -130,7 +119,6 @@ typedef ^ ^ ReKi typedef ^ ^ ReKi zHub {:} - - "Distance to hub for each blade" m typedef ^ ^ UA_ParameterType UA - - - "parameters for UnsteadyAero" - typedef ^ ^ LOGICAL UA_Flag - - - "logical flag indicating whether to use UnsteadyAero" - -typedef ^ ^ LOGICAL CavitCheck - - - "logical flag indicating whether to use cavitation check" - # # diff --git a/modules-local/aerodyn/src/OutListParameters.xlsx b/modules-local/aerodyn/src/OutListParameters.xlsx index 47003f4c9..4ad9f419d 100644 Binary files a/modules-local/aerodyn/src/OutListParameters.xlsx and b/modules-local/aerodyn/src/OutListParameters.xlsx differ