From 643e459c7c7e48e2cc1f7d344923f4c262bdf7ef Mon Sep 17 00:00:00 2001 From: Lu Wang Date: Fri, 15 May 2026 17:50:57 -0600 Subject: [PATCH 01/12] Initial implementation of mesh-based nonlinear Froude-Krylov and hydrostatic load calculation in HydroDyn --- modules/hydrodyn/CMakeLists.txt | 3 + modules/hydrodyn/src/HydroDyn.f90 | 117 +++- modules/hydrodyn/src/HydroDyn.txt | 6 + modules/hydrodyn/src/HydroDyn_Input.f90 | 39 +- modules/hydrodyn/src/HydroDyn_Types.f90 | 60 ++ modules/hydrodyn/src/NonlinearFK.f90 | 570 ++++++++++++++++ modules/hydrodyn/src/NonlinearFK.txt | 43 ++ modules/hydrodyn/src/NonlinearFK_Types.f90 | 753 +++++++++++++++++++++ modules/hydrodyn/src/WAMIT.f90 | 112 +-- modules/hydrodyn/src/WAMIT.txt | 3 + modules/hydrodyn/src/WAMIT2.txt | 3 +- modules/hydrodyn/src/WAMIT2_Types.f90 | 19 + modules/hydrodyn/src/WAMIT_Types.f90 | 37 + 13 files changed, 1685 insertions(+), 80 deletions(-) create mode 100644 modules/hydrodyn/src/NonlinearFK.f90 create mode 100644 modules/hydrodyn/src/NonlinearFK.txt create mode 100644 modules/hydrodyn/src/NonlinearFK_Types.f90 diff --git a/modules/hydrodyn/CMakeLists.txt b/modules/hydrodyn/CMakeLists.txt index 3cee15f647..32da18bd4a 100644 --- a/modules/hydrodyn/CMakeLists.txt +++ b/modules/hydrodyn/CMakeLists.txt @@ -22,6 +22,7 @@ if (GENERATE_TYPES) generate_f90_types(src/SS_Excitation.txt ${CMAKE_CURRENT_LIST_DIR}/src/SS_Excitation_Types.f90) generate_f90_types(src/WAMIT.txt ${CMAKE_CURRENT_LIST_DIR}/src/WAMIT_Types.f90) generate_f90_types(src/WAMIT2.txt ${CMAKE_CURRENT_LIST_DIR}/src/WAMIT2_Types.f90) + generate_f90_types(src/NonlinearFK.txt ${CMAKE_CURRENT_LIST_DIR}/src/NonlinearFK_Types.f90) endif() add_library(hydrodynlib STATIC @@ -44,6 +45,8 @@ add_library(hydrodynlib STATIC src/WAMIT_Types.f90 src/WAMIT2_Types.f90 src/YawOffset.f90 + src/NonlinearFK.f90 + src/NonlinearFK_Types.f90 ) target_link_libraries(hydrodynlib seastlib nwtclibs) diff --git a/modules/hydrodyn/src/HydroDyn.f90 b/modules/hydrodyn/src/HydroDyn.f90 index 2fe891c0d2..e48a4a7507 100644 --- a/modules/hydrodyn/src/HydroDyn.f90 +++ b/modules/hydrodyn/src/HydroDyn.f90 @@ -34,6 +34,7 @@ MODULE HydroDyn USE HydroDyn_Input USE HydroDyn_Output USE YawOffset + USE NonlinearFK #ifdef USE_FIT USE FIT_MODULES @@ -187,6 +188,7 @@ SUBROUTINE HydroDyn_Init( InitInp, u, p, x, xd, z, OtherState, y, m, Interval, I InputFileData%Morison%WaveField => InitInp%WaveField InputFileData%WAMIT%WaveField => InitInp%WaveField InputFileData%WAMIT2%WaveField => InitInp%WaveField + InputFileData%NonlinearFK%WaveField => InitInp%WaveField InputFileData%Morison%PtfmYMod = InputFileData%PtfmYMod InputFileData%WAMIT%PtfmYMod = InputFileData%PtfmYMod @@ -306,6 +308,7 @@ SUBROUTINE HydroDyn_Init( InitInp, u, p, x, xd, z, OtherState, y, m, Interval, I call AllocAry( InputFileData%WAMIT%PtfmCOBxt , InputFileData%NBody, "PtfmCOBxt" , ErrStat2, ErrMsg2 ); call SetErrStat( ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName ) call AllocAry( InputFileData%WAMIT%PtfmCOByt , InputFileData%NBody, "PtfmCOByt" , ErrStat2, ErrMsg2 ); call SetErrStat( ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName ) call AllocAry( InputFileData%WAMIT%NAddDOF , InputFileData%NBody, "NAddDOF" , ErrStat2, ErrMsg2 ); call SetErrStat( ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName ) + CALL AllocAry( InputFileData%WAMIT%FKMod , InputFileData%NBody, 'FKMod' , ErrStat2, ErrMsg2 ); CALL SetErrStat( ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName ) allocate( p%WAMIT( 1), stat = ErrStat2 ); if (ErrStat2 /=0) call SetErrStat( ErrID_Fatal, 'Failed to allocate array p%WAMIT.', ErrStat, ErrMsg, RoutineName ) allocate( x%WAMIT( 1), stat = ErrStat2 ); if (ErrStat2 /=0) call SetErrStat( ErrID_Fatal, 'Failed to allocate array x%WAMIT.', ErrStat, ErrMsg, RoutineName ) allocate( xd%WAMIT( 1), stat = ErrStat2 ); if (ErrStat2 /=0) call SetErrStat( ErrID_Fatal, 'Failed to allocate array xd%WAMIT.', ErrStat, ErrMsg, RoutineName ) @@ -323,6 +326,7 @@ SUBROUTINE HydroDyn_Init( InitInp, u, p, x, xd, z, OtherState, y, m, Interval, I InputFileData%WAMIT%PtfmCOBxt = InputFileData%PtfmCOBxt InputFileData%WAMIT%PtfmCOByt = InputFileData%PtfmCOByt InputFileData%WAMIT%NAddDOF = InputFileData%NAddDOF + InputFileData%WAMIT%FKMod = InputFileData%FKMod else InputFileData%WAMIT%NBody = 1 ! Each WAMIT object will only contain one of the NBody WAMIT bodies @@ -335,6 +339,7 @@ SUBROUTINE HydroDyn_Init( InitInp, u, p, x, xd, z, OtherState, y, m, Interval, I call AllocAry( InputFileData%WAMIT%PtfmCOBxt , 1, "PtfmCOBxt" , ErrStat2, ErrMsg2 ); call SetErrStat( ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName ) call AllocAry( InputFileData%WAMIT%PtfmCOByt , 1, "PtfmCOByt" , ErrStat2, ErrMsg2 ); call SetErrStat( ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName ) call AllocAry( InputFileData%WAMIT%NAddDOF , 1, "NAddDOF" , ErrStat2, ErrMsg2 ); call SetErrStat( ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName ) + CALL AllocAry( InputFileData%WAMIT%FKMod , 1, 'FKMod' , ErrStat2, ErrMsg2 ); CALL SetErrStat( ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName ) allocate( p%WAMIT( InputFileData%NBody), stat = ErrStat2 ); if (ErrStat2 /=0) call SetErrStat( ErrID_Fatal, 'Failed to allocate array p%WAMIT.', ErrStat, ErrMsg, RoutineName ) allocate( x%WAMIT( InputFileData%NBody), stat = ErrStat2 ); if (ErrStat2 /=0) call SetErrStat( ErrID_Fatal, 'Failed to allocate array x%WAMIT.', ErrStat, ErrMsg, RoutineName ) allocate( xd%WAMIT( InputFileData%NBody), stat = ErrStat2 ); if (ErrStat2 /=0) call SetErrStat( ErrID_Fatal, 'Failed to allocate array xd%WAMIT.', ErrStat, ErrMsg, RoutineName ) @@ -351,7 +356,7 @@ SUBROUTINE HydroDyn_Init( InitInp, u, p, x, xd, z, OtherState, y, m, Interval, I InputFileData%WAMIT%PtfmCOBxt (1) = InputFileData%PtfmCOBxt (1) InputFileData%WAMIT%PtfmCOByt (1) = InputFileData%PtfmCOByt (1) InputFileData%WAMIT%NAddDOF (1) = InputFileData%NAddDOF (1) - + InputFileData%WAMIT%FKMod (1) = InputFileData%FKMod (1) end if if ( ErrStat >= AbortErrLev ) then @@ -383,6 +388,7 @@ SUBROUTINE HydroDyn_Init( InitInp, u, p, x, xd, z, OtherState, y, m, Interval, I InputFileData%WAMIT%PtfmCOBxt (1) = InputFileData%PtfmCOBxt (i) InputFileData%WAMIT%PtfmCOByt (1) = InputFileData%PtfmCOByt (i) InputFileData%WAMIT%NAddDOF (1) = InputFileData%NAddDOF (i) + InputFileData%WAMIT%FKMod (1) = InputFileData%FKMod (i) CALL WAMIT_Init(InputFileData%WAMIT, m%u_WAMIT(i), p%WAMIT(i), x%WAMIT(i), xd%WAMIT(i), z%WAMIT, OtherState%WAMIT(i), & y%WAMIT(i), m%WAMIT(i), Interval, ErrStat2, ErrMsg2 ) @@ -490,15 +496,21 @@ SUBROUTINE HydroDyn_Init( InitInp, u, p, x, xd, z, OtherState, y, m, Interval, I return end if - CALL WAMIT2_Init(InputFileData%WAMIT2, p%WAMIT2(1), y%WAMIT2(1), m%WAMIT2(1), ErrStat2, ErrMsg2 ) - CALL SetErrStat(ErrStat2,ErrMsg2,ErrStat,ErrMsg,RoutineName) - IF ( ErrStat >= AbortErrLev ) THEN - CALL CleanUp() - RETURN - END IF + if (InputFileData%FKMod(1)==FKMod_none) then + ! Note that for NBodyMod=1, all bodies must have the same FKMod; checked in WAMIT_Init + CALL WAMIT2_Init(InputFileData%WAMIT2, p%WAMIT2(1), y%WAMIT2(1), m%WAMIT2(1), ErrStat2, ErrMsg2 ) + CALL SetErrStat(ErrStat2,ErrMsg2,ErrStat,ErrMsg,RoutineName) + IF ( ErrStat >= AbortErrLev ) THEN + CALL CleanUp() + RETURN + END IF + end if ! For NBodyMod > 1 and NBody > 1, set the body info and init the WAMIT2 body do i = 2, p%nWAMITObj + + if (InputFileData%FKMod(i)==FKMod_full) cycle ! Don't use second-order potential-flow if nonlinear FK + InputFileData%WAMIT2%WAMITFile = InputFileData%PotFile (i) InputFileData%WAMIT2%WAMITULEN = InputFileData%WAMITULEN (i) InputFileData%WAMIT2%PtfmRefxt (1) = InputFileData%PtfmRefxt (i) @@ -526,6 +538,22 @@ SUBROUTINE HydroDyn_Init( InitInp, u, p, x, xd, z, OtherState, y, m, Interval, I p%WAMIT2%SumQTFF = .FALSE. ENDIF + ! Nonlinear FK bodies + CALL AllocAry( InputFileData%NonlinearFK%FKMod, InputFileData%nBody, 'FKMod', ErrStat2, ErrMsg2) + CALL SetErrStat( ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName ) + InputFileData%NonlinearFK%FKMod = InputFileData%FKMod + CALL AllocAry( InputFileData%NonlinearFK%GeoFile, InputFileData%nBody, 'GeoFile', ErrStat2, ErrMsg2) + CALL SetErrStat( ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName ) + do i = 1, p%nBody + InputFileData%NonlinearFK%GeoFile(i) = InputFileData%GeoFile(i) + end do + InputFileData%NonlinearFK%nBody = InputFileData%nBody + CALL NonlinearFK_Init(InputFileData%NonlinearFK, p%NonlinearFK, m%NonlinearFK, ErrStat2, ErrMsg2) + CALL SetErrStat(ErrStat2,ErrMsg2,ErrStat,ErrMsg,RoutineName) + IF ( ErrStat >= AbortErrLev ) THEN + CALL CleanUp() + RETURN + END IF #ifdef USE_FIT ELSE IF ( InputFileData%PotMod == 2 ) THEN ! FIT ! Set up the Initialization data for FIT @@ -1408,7 +1436,7 @@ END SUBROUTINE HydroDyn_UpdateStates !---------------------------------------------------------------------------------------------------------------------------------- !> Routine for computing outputs, used in both loose and tight coupling. -SUBROUTINE HydroDyn_CalcOutput( Time, u, p, x, xd, z, OtherState, y, m, ErrStat, ErrMsg, calcMorisonHstLds ) +SUBROUTINE HydroDyn_CalcOutput( Time, u, p, x, xd, z, OtherState, y, m, ErrStat, ErrMsg, calcMorisonHstLds, calcNonlinearFKLds ) REAL(DbKi), INTENT(IN ) :: Time !< Current simulation time in seconds TYPE(HydroDyn_InputType), INTENT(INOUT) :: u !< Inputs at Time (note that this is intent out because we're copying the u%WAMITMesh into m%u_wamit%mesh) @@ -1423,6 +1451,7 @@ SUBROUTINE HydroDyn_CalcOutput( Time, u, p, x, xd, z, OtherState, y, m, ErrStat, INTEGER(IntKi), INTENT( OUT) :: ErrStat !! Error status of the operation CHARACTER(*), INTENT( OUT) :: ErrMsg !! Error message if ErrStat /= ErrID_None LOGICAL, OPTIONAL, INTENT(IN ) :: calcMorisonHstLds !< Flag to calculate the Morison hydrostatic loads (default: .true.) + LOGICAL, OPTIONAL, INTENT(IN ) :: calcNonlinearFKLds !< Flag to calculate mesh-based nonlinear FK and hydrostatic loads (default: .true.) !! Used to speed up Jacobian calculations when perturbing velocity/acceleration inputs INTEGER :: I, J ! Generic counters @@ -1443,10 +1472,14 @@ SUBROUTINE HydroDyn_CalcOutput( Time, u, p, x, xd, z, OtherState, y, m, ErrStat, REAL(ReKi) :: PtfmRefY REAL(R8Ki) :: PRPRotation(3) + REAL(ReKi) :: NLFKForce(3,p%NBody) + REAL(ReKi) :: NLFKMoment(3,p%NBody) + CHARACTER(*), PARAMETER :: RoutineName = 'HydroDyn_CalcOutput' REAL(ReKi), PARAMETER :: LrgAngle = 0.261799387799149 ! Threshold for platform roll and pitch rotation (15 deg). This is consistent with the ElastoDyn check. LOGICAL, SAVE :: FrstWarn_LrgY = .TRUE. logical :: calcMorisonHstLdsLocal + logical :: calcNonlinearFKLdsLocal ! Initialize ErrStat ErrStat = ErrID_None @@ -1457,7 +1490,11 @@ SUBROUTINE HydroDyn_CalcOutput( Time, u, p, x, xd, z, OtherState, y, m, ErrStat, else calcMorisonHstLdsLocal = .true. end if - + if (present(calcNonlinearFKLds)) then + calcNonlinearFKLdsLocal = calcNonlinearFKLds + else + calcNonlinearFKLdsLocal = .true. + end if ! Write the Hydrodyn-level output file data FROM THE LAST COMPLETED TIME STEP if the user requested module-level output ! and the current time has advanced since the last stored time step. Note that this must be done before filling y%WriteOutput @@ -1712,35 +1749,48 @@ SUBROUTINE HydroDyn_CalcOutput( Time, u, p, x, xd, z, OtherState, y, m, ErrStat, if (p%WAMIT2used) then if ( p%NBodyMod == 1 .or. p%NBody == 1 ) then - call WAMIT2_CalcOutput( Time, PtfmRefY, p%WaveField, p%WAMIT2(1), y%WAMIT2(1), m%WAMIT2(1), ErrStat2, ErrMsg2 ) - if (Failed()) return - do iBody=1,p%NBody - y%WAMITMesh%Force (:,iBody) = y%WAMITMesh%Force (:,iBody) + y%WAMIT2(1)%Mesh%Force (:,iBody) - y%WAMITMesh%Moment(:,iBody) = y%WAMITMesh%Moment(:,iBody) + y%WAMIT2(1)%Mesh%Moment(:,iBody) - end do + if (p%NonlinearFK%FKMod(1)==FKMod_none) then + call WAMIT2_CalcOutput( Time, PtfmRefY, p%WaveField, p%WAMIT2(1), y%WAMIT2(1), m%WAMIT2(1), ErrStat2, ErrMsg2 ) + if (Failed()) return + do iBody=1,p%NBody + y%WAMITMesh%Force (:,iBody) = y%WAMITMesh%Force (:,iBody) + y%WAMIT2(1)%Mesh%Force (:,iBody) + y%WAMITMesh%Moment(:,iBody) = y%WAMITMesh%Moment(:,iBody) + y%WAMIT2(1)%Mesh%Moment(:,iBody) + end do - ! Add F_Waves2 to m%F_Waves - do iBody=1,p%NBody - indxStart = p%BDOFStrt(iBody) - indxEnd = indxStart+5 - m%F_Waves(indxStart:indxEnd) = m%F_Waves(indxStart:indxEnd) + m%WAMIT2(1)%F_Waves2(6*(iBody-1)+1:6*(iBody-1)+6) - end do + ! Add F_Waves2 to m%F_Waves + do iBody=1,p%NBody + indxStart = p%BDOFStrt(iBody) + indxEnd = indxStart+5 + m%F_Waves(indxStart:indxEnd) = m%F_Waves(indxStart:indxEnd) + m%WAMIT2(1)%F_Waves2(6*(iBody-1)+1:6*(iBody-1)+6) + end do + end if else do iBody=1,p%NBody + if (p%NonlinearFK%FKMod(iBody)==FKMod_none) then + call WAMIT2_CalcOutput( Time, PtfmRefY, p%WaveField, p%WAMIT2(iBody), y%WAMIT2(iBody), m%WAMIT2(iBody), ErrStat2, ErrMsg2 ) + if (Failed()) return + y%WAMITMesh%Force (:,iBody) = y%WAMITMesh%Force (:,iBody) + y%WAMIT2(iBody)%Mesh%Force (:,1) + y%WAMITMesh%Moment(:,iBody) = y%WAMITMesh%Moment(:,iBody) + y%WAMIT2(iBody)%Mesh%Moment(:,1) - call WAMIT2_CalcOutput( Time, PtfmRefY, p%WaveField, p%WAMIT2(iBody), y%WAMIT2(iBody), m%WAMIT2(iBody), ErrStat2, ErrMsg2 ) - if (Failed()) return - y%WAMITMesh%Force (:,iBody) = y%WAMITMesh%Force (:,iBody) + y%WAMIT2(iBody)%Mesh%Force (:,1) - y%WAMITMesh%Moment(:,iBody) = y%WAMITMesh%Moment(:,iBody) + y%WAMIT2(iBody)%Mesh%Moment(:,1) - - ! Add F_Waves2 to m%F_Waves - indxStart = p%BDOFStrt(iBody) - indxEnd = indxStart+5 - m%F_Waves(indxStart:indxEnd) = m%F_Waves(indxStart:indxEnd) + m%WAMIT2(iBody)%F_Waves2 + ! Add F_Waves2 to m%F_Waves + indxStart = p%BDOFStrt(iBody) + indxEnd = indxStart+5 + m%F_Waves(indxStart:indxEnd) = m%F_Waves(indxStart:indxEnd) + m%WAMIT2(iBody)%F_Waves2 + end if end do end if end if ! p%WAMIT2used + ! Mesh-based nonlinear Froude-Krylov and hydrostatic load integration for potential-flow bodies + if (calcNonlinearFKLdsLocal) then + call NonlinearFK_CalcOutput( Time, u%WamitMesh, p%NonlinearFK, m%NonlinearFK, NLFKForce, NLFKMoment, ErrStat2, ErrMsg2 ) + if (Failed()) return + do iBody=1,p%NBody + y%WAMITMesh%Force (:,iBody) = y%WAMITMesh%Force (:,iBody) + NLFKForce(:,iBody) + y%WAMITMesh%Moment(:,iBody) = y%WAMITMesh%Moment(:,iBody) + NLFKMoment(:,iBody) + end do + end if + #ifdef USE_FIT ELSE IF ( p%PotMod ==2 ) THEN !FIT Inputs_FIT%roll = rotdisp(1) @@ -1987,6 +2037,7 @@ SUBROUTINE HD_JacobianPInput(Vars, t, u, p, x, xd, z, OtherState, y, m, ErrStat, INTEGER(IntKi) :: startingI, startingJ, bOffset, offsetI integer(IntKi) :: iVarWaveElev0, iVarHWindSpeed, iVarPLexp, iVarPropagationDir logical :: calcMorisonHstLds + logical :: calcNonlinearFKLds ErrStat = ErrID_None ErrMsg = '' @@ -2033,8 +2084,10 @@ SUBROUTINE HD_JacobianPInput(Vars, t, u, p, x, xd, z, OtherState, y, m, ErrStat, select case (Vars%u(i)%Field) case (FieldTransDisp, FieldOrientation) calcMorisonHstLds = .true. + calcNonlinearFKLds = .true. case default calcMorisonHstLds = .false. + calcNonlinearFKLds = .false. end select ! Loop through number of linearization perturbations in variable @@ -2043,13 +2096,13 @@ SUBROUTINE HD_JacobianPInput(Vars, t, u, p, x, xd, z, OtherState, y, m, ErrStat, ! Calculate positive perturbation call MV_Perturb(Vars%u(i), j, 1, m%Jac%u, m%Jac%u_perturb) call HydroDyn_VarsUnpackInput(Vars, m%Jac%u_perturb, m%u_perturb) - call HydroDyn_CalcOutput(t, m%u_perturb, p, x, xd, z, OtherState, m%y_lin, m, ErrStat2, ErrMsg2, calcMorisonHstLds); if (Failed()) return + call HydroDyn_CalcOutput(t, m%u_perturb, p, x, xd, z, OtherState, m%y_lin, m, ErrStat2, ErrMsg2, calcMorisonHstLds, calcNonlinearFKLds); if (Failed()) return call HydroDyn_VarsPackOutput(Vars, m%y_lin, m%Jac%y_pos) ! Calculate negative perturbation call MV_Perturb(Vars%u(i), j, -1, m%Jac%u, m%Jac%u_perturb) call HydroDyn_VarsUnpackInput(Vars, m%Jac%u_perturb, m%u_perturb) - call HydroDyn_CalcOutput(t, m%u_perturb, p, x, xd, z, OtherState, m%y_lin, m, ErrStat2, ErrMsg2, calcMorisonHstLds); if (Failed()) return + call HydroDyn_CalcOutput(t, m%u_perturb, p, x, xd, z, OtherState, m%y_lin, m, ErrStat2, ErrMsg2, calcMorisonHstLds, calcNonlinearFKLds); if (Failed()) return call HydroDyn_VarsPackOutput(Vars, m%y_lin, m%Jac%y_neg) ! Calculate column index diff --git a/modules/hydrodyn/src/HydroDyn.txt b/modules/hydrodyn/src/HydroDyn.txt index 647e5fa2f9..e51dcc001c 100644 --- a/modules/hydrodyn/src/HydroDyn.txt +++ b/modules/hydrodyn/src/HydroDyn.txt @@ -20,6 +20,7 @@ usefrom SS_Excitation.txt usefrom WAMIT.txt usefrom WAMIT2.txt usefrom Morison.txt +usefrom NonlinearFK.txt usefrom SeaSt_WaveField.txt param HydroDyn/HydroDyn unused INTEGER MaxHDOutputs - 510 - "The maximum number of output channels supported by this module" - @@ -55,9 +56,12 @@ typedef ^ ^ R8Ki typedef ^ ^ ReKi PtfmCOBxt {:} - - "" - typedef ^ ^ ReKi PtfmCOByt {:} - - "" - typedef ^ ^ INTEGER NAddDOF {:} - - "Number of additional generalized degrees of freedom" - +typedef ^ ^ INTEGER FKMod {:} - - "Mesh-based nonlinear Froude-Krylov and hydrostatic model (switch)" - +typedef ^ ^ CHARACTER(1024) GeoFile {:} - - "The name of the root potential flow body geometry file" - typedef ^ ^ WAMIT_InitInputType WAMIT - - - "Initialization data for WAMIT module" - typedef ^ ^ WAMIT2_InitInputType WAMIT2 - - - "Initialization data for WAMIT2 module" - typedef ^ ^ Morison_InitInputType Morison - - - "Initialization data for Morison module" - +typedef ^ ^ NonlinearFK_InitInputType NonlinearFK - - - "Initialization data for the nonlinear FK module" - typedef ^ ^ LOGICAL Echo - - - "Echo the input files to a file with the same name as the input but with a .echo extension [T/F]" - typedef ^ ^ INTEGER PotMod - - - "1 if using WAMIT model, 0 if no potential flow model, or 2 if FIT model" - typedef ^ ^ INTEGER NUserOutputs - - - "Number of Hydrodyn-level requested output channels" - @@ -135,6 +139,7 @@ typedef ^ ^ WAMIT_Param typedef ^ ^ WAMIT2_ParameterType WAMIT2 {:} - - "Parameter data for the WAMIT2 module" - typedef ^ ^ LOGICAL WAMIT2used - .FALSE. - "Indicates when WAMIT2 is used. Shortcuts some calculations" - typedef ^ ^ Morison_ParameterType Morison - - - "Parameter data for the Morison module" - +typedef ^ ^ NonlinearFK_ParameterType NonlinearFK - - - "Parameter data for the nonlinear FK module" - typedef ^ ^ INTEGER PotMod - - - "1 if using WAMIT model, 0 if no potential flow model, or 2 if FIT model" - typedef ^ ^ INTEGER NBody - - - "[>=1; only used when PotMod=1. If NBodyMod=1, the WAMIT data contains a vector of size 6*NBody x 1 and matrices of size 6*NBody x 6*NBody; if NBodyMod>1, there are NBody sets of WAMIT data each with a vector of size 6 x 1 and matrices of size 6 x 6]" - typedef ^ ^ INTEGER NBodyMod - - - "Body coupling model {1: include coupling terms between each body and NBody in HydroDyn equals NBODY in WAMIT, 2: neglect coupling terms between each body and NBODY=1 with XBODY=0 in WAMIT, 3: Neglect coupling terms between each body and NBODY=1 with XBODY=/0 in WAMIT} (switch) [only used when PotMod=1]" - @@ -204,3 +209,4 @@ typedef ^ ^ WAMIT_MiscV typedef ^ ^ WAMIT2_MiscVarType WAMIT2 {:} - - "misc var information from the WAMIT2 module" - typedef ^ ^ Morison_MiscVarType Morison - - - "misc var information from the Morison module" - typedef ^ ^ WAMIT_InputType u_WAMIT {:} - - "WAMIT module inputs" - +typedef ^ ^ NonlinearFK_MiscVarType NonlinearFK - - - "misc var information from the nonlinear FK module" - \ No newline at end of file diff --git a/modules/hydrodyn/src/HydroDyn_Input.f90 b/modules/hydrodyn/src/HydroDyn_Input.f90 index d46b2d3ef8..129c4a2b0e 100644 --- a/modules/hydrodyn/src/HydroDyn_Input.f90 +++ b/modules/hydrodyn/src/HydroDyn_Input.f90 @@ -208,6 +208,8 @@ SUBROUTINE HydroDyn_ParseInput( InputFileName, OutRootName, FileInfo_In, InputFi CALL AllocAry( InputFileData%PtfmCOBxt , InputFileData%NBody, 'PtfmCOBxt' , ErrStat2, ErrMsg2); if (Failed()) return; CALL AllocAry( InputFileData%PtfmCOByt , InputFileData%NBody, 'PtfmCOByt' , ErrStat2, ErrMsg2); if (Failed()) return; CALL AllocAry( InputFileData%NAddDOF , InputFileData%NBody, 'NAddDOF' , ErrStat2, ErrMsg2); if (Failed()) return; + CALL AllocAry( InputFileData%FKMod , InputFileData%NBody, 'FKMod' , ErrStat2, ErrMsg2); if (Failed()) return; + CALL AllocAry( InputFileData%GeoFile , InputFileData%NBody, 'GeoFile' , ErrStat2, ErrMsg2); if (Failed()) return; ! PotFile - Root name of Potential flow data files (Could be WAMIT files or the FIT input file) call ParseAry( FileInfo_In, CurLine, 'PotFile', InputFileData%PotFile, InputFileData%nWAMITObj, ErrStat2, ErrMsg2, UnEc ) @@ -249,6 +251,14 @@ SUBROUTINE HydroDyn_ParseInput( InputFileName, OutRootName, FileInfo_In, InputFi call ParseAry( FileInfo_In, CurLine, 'NAddDOF', InputFileData%NAddDOF, InputFileData%NBody, ErrStat2, ErrMsg2, UnEc ) if (Failed()) return; + ! FKMod - Mesh-based nonlinear Froude-Krylov and hydrostatic model (switch) + call ParseAry( FileInfo_In, CurLine, 'FKMod', InputFileData%FKMod, InputFileData%NBody, ErrStat2, ErrMsg2, UnEc ) + if (Failed()) return; + + ! GeoFile - Root name of Potential flow body geometry file + call ParseAry( FileInfo_In, CurLine, 'GeoFile', InputFileData%GeoFile, InputFileData%NBody, ErrStat2, ErrMsg2, UnEc ) + if (Failed()) return; + !------------------------------------------------------------------------------------------------- ! Data section for 2nd order WAMIT forces !------------------------------------------------------------------------------------------------- @@ -1445,7 +1455,7 @@ SUBROUTINE HydroDynInput_ProcessInitData( InitInp, Interval, InputFileData, ErrS IF ( InputFileData%PotMod > 0 ) THEN do i = 1,InputFileData%nWAMITObj - IF ( LEN_TRIM( InputFileData%PotFile(i) ) == 0 ) THEN + IF ( LEN_TRIM( InputFileData%PotFile(i) ) == 0 ) THEN CALL SetErrStat( ErrID_Fatal,'PotFile must not be an empty string.',ErrStat,ErrMsg,RoutineName) RETURN END IF @@ -1553,6 +1563,33 @@ SUBROUTINE HydroDynInput_ProcessInitData( InitInp, Interval, InputFileData, ErrS RETURN END IF + IF ( InputFileData%PotMod == 1 ) THEN + do i = 1,InputFileData%NBody + IF ( InputFileData%FKMod(i) /= FKMod_none .and. InputFileData%FKMod(i) /= FKMod_full )THEN + CALL SetErrStat( ErrID_Fatal,'FKMod must be '//trim(num2lstr(FKMod_none))//' or '//trim(num2lstr(FKMod_full))//' for all WAMIT bodies.',ErrStat,ErrMsg,RoutineName) + RETURN + END IF + IF ( InputFileData%FKMod(i) == FKMod_full .and. InputFileData%hasAddDOF ) THEN + CALL SetErrStat( ErrID_Fatal,'FKMod = '//trim(num2lstr(FKMod_full))//' is incompatible with NAddDOF>0.',ErrStat,ErrMsg,RoutineName) + RETURN + END IF + IF ( InputFileData%NBodyMod == 1 .and. (InputFileData%FKMod(i)/=InputFileData%FKMod(1)) ) THEN + CALL SetErrStat( ErrID_Fatal,'When NBodyMod = 1, FKMod should be the same for all bodies.',ErrStat,ErrMsg,RoutineName) + RETURN + END IF + end do + do i = 1,InputFileData%NBody + IF ( InputFileData%FKMod(i)==FKMod_full .and. LEN_TRIM( InputFileData%GeoFile(i) ) == 0 ) THEN + CALL SetErrStat( ErrID_Fatal,'GeoFile must not be an empty string unless FKMod = '//trim(num2lstr(FKMod_none))//'.',ErrStat,ErrMsg,RoutineName) + RETURN + END IF + IF ( PathIsRelative( InputFileData%GeoFile(i) ) ) THEN + CALL GetPath( TRIM(InitInp%InputFile), TmpPath ) + InputFileData%GeoFile(i) = TRIM(TmpPath)//TRIM(InputFileData%GeoFile(i)) + END IF + end do + END IF + ! RdtnTMax - Analysis time for wave radiation kernel calculations ! NOTE: Use RdtnTMax = 0.0 to eliminate wave radiation damping diff --git a/modules/hydrodyn/src/HydroDyn_Types.f90 b/modules/hydrodyn/src/HydroDyn_Types.f90 index c1b96adc18..7b3af1da27 100644 --- a/modules/hydrodyn/src/HydroDyn_Types.f90 +++ b/modules/hydrodyn/src/HydroDyn_Types.f90 @@ -68,9 +68,12 @@ MODULE HydroDyn_Types REAL(ReKi) , DIMENSION(:), ALLOCATABLE :: PtfmCOBxt !< [-] REAL(ReKi) , DIMENSION(:), ALLOCATABLE :: PtfmCOByt !< [-] INTEGER(IntKi) , DIMENSION(:), ALLOCATABLE :: NAddDOF !< Number of additional generalized degrees of freedom [-] + INTEGER(IntKi) , DIMENSION(:), ALLOCATABLE :: FKMod !< Mesh-based nonlinear Froude-Krylov and hydrostatic model (switch) [-] + CHARACTER(1024) , DIMENSION(:), ALLOCATABLE :: GeoFile !< The name of the root potential flow body geometry file [-] TYPE(WAMIT_InitInputType) :: WAMIT !< Initialization data for WAMIT module [-] TYPE(WAMIT2_InitInputType) :: WAMIT2 !< Initialization data for WAMIT2 module [-] TYPE(Morison_InitInputType) :: Morison !< Initialization data for Morison module [-] + TYPE(NonlinearFK_InitInputType) :: NonlinearFK !< Initialization data for the nonlinear FK module [-] LOGICAL :: Echo = .false. !< Echo the input files to a file with the same name as the input but with a .echo extension [T/F] [-] INTEGER(IntKi) :: PotMod = 0_IntKi !< 1 if using WAMIT model, 0 if no potential flow model, or 2 if FIT model [-] INTEGER(IntKi) :: NUserOutputs = 0_IntKi !< Number of Hydrodyn-level requested output channels [-] @@ -152,6 +155,7 @@ MODULE HydroDyn_Types TYPE(WAMIT2_ParameterType) , DIMENSION(:), ALLOCATABLE :: WAMIT2 !< Parameter data for the WAMIT2 module [-] LOGICAL :: WAMIT2used = .FALSE. !< Indicates when WAMIT2 is used. Shortcuts some calculations [-] TYPE(Morison_ParameterType) :: Morison !< Parameter data for the Morison module [-] + TYPE(NonlinearFK_ParameterType) :: NonlinearFK !< Parameter data for the nonlinear FK module [-] INTEGER(IntKi) :: PotMod = 0_IntKi !< 1 if using WAMIT model, 0 if no potential flow model, or 2 if FIT model [-] INTEGER(IntKi) :: NBody = 0_IntKi !< [>=1; only used when PotMod=1. If NBodyMod=1, the WAMIT data contains a vector of size 6*NBody x 1 and matrices of size 6*NBody x 6*NBody; if NBodyMod>1, there are NBody sets of WAMIT data each with a vector of size 6 x 1 and matrices of size 6 x 6] [-] INTEGER(IntKi) :: NBodyMod = 0_IntKi !< Body coupling model {1: include coupling terms between each body and NBody in HydroDyn equals NBODY in WAMIT, 2: neglect coupling terms between each body and NBODY=1 with XBODY=0 in WAMIT, 3: Neglect coupling terms between each body and NBODY=1 with XBODY=/0 in WAMIT} (switch) [only used when PotMod=1] [-] @@ -220,6 +224,7 @@ MODULE HydroDyn_Types TYPE(WAMIT2_MiscVarType) , DIMENSION(:), ALLOCATABLE :: WAMIT2 !< misc var information from the WAMIT2 module [-] TYPE(Morison_MiscVarType) :: Morison !< misc var information from the Morison module [-] TYPE(WAMIT_InputType) , DIMENSION(:), ALLOCATABLE :: u_WAMIT !< WAMIT module inputs [-] + TYPE(NonlinearFK_MiscVarType) :: NonlinearFK !< misc var information from the nonlinear FK module [-] END TYPE HydroDyn_MiscVarType ! ======================= integer(IntKi), public, parameter :: HydroDyn_x_WAMIT_SS_Rdtn_x = 1 ! HydroDyn%WAMIT(DL%i1)%SS_Rdtn%x @@ -432,6 +437,30 @@ subroutine HydroDyn_CopyInputFile(SrcInputFileData, DstInputFileData, CtrlCode, end if DstInputFileData%NAddDOF = SrcInputFileData%NAddDOF end if + if (allocated(SrcInputFileData%FKMod)) then + LB(1:1) = lbound(SrcInputFileData%FKMod) + UB(1:1) = ubound(SrcInputFileData%FKMod) + if (.not. allocated(DstInputFileData%FKMod)) then + allocate(DstInputFileData%FKMod(LB(1):UB(1)), stat=ErrStat2) + if (ErrStat2 /= 0) then + call SetErrStat(ErrID_Fatal, 'Error allocating DstInputFileData%FKMod.', ErrStat, ErrMsg, RoutineName) + return + end if + end if + DstInputFileData%FKMod = SrcInputFileData%FKMod + end if + if (allocated(SrcInputFileData%GeoFile)) then + LB(1:1) = lbound(SrcInputFileData%GeoFile) + UB(1:1) = ubound(SrcInputFileData%GeoFile) + if (.not. allocated(DstInputFileData%GeoFile)) then + allocate(DstInputFileData%GeoFile(LB(1):UB(1)), stat=ErrStat2) + if (ErrStat2 /= 0) then + call SetErrStat(ErrID_Fatal, 'Error allocating DstInputFileData%GeoFile.', ErrStat, ErrMsg, RoutineName) + return + end if + end if + DstInputFileData%GeoFile = SrcInputFileData%GeoFile + end if call WAMIT_CopyInitInput(SrcInputFileData%WAMIT, DstInputFileData%WAMIT, CtrlCode, ErrStat2, ErrMsg2) call SetErrStat(ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName) if (ErrStat >= AbortErrLev) return @@ -441,6 +470,9 @@ subroutine HydroDyn_CopyInputFile(SrcInputFileData, DstInputFileData, CtrlCode, call Morison_CopyInitInput(SrcInputFileData%Morison, DstInputFileData%Morison, CtrlCode, ErrStat2, ErrMsg2) call SetErrStat(ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName) if (ErrStat >= AbortErrLev) return + call NonlinearFK_CopyInitInput(SrcInputFileData%NonlinearFK, DstInputFileData%NonlinearFK, CtrlCode, ErrStat2, ErrMsg2) + call SetErrStat(ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName) + if (ErrStat >= AbortErrLev) return DstInputFileData%Echo = SrcInputFileData%Echo DstInputFileData%PotMod = SrcInputFileData%PotMod DstInputFileData%NUserOutputs = SrcInputFileData%NUserOutputs @@ -531,12 +563,20 @@ subroutine HydroDyn_DestroyInputFile(InputFileData, ErrStat, ErrMsg) if (allocated(InputFileData%NAddDOF)) then deallocate(InputFileData%NAddDOF) end if + if (allocated(InputFileData%FKMod)) then + deallocate(InputFileData%FKMod) + end if + if (allocated(InputFileData%GeoFile)) then + deallocate(InputFileData%GeoFile) + end if call WAMIT_DestroyInitInput(InputFileData%WAMIT, ErrStat2, ErrMsg2) call SetErrStat(ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName) call WAMIT2_DestroyInitInput(InputFileData%WAMIT2, ErrStat2, ErrMsg2) call SetErrStat(ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName) call Morison_DestroyInitInput(InputFileData%Morison, ErrStat2, ErrMsg2) call SetErrStat(ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName) + call NonlinearFK_DestroyInitInput(InputFileData%NonlinearFK, ErrStat2, ErrMsg2) + call SetErrStat(ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName) if (allocated(InputFileData%UserOutputs)) then deallocate(InputFileData%UserOutputs) end if @@ -571,9 +611,12 @@ subroutine HydroDyn_PackInputFile(RF, Indata) call RegPackAlloc(RF, InData%PtfmCOBxt) call RegPackAlloc(RF, InData%PtfmCOByt) call RegPackAlloc(RF, InData%NAddDOF) + call RegPackAlloc(RF, InData%FKMod) + call RegPackAlloc(RF, InData%GeoFile) call WAMIT_PackInitInput(RF, InData%WAMIT) call WAMIT2_PackInitInput(RF, InData%WAMIT2) call Morison_PackInitInput(RF, InData%Morison) + call NonlinearFK_PackInitInput(RF, InData%NonlinearFK) call RegPack(RF, InData%Echo) call RegPack(RF, InData%PotMod) call RegPack(RF, InData%NUserOutputs) @@ -621,9 +664,12 @@ subroutine HydroDyn_UnPackInputFile(RF, OutData) call RegUnpackAlloc(RF, OutData%PtfmCOBxt); if (RegCheckErr(RF, RoutineName)) return call RegUnpackAlloc(RF, OutData%PtfmCOByt); if (RegCheckErr(RF, RoutineName)) return call RegUnpackAlloc(RF, OutData%NAddDOF); if (RegCheckErr(RF, RoutineName)) return + call RegUnpackAlloc(RF, OutData%FKMod); if (RegCheckErr(RF, RoutineName)) return + call RegUnpackAlloc(RF, OutData%GeoFile); if (RegCheckErr(RF, RoutineName)) return call WAMIT_UnpackInitInput(RF, OutData%WAMIT) ! WAMIT call WAMIT2_UnpackInitInput(RF, OutData%WAMIT2) ! WAMIT2 call Morison_UnpackInitInput(RF, OutData%Morison) ! Morison + call NonlinearFK_UnpackInitInput(RF, OutData%NonlinearFK) ! NonlinearFK call RegUnpack(RF, OutData%Echo); if (RegCheckErr(RF, RoutineName)) return call RegUnpack(RF, OutData%PotMod); if (RegCheckErr(RF, RoutineName)) return call RegUnpack(RF, OutData%NUserOutputs); if (RegCheckErr(RF, RoutineName)) return @@ -1336,6 +1382,9 @@ subroutine HydroDyn_CopyParam(SrcParamData, DstParamData, CtrlCode, ErrStat, Err call Morison_CopyParam(SrcParamData%Morison, DstParamData%Morison, CtrlCode, ErrStat2, ErrMsg2) call SetErrStat(ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName) if (ErrStat >= AbortErrLev) return + call NonlinearFK_CopyParam(SrcParamData%NonlinearFK, DstParamData%NonlinearFK, CtrlCode, ErrStat2, ErrMsg2) + call SetErrStat(ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName) + if (ErrStat >= AbortErrLev) return DstParamData%PotMod = SrcParamData%PotMod DstParamData%NBody = SrcParamData%NBody DstParamData%NBodyMod = SrcParamData%NBodyMod @@ -1478,6 +1527,8 @@ subroutine HydroDyn_DestroyParam(ParamData, ErrStat, ErrMsg) end if call Morison_DestroyParam(ParamData%Morison, ErrStat2, ErrMsg2) call SetErrStat(ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName) + call NonlinearFK_DestroyParam(ParamData%NonlinearFK, ErrStat2, ErrMsg2) + call SetErrStat(ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName) if (allocated(ParamData%NAddDOF)) then deallocate(ParamData%NAddDOF) end if @@ -1538,6 +1589,7 @@ subroutine HydroDyn_PackParam(RF, Indata) end if call RegPack(RF, InData%WAMIT2used) call Morison_PackParam(RF, InData%Morison) + call NonlinearFK_PackParam(RF, InData%NonlinearFK) call RegPack(RF, InData%PotMod) call RegPack(RF, InData%NBody) call RegPack(RF, InData%NBodyMod) @@ -1624,6 +1676,7 @@ subroutine HydroDyn_UnPackParam(RF, OutData) end if call RegUnpack(RF, OutData%WAMIT2used); if (RegCheckErr(RF, RoutineName)) return call Morison_UnpackParam(RF, OutData%Morison) ! Morison + call NonlinearFK_UnpackParam(RF, OutData%NonlinearFK) ! NonlinearFK call RegUnpack(RF, OutData%PotMod); if (RegCheckErr(RF, RoutineName)) return call RegUnpack(RF, OutData%NBody); if (RegCheckErr(RF, RoutineName)) return call RegUnpack(RF, OutData%NBodyMod); if (RegCheckErr(RF, RoutineName)) return @@ -2101,6 +2154,9 @@ subroutine HydroDyn_CopyMisc(SrcMiscData, DstMiscData, CtrlCode, ErrStat, ErrMsg if (ErrStat >= AbortErrLev) return end do end if + call NonlinearFK_CopyMisc(SrcMiscData%NonlinearFK, DstMiscData%NonlinearFK, CtrlCode, ErrStat2, ErrMsg2) + call SetErrStat(ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName) + if (ErrStat >= AbortErrLev) return end subroutine subroutine HydroDyn_DestroyMisc(MiscData, ErrStat, ErrMsg) @@ -2163,6 +2219,8 @@ subroutine HydroDyn_DestroyMisc(MiscData, ErrStat, ErrMsg) end do deallocate(MiscData%u_WAMIT) end if + call NonlinearFK_DestroyMisc(MiscData%NonlinearFK, ErrStat2, ErrMsg2) + call SetErrStat(ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName) end subroutine subroutine HydroDyn_PackMisc(RF, Indata) @@ -2212,6 +2270,7 @@ subroutine HydroDyn_PackMisc(RF, Indata) call WAMIT_PackInput(RF, InData%u_WAMIT(i1)) end do end if + call NonlinearFK_PackMisc(RF, InData%NonlinearFK) if (RegCheckErr(RF, RoutineName)) return end subroutine @@ -2276,6 +2335,7 @@ subroutine HydroDyn_UnPackMisc(RF, OutData) call WAMIT_UnpackInput(RF, OutData%u_WAMIT(i1)) ! u_WAMIT end do end if + call NonlinearFK_UnpackMisc(RF, OutData%NonlinearFK) ! NonlinearFK end subroutine subroutine HydroDyn_Input_ExtrapInterp(u, t, u_out, t_out, ErrStat, ErrMsg) diff --git a/modules/hydrodyn/src/NonlinearFK.f90 b/modules/hydrodyn/src/NonlinearFK.f90 new file mode 100644 index 0000000000..fa604858a8 --- /dev/null +++ b/modules/hydrodyn/src/NonlinearFK.f90 @@ -0,0 +1,570 @@ +module NonlinearFK + + USE NonlinearFK_Types + USE SeaSt_WaveField + + implicit none + + ! Quadrature coordinates (barycentric) and weights for 4-point rule + real(ReKi), parameter :: Qdrt_L(3,4) = reshape([ & + 1.0_ReKi/3.0_ReKi, 1.0_ReKi/3.0_ReKi, 1.0_ReKi/3.0_ReKi, & + 3.0_ReKi/5.0_ReKi, 1.0_ReKi/5.0_ReKi, 1.0_ReKi/5.0_ReKi, & + 1.0_ReKi/5.0_ReKi, 3.0_ReKi/5.0_ReKi, 1.0_ReKi/5.0_ReKi, & + 1.0_ReKi/5.0_ReKi, 1.0_ReKi/5.0_ReKi, 3.0_ReKi/5.0_ReKi & + ], [3, 4]) + + real(ReKi), parameter :: Qdrt_w(4) = [ & + -27.0_ReKi/48.0_ReKi, & + 25.0_ReKi/48.0_ReKi, & + 25.0_ReKi/48.0_ReKi, & + 25.0_ReKi/48.0_ReKi ] + + ! Number of Quadrature Points + integer(IntKi), parameter :: nQdrt = 4 + + PUBLIC :: NonlinearFK_Init + PUBLIC :: NonlinearFK_CalcOutput + +contains + +subroutine NonlinearFK_Init(InitInp, p, m, ErrStat, ErrMsg) + type(NonlinearFK_InitInputType), intent(in ) :: InitInp + type(NonlinearFK_ParameterType), intent(inout) :: p + type(NonlinearFK_MiscVarType), intent(inout) :: m + integer(IntKi), intent( out) :: ErrStat !< Error status of the operation + character(*), intent( out) :: ErrMsg !< Error message if ErrStat /= ErrID_None + + INTEGER(IntKi) :: i + type(STLGeomType) :: STLGeom + INTEGER(IntKi) :: ErrStat2 + CHARACTER(ErrMsgLen) :: ErrMsg2 + Character(*), parameter :: RoutineName = 'NonlinearFK_Init' + + ErrStat = ErrID_None + ErrMsg = '' + + p%WaveField => InitInp%WaveField + p%nBody = InitInp%nBody + + CALL AllocAry( p%FKMod, p%nBody, 'FKMod', ErrStat2, ErrMsg2); if (Failed()) return + p%FKMod = InitInp%FKMod + + allocate( p%Bodies(p%nBody) , stat=ErrStat2) + if (ErrStat2 /= 0) then + ErrStat = ErrID_Fatal + ErrMsg = trim(RoutineName)//": Failed to allocate memory for p%Bodies." + return + end if + allocate( m%Bodies(p%nBody) , stat=ErrStat2) + if (ErrStat2 /= 0) then + ErrStat = ErrID_Fatal + ErrMsg = trim(RoutineName)//": Failed to allocate memory for m%Bodies." + return + end if + + do i=1,p%nBody + if (p%FKMod(i) /= FKMod_none) then + call read_ascii_stl(InitInp%GeoFile(i), STLGeom, ErrStat2, ErrMsg2); if (Failed()) return + call Body_Init(STLGeom, p%Bodies(i), m%Bodies(i), ErrStat2, ErrMsg2); if (Failed()) return + end if + end do + + call cleanup() + +contains + subroutine cleanup() + if (allocated(STLGeom%tris)) deallocate(STLGeom%tris) + end subroutine cleanup + + logical function Failed() + call SetErrStat(ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName) + Failed = ErrStat >= AbortErrLev + if (Failed) call cleanup() + end function Failed +end subroutine NonlinearFK_Init + +subroutine read_ascii_stl(filename, STLGeom, ErrStat, ErrMsg) + character(len=*), intent(in ) :: filename + type(STLGeomType), intent(inout) :: STLGeom + integer(IntKi), intent( out) :: ErrStat !< Error status of the operation + character(*), intent( out) :: ErrMsg !< Error message if ErrStat /= ErrID_None + + integer(IntKi) :: n_tris + integer(IntKi) :: io_status, iu, i + character(len=256) :: line + character(len=32) :: dummy1, dummy2 + character(*), parameter :: RoutineName = "read_ascii_stl" + + ! Initialize variables + ErrStat = ErrID_None + ErrMsg = "" + + if (allocated(STLGeom%tris)) deallocate(STLGeom%tris) + + ! 1. Open the file + open(newunit=iu, file=filename, status='old', action='read', iostat=io_status) + if (io_status /= 0) then + ErrStat = ErrID_Fatal + ErrMsg = trim(RoutineName)//": Could not open STL file: "//trim(filename)//". " + return + end if + + ! 2. First Pass: Count the number of triangles + n_tris = 0 + do + read(iu, '(A)', iostat=io_status) line + if (io_status /= 0) exit ! End of file + + line = adjustl(line) + if (index(line, 'facet normal') == 1) then + n_tris = n_tris + 1 + end if + end do + + if (n_tris == 0_IntKi) then + ErrStat = ErrID_Fatal + ErrMsg = trim(RoutineName)//": stl file "//trim(filename)//" is invalid or contains no triangles. " + close(iu) + return + end if + + ! 3. Allocate the triangle array + allocate(STLGeom%tris(n_tris), stat=io_status) + if (io_status /= 0) then + ErrStat = ErrID_Fatal + ErrMsg = trim(RoutineName)//": Failed to allocate memory for mesh." + close(iu) + return + end if + + ! 4. Rewind for the Second Pass + rewind(iu) + + ! 5. Second Pass: Read the data + i = 1 + do + read(iu, '(A)', iostat=io_status) line + if (io_status /= 0) exit + + line = adjustl(line) + if (index(line, 'facet normal') == 1) then + ! Read the normal vector + read(line, *, iostat=io_status) dummy1, dummy2, STLGeom%tris(i)%n(1), STLGeom%tris(i)%n(2), STLGeom%tris(i)%n(3) + if (io_status /= 0) exit + + ! Skip the 'outer loop' line + read(iu, *, iostat=io_status) dummy1, dummy2 + if (io_status /= 0) exit + + ! Read the 3 vertices (Format: 'vertex X Y Z') + ! v(1:3, 1) means [x,y,z] of vertex 1 + read(iu, *, iostat=io_status) dummy1, STLGeom%tris(i)%v(1,1), STLGeom%tris(i)%v(2,1), STLGeom%tris(i)%v(3,1); if (io_status /= 0) exit + read(iu, *, iostat=io_status) dummy1, STLGeom%tris(i)%v(1,2), STLGeom%tris(i)%v(2,2), STLGeom%tris(i)%v(3,2); if (io_status /= 0) exit + read(iu, *, iostat=io_status) dummy1, STLGeom%tris(i)%v(1,3), STLGeom%tris(i)%v(2,3), STLGeom%tris(i)%v(3,3); if (io_status /= 0) exit + + ! Skip 'endloop' and 'endfacet' (we just let the outer loop read past them) + i = i + 1 + end if + end do + + if (i<=n_tris) then + ErrStat = ErrID_Fatal + ErrMsg = trim(RoutineName)//": failed to read patch "//trim(num2lstr(i))//" from stl file "//trim(filename)//". " + close(iu) + return + end if + + STLGeom%n_tris = n_tris + + close(iu) + +end subroutine read_ascii_stl + +subroutine Body_Init(STLGeom,body,m_body,ErrStat,ErrMsg) + type(STLGeomType), intent(in ) :: STLGeom + type(BodyType), intent(inout) :: body + type(BodyMiscType), intent(inout) :: m_body + integer(IntKi), intent( out) :: ErrStat !< Error status of the operation + character(*), intent( out) :: ErrMsg !< Error message if ErrStat /= ErrID_None + + integer(IntKi) :: i, iQdrt + real(ReKi) :: int_x(3),int_y(3),int_z(3),vol(3) + real(ReKi) :: q_pos(3) + real(ReKi) :: An(3) + + ! Local variables + integer(IntKi) :: iTri, iCorner, iUnique + integer(IntKi) :: current_idx + real(ReKi) :: v_raw(3) + real(ReKi) :: dist2 + logical :: found_match + + ! Tolerance for merging vertices (squared to avoid sqrt() calls) + ! 1.0d-8 is usually safe for CAD/STL output in meters. + real(ReKi), parameter :: tol = 1.0E-4_ReKi + real(ReKi), parameter :: tol2 = tol * tol + + character(*), parameter :: RoutineName = "Body_Init" + + integer(IntKi) :: ErrStat2 + + ! Initialize variables + ErrStat = ErrID_None + ErrMsg = "" + + ! 1. Pre-allocate maximum possible sizes + ! Worst case: every triangle is completely disconnected + allocate(body%nodes(3, STLGeom%n_tris * 3), stat=ErrStat2) + if (ErrStat2 /= 0) then + ErrStat = ErrID_Fatal + ErrMsg = trim(RoutineName)//": Failed to allocate body%nodes." + return + end if + allocate(body%tris(3, STLGeom%n_tris), stat=ErrStat2) + if (ErrStat2 /= 0) then + ErrStat = ErrID_Fatal + ErrMsg = trim(RoutineName)//": Failed to allocate body%tris." + return + end if + + body%n_nodes = 0_IntKi + body%n_tris = STLGeom%n_tris + + ! 2. The Deduplication Loop + do iTri = 1, STLGeom%n_tris + + ! Loop over the 3 corners of the raw triangle + do iCorner = 1, 3 + v_raw(:) = STLGeom%tris(iTri)%v(:, iCorner) + + found_match = .false. + + ! Check against already accepted unique nodes + do iUnique = 1, body%n_nodes + ! Calculate squared distance + dist2 = (body%nodes(1, iUnique) - v_raw(1))**2 + & + (body%nodes(2, iUnique) - v_raw(2))**2 + & + (body%nodes(3, iUnique) - v_raw(3))**2 + + if (dist2 < tol2) then + ! Match found! Use this existing index. + current_idx = iUnique + found_match = .true. + exit + end if + end do + + ! If it is a completely new vertex, add it to the list + if (.not. found_match) then + body%n_nodes = body%n_nodes + 1 + body%nodes(:, body%n_nodes) = v_raw(:) + current_idx = body%n_nodes + end if + + ! Assign the index to the triangle connectivity array + body%tris(iCorner, iTri) = current_idx + + end do + end do + + ! 3. Trim the nodes array to the actual number of unique nodes + ! (Fortran 2003+ allows reallocation on assignment, but doing it explicitly is safer) + if (body%n_nodes < STLGeom%n_tris * 3) then + block + real(ReKi), allocatable :: temp_nodes(:,:) + allocate(temp_nodes(3, body%n_nodes),stat=ErrStat2) + if (ErrStat2 /= 0) then + ErrStat = ErrID_Fatal + ErrMsg = trim(RoutineName)//": Failed to allocate body%tris." + return + end if + temp_nodes(:, :) = body%nodes(:, 1:body%n_nodes) + deallocate(body%nodes) + call move_alloc(from=temp_nodes, to=body%nodes) + end block + end if + + ! Allocate MiscVars for this body + allocate(m_body%Nodes(3,body%n_nodes),stat=ErrStat2) + if (ErrStat2 /= 0) then + ErrStat = ErrID_Fatal + ErrMsg = trim(RoutineName)//": Failed to allocate m%body%Nodes." + return + end if + allocate(m_body%WaveElev(body%n_nodes),stat=ErrStat2) + if (ErrStat2 /= 0) then + ErrStat = ErrID_Fatal + ErrMsg = trim(RoutineName)//": Failed to allocate m%body%WaveElev." + return + end if + m_body%Nodes = 0.0_ReKi + m_body%WaveElev = 0.0_ReKi + + ! Compute and check total volume + int_x = 0.0_ReKi + int_y = 0.0_ReKi + int_z = 0.0_ReKi + do i = 1,body%n_tris + associate( v1 => body%Nodes(:,body%tris(1,i)), & + v2 => body%Nodes(:,body%tris(2,i)), & + v3 => body%Nodes(:,body%tris(3,i)) ) + An = 0.5_ReKi * cross_product(v2-v1, v3-v2) + do iQdrt = 1,nQdrt + q_pos = Qdrt_L(1,iQdrt)*v1 + & + Qdrt_L(2,iQdrt)*v2 + & + Qdrt_L(3,iQdrt)*v3 + int_x = int_x + q_pos(1) * Qdrt_W(iQdrt) * An + int_y = int_y + q_pos(2) * Qdrt_W(iQdrt) * An + int_z = int_z + q_pos(3) * Qdrt_W(iQdrt) * An + end do + end associate + end do + vol(1) = int_x(1) + vol(2) = int_y(2) + vol(3) = int_z(3) + body%volume = sum(vol)/3.0_ReKi + ! print *,body%volume, vol + ! To-Do: check that vol(1), vol(2), and vol(3) are close. Print to summary file. + + if (body%volume<=0.0_ReKi) then + ErrStat = ErrID_Fatal + ErrMsg = " Nonlinear F-K body has negative volume. Check normal direction of stl file. " + end if + +end subroutine Body_Init + +subroutine computeBodyFK(bodyIdx,Time,p,m,Position,Orientation,Force,Moment,ErrStat,ErrMsg) + + integer(IntKi), intent(in ) :: bodyIdx + real(R8Ki), intent(in ) :: Time + type(NonlinearFK_ParameterType), intent(in ) :: p + type(NonlinearFK_MiscVarType), intent(inout) :: m + real(ReKi), intent(in ) :: Position(3) + real(R8Ki), intent(in ) :: Orientation(3,3) + real(ReKi), intent( out) :: Force(3) + real(ReKi), intent( out) :: Moment(3) + integer(IntKi), intent( out) :: ErrStat !< Error status of the operation + character(*), intent( out) :: ErrMsg !< Error message if ErrStat /= ErrID_None + + integer(IntKi) :: i, j, iQdrt, n_sub + real(ReKi) :: d(3) + real(R8Ki) :: R(3,3) + real(ReKi) :: q_pos(3,nQdrt) + real(ReKi) :: nds_orig(3) + real(ReKi) :: dF(3), rXnds(3) + type(triangle3D) :: sub_tris(2) + integer(IntKi) :: nodeInWater + real(SiKi) :: FDynP + integer(IntKi) :: ErrStat2 !< Error status of the operation + character(ErrMsgLen) :: ErrMsg2 !< Error message if ErrStat /= ErrID_None + character(*), parameter :: RoutineName = "computeBodyFK" + + ErrStat = ErrID_None + ErrMsg = "" + + Force = 0.0_ReKi + Moment = 0.0_ReKi + + if (p%FKMod(bodyIdx) /= FKMod_full) return + + associate( body=>p%Bodies(bodyIdx), m_body=>m%Bodies(bodyIdx) ) + + d = Position + d(3) = d(3) - p%WaveField%MSL2SWL + R = transpose(Orientation) + + ! Compute displaced node positions and the wave elevation at these nodes + m_body%Nodes = matmul(R,body%Nodes) + m_body%Nodes(1,:) = m_body%Nodes(1,:) + d(1) + m_body%Nodes(2,:) = m_body%Nodes(2,:) + d(2) + m_body%Nodes(3,:) = m_body%Nodes(3,:) + d(3) + + if (p%WaveField%WaveStMod /= 0_IntKi) then + do i = 1,body%n_nodes + m_body%WaveElev(i) = WaveField_GetNodeTotalWaveElev( p%WaveField, m%WaveField_m, Time, m_body%Nodes(:,i), ErrStat2, ErrMsg2 ) + end do + if (Failed()) return + ! else + ! m_body%WaveElev already initialized to zero at initialization + end if + + do i = 1,body%n_tris + associate( v1 => m_body%Nodes(:,body%tris(1,i)), & + v2 => m_body%Nodes(:,body%tris(2,i)), & + v3 => m_body%Nodes(:,body%tris(3,i)), & + zeta1 => m_body%WaveElev(body%tris(1,i)), & + zeta2 => m_body%WaveElev(body%tris(2,i)), & + zeta3 => m_body%WaveElev(body%tris(3,i)) ) + nds_orig = 0.5_ReKi * cross_product(v2-v1, v3-v2) + call Clip_Triangle(reshape([v1,v2,v3],[3,3]), [zeta1,zeta2,zeta3], nds_orig, sub_tris, n_sub) + do j=1,n_sub + q_pos = matmul( sub_tris(j)%v , Qdrt_L ) + do iQdrt = 1,nQdrt + call WaveField_GetDynP( p%WaveField, m%WaveField_m, Time, q_pos(:,iQdrt), .false., nodeInWater, FDynP, ErrStat, ErrMsg ) + dF = ( FDynP - p%WaveField%RhoXg * q_pos(3,iQdrt) ) * Qdrt_W(iQdrt) * (-sub_tris(j)%nds) + Force = Force + dF + Moment = Moment + cross_product(q_pos(:,iQdrt)-d, dF) + end do + end do + end associate + end do + if (Failed()) return + + end associate + +contains + logical function Failed() + call SetErrStat(ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName) + Failed = ErrStat >= AbortErrLev + end function Failed + +end subroutine computeBodyFK + +subroutine NonlinearFK_CalcOutput(Time, u_Mesh, p, m, Force, Moment, ErrStat, ErrMsg) + real(R8Ki), intent(in ) :: Time + type(MeshType), intent(in ) :: u_Mesh + type(NonlinearFK_ParameterType), intent(in ) :: p + type(NonlinearFK_MiscVarType), intent(inout) :: m + real(ReKi), intent( out) :: Force(:,:) + real(ReKi), intent( out) :: Moment(:,:) + integer(IntKi), intent( out) :: ErrStat !< Error status of the operation + character(*), intent( out) :: ErrMsg !< Error message if ErrStat /= ErrID_None + + integer(IntKi) :: i + real(ReKi) :: Position(3) + real(R8Ki) :: Orientation(3,3) + integer(IntKi) :: ErrStat2 !< Error status of the operation + character(ErrMsgLen) :: ErrMsg2 !< Error message if ErrStat /= ErrID_None + character(*), parameter :: RoutineName = "NonlinearFK_CalcOutput" + + ErrStat = ErrID_None + ErrMsg = "" + + do i = 1,p%nBody + Position = u_Mesh%position(:,i) + u_Mesh%TranslationDisp(:,i) + Orientation = u_Mesh%Orientation(:,:,i) + call computeBodyFK(i,Time,p,m,Position,Orientation,Force(:,i),Moment(:,i),ErrStat2,ErrMsg2) + ! print *,Force(:,i),Moment(:,i) + if (Failed()) return + end do + +contains + logical function Failed() + call SetErrStat(ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName) + Failed = ErrStat >= AbortErrLev + end function Failed + +end subroutine NonlinearFK_CalcOutput + +subroutine Clip_Triangle(v_in, zeta_in, nds_orig, sub_tris, n_sub) + real(ReKi), intent(in ) :: v_in(3, 3) ! Original vertices (Global) + real(ReKi), intent(in ) :: zeta_in(3) ! Wave elevation at vertices + real(ReKi), intent(in ) :: nds_orig(3) ! Original n*dS vector (for flat triangles, normal is constant) + type(Triangle3D), intent( out) :: sub_tris(2) ! Max 2 sub-triangles + integer(IntKi), intent( out) :: n_sub ! Number of wetted sub-triangles (0, 1, or 2) + + real(ReKi) :: H(3) + integer(IntKi) :: n_wet, i, j + integer(IntKi) :: wet_idx(3), dry_idx(3) + integer(IntKi) :: n_w, n_d + real(ReKi) :: t_interp + real(ReKi) :: p1(3), p2(3), z1, z2 + + ! 1. Calculate Submergence metric (H <= 0 means submerged) + H(:) = v_in(3, :) - zeta_in(:) + + ! 2. Categorize vertices into Wet and Dry lists + n_w = 0 + n_d = 0 + do i = 1, 3 + if (H(i) <= 0.0_ReKi) then + n_w = n_w + 1 + wet_idx(n_w) = i + else + n_d = n_d + 1 + dry_idx(n_d) = i + end if + end do + + ! 3. The 4 Clipping Cases + n_sub = 0 + + select case(n_w) + + case(0) + ! Completely Dry + return + + case(3) + ! Completely Wet: Return the original triangle + n_sub = 1 + sub_tris(1)%v(:, :) = v_in(:, :) + sub_tris(1)%nds(:) = nds_orig(:) + return + + case(1) + ! 1 Vertex Wet -> Results in 1 smaller Triangle + n_sub = 1 + + ! The one wet vertex is V_w + ! The two dry vertices are V_d1, V_d2 + + ! Intersection 1: Between V_w and V_d1 + t_interp = H(wet_idx(1)) / (H(wet_idx(1)) - H(dry_idx(1))) + p1(:) = v_in(:, wet_idx(1)) + t_interp * (v_in(:, dry_idx(1)) - v_in(:, wet_idx(1))) + + ! Intersection 2: Between V_w and V_d2 + t_interp = H(wet_idx(1)) / (H(wet_idx(1)) - H(dry_idx(2))) + p2(:) = v_in(:, wet_idx(1)) + t_interp * (v_in(:, dry_idx(2)) - v_in(:, wet_idx(1))) + + ! Build the new wetted triangle + sub_tris(1)%v(:, 1) = v_in(:, wet_idx(1)) + sub_tris(1)%v(:, 2) = p1(:) + sub_tris(1)%v(:, 3) = p2(:) + + ! Calculate new area vector (nds) + sub_tris(1)%nds = 0.5_ReKi * cross_product(p1 - v_in(:, wet_idx(1)), p2 - v_in(:, wet_idx(1))) + + ! Ensure normal points in the same direction as the original + if (dot_product(sub_tris(1)%nds, nds_orig) < 0.0_ReKi) then + sub_tris(1)%nds = -sub_tris(1)%nds + end if + + case(2) + ! 2 Vertices Wet -> Results in a Quadrilateral -> Split into 2 Triangles + n_sub = 2 + + ! The two wet vertices are V_w1, V_w2 + ! The one dry vertex is V_d + + ! Intersection 1: Between V_w1 and V_d + t_interp = H(wet_idx(1)) / (H(wet_idx(1)) - H(dry_idx(1))) + p1(:) = v_in(:, wet_idx(1)) + t_interp * (v_in(:, dry_idx(1)) - v_in(:, wet_idx(1))) + + ! Intersection 2: Between V_w2 and V_d + t_interp = H(wet_idx(2)) / (H(wet_idx(2)) - H(dry_idx(1))) + p2(:) = v_in(:, wet_idx(2)) + t_interp * (v_in(:, dry_idx(1)) - v_in(:, wet_idx(2))) + + ! Sub-Triangle 1: V_w1, p1, p2 + sub_tris(1)%v(:, 1) = v_in(:, wet_idx(1)) + sub_tris(1)%v(:, 2) = p1(:) + sub_tris(1)%v(:, 3) = p2(:) + + ! Sub-Triangle 2: V_w1, p2, V_w2 + sub_tris(2)%v(:, 1) = v_in(:, wet_idx(1)) + sub_tris(2)%v(:, 2) = p2(:) + sub_tris(2)%v(:, 3) = v_in(:, wet_idx(2)) + + ! Calculate new area vectors + sub_tris(1)%nds = 0.5_ReKi * cross_product(p1 - v_in(:, wet_idx(1)), p2 - v_in(:, wet_idx(1))) + sub_tris(2)%nds = 0.5_ReKi * cross_product(p2 - v_in(:, wet_idx(1)), v_in(:, wet_idx(2)) - v_in(:, wet_idx(1))) + + ! Ensure normals point outwards + if (dot_product(sub_tris(1)%nds, nds_orig) < 0.0_ReKi) sub_tris(1)%nds = -sub_tris(1)%nds + if (dot_product(sub_tris(2)%nds, nds_orig) < 0.0_ReKi) sub_tris(2)%nds = -sub_tris(2)%nds + + end select + +end subroutine Clip_Triangle + +end module NonlinearFK \ No newline at end of file diff --git a/modules/hydrodyn/src/NonlinearFK.txt b/modules/hydrodyn/src/NonlinearFK.txt new file mode 100644 index 0000000000..5a83abdbec --- /dev/null +++ b/modules/hydrodyn/src/NonlinearFK.txt @@ -0,0 +1,43 @@ +################################################################################################################################### +# Registry for WAMIT in the FAST Modularization Framework +# This Registry file is used to create MODULE WAMIT which contains all of the user-defined types needed in WAMIT. +# It also contains copy, destroy, pack, and unpack routines associated with each defined data types. +# See NWTC Programmer's Handbook for further information on the format/contents of this file. +# +# Entries are of the form +# +# +# Use ^ as a shortcut for the value in the same column from the previous line. +################################################################################################################################### + +# ...... Include files (definitions from NWTC Library) ............................................................................ +# make sure that the file name does not have any trailing white spaces! +include Registry_NWTC_Library.txt +usefrom SeaSt_WaveField.txt +usefrom GridInterp.txt + +param NonlinearFK/NonlinearFK - IntKi FKMod_none - 0 - "No mesh-based Froude-Krylov or hydrostatic load calculation" - +param NonlinearFK/NonlinearFK - IntKi FKMod_full - 1 - "Full mesh-based Froude-Krylov and hydrostatic load calculation" - + +typedef NonlinearFK/NonlinearFK Triangle3D ReKi v {3}{3} - - "The three vertices of a triangle" m +typedef NonlinearFK/NonlinearFK Triangle3D ReKi n {3} - - "Unit normal vector" - +typedef NonlinearFK/NonlinearFK Triangle3D ReKi nds {3} - - "Normal directional area" - +typedef NonlinearFK/NonlinearFK STLGeomType IntKi n_tris - - - "Number of triangles in the STL file" - +typedef NonlinearFK/NonlinearFK STLGeomType Triangle3D tris {:} - - "All triangles in the STL file" - +typedef NonlinearFK/NonlinearFK BodyType ReKi volume - - - "Volume of the body" - +typedef NonlinearFK/NonlinearFK BodyType IntKi n_nodes - - - "Number of unique nodes of the body" - +typedef NonlinearFK/NonlinearFK BodyType IntKi n_tris - - - "Number of triangles of the body" - +typedef NonlinearFK/NonlinearFK BodyType ReKi nodes {:}{:} - - "Node coordinates" - +typedef NonlinearFK/NonlinearFK BodyType IntKi tris {:}{:} - - "Triangle vertex list" - +typedef NonlinearFK/NonlinearFK InitInputType IntKi nBody - - - "Number of potential-flow bodies" - +typedef NonlinearFK/NonlinearFK InitInputType IntKi FKMod {:} - - "Switch for nonlinear Froude-Krylov models" - +typedef NonlinearFK/NonlinearFK InitInputType character(1024) GeoFile {:} - - "Geometry file paths" - +typedef NonlinearFK/NonlinearFK InitInputType SeaSt_WaveFieldType *WaveField - - - "Pointer to SeaState wavefield type" - +typedef NonlinearFK/NonlinearFK ParameterType IntKi nBody - - - "Number of potential-flow bodies" - +typedef NonlinearFK/NonlinearFK ParameterType BodyType Bodies {:} - - "Body geometries" - +typedef NonlinearFK/NonlinearFK ParameterType IntKi FKMod {:} - - "Switch for nonlinear Froude-Krylov models" - +typedef NonlinearFK/NonlinearFK ParameterType SeaSt_WaveFieldType *WaveField - - - "Pointer to SeaState wavefield type" - +typedef NonlinearFK/NonlinearFK BodyMiscType ReKi Nodes {:}{:} - - "Instantaneous position of all body nodes (relative to SWL)" m +typedef NonlinearFK/NonlinearFK BodyMiscType ReKi WaveElev {:} - - "Wave elevation at each body node" m +typedef NonlinearFK/NonlinearFK MiscVarType BodyMiscType Bodies {:} - - "Misc var information for the bodies" - +typedef NonlinearFK/NonlinearFK MiscVarType GridInterp_MiscVarType WaveField_m - - - "Misc var information from the Grid Interpolation module" - \ No newline at end of file diff --git a/modules/hydrodyn/src/NonlinearFK_Types.f90 b/modules/hydrodyn/src/NonlinearFK_Types.f90 new file mode 100644 index 0000000000..9d2f6f7215 --- /dev/null +++ b/modules/hydrodyn/src/NonlinearFK_Types.f90 @@ -0,0 +1,753 @@ +!STARTOFREGISTRYGENERATEDFILE 'NonlinearFK_Types.f90' +! +! WARNING This file is generated automatically by the FAST registry. +! Do not edit. Your changes to this file will be lost. +! +! FAST Registry +!********************************************************************************************************************************* +! NonlinearFK_Types +!................................................................................................................................. +! This file is part of NonlinearFK. +! +! Copyright (C) 2012-2016 National Renewable Energy Laboratory +! +! Licensed under the Apache License, Version 2.0 (the "License"); +! you may not use this file except in compliance with the License. +! You may obtain a copy of the License at +! +! http://www.apache.org/licenses/LICENSE-2.0 +! +! Unless required by applicable law or agreed to in writing, software +! distributed under the License is distributed on an "AS IS" BASIS, +! WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +! See the License for the specific language governing permissions and +! limitations under the License. +! +! +! W A R N I N G : This file was automatically generated from the FAST registry. Changes made to this file may be lost. +! +!********************************************************************************************************************************* +!> This module contains the user-defined types needed in NonlinearFK. It also contains copy, destroy, pack, and +!! unpack routines associated with each defined data type. This code is automatically generated by the FAST Registry. +MODULE NonlinearFK_Types +!--------------------------------------------------------------------------------------------------------------------------------- +USE SeaSt_WaveField_Types +USE NWTC_Library +IMPLICIT NONE + INTEGER(IntKi), PUBLIC, PARAMETER :: FKMod_none = 0 ! No mesh-based Froude-Krylov or hydrostatic load calculation [-] + INTEGER(IntKi), PUBLIC, PARAMETER :: FKMod_full = 1 ! Full mesh-based Froude-Krylov and hydrostatic load calculation [-] +! ========= Triangle3D ======= + TYPE, PUBLIC :: Triangle3D + REAL(ReKi) , DIMENSION(1:3,1:3) :: v = 0.0_ReKi !< The three vertices of a triangle [m] + REAL(ReKi) , DIMENSION(1:3) :: n = 0.0_ReKi !< Unit normal vector [-] + REAL(ReKi) , DIMENSION(1:3) :: nds = 0.0_ReKi !< Normal directional area [-] + END TYPE Triangle3D +! ======================= +! ========= STLGeomType ======= + TYPE, PUBLIC :: STLGeomType + INTEGER(IntKi) :: n_tris = 0_IntKi !< Number of triangles in the STL file [-] + TYPE(Triangle3D) , DIMENSION(:), ALLOCATABLE :: tris !< All triangles in the STL file [-] + END TYPE STLGeomType +! ======================= +! ========= BodyType ======= + TYPE, PUBLIC :: BodyType + REAL(ReKi) :: volume = 0.0_ReKi !< Volume of the body [-] + INTEGER(IntKi) :: n_nodes = 0_IntKi !< Number of unique nodes of the body [-] + INTEGER(IntKi) :: n_tris = 0_IntKi !< Number of triangles of the body [-] + REAL(ReKi) , DIMENSION(:,:), ALLOCATABLE :: nodes !< Node coordinates [-] + INTEGER(IntKi) , DIMENSION(:,:), ALLOCATABLE :: tris !< Triangle vertex list [-] + END TYPE BodyType +! ======================= +! ========= NonlinearFK_InitInputType ======= + TYPE, PUBLIC :: NonlinearFK_InitInputType + INTEGER(IntKi) :: nBody = 0_IntKi !< Number of potential-flow bodies [-] + INTEGER(IntKi) , DIMENSION(:), ALLOCATABLE :: FKMod !< Switch for nonlinear Froude-Krylov models [-] + character(1024) , DIMENSION(:), ALLOCATABLE :: GeoFile !< Geometry file paths [-] + TYPE(SeaSt_WaveFieldType) , POINTER :: WaveField => NULL() !< Pointer to SeaState wavefield type [-] + END TYPE NonlinearFK_InitInputType +! ======================= +! ========= NonlinearFK_ParameterType ======= + TYPE, PUBLIC :: NonlinearFK_ParameterType + INTEGER(IntKi) :: nBody = 0_IntKi !< Number of potential-flow bodies [-] + TYPE(BodyType) , DIMENSION(:), ALLOCATABLE :: Bodies !< Body geometries [-] + INTEGER(IntKi) , DIMENSION(:), ALLOCATABLE :: FKMod !< Switch for nonlinear Froude-Krylov models [-] + TYPE(SeaSt_WaveFieldType) , POINTER :: WaveField => NULL() !< Pointer to SeaState wavefield type [-] + END TYPE NonlinearFK_ParameterType +! ======================= +! ========= BodyMiscType ======= + TYPE, PUBLIC :: BodyMiscType + REAL(ReKi) , DIMENSION(:,:), ALLOCATABLE :: Nodes !< Instantaneous position of all body nodes (relative to SWL) [m] + REAL(ReKi) , DIMENSION(:), ALLOCATABLE :: WaveElev !< Wave elevation at each body node [m] + END TYPE BodyMiscType +! ======================= +! ========= NonlinearFK_MiscVarType ======= + TYPE, PUBLIC :: NonlinearFK_MiscVarType + TYPE(BodyMiscType) , DIMENSION(:), ALLOCATABLE :: Bodies !< Misc var information for the bodies [-] + TYPE(GridInterp_MiscVarType) :: WaveField_m !< Misc var information from the Grid Interpolation module [-] + END TYPE NonlinearFK_MiscVarType +! ======================= + +contains + +subroutine NonlinearFK_CopyTriangle3D(SrcTriangle3DData, DstTriangle3DData, CtrlCode, ErrStat, ErrMsg) + type(Triangle3D), intent(in) :: SrcTriangle3DData + type(Triangle3D), intent(inout) :: DstTriangle3DData + integer(IntKi), intent(in ) :: CtrlCode + integer(IntKi), intent( out) :: ErrStat + character(*), intent( out) :: ErrMsg + character(*), parameter :: RoutineName = 'NonlinearFK_CopyTriangle3D' + ErrStat = ErrID_None + ErrMsg = '' + DstTriangle3DData%v = SrcTriangle3DData%v + DstTriangle3DData%n = SrcTriangle3DData%n + DstTriangle3DData%nds = SrcTriangle3DData%nds +end subroutine + +subroutine NonlinearFK_DestroyTriangle3D(Triangle3DData, ErrStat, ErrMsg) + type(Triangle3D), intent(inout) :: Triangle3DData + integer(IntKi), intent( out) :: ErrStat + character(*), intent( out) :: ErrMsg + character(*), parameter :: RoutineName = 'NonlinearFK_DestroyTriangle3D' + ErrStat = ErrID_None + ErrMsg = '' +end subroutine + +subroutine NonlinearFK_PackTriangle3D(RF, Indata) + type(RegFile), intent(inout) :: RF + type(Triangle3D), intent(in) :: InData + character(*), parameter :: RoutineName = 'NonlinearFK_PackTriangle3D' + if (RF%ErrStat >= AbortErrLev) return + call RegPack(RF, InData%v) + call RegPack(RF, InData%n) + call RegPack(RF, InData%nds) + if (RegCheckErr(RF, RoutineName)) return +end subroutine + +subroutine NonlinearFK_UnPackTriangle3D(RF, OutData) + type(RegFile), intent(inout) :: RF + type(Triangle3D), intent(inout) :: OutData + character(*), parameter :: RoutineName = 'NonlinearFK_UnPackTriangle3D' + if (RF%ErrStat /= ErrID_None) return + call RegUnpack(RF, OutData%v); if (RegCheckErr(RF, RoutineName)) return + call RegUnpack(RF, OutData%n); if (RegCheckErr(RF, RoutineName)) return + call RegUnpack(RF, OutData%nds); if (RegCheckErr(RF, RoutineName)) return +end subroutine + +subroutine NonlinearFK_CopySTLGeomType(SrcSTLGeomTypeData, DstSTLGeomTypeData, CtrlCode, ErrStat, ErrMsg) + type(STLGeomType), intent(in) :: SrcSTLGeomTypeData + type(STLGeomType), intent(inout) :: DstSTLGeomTypeData + integer(IntKi), intent(in ) :: CtrlCode + integer(IntKi), intent( out) :: ErrStat + character(*), intent( out) :: ErrMsg + integer(B4Ki) :: i1 + integer(B4Ki) :: LB(1), UB(1) + integer(IntKi) :: ErrStat2 + character(ErrMsgLen) :: ErrMsg2 + character(*), parameter :: RoutineName = 'NonlinearFK_CopySTLGeomType' + ErrStat = ErrID_None + ErrMsg = '' + DstSTLGeomTypeData%n_tris = SrcSTLGeomTypeData%n_tris + if (allocated(SrcSTLGeomTypeData%tris)) then + LB(1:1) = lbound(SrcSTLGeomTypeData%tris) + UB(1:1) = ubound(SrcSTLGeomTypeData%tris) + if (.not. allocated(DstSTLGeomTypeData%tris)) then + allocate(DstSTLGeomTypeData%tris(LB(1):UB(1)), stat=ErrStat2) + if (ErrStat2 /= 0) then + call SetErrStat(ErrID_Fatal, 'Error allocating DstSTLGeomTypeData%tris.', ErrStat, ErrMsg, RoutineName) + return + end if + end if + do i1 = LB(1), UB(1) + call NonlinearFK_CopyTriangle3D(SrcSTLGeomTypeData%tris(i1), DstSTLGeomTypeData%tris(i1), CtrlCode, ErrStat2, ErrMsg2) + call SetErrStat(ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName) + if (ErrStat >= AbortErrLev) return + end do + end if +end subroutine + +subroutine NonlinearFK_DestroySTLGeomType(STLGeomTypeData, ErrStat, ErrMsg) + type(STLGeomType), intent(inout) :: STLGeomTypeData + integer(IntKi), intent( out) :: ErrStat + character(*), intent( out) :: ErrMsg + integer(B4Ki) :: i1 + integer(B4Ki) :: LB(1), UB(1) + integer(IntKi) :: ErrStat2 + character(ErrMsgLen) :: ErrMsg2 + character(*), parameter :: RoutineName = 'NonlinearFK_DestroySTLGeomType' + ErrStat = ErrID_None + ErrMsg = '' + if (allocated(STLGeomTypeData%tris)) then + LB(1:1) = lbound(STLGeomTypeData%tris) + UB(1:1) = ubound(STLGeomTypeData%tris) + do i1 = LB(1), UB(1) + call NonlinearFK_DestroyTriangle3D(STLGeomTypeData%tris(i1), ErrStat2, ErrMsg2) + call SetErrStat(ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName) + end do + deallocate(STLGeomTypeData%tris) + end if +end subroutine + +subroutine NonlinearFK_PackSTLGeomType(RF, Indata) + type(RegFile), intent(inout) :: RF + type(STLGeomType), intent(in) :: InData + character(*), parameter :: RoutineName = 'NonlinearFK_PackSTLGeomType' + integer(B4Ki) :: i1 + integer(B4Ki) :: LB(1), UB(1) + if (RF%ErrStat >= AbortErrLev) return + call RegPack(RF, InData%n_tris) + call RegPack(RF, allocated(InData%tris)) + if (allocated(InData%tris)) then + call RegPackBounds(RF, 1, lbound(InData%tris), ubound(InData%tris)) + LB(1:1) = lbound(InData%tris) + UB(1:1) = ubound(InData%tris) + do i1 = LB(1), UB(1) + call NonlinearFK_PackTriangle3D(RF, InData%tris(i1)) + end do + end if + if (RegCheckErr(RF, RoutineName)) return +end subroutine + +subroutine NonlinearFK_UnPackSTLGeomType(RF, OutData) + type(RegFile), intent(inout) :: RF + type(STLGeomType), intent(inout) :: OutData + character(*), parameter :: RoutineName = 'NonlinearFK_UnPackSTLGeomType' + integer(B4Ki) :: i1 + integer(B4Ki) :: LB(1), UB(1) + integer(IntKi) :: stat + logical :: IsAllocAssoc + if (RF%ErrStat /= ErrID_None) return + call RegUnpack(RF, OutData%n_tris); if (RegCheckErr(RF, RoutineName)) return + if (allocated(OutData%tris)) deallocate(OutData%tris) + call RegUnpack(RF, IsAllocAssoc); if (RegCheckErr(RF, RoutineName)) return + if (IsAllocAssoc) then + call RegUnpackBounds(RF, 1, LB, UB); if (RegCheckErr(RF, RoutineName)) return + allocate(OutData%tris(LB(1):UB(1)),stat=stat) + if (stat /= 0) then + call SetErrStat(ErrID_Fatal, 'Error allocating OutData%tris.', RF%ErrStat, RF%ErrMsg, RoutineName) + return + end if + do i1 = LB(1), UB(1) + call NonlinearFK_UnpackTriangle3D(RF, OutData%tris(i1)) ! tris + end do + end if +end subroutine + +subroutine NonlinearFK_CopyBodyType(SrcBodyTypeData, DstBodyTypeData, CtrlCode, ErrStat, ErrMsg) + type(BodyType), intent(in) :: SrcBodyTypeData + type(BodyType), intent(inout) :: DstBodyTypeData + integer(IntKi), intent(in ) :: CtrlCode + integer(IntKi), intent( out) :: ErrStat + character(*), intent( out) :: ErrMsg + integer(B4Ki) :: LB(2), UB(2) + integer(IntKi) :: ErrStat2 + character(*), parameter :: RoutineName = 'NonlinearFK_CopyBodyType' + ErrStat = ErrID_None + ErrMsg = '' + DstBodyTypeData%volume = SrcBodyTypeData%volume + DstBodyTypeData%n_nodes = SrcBodyTypeData%n_nodes + DstBodyTypeData%n_tris = SrcBodyTypeData%n_tris + if (allocated(SrcBodyTypeData%nodes)) then + LB(1:2) = lbound(SrcBodyTypeData%nodes) + UB(1:2) = ubound(SrcBodyTypeData%nodes) + if (.not. allocated(DstBodyTypeData%nodes)) then + allocate(DstBodyTypeData%nodes(LB(1):UB(1),LB(2):UB(2)), stat=ErrStat2) + if (ErrStat2 /= 0) then + call SetErrStat(ErrID_Fatal, 'Error allocating DstBodyTypeData%nodes.', ErrStat, ErrMsg, RoutineName) + return + end if + end if + DstBodyTypeData%nodes = SrcBodyTypeData%nodes + end if + if (allocated(SrcBodyTypeData%tris)) then + LB(1:2) = lbound(SrcBodyTypeData%tris) + UB(1:2) = ubound(SrcBodyTypeData%tris) + if (.not. allocated(DstBodyTypeData%tris)) then + allocate(DstBodyTypeData%tris(LB(1):UB(1),LB(2):UB(2)), stat=ErrStat2) + if (ErrStat2 /= 0) then + call SetErrStat(ErrID_Fatal, 'Error allocating DstBodyTypeData%tris.', ErrStat, ErrMsg, RoutineName) + return + end if + end if + DstBodyTypeData%tris = SrcBodyTypeData%tris + end if +end subroutine + +subroutine NonlinearFK_DestroyBodyType(BodyTypeData, ErrStat, ErrMsg) + type(BodyType), intent(inout) :: BodyTypeData + integer(IntKi), intent( out) :: ErrStat + character(*), intent( out) :: ErrMsg + character(*), parameter :: RoutineName = 'NonlinearFK_DestroyBodyType' + ErrStat = ErrID_None + ErrMsg = '' + if (allocated(BodyTypeData%nodes)) then + deallocate(BodyTypeData%nodes) + end if + if (allocated(BodyTypeData%tris)) then + deallocate(BodyTypeData%tris) + end if +end subroutine + +subroutine NonlinearFK_PackBodyType(RF, Indata) + type(RegFile), intent(inout) :: RF + type(BodyType), intent(in) :: InData + character(*), parameter :: RoutineName = 'NonlinearFK_PackBodyType' + if (RF%ErrStat >= AbortErrLev) return + call RegPack(RF, InData%volume) + call RegPack(RF, InData%n_nodes) + call RegPack(RF, InData%n_tris) + call RegPackAlloc(RF, InData%nodes) + call RegPackAlloc(RF, InData%tris) + if (RegCheckErr(RF, RoutineName)) return +end subroutine + +subroutine NonlinearFK_UnPackBodyType(RF, OutData) + type(RegFile), intent(inout) :: RF + type(BodyType), intent(inout) :: OutData + character(*), parameter :: RoutineName = 'NonlinearFK_UnPackBodyType' + integer(B4Ki) :: LB(2), UB(2) + integer(IntKi) :: stat + logical :: IsAllocAssoc + if (RF%ErrStat /= ErrID_None) return + call RegUnpack(RF, OutData%volume); if (RegCheckErr(RF, RoutineName)) return + call RegUnpack(RF, OutData%n_nodes); if (RegCheckErr(RF, RoutineName)) return + call RegUnpack(RF, OutData%n_tris); if (RegCheckErr(RF, RoutineName)) return + call RegUnpackAlloc(RF, OutData%nodes); if (RegCheckErr(RF, RoutineName)) return + call RegUnpackAlloc(RF, OutData%tris); if (RegCheckErr(RF, RoutineName)) return +end subroutine + +subroutine NonlinearFK_CopyInitInput(SrcInitInputData, DstInitInputData, CtrlCode, ErrStat, ErrMsg) + type(NonlinearFK_InitInputType), intent(in) :: SrcInitInputData + type(NonlinearFK_InitInputType), intent(inout) :: DstInitInputData + integer(IntKi), intent(in ) :: CtrlCode + integer(IntKi), intent( out) :: ErrStat + character(*), intent( out) :: ErrMsg + integer(B4Ki) :: LB(1), UB(1) + integer(IntKi) :: ErrStat2 + character(ErrMsgLen) :: ErrMsg2 + character(*), parameter :: RoutineName = 'NonlinearFK_CopyInitInput' + ErrStat = ErrID_None + ErrMsg = '' + DstInitInputData%nBody = SrcInitInputData%nBody + if (allocated(SrcInitInputData%FKMod)) then + LB(1:1) = lbound(SrcInitInputData%FKMod) + UB(1:1) = ubound(SrcInitInputData%FKMod) + if (.not. allocated(DstInitInputData%FKMod)) then + allocate(DstInitInputData%FKMod(LB(1):UB(1)), stat=ErrStat2) + if (ErrStat2 /= 0) then + call SetErrStat(ErrID_Fatal, 'Error allocating DstInitInputData%FKMod.', ErrStat, ErrMsg, RoutineName) + return + end if + end if + DstInitInputData%FKMod = SrcInitInputData%FKMod + end if + if (allocated(SrcInitInputData%GeoFile)) then + LB(1:1) = lbound(SrcInitInputData%GeoFile) + UB(1:1) = ubound(SrcInitInputData%GeoFile) + if (.not. allocated(DstInitInputData%GeoFile)) then + allocate(DstInitInputData%GeoFile(LB(1):UB(1)), stat=ErrStat2) + if (ErrStat2 /= 0) then + call SetErrStat(ErrID_Fatal, 'Error allocating DstInitInputData%GeoFile.', ErrStat, ErrMsg, RoutineName) + return + end if + end if + DstInitInputData%GeoFile = SrcInitInputData%GeoFile + end if + DstInitInputData%WaveField => SrcInitInputData%WaveField +end subroutine + +subroutine NonlinearFK_DestroyInitInput(InitInputData, ErrStat, ErrMsg) + type(NonlinearFK_InitInputType), intent(inout) :: InitInputData + integer(IntKi), intent( out) :: ErrStat + character(*), intent( out) :: ErrMsg + integer(IntKi) :: ErrStat2 + character(ErrMsgLen) :: ErrMsg2 + character(*), parameter :: RoutineName = 'NonlinearFK_DestroyInitInput' + ErrStat = ErrID_None + ErrMsg = '' + if (allocated(InitInputData%FKMod)) then + deallocate(InitInputData%FKMod) + end if + if (allocated(InitInputData%GeoFile)) then + deallocate(InitInputData%GeoFile) + end if + nullify(InitInputData%WaveField) +end subroutine + +subroutine NonlinearFK_PackInitInput(RF, Indata) + type(RegFile), intent(inout) :: RF + type(NonlinearFK_InitInputType), intent(in) :: InData + character(*), parameter :: RoutineName = 'NonlinearFK_PackInitInput' + logical :: PtrInIndex + if (RF%ErrStat >= AbortErrLev) return + call RegPack(RF, InData%nBody) + call RegPackAlloc(RF, InData%FKMod) + call RegPackAlloc(RF, InData%GeoFile) + call RegPack(RF, associated(InData%WaveField)) + if (associated(InData%WaveField)) then + call RegPackPointer(RF, c_loc(InData%WaveField), PtrInIndex) + if (.not. PtrInIndex) then + call SeaSt_WaveField_PackSeaSt_WaveFieldType(RF, InData%WaveField) + end if + end if + if (RegCheckErr(RF, RoutineName)) return +end subroutine + +subroutine NonlinearFK_UnPackInitInput(RF, OutData) + type(RegFile), intent(inout) :: RF + type(NonlinearFK_InitInputType), intent(inout) :: OutData + character(*), parameter :: RoutineName = 'NonlinearFK_UnPackInitInput' + integer(B4Ki) :: LB(1), UB(1) + integer(IntKi) :: stat + logical :: IsAllocAssoc + integer(B8Ki) :: PtrIdx + type(c_ptr) :: Ptr + if (RF%ErrStat /= ErrID_None) return + call RegUnpack(RF, OutData%nBody); if (RegCheckErr(RF, RoutineName)) return + call RegUnpackAlloc(RF, OutData%FKMod); if (RegCheckErr(RF, RoutineName)) return + call RegUnpackAlloc(RF, OutData%GeoFile); if (RegCheckErr(RF, RoutineName)) return + if (associated(OutData%WaveField)) deallocate(OutData%WaveField) + call RegUnpack(RF, IsAllocAssoc); if (RegCheckErr(RF, RoutineName)) return + if (IsAllocAssoc) then + call RegUnpackPointer(RF, Ptr, PtrIdx); if (RegCheckErr(RF, RoutineName)) return + if (c_associated(Ptr)) then + call c_f_pointer(Ptr, OutData%WaveField) + else + allocate(OutData%WaveField,stat=stat) + if (stat /= 0) then + call SetErrStat(ErrID_Fatal, 'Error allocating OutData%WaveField.', RF%ErrStat, RF%ErrMsg, RoutineName) + return + end if + RF%Pointers(PtrIdx) = c_loc(OutData%WaveField) + call SeaSt_WaveField_UnpackSeaSt_WaveFieldType(RF, OutData%WaveField) ! WaveField + end if + else + OutData%WaveField => null() + end if +end subroutine + +subroutine NonlinearFK_CopyParam(SrcParamData, DstParamData, CtrlCode, ErrStat, ErrMsg) + type(NonlinearFK_ParameterType), intent(in) :: SrcParamData + type(NonlinearFK_ParameterType), intent(inout) :: DstParamData + integer(IntKi), intent(in ) :: CtrlCode + integer(IntKi), intent( out) :: ErrStat + character(*), intent( out) :: ErrMsg + integer(B4Ki) :: i1 + integer(B4Ki) :: LB(1), UB(1) + integer(IntKi) :: ErrStat2 + character(ErrMsgLen) :: ErrMsg2 + character(*), parameter :: RoutineName = 'NonlinearFK_CopyParam' + ErrStat = ErrID_None + ErrMsg = '' + DstParamData%nBody = SrcParamData%nBody + if (allocated(SrcParamData%Bodies)) then + LB(1:1) = lbound(SrcParamData%Bodies) + UB(1:1) = ubound(SrcParamData%Bodies) + if (.not. allocated(DstParamData%Bodies)) then + allocate(DstParamData%Bodies(LB(1):UB(1)), stat=ErrStat2) + if (ErrStat2 /= 0) then + call SetErrStat(ErrID_Fatal, 'Error allocating DstParamData%Bodies.', ErrStat, ErrMsg, RoutineName) + return + end if + end if + do i1 = LB(1), UB(1) + call NonlinearFK_CopyBodyType(SrcParamData%Bodies(i1), DstParamData%Bodies(i1), CtrlCode, ErrStat2, ErrMsg2) + call SetErrStat(ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName) + if (ErrStat >= AbortErrLev) return + end do + end if + if (allocated(SrcParamData%FKMod)) then + LB(1:1) = lbound(SrcParamData%FKMod) + UB(1:1) = ubound(SrcParamData%FKMod) + if (.not. allocated(DstParamData%FKMod)) then + allocate(DstParamData%FKMod(LB(1):UB(1)), stat=ErrStat2) + if (ErrStat2 /= 0) then + call SetErrStat(ErrID_Fatal, 'Error allocating DstParamData%FKMod.', ErrStat, ErrMsg, RoutineName) + return + end if + end if + DstParamData%FKMod = SrcParamData%FKMod + end if + DstParamData%WaveField => SrcParamData%WaveField +end subroutine + +subroutine NonlinearFK_DestroyParam(ParamData, ErrStat, ErrMsg) + type(NonlinearFK_ParameterType), intent(inout) :: ParamData + integer(IntKi), intent( out) :: ErrStat + character(*), intent( out) :: ErrMsg + integer(B4Ki) :: i1 + integer(B4Ki) :: LB(1), UB(1) + integer(IntKi) :: ErrStat2 + character(ErrMsgLen) :: ErrMsg2 + character(*), parameter :: RoutineName = 'NonlinearFK_DestroyParam' + ErrStat = ErrID_None + ErrMsg = '' + if (allocated(ParamData%Bodies)) then + LB(1:1) = lbound(ParamData%Bodies) + UB(1:1) = ubound(ParamData%Bodies) + do i1 = LB(1), UB(1) + call NonlinearFK_DestroyBodyType(ParamData%Bodies(i1), ErrStat2, ErrMsg2) + call SetErrStat(ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName) + end do + deallocate(ParamData%Bodies) + end if + if (allocated(ParamData%FKMod)) then + deallocate(ParamData%FKMod) + end if + nullify(ParamData%WaveField) +end subroutine + +subroutine NonlinearFK_PackParam(RF, Indata) + type(RegFile), intent(inout) :: RF + type(NonlinearFK_ParameterType), intent(in) :: InData + character(*), parameter :: RoutineName = 'NonlinearFK_PackParam' + integer(B4Ki) :: i1 + integer(B4Ki) :: LB(1), UB(1) + logical :: PtrInIndex + if (RF%ErrStat >= AbortErrLev) return + call RegPack(RF, InData%nBody) + call RegPack(RF, allocated(InData%Bodies)) + if (allocated(InData%Bodies)) then + call RegPackBounds(RF, 1, lbound(InData%Bodies), ubound(InData%Bodies)) + LB(1:1) = lbound(InData%Bodies) + UB(1:1) = ubound(InData%Bodies) + do i1 = LB(1), UB(1) + call NonlinearFK_PackBodyType(RF, InData%Bodies(i1)) + end do + end if + call RegPackAlloc(RF, InData%FKMod) + call RegPack(RF, associated(InData%WaveField)) + if (associated(InData%WaveField)) then + call RegPackPointer(RF, c_loc(InData%WaveField), PtrInIndex) + if (.not. PtrInIndex) then + call SeaSt_WaveField_PackSeaSt_WaveFieldType(RF, InData%WaveField) + end if + end if + if (RegCheckErr(RF, RoutineName)) return +end subroutine + +subroutine NonlinearFK_UnPackParam(RF, OutData) + type(RegFile), intent(inout) :: RF + type(NonlinearFK_ParameterType), intent(inout) :: OutData + character(*), parameter :: RoutineName = 'NonlinearFK_UnPackParam' + integer(B4Ki) :: i1 + integer(B4Ki) :: LB(1), UB(1) + integer(IntKi) :: stat + logical :: IsAllocAssoc + integer(B8Ki) :: PtrIdx + type(c_ptr) :: Ptr + if (RF%ErrStat /= ErrID_None) return + call RegUnpack(RF, OutData%nBody); if (RegCheckErr(RF, RoutineName)) return + if (allocated(OutData%Bodies)) deallocate(OutData%Bodies) + call RegUnpack(RF, IsAllocAssoc); if (RegCheckErr(RF, RoutineName)) return + if (IsAllocAssoc) then + call RegUnpackBounds(RF, 1, LB, UB); if (RegCheckErr(RF, RoutineName)) return + allocate(OutData%Bodies(LB(1):UB(1)),stat=stat) + if (stat /= 0) then + call SetErrStat(ErrID_Fatal, 'Error allocating OutData%Bodies.', RF%ErrStat, RF%ErrMsg, RoutineName) + return + end if + do i1 = LB(1), UB(1) + call NonlinearFK_UnpackBodyType(RF, OutData%Bodies(i1)) ! Bodies + end do + end if + call RegUnpackAlloc(RF, OutData%FKMod); if (RegCheckErr(RF, RoutineName)) return + if (associated(OutData%WaveField)) deallocate(OutData%WaveField) + call RegUnpack(RF, IsAllocAssoc); if (RegCheckErr(RF, RoutineName)) return + if (IsAllocAssoc) then + call RegUnpackPointer(RF, Ptr, PtrIdx); if (RegCheckErr(RF, RoutineName)) return + if (c_associated(Ptr)) then + call c_f_pointer(Ptr, OutData%WaveField) + else + allocate(OutData%WaveField,stat=stat) + if (stat /= 0) then + call SetErrStat(ErrID_Fatal, 'Error allocating OutData%WaveField.', RF%ErrStat, RF%ErrMsg, RoutineName) + return + end if + RF%Pointers(PtrIdx) = c_loc(OutData%WaveField) + call SeaSt_WaveField_UnpackSeaSt_WaveFieldType(RF, OutData%WaveField) ! WaveField + end if + else + OutData%WaveField => null() + end if +end subroutine + +subroutine NonlinearFK_CopyBodyMiscType(SrcBodyMiscTypeData, DstBodyMiscTypeData, CtrlCode, ErrStat, ErrMsg) + type(BodyMiscType), intent(in) :: SrcBodyMiscTypeData + type(BodyMiscType), intent(inout) :: DstBodyMiscTypeData + integer(IntKi), intent(in ) :: CtrlCode + integer(IntKi), intent( out) :: ErrStat + character(*), intent( out) :: ErrMsg + integer(B4Ki) :: LB(2), UB(2) + integer(IntKi) :: ErrStat2 + character(*), parameter :: RoutineName = 'NonlinearFK_CopyBodyMiscType' + ErrStat = ErrID_None + ErrMsg = '' + if (allocated(SrcBodyMiscTypeData%Nodes)) then + LB(1:2) = lbound(SrcBodyMiscTypeData%Nodes) + UB(1:2) = ubound(SrcBodyMiscTypeData%Nodes) + if (.not. allocated(DstBodyMiscTypeData%Nodes)) then + allocate(DstBodyMiscTypeData%Nodes(LB(1):UB(1),LB(2):UB(2)), stat=ErrStat2) + if (ErrStat2 /= 0) then + call SetErrStat(ErrID_Fatal, 'Error allocating DstBodyMiscTypeData%Nodes.', ErrStat, ErrMsg, RoutineName) + return + end if + end if + DstBodyMiscTypeData%Nodes = SrcBodyMiscTypeData%Nodes + end if + if (allocated(SrcBodyMiscTypeData%WaveElev)) then + LB(1:1) = lbound(SrcBodyMiscTypeData%WaveElev) + UB(1:1) = ubound(SrcBodyMiscTypeData%WaveElev) + if (.not. allocated(DstBodyMiscTypeData%WaveElev)) then + allocate(DstBodyMiscTypeData%WaveElev(LB(1):UB(1)), stat=ErrStat2) + if (ErrStat2 /= 0) then + call SetErrStat(ErrID_Fatal, 'Error allocating DstBodyMiscTypeData%WaveElev.', ErrStat, ErrMsg, RoutineName) + return + end if + end if + DstBodyMiscTypeData%WaveElev = SrcBodyMiscTypeData%WaveElev + end if +end subroutine + +subroutine NonlinearFK_DestroyBodyMiscType(BodyMiscTypeData, ErrStat, ErrMsg) + type(BodyMiscType), intent(inout) :: BodyMiscTypeData + integer(IntKi), intent( out) :: ErrStat + character(*), intent( out) :: ErrMsg + character(*), parameter :: RoutineName = 'NonlinearFK_DestroyBodyMiscType' + ErrStat = ErrID_None + ErrMsg = '' + if (allocated(BodyMiscTypeData%Nodes)) then + deallocate(BodyMiscTypeData%Nodes) + end if + if (allocated(BodyMiscTypeData%WaveElev)) then + deallocate(BodyMiscTypeData%WaveElev) + end if +end subroutine + +subroutine NonlinearFK_PackBodyMiscType(RF, Indata) + type(RegFile), intent(inout) :: RF + type(BodyMiscType), intent(in) :: InData + character(*), parameter :: RoutineName = 'NonlinearFK_PackBodyMiscType' + if (RF%ErrStat >= AbortErrLev) return + call RegPackAlloc(RF, InData%Nodes) + call RegPackAlloc(RF, InData%WaveElev) + if (RegCheckErr(RF, RoutineName)) return +end subroutine + +subroutine NonlinearFK_UnPackBodyMiscType(RF, OutData) + type(RegFile), intent(inout) :: RF + type(BodyMiscType), intent(inout) :: OutData + character(*), parameter :: RoutineName = 'NonlinearFK_UnPackBodyMiscType' + integer(B4Ki) :: LB(2), UB(2) + integer(IntKi) :: stat + logical :: IsAllocAssoc + if (RF%ErrStat /= ErrID_None) return + call RegUnpackAlloc(RF, OutData%Nodes); if (RegCheckErr(RF, RoutineName)) return + call RegUnpackAlloc(RF, OutData%WaveElev); if (RegCheckErr(RF, RoutineName)) return +end subroutine + +subroutine NonlinearFK_CopyMisc(SrcMiscData, DstMiscData, CtrlCode, ErrStat, ErrMsg) + type(NonlinearFK_MiscVarType), intent(in) :: SrcMiscData + type(NonlinearFK_MiscVarType), intent(inout) :: DstMiscData + integer(IntKi), intent(in ) :: CtrlCode + integer(IntKi), intent( out) :: ErrStat + character(*), intent( out) :: ErrMsg + integer(B4Ki) :: i1 + integer(B4Ki) :: LB(1), UB(1) + integer(IntKi) :: ErrStat2 + character(ErrMsgLen) :: ErrMsg2 + character(*), parameter :: RoutineName = 'NonlinearFK_CopyMisc' + ErrStat = ErrID_None + ErrMsg = '' + if (allocated(SrcMiscData%Bodies)) then + LB(1:1) = lbound(SrcMiscData%Bodies) + UB(1:1) = ubound(SrcMiscData%Bodies) + if (.not. allocated(DstMiscData%Bodies)) then + allocate(DstMiscData%Bodies(LB(1):UB(1)), stat=ErrStat2) + if (ErrStat2 /= 0) then + call SetErrStat(ErrID_Fatal, 'Error allocating DstMiscData%Bodies.', ErrStat, ErrMsg, RoutineName) + return + end if + end if + do i1 = LB(1), UB(1) + call NonlinearFK_CopyBodyMiscType(SrcMiscData%Bodies(i1), DstMiscData%Bodies(i1), CtrlCode, ErrStat2, ErrMsg2) + call SetErrStat(ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName) + if (ErrStat >= AbortErrLev) return + end do + end if + call GridInterp_CopyMisc(SrcMiscData%WaveField_m, DstMiscData%WaveField_m, CtrlCode, ErrStat2, ErrMsg2) + call SetErrStat(ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName) + if (ErrStat >= AbortErrLev) return +end subroutine + +subroutine NonlinearFK_DestroyMisc(MiscData, ErrStat, ErrMsg) + type(NonlinearFK_MiscVarType), intent(inout) :: MiscData + integer(IntKi), intent( out) :: ErrStat + character(*), intent( out) :: ErrMsg + integer(B4Ki) :: i1 + integer(B4Ki) :: LB(1), UB(1) + integer(IntKi) :: ErrStat2 + character(ErrMsgLen) :: ErrMsg2 + character(*), parameter :: RoutineName = 'NonlinearFK_DestroyMisc' + ErrStat = ErrID_None + ErrMsg = '' + if (allocated(MiscData%Bodies)) then + LB(1:1) = lbound(MiscData%Bodies) + UB(1:1) = ubound(MiscData%Bodies) + do i1 = LB(1), UB(1) + call NonlinearFK_DestroyBodyMiscType(MiscData%Bodies(i1), ErrStat2, ErrMsg2) + call SetErrStat(ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName) + end do + deallocate(MiscData%Bodies) + end if + call GridInterp_DestroyMisc(MiscData%WaveField_m, ErrStat2, ErrMsg2) + call SetErrStat(ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName) +end subroutine + +subroutine NonlinearFK_PackMisc(RF, Indata) + type(RegFile), intent(inout) :: RF + type(NonlinearFK_MiscVarType), intent(in) :: InData + character(*), parameter :: RoutineName = 'NonlinearFK_PackMisc' + integer(B4Ki) :: i1 + integer(B4Ki) :: LB(1), UB(1) + if (RF%ErrStat >= AbortErrLev) return + call RegPack(RF, allocated(InData%Bodies)) + if (allocated(InData%Bodies)) then + call RegPackBounds(RF, 1, lbound(InData%Bodies), ubound(InData%Bodies)) + LB(1:1) = lbound(InData%Bodies) + UB(1:1) = ubound(InData%Bodies) + do i1 = LB(1), UB(1) + call NonlinearFK_PackBodyMiscType(RF, InData%Bodies(i1)) + end do + end if + call GridInterp_PackMisc(RF, InData%WaveField_m) + if (RegCheckErr(RF, RoutineName)) return +end subroutine + +subroutine NonlinearFK_UnPackMisc(RF, OutData) + type(RegFile), intent(inout) :: RF + type(NonlinearFK_MiscVarType), intent(inout) :: OutData + character(*), parameter :: RoutineName = 'NonlinearFK_UnPackMisc' + integer(B4Ki) :: i1 + integer(B4Ki) :: LB(1), UB(1) + integer(IntKi) :: stat + logical :: IsAllocAssoc + if (RF%ErrStat /= ErrID_None) return + if (allocated(OutData%Bodies)) deallocate(OutData%Bodies) + call RegUnpack(RF, IsAllocAssoc); if (RegCheckErr(RF, RoutineName)) return + if (IsAllocAssoc) then + call RegUnpackBounds(RF, 1, LB, UB); if (RegCheckErr(RF, RoutineName)) return + allocate(OutData%Bodies(LB(1):UB(1)),stat=stat) + if (stat /= 0) then + call SetErrStat(ErrID_Fatal, 'Error allocating OutData%Bodies.', RF%ErrStat, RF%ErrMsg, RoutineName) + return + end if + do i1 = LB(1), UB(1) + call NonlinearFK_UnpackBodyMiscType(RF, OutData%Bodies(i1)) ! Bodies + end do + end if + call GridInterp_UnpackMisc(RF, OutData%WaveField_m) ! WaveField_m +end subroutine + +END MODULE NonlinearFK_Types + +!ENDOFREGISTRYGENERATEDFILE diff --git a/modules/hydrodyn/src/WAMIT.f90 b/modules/hydrodyn/src/WAMIT.f90 index 606bef5713..af55300db6 100644 --- a/modules/hydrodyn/src/WAMIT.f90 +++ b/modules/hydrodyn/src/WAMIT.f90 @@ -201,7 +201,7 @@ SUBROUTINE WAMIT_Init( InitInp, u, p, x, xd, z, OtherState, y, m, Interval, ErrS INTEGER, ALLOCATABLE :: SortWvDirInd(:) ! The array of indices such that WAMITWvDir(SortWvDirInd(:)) is sorted from lowest to highest agnle (-) INTEGER :: Sttus ! Status returned by an attempted allocation or READ. INTEGER :: UnW1 ! I/O unit number for the WAMIT output file with the .1 extension; this file contains the linear, nondimensionalized, frequency-dependent solution to the radiation problem. - INTEGER :: UnW3 ! I/O unit number for the WAMIT output file with the .3 extension; this file contains the linear, nondimensionalized, frequency-dependent solution to the diffraction problem. + INTEGER :: UnW3 ! I/O unit number for the WAMIT output file with the .3/.3sc extension; this file contains the linear, nondimensionalized, frequency-dependent solution to the diffraction problem. INTEGER :: UnWh ! I/O unit number for the WAMIT output file with the .hst extension; this file contains the linear, nondimensionalized hydrostatic restoring matrix. LOGICAL :: FirstFreq ! When .TRUE., indicates we're still looping through the first frequency component. @@ -229,13 +229,14 @@ SUBROUTINE WAMIT_Init( InitInp, u, p, x, xd, z, OtherState, y, m, Interval, ErrS REAL(SiKi) :: tmpDir2 REAL(SiKi) :: AvgInpWvDirSpcg ! Average spacing of input wave directions used to check for potential gaps (deg) LOGICAL :: dirInRange - REAL(SiKi), PARAMETER :: WvDirTol = 0.001 ! Tolerance for wave heading in degrees + REAL(SiKi), PARAMETER :: WvDirTol = 0.001 ! Tolerance for wave heading in degrees ! Error handling CHARACTER(ErrMsgLen) :: ErrMsg2 ! Temporary error message for calls INTEGER(IntKi) :: ErrStat2 ! Temporary error status for calls COMPLEX(SiKi) :: Ctmp1, Ctmp2, Ctmp4, Ctmp5 ! Temporary COMPLEX transformation terms character(*), parameter :: RoutineName = 'WAMIT_Init' + character(4) :: dot3ext ! Initialize data @@ -262,7 +263,7 @@ SUBROUTINE WAMIT_Init( InitInp, u, p, x, xd, z, OtherState, y, m, Interval, ErrS p%NBodyMod = InitInp%NBodyMod p%NBody = InitInp%NBody ! In the context of this WAMIT object NBody is 1 if NBodyMod > 1 [there are NBody different WAMIT objects in this case] p%WaveField => InitInp%WaveField - p%PtfmYMod = InitInp%PtfmYMod + p%PtfmYMod = InitInp%PtfmYMod ! Set up wave excitation grid - Can no longer use the WaveField parameters due to different headings ! Copy WaveField grid parameters @@ -299,6 +300,19 @@ SUBROUTINE WAMIT_Init( InitInp, u, p, x, xd, z, OtherState, y, m, Interval, ErrS end do p%HasAddDOF = ( p%NDOF > 6*p%NBody ) + call AllocAry( p%FKMod , p%NBody, 'p%FKMod' , ErrStat2, ErrMsg2 ); CALL SetErrStat( ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName) + p%FKMod = InitInp%FKMod + if (all(p%FKMod==FKMod_full)) then + dot3ext = '.3sc' + else if (all(p%FKMod==FKMod_none)) then + dot3ext = '.3' + else + ErrStat = ErrID_Fatal + ErrMsg = RoutineName//": When simulating multiple potential-flow bodies with NBodyMod=1, all bodies must have the same FKMod. " + call cleanup() + return + end if + ! Allocate misc var and parameter vectors/matrices call AllocAry( p%F_HS_Moment_Offset, 6, p%NBody, 'p%F_HS_Moment_Offset', ErrStat2, ErrMsg2 ); CALL SetErrStat( ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName) call AllocAry( m%F_HS , p%NDOF, 'm%F_HS' , ErrStat2, ErrMsg2 ); CALL SetErrStat( ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName) @@ -316,13 +330,17 @@ SUBROUTINE WAMIT_Init( InitInp, u, p, x, xd, z, OtherState, y, m, Interval, ErrS call AllocAry( y%FAddDOF, p%NDOF-6*p%NBody, 'y%FAddDOF' , ErrStat2, ErrMsg2 ); CALL SetErrStat( ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName) end if - do iBody = 1, p%NBody - p%F_HS_Moment_Offset(1,iBody) = 0.0_ReKi - p%F_HS_Moment_Offset(2,iBody) = 0.0_ReKi - p%F_HS_Moment_Offset(3,iBody) = p%WaveField%RhoXg*InitInp%PtfmVol0(iBody) ! except for the hydrostatic buoyancy force from Archimede's Principle when the support platform is in its undisplaced position - p%F_HS_Moment_Offset(4,iBody) = p%WaveField%RhoXg*InitInp%PtfmVol0(iBody)*( InitInp%PtfmCOByt(iBody) - InitInp%PtfmRefyt(iBody) ) ! and the moment about X due to the COB being offset from the local WAMIT reference point - p%F_HS_Moment_Offset(5,iBody) = -p%WaveField%RhoXg*InitInp%PtfmVol0(iBody)*( InitInp%PtfmCOBxt(iBody) - InitInp%PtfmRefxt(iBody) ) ! and the moment about Y due to the COB being offset from the localWAMIT reference point - p%F_HS_Moment_Offset(6,iBody) = 0.0_ReKi + do iBody = 1, p%NBody + if (p%FKMod(iBody)==FKMod_full) then + p%F_HS_Moment_Offset(:,iBody) = 0.0_ReKi + else + p%F_HS_Moment_Offset(1,iBody) = 0.0_ReKi + p%F_HS_Moment_Offset(2,iBody) = 0.0_ReKi + p%F_HS_Moment_Offset(3,iBody) = p%WaveField%RhoXg*InitInp%PtfmVol0(iBody) ! except for the hydrostatic buoyancy force from Archimede's Principle when the support platform is in its undisplaced position + p%F_HS_Moment_Offset(4,iBody) = p%WaveField%RhoXg*InitInp%PtfmVol0(iBody)*( InitInp%PtfmCOByt(iBody) - InitInp%PtfmRefyt(iBody) ) ! and the moment about X due to the COB being offset from the local WAMIT reference point + p%F_HS_Moment_Offset(5,iBody) = -p%WaveField%RhoXg*InitInp%PtfmVol0(iBody)*( InitInp%PtfmCOBxt(iBody) - InitInp%PtfmRefxt(iBody) ) ! and the moment about Y due to the COB being offset from the localWAMIT reference point + p%F_HS_Moment_Offset(6,iBody) = 0.0_ReKi + end if end do ! Tell our nice users what is about to happen that may take a while: @@ -398,52 +416,54 @@ SUBROUTINE WAMIT_Init( InitInp, u, p, x, xd, z, OtherState, y, m, Interval, ErrS ! Linear restoring from the hydrostatics problem: - - CALL OpenFInpFile ( UnWh, TRIM(InitInp%WAMITFile)//'.hst', ErrStat2, ErrMsg2 ); IF (Failed()) RETURN ! Open file. p%HdroSttc (:,:) = 0.0 ! Initialize to zero + if (p%FKMod(1)==FKMod_none) then ! Currently requires all coupled bodies to have the same FKMod - DO ! Loop through all rows in the file + CALL OpenFInpFile ( UnWh, TRIM(InitInp%WAMITFile)//'.hst', ErrStat2, ErrMsg2 ); IF (Failed()) RETURN ! Open file. - READ (UnWh,*,IOSTAT=Sttus) I, J, TmpData1 ! Read in the row index, column index, and nondimensional data from the WAMIT file + DO ! Loop through all rows in the file - IF ( Sttus == 0 ) THEN ! .TRUE. when data is read in successfully + READ (UnWh,*,IOSTAT=Sttus) I, J, TmpData1 ! Read in the row index, column index, and nondimensional data from the WAMIT file - ! In case NBodyMod = 1, we now have WAMIT matrices which are potentially larger than 6x6, so we need to determine how the SttcDim multiplier matrix (a 6x6) - ! should be applied to the larger WAMIT matrix. + IF ( Sttus == 0 ) THEN ! .TRUE. when data is read in successfully - IF ( I > p%NDOF .or. J > p%NDOF ) THEN - CALL SetErrStat( ErrID_Fatal, ' WAMIT file "'//TRIM(InitInp%WAMITFile)//'.hst'//'" contains more modes than expected ('//trim(num2lstr(p%NDOF))//'). ', ErrStat, ErrMsg, RoutineName) - CALL Cleanup() - RETURN - END IF - - IF ( p%HasAddDOF ) THEN + ! In case NBodyMod = 1, we now have WAMIT matrices which are potentially larger than 6x6, so we need to determine how the SttcDim multiplier matrix (a 6x6) + ! should be applied to the larger WAMIT matrix. - p%HdroSttc (I,J) = TmpData1*SttcDimAdd ! Redimensionalize the data and place it at the appropriate location within the array + IF ( I > p%NDOF .or. J > p%NDOF ) THEN + CALL SetErrStat( ErrID_Fatal, ' WAMIT file "'//TRIM(InitInp%WAMITFile)//'.hst'//'" contains more modes than expected ('//trim(num2lstr(p%NDOF))//'). ', ErrStat, ErrMsg, RoutineName) + CALL Cleanup() + RETURN + END IF - ELSE + IF ( p%HasAddDOF ) THEN - iSub = mod(I-1,6)+1 ! Finds the 6x6 sub-matrix indexing for the SttcDim multiplier matrix - jSub = mod(J-1,6)+1 + p%HdroSttc (I,J) = TmpData1*SttcDimAdd ! Redimensionalize the data and place it at the appropriate location within the array - p%HdroSttc (I,J) = TmpData1*SttcDim(iSub,jSub) ! Redimensionalize the data and place it at the appropriate location within the array + ELSE - END IF + iSub = mod(I-1,6)+1 ! Finds the 6x6 sub-matrix indexing for the SttcDim multiplier matrix + jSub = mod(J-1,6)+1 - ELSE ! We must have reached the end of the file, so stop reading in data + p%HdroSttc (I,J) = TmpData1*SttcDim(iSub,jSub) ! Redimensionalize the data and place it at the appropriate location within the array - EXIT + END IF - END IF + ELSE ! We must have reached the end of the file, so stop reading in data - END DO ! End loop through all rows in the file + EXIT - CLOSE ( UnWh ) ! Close file. + END IF - ! need to transform p%HdroSttc when PtfmRefztRot is nonzero per plan - call TransformWAMITMatrices( p, InitInp%PtfmRefztRot, p%HdroSttc ) + END DO ! End loop through all rows in the file + CLOSE ( UnWh ) ! Close file. + + ! need to transform p%HdroSttc when PtfmRefztRot is nonzero per plan + call TransformWAMITMatrices( p, InitInp%PtfmRefztRot, p%HdroSttc ) + + end if ! Linear, frequency-dependent hydrodynamic added mass and damping from the @@ -691,7 +711,7 @@ SUBROUTINE WAMIT_Init( InitInp, u, p, x, xd, z, OtherState, y, m, Interval, ErrS ! excitation force per unit wave amplitude vector from the diffraction ! problem: - CALL OpenFInpFile ( UnW3, TRIM(InitInp%WAMITFile)//'.3', ErrStat2, ErrMsg2 ) ! Open file. + CALL OpenFInpFile ( UnW3, TRIM(InitInp%WAMITFile)//trim(dot3ext), ErrStat2, ErrMsg2 ) ! Open file. CALL SetErrStat( ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName) IF ( ErrStat >= AbortErrLev ) THEN CALL Cleanup() @@ -807,8 +827,8 @@ SUBROUTINE WAMIT_Init( InitInp, u, p, x, xd, z, OtherState, y, m, Interval, ErrS K = K + 1 END DO - IF ( TmpPer /= WAMITPer(K) ) THEN ! Abort if the .3 and .1 files do not contain the same frequency components (not counting zero and infinity) - ErrMsg2 = ' Other than zero and infinite frequencies, "' //TRIM(InitInp%WAMITFile)//'.3",' // & + IF ( ABS(TmpPer - WAMITPer(K))>1.0e-4_ReKi*WAMITPer(K) ) THEN ! Abort if the .3 and .1 files do not contain the same frequency components (not counting zero and infinity); allow for some difference due to formatting + ErrMsg2 = ' Other than zero and infinite frequencies, "'//TRIM(InitInp%WAMITFile)//trim(dot3ext)//'",' // & ' contains different frequency components than "'//TRIM(InitInp%WAMITFile)//'.1". '// & ' Both WAMIT output files must be generated from the same run.' CALL SetErrStat( ErrID_Fatal, ErrMsg2, ErrStat, ErrMsg, RoutineName) @@ -838,7 +858,7 @@ SUBROUTINE WAMIT_Init( InitInp, u, p, x, xd, z, OtherState, y, m, Interval, ErrS END DO ! I - All previous directions SortWvDirInd(J) = InsertInd ! Store the index such that WAMITWvDir(SortWvDirInd(:)) is sorted from lowest to highest direction ELSEIF ( TmpDir /= WAMITWvDir(J) ) THEN ! We must have looped through all directions at least once; so check to make sure all subsequent directions are consistent with the directions from the first frequency component, otherwise Abort - ErrMsg2 = ' Not every frequency component in "'//TRIM(InitInp%WAMITFile)//'.3"'// & + ErrMsg2 = ' Not every frequency component in "'//TRIM(InitInp%WAMITFile)//trim(dot3ext)//'"'// & ' contains the same listing of direction angles. Check for' // & ' errors in the WAMIT output file.' CALL SetErrStat( ErrID_Fatal, ErrMsg2, ErrStat, ErrMsg, RoutineName) @@ -889,7 +909,7 @@ SUBROUTINE WAMIT_Init( InitInp, u, p, x, xd, z, OtherState, y, m, Interval, ErrS RETURN END IF IF ( I > p%NDOF ) THEN - CALL SetErrStat( ErrID_Fatal, ' WAMIT file "'//TRIM(InitInp%WAMITFile)//'.3'//'" contains more modes than expected ('//trim(num2lstr(p%NDOF))//'). ', ErrStat, ErrMsg, RoutineName) + CALL SetErrStat( ErrID_Fatal, ' WAMIT file "'//TRIM(InitInp%WAMITFile)//trim(dot3ext)//'" contains more modes than expected ('//trim(num2lstr(p%NDOF))//'). ', ErrStat, ErrMsg, RoutineName) CALL Cleanup() RETURN END IF @@ -1052,14 +1072,14 @@ SUBROUTINE WAMIT_Init( InitInp, u, p, x, xd, z, OtherState, y, m, Interval, ErrS ! First do some check on the input wave heading angles IF ( (HdroWvDir(NInpWvDir)-HdroWvDir(1)) > (360.0+WvDirTol) ) THEN - CALL SetErrStat( ErrID_Fatal,' The difference between any pair of wave directions in '//TRIM(InitInp%WAMITFile)//'.3 should be less than or equal to 360 deg.',ErrStat,ErrMsg,RoutineName) + CALL SetErrStat( ErrID_Fatal,' The difference between any pair of wave directions in '//TRIM(InitInp%WAMITFile)//trim(dot3ext)//' should be less than or equal to 360 deg.',ErrStat,ErrMsg,RoutineName) END IF ! The input wave headings should cover a contiguous region of directions. Check for gaps and warn user. IF (NInpWvDir>1) THEN AvgInpWvDirSpcg = (HdroWvDir(NInpWvDir)-HdroWvDir(1))/REAL(NInpWvDir-1,SiKi) DO I = 2,NInpWvDir IF ( (HdroWvDir(I)-HdroWvDir(I-1)) > (3.0*AvgInpWvDirSpcg) ) THEN - CALL SetErrStat( ErrID_Warn,'The wave headings in '//TRIM(InitInp%WAMITFile)//'.3 is likely not contiguous with a gap between '//TRIM(Num2LStr(HdroWvDir(I-1)))//' and '//TRIM(Num2LStr(HdroWvDir(I)))//' degs.', & + CALL SetErrStat( ErrID_Warn,'The wave headings in '//TRIM(InitInp%WAMITFile)//trim(dot3ext)//' is likely not contiguous with a gap between '//TRIM(Num2LStr(HdroWvDir(I-1)))//' and '//TRIM(Num2LStr(HdroWvDir(I)))//' degs.', & ErrStat, ErrMsg, RoutineName) END IF END DO @@ -1078,7 +1098,7 @@ SUBROUTINE WAMIT_Init( InitInp, u, p, x, xd, z, OtherState, y, m, Interval, ErrS ! For robustness, check every single incident wave direction DO I = 0,InitInp%WaveField%NStepWave2 IF (.NOT. GetAngleInRange(InitInp%WaveField%WaveDirArr(I),MinAllowedWvDir,MaxAllowedWvDir,unusedReal)) THEN - CALL SetErrStat( ErrID_Fatal,TRIM(InitInp%WAMITFile)//'.3 does not cover the wave heading of '//TRIM(Num2LStr(InitInp%WaveField%WaveDirArr(I)))//' deg (in the global frame).', & + CALL SetErrStat( ErrID_Fatal,TRIM(InitInp%WAMITFile)//trim(dot3ext)//' does not cover the wave heading of '//TRIM(Num2LStr(InitInp%WaveField%WaveDirArr(I)))//' deg (in the global frame).', & ErrStat, ErrMsg, RoutineName) CALL Cleanup() RETURN @@ -1087,7 +1107,7 @@ SUBROUTINE WAMIT_Init( InitInp, u, p, x, xd, z, OtherState, y, m, Interval, ErrS ELSE IF ( InitInp%PtfmYMod == 1 ) THEN IF ( (.not. EqualRealNos( HdroWvDir(1),REAL(-180,SiKi))) .OR. (.not. EqualRealNos( HdroWvDir(NInpWvDir),REAL(180,SiKi))) ) THEN ErrMsg2 = 'With PtfmYMod=1, we need the lowest and highest wave headings to be exactly -180 deg and 180 deg, respectively, in "' & - //TRIM(InitInp%WAMITFile)//'.3" (inclusive).' + //TRIM(InitInp%WAMITFile)//trim(dot3ext)//'" (inclusive).' CALL SetErrStat( ErrID_Fatal, ErrMsg2, ErrStat, ErrMsg, RoutineName) CALL Cleanup() RETURN diff --git a/modules/hydrodyn/src/WAMIT.txt b/modules/hydrodyn/src/WAMIT.txt index 13bb2e67f1..5f6669bb97 100644 --- a/modules/hydrodyn/src/WAMIT.txt +++ b/modules/hydrodyn/src/WAMIT.txt @@ -18,6 +18,7 @@ usefrom SS_Radiation.txt usefrom SS_Excitation.txt usefrom SeaSt_WaveField.txt usefrom GridInterp.txt +usefrom NonlinearFK.txt typedef WAMIT/WAMIT InitInputType INTEGER NBody - - - "[>=1; only used when PotMod=1. If NBodyMod=1, the WAMIT data contains a vector of size 6*NBody x 1 and matrices of size 6*NBody x 6*NBody; if NBodyMod>1, there are NBody sets of WAMIT data each with a vector of size 6 x 1 and matrices of size 6 x 6]" - typedef ^ ^ INTEGER NBodyMod - - - "Body coupling model {1: include coupling terms between each body and NBody in HydroDyn equals NBODY in WAMIT, 2: neglect coupling terms between each body and NBODY=1 with XBODY=0 in WAMIT, 3: Neglect coupling terms between each body and NBODY=1 with XBODY=/0 in WAMIT} (switch) [only used when PotMod=1]" - @@ -32,6 +33,7 @@ typedef ^ ^ R8Ki typedef ^ ^ ReKi PtfmCOBxt {:} - - "" - typedef ^ ^ ReKi PtfmCOByt {:} - - "" - typedef ^ ^ INTEGER NAddDOF {:} - - "Number of additional generalized degrees of freedom" - +typedef ^ ^ INTEGER FKMod {:} - - "Body nonlinear Froude-Krylov and hydrostatic model (switch)" - typedef ^ ^ INTEGER RdtnMod - - - "" - typedef ^ ^ INTEGER ExctnMod - - - "" - typedef ^ ^ INTEGER ExctnDisp - - - "0: use undisplaced position, 1: use displaced position, 2: use low-pass filtered displaced position) [only used when PotMod=1 and ExctnMod>0]" - @@ -127,6 +129,7 @@ typedef ^ ^ DbKi typedef ^ ^ SeaSt_WaveFieldType *WaveField - - - "Pointer to wave field" typedef ^ ^ INTEGER PtfmYMod - - - "Large yaw model" - typedef ^ ^ GridInterp_ParameterType ExctnGridParams - - - "Parameters of WaveExctnGrid" - +typedef ^ ^ INTEGER FKMod {:} - - "Body nonlinear Froude-Krylov and hydrostatic model (switch)" - # # # ..... Inputs .................................................................................................................... diff --git a/modules/hydrodyn/src/WAMIT2.txt b/modules/hydrodyn/src/WAMIT2.txt index 9fa2e20306..429e77cc81 100644 --- a/modules/hydrodyn/src/WAMIT2.txt +++ b/modules/hydrodyn/src/WAMIT2.txt @@ -15,6 +15,7 @@ include Registry_NWTC_Library.txt usefrom SeaSt_WaveField.txt usefrom GridInterp.txt +usefrom NonlinearFK.txt param WAMIT2/WAMIT2 unused INTEGER MaxWAMIT2Outputs - 6 - "" - @@ -27,7 +28,6 @@ typedef ^ ^ ReKi PtfmRefxt typedef ^ ^ ReKi PtfmRefyt {:} - - "The yt offset of the body reference point(s) from (0,0,0) [1 to NBody; only used when PotMod=1; must be 0.0 if NBodyMod=2 ]" (m) typedef ^ ^ ReKi PtfmRefzt {:} - - "The zt offset of the body reference point(s) from (0,0,0) [1 to NBody; only used when PotMod=1; must be 0.0 if NBodyMod=2 ]" (m) typedef ^ ^ R8Ki PtfmRefztRot {:} - - "The rotation about zt of the body reference frame(s) from xt/yt" radians - typedef ^ ^ ReKi WAMITULEN - - - "WAMIT unit length scale" - typedef ^ ^ ReKi Gravity - - - "Supplied by Driver: Gravitational acceleration" (m/s^2) @@ -59,6 +59,7 @@ typedef ^ ^ GridInterp_MiscVarType WaveField_m # typedef ^ ParameterType INTEGER NBody - - - "[>=1; only used when PotMod=1. If NBodyMod=1, the WAMIT data contains a vector of size 6*NBody x 1 and matrices of size 6*NBody x 6*NBody; if NBodyMod>1, there are NBody sets of WAMIT data each with a vector of size 6 x 1 and matrices of size 6 x 6]" - typedef ^ ^ INTEGER NBodyMod - - - "Body coupling model {1: include coupling terms between each body and NBody in HydroDyn equals NBODY in WAMIT, 2: neglect coupling terms between each body and NBODY=1 with XBODY=0 in WAMIT, 3: Neglect coupling terms between each body and NBODY=1 with XBODY=/0 in WAMIT} (switch) [only used when PotMod=1]" - +typedef ^ ^ INTEGER FKMod {:} - - "Body nonlinear Froude-Krylov and hydrostatic model (switch)" - #The 2nd order force time series grid typedef ^ ^ SiKi WaveExctn2Grid {:}{:}{:}{:}{:} - - "Grid of time series of the resulting 2nd order force (Index 1: Time, Index 2: x, Index 3: y, Index 4: platform heading, and Index 5: load component)" (N) diff --git a/modules/hydrodyn/src/WAMIT2_Types.f90 b/modules/hydrodyn/src/WAMIT2_Types.f90 index 8cc965695e..d6e6c37dc2 100644 --- a/modules/hydrodyn/src/WAMIT2_Types.f90 +++ b/modules/hydrodyn/src/WAMIT2_Types.f90 @@ -32,6 +32,7 @@ MODULE WAMIT2_Types !--------------------------------------------------------------------------------------------------------------------------------- USE SeaSt_WaveField_Types +USE NonlinearFK_Types USE NWTC_Library IMPLICIT NONE INTEGER(IntKi), PUBLIC, PARAMETER :: MaxWAMIT2Outputs = 6 ! [-] @@ -72,6 +73,7 @@ MODULE WAMIT2_Types TYPE, PUBLIC :: WAMIT2_ParameterType INTEGER(IntKi) :: NBody = 0_IntKi !< [>=1; only used when PotMod=1. If NBodyMod=1, the WAMIT data contains a vector of size 6*NBody x 1 and matrices of size 6*NBody x 6*NBody; if NBodyMod>1, there are NBody sets of WAMIT data each with a vector of size 6 x 1 and matrices of size 6 x 6] [-] INTEGER(IntKi) :: NBodyMod = 0_IntKi !< Body coupling model {1: include coupling terms between each body and NBody in HydroDyn equals NBODY in WAMIT, 2: neglect coupling terms between each body and NBODY=1 with XBODY=0 in WAMIT, 3: Neglect coupling terms between each body and NBODY=1 with XBODY=/0 in WAMIT} (switch) [only used when PotMod=1] [-] + INTEGER(IntKi) , DIMENSION(:), ALLOCATABLE :: FKMod !< Body nonlinear Froude-Krylov and hydrostatic model (switch) [-] REAL(SiKi) , DIMENSION(:,:,:,:,:), ALLOCATABLE :: WaveExctn2Grid !< Grid of time series of the resulting 2nd order force (Index 1: Time, Index 2: x, Index 3: y, Index 4: platform heading, and Index 5: load component) [(N)] TYPE(GridInterp_ParameterType) :: Exctn2GridParams !< Parameters of WaveExctn2Grid [-] LOGICAL , DIMENSION(1:6) :: MnDriftDims = .false. !< Flags for which dimensions to calculate in MnDrift calculations [-] @@ -385,6 +387,18 @@ subroutine WAMIT2_CopyParam(SrcParamData, DstParamData, CtrlCode, ErrStat, ErrMs ErrMsg = '' DstParamData%NBody = SrcParamData%NBody DstParamData%NBodyMod = SrcParamData%NBodyMod + if (allocated(SrcParamData%FKMod)) then + LB(1:1) = lbound(SrcParamData%FKMod) + UB(1:1) = ubound(SrcParamData%FKMod) + if (.not. allocated(DstParamData%FKMod)) then + allocate(DstParamData%FKMod(LB(1):UB(1)), stat=ErrStat2) + if (ErrStat2 /= 0) then + call SetErrStat(ErrID_Fatal, 'Error allocating DstParamData%FKMod.', ErrStat, ErrMsg, RoutineName) + return + end if + end if + DstParamData%FKMod = SrcParamData%FKMod + end if if (allocated(SrcParamData%WaveExctn2Grid)) then LB(1:5) = lbound(SrcParamData%WaveExctn2Grid) UB(1:5) = ubound(SrcParamData%WaveExctn2Grid) @@ -421,6 +435,9 @@ subroutine WAMIT2_DestroyParam(ParamData, ErrStat, ErrMsg) character(*), parameter :: RoutineName = 'WAMIT2_DestroyParam' ErrStat = ErrID_None ErrMsg = '' + if (allocated(ParamData%FKMod)) then + deallocate(ParamData%FKMod) + end if if (allocated(ParamData%WaveExctn2Grid)) then deallocate(ParamData%WaveExctn2Grid) end if @@ -435,6 +452,7 @@ subroutine WAMIT2_PackParam(RF, Indata) if (RF%ErrStat >= AbortErrLev) return call RegPack(RF, InData%NBody) call RegPack(RF, InData%NBodyMod) + call RegPackAlloc(RF, InData%FKMod) call RegPackAlloc(RF, InData%WaveExctn2Grid) call GridInterp_PackParam(RF, InData%Exctn2GridParams) call RegPack(RF, InData%MnDriftDims) @@ -460,6 +478,7 @@ subroutine WAMIT2_UnPackParam(RF, OutData) if (RF%ErrStat /= ErrID_None) return call RegUnpack(RF, OutData%NBody); if (RegCheckErr(RF, RoutineName)) return call RegUnpack(RF, OutData%NBodyMod); if (RegCheckErr(RF, RoutineName)) return + call RegUnpackAlloc(RF, OutData%FKMod); if (RegCheckErr(RF, RoutineName)) return call RegUnpackAlloc(RF, OutData%WaveExctn2Grid); if (RegCheckErr(RF, RoutineName)) return call GridInterp_UnpackParam(RF, OutData%Exctn2GridParams) ! Exctn2GridParams call RegUnpack(RF, OutData%MnDriftDims); if (RegCheckErr(RF, RoutineName)) return diff --git a/modules/hydrodyn/src/WAMIT_Types.f90 b/modules/hydrodyn/src/WAMIT_Types.f90 index 7d850c9599..382381861c 100644 --- a/modules/hydrodyn/src/WAMIT_Types.f90 +++ b/modules/hydrodyn/src/WAMIT_Types.f90 @@ -34,6 +34,7 @@ MODULE WAMIT_Types USE Conv_Radiation_Types USE SS_Radiation_Types USE SS_Excitation_Types +USE NonlinearFK_Types USE NWTC_Library IMPLICIT NONE ! ========= WAMIT_InitInputType ======= @@ -51,6 +52,7 @@ MODULE WAMIT_Types REAL(ReKi) , DIMENSION(:), ALLOCATABLE :: PtfmCOBxt !< [-] REAL(ReKi) , DIMENSION(:), ALLOCATABLE :: PtfmCOByt !< [-] INTEGER(IntKi) , DIMENSION(:), ALLOCATABLE :: NAddDOF !< Number of additional generalized degrees of freedom [-] + INTEGER(IntKi) , DIMENSION(:), ALLOCATABLE :: FKMod !< Body nonlinear Froude-Krylov and hydrostatic model (switch) [-] INTEGER(IntKi) :: RdtnMod = 0_IntKi !< [-] INTEGER(IntKi) :: ExctnMod = 0_IntKi !< [-] INTEGER(IntKi) :: ExctnDisp = 0_IntKi !< 0: use undisplaced position, 1: use displaced position, 2: use low-pass filtered displaced position) [only used when PotMod=1 and ExctnMod>0] [-] @@ -139,6 +141,7 @@ MODULE WAMIT_Types TYPE(SeaSt_WaveFieldType) , POINTER :: WaveField => NULL() !< Pointer to wave field [-] INTEGER(IntKi) :: PtfmYMod = 0_IntKi !< Large yaw model [-] TYPE(GridInterp_ParameterType) :: ExctnGridParams !< Parameters of WaveExctnGrid [-] + INTEGER(IntKi) , DIMENSION(:), ALLOCATABLE :: FKMod !< Body nonlinear Froude-Krylov and hydrostatic model (switch) [-] END TYPE WAMIT_ParameterType ! ======================= ! ========= WAMIT_InputType ======= @@ -282,6 +285,18 @@ subroutine WAMIT_CopyInitInput(SrcInitInputData, DstInitInputData, CtrlCode, Err end if DstInitInputData%NAddDOF = SrcInitInputData%NAddDOF end if + if (allocated(SrcInitInputData%FKMod)) then + LB(1:1) = lbound(SrcInitInputData%FKMod) + UB(1:1) = ubound(SrcInitInputData%FKMod) + if (.not. allocated(DstInitInputData%FKMod)) then + allocate(DstInitInputData%FKMod(LB(1):UB(1)), stat=ErrStat2) + if (ErrStat2 /= 0) then + call SetErrStat(ErrID_Fatal, 'Error allocating DstInitInputData%FKMod.', ErrStat, ErrMsg, RoutineName) + return + end if + end if + DstInitInputData%FKMod = SrcInitInputData%FKMod + end if DstInitInputData%RdtnMod = SrcInitInputData%RdtnMod DstInitInputData%ExctnMod = SrcInitInputData%ExctnMod DstInitInputData%ExctnDisp = SrcInitInputData%ExctnDisp @@ -331,6 +346,9 @@ subroutine WAMIT_DestroyInitInput(InitInputData, ErrStat, ErrMsg) if (allocated(InitInputData%NAddDOF)) then deallocate(InitInputData%NAddDOF) end if + if (allocated(InitInputData%FKMod)) then + deallocate(InitInputData%FKMod) + end if call Conv_Rdtn_DestroyInitInput(InitInputData%Conv_Rdtn, ErrStat2, ErrMsg2) call SetErrStat(ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName) nullify(InitInputData%WaveField) @@ -355,6 +373,7 @@ subroutine WAMIT_PackInitInput(RF, Indata) call RegPackAlloc(RF, InData%PtfmCOBxt) call RegPackAlloc(RF, InData%PtfmCOByt) call RegPackAlloc(RF, InData%NAddDOF) + call RegPackAlloc(RF, InData%FKMod) call RegPack(RF, InData%RdtnMod) call RegPack(RF, InData%ExctnMod) call RegPack(RF, InData%ExctnDisp) @@ -399,6 +418,7 @@ subroutine WAMIT_UnPackInitInput(RF, OutData) call RegUnpackAlloc(RF, OutData%PtfmCOBxt); if (RegCheckErr(RF, RoutineName)) return call RegUnpackAlloc(RF, OutData%PtfmCOByt); if (RegCheckErr(RF, RoutineName)) return call RegUnpackAlloc(RF, OutData%NAddDOF); if (RegCheckErr(RF, RoutineName)) return + call RegUnpackAlloc(RF, OutData%FKMod); if (RegCheckErr(RF, RoutineName)) return call RegUnpack(RF, OutData%RdtnMod); if (RegCheckErr(RF, RoutineName)) return call RegUnpack(RF, OutData%ExctnMod); if (RegCheckErr(RF, RoutineName)) return call RegUnpack(RF, OutData%ExctnDisp); if (RegCheckErr(RF, RoutineName)) return @@ -996,6 +1016,18 @@ subroutine WAMIT_CopyParam(SrcParamData, DstParamData, CtrlCode, ErrStat, ErrMsg call GridInterp_CopyParam(SrcParamData%ExctnGridParams, DstParamData%ExctnGridParams, CtrlCode, ErrStat2, ErrMsg2) call SetErrStat(ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName) if (ErrStat >= AbortErrLev) return + if (allocated(SrcParamData%FKMod)) then + LB(1:1) = lbound(SrcParamData%FKMod) + UB(1:1) = ubound(SrcParamData%FKMod) + if (.not. allocated(DstParamData%FKMod)) then + allocate(DstParamData%FKMod(LB(1):UB(1)), stat=ErrStat2) + if (ErrStat2 /= 0) then + call SetErrStat(ErrID_Fatal, 'Error allocating DstParamData%FKMod.', ErrStat, ErrMsg, RoutineName) + return + end if + end if + DstParamData%FKMod = SrcParamData%FKMod + end if end subroutine subroutine WAMIT_DestroyParam(ParamData, ErrStat, ErrMsg) @@ -1037,6 +1069,9 @@ subroutine WAMIT_DestroyParam(ParamData, ErrStat, ErrMsg) nullify(ParamData%WaveField) call GridInterp_DestroyParam(ParamData%ExctnGridParams, ErrStat2, ErrMsg2) call SetErrStat(ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName) + if (allocated(ParamData%FKMod)) then + deallocate(ParamData%FKMod) + end if end subroutine subroutine WAMIT_PackParam(RF, Indata) @@ -1075,6 +1110,7 @@ subroutine WAMIT_PackParam(RF, Indata) end if call RegPack(RF, InData%PtfmYMod) call GridInterp_PackParam(RF, InData%ExctnGridParams) + call RegPackAlloc(RF, InData%FKMod) if (RegCheckErr(RF, RoutineName)) return end subroutine @@ -1129,6 +1165,7 @@ subroutine WAMIT_UnPackParam(RF, OutData) end if call RegUnpack(RF, OutData%PtfmYMod); if (RegCheckErr(RF, RoutineName)) return call GridInterp_UnpackParam(RF, OutData%ExctnGridParams) ! ExctnGridParams + call RegUnpackAlloc(RF, OutData%FKMod); if (RegCheckErr(RF, RoutineName)) return end subroutine subroutine WAMIT_CopyInput(SrcInputData, DstInputData, CtrlCode, ErrStat, ErrMsg) From 908df4993bf380eb3ec7cc1c928a921afea66cef Mon Sep 17 00:00:00 2001 From: Lu Wang Date: Mon, 18 May 2026 13:17:31 -0600 Subject: [PATCH 02/12] Update HD summary file for nonlinear Froude-Krylov bodies --- modules/hydrodyn/src/HydroDyn.f90 | 70 +++++++---- modules/hydrodyn/src/HydroDyn.txt | 7 +- modules/hydrodyn/src/HydroDyn_Types.f90 | 14 ++- modules/hydrodyn/src/NonlinearFK.f90 | 140 ++++++++++++++------- modules/hydrodyn/src/NonlinearFK.txt | 6 + modules/hydrodyn/src/NonlinearFK_Types.f90 | 138 ++++++++++++++++++++ 6 files changed, 298 insertions(+), 77 deletions(-) diff --git a/modules/hydrodyn/src/HydroDyn.f90 b/modules/hydrodyn/src/HydroDyn.f90 index e48a4a7507..7a7e937605 100644 --- a/modules/hydrodyn/src/HydroDyn.f90 +++ b/modules/hydrodyn/src/HydroDyn.f90 @@ -421,24 +421,6 @@ SUBROUTINE HydroDyn_Init( InitInp, u, p, x, xd, z, OtherState, y, m, Interval, I call AllocAry( m%F_PtfmAdd, p%NDOF, "m%F_PtfmAdd", ErrStat2, ErrMsg2 ); call SetErrStat( ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName ) call AllocAry( m%F_Waves , p%NDOF, "m%F_Waves" , ErrStat2, ErrMsg2 ); call SetErrStat( ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName ) - ! Generate Summary file information for WAMIT module - ! Compute the load contribution from hydrostatics: - IF ( InputFileData%UnSum > 0 ) THEN - do iBody = 1, InputFileData%NBody - WRITE( InputFileData%UnSum, '(A18,I5)') 'WAMIT Model - Body',iBody - WRITE( InputFileData%UnSum, '(A18)') '------------------' - WRITE( InputFileData%UnSum, '(A42,2X,ES15.6)') 'Displaced volume (m^3) :', InputFileData%PtfmVol0(iBody) - WRITE( InputFileData%UnSum, '(A42,2X,ES15.6)') 'X-offset of the center of buoyancy (m) :', InputFileData%PtfmCOBxt(iBody) - WRITE( InputFileData%UnSum, '(A42,2X,ES15.6)') 'Y-offset of the center of buoyancy (m) :', InputFileData%PtfmCOByt(iBody) - WRITE( InputFileData%UnSum, '(/)' ) - WRITE( InputFileData%UnSum, '(A81)' ) 'Buoyancy loads from members modelled with WAMIT, summed about ( 0.0, 0.0, 0.0 )' - WRITE( InputFileData%UnSum, '(18x,6(2X,A20))' ) ' BuoyFxi ', ' BuoyFyi ', ' BuoyFzi ', ' BuoyMxi ', ' BuoyMyi ', ' BuoyMzi ' - WRITE( InputFileData%UnSum, '(18x,6(2X,A20))' ) ' (N) ', ' (N) ', ' (N) ', ' (N-m) ', ' (N-m) ', ' (N-m) ' - WRITE( InputFileData%UnSum, '(A18,6(2X,ES20.6))') ' External: ',0.0,0.0,p%WaveField%RhoXg*InputFileData%PtfmVol0(iBody),p%WaveField%RhoXg*InputFileData%PtfmVol0(iBody)*InputFileData%PtfmCOByt(iBody), -p%WaveField%RhoXg*InputFileData%PtfmVol0(iBody)*InputFileData%PtfmCOBxt(iBody), 0.0 ! and the moment about Y due to the COB being offset from the WAMIT reference point - end do - END IF - - !----------------------------------------- ! Initialize the WAMIT2 Calculations !----------------------------------------- @@ -539,21 +521,61 @@ SUBROUTINE HydroDyn_Init( InitInp, u, p, x, xd, z, OtherState, y, m, Interval, I ENDIF ! Nonlinear FK bodies - CALL AllocAry( InputFileData%NonlinearFK%FKMod, InputFileData%nBody, 'FKMod', ErrStat2, ErrMsg2) - CALL SetErrStat( ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName ) + call AllocAry( InputFileData%NonlinearFK%FKMod , InputFileData%nBody, 'FKMod' , ErrStat2, ErrMsg2 ); CALL SetErrStat( ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName ) + call AllocAry( InputFileData%NonlinearFK%GeoFile , InputFileData%nBody, 'GeoFile' , ErrStat2, ErrMsg2 ); CALL SetErrStat( ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName ) + call AllocAry( InputFileData%NonlinearFK%PtfmRefxt , InputFileData%NBody, "PtfmRefxt" , ErrStat2, ErrMsg2 ); call SetErrStat( ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName ) + call AllocAry( InputFileData%NonlinearFK%PtfmRefyt , InputFileData%NBody, "PtfmRefyt" , ErrStat2, ErrMsg2 ); call SetErrStat( ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName ) + call AllocAry( InputFileData%NonlinearFK%PtfmRefzt , InputFileData%NBody, "PtfmRefzt" , ErrStat2, ErrMsg2 ); call SetErrStat( ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName ) + call AllocAry( InputFileData%NonlinearFK%PtfmRefztRot, InputFileData%NBody, "PtfmRefztRot", ErrStat2, ErrMsg2 ); call SetErrStat( ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName ) + InputFileData%NonlinearFK%nBody = InputFileData%nBody InputFileData%NonlinearFK%FKMod = InputFileData%FKMod - CALL AllocAry( InputFileData%NonlinearFK%GeoFile, InputFileData%nBody, 'GeoFile', ErrStat2, ErrMsg2) - CALL SetErrStat( ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName ) do i = 1, p%nBody InputFileData%NonlinearFK%GeoFile(i) = InputFileData%GeoFile(i) end do - InputFileData%NonlinearFK%nBody = InputFileData%nBody - CALL NonlinearFK_Init(InputFileData%NonlinearFK, p%NonlinearFK, m%NonlinearFK, ErrStat2, ErrMsg2) + InputFileData%NonlinearFK%PtfmRefxt = InputFileData%PtfmRefxt + InputFileData%NonlinearFK%PtfmRefyt = InputFileData%PtfmRefyt + InputFileData%NonlinearFK%PtfmRefzt = InputFileData%PtfmRefzt + InputFileData%NonlinearFK%PtfmRefztRot = InputFileData%PtfmRefztRot + CALL NonlinearFK_Init(InputFileData%NonlinearFK, p%NonlinearFK, m%NonlinearFK, InitOut%NonlinearFK, ErrStat2, ErrMsg2) CALL SetErrStat(ErrStat2,ErrMsg2,ErrStat,ErrMsg,RoutineName) IF ( ErrStat >= AbortErrLev ) THEN CALL CleanUp() RETURN END IF + + ! Generate Summary file information for WAMIT module + ! Compute the load contribution from hydrostatics: + IF ( InputFileData%UnSum > 0 ) THEN + do iBody = 1, InputFileData%NBody + WRITE( InputFileData%UnSum, '(A18,I5)') 'WAMIT Model - Body',iBody + WRITE( InputFileData%UnSum, '(A18)') '------------------' + select case (InputFileData%FKMod(iBody)) + case (FKMod_none) + WRITE( InputFileData%UnSum, '(A64)') 'No mesh-based Froude-Krylov and hydrostatic load calculation. ' + WRITE( InputFileData%UnSum, '(/)' ) + WRITE( InputFileData%UnSum, '(A42,2X,ES15.6)') 'Displaced volume (m^3) :', InputFileData%PtfmVol0(iBody) + WRITE( InputFileData%UnSum, '(A42,2X,ES15.6)') 'X-offset of the center of buoyancy (m) :', InputFileData%PtfmCOBxt(iBody) + WRITE( InputFileData%UnSum, '(A42,2X,ES15.6)') 'Y-offset of the center of buoyancy (m) :', InputFileData%PtfmCOByt(iBody) + WRITE( InputFileData%UnSum, '(/)' ) + WRITE( InputFileData%UnSum, '(A81)' ) 'Buoyancy loads from members modelled with WAMIT, summed about ( 0.0, 0.0, 0.0 )' + WRITE( InputFileData%UnSum, '(18x,6(2X,A20))' ) ' BuoyFxi ', ' BuoyFyi ', ' BuoyFzi ', ' BuoyMxi ', ' BuoyMyi ', ' BuoyMzi ' + WRITE( InputFileData%UnSum, '(18x,6(2X,A20))' ) ' (N) ', ' (N) ', ' (N) ', ' (N-m) ', ' (N-m) ', ' (N-m) ' + WRITE( InputFileData%UnSum, '(A18,6(2X,ES20.6))') ' External: ',0.0,0.0,p%WaveField%RhoXg*InputFileData%PtfmVol0(iBody),p%WaveField%RhoXg*InputFileData%PtfmVol0(iBody)*InputFileData%PtfmCOByt(iBody), -p%WaveField%RhoXg*InputFileData%PtfmVol0(iBody)*InputFileData%PtfmCOBxt(iBody), 0.0 ! and the moment about Y due to the COB being offset from the WAMIT reference point + case (FKMod_full) + WRITE( InputFileData%UnSum, '(A64)') 'Mesh-based Froude-Krylov and hydrostatic load calculation. ' + WRITE( InputFileData%UnSum, '(/)' ) + WRITE( InputFileData%UnSum, '(A42,2X,I15)') 'Number of unique mesh vertices :', p%NonlinearFK%Bodies(iBody)%n_nodes + WRITE( InputFileData%UnSum, '(A42,2X,I15)') 'Number of mesh trianglar faces :', p%NonlinearFK%Bodies(iBody)%n_tris + WRITE( InputFileData%UnSum, '(A42,2X,ES15.6)') 'Total volume of closed body (m^3) :', p%NonlinearFK%Bodies(iBody)%volume + WRITE( InputFileData%UnSum, '(/)' ) + WRITE( InputFileData%UnSum, '(A81)' ) 'Buoyancy loads computed from mesh, summed about ( 0.0, 0.0, 0.0 )' + WRITE( InputFileData%UnSum, '(18x,6(2X,A20))' ) ' BuoyFxi ', ' BuoyFyi ', ' BuoyFzi ', ' BuoyMxi ', ' BuoyMyi ', ' BuoyMzi ' + WRITE( InputFileData%UnSum, '(18x,6(2X,A20))' ) ' (N) ', ' (N) ', ' (N) ', ' (N-m) ', ' (N-m) ', ' (N-m) ' + WRITE( InputFileData%UnSum, '(A18,6(2X,ES20.6))') ' External: ',InitOut%NonlinearFK%Buoyancy(:,iBody) + end select + end do + END IF + #ifdef USE_FIT ELSE IF ( InputFileData%PotMod == 2 ) THEN ! FIT ! Set up the Initialization data for FIT diff --git a/modules/hydrodyn/src/HydroDyn.txt b/modules/hydrodyn/src/HydroDyn.txt index e51dcc001c..d598afc14a 100644 --- a/modules/hydrodyn/src/HydroDyn.txt +++ b/modules/hydrodyn/src/HydroDyn.txt @@ -49,9 +49,9 @@ typedef ^ ^ ReKi typedef ^ ^ LOGICAL HasWAMIT - - - ".TRUE. if using WAMIT model, .FALSE. otherwise" - typedef ^ ^ LOGICAL HasAddDOF - - - ".TRUE. if additional generalized DOF are present, .FALSE. otherwise" - typedef ^ ^ ReKi WAMITULEN {:} - - "" - -typedef ^ ^ ReKi PtfmRefxt {:} - - "The xt offset of the body reference point(s) from (0,0,0) [1 to NBody; only used when PotMod=1; must be 0.0 if NBodyMod=2 ]" (m) -typedef ^ ^ ReKi PtfmRefyt {:} - - "The yt offset of the body reference point(s) from (0,0,0) [1 to NBody; only used when PotMod=1; must be 0.0 if NBodyMod=2 ]" (m) -typedef ^ ^ ReKi PtfmRefzt {:} - - "The zt offset of the body reference point(s) from (0,0,0) [1 to NBody; only used when PotMod=1; must be 0.0 if NBodyMod=2 ]" (m) +typedef ^ ^ ReKi PtfmRefxt {:} - - "The xt offset of the body reference point(s) from (0,0,0) [1 to NBody; only used when PotMod=1]" (m) +typedef ^ ^ ReKi PtfmRefyt {:} - - "The yt offset of the body reference point(s) from (0,0,0) [1 to NBody; only used when PotMod=1]" (m) +typedef ^ ^ ReKi PtfmRefzt {:} - - "The zt offset of the body reference point(s) from (0,0,0) [1 to NBody; only used when PotMod=1]" (m) typedef ^ ^ R8Ki PtfmRefztRot {:} - - "The rotation about zt of the body reference frame(s) from xt/yt" radians typedef ^ ^ ReKi PtfmCOBxt {:} - - "" - typedef ^ ^ ReKi PtfmCOByt {:} - - "" - @@ -95,6 +95,7 @@ typedef ^ ^ ReKi # typedef ^ InitOutputType ModVarsType Vars - - - "Module Variables" - typedef ^ InitOutputType Morison_InitOutputType Morison - - - "Initialization output from the Morison module" - +typedef ^ InitOutputType NonlinearFK_InitOutputType NonlinearFK - - - "Initialization output from the Nonlinear F-K module" - typedef ^ InitOutputType CHARACTER(ChanLen) WriteOutputHdr {:} - - "The is the list of all HD-related output channel header strings (includes all sub-module channels)" - typedef ^ ^ CHARACTER(ChanLen) WriteOutputUnt {:} - - "The is the list of all HD-related output channel unit strings (includes all sub-module channels)" - typedef ^ ^ ProgDesc Ver - - - "Version of HydroDyn" diff --git a/modules/hydrodyn/src/HydroDyn_Types.f90 b/modules/hydrodyn/src/HydroDyn_Types.f90 index 7b3af1da27..9c5ec6da5d 100644 --- a/modules/hydrodyn/src/HydroDyn_Types.f90 +++ b/modules/hydrodyn/src/HydroDyn_Types.f90 @@ -61,9 +61,9 @@ MODULE HydroDyn_Types LOGICAL :: HasWAMIT = .false. !< .TRUE. if using WAMIT model, .FALSE. otherwise [-] LOGICAL :: HasAddDOF = .false. !< .TRUE. if additional generalized DOF are present, .FALSE. otherwise [-] REAL(ReKi) , DIMENSION(:), ALLOCATABLE :: WAMITULEN !< [-] - REAL(ReKi) , DIMENSION(:), ALLOCATABLE :: PtfmRefxt !< The xt offset of the body reference point(s) from (0,0,0) [1 to NBody; only used when PotMod=1; must be 0.0 if NBodyMod=2 ] [(m)] - REAL(ReKi) , DIMENSION(:), ALLOCATABLE :: PtfmRefyt !< The yt offset of the body reference point(s) from (0,0,0) [1 to NBody; only used when PotMod=1; must be 0.0 if NBodyMod=2 ] [(m)] - REAL(ReKi) , DIMENSION(:), ALLOCATABLE :: PtfmRefzt !< The zt offset of the body reference point(s) from (0,0,0) [1 to NBody; only used when PotMod=1; must be 0.0 if NBodyMod=2 ] [(m)] + REAL(ReKi) , DIMENSION(:), ALLOCATABLE :: PtfmRefxt !< The xt offset of the body reference point(s) from (0,0,0) [1 to NBody; only used when PotMod=1] [(m)] + REAL(ReKi) , DIMENSION(:), ALLOCATABLE :: PtfmRefyt !< The yt offset of the body reference point(s) from (0,0,0) [1 to NBody; only used when PotMod=1] [(m)] + REAL(ReKi) , DIMENSION(:), ALLOCATABLE :: PtfmRefzt !< The zt offset of the body reference point(s) from (0,0,0) [1 to NBody; only used when PotMod=1] [(m)] REAL(R8Ki) , DIMENSION(:), ALLOCATABLE :: PtfmRefztRot !< The rotation about zt of the body reference frame(s) from xt/yt [radians] REAL(ReKi) , DIMENSION(:), ALLOCATABLE :: PtfmCOBxt !< [-] REAL(ReKi) , DIMENSION(:), ALLOCATABLE :: PtfmCOByt !< [-] @@ -110,6 +110,7 @@ MODULE HydroDyn_Types TYPE, PUBLIC :: HydroDyn_InitOutputType TYPE(ModVarsType) :: Vars !< Module Variables [-] TYPE(Morison_InitOutputType) :: Morison !< Initialization output from the Morison module [-] + TYPE(NonlinearFK_InitOutputType) :: NonlinearFK !< Initialization output from the Nonlinear F-K module [-] CHARACTER(ChanLen) , DIMENSION(:), ALLOCATABLE :: WriteOutputHdr !< The is the list of all HD-related output channel header strings (includes all sub-module channels) [-] CHARACTER(ChanLen) , DIMENSION(:), ALLOCATABLE :: WriteOutputUnt !< The is the list of all HD-related output channel unit strings (includes all sub-module channels) [-] TYPE(ProgDesc) :: Ver !< Version of HydroDyn [-] @@ -812,6 +813,9 @@ subroutine HydroDyn_CopyInitOutput(SrcInitOutputData, DstInitOutputData, CtrlCod call Morison_CopyInitOutput(SrcInitOutputData%Morison, DstInitOutputData%Morison, CtrlCode, ErrStat2, ErrMsg2) call SetErrStat(ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName) if (ErrStat >= AbortErrLev) return + call NonlinearFK_CopyInitOutput(SrcInitOutputData%NonlinearFK, DstInitOutputData%NonlinearFK, CtrlCode, ErrStat2, ErrMsg2) + call SetErrStat(ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName) + if (ErrStat >= AbortErrLev) return if (allocated(SrcInitOutputData%WriteOutputHdr)) then LB(1:1) = lbound(SrcInitOutputData%WriteOutputHdr) UB(1:1) = ubound(SrcInitOutputData%WriteOutputHdr) @@ -854,6 +858,8 @@ subroutine HydroDyn_DestroyInitOutput(InitOutputData, ErrStat, ErrMsg) call SetErrStat(ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName) call Morison_DestroyInitOutput(InitOutputData%Morison, ErrStat2, ErrMsg2) call SetErrStat(ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName) + call NonlinearFK_DestroyInitOutput(InitOutputData%NonlinearFK, ErrStat2, ErrMsg2) + call SetErrStat(ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName) if (allocated(InitOutputData%WriteOutputHdr)) then deallocate(InitOutputData%WriteOutputHdr) end if @@ -871,6 +877,7 @@ subroutine HydroDyn_PackInitOutput(RF, Indata) if (RF%ErrStat >= AbortErrLev) return call NWTC_Library_PackModVarsType(RF, InData%Vars) call Morison_PackInitOutput(RF, InData%Morison) + call NonlinearFK_PackInitOutput(RF, InData%NonlinearFK) call RegPackAlloc(RF, InData%WriteOutputHdr) call RegPackAlloc(RF, InData%WriteOutputUnt) call NWTC_Library_PackProgDesc(RF, InData%Ver) @@ -887,6 +894,7 @@ subroutine HydroDyn_UnPackInitOutput(RF, OutData) if (RF%ErrStat /= ErrID_None) return call NWTC_Library_UnpackModVarsType(RF, OutData%Vars) ! Vars call Morison_UnpackInitOutput(RF, OutData%Morison) ! Morison + call NonlinearFK_UnpackInitOutput(RF, OutData%NonlinearFK) ! NonlinearFK call RegUnpackAlloc(RF, OutData%WriteOutputHdr); if (RegCheckErr(RF, RoutineName)) return call RegUnpackAlloc(RF, OutData%WriteOutputUnt); if (RegCheckErr(RF, RoutineName)) return call NWTC_Library_UnpackProgDesc(RF, OutData%Ver) ! Ver diff --git a/modules/hydrodyn/src/NonlinearFK.f90 b/modules/hydrodyn/src/NonlinearFK.f90 index fa604858a8..0d9a6f93ce 100644 --- a/modules/hydrodyn/src/NonlinearFK.f90 +++ b/modules/hydrodyn/src/NonlinearFK.f90 @@ -27,10 +27,11 @@ module NonlinearFK contains -subroutine NonlinearFK_Init(InitInp, p, m, ErrStat, ErrMsg) +subroutine NonlinearFK_Init(InitInp, p, m, InitOut, ErrStat, ErrMsg) type(NonlinearFK_InitInputType), intent(in ) :: InitInp type(NonlinearFK_ParameterType), intent(inout) :: p type(NonlinearFK_MiscVarType), intent(inout) :: m + type(NonlinearFK_InitOutputType),intent( out) :: InitOut integer(IntKi), intent( out) :: ErrStat !< Error status of the operation character(*), intent( out) :: ErrMsg !< Error message if ErrStat /= ErrID_None @@ -49,23 +50,32 @@ subroutine NonlinearFK_Init(InitInp, p, m, ErrStat, ErrMsg) CALL AllocAry( p%FKMod, p%nBody, 'FKMod', ErrStat2, ErrMsg2); if (Failed()) return p%FKMod = InitInp%FKMod - allocate( p%Bodies(p%nBody) , stat=ErrStat2) + allocate( p%Bodies(p%nBody), stat=ErrStat2) if (ErrStat2 /= 0) then ErrStat = ErrID_Fatal ErrMsg = trim(RoutineName)//": Failed to allocate memory for p%Bodies." return end if - allocate( m%Bodies(p%nBody) , stat=ErrStat2) + allocate( m%Bodies(p%nBody), stat=ErrStat2) if (ErrStat2 /= 0) then ErrStat = ErrID_Fatal ErrMsg = trim(RoutineName)//": Failed to allocate memory for m%Bodies." return end if + allocate( InitOut%Buoyancy(6,p%nBody), stat=ErrStat2) + if (ErrStat2 /= 0) then + ErrStat = ErrID_Fatal + ErrMsg = trim(RoutineName)//": Failed to allocate memory for InitOut%Buoyancy." + return + end if + InitOut%Buoyancy = 0.0_ReKi do i=1,p%nBody if (p%FKMod(i) /= FKMod_none) then call read_ascii_stl(InitInp%GeoFile(i), STLGeom, ErrStat2, ErrMsg2); if (Failed()) return - call Body_Init(STLGeom, p%Bodies(i), m%Bodies(i), ErrStat2, ErrMsg2); if (Failed()) return + call Body_Init(STLGeom, [InitInp%PtfmRefxt(i),InitInp%PtfmRefyt(i),InitInp%PtfmRefzt(i)], InitInp%PtfmRefztRot(i), & + p%Bodies(i), m%Bodies(i), p%WaveField%RhoXg, p%WaveField%MSL2SWL, InitOut%Buoyancy(:,i), ErrStat2, ErrMsg2) + if (Failed()) return end if end do @@ -180,38 +190,48 @@ subroutine read_ascii_stl(filename, STLGeom, ErrStat, ErrMsg) end subroutine read_ascii_stl -subroutine Body_Init(STLGeom,body,m_body,ErrStat,ErrMsg) +subroutine Body_Init(STLGeom,PtfmRefPt,PtfmRefztRot,body,m_body,RhoXg,MSL2SWL,Buoyancy,ErrStat,ErrMsg) type(STLGeomType), intent(in ) :: STLGeom + real(ReKi), intent(in ) :: PtfmRefPt(3) + real(ReKi), intent(in ) :: PtfmRefztRot type(BodyType), intent(inout) :: body type(BodyMiscType), intent(inout) :: m_body + real(SiKi), intent(in ) :: RhoXg + real(ReKi), intent(in ) :: MSL2SWL + real(ReKi), intent( out) :: buoyancy(6) integer(IntKi), intent( out) :: ErrStat !< Error status of the operation character(*), intent( out) :: ErrMsg !< Error message if ErrStat /= ErrID_None - integer(IntKi) :: i, iQdrt - real(ReKi) :: int_x(3),int_y(3),int_z(3),vol(3) - real(ReKi) :: q_pos(3) - real(ReKi) :: An(3) - ! Local variables - integer(IntKi) :: iTri, iCorner, iUnique - integer(IntKi) :: current_idx - real(ReKi) :: v_raw(3) - real(ReKi) :: dist2 - logical :: found_match - - ! Tolerance for merging vertices (squared to avoid sqrt() calls) - ! 1.0d-8 is usually safe for CAD/STL output in meters. - real(ReKi), parameter :: tol = 1.0E-4_ReKi - real(ReKi), parameter :: tol2 = tol * tol - + integer(IntKi) :: iTri, iCorner, iUnique + integer(IntKi) :: current_idx + real(ReKi) :: v_raw(3) + real(ReKi) :: dist2 + logical :: found_match + integer(IntKi) :: i, j, iQdrt, n_sub + real(ReKi) :: vol(3) + real(ReKi) :: q_pos(3,nQdrt) + real(ReKi) :: nds(3) + real(R8Ki) :: R(3,3) + real(ReKi) :: d(3) + real(ReKi) :: RhoXgLocal + real(ReKi) :: dF(3), rXnds(3), Force(3), Moment(3) + type(triangle3D) :: sub_tris(2) + integer(IntKi) :: ErrStat2 + character(ErrMsgLen) :: ErrMsg2 character(*), parameter :: RoutineName = "Body_Init" - integer(IntKi) :: ErrStat2 + ! Tolerance for merging vertices (squared to avoid sqrt() calls) + real(ReKi), parameter :: tol = 1.0E-4_ReKi + real(ReKi), parameter :: tol2 = tol * tol ! Initialize variables ErrStat = ErrID_None ErrMsg = "" + RhoXgLocal = real(RhoXg,ReKi) + body%PtfmRefPt = PtfmRefPt + ! 1. Pre-allocate maximum possible sizes ! Worst case: every triangle is completely disconnected allocate(body%nodes(3, STLGeom%n_tris * 3), stat=ErrStat2) @@ -284,6 +304,10 @@ subroutine Body_Init(STLGeom,body,m_body,ErrStat,ErrMsg) end block end if + ! 4. Rotate the nodes based on PtfmRefztRot + R = reshape([cos(PtfmRefztRot),sin(PtfmRefztRot),0.0_R8Ki,-sin(PtfmRefztRot),cos(PtfmRefztRot),0.0_R8Ki,0.0_R8Ki,0.0_R8Ki,1.0_R8Ki],[3,3]) + body%Nodes = matmul(R,body%nodes) + ! Allocate MiscVars for this body allocate(m_body%Nodes(3,body%n_nodes),stat=ErrStat2) if (ErrStat2 /= 0) then @@ -301,36 +325,57 @@ subroutine Body_Init(STLGeom,body,m_body,ErrStat,ErrMsg) m_body%WaveElev = 0.0_ReKi ! Compute and check total volume - int_x = 0.0_ReKi - int_y = 0.0_ReKi - int_z = 0.0_ReKi + vol = 0.0_ReKi do i = 1,body%n_tris associate( v1 => body%Nodes(:,body%tris(1,i)), & v2 => body%Nodes(:,body%tris(2,i)), & v3 => body%Nodes(:,body%tris(3,i)) ) - An = 0.5_ReKi * cross_product(v2-v1, v3-v2) - do iQdrt = 1,nQdrt - q_pos = Qdrt_L(1,iQdrt)*v1 + & - Qdrt_L(2,iQdrt)*v2 + & - Qdrt_L(3,iQdrt)*v3 - int_x = int_x + q_pos(1) * Qdrt_W(iQdrt) * An - int_y = int_y + q_pos(2) * Qdrt_W(iQdrt) * An - int_z = int_z + q_pos(3) * Qdrt_W(iQdrt) * An - end do + nds = 0.5_ReKi * cross_product(v2-v1, v3-v2) + q_pos = matmul( reshape([v1,v2,v3],[3,3]) , Qdrt_L ) + vol = vol + matmul( q_pos, Qdrt_W) * nds end associate end do - vol(1) = int_x(1) - vol(2) = int_y(2) - vol(3) = int_z(3) body%volume = sum(vol)/3.0_ReKi - ! print *,body%volume, vol - ! To-Do: check that vol(1), vol(2), and vol(3) are close. Print to summary file. - + do i = 1,3 + if (abs(vol(i)-body%volume)>body%volume*1.0E-6_ReKi) then + ErrStat = ErrID_Fatal + ErrMsg = " Inconsistent volumes computed for nonlinear F-K body. Check mesh validity and gaps. " + return + end if + end do if (body%volume<=0.0_ReKi) then - ErrStat = ErrID_Fatal + ErrStat = ErrID_Fatal ErrMsg = " Nonlinear F-K body has negative volume. Check normal direction of stl file. " + return end if + ! Compute buoyancy on undisplaced structure (moment is about global origin) + d = PtfmRefPt + d(3) = d(3) - MSL2SWL + m_body%Nodes(1,:) = body%Nodes(1,:) + d(1) + m_body%Nodes(2,:) = body%Nodes(2,:) + d(2) + m_body%Nodes(3,:) = body%Nodes(3,:) + d(3) + Force = 0.0_ReKi + Moment = 0.0_ReKi + do i = 1,body%n_tris + associate( v1 => m_body%Nodes(:,body%tris(1,i)), & + v2 => m_body%Nodes(:,body%tris(2,i)), & + v3 => m_body%Nodes(:,body%tris(3,i)) ) + nds = 0.5_ReKi * cross_product(v2-v1, v3-v2) + call Clip_Triangle(reshape([v1,v2,v3],[3,3]), [0.0_ReKi,0.0_ReKi,0.0_ReKi], nds, sub_tris, n_sub) + do j=1,n_sub + q_pos = matmul( sub_tris(j)%v , Qdrt_L ) + do iQdrt = 1,nQdrt + dF = -RhoXgLocal * q_pos(3,iQdrt) * Qdrt_W(iQdrt) * (-sub_tris(j)%nds) + Force = Force + dF + Moment = Moment + cross_product(q_pos(:,iQdrt), dF) + end do + end do + end associate + end do + buoyancy(1:3) = Force + buoyancy(4:6) = Moment + end subroutine Body_Init subroutine computeBodyFK(bodyIdx,Time,p,m,Position,Orientation,Force,Moment,ErrStat,ErrMsg) @@ -350,11 +395,12 @@ subroutine computeBodyFK(bodyIdx,Time,p,m,Position,Orientation,Force,Moment,ErrS real(ReKi) :: d(3) real(R8Ki) :: R(3,3) real(ReKi) :: q_pos(3,nQdrt) - real(ReKi) :: nds_orig(3) + real(ReKi) :: nds(3) real(ReKi) :: dF(3), rXnds(3) type(triangle3D) :: sub_tris(2) integer(IntKi) :: nodeInWater real(SiKi) :: FDynP + real(ReKi) :: RhoXgLocal integer(IntKi) :: ErrStat2 !< Error status of the operation character(ErrMsgLen) :: ErrMsg2 !< Error message if ErrStat /= ErrID_None character(*), parameter :: RoutineName = "computeBodyFK" @@ -367,6 +413,7 @@ subroutine computeBodyFK(bodyIdx,Time,p,m,Position,Orientation,Force,Moment,ErrS if (p%FKMod(bodyIdx) /= FKMod_full) return + RhoXgLocal = real(p%WaveField%RhoXg,ReKi) associate( body=>p%Bodies(bodyIdx), m_body=>m%Bodies(bodyIdx) ) d = Position @@ -381,7 +428,7 @@ subroutine computeBodyFK(bodyIdx,Time,p,m,Position,Orientation,Force,Moment,ErrS if (p%WaveField%WaveStMod /= 0_IntKi) then do i = 1,body%n_nodes - m_body%WaveElev(i) = WaveField_GetNodeTotalWaveElev( p%WaveField, m%WaveField_m, Time, m_body%Nodes(:,i), ErrStat2, ErrMsg2 ) + m_body%WaveElev(i) = real( WaveField_GetNodeTotalWaveElev( p%WaveField, m%WaveField_m, Time, m_body%Nodes(:,i), ErrStat2, ErrMsg2 ), ReKi) end do if (Failed()) return ! else @@ -395,13 +442,13 @@ subroutine computeBodyFK(bodyIdx,Time,p,m,Position,Orientation,Force,Moment,ErrS zeta1 => m_body%WaveElev(body%tris(1,i)), & zeta2 => m_body%WaveElev(body%tris(2,i)), & zeta3 => m_body%WaveElev(body%tris(3,i)) ) - nds_orig = 0.5_ReKi * cross_product(v2-v1, v3-v2) - call Clip_Triangle(reshape([v1,v2,v3],[3,3]), [zeta1,zeta2,zeta3], nds_orig, sub_tris, n_sub) + nds = 0.5_ReKi * cross_product(v2-v1, v3-v2) + call Clip_Triangle(reshape([v1,v2,v3],[3,3]), [zeta1,zeta2,zeta3], nds, sub_tris, n_sub) do j=1,n_sub q_pos = matmul( sub_tris(j)%v , Qdrt_L ) do iQdrt = 1,nQdrt call WaveField_GetDynP( p%WaveField, m%WaveField_m, Time, q_pos(:,iQdrt), .false., nodeInWater, FDynP, ErrStat, ErrMsg ) - dF = ( FDynP - p%WaveField%RhoXg * q_pos(3,iQdrt) ) * Qdrt_W(iQdrt) * (-sub_tris(j)%nds) + dF = ( real(FDynP,ReKi) - RhoXgLocal * q_pos(3,iQdrt) ) * Qdrt_W(iQdrt) * (-sub_tris(j)%nds) Force = Force + dF Moment = Moment + cross_product(q_pos(:,iQdrt)-d, dF) end do @@ -444,7 +491,6 @@ subroutine NonlinearFK_CalcOutput(Time, u_Mesh, p, m, Force, Moment, ErrStat, Er Position = u_Mesh%position(:,i) + u_Mesh%TranslationDisp(:,i) Orientation = u_Mesh%Orientation(:,:,i) call computeBodyFK(i,Time,p,m,Position,Orientation,Force(:,i),Moment(:,i),ErrStat2,ErrMsg2) - ! print *,Force(:,i),Moment(:,i) if (Failed()) return end do diff --git a/modules/hydrodyn/src/NonlinearFK.txt b/modules/hydrodyn/src/NonlinearFK.txt index 5a83abdbec..32efcf270a 100644 --- a/modules/hydrodyn/src/NonlinearFK.txt +++ b/modules/hydrodyn/src/NonlinearFK.txt @@ -24,6 +24,7 @@ typedef NonlinearFK/NonlinearFK Triangle3D Re typedef NonlinearFK/NonlinearFK Triangle3D ReKi nds {3} - - "Normal directional area" - typedef NonlinearFK/NonlinearFK STLGeomType IntKi n_tris - - - "Number of triangles in the STL file" - typedef NonlinearFK/NonlinearFK STLGeomType Triangle3D tris {:} - - "All triangles in the STL file" - +typedef NonlinearFK/NOnlinearFK BodyType ReKi PtfmRefPt {3} - - "Reference point/local origin of undisplaced body" m typedef NonlinearFK/NonlinearFK BodyType ReKi volume - - - "Volume of the body" - typedef NonlinearFK/NonlinearFK BodyType IntKi n_nodes - - - "Number of unique nodes of the body" - typedef NonlinearFK/NonlinearFK BodyType IntKi n_tris - - - "Number of triangles of the body" - @@ -33,6 +34,11 @@ typedef NonlinearFK/NonlinearFK InitInputType In typedef NonlinearFK/NonlinearFK InitInputType IntKi FKMod {:} - - "Switch for nonlinear Froude-Krylov models" - typedef NonlinearFK/NonlinearFK InitInputType character(1024) GeoFile {:} - - "Geometry file paths" - typedef NonlinearFK/NonlinearFK InitInputType SeaSt_WaveFieldType *WaveField - - - "Pointer to SeaState wavefield type" - +typedef NonlinearFK/NonlinearFK InitInputType ReKi PtfmRefxt {:} - - "The xt offset of the body reference point(s) from (0,0,0) [1 to NBody; only used when PotMod=1]" (m) +typedef NonlinearFK/NonlinearFK InitInputType ReKi PtfmRefyt {:} - - "The yt offset of the body reference point(s) from (0,0,0) [1 to NBody; only used when PotMod=1]" (m) +typedef NonlinearFK/NonlinearFK InitInputType ReKi PtfmRefzt {:} - - "The zt offset of the body reference point(s) from (0,0,0) [1 to NBody; only used when PotMod=1]" (m) +typedef NonlinearFK/NonlinearFK InitInputType ReKi PtfmRefztRot {:} - - "The rotation about zt of the body reference frame(s) from xt/yt" radians +typedef NonlinearFK/NonlinearFK InitOutputType ReKi buoyancy {:}{:} - - "Buoyancy force and moment on undisplaced bodies" N.Nm typedef NonlinearFK/NonlinearFK ParameterType IntKi nBody - - - "Number of potential-flow bodies" - typedef NonlinearFK/NonlinearFK ParameterType BodyType Bodies {:} - - "Body geometries" - typedef NonlinearFK/NonlinearFK ParameterType IntKi FKMod {:} - - "Switch for nonlinear Froude-Krylov models" - diff --git a/modules/hydrodyn/src/NonlinearFK_Types.f90 b/modules/hydrodyn/src/NonlinearFK_Types.f90 index 9d2f6f7215..c97bb112bb 100644 --- a/modules/hydrodyn/src/NonlinearFK_Types.f90 +++ b/modules/hydrodyn/src/NonlinearFK_Types.f90 @@ -51,6 +51,7 @@ MODULE NonlinearFK_Types ! ======================= ! ========= BodyType ======= TYPE, PUBLIC :: BodyType + REAL(ReKi) , DIMENSION(1:3) :: PtfmRefPt = 0.0_ReKi !< Reference point/local origin of undisplaced body [m] REAL(ReKi) :: volume = 0.0_ReKi !< Volume of the body [-] INTEGER(IntKi) :: n_nodes = 0_IntKi !< Number of unique nodes of the body [-] INTEGER(IntKi) :: n_tris = 0_IntKi !< Number of triangles of the body [-] @@ -64,8 +65,17 @@ MODULE NonlinearFK_Types INTEGER(IntKi) , DIMENSION(:), ALLOCATABLE :: FKMod !< Switch for nonlinear Froude-Krylov models [-] character(1024) , DIMENSION(:), ALLOCATABLE :: GeoFile !< Geometry file paths [-] TYPE(SeaSt_WaveFieldType) , POINTER :: WaveField => NULL() !< Pointer to SeaState wavefield type [-] + REAL(ReKi) , DIMENSION(:), ALLOCATABLE :: PtfmRefxt !< The xt offset of the body reference point(s) from (0,0,0) [1 to NBody; only used when PotMod=1] [(m)] + REAL(ReKi) , DIMENSION(:), ALLOCATABLE :: PtfmRefyt !< The yt offset of the body reference point(s) from (0,0,0) [1 to NBody; only used when PotMod=1] [(m)] + REAL(ReKi) , DIMENSION(:), ALLOCATABLE :: PtfmRefzt !< The zt offset of the body reference point(s) from (0,0,0) [1 to NBody; only used when PotMod=1] [(m)] + REAL(ReKi) , DIMENSION(:), ALLOCATABLE :: PtfmRefztRot !< The rotation about zt of the body reference frame(s) from xt/yt [radians] END TYPE NonlinearFK_InitInputType ! ======================= +! ========= NonlinearFK_InitOutputType ======= + TYPE, PUBLIC :: NonlinearFK_InitOutputType + REAL(ReKi) , DIMENSION(:,:), ALLOCATABLE :: buoyancy !< Buoyancy force and moment on undisplaced bodies [N.Nm] + END TYPE NonlinearFK_InitOutputType +! ======================= ! ========= NonlinearFK_ParameterType ======= TYPE, PUBLIC :: NonlinearFK_ParameterType INTEGER(IntKi) :: nBody = 0_IntKi !< Number of potential-flow bodies [-] @@ -243,6 +253,7 @@ subroutine NonlinearFK_CopyBodyType(SrcBodyTypeData, DstBodyTypeData, CtrlCode, character(*), parameter :: RoutineName = 'NonlinearFK_CopyBodyType' ErrStat = ErrID_None ErrMsg = '' + DstBodyTypeData%PtfmRefPt = SrcBodyTypeData%PtfmRefPt DstBodyTypeData%volume = SrcBodyTypeData%volume DstBodyTypeData%n_nodes = SrcBodyTypeData%n_nodes DstBodyTypeData%n_tris = SrcBodyTypeData%n_tris @@ -292,6 +303,7 @@ subroutine NonlinearFK_PackBodyType(RF, Indata) type(BodyType), intent(in) :: InData character(*), parameter :: RoutineName = 'NonlinearFK_PackBodyType' if (RF%ErrStat >= AbortErrLev) return + call RegPack(RF, InData%PtfmRefPt) call RegPack(RF, InData%volume) call RegPack(RF, InData%n_nodes) call RegPack(RF, InData%n_tris) @@ -308,6 +320,7 @@ subroutine NonlinearFK_UnPackBodyType(RF, OutData) integer(IntKi) :: stat logical :: IsAllocAssoc if (RF%ErrStat /= ErrID_None) return + call RegUnpack(RF, OutData%PtfmRefPt); if (RegCheckErr(RF, RoutineName)) return call RegUnpack(RF, OutData%volume); if (RegCheckErr(RF, RoutineName)) return call RegUnpack(RF, OutData%n_nodes); if (RegCheckErr(RF, RoutineName)) return call RegUnpack(RF, OutData%n_tris); if (RegCheckErr(RF, RoutineName)) return @@ -353,6 +366,54 @@ subroutine NonlinearFK_CopyInitInput(SrcInitInputData, DstInitInputData, CtrlCod DstInitInputData%GeoFile = SrcInitInputData%GeoFile end if DstInitInputData%WaveField => SrcInitInputData%WaveField + if (allocated(SrcInitInputData%PtfmRefxt)) then + LB(1:1) = lbound(SrcInitInputData%PtfmRefxt) + UB(1:1) = ubound(SrcInitInputData%PtfmRefxt) + if (.not. allocated(DstInitInputData%PtfmRefxt)) then + allocate(DstInitInputData%PtfmRefxt(LB(1):UB(1)), stat=ErrStat2) + if (ErrStat2 /= 0) then + call SetErrStat(ErrID_Fatal, 'Error allocating DstInitInputData%PtfmRefxt.', ErrStat, ErrMsg, RoutineName) + return + end if + end if + DstInitInputData%PtfmRefxt = SrcInitInputData%PtfmRefxt + end if + if (allocated(SrcInitInputData%PtfmRefyt)) then + LB(1:1) = lbound(SrcInitInputData%PtfmRefyt) + UB(1:1) = ubound(SrcInitInputData%PtfmRefyt) + if (.not. allocated(DstInitInputData%PtfmRefyt)) then + allocate(DstInitInputData%PtfmRefyt(LB(1):UB(1)), stat=ErrStat2) + if (ErrStat2 /= 0) then + call SetErrStat(ErrID_Fatal, 'Error allocating DstInitInputData%PtfmRefyt.', ErrStat, ErrMsg, RoutineName) + return + end if + end if + DstInitInputData%PtfmRefyt = SrcInitInputData%PtfmRefyt + end if + if (allocated(SrcInitInputData%PtfmRefzt)) then + LB(1:1) = lbound(SrcInitInputData%PtfmRefzt) + UB(1:1) = ubound(SrcInitInputData%PtfmRefzt) + if (.not. allocated(DstInitInputData%PtfmRefzt)) then + allocate(DstInitInputData%PtfmRefzt(LB(1):UB(1)), stat=ErrStat2) + if (ErrStat2 /= 0) then + call SetErrStat(ErrID_Fatal, 'Error allocating DstInitInputData%PtfmRefzt.', ErrStat, ErrMsg, RoutineName) + return + end if + end if + DstInitInputData%PtfmRefzt = SrcInitInputData%PtfmRefzt + end if + if (allocated(SrcInitInputData%PtfmRefztRot)) then + LB(1:1) = lbound(SrcInitInputData%PtfmRefztRot) + UB(1:1) = ubound(SrcInitInputData%PtfmRefztRot) + if (.not. allocated(DstInitInputData%PtfmRefztRot)) then + allocate(DstInitInputData%PtfmRefztRot(LB(1):UB(1)), stat=ErrStat2) + if (ErrStat2 /= 0) then + call SetErrStat(ErrID_Fatal, 'Error allocating DstInitInputData%PtfmRefztRot.', ErrStat, ErrMsg, RoutineName) + return + end if + end if + DstInitInputData%PtfmRefztRot = SrcInitInputData%PtfmRefztRot + end if end subroutine subroutine NonlinearFK_DestroyInitInput(InitInputData, ErrStat, ErrMsg) @@ -371,6 +432,18 @@ subroutine NonlinearFK_DestroyInitInput(InitInputData, ErrStat, ErrMsg) deallocate(InitInputData%GeoFile) end if nullify(InitInputData%WaveField) + if (allocated(InitInputData%PtfmRefxt)) then + deallocate(InitInputData%PtfmRefxt) + end if + if (allocated(InitInputData%PtfmRefyt)) then + deallocate(InitInputData%PtfmRefyt) + end if + if (allocated(InitInputData%PtfmRefzt)) then + deallocate(InitInputData%PtfmRefzt) + end if + if (allocated(InitInputData%PtfmRefztRot)) then + deallocate(InitInputData%PtfmRefztRot) + end if end subroutine subroutine NonlinearFK_PackInitInput(RF, Indata) @@ -389,6 +462,10 @@ subroutine NonlinearFK_PackInitInput(RF, Indata) call SeaSt_WaveField_PackSeaSt_WaveFieldType(RF, InData%WaveField) end if end if + call RegPackAlloc(RF, InData%PtfmRefxt) + call RegPackAlloc(RF, InData%PtfmRefyt) + call RegPackAlloc(RF, InData%PtfmRefzt) + call RegPackAlloc(RF, InData%PtfmRefztRot) if (RegCheckErr(RF, RoutineName)) return end subroutine @@ -423,6 +500,67 @@ subroutine NonlinearFK_UnPackInitInput(RF, OutData) else OutData%WaveField => null() end if + call RegUnpackAlloc(RF, OutData%PtfmRefxt); if (RegCheckErr(RF, RoutineName)) return + call RegUnpackAlloc(RF, OutData%PtfmRefyt); if (RegCheckErr(RF, RoutineName)) return + call RegUnpackAlloc(RF, OutData%PtfmRefzt); if (RegCheckErr(RF, RoutineName)) return + call RegUnpackAlloc(RF, OutData%PtfmRefztRot); if (RegCheckErr(RF, RoutineName)) return +end subroutine + +subroutine NonlinearFK_CopyInitOutput(SrcInitOutputData, DstInitOutputData, CtrlCode, ErrStat, ErrMsg) + type(NonlinearFK_InitOutputType), intent(in) :: SrcInitOutputData + type(NonlinearFK_InitOutputType), intent(inout) :: DstInitOutputData + integer(IntKi), intent(in ) :: CtrlCode + integer(IntKi), intent( out) :: ErrStat + character(*), intent( out) :: ErrMsg + integer(B4Ki) :: LB(2), UB(2) + integer(IntKi) :: ErrStat2 + character(*), parameter :: RoutineName = 'NonlinearFK_CopyInitOutput' + ErrStat = ErrID_None + ErrMsg = '' + if (allocated(SrcInitOutputData%buoyancy)) then + LB(1:2) = lbound(SrcInitOutputData%buoyancy) + UB(1:2) = ubound(SrcInitOutputData%buoyancy) + if (.not. allocated(DstInitOutputData%buoyancy)) then + allocate(DstInitOutputData%buoyancy(LB(1):UB(1),LB(2):UB(2)), stat=ErrStat2) + if (ErrStat2 /= 0) then + call SetErrStat(ErrID_Fatal, 'Error allocating DstInitOutputData%buoyancy.', ErrStat, ErrMsg, RoutineName) + return + end if + end if + DstInitOutputData%buoyancy = SrcInitOutputData%buoyancy + end if +end subroutine + +subroutine NonlinearFK_DestroyInitOutput(InitOutputData, ErrStat, ErrMsg) + type(NonlinearFK_InitOutputType), intent(inout) :: InitOutputData + integer(IntKi), intent( out) :: ErrStat + character(*), intent( out) :: ErrMsg + character(*), parameter :: RoutineName = 'NonlinearFK_DestroyInitOutput' + ErrStat = ErrID_None + ErrMsg = '' + if (allocated(InitOutputData%buoyancy)) then + deallocate(InitOutputData%buoyancy) + end if +end subroutine + +subroutine NonlinearFK_PackInitOutput(RF, Indata) + type(RegFile), intent(inout) :: RF + type(NonlinearFK_InitOutputType), intent(in) :: InData + character(*), parameter :: RoutineName = 'NonlinearFK_PackInitOutput' + if (RF%ErrStat >= AbortErrLev) return + call RegPackAlloc(RF, InData%buoyancy) + if (RegCheckErr(RF, RoutineName)) return +end subroutine + +subroutine NonlinearFK_UnPackInitOutput(RF, OutData) + type(RegFile), intent(inout) :: RF + type(NonlinearFK_InitOutputType), intent(inout) :: OutData + character(*), parameter :: RoutineName = 'NonlinearFK_UnPackInitOutput' + integer(B4Ki) :: LB(2), UB(2) + integer(IntKi) :: stat + logical :: IsAllocAssoc + if (RF%ErrStat /= ErrID_None) return + call RegUnpackAlloc(RF, OutData%buoyancy); if (RegCheckErr(RF, RoutineName)) return end subroutine subroutine NonlinearFK_CopyParam(SrcParamData, DstParamData, CtrlCode, ErrStat, ErrMsg) From 4c2ca90ac275fa619ea225479e0b50362c5f6d5a Mon Sep 17 00:00:00 2001 From: Lu Wang Date: Wed, 20 May 2026 10:06:19 -0600 Subject: [PATCH 03/12] HD: Add new output channels for the nonlinear Froude-Krylov and hydrostatic forces and moments --- docs/OtherSupporting/OutListParameters.xlsx | Bin 861242 -> 819729 bytes modules/hydrodyn/src/HydroDyn.f90 | 4 +- modules/hydrodyn/src/HydroDyn_Output.f90 | 3299 ++++++++++--------- 3 files changed, 1698 insertions(+), 1605 deletions(-) diff --git a/docs/OtherSupporting/OutListParameters.xlsx b/docs/OtherSupporting/OutListParameters.xlsx index b99ef9de9e136e0cfd550bc4bc86040722404d12..4d7e6b2cccdcc9f62bd9ecb795a7f8e4c9e8491e 100644 GIT binary patch delta 266553 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�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∨@ zd5PMj+3eP)&l!^7nHDxAsmmY5Xm_lRu`CPOsnisN+3rM=^eZwNPq`!#yTT={WbmV> zb$PQzp(#v6DqT+%l-bJJrQtErOZnRVSc2QqKp;D^`}8~FL(1Ie{xLHksg|SLhNFOy z=bpGyd>1a7q!%N@7L8It+P=#=e6WZN)m&k>HBFuhx#URKEXijEE3)M6;$XdhFB~bz z`cA&Bi#!`;yG)ZQq?i))sdLjZmeU%LSLTl!6iv?#02v;46de5R^LFIE#7tYszM$^d zJkpscp~Fm45kWkP`Ellb03ptySV&%S1x6C5d~!dg*BhfqcKvY5nsFB?-tQm#xfCt2 z0Fr9NT?1by)Sb>@rod{U1`wEif`JzHggT%j-j*3?DP8UDjRY0je=-OpSV>zkZQxjc%moUOT= z$sGA#$J^~6A8kmgwR)yikib(g3<-9Bam&wlB%jal{DfmihDGniut9U`GR7{qt(#=S z{E4OLvyzhZCM5Z_u-D<;JT*oMW=zj&QYC(p~%=F!?%kg_|{9&Adp(Y61M z-CWZjJMTWJ%nO%zwt18QvG#O}&Mu4zq2<0+C_orQU>(4A+?l88)gmiJ?~QZjBEb+w z;rc!vTI#sq-15gk`_@A=2%hL7*U!;k2h zkupeZ8}f_N_$B;oJXSH?J0Df1q;9~7JG+$2KI&@5 zI_j4O7piu?C7%XqD?nwk#NK;Lx#lWo7%qtd|Ug0z_p%EbxpE ziU73vZ|tX~gpVGIv-MdsAEf28rK8%R^BBT>@ib|65iJ{`bXom+EyBi;Edd2%Yr;No zgz6LouD6A^{Wev!bcsBhdP13E)%uiWU}`9!WK}}{;Dzp~^R`bN1wO--ra24at_mK= zP+KTpMe?r^NOjJ)44mpNjv6JEyJDiKv&}c1DWDg@xa9U#tw2{mQci-jUjZ zAcYvfTCCnc7B`za+W8PlhPdJhT5I-4N{@BvRYC-ovm{d2PFrN-)r?X@8rwKT>-xOk zP@RZbwvNXcsu`3^B9*{$P7z-X+C>-65QN4r*^Y|)L#r7U>ppsz6vmZ(&&@D^pnB&y z=Lm`O9(;n?!=(o3Rt)D!nU+fyVGT`e&I`n%$K?57`F|duGT<*Y!~~>Bn|io^BXzd3 z#W#%~+-iT!l_8T273}o?OJR>gT}dm&eRA79myvFTZcfae8^W<$Q$&OGgb<1Z05%`G zzK?{cN4X1LO03oE8PpLIcr%Wtdc=HJTXFN_UIpd&1232LX~JQVdL+xt7MOXgW6HbR z_9%z8lD%~{knHA$~SLEn{0C5bj>avo~fKL2^LB#hM{FT z1Rj)}NbjQMSVSvG0*0g)1L~3Kr{huQZ{!gEsSXWHCdJUNhkFC&TeeT>$$hzU;Evcv zHLB9#>7}jw(m3b<&*vdDnK;G>@EC@N^OAvl> zjTN1MDB8F3vFFeZMRKH=n3(!(oRj!}(|-xDVhmE4cchP;7)9tZLv4w@B&kAv!1W=# zxv>Rkf6n-KNUraEZ;fEz$KC>f-Ni3y*A{j;Ce7Y{wYZzZDac#SWN*svfH(2GSThaH5`PZhYVn~MIXh=`IDlVb7rjpW zJLPQX5YV?Kca+yw^?JjU8Rq^o&16I4|1yk2w{X$o*Nm9s-W-k(;K4Qr3okf4c; zIA^Ai<$cCtf19MC`lRP=3o+@Y*v0g2YfvMWe6Z&1CZ20rZrIPNo*%JpD6J>ftxz(m z->Pp=CEbt`jZ>ZKL`Xp@haf@|vSrNxKkyb*#K(h^m@rqu7m}crfK2Wh{83~$_=to* zb$tv;{IcT%)CfNkdM}DVXHt81^*^tq1yuS4LH4};#i}Pdj{v|?#l>*`d=PLms+@>t zN81!{km!{lO=rLY%^m3; zWjFQeINFrssGd#lCj2KUMm6m4mwe?bI@&?IL+e5aPkS+C7(60DZY?5rdlNPcb=V+j z;Cy)!?^%KNOC&71R4$iDA)qBfp;?KAe71JP^|Lb|4u{$u31BIb+B{=2Eu!EK@(X8zDq%?O$DdbpMnbfO zS{WKRa_hGKXZ;DLgCJ=q01adZAN0p;MNzImA9NWN(Wt~eLvGgQmVIwI zok1&d{zs7sXRdpzBmwYWVUF7;$i(Hi%D2b zrkDgxeIT*t7v|8q3U(W!IwM#{Z4xCD2pFcJ<3dz`t>0C1kJfL^N32Qlfi(%+X=yBz zepBPVam~G@T{LOM6AiQw;Egs80De-N$e;1!?XQ7bzxv*q^jCeC@LPam#S3!q^}fE6 zU)|Gwb=+cp9r?xici=~xyL)dF6UW^9m0rTriOszVKXnBERA7F0)T&2^GF){pY~a1x z4b8oBc2F2poB73%m`j2>5_+#V|HZ0um8Su(pkW5OCjZgthMUd zAxc^c5R4{|?!~_JdcVW$yC2P7fDcB=0{&=}6hjJ)^u1<{=6mK*2Dhk_ITrlW!s$U< z&w*Y+x$y0p<)#_Fs3e7q#)@?mY^2+kqhC5h`nijz5pC}PswHLj^@5)$z(0QYdubujvl?Ha+C1_=}8P8&9DA9<`e_|sg z>ew|wHX16DX(u+V&QS2HAzPeBs^I1AsBkMtqbRD*sN0-h7~rJXcCwsrYMQePbU7}) zYc&8mCis+rr==Bi@*TQ@19&}&+AU{M-Hb>*(7gHrKQSdVus|!yZy|O6VFJYY8MPm6 zzgn68L}p-NUsFzhg-QRIsM;cxQC1}X_ zZ8;I{@IXDnX~yy0>vQvtr+1-R#whbUid(PvvSe$=+l|l9+VImkeE)E`bQLM!Reu|F zYAJ>N!6NDc)dVNl437Z`O!yZqLB(JN2w*GOU2Nw-BS~I5=F5m&ZXxCRZ7A303qVyA z?I@_N-dM{R+VI~u>M)G4C#{i297?VA8EMxZMe*$07GJG9i-JkD8}GVEIIg4J77qeb zq)J=RNHUkd*kZ`H+oiak%4;9+PnlH^6x{18n46)1x&@*vd0zx~a9Rq?QlK#4l7DOWWp578Mid{`~* z;5_6L!IF~xP<8|cC?d9m;c-+KzNA7r)5W0b0YAD+n?2wW7>LGa@C7KikdsAX6oUv?j5t`oI*VT29r_aSts^*xoO+yZ&UbEG5Oh) zO!6KvH5uE16ifuA^0PJa+8<}~pwVWUl%^cJe_n4}H*NDkv&5(qn#nj#pn3H~5On?; z%>OrJ*gK5%EqkmbhT<(^hqZ{t)nXaP1kB*Yz zI!nk|5CwV8uM9J{9H&G@WC#iINL1R@I_hhr#wlv`BSVD#M*I(EXo-<3WmO-_+bOEX z4U&N86Qt+@)9XcS|A0!0>!vz%Mi%wuRt1|f4VI!FUqo+248 zEXi~Ks7O;EUw^GT69Kl4<7#U7B;kWdaaJL&cx59%qF_VD`Ovw2HZ=1&c=_3v8*u82 zV^ChuaM^K2D13$;pKWu@j|Br)!dE~k6jc`k&-SRDR6{rXS?336%W0hvPRh0F{pKU>C~gpb(IMseOTqSCr=>|9 zC!{!9`;px5$Hb>IyuVl=Kr?{1P%*i|^E62f$=N9iiXsz62L5BmFt}?@!JakKkoEM` zSQ()~-b_80OmO)fzrI^+^G~EyIbWOAgyh1ksyb&R18;X~jsVMAoKM(9!N&#)K6<84U@;Vgk1MWHzD~zzovxv)=Xy_DllgH! zb_fBJpadM{U<*a1YuiYDA=ShbAztCFqN=57IX4?X^tl3sdc6CqS`5K|CL6@sg!!ge zBR>)45y>J6If5ie62ivXx5)$e|H0(wm8Xx8(BMDw?)$s9K~Sxug2YTb`PA*oUy!N$ zHBfqKIE{^;MF>$tx`p389zN0hUAQ?q!#`P3Vj1=K{+F;nFbVd}&m4t7ttg)D9wmi- z-w~O+m5!6mn!3xbCZ}}K__d@}9YXTjbV)teWP9G}h)kVT+L=Amhg$8j4oJZ+#A-Et zwd=4Rd4`&{4%Y<&EwLnfjIPGLnSnw*2dwlLJz1FK=t+KJc)y___?ZfK@{4%-mu8Ks zuRF+|Z1Rnjw`1ikwsnQ4i^a6cTf)l`v)?paa!P&znr(yE=sj1#z=CglS3qe9@Zn+? zm%>Ujh#bwvQ~1}k8#uSZ;X5X;%8#qYt(Li*Sa1QoH+%i2)E{IZw>cxZ96#Nj zYi7{)$V1ci5lQj13!Id;i8zWZFghwGJCPOw*oeH6X|qFcegO_3 z;Ym6)w*0vDg)bZbqG~nnTAZ_x-P@W^#V5x z4@;W2>DnsWF&_1|63$0uTixRrWX`J>4dc^`(#}ls{A`ueK6=rOu=!GIrbO=g z+GaP)Ia`fXljbXOFV}>pjgxm4OSUDCk$SE?LdBM&EGnJU##uDp+iBmXEQ)u{@CCho<4 z!S^8%=|fySmh_dg9?Op0zA)GzGs?7{BU1JzKB#pP(h85l52vdx%M(KOG9o>6sfIf5 z^5^CA!r?ouvRorHZv2`Vznags0xVqh>3{?FJ~zNW9-Swu<=l$z_{x~khT&5H4|D$( zSjQRSY~hp?rjsvoVhLIg%U#FVwMD`0dOxTq&0Nygv{nvN88BF~ zEN`TwI-Ydfwv_Z1;LH+3mBT=`Io0vea&lO~P>0u;9G@-5Q>|1Xbj8_1<%NirvzREO za<8;uRB!QBj-9n{%3pRN2*Vvc%_Fpl(JH7^7`n1EI||}}U)z(e3cr?LsZj8C#zK_F z8Q@VHqq4$8AC9(y6W%KC?4j8I#u8|an%?(C^_T|a$?=N+PCQjtI``ITlD z2oz>ouScf(KHeb|op>ZGKy{v!8X({QnKmlX$!5*3%qxrafURCzp58UW917IeTD6g^ zN4E4_RvNq?P~@YNc~!&NvrhKIZ}Ab0Ry}q>7)RT{QlM}B7xSx|-#+$jx+Yo4FI47^ z!=Ne?&v*dYtT%!%+M;y1+Atm~srS692#cMGQ7>8y0!PcfZj=;R`@OT?{xNqal(LDo zfB6=zo#}P6@yiXq8=8irJH~8Vl1o zF+_fL-uyz=e&b|@IHCAvfoc`n?l{-2u z6Ij_It4b#QemWx{(TYdK@THMQg)XJCdMHP>8ua(1v<|i=w&2xrdua)ys(40yM!2E2 zdEUs{sum+?6%D6a*VCex;gPk;AB+W49hS7nVHQ9%?`y*Cp$X0 z9Gzg(neZGd*@)Ec&CB2@$$$&3`n2*_j_**`l(Ul(BwH}a(*WpnY<{Kx0eg>JIXh*X zx<&n}>)-Yl|)wgejl- zidZ!x;5q=@<0=Ha;i{-^1@1|sGD=T*7{Ow<=EEc>F><)o&Y+`KboQa(XCWARpcRDv3H)(1m`rstQ3 z*YtGlY(zB^*qz^RoDYlfr<5ETqaB=?oji@^&6T_$D-3FG-*`KctI!O6lqI4Rt<36M zH!YJVu!eoT=im}-bCQY}2}cgGN=55|Y5JEH>l0UE4fkAcK`5fI;LGMyYToK<=K2Cz zhPz#`%@7)KAHogD@XAmjYQE^B*{e(@d-+}|cX{b#*L#kUcW&)_0j21=Yysqt{ercJ zN7D59bVPiK0QO=iI2(gZjNJ0rg)jnrUP@GvA(B0Hh?)18H0t_sIW9=+q-ietnG zjB)fN1K+O}f`JP>XSgzjwzs|g(Z51K^q;q_M1g5KxK& zAIp@m9rV-?nub7>-`1k}Pp$rIFMk*)F5}@?LZeV`tn!I5e4T zN7480$LMUv{5cyEI#F9g4#2?_V^m&@aw2b~UQ&RZd&3jF@Pw#y=Kk=_(QWkVJ0_gy zgBw6CcSGRbMF}|M%sg+>yfGAV6GglxOvuIDVtj$lXTq35=fji z(R3t>(1x`!BGr^$-F_NT99`2dk-jO3TrFq!|153h_RQ3(mWvM6(&dj$3?a8Mc2h+U z#td0Be*SS!5~rt$A}eTdC2S2Bgw5)}d2!$i9Or+Mn&K3_PgD}aL+#qvr9KF!)0o({ zQGbVz?#TMsT_UMwS`*&A;h@@U#DW)7MqV3ddYf}FMs>Zww|F`HO%{sf85?WSO3(wS zEVdx%DREM)(5I9}xHMFk%Wo@sVKtw#F*Q^=gU>p7)ROD?3q)kHqtat;g7G`yC3Jzl zojeH-THSWTf}GnC;~X*aah%+@RNixrZ9{8?ms2D~E;u-4UwYR!Vqgkn7z+|qr1qaa zYo1Bsg9;PWVBKMJ0pby+2i5q0U6~mQihE^6!DCBW>)5ziBj8*KZ!i;R@4-zzCg@_* zMB<9AUZ~g+qJ=Odj<*wbPF5~{wC?Z>_-6h2$Ae8P;>@zt){T>>nWQ3xepzN!|A%{$ z$yrE1$GUh-&paPA23*!Q>RhFtii!T?ek_#|2MCO{>`VUb{$(flC^lxA4$&^u9qL2{ znOrlj$+lUfN|QLeAGlKl(PMMsTG%e%AG`@}9M;=<1LFeaxa_P@43i$3`Qp>i7fD** z6Ue_Hiu6Ox2*YYS&0~4{uCSPT)q=>~IsLNZO-ZPKELgB$RTO z^3pm(0_s%RW#6KmirD$Z~`xzeS+~C_GIuStgayq^lG%4=@`48I#{rI z@a@-YQLQC^Y}>aA(mL>;QIQ<6XNq$Dq~)pM=E2Ip7eB{}9j`0TqO-UOXTb> z7cdEClTkGnDYZn&jq&`P#ua5wB-%yp&_K&O0(<6ODfAz;1S!9-9yPs7x+FuYpQV+e z;9iOrLjaWWRD2Q&Y4}oK*tU}N0^u*J+*djnnZbL)ry-|VOT!DLN{I&1DVeNNjX6~5FR7r&i0gSUiQ;%hz8 zsgG811?X@H<c9ES&I>kX; z7=-?<`-HC45~Z4W^bp@w?2}sqQj)F*-N!%l*t}F4DpgeKM%7m_EqM2X7R91ToO`9M zPF;qfgjFGhUU`G-p}^13rzP}TC2v|{sm-P8&S+(><686Iakz(caQWRg1C~lGodOnP zo{dBzb&G6ZisV+u98^z6N*OI^ znO+dY6JM-Zwi<%cyXV^D%~ll15K@udFMO$|bTTd3GwNV(9|t|!r?ba@ff`mlr@=7P z&-cfN6y@T}1KS9r^fR8}*0LDxzRlowzmHZ#DJK5>#PuW7Rvw;o0y11| z<1@^=?Hjr(p{^bqZTn>gT_32iGkiDJ6<1C-rwpRL@Pa`%rUz&%y1#WaJv@&`uZT4< zn>wP9;5Ups8rZ}GTU9A!`x2-; z?}Y@hu%Q!ovqN0RDPMNTIf;~FS+%y_7Zb%%AvgN6tXSf&=&fz0OdHPnBfc>wdogYY z(9!rAn|SID9Vb{j@8ifnL;6@19>YYK<2S6oZr1~i4;3S+RUU~+WCCo?(=M(XA{GT_ zg~0h<%_gmw>k?e*$%!Ubw_QkQ3jC(!F?VzH!h*WpOi=|DhqFf&vu3~;Jv2}yG%HgN zOxP6H*PjSk9m)6WU<(o#Tz^VUI#+<=B$2>AN|esb_E!FHwI+Ng850zqAW_y96Pu_J z_w^~|G`SvLg#m9yU%PP_92^Gp_7^spZ>$rSwB^qC=)3rR7wg`zU`){bL&oajo9r5M;&*? zkyR##Jplqx0|!uc!B>HRHI@wDaKDt0m#d|H#AlPbB=$)l1gD)rzbHXu&E4SMe4OGE ztEq(y+WpfC#%R91en(bn%`KUuNPPwne56YgK+Lpp%|Y2#KKMi05y%~x2a5;+P|`zv zwo_8otKKL_Y!|R7%}f`V64I8OX^SKPa+WOmapp>GCmP~{CZENvlaOcm{ouni`Ll%# zREr*Jc9Wsg0+Tb9)GR3?S-?A~6v!97Wn@EQ>!k`Vd_3^I;Mb4NtxTWT|Ksb;DWGlF&#Yib7FQs8E}tkR;7YX;e2VC5@swh6bgSG?%)!L4{jN zBH!nF?R`#qe;&Wze;(&Jd%wo@dambsuJ!t5Z(#kAmN6fnxj@`BF<@A#tZQ4M*+JP- z{F9QUind>w+HW4Kekw%0kO6A1V9(yfQBhQUOp2Zh$Xz%b&( z2~iBHl`23)@DOv(U6q^bgbYWjMf?Gb7d$>>MppNm1E+(pqbUyIHEnJA(hVVTDfRAs3NfVF{IXj_qd=@BK?K)hr|e_rA5P zV}k0Sf_A?yZJ5HMh->DgC0p0JO+@ilEG`F`w)<+ypr)=IzbO=a42#6)Obt>3z{Kx>h#u13 zWOb1yj%5W{cID{=NmS8W^|YM-ftE!!drSH`T>ZVtT51(uer^uqa0;gg$8P7kwfB@! zjb1i4c-jByc)GOv_`-*5IGUU%nog3eFS1_X^R=Fl(1(J5vi(w>P^>S|zgYeA?e#PC z+QhY(xoEMFfq!e37c8^CdkE=&#Sw`!sy!9$FVZQ8LcCLnBDuT)i39hW zF;xCKWqJ~tVWAOAYW*1H%`<&nZZOHBIR5omGb8TeQiEa4wVDb_jBOhZE?@uLfv%%# zq#>51Ag69ZRJ0_j(cQ!QUwYiJ|H0d4){0~^$l;&dcJo*{X%8Z#-DjrY4|NjehylO# zcy8gJt>rKd%YIob6eC(5>Z1Oz4NL;#x~9qEXes}^Cw~K^4(MG9Y#56n>K6w34DrY$ zYK;C}A}S9wxDunxyu-(E5Dx5lmf$4N0~X~0Sf@*!AO$9+RXF$rPB@~Ni4CV^PO*&c z14{fo4$-KZh>d&;mDeJ_6jmgUA+kQ6c+H z-kA|HUsd&*SG0t+S@T>92vZ=H&YD}5p_u<4{Pilz#sLv~I=+Z^5&qY?WV77U1WBh! z*#GL}Ij>G8)`33-k_%$1C+>S8AyaHWZz$q);l-6o=P%bn4W@TDF{zKIFCQojHs;h^ z_7NNu3;=~3okuL72t|2LQIgTE!L*KsE)GnmXBk`?B7T-LeuXl2AqbSPWpBPQHk0bl zi7Bt-5+`yO)t#@Upsh}fxM&=#0cC020fn@w)_{mPD+j#yexO8AlKaC(HyM^WRwvSr_0-YT8%R^L>!elfzcioS}m2SbVI^b1

<&{ik!e@r}r~u{c(0VtXs%s;Ap!x+$n5xa? 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

;%?DX=Nw$v>-s)7 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 diff --git a/modules/hydrodyn/src/HydroDyn.f90 b/modules/hydrodyn/src/HydroDyn.f90 index b1b938452c..ace4af999e 100644 --- a/modules/hydrodyn/src/HydroDyn.f90 +++ b/modules/hydrodyn/src/HydroDyn.f90 @@ -1803,6 +1803,8 @@ SUBROUTINE HydroDyn_CalcOutput( Time, u, p, x, xd, z, OtherState, y, m, ErrStat, end if ! p%WAMIT2used ! Mesh-based nonlinear Froude-Krylov and hydrostatic load integration for potential-flow bodies + NLFKForce = 0.0_ReKi ! Redundant initialization; can delete later + NLFKMoment = 0.0_ReKi if (calcNonlinearFKLdsLocal) then call NonlinearFK_CalcOutput( Time, u%WamitMesh, p%NonlinearFK, m%NonlinearFK, NLFKForce, NLFKMoment, ErrStat2, ErrMsg2 ) if (Failed()) return @@ -1845,7 +1847,7 @@ SUBROUTINE HydroDyn_CalcOutput( Time, u, p, x, xd, z, OtherState, y, m, ErrStat, if (Failed()) return ! Map calculated results into the first p%NumOuts values of the y%WriteOutput Array - CALL HDOut_MapOutputs( p, y, m%WAMIT, m%WAMIT2, m%F_PtfmAdd, m%F_Waves, m%F_Hydro, u%PRPMesh, PtfmRefY, q, qdot, qdotdot, ErrStat2, ErrMsg2 ) + CALL HDOut_MapOutputs( p, y, m%WAMIT, m%WAMIT2, m%F_PtfmAdd, m%F_Waves, m%F_Hydro, u%PRPMesh, PtfmRefY, q, qdot, qdotdot, NLFKForce, NLFKMoment, ErrStat2, ErrMsg2 ) if (Failed()) return ! Aggregate the sub-module outputs diff --git a/modules/hydrodyn/src/HydroDyn_Output.f90 b/modules/hydrodyn/src/HydroDyn_Output.f90 index 44d213c752..add79239dc 100644 --- a/modules/hydrodyn/src/HydroDyn_Output.f90 +++ b/modules/hydrodyn/src/HydroDyn_Output.f90 @@ -6808,10 +6808,64 @@ MODULE HydroDyn_Output INTEGER(IntKi), PARAMETER :: B9ADOF97Wvs = 6745 INTEGER(IntKi), PARAMETER :: B9ADOF98Wvs = 6746 INTEGER(IntKi), PARAMETER :: B9ADOF99Wvs = 6747 + INTEGER(IntKi), PARAMETER :: B1NFKFxi = 6748 + INTEGER(IntKi), PARAMETER :: B1NFKFyi = 6749 + INTEGER(IntKi), PARAMETER :: B1NFKFzi = 6750 + INTEGER(IntKi), PARAMETER :: B1NFKMxi = 6751 + INTEGER(IntKi), PARAMETER :: B1NFKMyi = 6752 + INTEGER(IntKi), PARAMETER :: B1NFKMzi = 6753 + INTEGER(IntKi), PARAMETER :: B2NFKFxi = 6754 + INTEGER(IntKi), PARAMETER :: B2NFKFyi = 6755 + INTEGER(IntKi), PARAMETER :: B2NFKFzi = 6756 + INTEGER(IntKi), PARAMETER :: B2NFKMxi = 6757 + INTEGER(IntKi), PARAMETER :: B2NFKMyi = 6758 + INTEGER(IntKi), PARAMETER :: B2NFKMzi = 6759 + INTEGER(IntKi), PARAMETER :: B3NFKFxi = 6760 + INTEGER(IntKi), PARAMETER :: B3NFKFyi = 6761 + INTEGER(IntKi), PARAMETER :: B3NFKFzi = 6762 + INTEGER(IntKi), PARAMETER :: B3NFKMxi = 6763 + INTEGER(IntKi), PARAMETER :: B3NFKMyi = 6764 + INTEGER(IntKi), PARAMETER :: B3NFKMzi = 6765 + INTEGER(IntKi), PARAMETER :: B4NFKFxi = 6766 + INTEGER(IntKi), PARAMETER :: B4NFKFyi = 6767 + INTEGER(IntKi), PARAMETER :: B4NFKFzi = 6768 + INTEGER(IntKi), PARAMETER :: B4NFKMxi = 6769 + INTEGER(IntKi), PARAMETER :: B4NFKMyi = 6770 + INTEGER(IntKi), PARAMETER :: B4NFKMzi = 6771 + INTEGER(IntKi), PARAMETER :: B5NFKFxi = 6772 + INTEGER(IntKi), PARAMETER :: B5NFKFyi = 6773 + INTEGER(IntKi), PARAMETER :: B5NFKFzi = 6774 + INTEGER(IntKi), PARAMETER :: B5NFKMxi = 6775 + INTEGER(IntKi), PARAMETER :: B5NFKMyi = 6776 + INTEGER(IntKi), PARAMETER :: B5NFKMzi = 6777 + INTEGER(IntKi), PARAMETER :: B6NFKFxi = 6778 + INTEGER(IntKi), PARAMETER :: B6NFKFyi = 6779 + INTEGER(IntKi), PARAMETER :: B6NFKFzi = 6780 + INTEGER(IntKi), PARAMETER :: B6NFKMxi = 6781 + INTEGER(IntKi), PARAMETER :: B6NFKMyi = 6782 + INTEGER(IntKi), PARAMETER :: B6NFKMzi = 6783 + INTEGER(IntKi), PARAMETER :: B7NFKFxi = 6784 + INTEGER(IntKi), PARAMETER :: B7NFKFyi = 6785 + INTEGER(IntKi), PARAMETER :: B7NFKFzi = 6786 + INTEGER(IntKi), PARAMETER :: B7NFKMxi = 6787 + INTEGER(IntKi), PARAMETER :: B7NFKMyi = 6788 + INTEGER(IntKi), PARAMETER :: B7NFKMzi = 6789 + INTEGER(IntKi), PARAMETER :: B8NFKFxi = 6790 + INTEGER(IntKi), PARAMETER :: B8NFKFyi = 6791 + INTEGER(IntKi), PARAMETER :: B8NFKFzi = 6792 + INTEGER(IntKi), PARAMETER :: B8NFKMxi = 6793 + INTEGER(IntKi), PARAMETER :: B8NFKMyi = 6794 + INTEGER(IntKi), PARAMETER :: B8NFKMzi = 6795 + INTEGER(IntKi), PARAMETER :: B9NFKFxi = 6796 + INTEGER(IntKi), PARAMETER :: B9NFKFyi = 6797 + INTEGER(IntKi), PARAMETER :: B9NFKFzi = 6798 + INTEGER(IntKi), PARAMETER :: B9NFKMxi = 6799 + INTEGER(IntKi), PARAMETER :: B9NFKMyi = 6800 + INTEGER(IntKi), PARAMETER :: B9NFKMzi = 6801 ! The maximum number of output channels which can be output by the code. - INTEGER(IntKi), PARAMETER, PUBLIC :: MaxOutPts = 6747 + INTEGER(IntKi), PARAMETER, PUBLIC :: MaxOutPts = 6801 !End of code generated by Matlab script Write_ChckOutLst ! =================================================================================================== @@ -6861,6 +6915,13 @@ MODULE HydroDyn_Output B1RdtMyi,B2RdtMyi,B3RdtMyi,B4RdtMyi,B5RdtMyi,B6RdtMyi,B7RdtMyi,B8RdtMyi,B9RdtMyi, & B1RdtMzi,B2RdtMzi,B3RdtMzi,B4RdtMzi,B5RdtMzi,B6RdtMzi,B7RdtMzi,B8RdtMzi,B9RdtMzi/), & (/9,6/))) + INTEGER, PARAMETER :: FNLFKHst(6,9) = transpose(reshape((/B1NFKFxi,B2NFKFxi,B3NFKFxi,B4NFKFxi,B5NFKFxi,B6NFKFxi,B7NFKFxi,B8NFKFxi,B9NFKFxi, & + B1NFKFyi,B2NFKFyi,B3NFKFyi,B4NFKFyi,B5NFKFyi,B6NFKFyi,B7NFKFyi,B8NFKFyi,B9NFKFyi, & + B1NFKFzi,B2NFKFzi,B3NFKFzi,B4NFKFzi,B5NFKFzi,B6NFKFzi,B7NFKFzi,B8NFKFzi,B9NFKFzi, & + B1NFKMxi,B2NFKMxi,B3NFKMxi,B4NFKMxi,B5NFKMxi,B6NFKMxi,B7NFKMxi,B8NFKMxi,B9NFKMxi, & + B1NFKMyi,B2NFKMyi,B3NFKMyi,B4NFKMyi,B5NFKMyi,B6NFKMyi,B7NFKMyi,B8NFKMyi,B9NFKMyi, & + B1NFKMzi,B2NFKMzi,B3NFKMzi,B4NFKMzi,B5NFKMzi,B6NFKMzi,B7NFKMzi,B8NFKMzi,B9NFKMzi/), & + (/9,6/))) INTEGER, PARAMETER :: FADOFAdd(99,9) = transpose(reshape((/B1ADOF1Add,B2ADOF1Add,B3ADOF1Add,B4ADOF1Add,B5ADOF1Add,B6ADOF1Add,B7ADOF1Add,B8ADOF1Add,B9ADOF1Add, & B1ADOF2Add,B2ADOF2Add,B3ADOF2Add,B4ADOF2Add,B5ADOF2Add,B6ADOF2Add,B7ADOF2Add,B8ADOF2Add,B9ADOF2Add, & B1ADOF3Add,B2ADOF3Add,B3ADOF3Add,B4ADOF3Add,B5ADOF3Add,B6ADOF3Add,B7ADOF3Add,B8ADOF3Add,B9ADOF3Add, & @@ -7593,7 +7654,7 @@ MODULE HydroDyn_Output B1ADOF99A,B2ADOF99A,B3ADOF99A,B4ADOF99A,B5ADOF99A,B6ADOF99A,B7ADOF99A,B8ADOF99A,B9ADOF99A/), & (/9,99/))) - CHARACTER(OutStrLenM1), PARAMETER :: ValidParamAry1(1687) = (/ & ! This lists the names of the allowed parameters, which must be sorted alphabetically + CHARACTER(OutStrLenM1), PARAMETER :: ValidParamAry1(1701) = (/ & ! This lists the names of the allowed parameters, which must be sorted alphabetically "B1ADDFXI ","B1ADDFYI ","B1ADDFZI ","B1ADDMXI ","B1ADDMYI ","B1ADDMZI ","B1ADOF10A ", & "B1ADOF10ADD","B1ADOF10D ","B1ADOF10HDS","B1ADOF10RDT","B1ADOF10V ","B1ADOF10WVS","B1ADOF11A ", & "B1ADOF11ADD","B1ADOF11D ","B1ADOF11HDS","B1ADOF11RDT","B1ADOF11V ","B1ADOF11WVS","B1ADOF12A ", & @@ -7694,651 +7755,657 @@ MODULE HydroDyn_Output "B1ADOF98ADD","B1ADOF98D ","B1ADOF98HDS","B1ADOF98RDT","B1ADOF98V ","B1ADOF98WVS","B1ADOF99A ", & "B1ADOF99ADD","B1ADOF99D ","B1ADOF99HDS","B1ADOF99RDT","B1ADOF99V ","B1ADOF99WVS","B1ADOF9A ", & "B1ADOF9ADD ","B1ADOF9D ","B1ADOF9HDS ","B1ADOF9RDT ","B1ADOF9V ","B1ADOF9WVS ","B1HDSFXI ", & - "B1HDSFYI ","B1HDSFZI ","B1HDSMXI ","B1HDSMYI ","B1HDSMZI ","B1HEAVE ","B1PITCH ", & - "B1RAXI ","B1RAYI ","B1RAZI ","B1RDTFXI ","B1RDTFYI ","B1RDTFZI ","B1RDTMXI ", & - "B1RDTMYI ","B1RDTMZI ","B1ROLL ","B1RVXI ","B1RVYI ","B1RVZI ","B1SURGE ", & - "B1SWAY ","B1TAXI ","B1TAYI ","B1TAZI ","B1TVXI ","B1TVYI ","B1TVZI ", & - "B1WVSF1XI ","B1WVSF1YI ","B1WVSF1ZI ","B1WVSF2XI ","B1WVSF2YI ","B1WVSF2ZI ","B1WVSFXI ", & - "B1WVSFYI ","B1WVSFZI ","B1WVSM1XI ","B1WVSM1YI ","B1WVSM1ZI ","B1WVSM2XI ","B1WVSM2YI ", & - "B1WVSM2ZI ","B1WVSMXI ","B1WVSMYI ","B1WVSMZI ","B1YAW ","B2ADDFXI ","B2ADDFYI ", & - "B2ADDFZI ","B2ADDMXI ","B2ADDMYI ","B2ADDMZI ","B2ADOF10A ","B2ADOF10ADD","B2ADOF10D ", & - "B2ADOF10HDS","B2ADOF10RDT","B2ADOF10V ","B2ADOF10WVS","B2ADOF11A ","B2ADOF11ADD","B2ADOF11D ", & - "B2ADOF11HDS","B2ADOF11RDT","B2ADOF11V ","B2ADOF11WVS","B2ADOF12A ","B2ADOF12ADD","B2ADOF12D ", & - "B2ADOF12HDS","B2ADOF12RDT","B2ADOF12V ","B2ADOF12WVS","B2ADOF13A ","B2ADOF13ADD","B2ADOF13D ", & - "B2ADOF13HDS","B2ADOF13RDT","B2ADOF13V ","B2ADOF13WVS","B2ADOF14A ","B2ADOF14ADD","B2ADOF14D ", & - "B2ADOF14HDS","B2ADOF14RDT","B2ADOF14V ","B2ADOF14WVS","B2ADOF15A ","B2ADOF15ADD","B2ADOF15D ", & - "B2ADOF15HDS","B2ADOF15RDT","B2ADOF15V ","B2ADOF15WVS","B2ADOF16A ","B2ADOF16ADD","B2ADOF16D ", & - "B2ADOF16HDS","B2ADOF16RDT","B2ADOF16V ","B2ADOF16WVS","B2ADOF17A ","B2ADOF17ADD","B2ADOF17D ", & - "B2ADOF17HDS","B2ADOF17RDT","B2ADOF17V ","B2ADOF17WVS","B2ADOF18A ","B2ADOF18ADD","B2ADOF18D ", & - "B2ADOF18HDS","B2ADOF18RDT","B2ADOF18V ","B2ADOF18WVS","B2ADOF19A ","B2ADOF19ADD","B2ADOF19D ", & - "B2ADOF19HDS","B2ADOF19RDT","B2ADOF19V ","B2ADOF19WVS","B2ADOF1A ","B2ADOF1ADD ","B2ADOF1D ", & - "B2ADOF1HDS ","B2ADOF1RDT ","B2ADOF1V ","B2ADOF1WVS ","B2ADOF20A ","B2ADOF20ADD","B2ADOF20D ", & - "B2ADOF20HDS","B2ADOF20RDT","B2ADOF20V ","B2ADOF20WVS","B2ADOF21A ","B2ADOF21ADD","B2ADOF21D ", & - "B2ADOF21HDS","B2ADOF21RDT","B2ADOF21V ","B2ADOF21WVS","B2ADOF22A ","B2ADOF22ADD","B2ADOF22D ", & - "B2ADOF22HDS","B2ADOF22RDT","B2ADOF22V ","B2ADOF22WVS","B2ADOF23A ","B2ADOF23ADD","B2ADOF23D ", & - "B2ADOF23HDS","B2ADOF23RDT","B2ADOF23V ","B2ADOF23WVS","B2ADOF24A ","B2ADOF24ADD","B2ADOF24D ", & - "B2ADOF24HDS","B2ADOF24RDT","B2ADOF24V ","B2ADOF24WVS","B2ADOF25A ","B2ADOF25ADD","B2ADOF25D ", & - "B2ADOF25HDS","B2ADOF25RDT","B2ADOF25V ","B2ADOF25WVS","B2ADOF26A ","B2ADOF26ADD","B2ADOF26D ", & - "B2ADOF26HDS","B2ADOF26RDT","B2ADOF26V ","B2ADOF26WVS","B2ADOF27A ","B2ADOF27ADD","B2ADOF27D ", & - "B2ADOF27HDS","B2ADOF27RDT","B2ADOF27V ","B2ADOF27WVS","B2ADOF28A ","B2ADOF28ADD","B2ADOF28D ", & - "B2ADOF28HDS","B2ADOF28RDT","B2ADOF28V ","B2ADOF28WVS","B2ADOF29A ","B2ADOF29ADD","B2ADOF29D ", & - "B2ADOF29HDS","B2ADOF29RDT","B2ADOF29V ","B2ADOF29WVS","B2ADOF2A ","B2ADOF2ADD ","B2ADOF2D ", & - "B2ADOF2HDS ","B2ADOF2RDT ","B2ADOF2V ","B2ADOF2WVS ","B2ADOF30A ","B2ADOF30ADD","B2ADOF30D ", & - "B2ADOF30HDS","B2ADOF30RDT","B2ADOF30V ","B2ADOF30WVS","B2ADOF31A ","B2ADOF31ADD","B2ADOF31D ", & - "B2ADOF31HDS","B2ADOF31RDT","B2ADOF31V ","B2ADOF31WVS","B2ADOF32A ","B2ADOF32ADD","B2ADOF32D ", & - "B2ADOF32HDS","B2ADOF32RDT","B2ADOF32V ","B2ADOF32WVS","B2ADOF33A ","B2ADOF33ADD","B2ADOF33D ", & - "B2ADOF33HDS","B2ADOF33RDT","B2ADOF33V ","B2ADOF33WVS","B2ADOF34A ","B2ADOF34ADD","B2ADOF34D ", & - "B2ADOF34HDS","B2ADOF34RDT","B2ADOF34V ","B2ADOF34WVS","B2ADOF35A ","B2ADOF35ADD","B2ADOF35D ", & - "B2ADOF35HDS","B2ADOF35RDT","B2ADOF35V ","B2ADOF35WVS","B2ADOF36A ","B2ADOF36ADD","B2ADOF36D ", & - "B2ADOF36HDS","B2ADOF36RDT","B2ADOF36V ","B2ADOF36WVS","B2ADOF37A ","B2ADOF37ADD","B2ADOF37D ", & - "B2ADOF37HDS","B2ADOF37RDT","B2ADOF37V ","B2ADOF37WVS","B2ADOF38A ","B2ADOF38ADD","B2ADOF38D ", & - "B2ADOF38HDS","B2ADOF38RDT","B2ADOF38V ","B2ADOF38WVS","B2ADOF39A ","B2ADOF39ADD","B2ADOF39D ", & - "B2ADOF39HDS","B2ADOF39RDT","B2ADOF39V ","B2ADOF39WVS","B2ADOF3A ","B2ADOF3ADD ","B2ADOF3D ", & - "B2ADOF3HDS ","B2ADOF3RDT ","B2ADOF3V ","B2ADOF3WVS ","B2ADOF40A ","B2ADOF40ADD","B2ADOF40D ", & - "B2ADOF40HDS","B2ADOF40RDT","B2ADOF40V ","B2ADOF40WVS","B2ADOF41A ","B2ADOF41ADD","B2ADOF41D ", & - "B2ADOF41HDS","B2ADOF41RDT","B2ADOF41V ","B2ADOF41WVS","B2ADOF42A ","B2ADOF42ADD","B2ADOF42D ", & - "B2ADOF42HDS","B2ADOF42RDT","B2ADOF42V ","B2ADOF42WVS","B2ADOF43A ","B2ADOF43ADD","B2ADOF43D ", & - "B2ADOF43HDS","B2ADOF43RDT","B2ADOF43V ","B2ADOF43WVS","B2ADOF44A ","B2ADOF44ADD","B2ADOF44D ", & - "B2ADOF44HDS","B2ADOF44RDT","B2ADOF44V ","B2ADOF44WVS","B2ADOF45A ","B2ADOF45ADD","B2ADOF45D ", & - "B2ADOF45HDS","B2ADOF45RDT","B2ADOF45V ","B2ADOF45WVS","B2ADOF46A ","B2ADOF46ADD","B2ADOF46D ", & - "B2ADOF46HDS","B2ADOF46RDT","B2ADOF46V ","B2ADOF46WVS","B2ADOF47A ","B2ADOF47ADD","B2ADOF47D ", & - "B2ADOF47HDS","B2ADOF47RDT","B2ADOF47V ","B2ADOF47WVS","B2ADOF48A ","B2ADOF48ADD","B2ADOF48D ", & - "B2ADOF48HDS","B2ADOF48RDT","B2ADOF48V ","B2ADOF48WVS","B2ADOF49A ","B2ADOF49ADD","B2ADOF49D ", & - "B2ADOF49HDS","B2ADOF49RDT","B2ADOF49V ","B2ADOF49WVS","B2ADOF4A ","B2ADOF4ADD ","B2ADOF4D ", & - "B2ADOF4HDS ","B2ADOF4RDT ","B2ADOF4V ","B2ADOF4WVS ","B2ADOF50A ","B2ADOF50ADD","B2ADOF50D ", & - "B2ADOF50HDS","B2ADOF50RDT","B2ADOF50V ","B2ADOF50WVS","B2ADOF51A ","B2ADOF51ADD","B2ADOF51D ", & - "B2ADOF51HDS","B2ADOF51RDT","B2ADOF51V ","B2ADOF51WVS","B2ADOF52A ","B2ADOF52ADD","B2ADOF52D ", & - "B2ADOF52HDS","B2ADOF52RDT","B2ADOF52V ","B2ADOF52WVS","B2ADOF53A ","B2ADOF53ADD","B2ADOF53D ", & - "B2ADOF53HDS","B2ADOF53RDT","B2ADOF53V ","B2ADOF53WVS","B2ADOF54A ","B2ADOF54ADD","B2ADOF54D ", & - "B2ADOF54HDS","B2ADOF54RDT","B2ADOF54V ","B2ADOF54WVS","B2ADOF55A ","B2ADOF55ADD","B2ADOF55D ", & - "B2ADOF55HDS","B2ADOF55RDT","B2ADOF55V ","B2ADOF55WVS","B2ADOF56A ","B2ADOF56ADD","B2ADOF56D ", & - "B2ADOF56HDS","B2ADOF56RDT","B2ADOF56V ","B2ADOF56WVS","B2ADOF57A ","B2ADOF57ADD","B2ADOF57D ", & - "B2ADOF57HDS","B2ADOF57RDT","B2ADOF57V ","B2ADOF57WVS","B2ADOF58A ","B2ADOF58ADD","B2ADOF58D ", & - "B2ADOF58HDS","B2ADOF58RDT","B2ADOF58V ","B2ADOF58WVS","B2ADOF59A ","B2ADOF59ADD","B2ADOF59D ", & - "B2ADOF59HDS","B2ADOF59RDT","B2ADOF59V ","B2ADOF59WVS","B2ADOF5A ","B2ADOF5ADD ","B2ADOF5D ", & - "B2ADOF5HDS ","B2ADOF5RDT ","B2ADOF5V ","B2ADOF5WVS ","B2ADOF60A ","B2ADOF60ADD","B2ADOF60D ", & - "B2ADOF60HDS","B2ADOF60RDT","B2ADOF60V ","B2ADOF60WVS","B2ADOF61A ","B2ADOF61ADD","B2ADOF61D ", & - "B2ADOF61HDS","B2ADOF61RDT","B2ADOF61V ","B2ADOF61WVS","B2ADOF62A ","B2ADOF62ADD","B2ADOF62D ", & - "B2ADOF62HDS","B2ADOF62RDT","B2ADOF62V ","B2ADOF62WVS","B2ADOF63A ","B2ADOF63ADD","B2ADOF63D ", & - "B2ADOF63HDS","B2ADOF63RDT","B2ADOF63V ","B2ADOF63WVS","B2ADOF64A ","B2ADOF64ADD","B2ADOF64D ", & - "B2ADOF64HDS","B2ADOF64RDT","B2ADOF64V ","B2ADOF64WVS","B2ADOF65A ","B2ADOF65ADD","B2ADOF65D ", & - "B2ADOF65HDS","B2ADOF65RDT","B2ADOF65V ","B2ADOF65WVS","B2ADOF66A ","B2ADOF66ADD","B2ADOF66D ", & - "B2ADOF66HDS","B2ADOF66RDT","B2ADOF66V ","B2ADOF66WVS","B2ADOF67A ","B2ADOF67ADD","B2ADOF67D ", & - "B2ADOF67HDS","B2ADOF67RDT","B2ADOF67V ","B2ADOF67WVS","B2ADOF68A ","B2ADOF68ADD","B2ADOF68D ", & - "B2ADOF68HDS","B2ADOF68RDT","B2ADOF68V ","B2ADOF68WVS","B2ADOF69A ","B2ADOF69ADD","B2ADOF69D ", & - "B2ADOF69HDS","B2ADOF69RDT","B2ADOF69V ","B2ADOF69WVS","B2ADOF6A ","B2ADOF6ADD ","B2ADOF6D ", & - "B2ADOF6HDS ","B2ADOF6RDT ","B2ADOF6V ","B2ADOF6WVS ","B2ADOF70A ","B2ADOF70ADD","B2ADOF70D ", & - "B2ADOF70HDS","B2ADOF70RDT","B2ADOF70V ","B2ADOF70WVS","B2ADOF71A ","B2ADOF71ADD","B2ADOF71D ", & - "B2ADOF71HDS","B2ADOF71RDT","B2ADOF71V ","B2ADOF71WVS","B2ADOF72A ","B2ADOF72ADD","B2ADOF72D ", & - "B2ADOF72HDS","B2ADOF72RDT","B2ADOF72V ","B2ADOF72WVS","B2ADOF73A ","B2ADOF73ADD","B2ADOF73D ", & - "B2ADOF73HDS","B2ADOF73RDT","B2ADOF73V ","B2ADOF73WVS","B2ADOF74A ","B2ADOF74ADD","B2ADOF74D ", & - "B2ADOF74HDS","B2ADOF74RDT","B2ADOF74V ","B2ADOF74WVS","B2ADOF75A ","B2ADOF75ADD","B2ADOF75D ", & - "B2ADOF75HDS","B2ADOF75RDT","B2ADOF75V ","B2ADOF75WVS","B2ADOF76A ","B2ADOF76ADD","B2ADOF76D ", & - "B2ADOF76HDS","B2ADOF76RDT","B2ADOF76V ","B2ADOF76WVS","B2ADOF77A ","B2ADOF77ADD","B2ADOF77D ", & - "B2ADOF77HDS","B2ADOF77RDT","B2ADOF77V ","B2ADOF77WVS","B2ADOF78A ","B2ADOF78ADD","B2ADOF78D ", & - "B2ADOF78HDS","B2ADOF78RDT","B2ADOF78V ","B2ADOF78WVS","B2ADOF79A ","B2ADOF79ADD","B2ADOF79D ", & - "B2ADOF79HDS","B2ADOF79RDT","B2ADOF79V ","B2ADOF79WVS","B2ADOF7A ","B2ADOF7ADD ","B2ADOF7D ", & - "B2ADOF7HDS ","B2ADOF7RDT ","B2ADOF7V ","B2ADOF7WVS ","B2ADOF80A ","B2ADOF80ADD","B2ADOF80D ", & - "B2ADOF80HDS","B2ADOF80RDT","B2ADOF80V ","B2ADOF80WVS","B2ADOF81A ","B2ADOF81ADD","B2ADOF81D ", & - "B2ADOF81HDS","B2ADOF81RDT","B2ADOF81V ","B2ADOF81WVS","B2ADOF82A ","B2ADOF82ADD","B2ADOF82D ", & - "B2ADOF82HDS","B2ADOF82RDT","B2ADOF82V ","B2ADOF82WVS","B2ADOF83A ","B2ADOF83ADD","B2ADOF83D ", & - "B2ADOF83HDS","B2ADOF83RDT","B2ADOF83V ","B2ADOF83WVS","B2ADOF84A ","B2ADOF84ADD","B2ADOF84D ", & - "B2ADOF84HDS","B2ADOF84RDT","B2ADOF84V ","B2ADOF84WVS","B2ADOF85A ","B2ADOF85ADD","B2ADOF85D ", & - "B2ADOF85HDS","B2ADOF85RDT","B2ADOF85V ","B2ADOF85WVS","B2ADOF86A ","B2ADOF86ADD","B2ADOF86D ", & - "B2ADOF86HDS","B2ADOF86RDT","B2ADOF86V ","B2ADOF86WVS","B2ADOF87A ","B2ADOF87ADD","B2ADOF87D ", & - "B2ADOF87HDS","B2ADOF87RDT","B2ADOF87V ","B2ADOF87WVS","B2ADOF88A ","B2ADOF88ADD","B2ADOF88D ", & - "B2ADOF88HDS","B2ADOF88RDT","B2ADOF88V ","B2ADOF88WVS","B2ADOF89A ","B2ADOF89ADD","B2ADOF89D ", & - "B2ADOF89HDS","B2ADOF89RDT","B2ADOF89V ","B2ADOF89WVS","B2ADOF8A ","B2ADOF8ADD ","B2ADOF8D ", & - "B2ADOF8HDS ","B2ADOF8RDT ","B2ADOF8V ","B2ADOF8WVS ","B2ADOF90A ","B2ADOF90ADD","B2ADOF90D ", & - "B2ADOF90HDS","B2ADOF90RDT","B2ADOF90V ","B2ADOF90WVS","B2ADOF91A ","B2ADOF91ADD","B2ADOF91D ", & - "B2ADOF91HDS","B2ADOF91RDT","B2ADOF91V ","B2ADOF91WVS","B2ADOF92A ","B2ADOF92ADD","B2ADOF92D ", & - "B2ADOF92HDS","B2ADOF92RDT","B2ADOF92V ","B2ADOF92WVS","B2ADOF93A ","B2ADOF93ADD","B2ADOF93D ", & - "B2ADOF93HDS","B2ADOF93RDT","B2ADOF93V ","B2ADOF93WVS","B2ADOF94A ","B2ADOF94ADD","B2ADOF94D ", & - "B2ADOF94HDS","B2ADOF94RDT","B2ADOF94V ","B2ADOF94WVS","B2ADOF95A ","B2ADOF95ADD","B2ADOF95D ", & - "B2ADOF95HDS","B2ADOF95RDT","B2ADOF95V ","B2ADOF95WVS","B2ADOF96A ","B2ADOF96ADD","B2ADOF96D ", & - "B2ADOF96HDS","B2ADOF96RDT","B2ADOF96V ","B2ADOF96WVS","B2ADOF97A ","B2ADOF97ADD","B2ADOF97D ", & - "B2ADOF97HDS","B2ADOF97RDT","B2ADOF97V ","B2ADOF97WVS","B2ADOF98A ","B2ADOF98ADD","B2ADOF98D ", & - "B2ADOF98HDS","B2ADOF98RDT","B2ADOF98V ","B2ADOF98WVS","B2ADOF99A ","B2ADOF99ADD","B2ADOF99D ", & - "B2ADOF99HDS","B2ADOF99RDT","B2ADOF99V ","B2ADOF99WVS","B2ADOF9A ","B2ADOF9ADD ","B2ADOF9D ", & - "B2ADOF9HDS ","B2ADOF9RDT ","B2ADOF9V ","B2ADOF9WVS ","B2HDSFXI ","B2HDSFYI ","B2HDSFZI ", & - "B2HDSMXI ","B2HDSMYI ","B2HDSMZI ","B2HEAVE ","B2PITCH ","B2RAXI ","B2RAYI ", & - "B2RAZI ","B2RDTFXI ","B2RDTFYI ","B2RDTFZI ","B2RDTMXI ","B2RDTMYI ","B2RDTMZI ", & - "B2ROLL ","B2RVXI ","B2RVYI ","B2RVZI ","B2SURGE ","B2SWAY ","B2TAXI ", & - "B2TAYI ","B2TAZI ","B2TVXI ","B2TVYI ","B2TVZI ","B2WVSF1XI ","B2WVSF1YI ", & - "B2WVSF1ZI ","B2WVSF2XI ","B2WVSF2YI ","B2WVSF2ZI ","B2WVSFXI ","B2WVSFYI ","B2WVSFZI ", & - "B2WVSM1XI ","B2WVSM1YI ","B2WVSM1ZI ","B2WVSM2XI ","B2WVSM2YI ","B2WVSM2ZI ","B2WVSMXI ", & - "B2WVSMYI ","B2WVSMZI ","B2YAW ","B3ADDFXI ","B3ADDFYI ","B3ADDFZI ","B3ADDMXI ", & - "B3ADDMYI ","B3ADDMZI ","B3ADOF10A ","B3ADOF10ADD","B3ADOF10D ","B3ADOF10HDS","B3ADOF10RDT", & - "B3ADOF10V ","B3ADOF10WVS","B3ADOF11A ","B3ADOF11ADD","B3ADOF11D ","B3ADOF11HDS","B3ADOF11RDT", & - "B3ADOF11V ","B3ADOF11WVS","B3ADOF12A ","B3ADOF12ADD","B3ADOF12D ","B3ADOF12HDS","B3ADOF12RDT", & - "B3ADOF12V ","B3ADOF12WVS","B3ADOF13A ","B3ADOF13ADD","B3ADOF13D ","B3ADOF13HDS","B3ADOF13RDT", & - "B3ADOF13V ","B3ADOF13WVS","B3ADOF14A ","B3ADOF14ADD","B3ADOF14D ","B3ADOF14HDS","B3ADOF14RDT", & - "B3ADOF14V ","B3ADOF14WVS","B3ADOF15A ","B3ADOF15ADD","B3ADOF15D ","B3ADOF15HDS","B3ADOF15RDT", & - "B3ADOF15V ","B3ADOF15WVS","B3ADOF16A ","B3ADOF16ADD","B3ADOF16D ","B3ADOF16HDS","B3ADOF16RDT", & - "B3ADOF16V ","B3ADOF16WVS","B3ADOF17A ","B3ADOF17ADD","B3ADOF17D ","B3ADOF17HDS","B3ADOF17RDT", & - "B3ADOF17V ","B3ADOF17WVS","B3ADOF18A ","B3ADOF18ADD","B3ADOF18D ","B3ADOF18HDS","B3ADOF18RDT", & - "B3ADOF18V ","B3ADOF18WVS","B3ADOF19A ","B3ADOF19ADD","B3ADOF19D ","B3ADOF19HDS","B3ADOF19RDT", & - "B3ADOF19V ","B3ADOF19WVS","B3ADOF1A ","B3ADOF1ADD ","B3ADOF1D ","B3ADOF1HDS ","B3ADOF1RDT ", & - "B3ADOF1V ","B3ADOF1WVS ","B3ADOF20A ","B3ADOF20ADD","B3ADOF20D ","B3ADOF20HDS","B3ADOF20RDT", & - "B3ADOF20V ","B3ADOF20WVS","B3ADOF21A ","B3ADOF21ADD","B3ADOF21D ","B3ADOF21HDS","B3ADOF21RDT", & - "B3ADOF21V ","B3ADOF21WVS","B3ADOF22A ","B3ADOF22ADD","B3ADOF22D ","B3ADOF22HDS","B3ADOF22RDT", & - "B3ADOF22V ","B3ADOF22WVS","B3ADOF23A ","B3ADOF23ADD","B3ADOF23D ","B3ADOF23HDS","B3ADOF23RDT", & - "B3ADOF23V ","B3ADOF23WVS","B3ADOF24A ","B3ADOF24ADD","B3ADOF24D ","B3ADOF24HDS","B3ADOF24RDT", & - "B3ADOF24V ","B3ADOF24WVS","B3ADOF25A ","B3ADOF25ADD","B3ADOF25D ","B3ADOF25HDS","B3ADOF25RDT", & - "B3ADOF25V ","B3ADOF25WVS","B3ADOF26A ","B3ADOF26ADD","B3ADOF26D ","B3ADOF26HDS","B3ADOF26RDT", & - "B3ADOF26V ","B3ADOF26WVS","B3ADOF27A ","B3ADOF27ADD","B3ADOF27D ","B3ADOF27HDS","B3ADOF27RDT", & - "B3ADOF27V ","B3ADOF27WVS","B3ADOF28A ","B3ADOF28ADD","B3ADOF28D ","B3ADOF28HDS","B3ADOF28RDT", & - "B3ADOF28V ","B3ADOF28WVS","B3ADOF29A ","B3ADOF29ADD","B3ADOF29D ","B3ADOF29HDS","B3ADOF29RDT", & - "B3ADOF29V ","B3ADOF29WVS","B3ADOF2A ","B3ADOF2ADD ","B3ADOF2D ","B3ADOF2HDS ","B3ADOF2RDT ", & - "B3ADOF2V ","B3ADOF2WVS ","B3ADOF30A ","B3ADOF30ADD","B3ADOF30D ","B3ADOF30HDS","B3ADOF30RDT", & - "B3ADOF30V ","B3ADOF30WVS","B3ADOF31A ","B3ADOF31ADD","B3ADOF31D ","B3ADOF31HDS","B3ADOF31RDT", & - "B3ADOF31V ","B3ADOF31WVS","B3ADOF32A ","B3ADOF32ADD","B3ADOF32D ","B3ADOF32HDS","B3ADOF32RDT", & - "B3ADOF32V ","B3ADOF32WVS","B3ADOF33A ","B3ADOF33ADD","B3ADOF33D ","B3ADOF33HDS","B3ADOF33RDT", & - "B3ADOF33V ","B3ADOF33WVS","B3ADOF34A ","B3ADOF34ADD","B3ADOF34D ","B3ADOF34HDS","B3ADOF34RDT"/) - CHARACTER(OutStrLenM1), PARAMETER :: ValidParamAry2(1687) = (/ & ! This lists the names of the allowed parameters, which must be sorted alphabetically - "B3ADOF34V ","B3ADOF34WVS","B3ADOF35A ","B3ADOF35ADD","B3ADOF35D ","B3ADOF35HDS","B3ADOF35RDT", & - "B3ADOF35V ","B3ADOF35WVS","B3ADOF36A ","B3ADOF36ADD","B3ADOF36D ","B3ADOF36HDS","B3ADOF36RDT", & - "B3ADOF36V ","B3ADOF36WVS","B3ADOF37A ","B3ADOF37ADD","B3ADOF37D ","B3ADOF37HDS","B3ADOF37RDT", & - "B3ADOF37V ","B3ADOF37WVS","B3ADOF38A ","B3ADOF38ADD","B3ADOF38D ","B3ADOF38HDS","B3ADOF38RDT", & - "B3ADOF38V ","B3ADOF38WVS","B3ADOF39A ","B3ADOF39ADD","B3ADOF39D ","B3ADOF39HDS","B3ADOF39RDT", & - "B3ADOF39V ","B3ADOF39WVS","B3ADOF3A ","B3ADOF3ADD ","B3ADOF3D ","B3ADOF3HDS ","B3ADOF3RDT ", & - "B3ADOF3V ","B3ADOF3WVS ","B3ADOF40A ","B3ADOF40ADD","B3ADOF40D ","B3ADOF40HDS","B3ADOF40RDT", & - "B3ADOF40V ","B3ADOF40WVS","B3ADOF41A ","B3ADOF41ADD","B3ADOF41D ","B3ADOF41HDS","B3ADOF41RDT", & - "B3ADOF41V ","B3ADOF41WVS","B3ADOF42A ","B3ADOF42ADD","B3ADOF42D ","B3ADOF42HDS","B3ADOF42RDT", & - "B3ADOF42V ","B3ADOF42WVS","B3ADOF43A ","B3ADOF43ADD","B3ADOF43D ","B3ADOF43HDS","B3ADOF43RDT", & - "B3ADOF43V ","B3ADOF43WVS","B3ADOF44A ","B3ADOF44ADD","B3ADOF44D ","B3ADOF44HDS","B3ADOF44RDT", & - "B3ADOF44V ","B3ADOF44WVS","B3ADOF45A ","B3ADOF45ADD","B3ADOF45D ","B3ADOF45HDS","B3ADOF45RDT", & - "B3ADOF45V ","B3ADOF45WVS","B3ADOF46A ","B3ADOF46ADD","B3ADOF46D ","B3ADOF46HDS","B3ADOF46RDT", & - "B3ADOF46V ","B3ADOF46WVS","B3ADOF47A ","B3ADOF47ADD","B3ADOF47D ","B3ADOF47HDS","B3ADOF47RDT", & - "B3ADOF47V ","B3ADOF47WVS","B3ADOF48A ","B3ADOF48ADD","B3ADOF48D ","B3ADOF48HDS","B3ADOF48RDT", & - "B3ADOF48V ","B3ADOF48WVS","B3ADOF49A ","B3ADOF49ADD","B3ADOF49D ","B3ADOF49HDS","B3ADOF49RDT", & - "B3ADOF49V ","B3ADOF49WVS","B3ADOF4A ","B3ADOF4ADD ","B3ADOF4D ","B3ADOF4HDS ","B3ADOF4RDT ", & - "B3ADOF4V ","B3ADOF4WVS ","B3ADOF50A ","B3ADOF50ADD","B3ADOF50D ","B3ADOF50HDS","B3ADOF50RDT", & - "B3ADOF50V ","B3ADOF50WVS","B3ADOF51A ","B3ADOF51ADD","B3ADOF51D ","B3ADOF51HDS","B3ADOF51RDT", & - "B3ADOF51V ","B3ADOF51WVS","B3ADOF52A ","B3ADOF52ADD","B3ADOF52D ","B3ADOF52HDS","B3ADOF52RDT", & - "B3ADOF52V ","B3ADOF52WVS","B3ADOF53A ","B3ADOF53ADD","B3ADOF53D ","B3ADOF53HDS","B3ADOF53RDT", & - "B3ADOF53V ","B3ADOF53WVS","B3ADOF54A ","B3ADOF54ADD","B3ADOF54D ","B3ADOF54HDS","B3ADOF54RDT", & - "B3ADOF54V ","B3ADOF54WVS","B3ADOF55A ","B3ADOF55ADD","B3ADOF55D ","B3ADOF55HDS","B3ADOF55RDT", & - "B3ADOF55V ","B3ADOF55WVS","B3ADOF56A ","B3ADOF56ADD","B3ADOF56D ","B3ADOF56HDS","B3ADOF56RDT", & - "B3ADOF56V ","B3ADOF56WVS","B3ADOF57A ","B3ADOF57ADD","B3ADOF57D ","B3ADOF57HDS","B3ADOF57RDT", & - "B3ADOF57V ","B3ADOF57WVS","B3ADOF58A ","B3ADOF58ADD","B3ADOF58D ","B3ADOF58HDS","B3ADOF58RDT", & - "B3ADOF58V ","B3ADOF58WVS","B3ADOF59A ","B3ADOF59ADD","B3ADOF59D ","B3ADOF59HDS","B3ADOF59RDT", & - "B3ADOF59V ","B3ADOF59WVS","B3ADOF5A ","B3ADOF5ADD ","B3ADOF5D ","B3ADOF5HDS ","B3ADOF5RDT ", & - "B3ADOF5V ","B3ADOF5WVS ","B3ADOF60A ","B3ADOF60ADD","B3ADOF60D ","B3ADOF60HDS","B3ADOF60RDT", & - "B3ADOF60V ","B3ADOF60WVS","B3ADOF61A ","B3ADOF61ADD","B3ADOF61D ","B3ADOF61HDS","B3ADOF61RDT", & - "B3ADOF61V ","B3ADOF61WVS","B3ADOF62A ","B3ADOF62ADD","B3ADOF62D ","B3ADOF62HDS","B3ADOF62RDT", & - "B3ADOF62V ","B3ADOF62WVS","B3ADOF63A ","B3ADOF63ADD","B3ADOF63D ","B3ADOF63HDS","B3ADOF63RDT", & - "B3ADOF63V ","B3ADOF63WVS","B3ADOF64A ","B3ADOF64ADD","B3ADOF64D ","B3ADOF64HDS","B3ADOF64RDT", & - "B3ADOF64V ","B3ADOF64WVS","B3ADOF65A ","B3ADOF65ADD","B3ADOF65D ","B3ADOF65HDS","B3ADOF65RDT", & - "B3ADOF65V ","B3ADOF65WVS","B3ADOF66A ","B3ADOF66ADD","B3ADOF66D ","B3ADOF66HDS","B3ADOF66RDT", & - "B3ADOF66V ","B3ADOF66WVS","B3ADOF67A ","B3ADOF67ADD","B3ADOF67D ","B3ADOF67HDS","B3ADOF67RDT", & - "B3ADOF67V ","B3ADOF67WVS","B3ADOF68A ","B3ADOF68ADD","B3ADOF68D ","B3ADOF68HDS","B3ADOF68RDT", & - "B3ADOF68V ","B3ADOF68WVS","B3ADOF69A ","B3ADOF69ADD","B3ADOF69D ","B3ADOF69HDS","B3ADOF69RDT", & - "B3ADOF69V ","B3ADOF69WVS","B3ADOF6A ","B3ADOF6ADD ","B3ADOF6D ","B3ADOF6HDS ","B3ADOF6RDT ", & - "B3ADOF6V ","B3ADOF6WVS ","B3ADOF70A ","B3ADOF70ADD","B3ADOF70D ","B3ADOF70HDS","B3ADOF70RDT", & - "B3ADOF70V ","B3ADOF70WVS","B3ADOF71A ","B3ADOF71ADD","B3ADOF71D ","B3ADOF71HDS","B3ADOF71RDT", & - "B3ADOF71V ","B3ADOF71WVS","B3ADOF72A ","B3ADOF72ADD","B3ADOF72D ","B3ADOF72HDS","B3ADOF72RDT", & - "B3ADOF72V ","B3ADOF72WVS","B3ADOF73A ","B3ADOF73ADD","B3ADOF73D ","B3ADOF73HDS","B3ADOF73RDT", & - "B3ADOF73V ","B3ADOF73WVS","B3ADOF74A ","B3ADOF74ADD","B3ADOF74D ","B3ADOF74HDS","B3ADOF74RDT", & - "B3ADOF74V ","B3ADOF74WVS","B3ADOF75A ","B3ADOF75ADD","B3ADOF75D ","B3ADOF75HDS","B3ADOF75RDT", & - "B3ADOF75V ","B3ADOF75WVS","B3ADOF76A ","B3ADOF76ADD","B3ADOF76D ","B3ADOF76HDS","B3ADOF76RDT", & - "B3ADOF76V ","B3ADOF76WVS","B3ADOF77A ","B3ADOF77ADD","B3ADOF77D ","B3ADOF77HDS","B3ADOF77RDT", & - "B3ADOF77V ","B3ADOF77WVS","B3ADOF78A ","B3ADOF78ADD","B3ADOF78D ","B3ADOF78HDS","B3ADOF78RDT", & - "B3ADOF78V ","B3ADOF78WVS","B3ADOF79A ","B3ADOF79ADD","B3ADOF79D ","B3ADOF79HDS","B3ADOF79RDT", & - "B3ADOF79V ","B3ADOF79WVS","B3ADOF7A ","B3ADOF7ADD ","B3ADOF7D ","B3ADOF7HDS ","B3ADOF7RDT ", & - "B3ADOF7V ","B3ADOF7WVS ","B3ADOF80A ","B3ADOF80ADD","B3ADOF80D ","B3ADOF80HDS","B3ADOF80RDT", & - "B3ADOF80V ","B3ADOF80WVS","B3ADOF81A ","B3ADOF81ADD","B3ADOF81D ","B3ADOF81HDS","B3ADOF81RDT", & - "B3ADOF81V ","B3ADOF81WVS","B3ADOF82A ","B3ADOF82ADD","B3ADOF82D ","B3ADOF82HDS","B3ADOF82RDT", & - "B3ADOF82V ","B3ADOF82WVS","B3ADOF83A ","B3ADOF83ADD","B3ADOF83D ","B3ADOF83HDS","B3ADOF83RDT", & - "B3ADOF83V ","B3ADOF83WVS","B3ADOF84A ","B3ADOF84ADD","B3ADOF84D ","B3ADOF84HDS","B3ADOF84RDT", & - "B3ADOF84V ","B3ADOF84WVS","B3ADOF85A ","B3ADOF85ADD","B3ADOF85D ","B3ADOF85HDS","B3ADOF85RDT", & - "B3ADOF85V ","B3ADOF85WVS","B3ADOF86A ","B3ADOF86ADD","B3ADOF86D ","B3ADOF86HDS","B3ADOF86RDT", & - "B3ADOF86V ","B3ADOF86WVS","B3ADOF87A ","B3ADOF87ADD","B3ADOF87D ","B3ADOF87HDS","B3ADOF87RDT", & - "B3ADOF87V ","B3ADOF87WVS","B3ADOF88A ","B3ADOF88ADD","B3ADOF88D ","B3ADOF88HDS","B3ADOF88RDT", & - "B3ADOF88V ","B3ADOF88WVS","B3ADOF89A ","B3ADOF89ADD","B3ADOF89D ","B3ADOF89HDS","B3ADOF89RDT", & - "B3ADOF89V ","B3ADOF89WVS","B3ADOF8A ","B3ADOF8ADD ","B3ADOF8D ","B3ADOF8HDS ","B3ADOF8RDT ", & - "B3ADOF8V ","B3ADOF8WVS ","B3ADOF90A ","B3ADOF90ADD","B3ADOF90D ","B3ADOF90HDS","B3ADOF90RDT", & - "B3ADOF90V ","B3ADOF90WVS","B3ADOF91A ","B3ADOF91ADD","B3ADOF91D ","B3ADOF91HDS","B3ADOF91RDT", & - "B3ADOF91V ","B3ADOF91WVS","B3ADOF92A ","B3ADOF92ADD","B3ADOF92D ","B3ADOF92HDS","B3ADOF92RDT", & - "B3ADOF92V ","B3ADOF92WVS","B3ADOF93A ","B3ADOF93ADD","B3ADOF93D ","B3ADOF93HDS","B3ADOF93RDT", & - "B3ADOF93V ","B3ADOF93WVS","B3ADOF94A ","B3ADOF94ADD","B3ADOF94D ","B3ADOF94HDS","B3ADOF94RDT", & - "B3ADOF94V ","B3ADOF94WVS","B3ADOF95A ","B3ADOF95ADD","B3ADOF95D ","B3ADOF95HDS","B3ADOF95RDT", & - "B3ADOF95V ","B3ADOF95WVS","B3ADOF96A ","B3ADOF96ADD","B3ADOF96D ","B3ADOF96HDS","B3ADOF96RDT", & - "B3ADOF96V ","B3ADOF96WVS","B3ADOF97A ","B3ADOF97ADD","B3ADOF97D ","B3ADOF97HDS","B3ADOF97RDT", & - "B3ADOF97V ","B3ADOF97WVS","B3ADOF98A ","B3ADOF98ADD","B3ADOF98D ","B3ADOF98HDS","B3ADOF98RDT", & - "B3ADOF98V ","B3ADOF98WVS","B3ADOF99A ","B3ADOF99ADD","B3ADOF99D ","B3ADOF99HDS","B3ADOF99RDT", & - "B3ADOF99V ","B3ADOF99WVS","B3ADOF9A ","B3ADOF9ADD ","B3ADOF9D ","B3ADOF9HDS ","B3ADOF9RDT ", & - "B3ADOF9V ","B3ADOF9WVS ","B3HDSFXI ","B3HDSFYI ","B3HDSFZI ","B3HDSMXI ","B3HDSMYI ", & - "B3HDSMZI ","B3HEAVE ","B3PITCH ","B3RAXI ","B3RAYI ","B3RAZI ","B3RDTFXI ", & - "B3RDTFYI ","B3RDTFZI ","B3RDTMXI ","B3RDTMYI ","B3RDTMZI ","B3ROLL ","B3RVXI ", & - "B3RVYI ","B3RVZI ","B3SURGE ","B3SWAY ","B3TAXI ","B3TAYI ","B3TAZI ", & - "B3TVXI ","B3TVYI ","B3TVZI ","B3WVSF1XI ","B3WVSF1YI ","B3WVSF1ZI ","B3WVSF2XI ", & - "B3WVSF2YI ","B3WVSF2ZI ","B3WVSFXI ","B3WVSFYI ","B3WVSFZI ","B3WVSM1XI ","B3WVSM1YI ", & - "B3WVSM1ZI ","B3WVSM2XI ","B3WVSM2YI ","B3WVSM2ZI ","B3WVSMXI ","B3WVSMYI ","B3WVSMZI ", & - "B3YAW ","B4ADDFXI ","B4ADDFYI ","B4ADDFZI ","B4ADDMXI ","B4ADDMYI ","B4ADDMZI ", & - "B4ADOF10A ","B4ADOF10ADD","B4ADOF10D ","B4ADOF10HDS","B4ADOF10RDT","B4ADOF10V ","B4ADOF10WVS", & - "B4ADOF11A ","B4ADOF11ADD","B4ADOF11D ","B4ADOF11HDS","B4ADOF11RDT","B4ADOF11V ","B4ADOF11WVS", & - "B4ADOF12A ","B4ADOF12ADD","B4ADOF12D ","B4ADOF12HDS","B4ADOF12RDT","B4ADOF12V ","B4ADOF12WVS", & - "B4ADOF13A ","B4ADOF13ADD","B4ADOF13D ","B4ADOF13HDS","B4ADOF13RDT","B4ADOF13V ","B4ADOF13WVS", & - "B4ADOF14A ","B4ADOF14ADD","B4ADOF14D ","B4ADOF14HDS","B4ADOF14RDT","B4ADOF14V ","B4ADOF14WVS", & - "B4ADOF15A ","B4ADOF15ADD","B4ADOF15D ","B4ADOF15HDS","B4ADOF15RDT","B4ADOF15V ","B4ADOF15WVS", & - "B4ADOF16A ","B4ADOF16ADD","B4ADOF16D ","B4ADOF16HDS","B4ADOF16RDT","B4ADOF16V ","B4ADOF16WVS", & - "B4ADOF17A ","B4ADOF17ADD","B4ADOF17D ","B4ADOF17HDS","B4ADOF17RDT","B4ADOF17V ","B4ADOF17WVS", & - "B4ADOF18A ","B4ADOF18ADD","B4ADOF18D ","B4ADOF18HDS","B4ADOF18RDT","B4ADOF18V ","B4ADOF18WVS", & - "B4ADOF19A ","B4ADOF19ADD","B4ADOF19D ","B4ADOF19HDS","B4ADOF19RDT","B4ADOF19V ","B4ADOF19WVS", & - "B4ADOF1A ","B4ADOF1ADD ","B4ADOF1D ","B4ADOF1HDS ","B4ADOF1RDT ","B4ADOF1V ","B4ADOF1WVS ", & - "B4ADOF20A ","B4ADOF20ADD","B4ADOF20D ","B4ADOF20HDS","B4ADOF20RDT","B4ADOF20V ","B4ADOF20WVS", & - "B4ADOF21A ","B4ADOF21ADD","B4ADOF21D ","B4ADOF21HDS","B4ADOF21RDT","B4ADOF21V ","B4ADOF21WVS", & - "B4ADOF22A ","B4ADOF22ADD","B4ADOF22D ","B4ADOF22HDS","B4ADOF22RDT","B4ADOF22V ","B4ADOF22WVS", & - "B4ADOF23A ","B4ADOF23ADD","B4ADOF23D ","B4ADOF23HDS","B4ADOF23RDT","B4ADOF23V ","B4ADOF23WVS", & - "B4ADOF24A ","B4ADOF24ADD","B4ADOF24D ","B4ADOF24HDS","B4ADOF24RDT","B4ADOF24V ","B4ADOF24WVS", & - "B4ADOF25A ","B4ADOF25ADD","B4ADOF25D ","B4ADOF25HDS","B4ADOF25RDT","B4ADOF25V ","B4ADOF25WVS", & - "B4ADOF26A ","B4ADOF26ADD","B4ADOF26D ","B4ADOF26HDS","B4ADOF26RDT","B4ADOF26V ","B4ADOF26WVS", & - "B4ADOF27A ","B4ADOF27ADD","B4ADOF27D ","B4ADOF27HDS","B4ADOF27RDT","B4ADOF27V ","B4ADOF27WVS", & - "B4ADOF28A ","B4ADOF28ADD","B4ADOF28D ","B4ADOF28HDS","B4ADOF28RDT","B4ADOF28V ","B4ADOF28WVS", & - "B4ADOF29A ","B4ADOF29ADD","B4ADOF29D ","B4ADOF29HDS","B4ADOF29RDT","B4ADOF29V ","B4ADOF29WVS", & - "B4ADOF2A ","B4ADOF2ADD ","B4ADOF2D ","B4ADOF2HDS ","B4ADOF2RDT ","B4ADOF2V ","B4ADOF2WVS ", & - "B4ADOF30A ","B4ADOF30ADD","B4ADOF30D ","B4ADOF30HDS","B4ADOF30RDT","B4ADOF30V ","B4ADOF30WVS", & - "B4ADOF31A ","B4ADOF31ADD","B4ADOF31D ","B4ADOF31HDS","B4ADOF31RDT","B4ADOF31V ","B4ADOF31WVS", & - "B4ADOF32A ","B4ADOF32ADD","B4ADOF32D ","B4ADOF32HDS","B4ADOF32RDT","B4ADOF32V ","B4ADOF32WVS", & - "B4ADOF33A ","B4ADOF33ADD","B4ADOF33D ","B4ADOF33HDS","B4ADOF33RDT","B4ADOF33V ","B4ADOF33WVS", & - "B4ADOF34A ","B4ADOF34ADD","B4ADOF34D ","B4ADOF34HDS","B4ADOF34RDT","B4ADOF34V ","B4ADOF34WVS", & - "B4ADOF35A ","B4ADOF35ADD","B4ADOF35D ","B4ADOF35HDS","B4ADOF35RDT","B4ADOF35V ","B4ADOF35WVS", & - "B4ADOF36A ","B4ADOF36ADD","B4ADOF36D ","B4ADOF36HDS","B4ADOF36RDT","B4ADOF36V ","B4ADOF36WVS", & - "B4ADOF37A ","B4ADOF37ADD","B4ADOF37D ","B4ADOF37HDS","B4ADOF37RDT","B4ADOF37V ","B4ADOF37WVS", & - "B4ADOF38A ","B4ADOF38ADD","B4ADOF38D ","B4ADOF38HDS","B4ADOF38RDT","B4ADOF38V ","B4ADOF38WVS", & - "B4ADOF39A ","B4ADOF39ADD","B4ADOF39D ","B4ADOF39HDS","B4ADOF39RDT","B4ADOF39V ","B4ADOF39WVS", & - "B4ADOF3A ","B4ADOF3ADD ","B4ADOF3D ","B4ADOF3HDS ","B4ADOF3RDT ","B4ADOF3V ","B4ADOF3WVS ", & - "B4ADOF40A ","B4ADOF40ADD","B4ADOF40D ","B4ADOF40HDS","B4ADOF40RDT","B4ADOF40V ","B4ADOF40WVS", & - "B4ADOF41A ","B4ADOF41ADD","B4ADOF41D ","B4ADOF41HDS","B4ADOF41RDT","B4ADOF41V ","B4ADOF41WVS", & - "B4ADOF42A ","B4ADOF42ADD","B4ADOF42D ","B4ADOF42HDS","B4ADOF42RDT","B4ADOF42V ","B4ADOF42WVS", & - "B4ADOF43A ","B4ADOF43ADD","B4ADOF43D ","B4ADOF43HDS","B4ADOF43RDT","B4ADOF43V ","B4ADOF43WVS", & - "B4ADOF44A ","B4ADOF44ADD","B4ADOF44D ","B4ADOF44HDS","B4ADOF44RDT","B4ADOF44V ","B4ADOF44WVS", & - "B4ADOF45A ","B4ADOF45ADD","B4ADOF45D ","B4ADOF45HDS","B4ADOF45RDT","B4ADOF45V ","B4ADOF45WVS", & - "B4ADOF46A ","B4ADOF46ADD","B4ADOF46D ","B4ADOF46HDS","B4ADOF46RDT","B4ADOF46V ","B4ADOF46WVS", & - "B4ADOF47A ","B4ADOF47ADD","B4ADOF47D ","B4ADOF47HDS","B4ADOF47RDT","B4ADOF47V ","B4ADOF47WVS", & - "B4ADOF48A ","B4ADOF48ADD","B4ADOF48D ","B4ADOF48HDS","B4ADOF48RDT","B4ADOF48V ","B4ADOF48WVS", & - "B4ADOF49A ","B4ADOF49ADD","B4ADOF49D ","B4ADOF49HDS","B4ADOF49RDT","B4ADOF49V ","B4ADOF49WVS", & - "B4ADOF4A ","B4ADOF4ADD ","B4ADOF4D ","B4ADOF4HDS ","B4ADOF4RDT ","B4ADOF4V ","B4ADOF4WVS ", & - "B4ADOF50A ","B4ADOF50ADD","B4ADOF50D ","B4ADOF50HDS","B4ADOF50RDT","B4ADOF50V ","B4ADOF50WVS", & - "B4ADOF51A ","B4ADOF51ADD","B4ADOF51D ","B4ADOF51HDS","B4ADOF51RDT","B4ADOF51V ","B4ADOF51WVS", & - "B4ADOF52A ","B4ADOF52ADD","B4ADOF52D ","B4ADOF52HDS","B4ADOF52RDT","B4ADOF52V ","B4ADOF52WVS", & - "B4ADOF53A ","B4ADOF53ADD","B4ADOF53D ","B4ADOF53HDS","B4ADOF53RDT","B4ADOF53V ","B4ADOF53WVS", & - "B4ADOF54A ","B4ADOF54ADD","B4ADOF54D ","B4ADOF54HDS","B4ADOF54RDT","B4ADOF54V ","B4ADOF54WVS", & - "B4ADOF55A ","B4ADOF55ADD","B4ADOF55D ","B4ADOF55HDS","B4ADOF55RDT","B4ADOF55V ","B4ADOF55WVS", & - "B4ADOF56A ","B4ADOF56ADD","B4ADOF56D ","B4ADOF56HDS","B4ADOF56RDT","B4ADOF56V ","B4ADOF56WVS", & - "B4ADOF57A ","B4ADOF57ADD","B4ADOF57D ","B4ADOF57HDS","B4ADOF57RDT","B4ADOF57V ","B4ADOF57WVS", & - "B4ADOF58A ","B4ADOF58ADD","B4ADOF58D ","B4ADOF58HDS","B4ADOF58RDT","B4ADOF58V ","B4ADOF58WVS", & - "B4ADOF59A ","B4ADOF59ADD","B4ADOF59D ","B4ADOF59HDS","B4ADOF59RDT","B4ADOF59V ","B4ADOF59WVS", & - "B4ADOF5A ","B4ADOF5ADD ","B4ADOF5D ","B4ADOF5HDS ","B4ADOF5RDT ","B4ADOF5V ","B4ADOF5WVS ", & - "B4ADOF60A ","B4ADOF60ADD","B4ADOF60D ","B4ADOF60HDS","B4ADOF60RDT","B4ADOF60V ","B4ADOF60WVS", & - "B4ADOF61A ","B4ADOF61ADD","B4ADOF61D ","B4ADOF61HDS","B4ADOF61RDT","B4ADOF61V ","B4ADOF61WVS", & - "B4ADOF62A ","B4ADOF62ADD","B4ADOF62D ","B4ADOF62HDS","B4ADOF62RDT","B4ADOF62V ","B4ADOF62WVS", & - "B4ADOF63A ","B4ADOF63ADD","B4ADOF63D ","B4ADOF63HDS","B4ADOF63RDT","B4ADOF63V ","B4ADOF63WVS", & - "B4ADOF64A ","B4ADOF64ADD","B4ADOF64D ","B4ADOF64HDS","B4ADOF64RDT","B4ADOF64V ","B4ADOF64WVS", & - "B4ADOF65A ","B4ADOF65ADD","B4ADOF65D ","B4ADOF65HDS","B4ADOF65RDT","B4ADOF65V ","B4ADOF65WVS", & - "B4ADOF66A ","B4ADOF66ADD","B4ADOF66D ","B4ADOF66HDS","B4ADOF66RDT","B4ADOF66V ","B4ADOF66WVS", & - "B4ADOF67A ","B4ADOF67ADD","B4ADOF67D ","B4ADOF67HDS","B4ADOF67RDT","B4ADOF67V ","B4ADOF67WVS", & - "B4ADOF68A ","B4ADOF68ADD","B4ADOF68D ","B4ADOF68HDS","B4ADOF68RDT","B4ADOF68V ","B4ADOF68WVS", & - "B4ADOF69A ","B4ADOF69ADD","B4ADOF69D ","B4ADOF69HDS","B4ADOF69RDT","B4ADOF69V ","B4ADOF69WVS", & - "B4ADOF6A ","B4ADOF6ADD ","B4ADOF6D ","B4ADOF6HDS ","B4ADOF6RDT ","B4ADOF6V ","B4ADOF6WVS ", & - "B4ADOF70A ","B4ADOF70ADD","B4ADOF70D ","B4ADOF70HDS","B4ADOF70RDT","B4ADOF70V ","B4ADOF70WVS", & - "B4ADOF71A ","B4ADOF71ADD","B4ADOF71D ","B4ADOF71HDS","B4ADOF71RDT","B4ADOF71V ","B4ADOF71WVS", & - "B4ADOF72A ","B4ADOF72ADD","B4ADOF72D ","B4ADOF72HDS","B4ADOF72RDT","B4ADOF72V ","B4ADOF72WVS", & - "B4ADOF73A ","B4ADOF73ADD","B4ADOF73D ","B4ADOF73HDS","B4ADOF73RDT","B4ADOF73V ","B4ADOF73WVS", & - "B4ADOF74A ","B4ADOF74ADD","B4ADOF74D ","B4ADOF74HDS","B4ADOF74RDT","B4ADOF74V ","B4ADOF74WVS", & - "B4ADOF75A ","B4ADOF75ADD","B4ADOF75D ","B4ADOF75HDS","B4ADOF75RDT","B4ADOF75V ","B4ADOF75WVS", & - "B4ADOF76A ","B4ADOF76ADD","B4ADOF76D ","B4ADOF76HDS","B4ADOF76RDT","B4ADOF76V ","B4ADOF76WVS", & - "B4ADOF77A ","B4ADOF77ADD","B4ADOF77D ","B4ADOF77HDS","B4ADOF77RDT","B4ADOF77V ","B4ADOF77WVS", & - "B4ADOF78A ","B4ADOF78ADD","B4ADOF78D ","B4ADOF78HDS","B4ADOF78RDT","B4ADOF78V ","B4ADOF78WVS", & - "B4ADOF79A ","B4ADOF79ADD","B4ADOF79D ","B4ADOF79HDS","B4ADOF79RDT","B4ADOF79V ","B4ADOF79WVS", & - "B4ADOF7A ","B4ADOF7ADD ","B4ADOF7D ","B4ADOF7HDS ","B4ADOF7RDT ","B4ADOF7V ","B4ADOF7WVS ", & - "B4ADOF80A ","B4ADOF80ADD","B4ADOF80D ","B4ADOF80HDS","B4ADOF80RDT","B4ADOF80V ","B4ADOF80WVS", & - "B4ADOF81A ","B4ADOF81ADD","B4ADOF81D ","B4ADOF81HDS","B4ADOF81RDT","B4ADOF81V ","B4ADOF81WVS", & - "B4ADOF82A ","B4ADOF82ADD","B4ADOF82D ","B4ADOF82HDS","B4ADOF82RDT","B4ADOF82V ","B4ADOF82WVS", & - "B4ADOF83A ","B4ADOF83ADD","B4ADOF83D ","B4ADOF83HDS","B4ADOF83RDT","B4ADOF83V ","B4ADOF83WVS", & - "B4ADOF84A ","B4ADOF84ADD","B4ADOF84D ","B4ADOF84HDS","B4ADOF84RDT","B4ADOF84V ","B4ADOF84WVS", & - "B4ADOF85A ","B4ADOF85ADD","B4ADOF85D ","B4ADOF85HDS","B4ADOF85RDT","B4ADOF85V ","B4ADOF85WVS", & - "B4ADOF86A ","B4ADOF86ADD","B4ADOF86D ","B4ADOF86HDS","B4ADOF86RDT","B4ADOF86V ","B4ADOF86WVS", & - "B4ADOF87A ","B4ADOF87ADD","B4ADOF87D ","B4ADOF87HDS","B4ADOF87RDT","B4ADOF87V ","B4ADOF87WVS", & - "B4ADOF88A ","B4ADOF88ADD","B4ADOF88D ","B4ADOF88HDS","B4ADOF88RDT","B4ADOF88V ","B4ADOF88WVS", & - "B4ADOF89A ","B4ADOF89ADD","B4ADOF89D ","B4ADOF89HDS","B4ADOF89RDT","B4ADOF89V ","B4ADOF89WVS", & - "B4ADOF8A ","B4ADOF8ADD ","B4ADOF8D ","B4ADOF8HDS ","B4ADOF8RDT ","B4ADOF8V ","B4ADOF8WVS ", & - "B4ADOF90A ","B4ADOF90ADD","B4ADOF90D ","B4ADOF90HDS","B4ADOF90RDT","B4ADOF90V ","B4ADOF90WVS", & - "B4ADOF91A ","B4ADOF91ADD","B4ADOF91D ","B4ADOF91HDS","B4ADOF91RDT","B4ADOF91V ","B4ADOF91WVS", & - "B4ADOF92A ","B4ADOF92ADD","B4ADOF92D ","B4ADOF92HDS","B4ADOF92RDT","B4ADOF92V ","B4ADOF92WVS", & - "B4ADOF93A ","B4ADOF93ADD","B4ADOF93D ","B4ADOF93HDS","B4ADOF93RDT","B4ADOF93V ","B4ADOF93WVS", & - "B4ADOF94A ","B4ADOF94ADD","B4ADOF94D ","B4ADOF94HDS","B4ADOF94RDT","B4ADOF94V ","B4ADOF94WVS", & - "B4ADOF95A ","B4ADOF95ADD","B4ADOF95D ","B4ADOF95HDS","B4ADOF95RDT","B4ADOF95V ","B4ADOF95WVS", & - "B4ADOF96A ","B4ADOF96ADD","B4ADOF96D ","B4ADOF96HDS","B4ADOF96RDT","B4ADOF96V ","B4ADOF96WVS", & - "B4ADOF97A ","B4ADOF97ADD","B4ADOF97D ","B4ADOF97HDS","B4ADOF97RDT","B4ADOF97V ","B4ADOF97WVS", & - "B4ADOF98A ","B4ADOF98ADD","B4ADOF98D ","B4ADOF98HDS","B4ADOF98RDT","B4ADOF98V ","B4ADOF98WVS", & - "B4ADOF99A ","B4ADOF99ADD","B4ADOF99D ","B4ADOF99HDS","B4ADOF99RDT","B4ADOF99V ","B4ADOF99WVS", & - "B4ADOF9A ","B4ADOF9ADD ","B4ADOF9D ","B4ADOF9HDS ","B4ADOF9RDT ","B4ADOF9V ","B4ADOF9WVS ", & - "B4HDSFXI ","B4HDSFYI ","B4HDSFZI ","B4HDSMXI ","B4HDSMYI ","B4HDSMZI ","B4HEAVE ", & - "B4PITCH ","B4RAXI ","B4RAYI ","B4RAZI ","B4RDTFXI ","B4RDTFYI ","B4RDTFZI ", & - "B4RDTMXI ","B4RDTMYI ","B4RDTMZI ","B4ROLL ","B4RVXI ","B4RVYI ","B4RVZI ", & - "B4SURGE ","B4SWAY ","B4TAXI ","B4TAYI ","B4TAZI ","B4TVXI ","B4TVYI ", & - "B4TVZI ","B4WVSF1XI ","B4WVSF1YI ","B4WVSF1ZI ","B4WVSF2XI ","B4WVSF2YI ","B4WVSF2ZI ", & - "B4WVSFXI ","B4WVSFYI ","B4WVSFZI ","B4WVSM1XI ","B4WVSM1YI ","B4WVSM1ZI ","B4WVSM2XI ", & - "B4WVSM2YI ","B4WVSM2ZI ","B4WVSMXI ","B4WVSMYI ","B4WVSMZI ","B4YAW ","B5ADDFXI ", & - "B5ADDFYI ","B5ADDFZI ","B5ADDMXI ","B5ADDMYI ","B5ADDMZI ","B5ADOF10A ","B5ADOF10ADD", & - "B5ADOF10D ","B5ADOF10HDS","B5ADOF10RDT","B5ADOF10V ","B5ADOF10WVS","B5ADOF11A ","B5ADOF11ADD", & - "B5ADOF11D ","B5ADOF11HDS","B5ADOF11RDT","B5ADOF11V ","B5ADOF11WVS","B5ADOF12A ","B5ADOF12ADD", & - "B5ADOF12D ","B5ADOF12HDS","B5ADOF12RDT","B5ADOF12V ","B5ADOF12WVS","B5ADOF13A ","B5ADOF13ADD", & - "B5ADOF13D ","B5ADOF13HDS","B5ADOF13RDT","B5ADOF13V ","B5ADOF13WVS","B5ADOF14A ","B5ADOF14ADD", & - "B5ADOF14D ","B5ADOF14HDS","B5ADOF14RDT","B5ADOF14V ","B5ADOF14WVS","B5ADOF15A ","B5ADOF15ADD", & - "B5ADOF15D ","B5ADOF15HDS","B5ADOF15RDT","B5ADOF15V ","B5ADOF15WVS","B5ADOF16A ","B5ADOF16ADD", & - "B5ADOF16D ","B5ADOF16HDS","B5ADOF16RDT","B5ADOF16V ","B5ADOF16WVS","B5ADOF17A ","B5ADOF17ADD", & - "B5ADOF17D ","B5ADOF17HDS","B5ADOF17RDT","B5ADOF17V ","B5ADOF17WVS","B5ADOF18A ","B5ADOF18ADD", & - "B5ADOF18D ","B5ADOF18HDS","B5ADOF18RDT","B5ADOF18V ","B5ADOF18WVS","B5ADOF19A ","B5ADOF19ADD", & - "B5ADOF19D ","B5ADOF19HDS","B5ADOF19RDT","B5ADOF19V ","B5ADOF19WVS","B5ADOF1A ","B5ADOF1ADD ", & - "B5ADOF1D ","B5ADOF1HDS ","B5ADOF1RDT ","B5ADOF1V ","B5ADOF1WVS ","B5ADOF20A ","B5ADOF20ADD", & - "B5ADOF20D ","B5ADOF20HDS","B5ADOF20RDT","B5ADOF20V ","B5ADOF20WVS","B5ADOF21A ","B5ADOF21ADD", & - "B5ADOF21D ","B5ADOF21HDS","B5ADOF21RDT","B5ADOF21V ","B5ADOF21WVS","B5ADOF22A ","B5ADOF22ADD", & - "B5ADOF22D ","B5ADOF22HDS","B5ADOF22RDT","B5ADOF22V ","B5ADOF22WVS","B5ADOF23A ","B5ADOF23ADD", & - "B5ADOF23D ","B5ADOF23HDS","B5ADOF23RDT","B5ADOF23V ","B5ADOF23WVS","B5ADOF24A ","B5ADOF24ADD", & - "B5ADOF24D ","B5ADOF24HDS","B5ADOF24RDT","B5ADOF24V ","B5ADOF24WVS","B5ADOF25A ","B5ADOF25ADD", & - "B5ADOF25D ","B5ADOF25HDS","B5ADOF25RDT","B5ADOF25V ","B5ADOF25WVS","B5ADOF26A ","B5ADOF26ADD", & - "B5ADOF26D ","B5ADOF26HDS","B5ADOF26RDT","B5ADOF26V ","B5ADOF26WVS","B5ADOF27A ","B5ADOF27ADD", & - "B5ADOF27D ","B5ADOF27HDS","B5ADOF27RDT","B5ADOF27V ","B5ADOF27WVS","B5ADOF28A ","B5ADOF28ADD", & - "B5ADOF28D ","B5ADOF28HDS","B5ADOF28RDT","B5ADOF28V ","B5ADOF28WVS","B5ADOF29A ","B5ADOF29ADD", & - "B5ADOF29D ","B5ADOF29HDS","B5ADOF29RDT","B5ADOF29V ","B5ADOF29WVS","B5ADOF2A ","B5ADOF2ADD ", & - "B5ADOF2D ","B5ADOF2HDS ","B5ADOF2RDT ","B5ADOF2V ","B5ADOF2WVS ","B5ADOF30A ","B5ADOF30ADD", & - "B5ADOF30D ","B5ADOF30HDS","B5ADOF30RDT","B5ADOF30V ","B5ADOF30WVS","B5ADOF31A ","B5ADOF31ADD", & - "B5ADOF31D ","B5ADOF31HDS","B5ADOF31RDT","B5ADOF31V ","B5ADOF31WVS","B5ADOF32A ","B5ADOF32ADD", & - "B5ADOF32D ","B5ADOF32HDS","B5ADOF32RDT","B5ADOF32V ","B5ADOF32WVS","B5ADOF33A ","B5ADOF33ADD", & - "B5ADOF33D ","B5ADOF33HDS","B5ADOF33RDT","B5ADOF33V ","B5ADOF33WVS","B5ADOF34A ","B5ADOF34ADD", & - "B5ADOF34D ","B5ADOF34HDS","B5ADOF34RDT","B5ADOF34V ","B5ADOF34WVS","B5ADOF35A ","B5ADOF35ADD", & - "B5ADOF35D ","B5ADOF35HDS","B5ADOF35RDT","B5ADOF35V ","B5ADOF35WVS","B5ADOF36A ","B5ADOF36ADD", & - "B5ADOF36D ","B5ADOF36HDS","B5ADOF36RDT","B5ADOF36V ","B5ADOF36WVS","B5ADOF37A ","B5ADOF37ADD", & - "B5ADOF37D ","B5ADOF37HDS","B5ADOF37RDT","B5ADOF37V ","B5ADOF37WVS","B5ADOF38A ","B5ADOF38ADD", & - "B5ADOF38D ","B5ADOF38HDS","B5ADOF38RDT","B5ADOF38V ","B5ADOF38WVS","B5ADOF39A ","B5ADOF39ADD", & - "B5ADOF39D ","B5ADOF39HDS","B5ADOF39RDT","B5ADOF39V ","B5ADOF39WVS","B5ADOF3A ","B5ADOF3ADD ", & - "B5ADOF3D ","B5ADOF3HDS ","B5ADOF3RDT ","B5ADOF3V ","B5ADOF3WVS ","B5ADOF40A ","B5ADOF40ADD", & - "B5ADOF40D ","B5ADOF40HDS","B5ADOF40RDT","B5ADOF40V ","B5ADOF40WVS","B5ADOF41A ","B5ADOF41ADD", & - "B5ADOF41D ","B5ADOF41HDS","B5ADOF41RDT","B5ADOF41V ","B5ADOF41WVS","B5ADOF42A ","B5ADOF42ADD", & - "B5ADOF42D ","B5ADOF42HDS","B5ADOF42RDT","B5ADOF42V ","B5ADOF42WVS","B5ADOF43A ","B5ADOF43ADD", & - "B5ADOF43D ","B5ADOF43HDS","B5ADOF43RDT","B5ADOF43V ","B5ADOF43WVS","B5ADOF44A ","B5ADOF44ADD", & - "B5ADOF44D ","B5ADOF44HDS","B5ADOF44RDT","B5ADOF44V ","B5ADOF44WVS","B5ADOF45A ","B5ADOF45ADD", & - "B5ADOF45D ","B5ADOF45HDS","B5ADOF45RDT","B5ADOF45V ","B5ADOF45WVS","B5ADOF46A ","B5ADOF46ADD", & - "B5ADOF46D ","B5ADOF46HDS","B5ADOF46RDT","B5ADOF46V ","B5ADOF46WVS","B5ADOF47A ","B5ADOF47ADD", & - "B5ADOF47D ","B5ADOF47HDS","B5ADOF47RDT","B5ADOF47V ","B5ADOF47WVS","B5ADOF48A ","B5ADOF48ADD", & - "B5ADOF48D ","B5ADOF48HDS","B5ADOF48RDT","B5ADOF48V ","B5ADOF48WVS","B5ADOF49A ","B5ADOF49ADD", & - "B5ADOF49D ","B5ADOF49HDS","B5ADOF49RDT","B5ADOF49V ","B5ADOF49WVS","B5ADOF4A ","B5ADOF4ADD ", & - "B5ADOF4D ","B5ADOF4HDS ","B5ADOF4RDT ","B5ADOF4V ","B5ADOF4WVS ","B5ADOF50A ","B5ADOF50ADD", & - "B5ADOF50D ","B5ADOF50HDS","B5ADOF50RDT","B5ADOF50V ","B5ADOF50WVS","B5ADOF51A ","B5ADOF51ADD", & - "B5ADOF51D ","B5ADOF51HDS","B5ADOF51RDT","B5ADOF51V ","B5ADOF51WVS","B5ADOF52A ","B5ADOF52ADD", & - "B5ADOF52D ","B5ADOF52HDS","B5ADOF52RDT","B5ADOF52V ","B5ADOF52WVS","B5ADOF53A ","B5ADOF53ADD", & - "B5ADOF53D ","B5ADOF53HDS","B5ADOF53RDT","B5ADOF53V ","B5ADOF53WVS","B5ADOF54A ","B5ADOF54ADD", & - "B5ADOF54D ","B5ADOF54HDS","B5ADOF54RDT","B5ADOF54V ","B5ADOF54WVS","B5ADOF55A ","B5ADOF55ADD", & - "B5ADOF55D ","B5ADOF55HDS","B5ADOF55RDT","B5ADOF55V ","B5ADOF55WVS","B5ADOF56A ","B5ADOF56ADD", & - "B5ADOF56D ","B5ADOF56HDS","B5ADOF56RDT","B5ADOF56V ","B5ADOF56WVS","B5ADOF57A ","B5ADOF57ADD", & - "B5ADOF57D ","B5ADOF57HDS","B5ADOF57RDT","B5ADOF57V ","B5ADOF57WVS","B5ADOF58A ","B5ADOF58ADD", & - "B5ADOF58D ","B5ADOF58HDS","B5ADOF58RDT","B5ADOF58V ","B5ADOF58WVS","B5ADOF59A ","B5ADOF59ADD", & - "B5ADOF59D ","B5ADOF59HDS","B5ADOF59RDT","B5ADOF59V ","B5ADOF59WVS","B5ADOF5A ","B5ADOF5ADD "/) - CHARACTER(OutStrLenM1), PARAMETER :: ValidParamAry3(1687) = (/ & ! This lists the names of the allowed parameters, which must be sorted alphabetically - "B5ADOF5D ","B5ADOF5HDS ","B5ADOF5RDT ","B5ADOF5V ","B5ADOF5WVS ","B5ADOF60A ","B5ADOF60ADD", & - "B5ADOF60D ","B5ADOF60HDS","B5ADOF60RDT","B5ADOF60V ","B5ADOF60WVS","B5ADOF61A ","B5ADOF61ADD", & - "B5ADOF61D ","B5ADOF61HDS","B5ADOF61RDT","B5ADOF61V ","B5ADOF61WVS","B5ADOF62A ","B5ADOF62ADD", & - "B5ADOF62D ","B5ADOF62HDS","B5ADOF62RDT","B5ADOF62V ","B5ADOF62WVS","B5ADOF63A ","B5ADOF63ADD", & - "B5ADOF63D ","B5ADOF63HDS","B5ADOF63RDT","B5ADOF63V ","B5ADOF63WVS","B5ADOF64A ","B5ADOF64ADD", & - "B5ADOF64D ","B5ADOF64HDS","B5ADOF64RDT","B5ADOF64V ","B5ADOF64WVS","B5ADOF65A ","B5ADOF65ADD", & - "B5ADOF65D ","B5ADOF65HDS","B5ADOF65RDT","B5ADOF65V ","B5ADOF65WVS","B5ADOF66A ","B5ADOF66ADD", & - "B5ADOF66D ","B5ADOF66HDS","B5ADOF66RDT","B5ADOF66V ","B5ADOF66WVS","B5ADOF67A ","B5ADOF67ADD", & - "B5ADOF67D ","B5ADOF67HDS","B5ADOF67RDT","B5ADOF67V ","B5ADOF67WVS","B5ADOF68A ","B5ADOF68ADD", & - "B5ADOF68D ","B5ADOF68HDS","B5ADOF68RDT","B5ADOF68V ","B5ADOF68WVS","B5ADOF69A ","B5ADOF69ADD", & - "B5ADOF69D ","B5ADOF69HDS","B5ADOF69RDT","B5ADOF69V ","B5ADOF69WVS","B5ADOF6A ","B5ADOF6ADD ", & - "B5ADOF6D ","B5ADOF6HDS ","B5ADOF6RDT ","B5ADOF6V ","B5ADOF6WVS ","B5ADOF70A ","B5ADOF70ADD", & - "B5ADOF70D ","B5ADOF70HDS","B5ADOF70RDT","B5ADOF70V ","B5ADOF70WVS","B5ADOF71A ","B5ADOF71ADD", & - "B5ADOF71D ","B5ADOF71HDS","B5ADOF71RDT","B5ADOF71V ","B5ADOF71WVS","B5ADOF72A ","B5ADOF72ADD", & - "B5ADOF72D ","B5ADOF72HDS","B5ADOF72RDT","B5ADOF72V ","B5ADOF72WVS","B5ADOF73A ","B5ADOF73ADD", & - "B5ADOF73D ","B5ADOF73HDS","B5ADOF73RDT","B5ADOF73V ","B5ADOF73WVS","B5ADOF74A ","B5ADOF74ADD", & - "B5ADOF74D ","B5ADOF74HDS","B5ADOF74RDT","B5ADOF74V ","B5ADOF74WVS","B5ADOF75A ","B5ADOF75ADD", & - "B5ADOF75D ","B5ADOF75HDS","B5ADOF75RDT","B5ADOF75V ","B5ADOF75WVS","B5ADOF76A ","B5ADOF76ADD", & - "B5ADOF76D ","B5ADOF76HDS","B5ADOF76RDT","B5ADOF76V ","B5ADOF76WVS","B5ADOF77A ","B5ADOF77ADD", & - "B5ADOF77D ","B5ADOF77HDS","B5ADOF77RDT","B5ADOF77V ","B5ADOF77WVS","B5ADOF78A ","B5ADOF78ADD", & - "B5ADOF78D ","B5ADOF78HDS","B5ADOF78RDT","B5ADOF78V ","B5ADOF78WVS","B5ADOF79A ","B5ADOF79ADD", & - "B5ADOF79D ","B5ADOF79HDS","B5ADOF79RDT","B5ADOF79V ","B5ADOF79WVS","B5ADOF7A ","B5ADOF7ADD ", & - "B5ADOF7D ","B5ADOF7HDS ","B5ADOF7RDT ","B5ADOF7V ","B5ADOF7WVS ","B5ADOF80A ","B5ADOF80ADD", & - "B5ADOF80D ","B5ADOF80HDS","B5ADOF80RDT","B5ADOF80V ","B5ADOF80WVS","B5ADOF81A ","B5ADOF81ADD", & - "B5ADOF81D ","B5ADOF81HDS","B5ADOF81RDT","B5ADOF81V ","B5ADOF81WVS","B5ADOF82A ","B5ADOF82ADD", & - "B5ADOF82D ","B5ADOF82HDS","B5ADOF82RDT","B5ADOF82V ","B5ADOF82WVS","B5ADOF83A ","B5ADOF83ADD", & - "B5ADOF83D ","B5ADOF83HDS","B5ADOF83RDT","B5ADOF83V ","B5ADOF83WVS","B5ADOF84A ","B5ADOF84ADD", & - "B5ADOF84D ","B5ADOF84HDS","B5ADOF84RDT","B5ADOF84V ","B5ADOF84WVS","B5ADOF85A ","B5ADOF85ADD", & - "B5ADOF85D ","B5ADOF85HDS","B5ADOF85RDT","B5ADOF85V ","B5ADOF85WVS","B5ADOF86A ","B5ADOF86ADD", & - "B5ADOF86D ","B5ADOF86HDS","B5ADOF86RDT","B5ADOF86V ","B5ADOF86WVS","B5ADOF87A ","B5ADOF87ADD", & - "B5ADOF87D ","B5ADOF87HDS","B5ADOF87RDT","B5ADOF87V ","B5ADOF87WVS","B5ADOF88A ","B5ADOF88ADD", & - "B5ADOF88D ","B5ADOF88HDS","B5ADOF88RDT","B5ADOF88V ","B5ADOF88WVS","B5ADOF89A ","B5ADOF89ADD", & - "B5ADOF89D ","B5ADOF89HDS","B5ADOF89RDT","B5ADOF89V ","B5ADOF89WVS","B5ADOF8A ","B5ADOF8ADD ", & - "B5ADOF8D ","B5ADOF8HDS ","B5ADOF8RDT ","B5ADOF8V ","B5ADOF8WVS ","B5ADOF90A ","B5ADOF90ADD", & - "B5ADOF90D ","B5ADOF90HDS","B5ADOF90RDT","B5ADOF90V ","B5ADOF90WVS","B5ADOF91A ","B5ADOF91ADD", & - "B5ADOF91D ","B5ADOF91HDS","B5ADOF91RDT","B5ADOF91V ","B5ADOF91WVS","B5ADOF92A ","B5ADOF92ADD", & - "B5ADOF92D ","B5ADOF92HDS","B5ADOF92RDT","B5ADOF92V ","B5ADOF92WVS","B5ADOF93A ","B5ADOF93ADD", & - "B5ADOF93D ","B5ADOF93HDS","B5ADOF93RDT","B5ADOF93V ","B5ADOF93WVS","B5ADOF94A ","B5ADOF94ADD", & - "B5ADOF94D ","B5ADOF94HDS","B5ADOF94RDT","B5ADOF94V ","B5ADOF94WVS","B5ADOF95A ","B5ADOF95ADD", & - "B5ADOF95D ","B5ADOF95HDS","B5ADOF95RDT","B5ADOF95V ","B5ADOF95WVS","B5ADOF96A ","B5ADOF96ADD", & - "B5ADOF96D ","B5ADOF96HDS","B5ADOF96RDT","B5ADOF96V ","B5ADOF96WVS","B5ADOF97A ","B5ADOF97ADD", & - "B5ADOF97D ","B5ADOF97HDS","B5ADOF97RDT","B5ADOF97V ","B5ADOF97WVS","B5ADOF98A ","B5ADOF98ADD", & - "B5ADOF98D ","B5ADOF98HDS","B5ADOF98RDT","B5ADOF98V ","B5ADOF98WVS","B5ADOF99A ","B5ADOF99ADD", & - "B5ADOF99D ","B5ADOF99HDS","B5ADOF99RDT","B5ADOF99V ","B5ADOF99WVS","B5ADOF9A ","B5ADOF9ADD ", & - "B5ADOF9D ","B5ADOF9HDS ","B5ADOF9RDT ","B5ADOF9V ","B5ADOF9WVS ","B5HDSFXI ","B5HDSFYI ", & - "B5HDSFZI ","B5HDSMXI ","B5HDSMYI ","B5HDSMZI ","B5HEAVE ","B5PITCH ","B5RAXI ", & - "B5RAYI ","B5RAZI ","B5RDTFXI ","B5RDTFYI ","B5RDTFZI ","B5RDTMXI ","B5RDTMYI ", & - "B5RDTMZI ","B5ROLL ","B5RVXI ","B5RVYI ","B5RVZI ","B5SURGE ","B5SWAY ", & - "B5TAXI ","B5TAYI ","B5TAZI ","B5TVXI ","B5TVYI ","B5TVZI ","B5WVSF1XI ", & - "B5WVSF1YI ","B5WVSF1ZI ","B5WVSF2XI ","B5WVSF2YI ","B5WVSF2ZI ","B5WVSFXI ","B5WVSFYI ", & - "B5WVSFZI ","B5WVSM1XI ","B5WVSM1YI ","B5WVSM1ZI ","B5WVSM2XI ","B5WVSM2YI ","B5WVSM2ZI ", & - "B5WVSMXI ","B5WVSMYI ","B5WVSMZI ","B5YAW ","B6ADDFXI ","B6ADDFYI ","B6ADDFZI ", & - "B6ADDMXI ","B6ADDMYI ","B6ADDMZI ","B6ADOF10A ","B6ADOF10ADD","B6ADOF10D ","B6ADOF10HDS", & - "B6ADOF10RDT","B6ADOF10V ","B6ADOF10WVS","B6ADOF11A ","B6ADOF11ADD","B6ADOF11D ","B6ADOF11HDS", & - "B6ADOF11RDT","B6ADOF11V ","B6ADOF11WVS","B6ADOF12A ","B6ADOF12ADD","B6ADOF12D ","B6ADOF12HDS", & - "B6ADOF12RDT","B6ADOF12V ","B6ADOF12WVS","B6ADOF13A ","B6ADOF13ADD","B6ADOF13D ","B6ADOF13HDS", & - "B6ADOF13RDT","B6ADOF13V ","B6ADOF13WVS","B6ADOF14A ","B6ADOF14ADD","B6ADOF14D ","B6ADOF14HDS", & - "B6ADOF14RDT","B6ADOF14V ","B6ADOF14WVS","B6ADOF15A ","B6ADOF15ADD","B6ADOF15D ","B6ADOF15HDS", & - "B6ADOF15RDT","B6ADOF15V ","B6ADOF15WVS","B6ADOF16A ","B6ADOF16ADD","B6ADOF16D ","B6ADOF16HDS", & - "B6ADOF16RDT","B6ADOF16V ","B6ADOF16WVS","B6ADOF17A ","B6ADOF17ADD","B6ADOF17D ","B6ADOF17HDS", & - "B6ADOF17RDT","B6ADOF17V ","B6ADOF17WVS","B6ADOF18A ","B6ADOF18ADD","B6ADOF18D ","B6ADOF18HDS", & - "B6ADOF18RDT","B6ADOF18V ","B6ADOF18WVS","B6ADOF19A ","B6ADOF19ADD","B6ADOF19D ","B6ADOF19HDS", & - "B6ADOF19RDT","B6ADOF19V ","B6ADOF19WVS","B6ADOF1A ","B6ADOF1ADD ","B6ADOF1D ","B6ADOF1HDS ", & - "B6ADOF1RDT ","B6ADOF1V ","B6ADOF1WVS ","B6ADOF20A ","B6ADOF20ADD","B6ADOF20D ","B6ADOF20HDS", & - "B6ADOF20RDT","B6ADOF20V ","B6ADOF20WVS","B6ADOF21A ","B6ADOF21ADD","B6ADOF21D ","B6ADOF21HDS", & - "B6ADOF21RDT","B6ADOF21V ","B6ADOF21WVS","B6ADOF22A ","B6ADOF22ADD","B6ADOF22D ","B6ADOF22HDS", & - "B6ADOF22RDT","B6ADOF22V ","B6ADOF22WVS","B6ADOF23A ","B6ADOF23ADD","B6ADOF23D ","B6ADOF23HDS", & - "B6ADOF23RDT","B6ADOF23V ","B6ADOF23WVS","B6ADOF24A ","B6ADOF24ADD","B6ADOF24D ","B6ADOF24HDS", & - "B6ADOF24RDT","B6ADOF24V ","B6ADOF24WVS","B6ADOF25A ","B6ADOF25ADD","B6ADOF25D ","B6ADOF25HDS", & - "B6ADOF25RDT","B6ADOF25V ","B6ADOF25WVS","B6ADOF26A ","B6ADOF26ADD","B6ADOF26D ","B6ADOF26HDS", & - "B6ADOF26RDT","B6ADOF26V ","B6ADOF26WVS","B6ADOF27A ","B6ADOF27ADD","B6ADOF27D ","B6ADOF27HDS", & - "B6ADOF27RDT","B6ADOF27V ","B6ADOF27WVS","B6ADOF28A ","B6ADOF28ADD","B6ADOF28D ","B6ADOF28HDS", & - "B6ADOF28RDT","B6ADOF28V ","B6ADOF28WVS","B6ADOF29A ","B6ADOF29ADD","B6ADOF29D ","B6ADOF29HDS", & - "B6ADOF29RDT","B6ADOF29V ","B6ADOF29WVS","B6ADOF2A ","B6ADOF2ADD ","B6ADOF2D ","B6ADOF2HDS ", & - "B6ADOF2RDT ","B6ADOF2V ","B6ADOF2WVS ","B6ADOF30A ","B6ADOF30ADD","B6ADOF30D ","B6ADOF30HDS", & - "B6ADOF30RDT","B6ADOF30V ","B6ADOF30WVS","B6ADOF31A ","B6ADOF31ADD","B6ADOF31D ","B6ADOF31HDS", & - "B6ADOF31RDT","B6ADOF31V ","B6ADOF31WVS","B6ADOF32A ","B6ADOF32ADD","B6ADOF32D ","B6ADOF32HDS", & - "B6ADOF32RDT","B6ADOF32V ","B6ADOF32WVS","B6ADOF33A ","B6ADOF33ADD","B6ADOF33D ","B6ADOF33HDS", & - "B6ADOF33RDT","B6ADOF33V ","B6ADOF33WVS","B6ADOF34A ","B6ADOF34ADD","B6ADOF34D ","B6ADOF34HDS", & - "B6ADOF34RDT","B6ADOF34V ","B6ADOF34WVS","B6ADOF35A ","B6ADOF35ADD","B6ADOF35D ","B6ADOF35HDS", & - "B6ADOF35RDT","B6ADOF35V ","B6ADOF35WVS","B6ADOF36A ","B6ADOF36ADD","B6ADOF36D ","B6ADOF36HDS", & - "B6ADOF36RDT","B6ADOF36V ","B6ADOF36WVS","B6ADOF37A ","B6ADOF37ADD","B6ADOF37D ","B6ADOF37HDS", & - "B6ADOF37RDT","B6ADOF37V ","B6ADOF37WVS","B6ADOF38A ","B6ADOF38ADD","B6ADOF38D ","B6ADOF38HDS", & - "B6ADOF38RDT","B6ADOF38V ","B6ADOF38WVS","B6ADOF39A ","B6ADOF39ADD","B6ADOF39D ","B6ADOF39HDS", & - "B6ADOF39RDT","B6ADOF39V ","B6ADOF39WVS","B6ADOF3A ","B6ADOF3ADD ","B6ADOF3D ","B6ADOF3HDS ", & - "B6ADOF3RDT ","B6ADOF3V ","B6ADOF3WVS ","B6ADOF40A ","B6ADOF40ADD","B6ADOF40D ","B6ADOF40HDS", & - "B6ADOF40RDT","B6ADOF40V ","B6ADOF40WVS","B6ADOF41A ","B6ADOF41ADD","B6ADOF41D ","B6ADOF41HDS", & - "B6ADOF41RDT","B6ADOF41V ","B6ADOF41WVS","B6ADOF42A ","B6ADOF42ADD","B6ADOF42D ","B6ADOF42HDS", & - "B6ADOF42RDT","B6ADOF42V ","B6ADOF42WVS","B6ADOF43A ","B6ADOF43ADD","B6ADOF43D ","B6ADOF43HDS", & - "B6ADOF43RDT","B6ADOF43V ","B6ADOF43WVS","B6ADOF44A ","B6ADOF44ADD","B6ADOF44D ","B6ADOF44HDS", & - "B6ADOF44RDT","B6ADOF44V ","B6ADOF44WVS","B6ADOF45A ","B6ADOF45ADD","B6ADOF45D ","B6ADOF45HDS", & - "B6ADOF45RDT","B6ADOF45V ","B6ADOF45WVS","B6ADOF46A ","B6ADOF46ADD","B6ADOF46D ","B6ADOF46HDS", & - "B6ADOF46RDT","B6ADOF46V ","B6ADOF46WVS","B6ADOF47A ","B6ADOF47ADD","B6ADOF47D ","B6ADOF47HDS", & - "B6ADOF47RDT","B6ADOF47V ","B6ADOF47WVS","B6ADOF48A ","B6ADOF48ADD","B6ADOF48D ","B6ADOF48HDS", & - "B6ADOF48RDT","B6ADOF48V ","B6ADOF48WVS","B6ADOF49A ","B6ADOF49ADD","B6ADOF49D ","B6ADOF49HDS", & - "B6ADOF49RDT","B6ADOF49V ","B6ADOF49WVS","B6ADOF4A ","B6ADOF4ADD ","B6ADOF4D ","B6ADOF4HDS ", & - "B6ADOF4RDT ","B6ADOF4V ","B6ADOF4WVS ","B6ADOF50A ","B6ADOF50ADD","B6ADOF50D ","B6ADOF50HDS", & - "B6ADOF50RDT","B6ADOF50V ","B6ADOF50WVS","B6ADOF51A ","B6ADOF51ADD","B6ADOF51D ","B6ADOF51HDS", & - "B6ADOF51RDT","B6ADOF51V ","B6ADOF51WVS","B6ADOF52A ","B6ADOF52ADD","B6ADOF52D ","B6ADOF52HDS", & - "B6ADOF52RDT","B6ADOF52V ","B6ADOF52WVS","B6ADOF53A ","B6ADOF53ADD","B6ADOF53D ","B6ADOF53HDS", & - "B6ADOF53RDT","B6ADOF53V ","B6ADOF53WVS","B6ADOF54A ","B6ADOF54ADD","B6ADOF54D ","B6ADOF54HDS", & - "B6ADOF54RDT","B6ADOF54V ","B6ADOF54WVS","B6ADOF55A ","B6ADOF55ADD","B6ADOF55D ","B6ADOF55HDS", & - "B6ADOF55RDT","B6ADOF55V ","B6ADOF55WVS","B6ADOF56A ","B6ADOF56ADD","B6ADOF56D ","B6ADOF56HDS", & - "B6ADOF56RDT","B6ADOF56V ","B6ADOF56WVS","B6ADOF57A ","B6ADOF57ADD","B6ADOF57D ","B6ADOF57HDS", & - "B6ADOF57RDT","B6ADOF57V ","B6ADOF57WVS","B6ADOF58A ","B6ADOF58ADD","B6ADOF58D ","B6ADOF58HDS", & - "B6ADOF58RDT","B6ADOF58V ","B6ADOF58WVS","B6ADOF59A ","B6ADOF59ADD","B6ADOF59D ","B6ADOF59HDS", & - "B6ADOF59RDT","B6ADOF59V ","B6ADOF59WVS","B6ADOF5A ","B6ADOF5ADD ","B6ADOF5D ","B6ADOF5HDS ", & - "B6ADOF5RDT ","B6ADOF5V ","B6ADOF5WVS ","B6ADOF60A ","B6ADOF60ADD","B6ADOF60D ","B6ADOF60HDS", & - "B6ADOF60RDT","B6ADOF60V ","B6ADOF60WVS","B6ADOF61A ","B6ADOF61ADD","B6ADOF61D ","B6ADOF61HDS", & - "B6ADOF61RDT","B6ADOF61V ","B6ADOF61WVS","B6ADOF62A ","B6ADOF62ADD","B6ADOF62D ","B6ADOF62HDS", & - "B6ADOF62RDT","B6ADOF62V ","B6ADOF62WVS","B6ADOF63A ","B6ADOF63ADD","B6ADOF63D ","B6ADOF63HDS", & - "B6ADOF63RDT","B6ADOF63V ","B6ADOF63WVS","B6ADOF64A ","B6ADOF64ADD","B6ADOF64D ","B6ADOF64HDS", & - "B6ADOF64RDT","B6ADOF64V ","B6ADOF64WVS","B6ADOF65A ","B6ADOF65ADD","B6ADOF65D ","B6ADOF65HDS", & - "B6ADOF65RDT","B6ADOF65V ","B6ADOF65WVS","B6ADOF66A ","B6ADOF66ADD","B6ADOF66D ","B6ADOF66HDS", & - "B6ADOF66RDT","B6ADOF66V ","B6ADOF66WVS","B6ADOF67A ","B6ADOF67ADD","B6ADOF67D ","B6ADOF67HDS", & - "B6ADOF67RDT","B6ADOF67V ","B6ADOF67WVS","B6ADOF68A ","B6ADOF68ADD","B6ADOF68D ","B6ADOF68HDS", & - "B6ADOF68RDT","B6ADOF68V ","B6ADOF68WVS","B6ADOF69A ","B6ADOF69ADD","B6ADOF69D ","B6ADOF69HDS", & - "B6ADOF69RDT","B6ADOF69V ","B6ADOF69WVS","B6ADOF6A ","B6ADOF6ADD ","B6ADOF6D ","B6ADOF6HDS ", & - "B6ADOF6RDT ","B6ADOF6V ","B6ADOF6WVS ","B6ADOF70A ","B6ADOF70ADD","B6ADOF70D ","B6ADOF70HDS", & - "B6ADOF70RDT","B6ADOF70V ","B6ADOF70WVS","B6ADOF71A ","B6ADOF71ADD","B6ADOF71D ","B6ADOF71HDS", & - "B6ADOF71RDT","B6ADOF71V ","B6ADOF71WVS","B6ADOF72A ","B6ADOF72ADD","B6ADOF72D ","B6ADOF72HDS", & - "B6ADOF72RDT","B6ADOF72V ","B6ADOF72WVS","B6ADOF73A ","B6ADOF73ADD","B6ADOF73D ","B6ADOF73HDS", & - "B6ADOF73RDT","B6ADOF73V ","B6ADOF73WVS","B6ADOF74A ","B6ADOF74ADD","B6ADOF74D ","B6ADOF74HDS", & - "B6ADOF74RDT","B6ADOF74V ","B6ADOF74WVS","B6ADOF75A ","B6ADOF75ADD","B6ADOF75D ","B6ADOF75HDS", & - "B6ADOF75RDT","B6ADOF75V ","B6ADOF75WVS","B6ADOF76A ","B6ADOF76ADD","B6ADOF76D ","B6ADOF76HDS", & - "B6ADOF76RDT","B6ADOF76V ","B6ADOF76WVS","B6ADOF77A ","B6ADOF77ADD","B6ADOF77D ","B6ADOF77HDS", & - "B6ADOF77RDT","B6ADOF77V ","B6ADOF77WVS","B6ADOF78A ","B6ADOF78ADD","B6ADOF78D ","B6ADOF78HDS", & - "B6ADOF78RDT","B6ADOF78V ","B6ADOF78WVS","B6ADOF79A ","B6ADOF79ADD","B6ADOF79D ","B6ADOF79HDS", & - "B6ADOF79RDT","B6ADOF79V ","B6ADOF79WVS","B6ADOF7A ","B6ADOF7ADD ","B6ADOF7D ","B6ADOF7HDS ", & - "B6ADOF7RDT ","B6ADOF7V ","B6ADOF7WVS ","B6ADOF80A ","B6ADOF80ADD","B6ADOF80D ","B6ADOF80HDS", & - "B6ADOF80RDT","B6ADOF80V ","B6ADOF80WVS","B6ADOF81A ","B6ADOF81ADD","B6ADOF81D ","B6ADOF81HDS", & - "B6ADOF81RDT","B6ADOF81V ","B6ADOF81WVS","B6ADOF82A ","B6ADOF82ADD","B6ADOF82D ","B6ADOF82HDS", & - "B6ADOF82RDT","B6ADOF82V ","B6ADOF82WVS","B6ADOF83A ","B6ADOF83ADD","B6ADOF83D ","B6ADOF83HDS", & - "B6ADOF83RDT","B6ADOF83V ","B6ADOF83WVS","B6ADOF84A ","B6ADOF84ADD","B6ADOF84D ","B6ADOF84HDS", & - "B6ADOF84RDT","B6ADOF84V ","B6ADOF84WVS","B6ADOF85A ","B6ADOF85ADD","B6ADOF85D ","B6ADOF85HDS", & - "B6ADOF85RDT","B6ADOF85V ","B6ADOF85WVS","B6ADOF86A ","B6ADOF86ADD","B6ADOF86D ","B6ADOF86HDS", & - "B6ADOF86RDT","B6ADOF86V ","B6ADOF86WVS","B6ADOF87A ","B6ADOF87ADD","B6ADOF87D ","B6ADOF87HDS", & - "B6ADOF87RDT","B6ADOF87V ","B6ADOF87WVS","B6ADOF88A ","B6ADOF88ADD","B6ADOF88D ","B6ADOF88HDS", & - "B6ADOF88RDT","B6ADOF88V ","B6ADOF88WVS","B6ADOF89A ","B6ADOF89ADD","B6ADOF89D ","B6ADOF89HDS", & - "B6ADOF89RDT","B6ADOF89V ","B6ADOF89WVS","B6ADOF8A ","B6ADOF8ADD ","B6ADOF8D ","B6ADOF8HDS ", & - "B6ADOF8RDT ","B6ADOF8V ","B6ADOF8WVS ","B6ADOF90A ","B6ADOF90ADD","B6ADOF90D ","B6ADOF90HDS", & - "B6ADOF90RDT","B6ADOF90V ","B6ADOF90WVS","B6ADOF91A ","B6ADOF91ADD","B6ADOF91D ","B6ADOF91HDS", & - "B6ADOF91RDT","B6ADOF91V ","B6ADOF91WVS","B6ADOF92A ","B6ADOF92ADD","B6ADOF92D ","B6ADOF92HDS", & - "B6ADOF92RDT","B6ADOF92V ","B6ADOF92WVS","B6ADOF93A ","B6ADOF93ADD","B6ADOF93D ","B6ADOF93HDS", & - "B6ADOF93RDT","B6ADOF93V ","B6ADOF93WVS","B6ADOF94A ","B6ADOF94ADD","B6ADOF94D ","B6ADOF94HDS", & - "B6ADOF94RDT","B6ADOF94V ","B6ADOF94WVS","B6ADOF95A ","B6ADOF95ADD","B6ADOF95D ","B6ADOF95HDS", & - "B6ADOF95RDT","B6ADOF95V ","B6ADOF95WVS","B6ADOF96A ","B6ADOF96ADD","B6ADOF96D ","B6ADOF96HDS", & - "B6ADOF96RDT","B6ADOF96V ","B6ADOF96WVS","B6ADOF97A ","B6ADOF97ADD","B6ADOF97D ","B6ADOF97HDS", & - "B6ADOF97RDT","B6ADOF97V ","B6ADOF97WVS","B6ADOF98A ","B6ADOF98ADD","B6ADOF98D ","B6ADOF98HDS", & - "B6ADOF98RDT","B6ADOF98V ","B6ADOF98WVS","B6ADOF99A ","B6ADOF99ADD","B6ADOF99D ","B6ADOF99HDS", & - "B6ADOF99RDT","B6ADOF99V ","B6ADOF99WVS","B6ADOF9A ","B6ADOF9ADD ","B6ADOF9D ","B6ADOF9HDS ", & - "B6ADOF9RDT ","B6ADOF9V ","B6ADOF9WVS ","B6HDSFXI ","B6HDSFYI ","B6HDSFZI ","B6HDSMXI ", & - "B6HDSMYI ","B6HDSMZI ","B6HEAVE ","B6PITCH ","B6RAXI ","B6RAYI ","B6RAZI ", & - "B6RDTFXI ","B6RDTFYI ","B6RDTFZI ","B6RDTMXI ","B6RDTMYI ","B6RDTMZI ","B6ROLL ", & - "B6RVXI ","B6RVYI ","B6RVZI ","B6SURGE ","B6SWAY ","B6TAXI ","B6TAYI ", & - "B6TAZI ","B6TVXI ","B6TVYI ","B6TVZI ","B6WVSF1XI ","B6WVSF1YI ","B6WVSF1ZI ", & - "B6WVSF2XI ","B6WVSF2YI ","B6WVSF2ZI ","B6WVSFXI ","B6WVSFYI ","B6WVSFZI ","B6WVSM1XI ", & - "B6WVSM1YI ","B6WVSM1ZI ","B6WVSM2XI ","B6WVSM2YI ","B6WVSM2ZI ","B6WVSMXI ","B6WVSMYI ", & - "B6WVSMZI ","B6YAW ","B7ADDFXI ","B7ADDFYI ","B7ADDFZI ","B7ADDMXI ","B7ADDMYI ", & - "B7ADDMZI ","B7ADOF10A ","B7ADOF10ADD","B7ADOF10D ","B7ADOF10HDS","B7ADOF10RDT","B7ADOF10V ", & - "B7ADOF10WVS","B7ADOF11A ","B7ADOF11ADD","B7ADOF11D ","B7ADOF11HDS","B7ADOF11RDT","B7ADOF11V ", & - "B7ADOF11WVS","B7ADOF12A ","B7ADOF12ADD","B7ADOF12D ","B7ADOF12HDS","B7ADOF12RDT","B7ADOF12V ", & - "B7ADOF12WVS","B7ADOF13A ","B7ADOF13ADD","B7ADOF13D ","B7ADOF13HDS","B7ADOF13RDT","B7ADOF13V ", & - "B7ADOF13WVS","B7ADOF14A ","B7ADOF14ADD","B7ADOF14D ","B7ADOF14HDS","B7ADOF14RDT","B7ADOF14V ", & - "B7ADOF14WVS","B7ADOF15A ","B7ADOF15ADD","B7ADOF15D ","B7ADOF15HDS","B7ADOF15RDT","B7ADOF15V ", & - "B7ADOF15WVS","B7ADOF16A ","B7ADOF16ADD","B7ADOF16D ","B7ADOF16HDS","B7ADOF16RDT","B7ADOF16V ", & - "B7ADOF16WVS","B7ADOF17A ","B7ADOF17ADD","B7ADOF17D ","B7ADOF17HDS","B7ADOF17RDT","B7ADOF17V ", & - "B7ADOF17WVS","B7ADOF18A ","B7ADOF18ADD","B7ADOF18D ","B7ADOF18HDS","B7ADOF18RDT","B7ADOF18V ", & - "B7ADOF18WVS","B7ADOF19A ","B7ADOF19ADD","B7ADOF19D ","B7ADOF19HDS","B7ADOF19RDT","B7ADOF19V ", & - "B7ADOF19WVS","B7ADOF1A ","B7ADOF1ADD ","B7ADOF1D ","B7ADOF1HDS ","B7ADOF1RDT ","B7ADOF1V ", & - "B7ADOF1WVS ","B7ADOF20A ","B7ADOF20ADD","B7ADOF20D ","B7ADOF20HDS","B7ADOF20RDT","B7ADOF20V ", & - "B7ADOF20WVS","B7ADOF21A ","B7ADOF21ADD","B7ADOF21D ","B7ADOF21HDS","B7ADOF21RDT","B7ADOF21V ", & - "B7ADOF21WVS","B7ADOF22A ","B7ADOF22ADD","B7ADOF22D ","B7ADOF22HDS","B7ADOF22RDT","B7ADOF22V ", & - "B7ADOF22WVS","B7ADOF23A ","B7ADOF23ADD","B7ADOF23D ","B7ADOF23HDS","B7ADOF23RDT","B7ADOF23V ", & - "B7ADOF23WVS","B7ADOF24A ","B7ADOF24ADD","B7ADOF24D ","B7ADOF24HDS","B7ADOF24RDT","B7ADOF24V ", & - "B7ADOF24WVS","B7ADOF25A ","B7ADOF25ADD","B7ADOF25D ","B7ADOF25HDS","B7ADOF25RDT","B7ADOF25V ", & - "B7ADOF25WVS","B7ADOF26A ","B7ADOF26ADD","B7ADOF26D ","B7ADOF26HDS","B7ADOF26RDT","B7ADOF26V ", & - "B7ADOF26WVS","B7ADOF27A ","B7ADOF27ADD","B7ADOF27D ","B7ADOF27HDS","B7ADOF27RDT","B7ADOF27V ", & - "B7ADOF27WVS","B7ADOF28A ","B7ADOF28ADD","B7ADOF28D ","B7ADOF28HDS","B7ADOF28RDT","B7ADOF28V ", & - "B7ADOF28WVS","B7ADOF29A ","B7ADOF29ADD","B7ADOF29D ","B7ADOF29HDS","B7ADOF29RDT","B7ADOF29V ", & - "B7ADOF29WVS","B7ADOF2A ","B7ADOF2ADD ","B7ADOF2D ","B7ADOF2HDS ","B7ADOF2RDT ","B7ADOF2V ", & - "B7ADOF2WVS ","B7ADOF30A ","B7ADOF30ADD","B7ADOF30D ","B7ADOF30HDS","B7ADOF30RDT","B7ADOF30V ", & - "B7ADOF30WVS","B7ADOF31A ","B7ADOF31ADD","B7ADOF31D ","B7ADOF31HDS","B7ADOF31RDT","B7ADOF31V ", & - "B7ADOF31WVS","B7ADOF32A ","B7ADOF32ADD","B7ADOF32D ","B7ADOF32HDS","B7ADOF32RDT","B7ADOF32V ", & - "B7ADOF32WVS","B7ADOF33A ","B7ADOF33ADD","B7ADOF33D ","B7ADOF33HDS","B7ADOF33RDT","B7ADOF33V ", & - "B7ADOF33WVS","B7ADOF34A ","B7ADOF34ADD","B7ADOF34D ","B7ADOF34HDS","B7ADOF34RDT","B7ADOF34V ", & - "B7ADOF34WVS","B7ADOF35A ","B7ADOF35ADD","B7ADOF35D ","B7ADOF35HDS","B7ADOF35RDT","B7ADOF35V ", & - "B7ADOF35WVS","B7ADOF36A ","B7ADOF36ADD","B7ADOF36D ","B7ADOF36HDS","B7ADOF36RDT","B7ADOF36V ", & - "B7ADOF36WVS","B7ADOF37A ","B7ADOF37ADD","B7ADOF37D ","B7ADOF37HDS","B7ADOF37RDT","B7ADOF37V ", & - "B7ADOF37WVS","B7ADOF38A ","B7ADOF38ADD","B7ADOF38D ","B7ADOF38HDS","B7ADOF38RDT","B7ADOF38V ", & - "B7ADOF38WVS","B7ADOF39A ","B7ADOF39ADD","B7ADOF39D ","B7ADOF39HDS","B7ADOF39RDT","B7ADOF39V ", & - "B7ADOF39WVS","B7ADOF3A ","B7ADOF3ADD ","B7ADOF3D ","B7ADOF3HDS ","B7ADOF3RDT ","B7ADOF3V ", & - "B7ADOF3WVS ","B7ADOF40A ","B7ADOF40ADD","B7ADOF40D ","B7ADOF40HDS","B7ADOF40RDT","B7ADOF40V ", & - "B7ADOF40WVS","B7ADOF41A ","B7ADOF41ADD","B7ADOF41D ","B7ADOF41HDS","B7ADOF41RDT","B7ADOF41V ", & - "B7ADOF41WVS","B7ADOF42A ","B7ADOF42ADD","B7ADOF42D ","B7ADOF42HDS","B7ADOF42RDT","B7ADOF42V ", & - "B7ADOF42WVS","B7ADOF43A ","B7ADOF43ADD","B7ADOF43D ","B7ADOF43HDS","B7ADOF43RDT","B7ADOF43V ", & - "B7ADOF43WVS","B7ADOF44A ","B7ADOF44ADD","B7ADOF44D ","B7ADOF44HDS","B7ADOF44RDT","B7ADOF44V ", & - "B7ADOF44WVS","B7ADOF45A ","B7ADOF45ADD","B7ADOF45D ","B7ADOF45HDS","B7ADOF45RDT","B7ADOF45V ", & - "B7ADOF45WVS","B7ADOF46A ","B7ADOF46ADD","B7ADOF46D ","B7ADOF46HDS","B7ADOF46RDT","B7ADOF46V ", & - "B7ADOF46WVS","B7ADOF47A ","B7ADOF47ADD","B7ADOF47D ","B7ADOF47HDS","B7ADOF47RDT","B7ADOF47V ", & - "B7ADOF47WVS","B7ADOF48A ","B7ADOF48ADD","B7ADOF48D ","B7ADOF48HDS","B7ADOF48RDT","B7ADOF48V ", & - "B7ADOF48WVS","B7ADOF49A ","B7ADOF49ADD","B7ADOF49D ","B7ADOF49HDS","B7ADOF49RDT","B7ADOF49V ", & - "B7ADOF49WVS","B7ADOF4A ","B7ADOF4ADD ","B7ADOF4D ","B7ADOF4HDS ","B7ADOF4RDT ","B7ADOF4V ", & - "B7ADOF4WVS ","B7ADOF50A ","B7ADOF50ADD","B7ADOF50D ","B7ADOF50HDS","B7ADOF50RDT","B7ADOF50V ", & - "B7ADOF50WVS","B7ADOF51A ","B7ADOF51ADD","B7ADOF51D ","B7ADOF51HDS","B7ADOF51RDT","B7ADOF51V ", & - "B7ADOF51WVS","B7ADOF52A ","B7ADOF52ADD","B7ADOF52D ","B7ADOF52HDS","B7ADOF52RDT","B7ADOF52V ", & - "B7ADOF52WVS","B7ADOF53A ","B7ADOF53ADD","B7ADOF53D ","B7ADOF53HDS","B7ADOF53RDT","B7ADOF53V ", & - "B7ADOF53WVS","B7ADOF54A ","B7ADOF54ADD","B7ADOF54D ","B7ADOF54HDS","B7ADOF54RDT","B7ADOF54V ", & - "B7ADOF54WVS","B7ADOF55A ","B7ADOF55ADD","B7ADOF55D ","B7ADOF55HDS","B7ADOF55RDT","B7ADOF55V ", & - "B7ADOF55WVS","B7ADOF56A ","B7ADOF56ADD","B7ADOF56D ","B7ADOF56HDS","B7ADOF56RDT","B7ADOF56V ", & - "B7ADOF56WVS","B7ADOF57A ","B7ADOF57ADD","B7ADOF57D ","B7ADOF57HDS","B7ADOF57RDT","B7ADOF57V ", & - "B7ADOF57WVS","B7ADOF58A ","B7ADOF58ADD","B7ADOF58D ","B7ADOF58HDS","B7ADOF58RDT","B7ADOF58V ", & - "B7ADOF58WVS","B7ADOF59A ","B7ADOF59ADD","B7ADOF59D ","B7ADOF59HDS","B7ADOF59RDT","B7ADOF59V ", & - "B7ADOF59WVS","B7ADOF5A ","B7ADOF5ADD ","B7ADOF5D ","B7ADOF5HDS ","B7ADOF5RDT ","B7ADOF5V ", & - "B7ADOF5WVS ","B7ADOF60A ","B7ADOF60ADD","B7ADOF60D ","B7ADOF60HDS","B7ADOF60RDT","B7ADOF60V ", & - "B7ADOF60WVS","B7ADOF61A ","B7ADOF61ADD","B7ADOF61D ","B7ADOF61HDS","B7ADOF61RDT","B7ADOF61V ", & - "B7ADOF61WVS","B7ADOF62A ","B7ADOF62ADD","B7ADOF62D ","B7ADOF62HDS","B7ADOF62RDT","B7ADOF62V ", & - "B7ADOF62WVS","B7ADOF63A ","B7ADOF63ADD","B7ADOF63D ","B7ADOF63HDS","B7ADOF63RDT","B7ADOF63V ", & - "B7ADOF63WVS","B7ADOF64A ","B7ADOF64ADD","B7ADOF64D ","B7ADOF64HDS","B7ADOF64RDT","B7ADOF64V ", & - "B7ADOF64WVS","B7ADOF65A ","B7ADOF65ADD","B7ADOF65D ","B7ADOF65HDS","B7ADOF65RDT","B7ADOF65V ", & - "B7ADOF65WVS","B7ADOF66A ","B7ADOF66ADD","B7ADOF66D ","B7ADOF66HDS","B7ADOF66RDT","B7ADOF66V ", & - "B7ADOF66WVS","B7ADOF67A ","B7ADOF67ADD","B7ADOF67D ","B7ADOF67HDS","B7ADOF67RDT","B7ADOF67V ", & - "B7ADOF67WVS","B7ADOF68A ","B7ADOF68ADD","B7ADOF68D ","B7ADOF68HDS","B7ADOF68RDT","B7ADOF68V ", & - "B7ADOF68WVS","B7ADOF69A ","B7ADOF69ADD","B7ADOF69D ","B7ADOF69HDS","B7ADOF69RDT","B7ADOF69V ", & - "B7ADOF69WVS","B7ADOF6A ","B7ADOF6ADD ","B7ADOF6D ","B7ADOF6HDS ","B7ADOF6RDT ","B7ADOF6V ", & - "B7ADOF6WVS ","B7ADOF70A ","B7ADOF70ADD","B7ADOF70D ","B7ADOF70HDS","B7ADOF70RDT","B7ADOF70V ", & - "B7ADOF70WVS","B7ADOF71A ","B7ADOF71ADD","B7ADOF71D ","B7ADOF71HDS","B7ADOF71RDT","B7ADOF71V ", & - "B7ADOF71WVS","B7ADOF72A ","B7ADOF72ADD","B7ADOF72D ","B7ADOF72HDS","B7ADOF72RDT","B7ADOF72V ", & - "B7ADOF72WVS","B7ADOF73A ","B7ADOF73ADD","B7ADOF73D ","B7ADOF73HDS","B7ADOF73RDT","B7ADOF73V ", & - "B7ADOF73WVS","B7ADOF74A ","B7ADOF74ADD","B7ADOF74D ","B7ADOF74HDS","B7ADOF74RDT","B7ADOF74V ", & - "B7ADOF74WVS","B7ADOF75A ","B7ADOF75ADD","B7ADOF75D ","B7ADOF75HDS","B7ADOF75RDT","B7ADOF75V ", & - "B7ADOF75WVS","B7ADOF76A ","B7ADOF76ADD","B7ADOF76D ","B7ADOF76HDS","B7ADOF76RDT","B7ADOF76V ", & - "B7ADOF76WVS","B7ADOF77A ","B7ADOF77ADD","B7ADOF77D ","B7ADOF77HDS","B7ADOF77RDT","B7ADOF77V ", & - "B7ADOF77WVS","B7ADOF78A ","B7ADOF78ADD","B7ADOF78D ","B7ADOF78HDS","B7ADOF78RDT","B7ADOF78V ", & - "B7ADOF78WVS","B7ADOF79A ","B7ADOF79ADD","B7ADOF79D ","B7ADOF79HDS","B7ADOF79RDT","B7ADOF79V ", & - "B7ADOF79WVS","B7ADOF7A ","B7ADOF7ADD ","B7ADOF7D ","B7ADOF7HDS ","B7ADOF7RDT ","B7ADOF7V ", & - "B7ADOF7WVS ","B7ADOF80A ","B7ADOF80ADD","B7ADOF80D ","B7ADOF80HDS","B7ADOF80RDT","B7ADOF80V ", & - "B7ADOF80WVS","B7ADOF81A ","B7ADOF81ADD","B7ADOF81D ","B7ADOF81HDS","B7ADOF81RDT","B7ADOF81V ", & - "B7ADOF81WVS","B7ADOF82A ","B7ADOF82ADD","B7ADOF82D ","B7ADOF82HDS","B7ADOF82RDT","B7ADOF82V ", & - "B7ADOF82WVS","B7ADOF83A ","B7ADOF83ADD","B7ADOF83D ","B7ADOF83HDS","B7ADOF83RDT","B7ADOF83V ", & - "B7ADOF83WVS","B7ADOF84A ","B7ADOF84ADD","B7ADOF84D ","B7ADOF84HDS","B7ADOF84RDT","B7ADOF84V "/) - CHARACTER(OutStrLenM1), PARAMETER :: ValidParamAry4(1686) = (/ & ! This lists the names of the allowed parameters, which must be sorted alphabetically - "B7ADOF84WVS","B7ADOF85A ","B7ADOF85ADD","B7ADOF85D ","B7ADOF85HDS","B7ADOF85RDT","B7ADOF85V ", & - "B7ADOF85WVS","B7ADOF86A ","B7ADOF86ADD","B7ADOF86D ","B7ADOF86HDS","B7ADOF86RDT","B7ADOF86V ", & - "B7ADOF86WVS","B7ADOF87A ","B7ADOF87ADD","B7ADOF87D ","B7ADOF87HDS","B7ADOF87RDT","B7ADOF87V ", & - "B7ADOF87WVS","B7ADOF88A ","B7ADOF88ADD","B7ADOF88D ","B7ADOF88HDS","B7ADOF88RDT","B7ADOF88V ", & - "B7ADOF88WVS","B7ADOF89A ","B7ADOF89ADD","B7ADOF89D ","B7ADOF89HDS","B7ADOF89RDT","B7ADOF89V ", & - "B7ADOF89WVS","B7ADOF8A ","B7ADOF8ADD ","B7ADOF8D ","B7ADOF8HDS ","B7ADOF8RDT ","B7ADOF8V ", & - "B7ADOF8WVS ","B7ADOF90A ","B7ADOF90ADD","B7ADOF90D ","B7ADOF90HDS","B7ADOF90RDT","B7ADOF90V ", & - "B7ADOF90WVS","B7ADOF91A ","B7ADOF91ADD","B7ADOF91D ","B7ADOF91HDS","B7ADOF91RDT","B7ADOF91V ", & - "B7ADOF91WVS","B7ADOF92A ","B7ADOF92ADD","B7ADOF92D ","B7ADOF92HDS","B7ADOF92RDT","B7ADOF92V ", & - "B7ADOF92WVS","B7ADOF93A ","B7ADOF93ADD","B7ADOF93D ","B7ADOF93HDS","B7ADOF93RDT","B7ADOF93V ", & - "B7ADOF93WVS","B7ADOF94A ","B7ADOF94ADD","B7ADOF94D ","B7ADOF94HDS","B7ADOF94RDT","B7ADOF94V ", & - "B7ADOF94WVS","B7ADOF95A ","B7ADOF95ADD","B7ADOF95D ","B7ADOF95HDS","B7ADOF95RDT","B7ADOF95V ", & - "B7ADOF95WVS","B7ADOF96A ","B7ADOF96ADD","B7ADOF96D ","B7ADOF96HDS","B7ADOF96RDT","B7ADOF96V ", & - "B7ADOF96WVS","B7ADOF97A ","B7ADOF97ADD","B7ADOF97D ","B7ADOF97HDS","B7ADOF97RDT","B7ADOF97V ", & - "B7ADOF97WVS","B7ADOF98A ","B7ADOF98ADD","B7ADOF98D ","B7ADOF98HDS","B7ADOF98RDT","B7ADOF98V ", & - "B7ADOF98WVS","B7ADOF99A ","B7ADOF99ADD","B7ADOF99D ","B7ADOF99HDS","B7ADOF99RDT","B7ADOF99V ", & - "B7ADOF99WVS","B7ADOF9A ","B7ADOF9ADD ","B7ADOF9D ","B7ADOF9HDS ","B7ADOF9RDT ","B7ADOF9V ", & - "B7ADOF9WVS ","B7HDSFXI ","B7HDSFYI ","B7HDSFZI ","B7HDSMXI ","B7HDSMYI ","B7HDSMZI ", & - "B7HEAVE ","B7PITCH ","B7RAXI ","B7RAYI ","B7RAZI ","B7RDTFXI ","B7RDTFYI ", & + "B1HDSFYI ","B1HDSFZI ","B1HDSMXI ","B1HDSMYI ","B1HDSMZI ","B1HEAVE ","B1NFKFXI ", & + "B1NFKFYI ","B1NFKFZI ","B1NFKMXI ","B1NFKMYI ","B1NFKMZI ","B1PITCH ","B1RAXI ", & + "B1RAYI ","B1RAZI ","B1RDTFXI ","B1RDTFYI ","B1RDTFZI ","B1RDTMXI ","B1RDTMYI ", & + "B1RDTMZI ","B1ROLL ","B1RVXI ","B1RVYI ","B1RVZI ","B1SURGE ","B1SWAY ", & + "B1TAXI ","B1TAYI ","B1TAZI ","B1TVXI ","B1TVYI ","B1TVZI ","B1WVSF1XI ", & + "B1WVSF1YI ","B1WVSF1ZI ","B1WVSF2XI ","B1WVSF2YI ","B1WVSF2ZI ","B1WVSFXI ","B1WVSFYI ", & + "B1WVSFZI ","B1WVSM1XI ","B1WVSM1YI ","B1WVSM1ZI ","B1WVSM2XI ","B1WVSM2YI ","B1WVSM2ZI ", & + "B1WVSMXI ","B1WVSMYI ","B1WVSMZI ","B1YAW ","B2ADDFXI ","B2ADDFYI ","B2ADDFZI ", & + "B2ADDMXI ","B2ADDMYI ","B2ADDMZI ","B2ADOF10A ","B2ADOF10ADD","B2ADOF10D ","B2ADOF10HDS", & + "B2ADOF10RDT","B2ADOF10V ","B2ADOF10WVS","B2ADOF11A ","B2ADOF11ADD","B2ADOF11D ","B2ADOF11HDS", & + "B2ADOF11RDT","B2ADOF11V ","B2ADOF11WVS","B2ADOF12A ","B2ADOF12ADD","B2ADOF12D ","B2ADOF12HDS", & + "B2ADOF12RDT","B2ADOF12V ","B2ADOF12WVS","B2ADOF13A ","B2ADOF13ADD","B2ADOF13D ","B2ADOF13HDS", & + "B2ADOF13RDT","B2ADOF13V ","B2ADOF13WVS","B2ADOF14A ","B2ADOF14ADD","B2ADOF14D ","B2ADOF14HDS", & + "B2ADOF14RDT","B2ADOF14V ","B2ADOF14WVS","B2ADOF15A ","B2ADOF15ADD","B2ADOF15D ","B2ADOF15HDS", & + "B2ADOF15RDT","B2ADOF15V ","B2ADOF15WVS","B2ADOF16A ","B2ADOF16ADD","B2ADOF16D ","B2ADOF16HDS", & + "B2ADOF16RDT","B2ADOF16V ","B2ADOF16WVS","B2ADOF17A ","B2ADOF17ADD","B2ADOF17D ","B2ADOF17HDS", & + "B2ADOF17RDT","B2ADOF17V ","B2ADOF17WVS","B2ADOF18A ","B2ADOF18ADD","B2ADOF18D ","B2ADOF18HDS", & + "B2ADOF18RDT","B2ADOF18V ","B2ADOF18WVS","B2ADOF19A ","B2ADOF19ADD","B2ADOF19D ","B2ADOF19HDS", & + "B2ADOF19RDT","B2ADOF19V ","B2ADOF19WVS","B2ADOF1A ","B2ADOF1ADD ","B2ADOF1D ","B2ADOF1HDS ", & + "B2ADOF1RDT ","B2ADOF1V ","B2ADOF1WVS ","B2ADOF20A ","B2ADOF20ADD","B2ADOF20D ","B2ADOF20HDS", & + "B2ADOF20RDT","B2ADOF20V ","B2ADOF20WVS","B2ADOF21A ","B2ADOF21ADD","B2ADOF21D ","B2ADOF21HDS", & + "B2ADOF21RDT","B2ADOF21V ","B2ADOF21WVS","B2ADOF22A ","B2ADOF22ADD","B2ADOF22D ","B2ADOF22HDS", & + "B2ADOF22RDT","B2ADOF22V ","B2ADOF22WVS","B2ADOF23A ","B2ADOF23ADD","B2ADOF23D ","B2ADOF23HDS", & + "B2ADOF23RDT","B2ADOF23V ","B2ADOF23WVS","B2ADOF24A ","B2ADOF24ADD","B2ADOF24D ","B2ADOF24HDS", & + "B2ADOF24RDT","B2ADOF24V ","B2ADOF24WVS","B2ADOF25A ","B2ADOF25ADD","B2ADOF25D ","B2ADOF25HDS", & + "B2ADOF25RDT","B2ADOF25V ","B2ADOF25WVS","B2ADOF26A ","B2ADOF26ADD","B2ADOF26D ","B2ADOF26HDS", & + "B2ADOF26RDT","B2ADOF26V ","B2ADOF26WVS","B2ADOF27A ","B2ADOF27ADD","B2ADOF27D ","B2ADOF27HDS", & + "B2ADOF27RDT","B2ADOF27V ","B2ADOF27WVS","B2ADOF28A ","B2ADOF28ADD","B2ADOF28D ","B2ADOF28HDS", & + "B2ADOF28RDT","B2ADOF28V ","B2ADOF28WVS","B2ADOF29A ","B2ADOF29ADD","B2ADOF29D ","B2ADOF29HDS", & + "B2ADOF29RDT","B2ADOF29V ","B2ADOF29WVS","B2ADOF2A ","B2ADOF2ADD ","B2ADOF2D ","B2ADOF2HDS ", & + "B2ADOF2RDT ","B2ADOF2V ","B2ADOF2WVS ","B2ADOF30A ","B2ADOF30ADD","B2ADOF30D ","B2ADOF30HDS", & + "B2ADOF30RDT","B2ADOF30V ","B2ADOF30WVS","B2ADOF31A ","B2ADOF31ADD","B2ADOF31D ","B2ADOF31HDS", & + "B2ADOF31RDT","B2ADOF31V ","B2ADOF31WVS","B2ADOF32A ","B2ADOF32ADD","B2ADOF32D ","B2ADOF32HDS", & + "B2ADOF32RDT","B2ADOF32V ","B2ADOF32WVS","B2ADOF33A ","B2ADOF33ADD","B2ADOF33D ","B2ADOF33HDS", & + "B2ADOF33RDT","B2ADOF33V ","B2ADOF33WVS","B2ADOF34A ","B2ADOF34ADD","B2ADOF34D ","B2ADOF34HDS", & + "B2ADOF34RDT","B2ADOF34V ","B2ADOF34WVS","B2ADOF35A ","B2ADOF35ADD","B2ADOF35D ","B2ADOF35HDS", & + "B2ADOF35RDT","B2ADOF35V ","B2ADOF35WVS","B2ADOF36A ","B2ADOF36ADD","B2ADOF36D ","B2ADOF36HDS", & + "B2ADOF36RDT","B2ADOF36V ","B2ADOF36WVS","B2ADOF37A ","B2ADOF37ADD","B2ADOF37D ","B2ADOF37HDS", & + "B2ADOF37RDT","B2ADOF37V ","B2ADOF37WVS","B2ADOF38A ","B2ADOF38ADD","B2ADOF38D ","B2ADOF38HDS", & + "B2ADOF38RDT","B2ADOF38V ","B2ADOF38WVS","B2ADOF39A ","B2ADOF39ADD","B2ADOF39D ","B2ADOF39HDS", & + "B2ADOF39RDT","B2ADOF39V ","B2ADOF39WVS","B2ADOF3A ","B2ADOF3ADD ","B2ADOF3D ","B2ADOF3HDS ", & + "B2ADOF3RDT ","B2ADOF3V ","B2ADOF3WVS ","B2ADOF40A ","B2ADOF40ADD","B2ADOF40D ","B2ADOF40HDS", & + "B2ADOF40RDT","B2ADOF40V ","B2ADOF40WVS","B2ADOF41A ","B2ADOF41ADD","B2ADOF41D ","B2ADOF41HDS", & + "B2ADOF41RDT","B2ADOF41V ","B2ADOF41WVS","B2ADOF42A ","B2ADOF42ADD","B2ADOF42D ","B2ADOF42HDS", & + "B2ADOF42RDT","B2ADOF42V ","B2ADOF42WVS","B2ADOF43A ","B2ADOF43ADD","B2ADOF43D ","B2ADOF43HDS", & + "B2ADOF43RDT","B2ADOF43V ","B2ADOF43WVS","B2ADOF44A ","B2ADOF44ADD","B2ADOF44D ","B2ADOF44HDS", & + "B2ADOF44RDT","B2ADOF44V ","B2ADOF44WVS","B2ADOF45A ","B2ADOF45ADD","B2ADOF45D ","B2ADOF45HDS", & + "B2ADOF45RDT","B2ADOF45V ","B2ADOF45WVS","B2ADOF46A ","B2ADOF46ADD","B2ADOF46D ","B2ADOF46HDS", & + "B2ADOF46RDT","B2ADOF46V ","B2ADOF46WVS","B2ADOF47A ","B2ADOF47ADD","B2ADOF47D ","B2ADOF47HDS", & + "B2ADOF47RDT","B2ADOF47V ","B2ADOF47WVS","B2ADOF48A ","B2ADOF48ADD","B2ADOF48D ","B2ADOF48HDS", & + "B2ADOF48RDT","B2ADOF48V ","B2ADOF48WVS","B2ADOF49A ","B2ADOF49ADD","B2ADOF49D ","B2ADOF49HDS", & + "B2ADOF49RDT","B2ADOF49V ","B2ADOF49WVS","B2ADOF4A ","B2ADOF4ADD ","B2ADOF4D ","B2ADOF4HDS ", & + "B2ADOF4RDT ","B2ADOF4V ","B2ADOF4WVS ","B2ADOF50A ","B2ADOF50ADD","B2ADOF50D ","B2ADOF50HDS", & + "B2ADOF50RDT","B2ADOF50V ","B2ADOF50WVS","B2ADOF51A ","B2ADOF51ADD","B2ADOF51D ","B2ADOF51HDS", & + "B2ADOF51RDT","B2ADOF51V ","B2ADOF51WVS","B2ADOF52A ","B2ADOF52ADD","B2ADOF52D ","B2ADOF52HDS", & + "B2ADOF52RDT","B2ADOF52V ","B2ADOF52WVS","B2ADOF53A ","B2ADOF53ADD","B2ADOF53D ","B2ADOF53HDS", & + "B2ADOF53RDT","B2ADOF53V ","B2ADOF53WVS","B2ADOF54A ","B2ADOF54ADD","B2ADOF54D ","B2ADOF54HDS", & + "B2ADOF54RDT","B2ADOF54V ","B2ADOF54WVS","B2ADOF55A ","B2ADOF55ADD","B2ADOF55D ","B2ADOF55HDS", & + "B2ADOF55RDT","B2ADOF55V ","B2ADOF55WVS","B2ADOF56A ","B2ADOF56ADD","B2ADOF56D ","B2ADOF56HDS", & + "B2ADOF56RDT","B2ADOF56V ","B2ADOF56WVS","B2ADOF57A ","B2ADOF57ADD","B2ADOF57D ","B2ADOF57HDS", & + "B2ADOF57RDT","B2ADOF57V ","B2ADOF57WVS","B2ADOF58A ","B2ADOF58ADD","B2ADOF58D ","B2ADOF58HDS", & + "B2ADOF58RDT","B2ADOF58V ","B2ADOF58WVS","B2ADOF59A ","B2ADOF59ADD","B2ADOF59D ","B2ADOF59HDS", & + "B2ADOF59RDT","B2ADOF59V ","B2ADOF59WVS","B2ADOF5A ","B2ADOF5ADD ","B2ADOF5D ","B2ADOF5HDS ", & + "B2ADOF5RDT ","B2ADOF5V ","B2ADOF5WVS ","B2ADOF60A ","B2ADOF60ADD","B2ADOF60D ","B2ADOF60HDS", & + "B2ADOF60RDT","B2ADOF60V ","B2ADOF60WVS","B2ADOF61A ","B2ADOF61ADD","B2ADOF61D ","B2ADOF61HDS", & + "B2ADOF61RDT","B2ADOF61V ","B2ADOF61WVS","B2ADOF62A ","B2ADOF62ADD","B2ADOF62D ","B2ADOF62HDS", & + "B2ADOF62RDT","B2ADOF62V ","B2ADOF62WVS","B2ADOF63A ","B2ADOF63ADD","B2ADOF63D ","B2ADOF63HDS", & + "B2ADOF63RDT","B2ADOF63V ","B2ADOF63WVS","B2ADOF64A ","B2ADOF64ADD","B2ADOF64D ","B2ADOF64HDS", & + "B2ADOF64RDT","B2ADOF64V ","B2ADOF64WVS","B2ADOF65A ","B2ADOF65ADD","B2ADOF65D ","B2ADOF65HDS", & + "B2ADOF65RDT","B2ADOF65V ","B2ADOF65WVS","B2ADOF66A ","B2ADOF66ADD","B2ADOF66D ","B2ADOF66HDS", & + "B2ADOF66RDT","B2ADOF66V ","B2ADOF66WVS","B2ADOF67A ","B2ADOF67ADD","B2ADOF67D ","B2ADOF67HDS", & + "B2ADOF67RDT","B2ADOF67V ","B2ADOF67WVS","B2ADOF68A ","B2ADOF68ADD","B2ADOF68D ","B2ADOF68HDS", & + "B2ADOF68RDT","B2ADOF68V ","B2ADOF68WVS","B2ADOF69A ","B2ADOF69ADD","B2ADOF69D ","B2ADOF69HDS", & + "B2ADOF69RDT","B2ADOF69V ","B2ADOF69WVS","B2ADOF6A ","B2ADOF6ADD ","B2ADOF6D ","B2ADOF6HDS ", & + "B2ADOF6RDT ","B2ADOF6V ","B2ADOF6WVS ","B2ADOF70A ","B2ADOF70ADD","B2ADOF70D ","B2ADOF70HDS", & + "B2ADOF70RDT","B2ADOF70V ","B2ADOF70WVS","B2ADOF71A ","B2ADOF71ADD","B2ADOF71D ","B2ADOF71HDS", & + "B2ADOF71RDT","B2ADOF71V ","B2ADOF71WVS","B2ADOF72A ","B2ADOF72ADD","B2ADOF72D ","B2ADOF72HDS", & + "B2ADOF72RDT","B2ADOF72V ","B2ADOF72WVS","B2ADOF73A ","B2ADOF73ADD","B2ADOF73D ","B2ADOF73HDS", & + "B2ADOF73RDT","B2ADOF73V ","B2ADOF73WVS","B2ADOF74A ","B2ADOF74ADD","B2ADOF74D ","B2ADOF74HDS", & + "B2ADOF74RDT","B2ADOF74V ","B2ADOF74WVS","B2ADOF75A ","B2ADOF75ADD","B2ADOF75D ","B2ADOF75HDS", & + "B2ADOF75RDT","B2ADOF75V ","B2ADOF75WVS","B2ADOF76A ","B2ADOF76ADD","B2ADOF76D ","B2ADOF76HDS", & + "B2ADOF76RDT","B2ADOF76V ","B2ADOF76WVS","B2ADOF77A ","B2ADOF77ADD","B2ADOF77D ","B2ADOF77HDS", & + "B2ADOF77RDT","B2ADOF77V ","B2ADOF77WVS","B2ADOF78A ","B2ADOF78ADD","B2ADOF78D ","B2ADOF78HDS", & + "B2ADOF78RDT","B2ADOF78V ","B2ADOF78WVS","B2ADOF79A ","B2ADOF79ADD","B2ADOF79D ","B2ADOF79HDS", & + "B2ADOF79RDT","B2ADOF79V ","B2ADOF79WVS","B2ADOF7A ","B2ADOF7ADD ","B2ADOF7D ","B2ADOF7HDS ", & + "B2ADOF7RDT ","B2ADOF7V ","B2ADOF7WVS ","B2ADOF80A ","B2ADOF80ADD","B2ADOF80D ","B2ADOF80HDS", & + "B2ADOF80RDT","B2ADOF80V ","B2ADOF80WVS","B2ADOF81A ","B2ADOF81ADD","B2ADOF81D ","B2ADOF81HDS", & + "B2ADOF81RDT","B2ADOF81V ","B2ADOF81WVS","B2ADOF82A ","B2ADOF82ADD","B2ADOF82D ","B2ADOF82HDS", & + "B2ADOF82RDT","B2ADOF82V ","B2ADOF82WVS","B2ADOF83A ","B2ADOF83ADD","B2ADOF83D ","B2ADOF83HDS", & + "B2ADOF83RDT","B2ADOF83V ","B2ADOF83WVS","B2ADOF84A ","B2ADOF84ADD","B2ADOF84D ","B2ADOF84HDS", & + "B2ADOF84RDT","B2ADOF84V ","B2ADOF84WVS","B2ADOF85A ","B2ADOF85ADD","B2ADOF85D ","B2ADOF85HDS", & + "B2ADOF85RDT","B2ADOF85V ","B2ADOF85WVS","B2ADOF86A ","B2ADOF86ADD","B2ADOF86D ","B2ADOF86HDS", & + "B2ADOF86RDT","B2ADOF86V ","B2ADOF86WVS","B2ADOF87A ","B2ADOF87ADD","B2ADOF87D ","B2ADOF87HDS", & + "B2ADOF87RDT","B2ADOF87V ","B2ADOF87WVS","B2ADOF88A ","B2ADOF88ADD","B2ADOF88D ","B2ADOF88HDS", & + "B2ADOF88RDT","B2ADOF88V ","B2ADOF88WVS","B2ADOF89A ","B2ADOF89ADD","B2ADOF89D ","B2ADOF89HDS", & + "B2ADOF89RDT","B2ADOF89V ","B2ADOF89WVS","B2ADOF8A ","B2ADOF8ADD ","B2ADOF8D ","B2ADOF8HDS ", & + "B2ADOF8RDT ","B2ADOF8V ","B2ADOF8WVS ","B2ADOF90A ","B2ADOF90ADD","B2ADOF90D ","B2ADOF90HDS", & + "B2ADOF90RDT","B2ADOF90V ","B2ADOF90WVS","B2ADOF91A ","B2ADOF91ADD","B2ADOF91D ","B2ADOF91HDS", & + "B2ADOF91RDT","B2ADOF91V ","B2ADOF91WVS","B2ADOF92A ","B2ADOF92ADD","B2ADOF92D ","B2ADOF92HDS", & + "B2ADOF92RDT","B2ADOF92V ","B2ADOF92WVS","B2ADOF93A ","B2ADOF93ADD","B2ADOF93D ","B2ADOF93HDS", & + "B2ADOF93RDT","B2ADOF93V ","B2ADOF93WVS","B2ADOF94A ","B2ADOF94ADD","B2ADOF94D ","B2ADOF94HDS", & + "B2ADOF94RDT","B2ADOF94V ","B2ADOF94WVS","B2ADOF95A ","B2ADOF95ADD","B2ADOF95D ","B2ADOF95HDS", & + "B2ADOF95RDT","B2ADOF95V ","B2ADOF95WVS","B2ADOF96A ","B2ADOF96ADD","B2ADOF96D ","B2ADOF96HDS", & + "B2ADOF96RDT","B2ADOF96V ","B2ADOF96WVS","B2ADOF97A ","B2ADOF97ADD","B2ADOF97D ","B2ADOF97HDS", & + "B2ADOF97RDT","B2ADOF97V ","B2ADOF97WVS","B2ADOF98A ","B2ADOF98ADD","B2ADOF98D ","B2ADOF98HDS", & + "B2ADOF98RDT","B2ADOF98V ","B2ADOF98WVS","B2ADOF99A ","B2ADOF99ADD","B2ADOF99D ","B2ADOF99HDS", & + "B2ADOF99RDT","B2ADOF99V ","B2ADOF99WVS","B2ADOF9A ","B2ADOF9ADD ","B2ADOF9D ","B2ADOF9HDS ", & + "B2ADOF9RDT ","B2ADOF9V ","B2ADOF9WVS ","B2HDSFXI ","B2HDSFYI ","B2HDSFZI ","B2HDSMXI ", & + "B2HDSMYI ","B2HDSMZI ","B2HEAVE ","B2NFKFXI ","B2NFKFYI ","B2NFKFZI ","B2NFKMXI ", & + "B2NFKMYI ","B2NFKMZI ","B2PITCH ","B2RAXI ","B2RAYI ","B2RAZI ","B2RDTFXI ", & + "B2RDTFYI ","B2RDTFZI ","B2RDTMXI ","B2RDTMYI ","B2RDTMZI ","B2ROLL ","B2RVXI ", & + "B2RVYI ","B2RVZI ","B2SURGE ","B2SWAY ","B2TAXI ","B2TAYI ","B2TAZI ", & + "B2TVXI ","B2TVYI ","B2TVZI ","B2WVSF1XI ","B2WVSF1YI ","B2WVSF1ZI ","B2WVSF2XI ", & + "B2WVSF2YI ","B2WVSF2ZI ","B2WVSFXI ","B2WVSFYI ","B2WVSFZI ","B2WVSM1XI ","B2WVSM1YI ", & + "B2WVSM1ZI ","B2WVSM2XI ","B2WVSM2YI ","B2WVSM2ZI ","B2WVSMXI ","B2WVSMYI ","B2WVSMZI ", & + "B2YAW ","B3ADDFXI ","B3ADDFYI ","B3ADDFZI ","B3ADDMXI ","B3ADDMYI ","B3ADDMZI ", & + "B3ADOF10A ","B3ADOF10ADD","B3ADOF10D ","B3ADOF10HDS","B3ADOF10RDT","B3ADOF10V ","B3ADOF10WVS", & + "B3ADOF11A ","B3ADOF11ADD","B3ADOF11D ","B3ADOF11HDS","B3ADOF11RDT","B3ADOF11V ","B3ADOF11WVS", & + "B3ADOF12A ","B3ADOF12ADD","B3ADOF12D ","B3ADOF12HDS","B3ADOF12RDT","B3ADOF12V ","B3ADOF12WVS", & + "B3ADOF13A ","B3ADOF13ADD","B3ADOF13D ","B3ADOF13HDS","B3ADOF13RDT","B3ADOF13V ","B3ADOF13WVS", & + "B3ADOF14A ","B3ADOF14ADD","B3ADOF14D ","B3ADOF14HDS","B3ADOF14RDT","B3ADOF14V ","B3ADOF14WVS", & + "B3ADOF15A ","B3ADOF15ADD","B3ADOF15D ","B3ADOF15HDS","B3ADOF15RDT","B3ADOF15V ","B3ADOF15WVS", & + "B3ADOF16A ","B3ADOF16ADD","B3ADOF16D ","B3ADOF16HDS","B3ADOF16RDT","B3ADOF16V ","B3ADOF16WVS", & + "B3ADOF17A ","B3ADOF17ADD","B3ADOF17D ","B3ADOF17HDS","B3ADOF17RDT","B3ADOF17V ","B3ADOF17WVS", & + "B3ADOF18A ","B3ADOF18ADD","B3ADOF18D ","B3ADOF18HDS","B3ADOF18RDT","B3ADOF18V ","B3ADOF18WVS", & + "B3ADOF19A ","B3ADOF19ADD","B3ADOF19D ","B3ADOF19HDS","B3ADOF19RDT","B3ADOF19V ","B3ADOF19WVS", & + "B3ADOF1A ","B3ADOF1ADD ","B3ADOF1D ","B3ADOF1HDS ","B3ADOF1RDT ","B3ADOF1V ","B3ADOF1WVS ", & + "B3ADOF20A ","B3ADOF20ADD","B3ADOF20D ","B3ADOF20HDS","B3ADOF20RDT","B3ADOF20V ","B3ADOF20WVS", & + "B3ADOF21A ","B3ADOF21ADD","B3ADOF21D ","B3ADOF21HDS","B3ADOF21RDT","B3ADOF21V ","B3ADOF21WVS", & + "B3ADOF22A ","B3ADOF22ADD","B3ADOF22D ","B3ADOF22HDS","B3ADOF22RDT","B3ADOF22V ","B3ADOF22WVS", & + "B3ADOF23A ","B3ADOF23ADD","B3ADOF23D ","B3ADOF23HDS","B3ADOF23RDT","B3ADOF23V ","B3ADOF23WVS", & + "B3ADOF24A ","B3ADOF24ADD","B3ADOF24D ","B3ADOF24HDS","B3ADOF24RDT","B3ADOF24V ","B3ADOF24WVS", & + "B3ADOF25A ","B3ADOF25ADD","B3ADOF25D ","B3ADOF25HDS","B3ADOF25RDT","B3ADOF25V ","B3ADOF25WVS", & + "B3ADOF26A ","B3ADOF26ADD","B3ADOF26D ","B3ADOF26HDS","B3ADOF26RDT","B3ADOF26V ","B3ADOF26WVS", & + "B3ADOF27A ","B3ADOF27ADD","B3ADOF27D ","B3ADOF27HDS","B3ADOF27RDT","B3ADOF27V ","B3ADOF27WVS", & + "B3ADOF28A ","B3ADOF28ADD","B3ADOF28D ","B3ADOF28HDS","B3ADOF28RDT","B3ADOF28V ","B3ADOF28WVS", & + "B3ADOF29A ","B3ADOF29ADD","B3ADOF29D ","B3ADOF29HDS","B3ADOF29RDT","B3ADOF29V ","B3ADOF29WVS", & + "B3ADOF2A ","B3ADOF2ADD ","B3ADOF2D ","B3ADOF2HDS ","B3ADOF2RDT ","B3ADOF2V ","B3ADOF2WVS ", & + "B3ADOF30A ","B3ADOF30ADD","B3ADOF30D ","B3ADOF30HDS","B3ADOF30RDT","B3ADOF30V ","B3ADOF30WVS", & + "B3ADOF31A ","B3ADOF31ADD","B3ADOF31D ","B3ADOF31HDS","B3ADOF31RDT","B3ADOF31V ","B3ADOF31WVS", & + "B3ADOF32A ","B3ADOF32ADD","B3ADOF32D ","B3ADOF32HDS","B3ADOF32RDT","B3ADOF32V ","B3ADOF32WVS", & + "B3ADOF33A ","B3ADOF33ADD","B3ADOF33D ","B3ADOF33HDS","B3ADOF33RDT","B3ADOF33V ","B3ADOF33WVS", & + "B3ADOF34A ","B3ADOF34ADD","B3ADOF34D ","B3ADOF34HDS","B3ADOF34RDT","B3ADOF34V ","B3ADOF34WVS"/) + CHARACTER(OutStrLenM1), PARAMETER :: ValidParamAry2(1701) = (/ & ! This lists the names of the allowed parameters, which must be sorted alphabetically + "B3ADOF35A ","B3ADOF35ADD","B3ADOF35D ","B3ADOF35HDS","B3ADOF35RDT","B3ADOF35V ","B3ADOF35WVS", & + "B3ADOF36A ","B3ADOF36ADD","B3ADOF36D ","B3ADOF36HDS","B3ADOF36RDT","B3ADOF36V ","B3ADOF36WVS", & + "B3ADOF37A ","B3ADOF37ADD","B3ADOF37D ","B3ADOF37HDS","B3ADOF37RDT","B3ADOF37V ","B3ADOF37WVS", & + "B3ADOF38A ","B3ADOF38ADD","B3ADOF38D ","B3ADOF38HDS","B3ADOF38RDT","B3ADOF38V ","B3ADOF38WVS", & + "B3ADOF39A ","B3ADOF39ADD","B3ADOF39D ","B3ADOF39HDS","B3ADOF39RDT","B3ADOF39V ","B3ADOF39WVS", & + "B3ADOF3A ","B3ADOF3ADD ","B3ADOF3D ","B3ADOF3HDS ","B3ADOF3RDT ","B3ADOF3V ","B3ADOF3WVS ", & + "B3ADOF40A ","B3ADOF40ADD","B3ADOF40D ","B3ADOF40HDS","B3ADOF40RDT","B3ADOF40V ","B3ADOF40WVS", & + "B3ADOF41A ","B3ADOF41ADD","B3ADOF41D ","B3ADOF41HDS","B3ADOF41RDT","B3ADOF41V ","B3ADOF41WVS", & + "B3ADOF42A ","B3ADOF42ADD","B3ADOF42D ","B3ADOF42HDS","B3ADOF42RDT","B3ADOF42V ","B3ADOF42WVS", & + "B3ADOF43A ","B3ADOF43ADD","B3ADOF43D ","B3ADOF43HDS","B3ADOF43RDT","B3ADOF43V ","B3ADOF43WVS", & + "B3ADOF44A ","B3ADOF44ADD","B3ADOF44D ","B3ADOF44HDS","B3ADOF44RDT","B3ADOF44V ","B3ADOF44WVS", & + "B3ADOF45A ","B3ADOF45ADD","B3ADOF45D ","B3ADOF45HDS","B3ADOF45RDT","B3ADOF45V ","B3ADOF45WVS", & + "B3ADOF46A ","B3ADOF46ADD","B3ADOF46D ","B3ADOF46HDS","B3ADOF46RDT","B3ADOF46V ","B3ADOF46WVS", & + "B3ADOF47A ","B3ADOF47ADD","B3ADOF47D ","B3ADOF47HDS","B3ADOF47RDT","B3ADOF47V ","B3ADOF47WVS", & + "B3ADOF48A ","B3ADOF48ADD","B3ADOF48D ","B3ADOF48HDS","B3ADOF48RDT","B3ADOF48V ","B3ADOF48WVS", & + "B3ADOF49A ","B3ADOF49ADD","B3ADOF49D ","B3ADOF49HDS","B3ADOF49RDT","B3ADOF49V ","B3ADOF49WVS", & + "B3ADOF4A ","B3ADOF4ADD ","B3ADOF4D ","B3ADOF4HDS ","B3ADOF4RDT ","B3ADOF4V ","B3ADOF4WVS ", & + "B3ADOF50A ","B3ADOF50ADD","B3ADOF50D ","B3ADOF50HDS","B3ADOF50RDT","B3ADOF50V ","B3ADOF50WVS", & + "B3ADOF51A ","B3ADOF51ADD","B3ADOF51D ","B3ADOF51HDS","B3ADOF51RDT","B3ADOF51V ","B3ADOF51WVS", & + "B3ADOF52A ","B3ADOF52ADD","B3ADOF52D ","B3ADOF52HDS","B3ADOF52RDT","B3ADOF52V ","B3ADOF52WVS", & + "B3ADOF53A ","B3ADOF53ADD","B3ADOF53D ","B3ADOF53HDS","B3ADOF53RDT","B3ADOF53V ","B3ADOF53WVS", & + "B3ADOF54A ","B3ADOF54ADD","B3ADOF54D ","B3ADOF54HDS","B3ADOF54RDT","B3ADOF54V ","B3ADOF54WVS", & + "B3ADOF55A ","B3ADOF55ADD","B3ADOF55D ","B3ADOF55HDS","B3ADOF55RDT","B3ADOF55V ","B3ADOF55WVS", & + "B3ADOF56A ","B3ADOF56ADD","B3ADOF56D ","B3ADOF56HDS","B3ADOF56RDT","B3ADOF56V ","B3ADOF56WVS", & + "B3ADOF57A ","B3ADOF57ADD","B3ADOF57D ","B3ADOF57HDS","B3ADOF57RDT","B3ADOF57V ","B3ADOF57WVS", & + "B3ADOF58A ","B3ADOF58ADD","B3ADOF58D ","B3ADOF58HDS","B3ADOF58RDT","B3ADOF58V ","B3ADOF58WVS", & + "B3ADOF59A ","B3ADOF59ADD","B3ADOF59D ","B3ADOF59HDS","B3ADOF59RDT","B3ADOF59V ","B3ADOF59WVS", & + "B3ADOF5A ","B3ADOF5ADD ","B3ADOF5D ","B3ADOF5HDS ","B3ADOF5RDT ","B3ADOF5V ","B3ADOF5WVS ", & + "B3ADOF60A ","B3ADOF60ADD","B3ADOF60D ","B3ADOF60HDS","B3ADOF60RDT","B3ADOF60V ","B3ADOF60WVS", & + "B3ADOF61A ","B3ADOF61ADD","B3ADOF61D ","B3ADOF61HDS","B3ADOF61RDT","B3ADOF61V ","B3ADOF61WVS", & + "B3ADOF62A ","B3ADOF62ADD","B3ADOF62D ","B3ADOF62HDS","B3ADOF62RDT","B3ADOF62V ","B3ADOF62WVS", & + "B3ADOF63A ","B3ADOF63ADD","B3ADOF63D ","B3ADOF63HDS","B3ADOF63RDT","B3ADOF63V ","B3ADOF63WVS", & + "B3ADOF64A ","B3ADOF64ADD","B3ADOF64D ","B3ADOF64HDS","B3ADOF64RDT","B3ADOF64V ","B3ADOF64WVS", & + "B3ADOF65A ","B3ADOF65ADD","B3ADOF65D ","B3ADOF65HDS","B3ADOF65RDT","B3ADOF65V ","B3ADOF65WVS", & + "B3ADOF66A ","B3ADOF66ADD","B3ADOF66D ","B3ADOF66HDS","B3ADOF66RDT","B3ADOF66V ","B3ADOF66WVS", & + "B3ADOF67A ","B3ADOF67ADD","B3ADOF67D ","B3ADOF67HDS","B3ADOF67RDT","B3ADOF67V ","B3ADOF67WVS", & + "B3ADOF68A ","B3ADOF68ADD","B3ADOF68D ","B3ADOF68HDS","B3ADOF68RDT","B3ADOF68V ","B3ADOF68WVS", & + "B3ADOF69A ","B3ADOF69ADD","B3ADOF69D ","B3ADOF69HDS","B3ADOF69RDT","B3ADOF69V ","B3ADOF69WVS", & + "B3ADOF6A ","B3ADOF6ADD ","B3ADOF6D ","B3ADOF6HDS ","B3ADOF6RDT ","B3ADOF6V ","B3ADOF6WVS ", & + "B3ADOF70A ","B3ADOF70ADD","B3ADOF70D ","B3ADOF70HDS","B3ADOF70RDT","B3ADOF70V ","B3ADOF70WVS", & + "B3ADOF71A ","B3ADOF71ADD","B3ADOF71D ","B3ADOF71HDS","B3ADOF71RDT","B3ADOF71V ","B3ADOF71WVS", & + "B3ADOF72A ","B3ADOF72ADD","B3ADOF72D ","B3ADOF72HDS","B3ADOF72RDT","B3ADOF72V ","B3ADOF72WVS", & + "B3ADOF73A ","B3ADOF73ADD","B3ADOF73D ","B3ADOF73HDS","B3ADOF73RDT","B3ADOF73V ","B3ADOF73WVS", & + "B3ADOF74A ","B3ADOF74ADD","B3ADOF74D ","B3ADOF74HDS","B3ADOF74RDT","B3ADOF74V ","B3ADOF74WVS", & + "B3ADOF75A ","B3ADOF75ADD","B3ADOF75D ","B3ADOF75HDS","B3ADOF75RDT","B3ADOF75V ","B3ADOF75WVS", & + "B3ADOF76A ","B3ADOF76ADD","B3ADOF76D ","B3ADOF76HDS","B3ADOF76RDT","B3ADOF76V ","B3ADOF76WVS", & + "B3ADOF77A ","B3ADOF77ADD","B3ADOF77D ","B3ADOF77HDS","B3ADOF77RDT","B3ADOF77V ","B3ADOF77WVS", & + "B3ADOF78A ","B3ADOF78ADD","B3ADOF78D ","B3ADOF78HDS","B3ADOF78RDT","B3ADOF78V ","B3ADOF78WVS", & + "B3ADOF79A ","B3ADOF79ADD","B3ADOF79D ","B3ADOF79HDS","B3ADOF79RDT","B3ADOF79V ","B3ADOF79WVS", & + "B3ADOF7A ","B3ADOF7ADD ","B3ADOF7D ","B3ADOF7HDS ","B3ADOF7RDT ","B3ADOF7V ","B3ADOF7WVS ", & + "B3ADOF80A ","B3ADOF80ADD","B3ADOF80D ","B3ADOF80HDS","B3ADOF80RDT","B3ADOF80V ","B3ADOF80WVS", & + "B3ADOF81A ","B3ADOF81ADD","B3ADOF81D ","B3ADOF81HDS","B3ADOF81RDT","B3ADOF81V ","B3ADOF81WVS", & + "B3ADOF82A ","B3ADOF82ADD","B3ADOF82D ","B3ADOF82HDS","B3ADOF82RDT","B3ADOF82V ","B3ADOF82WVS", & + "B3ADOF83A ","B3ADOF83ADD","B3ADOF83D ","B3ADOF83HDS","B3ADOF83RDT","B3ADOF83V ","B3ADOF83WVS", & + "B3ADOF84A ","B3ADOF84ADD","B3ADOF84D ","B3ADOF84HDS","B3ADOF84RDT","B3ADOF84V ","B3ADOF84WVS", & + "B3ADOF85A ","B3ADOF85ADD","B3ADOF85D ","B3ADOF85HDS","B3ADOF85RDT","B3ADOF85V ","B3ADOF85WVS", & + "B3ADOF86A ","B3ADOF86ADD","B3ADOF86D ","B3ADOF86HDS","B3ADOF86RDT","B3ADOF86V ","B3ADOF86WVS", & + "B3ADOF87A ","B3ADOF87ADD","B3ADOF87D ","B3ADOF87HDS","B3ADOF87RDT","B3ADOF87V ","B3ADOF87WVS", & + "B3ADOF88A ","B3ADOF88ADD","B3ADOF88D ","B3ADOF88HDS","B3ADOF88RDT","B3ADOF88V ","B3ADOF88WVS", & + "B3ADOF89A ","B3ADOF89ADD","B3ADOF89D ","B3ADOF89HDS","B3ADOF89RDT","B3ADOF89V ","B3ADOF89WVS", & + "B3ADOF8A ","B3ADOF8ADD ","B3ADOF8D ","B3ADOF8HDS ","B3ADOF8RDT ","B3ADOF8V ","B3ADOF8WVS ", & + "B3ADOF90A ","B3ADOF90ADD","B3ADOF90D ","B3ADOF90HDS","B3ADOF90RDT","B3ADOF90V ","B3ADOF90WVS", & + "B3ADOF91A ","B3ADOF91ADD","B3ADOF91D ","B3ADOF91HDS","B3ADOF91RDT","B3ADOF91V ","B3ADOF91WVS", & + "B3ADOF92A ","B3ADOF92ADD","B3ADOF92D ","B3ADOF92HDS","B3ADOF92RDT","B3ADOF92V ","B3ADOF92WVS", & + "B3ADOF93A ","B3ADOF93ADD","B3ADOF93D ","B3ADOF93HDS","B3ADOF93RDT","B3ADOF93V ","B3ADOF93WVS", & + "B3ADOF94A ","B3ADOF94ADD","B3ADOF94D ","B3ADOF94HDS","B3ADOF94RDT","B3ADOF94V ","B3ADOF94WVS", & + "B3ADOF95A ","B3ADOF95ADD","B3ADOF95D ","B3ADOF95HDS","B3ADOF95RDT","B3ADOF95V ","B3ADOF95WVS", & + "B3ADOF96A ","B3ADOF96ADD","B3ADOF96D ","B3ADOF96HDS","B3ADOF96RDT","B3ADOF96V ","B3ADOF96WVS", & + "B3ADOF97A ","B3ADOF97ADD","B3ADOF97D ","B3ADOF97HDS","B3ADOF97RDT","B3ADOF97V ","B3ADOF97WVS", & + "B3ADOF98A ","B3ADOF98ADD","B3ADOF98D ","B3ADOF98HDS","B3ADOF98RDT","B3ADOF98V ","B3ADOF98WVS", & + "B3ADOF99A ","B3ADOF99ADD","B3ADOF99D ","B3ADOF99HDS","B3ADOF99RDT","B3ADOF99V ","B3ADOF99WVS", & + "B3ADOF9A ","B3ADOF9ADD ","B3ADOF9D ","B3ADOF9HDS ","B3ADOF9RDT ","B3ADOF9V ","B3ADOF9WVS ", & + "B3HDSFXI ","B3HDSFYI ","B3HDSFZI ","B3HDSMXI ","B3HDSMYI ","B3HDSMZI ","B3HEAVE ", & + "B3NFKFXI ","B3NFKFYI ","B3NFKFZI ","B3NFKMXI ","B3NFKMYI ","B3NFKMZI ","B3PITCH ", & + "B3RAXI ","B3RAYI ","B3RAZI ","B3RDTFXI ","B3RDTFYI ","B3RDTFZI ","B3RDTMXI ", & + "B3RDTMYI ","B3RDTMZI ","B3ROLL ","B3RVXI ","B3RVYI ","B3RVZI ","B3SURGE ", & + "B3SWAY ","B3TAXI ","B3TAYI ","B3TAZI ","B3TVXI ","B3TVYI ","B3TVZI ", & + "B3WVSF1XI ","B3WVSF1YI ","B3WVSF1ZI ","B3WVSF2XI ","B3WVSF2YI ","B3WVSF2ZI ","B3WVSFXI ", & + "B3WVSFYI ","B3WVSFZI ","B3WVSM1XI ","B3WVSM1YI ","B3WVSM1ZI ","B3WVSM2XI ","B3WVSM2YI ", & + "B3WVSM2ZI ","B3WVSMXI ","B3WVSMYI ","B3WVSMZI ","B3YAW ","B4ADDFXI ","B4ADDFYI ", & + "B4ADDFZI ","B4ADDMXI ","B4ADDMYI ","B4ADDMZI ","B4ADOF10A ","B4ADOF10ADD","B4ADOF10D ", & + "B4ADOF10HDS","B4ADOF10RDT","B4ADOF10V ","B4ADOF10WVS","B4ADOF11A ","B4ADOF11ADD","B4ADOF11D ", & + "B4ADOF11HDS","B4ADOF11RDT","B4ADOF11V ","B4ADOF11WVS","B4ADOF12A ","B4ADOF12ADD","B4ADOF12D ", & + "B4ADOF12HDS","B4ADOF12RDT","B4ADOF12V ","B4ADOF12WVS","B4ADOF13A ","B4ADOF13ADD","B4ADOF13D ", & + "B4ADOF13HDS","B4ADOF13RDT","B4ADOF13V ","B4ADOF13WVS","B4ADOF14A ","B4ADOF14ADD","B4ADOF14D ", & + "B4ADOF14HDS","B4ADOF14RDT","B4ADOF14V ","B4ADOF14WVS","B4ADOF15A ","B4ADOF15ADD","B4ADOF15D ", & + "B4ADOF15HDS","B4ADOF15RDT","B4ADOF15V ","B4ADOF15WVS","B4ADOF16A ","B4ADOF16ADD","B4ADOF16D ", & + "B4ADOF16HDS","B4ADOF16RDT","B4ADOF16V ","B4ADOF16WVS","B4ADOF17A ","B4ADOF17ADD","B4ADOF17D ", & + "B4ADOF17HDS","B4ADOF17RDT","B4ADOF17V ","B4ADOF17WVS","B4ADOF18A ","B4ADOF18ADD","B4ADOF18D ", & + "B4ADOF18HDS","B4ADOF18RDT","B4ADOF18V ","B4ADOF18WVS","B4ADOF19A ","B4ADOF19ADD","B4ADOF19D ", & + "B4ADOF19HDS","B4ADOF19RDT","B4ADOF19V ","B4ADOF19WVS","B4ADOF1A ","B4ADOF1ADD ","B4ADOF1D ", & + "B4ADOF1HDS ","B4ADOF1RDT ","B4ADOF1V ","B4ADOF1WVS ","B4ADOF20A ","B4ADOF20ADD","B4ADOF20D ", & + "B4ADOF20HDS","B4ADOF20RDT","B4ADOF20V ","B4ADOF20WVS","B4ADOF21A ","B4ADOF21ADD","B4ADOF21D ", & + "B4ADOF21HDS","B4ADOF21RDT","B4ADOF21V ","B4ADOF21WVS","B4ADOF22A ","B4ADOF22ADD","B4ADOF22D ", & + "B4ADOF22HDS","B4ADOF22RDT","B4ADOF22V ","B4ADOF22WVS","B4ADOF23A ","B4ADOF23ADD","B4ADOF23D ", & + "B4ADOF23HDS","B4ADOF23RDT","B4ADOF23V ","B4ADOF23WVS","B4ADOF24A ","B4ADOF24ADD","B4ADOF24D ", & + "B4ADOF24HDS","B4ADOF24RDT","B4ADOF24V ","B4ADOF24WVS","B4ADOF25A ","B4ADOF25ADD","B4ADOF25D ", & + "B4ADOF25HDS","B4ADOF25RDT","B4ADOF25V ","B4ADOF25WVS","B4ADOF26A ","B4ADOF26ADD","B4ADOF26D ", & + "B4ADOF26HDS","B4ADOF26RDT","B4ADOF26V ","B4ADOF26WVS","B4ADOF27A ","B4ADOF27ADD","B4ADOF27D ", & + "B4ADOF27HDS","B4ADOF27RDT","B4ADOF27V ","B4ADOF27WVS","B4ADOF28A ","B4ADOF28ADD","B4ADOF28D ", & + "B4ADOF28HDS","B4ADOF28RDT","B4ADOF28V ","B4ADOF28WVS","B4ADOF29A ","B4ADOF29ADD","B4ADOF29D ", & + "B4ADOF29HDS","B4ADOF29RDT","B4ADOF29V ","B4ADOF29WVS","B4ADOF2A ","B4ADOF2ADD ","B4ADOF2D ", & + "B4ADOF2HDS ","B4ADOF2RDT ","B4ADOF2V ","B4ADOF2WVS ","B4ADOF30A ","B4ADOF30ADD","B4ADOF30D ", & + "B4ADOF30HDS","B4ADOF30RDT","B4ADOF30V ","B4ADOF30WVS","B4ADOF31A ","B4ADOF31ADD","B4ADOF31D ", & + "B4ADOF31HDS","B4ADOF31RDT","B4ADOF31V ","B4ADOF31WVS","B4ADOF32A ","B4ADOF32ADD","B4ADOF32D ", & + "B4ADOF32HDS","B4ADOF32RDT","B4ADOF32V ","B4ADOF32WVS","B4ADOF33A ","B4ADOF33ADD","B4ADOF33D ", & + "B4ADOF33HDS","B4ADOF33RDT","B4ADOF33V ","B4ADOF33WVS","B4ADOF34A ","B4ADOF34ADD","B4ADOF34D ", & + "B4ADOF34HDS","B4ADOF34RDT","B4ADOF34V ","B4ADOF34WVS","B4ADOF35A ","B4ADOF35ADD","B4ADOF35D ", & + "B4ADOF35HDS","B4ADOF35RDT","B4ADOF35V ","B4ADOF35WVS","B4ADOF36A ","B4ADOF36ADD","B4ADOF36D ", & + "B4ADOF36HDS","B4ADOF36RDT","B4ADOF36V ","B4ADOF36WVS","B4ADOF37A ","B4ADOF37ADD","B4ADOF37D ", & + "B4ADOF37HDS","B4ADOF37RDT","B4ADOF37V ","B4ADOF37WVS","B4ADOF38A ","B4ADOF38ADD","B4ADOF38D ", & + "B4ADOF38HDS","B4ADOF38RDT","B4ADOF38V ","B4ADOF38WVS","B4ADOF39A ","B4ADOF39ADD","B4ADOF39D ", & + "B4ADOF39HDS","B4ADOF39RDT","B4ADOF39V ","B4ADOF39WVS","B4ADOF3A ","B4ADOF3ADD ","B4ADOF3D ", & + "B4ADOF3HDS ","B4ADOF3RDT ","B4ADOF3V ","B4ADOF3WVS ","B4ADOF40A ","B4ADOF40ADD","B4ADOF40D ", & + "B4ADOF40HDS","B4ADOF40RDT","B4ADOF40V ","B4ADOF40WVS","B4ADOF41A ","B4ADOF41ADD","B4ADOF41D ", & + "B4ADOF41HDS","B4ADOF41RDT","B4ADOF41V ","B4ADOF41WVS","B4ADOF42A ","B4ADOF42ADD","B4ADOF42D ", & + "B4ADOF42HDS","B4ADOF42RDT","B4ADOF42V ","B4ADOF42WVS","B4ADOF43A ","B4ADOF43ADD","B4ADOF43D ", & + "B4ADOF43HDS","B4ADOF43RDT","B4ADOF43V ","B4ADOF43WVS","B4ADOF44A ","B4ADOF44ADD","B4ADOF44D ", & + "B4ADOF44HDS","B4ADOF44RDT","B4ADOF44V ","B4ADOF44WVS","B4ADOF45A ","B4ADOF45ADD","B4ADOF45D ", & + "B4ADOF45HDS","B4ADOF45RDT","B4ADOF45V ","B4ADOF45WVS","B4ADOF46A ","B4ADOF46ADD","B4ADOF46D ", & + "B4ADOF46HDS","B4ADOF46RDT","B4ADOF46V ","B4ADOF46WVS","B4ADOF47A ","B4ADOF47ADD","B4ADOF47D ", & + "B4ADOF47HDS","B4ADOF47RDT","B4ADOF47V ","B4ADOF47WVS","B4ADOF48A ","B4ADOF48ADD","B4ADOF48D ", & + "B4ADOF48HDS","B4ADOF48RDT","B4ADOF48V ","B4ADOF48WVS","B4ADOF49A ","B4ADOF49ADD","B4ADOF49D ", & + "B4ADOF49HDS","B4ADOF49RDT","B4ADOF49V ","B4ADOF49WVS","B4ADOF4A ","B4ADOF4ADD ","B4ADOF4D ", & + "B4ADOF4HDS ","B4ADOF4RDT ","B4ADOF4V ","B4ADOF4WVS ","B4ADOF50A ","B4ADOF50ADD","B4ADOF50D ", & + "B4ADOF50HDS","B4ADOF50RDT","B4ADOF50V ","B4ADOF50WVS","B4ADOF51A ","B4ADOF51ADD","B4ADOF51D ", & + "B4ADOF51HDS","B4ADOF51RDT","B4ADOF51V ","B4ADOF51WVS","B4ADOF52A ","B4ADOF52ADD","B4ADOF52D ", & + "B4ADOF52HDS","B4ADOF52RDT","B4ADOF52V ","B4ADOF52WVS","B4ADOF53A ","B4ADOF53ADD","B4ADOF53D ", & + "B4ADOF53HDS","B4ADOF53RDT","B4ADOF53V ","B4ADOF53WVS","B4ADOF54A ","B4ADOF54ADD","B4ADOF54D ", & + "B4ADOF54HDS","B4ADOF54RDT","B4ADOF54V ","B4ADOF54WVS","B4ADOF55A ","B4ADOF55ADD","B4ADOF55D ", & + "B4ADOF55HDS","B4ADOF55RDT","B4ADOF55V ","B4ADOF55WVS","B4ADOF56A ","B4ADOF56ADD","B4ADOF56D ", & + "B4ADOF56HDS","B4ADOF56RDT","B4ADOF56V ","B4ADOF56WVS","B4ADOF57A ","B4ADOF57ADD","B4ADOF57D ", & + "B4ADOF57HDS","B4ADOF57RDT","B4ADOF57V ","B4ADOF57WVS","B4ADOF58A ","B4ADOF58ADD","B4ADOF58D ", & + "B4ADOF58HDS","B4ADOF58RDT","B4ADOF58V ","B4ADOF58WVS","B4ADOF59A ","B4ADOF59ADD","B4ADOF59D ", & + "B4ADOF59HDS","B4ADOF59RDT","B4ADOF59V ","B4ADOF59WVS","B4ADOF5A ","B4ADOF5ADD ","B4ADOF5D ", & + "B4ADOF5HDS ","B4ADOF5RDT ","B4ADOF5V ","B4ADOF5WVS ","B4ADOF60A ","B4ADOF60ADD","B4ADOF60D ", & + "B4ADOF60HDS","B4ADOF60RDT","B4ADOF60V ","B4ADOF60WVS","B4ADOF61A ","B4ADOF61ADD","B4ADOF61D ", & + "B4ADOF61HDS","B4ADOF61RDT","B4ADOF61V ","B4ADOF61WVS","B4ADOF62A ","B4ADOF62ADD","B4ADOF62D ", & + "B4ADOF62HDS","B4ADOF62RDT","B4ADOF62V ","B4ADOF62WVS","B4ADOF63A ","B4ADOF63ADD","B4ADOF63D ", & + "B4ADOF63HDS","B4ADOF63RDT","B4ADOF63V ","B4ADOF63WVS","B4ADOF64A ","B4ADOF64ADD","B4ADOF64D ", & + "B4ADOF64HDS","B4ADOF64RDT","B4ADOF64V ","B4ADOF64WVS","B4ADOF65A ","B4ADOF65ADD","B4ADOF65D ", & + "B4ADOF65HDS","B4ADOF65RDT","B4ADOF65V ","B4ADOF65WVS","B4ADOF66A ","B4ADOF66ADD","B4ADOF66D ", & + "B4ADOF66HDS","B4ADOF66RDT","B4ADOF66V ","B4ADOF66WVS","B4ADOF67A ","B4ADOF67ADD","B4ADOF67D ", & + "B4ADOF67HDS","B4ADOF67RDT","B4ADOF67V ","B4ADOF67WVS","B4ADOF68A ","B4ADOF68ADD","B4ADOF68D ", & + "B4ADOF68HDS","B4ADOF68RDT","B4ADOF68V ","B4ADOF68WVS","B4ADOF69A ","B4ADOF69ADD","B4ADOF69D ", & + "B4ADOF69HDS","B4ADOF69RDT","B4ADOF69V ","B4ADOF69WVS","B4ADOF6A ","B4ADOF6ADD ","B4ADOF6D ", & + "B4ADOF6HDS ","B4ADOF6RDT ","B4ADOF6V ","B4ADOF6WVS ","B4ADOF70A ","B4ADOF70ADD","B4ADOF70D ", & + "B4ADOF70HDS","B4ADOF70RDT","B4ADOF70V ","B4ADOF70WVS","B4ADOF71A ","B4ADOF71ADD","B4ADOF71D ", & + "B4ADOF71HDS","B4ADOF71RDT","B4ADOF71V ","B4ADOF71WVS","B4ADOF72A ","B4ADOF72ADD","B4ADOF72D ", & + "B4ADOF72HDS","B4ADOF72RDT","B4ADOF72V ","B4ADOF72WVS","B4ADOF73A ","B4ADOF73ADD","B4ADOF73D ", & + "B4ADOF73HDS","B4ADOF73RDT","B4ADOF73V ","B4ADOF73WVS","B4ADOF74A ","B4ADOF74ADD","B4ADOF74D ", & + "B4ADOF74HDS","B4ADOF74RDT","B4ADOF74V ","B4ADOF74WVS","B4ADOF75A ","B4ADOF75ADD","B4ADOF75D ", & + "B4ADOF75HDS","B4ADOF75RDT","B4ADOF75V ","B4ADOF75WVS","B4ADOF76A ","B4ADOF76ADD","B4ADOF76D ", & + "B4ADOF76HDS","B4ADOF76RDT","B4ADOF76V ","B4ADOF76WVS","B4ADOF77A ","B4ADOF77ADD","B4ADOF77D ", & + "B4ADOF77HDS","B4ADOF77RDT","B4ADOF77V ","B4ADOF77WVS","B4ADOF78A ","B4ADOF78ADD","B4ADOF78D ", & + "B4ADOF78HDS","B4ADOF78RDT","B4ADOF78V ","B4ADOF78WVS","B4ADOF79A ","B4ADOF79ADD","B4ADOF79D ", & + "B4ADOF79HDS","B4ADOF79RDT","B4ADOF79V ","B4ADOF79WVS","B4ADOF7A ","B4ADOF7ADD ","B4ADOF7D ", & + "B4ADOF7HDS ","B4ADOF7RDT ","B4ADOF7V ","B4ADOF7WVS ","B4ADOF80A ","B4ADOF80ADD","B4ADOF80D ", & + "B4ADOF80HDS","B4ADOF80RDT","B4ADOF80V ","B4ADOF80WVS","B4ADOF81A ","B4ADOF81ADD","B4ADOF81D ", & + "B4ADOF81HDS","B4ADOF81RDT","B4ADOF81V ","B4ADOF81WVS","B4ADOF82A ","B4ADOF82ADD","B4ADOF82D ", & + "B4ADOF82HDS","B4ADOF82RDT","B4ADOF82V ","B4ADOF82WVS","B4ADOF83A ","B4ADOF83ADD","B4ADOF83D ", & + "B4ADOF83HDS","B4ADOF83RDT","B4ADOF83V ","B4ADOF83WVS","B4ADOF84A ","B4ADOF84ADD","B4ADOF84D ", & + "B4ADOF84HDS","B4ADOF84RDT","B4ADOF84V ","B4ADOF84WVS","B4ADOF85A ","B4ADOF85ADD","B4ADOF85D ", & + "B4ADOF85HDS","B4ADOF85RDT","B4ADOF85V ","B4ADOF85WVS","B4ADOF86A ","B4ADOF86ADD","B4ADOF86D ", & + "B4ADOF86HDS","B4ADOF86RDT","B4ADOF86V ","B4ADOF86WVS","B4ADOF87A ","B4ADOF87ADD","B4ADOF87D ", & + "B4ADOF87HDS","B4ADOF87RDT","B4ADOF87V ","B4ADOF87WVS","B4ADOF88A ","B4ADOF88ADD","B4ADOF88D ", & + "B4ADOF88HDS","B4ADOF88RDT","B4ADOF88V ","B4ADOF88WVS","B4ADOF89A ","B4ADOF89ADD","B4ADOF89D ", & + "B4ADOF89HDS","B4ADOF89RDT","B4ADOF89V ","B4ADOF89WVS","B4ADOF8A ","B4ADOF8ADD ","B4ADOF8D ", & + "B4ADOF8HDS ","B4ADOF8RDT ","B4ADOF8V ","B4ADOF8WVS ","B4ADOF90A ","B4ADOF90ADD","B4ADOF90D ", & + "B4ADOF90HDS","B4ADOF90RDT","B4ADOF90V ","B4ADOF90WVS","B4ADOF91A ","B4ADOF91ADD","B4ADOF91D ", & + "B4ADOF91HDS","B4ADOF91RDT","B4ADOF91V ","B4ADOF91WVS","B4ADOF92A ","B4ADOF92ADD","B4ADOF92D ", & + "B4ADOF92HDS","B4ADOF92RDT","B4ADOF92V ","B4ADOF92WVS","B4ADOF93A ","B4ADOF93ADD","B4ADOF93D ", & + "B4ADOF93HDS","B4ADOF93RDT","B4ADOF93V ","B4ADOF93WVS","B4ADOF94A ","B4ADOF94ADD","B4ADOF94D ", & + "B4ADOF94HDS","B4ADOF94RDT","B4ADOF94V ","B4ADOF94WVS","B4ADOF95A ","B4ADOF95ADD","B4ADOF95D ", & + "B4ADOF95HDS","B4ADOF95RDT","B4ADOF95V ","B4ADOF95WVS","B4ADOF96A ","B4ADOF96ADD","B4ADOF96D ", & + "B4ADOF96HDS","B4ADOF96RDT","B4ADOF96V ","B4ADOF96WVS","B4ADOF97A ","B4ADOF97ADD","B4ADOF97D ", & + "B4ADOF97HDS","B4ADOF97RDT","B4ADOF97V ","B4ADOF97WVS","B4ADOF98A ","B4ADOF98ADD","B4ADOF98D ", & + "B4ADOF98HDS","B4ADOF98RDT","B4ADOF98V ","B4ADOF98WVS","B4ADOF99A ","B4ADOF99ADD","B4ADOF99D ", & + "B4ADOF99HDS","B4ADOF99RDT","B4ADOF99V ","B4ADOF99WVS","B4ADOF9A ","B4ADOF9ADD ","B4ADOF9D ", & + "B4ADOF9HDS ","B4ADOF9RDT ","B4ADOF9V ","B4ADOF9WVS ","B4HDSFXI ","B4HDSFYI ","B4HDSFZI ", & + "B4HDSMXI ","B4HDSMYI ","B4HDSMZI ","B4HEAVE ","B4NFKFXI ","B4NFKFYI ","B4NFKFZI ", & + "B4NFKMXI ","B4NFKMYI ","B4NFKMZI ","B4PITCH ","B4RAXI ","B4RAYI ","B4RAZI ", & + "B4RDTFXI ","B4RDTFYI ","B4RDTFZI ","B4RDTMXI ","B4RDTMYI ","B4RDTMZI ","B4ROLL ", & + "B4RVXI ","B4RVYI ","B4RVZI ","B4SURGE ","B4SWAY ","B4TAXI ","B4TAYI ", & + "B4TAZI ","B4TVXI ","B4TVYI ","B4TVZI ","B4WVSF1XI ","B4WVSF1YI ","B4WVSF1ZI ", & + "B4WVSF2XI ","B4WVSF2YI ","B4WVSF2ZI ","B4WVSFXI ","B4WVSFYI ","B4WVSFZI ","B4WVSM1XI ", & + "B4WVSM1YI ","B4WVSM1ZI ","B4WVSM2XI ","B4WVSM2YI ","B4WVSM2ZI ","B4WVSMXI ","B4WVSMYI ", & + "B4WVSMZI ","B4YAW ","B5ADDFXI ","B5ADDFYI ","B5ADDFZI ","B5ADDMXI ","B5ADDMYI ", & + "B5ADDMZI ","B5ADOF10A ","B5ADOF10ADD","B5ADOF10D ","B5ADOF10HDS","B5ADOF10RDT","B5ADOF10V ", & + "B5ADOF10WVS","B5ADOF11A ","B5ADOF11ADD","B5ADOF11D ","B5ADOF11HDS","B5ADOF11RDT","B5ADOF11V ", & + "B5ADOF11WVS","B5ADOF12A ","B5ADOF12ADD","B5ADOF12D ","B5ADOF12HDS","B5ADOF12RDT","B5ADOF12V ", & + "B5ADOF12WVS","B5ADOF13A ","B5ADOF13ADD","B5ADOF13D ","B5ADOF13HDS","B5ADOF13RDT","B5ADOF13V ", & + "B5ADOF13WVS","B5ADOF14A ","B5ADOF14ADD","B5ADOF14D ","B5ADOF14HDS","B5ADOF14RDT","B5ADOF14V ", & + "B5ADOF14WVS","B5ADOF15A ","B5ADOF15ADD","B5ADOF15D ","B5ADOF15HDS","B5ADOF15RDT","B5ADOF15V ", & + "B5ADOF15WVS","B5ADOF16A ","B5ADOF16ADD","B5ADOF16D ","B5ADOF16HDS","B5ADOF16RDT","B5ADOF16V ", & + "B5ADOF16WVS","B5ADOF17A ","B5ADOF17ADD","B5ADOF17D ","B5ADOF17HDS","B5ADOF17RDT","B5ADOF17V ", & + "B5ADOF17WVS","B5ADOF18A ","B5ADOF18ADD","B5ADOF18D ","B5ADOF18HDS","B5ADOF18RDT","B5ADOF18V ", & + "B5ADOF18WVS","B5ADOF19A ","B5ADOF19ADD","B5ADOF19D ","B5ADOF19HDS","B5ADOF19RDT","B5ADOF19V ", & + "B5ADOF19WVS","B5ADOF1A ","B5ADOF1ADD ","B5ADOF1D ","B5ADOF1HDS ","B5ADOF1RDT ","B5ADOF1V ", & + "B5ADOF1WVS ","B5ADOF20A ","B5ADOF20ADD","B5ADOF20D ","B5ADOF20HDS","B5ADOF20RDT","B5ADOF20V ", & + "B5ADOF20WVS","B5ADOF21A ","B5ADOF21ADD","B5ADOF21D ","B5ADOF21HDS","B5ADOF21RDT","B5ADOF21V ", & + "B5ADOF21WVS","B5ADOF22A ","B5ADOF22ADD","B5ADOF22D ","B5ADOF22HDS","B5ADOF22RDT","B5ADOF22V ", & + "B5ADOF22WVS","B5ADOF23A ","B5ADOF23ADD","B5ADOF23D ","B5ADOF23HDS","B5ADOF23RDT","B5ADOF23V ", & + "B5ADOF23WVS","B5ADOF24A ","B5ADOF24ADD","B5ADOF24D ","B5ADOF24HDS","B5ADOF24RDT","B5ADOF24V ", & + "B5ADOF24WVS","B5ADOF25A ","B5ADOF25ADD","B5ADOF25D ","B5ADOF25HDS","B5ADOF25RDT","B5ADOF25V ", & + "B5ADOF25WVS","B5ADOF26A ","B5ADOF26ADD","B5ADOF26D ","B5ADOF26HDS","B5ADOF26RDT","B5ADOF26V ", & + "B5ADOF26WVS","B5ADOF27A ","B5ADOF27ADD","B5ADOF27D ","B5ADOF27HDS","B5ADOF27RDT","B5ADOF27V ", & + "B5ADOF27WVS","B5ADOF28A ","B5ADOF28ADD","B5ADOF28D ","B5ADOF28HDS","B5ADOF28RDT","B5ADOF28V ", & + "B5ADOF28WVS","B5ADOF29A ","B5ADOF29ADD","B5ADOF29D ","B5ADOF29HDS","B5ADOF29RDT","B5ADOF29V ", & + "B5ADOF29WVS","B5ADOF2A ","B5ADOF2ADD ","B5ADOF2D ","B5ADOF2HDS ","B5ADOF2RDT ","B5ADOF2V ", & + "B5ADOF2WVS ","B5ADOF30A ","B5ADOF30ADD","B5ADOF30D ","B5ADOF30HDS","B5ADOF30RDT","B5ADOF30V ", & + "B5ADOF30WVS","B5ADOF31A ","B5ADOF31ADD","B5ADOF31D ","B5ADOF31HDS","B5ADOF31RDT","B5ADOF31V ", & + "B5ADOF31WVS","B5ADOF32A ","B5ADOF32ADD","B5ADOF32D ","B5ADOF32HDS","B5ADOF32RDT","B5ADOF32V ", & + "B5ADOF32WVS","B5ADOF33A ","B5ADOF33ADD","B5ADOF33D ","B5ADOF33HDS","B5ADOF33RDT","B5ADOF33V ", & + "B5ADOF33WVS","B5ADOF34A ","B5ADOF34ADD","B5ADOF34D ","B5ADOF34HDS","B5ADOF34RDT","B5ADOF34V ", & + "B5ADOF34WVS","B5ADOF35A ","B5ADOF35ADD","B5ADOF35D ","B5ADOF35HDS","B5ADOF35RDT","B5ADOF35V ", & + "B5ADOF35WVS","B5ADOF36A ","B5ADOF36ADD","B5ADOF36D ","B5ADOF36HDS","B5ADOF36RDT","B5ADOF36V ", & + "B5ADOF36WVS","B5ADOF37A ","B5ADOF37ADD","B5ADOF37D ","B5ADOF37HDS","B5ADOF37RDT","B5ADOF37V ", & + "B5ADOF37WVS","B5ADOF38A ","B5ADOF38ADD","B5ADOF38D ","B5ADOF38HDS","B5ADOF38RDT","B5ADOF38V ", & + "B5ADOF38WVS","B5ADOF39A ","B5ADOF39ADD","B5ADOF39D ","B5ADOF39HDS","B5ADOF39RDT","B5ADOF39V ", & + "B5ADOF39WVS","B5ADOF3A ","B5ADOF3ADD ","B5ADOF3D ","B5ADOF3HDS ","B5ADOF3RDT ","B5ADOF3V ", & + "B5ADOF3WVS ","B5ADOF40A ","B5ADOF40ADD","B5ADOF40D ","B5ADOF40HDS","B5ADOF40RDT","B5ADOF40V ", & + "B5ADOF40WVS","B5ADOF41A ","B5ADOF41ADD","B5ADOF41D ","B5ADOF41HDS","B5ADOF41RDT","B5ADOF41V ", & + "B5ADOF41WVS","B5ADOF42A ","B5ADOF42ADD","B5ADOF42D ","B5ADOF42HDS","B5ADOF42RDT","B5ADOF42V ", & + "B5ADOF42WVS","B5ADOF43A ","B5ADOF43ADD","B5ADOF43D ","B5ADOF43HDS","B5ADOF43RDT","B5ADOF43V ", & + "B5ADOF43WVS","B5ADOF44A ","B5ADOF44ADD","B5ADOF44D ","B5ADOF44HDS","B5ADOF44RDT","B5ADOF44V ", & + "B5ADOF44WVS","B5ADOF45A ","B5ADOF45ADD","B5ADOF45D ","B5ADOF45HDS","B5ADOF45RDT","B5ADOF45V ", & + "B5ADOF45WVS","B5ADOF46A ","B5ADOF46ADD","B5ADOF46D ","B5ADOF46HDS","B5ADOF46RDT","B5ADOF46V ", & + "B5ADOF46WVS","B5ADOF47A ","B5ADOF47ADD","B5ADOF47D ","B5ADOF47HDS","B5ADOF47RDT","B5ADOF47V ", & + "B5ADOF47WVS","B5ADOF48A ","B5ADOF48ADD","B5ADOF48D ","B5ADOF48HDS","B5ADOF48RDT","B5ADOF48V ", & + "B5ADOF48WVS","B5ADOF49A ","B5ADOF49ADD","B5ADOF49D ","B5ADOF49HDS","B5ADOF49RDT","B5ADOF49V ", & + "B5ADOF49WVS","B5ADOF4A ","B5ADOF4ADD ","B5ADOF4D ","B5ADOF4HDS ","B5ADOF4RDT ","B5ADOF4V ", & + "B5ADOF4WVS ","B5ADOF50A ","B5ADOF50ADD","B5ADOF50D ","B5ADOF50HDS","B5ADOF50RDT","B5ADOF50V ", & + "B5ADOF50WVS","B5ADOF51A ","B5ADOF51ADD","B5ADOF51D ","B5ADOF51HDS","B5ADOF51RDT","B5ADOF51V ", & + "B5ADOF51WVS","B5ADOF52A ","B5ADOF52ADD","B5ADOF52D ","B5ADOF52HDS","B5ADOF52RDT","B5ADOF52V ", & + "B5ADOF52WVS","B5ADOF53A ","B5ADOF53ADD","B5ADOF53D ","B5ADOF53HDS","B5ADOF53RDT","B5ADOF53V ", & + "B5ADOF53WVS","B5ADOF54A ","B5ADOF54ADD","B5ADOF54D ","B5ADOF54HDS","B5ADOF54RDT","B5ADOF54V ", & + "B5ADOF54WVS","B5ADOF55A ","B5ADOF55ADD","B5ADOF55D ","B5ADOF55HDS","B5ADOF55RDT","B5ADOF55V ", & + "B5ADOF55WVS","B5ADOF56A ","B5ADOF56ADD","B5ADOF56D ","B5ADOF56HDS","B5ADOF56RDT","B5ADOF56V ", & + "B5ADOF56WVS","B5ADOF57A ","B5ADOF57ADD","B5ADOF57D ","B5ADOF57HDS","B5ADOF57RDT","B5ADOF57V ", & + "B5ADOF57WVS","B5ADOF58A ","B5ADOF58ADD","B5ADOF58D ","B5ADOF58HDS","B5ADOF58RDT","B5ADOF58V ", & + "B5ADOF58WVS","B5ADOF59A ","B5ADOF59ADD","B5ADOF59D ","B5ADOF59HDS","B5ADOF59RDT","B5ADOF59V ", & + "B5ADOF59WVS","B5ADOF5A ","B5ADOF5ADD ","B5ADOF5D ","B5ADOF5HDS ","B5ADOF5RDT ","B5ADOF5V "/) + CHARACTER(OutStrLenM1), PARAMETER :: ValidParamAry3(1701) = (/ & ! This lists the names of the allowed parameters, which must be sorted alphabetically + "B5ADOF5WVS ","B5ADOF60A ","B5ADOF60ADD","B5ADOF60D ","B5ADOF60HDS","B5ADOF60RDT","B5ADOF60V ", & + "B5ADOF60WVS","B5ADOF61A ","B5ADOF61ADD","B5ADOF61D ","B5ADOF61HDS","B5ADOF61RDT","B5ADOF61V ", & + "B5ADOF61WVS","B5ADOF62A ","B5ADOF62ADD","B5ADOF62D ","B5ADOF62HDS","B5ADOF62RDT","B5ADOF62V ", & + "B5ADOF62WVS","B5ADOF63A ","B5ADOF63ADD","B5ADOF63D ","B5ADOF63HDS","B5ADOF63RDT","B5ADOF63V ", & + "B5ADOF63WVS","B5ADOF64A ","B5ADOF64ADD","B5ADOF64D ","B5ADOF64HDS","B5ADOF64RDT","B5ADOF64V ", & + "B5ADOF64WVS","B5ADOF65A ","B5ADOF65ADD","B5ADOF65D ","B5ADOF65HDS","B5ADOF65RDT","B5ADOF65V ", & + "B5ADOF65WVS","B5ADOF66A ","B5ADOF66ADD","B5ADOF66D ","B5ADOF66HDS","B5ADOF66RDT","B5ADOF66V ", & + "B5ADOF66WVS","B5ADOF67A ","B5ADOF67ADD","B5ADOF67D ","B5ADOF67HDS","B5ADOF67RDT","B5ADOF67V ", & + "B5ADOF67WVS","B5ADOF68A ","B5ADOF68ADD","B5ADOF68D ","B5ADOF68HDS","B5ADOF68RDT","B5ADOF68V ", & + "B5ADOF68WVS","B5ADOF69A ","B5ADOF69ADD","B5ADOF69D ","B5ADOF69HDS","B5ADOF69RDT","B5ADOF69V ", & + "B5ADOF69WVS","B5ADOF6A ","B5ADOF6ADD ","B5ADOF6D ","B5ADOF6HDS ","B5ADOF6RDT ","B5ADOF6V ", & + "B5ADOF6WVS ","B5ADOF70A ","B5ADOF70ADD","B5ADOF70D ","B5ADOF70HDS","B5ADOF70RDT","B5ADOF70V ", & + "B5ADOF70WVS","B5ADOF71A ","B5ADOF71ADD","B5ADOF71D ","B5ADOF71HDS","B5ADOF71RDT","B5ADOF71V ", & + "B5ADOF71WVS","B5ADOF72A ","B5ADOF72ADD","B5ADOF72D ","B5ADOF72HDS","B5ADOF72RDT","B5ADOF72V ", & + "B5ADOF72WVS","B5ADOF73A ","B5ADOF73ADD","B5ADOF73D ","B5ADOF73HDS","B5ADOF73RDT","B5ADOF73V ", & + "B5ADOF73WVS","B5ADOF74A ","B5ADOF74ADD","B5ADOF74D ","B5ADOF74HDS","B5ADOF74RDT","B5ADOF74V ", & + "B5ADOF74WVS","B5ADOF75A ","B5ADOF75ADD","B5ADOF75D ","B5ADOF75HDS","B5ADOF75RDT","B5ADOF75V ", & + "B5ADOF75WVS","B5ADOF76A ","B5ADOF76ADD","B5ADOF76D ","B5ADOF76HDS","B5ADOF76RDT","B5ADOF76V ", & + "B5ADOF76WVS","B5ADOF77A ","B5ADOF77ADD","B5ADOF77D ","B5ADOF77HDS","B5ADOF77RDT","B5ADOF77V ", & + "B5ADOF77WVS","B5ADOF78A ","B5ADOF78ADD","B5ADOF78D ","B5ADOF78HDS","B5ADOF78RDT","B5ADOF78V ", & + "B5ADOF78WVS","B5ADOF79A ","B5ADOF79ADD","B5ADOF79D ","B5ADOF79HDS","B5ADOF79RDT","B5ADOF79V ", & + "B5ADOF79WVS","B5ADOF7A ","B5ADOF7ADD ","B5ADOF7D ","B5ADOF7HDS ","B5ADOF7RDT ","B5ADOF7V ", & + "B5ADOF7WVS ","B5ADOF80A ","B5ADOF80ADD","B5ADOF80D ","B5ADOF80HDS","B5ADOF80RDT","B5ADOF80V ", & + "B5ADOF80WVS","B5ADOF81A ","B5ADOF81ADD","B5ADOF81D ","B5ADOF81HDS","B5ADOF81RDT","B5ADOF81V ", & + "B5ADOF81WVS","B5ADOF82A ","B5ADOF82ADD","B5ADOF82D ","B5ADOF82HDS","B5ADOF82RDT","B5ADOF82V ", & + "B5ADOF82WVS","B5ADOF83A ","B5ADOF83ADD","B5ADOF83D ","B5ADOF83HDS","B5ADOF83RDT","B5ADOF83V ", & + "B5ADOF83WVS","B5ADOF84A ","B5ADOF84ADD","B5ADOF84D ","B5ADOF84HDS","B5ADOF84RDT","B5ADOF84V ", & + "B5ADOF84WVS","B5ADOF85A ","B5ADOF85ADD","B5ADOF85D ","B5ADOF85HDS","B5ADOF85RDT","B5ADOF85V ", & + "B5ADOF85WVS","B5ADOF86A ","B5ADOF86ADD","B5ADOF86D ","B5ADOF86HDS","B5ADOF86RDT","B5ADOF86V ", & + "B5ADOF86WVS","B5ADOF87A ","B5ADOF87ADD","B5ADOF87D ","B5ADOF87HDS","B5ADOF87RDT","B5ADOF87V ", & + "B5ADOF87WVS","B5ADOF88A ","B5ADOF88ADD","B5ADOF88D ","B5ADOF88HDS","B5ADOF88RDT","B5ADOF88V ", & + "B5ADOF88WVS","B5ADOF89A ","B5ADOF89ADD","B5ADOF89D ","B5ADOF89HDS","B5ADOF89RDT","B5ADOF89V ", & + "B5ADOF89WVS","B5ADOF8A ","B5ADOF8ADD ","B5ADOF8D ","B5ADOF8HDS ","B5ADOF8RDT ","B5ADOF8V ", & + "B5ADOF8WVS ","B5ADOF90A ","B5ADOF90ADD","B5ADOF90D ","B5ADOF90HDS","B5ADOF90RDT","B5ADOF90V ", & + "B5ADOF90WVS","B5ADOF91A ","B5ADOF91ADD","B5ADOF91D ","B5ADOF91HDS","B5ADOF91RDT","B5ADOF91V ", & + "B5ADOF91WVS","B5ADOF92A ","B5ADOF92ADD","B5ADOF92D ","B5ADOF92HDS","B5ADOF92RDT","B5ADOF92V ", & + "B5ADOF92WVS","B5ADOF93A ","B5ADOF93ADD","B5ADOF93D ","B5ADOF93HDS","B5ADOF93RDT","B5ADOF93V ", & + "B5ADOF93WVS","B5ADOF94A ","B5ADOF94ADD","B5ADOF94D ","B5ADOF94HDS","B5ADOF94RDT","B5ADOF94V ", & + "B5ADOF94WVS","B5ADOF95A ","B5ADOF95ADD","B5ADOF95D ","B5ADOF95HDS","B5ADOF95RDT","B5ADOF95V ", & + "B5ADOF95WVS","B5ADOF96A ","B5ADOF96ADD","B5ADOF96D ","B5ADOF96HDS","B5ADOF96RDT","B5ADOF96V ", & + "B5ADOF96WVS","B5ADOF97A ","B5ADOF97ADD","B5ADOF97D ","B5ADOF97HDS","B5ADOF97RDT","B5ADOF97V ", & + "B5ADOF97WVS","B5ADOF98A ","B5ADOF98ADD","B5ADOF98D ","B5ADOF98HDS","B5ADOF98RDT","B5ADOF98V ", & + "B5ADOF98WVS","B5ADOF99A ","B5ADOF99ADD","B5ADOF99D ","B5ADOF99HDS","B5ADOF99RDT","B5ADOF99V ", & + "B5ADOF99WVS","B5ADOF9A ","B5ADOF9ADD ","B5ADOF9D ","B5ADOF9HDS ","B5ADOF9RDT ","B5ADOF9V ", & + "B5ADOF9WVS ","B5HDSFXI ","B5HDSFYI ","B5HDSFZI ","B5HDSMXI ","B5HDSMYI ","B5HDSMZI ", & + "B5HEAVE ","B5NFKFXI ","B5NFKFYI ","B5NFKFZI ","B5NFKMXI ","B5NFKMYI ","B5NFKMZI ", & + "B5PITCH ","B5RAXI ","B5RAYI ","B5RAZI ","B5RDTFXI ","B5RDTFYI ","B5RDTFZI ", & + "B5RDTMXI ","B5RDTMYI ","B5RDTMZI ","B5ROLL ","B5RVXI ","B5RVYI ","B5RVZI ", & + "B5SURGE ","B5SWAY ","B5TAXI ","B5TAYI ","B5TAZI ","B5TVXI ","B5TVYI ", & + "B5TVZI ","B5WVSF1XI ","B5WVSF1YI ","B5WVSF1ZI ","B5WVSF2XI ","B5WVSF2YI ","B5WVSF2ZI ", & + "B5WVSFXI ","B5WVSFYI ","B5WVSFZI ","B5WVSM1XI ","B5WVSM1YI ","B5WVSM1ZI ","B5WVSM2XI ", & + "B5WVSM2YI ","B5WVSM2ZI ","B5WVSMXI ","B5WVSMYI ","B5WVSMZI ","B5YAW ","B6ADDFXI ", & + "B6ADDFYI ","B6ADDFZI ","B6ADDMXI ","B6ADDMYI ","B6ADDMZI ","B6ADOF10A ","B6ADOF10ADD", & + "B6ADOF10D ","B6ADOF10HDS","B6ADOF10RDT","B6ADOF10V ","B6ADOF10WVS","B6ADOF11A ","B6ADOF11ADD", & + "B6ADOF11D ","B6ADOF11HDS","B6ADOF11RDT","B6ADOF11V ","B6ADOF11WVS","B6ADOF12A ","B6ADOF12ADD", & + "B6ADOF12D ","B6ADOF12HDS","B6ADOF12RDT","B6ADOF12V ","B6ADOF12WVS","B6ADOF13A ","B6ADOF13ADD", & + "B6ADOF13D ","B6ADOF13HDS","B6ADOF13RDT","B6ADOF13V ","B6ADOF13WVS","B6ADOF14A ","B6ADOF14ADD", & + "B6ADOF14D ","B6ADOF14HDS","B6ADOF14RDT","B6ADOF14V ","B6ADOF14WVS","B6ADOF15A ","B6ADOF15ADD", & + "B6ADOF15D ","B6ADOF15HDS","B6ADOF15RDT","B6ADOF15V ","B6ADOF15WVS","B6ADOF16A ","B6ADOF16ADD", & + "B6ADOF16D ","B6ADOF16HDS","B6ADOF16RDT","B6ADOF16V ","B6ADOF16WVS","B6ADOF17A ","B6ADOF17ADD", & + "B6ADOF17D ","B6ADOF17HDS","B6ADOF17RDT","B6ADOF17V ","B6ADOF17WVS","B6ADOF18A ","B6ADOF18ADD", & + "B6ADOF18D ","B6ADOF18HDS","B6ADOF18RDT","B6ADOF18V ","B6ADOF18WVS","B6ADOF19A ","B6ADOF19ADD", & + "B6ADOF19D ","B6ADOF19HDS","B6ADOF19RDT","B6ADOF19V ","B6ADOF19WVS","B6ADOF1A ","B6ADOF1ADD ", & + "B6ADOF1D ","B6ADOF1HDS ","B6ADOF1RDT ","B6ADOF1V ","B6ADOF1WVS ","B6ADOF20A ","B6ADOF20ADD", & + "B6ADOF20D ","B6ADOF20HDS","B6ADOF20RDT","B6ADOF20V ","B6ADOF20WVS","B6ADOF21A ","B6ADOF21ADD", & + "B6ADOF21D ","B6ADOF21HDS","B6ADOF21RDT","B6ADOF21V ","B6ADOF21WVS","B6ADOF22A ","B6ADOF22ADD", & + "B6ADOF22D ","B6ADOF22HDS","B6ADOF22RDT","B6ADOF22V ","B6ADOF22WVS","B6ADOF23A ","B6ADOF23ADD", & + "B6ADOF23D ","B6ADOF23HDS","B6ADOF23RDT","B6ADOF23V ","B6ADOF23WVS","B6ADOF24A ","B6ADOF24ADD", & + "B6ADOF24D ","B6ADOF24HDS","B6ADOF24RDT","B6ADOF24V ","B6ADOF24WVS","B6ADOF25A ","B6ADOF25ADD", & + "B6ADOF25D ","B6ADOF25HDS","B6ADOF25RDT","B6ADOF25V ","B6ADOF25WVS","B6ADOF26A ","B6ADOF26ADD", & + "B6ADOF26D ","B6ADOF26HDS","B6ADOF26RDT","B6ADOF26V ","B6ADOF26WVS","B6ADOF27A ","B6ADOF27ADD", & + "B6ADOF27D ","B6ADOF27HDS","B6ADOF27RDT","B6ADOF27V ","B6ADOF27WVS","B6ADOF28A ","B6ADOF28ADD", & + "B6ADOF28D ","B6ADOF28HDS","B6ADOF28RDT","B6ADOF28V ","B6ADOF28WVS","B6ADOF29A ","B6ADOF29ADD", & + "B6ADOF29D ","B6ADOF29HDS","B6ADOF29RDT","B6ADOF29V ","B6ADOF29WVS","B6ADOF2A ","B6ADOF2ADD ", & + "B6ADOF2D ","B6ADOF2HDS ","B6ADOF2RDT ","B6ADOF2V ","B6ADOF2WVS ","B6ADOF30A ","B6ADOF30ADD", & + "B6ADOF30D ","B6ADOF30HDS","B6ADOF30RDT","B6ADOF30V ","B6ADOF30WVS","B6ADOF31A ","B6ADOF31ADD", & + "B6ADOF31D ","B6ADOF31HDS","B6ADOF31RDT","B6ADOF31V ","B6ADOF31WVS","B6ADOF32A ","B6ADOF32ADD", & + "B6ADOF32D ","B6ADOF32HDS","B6ADOF32RDT","B6ADOF32V ","B6ADOF32WVS","B6ADOF33A ","B6ADOF33ADD", & + "B6ADOF33D ","B6ADOF33HDS","B6ADOF33RDT","B6ADOF33V ","B6ADOF33WVS","B6ADOF34A ","B6ADOF34ADD", & + "B6ADOF34D ","B6ADOF34HDS","B6ADOF34RDT","B6ADOF34V ","B6ADOF34WVS","B6ADOF35A ","B6ADOF35ADD", & + "B6ADOF35D ","B6ADOF35HDS","B6ADOF35RDT","B6ADOF35V ","B6ADOF35WVS","B6ADOF36A ","B6ADOF36ADD", & + "B6ADOF36D ","B6ADOF36HDS","B6ADOF36RDT","B6ADOF36V ","B6ADOF36WVS","B6ADOF37A ","B6ADOF37ADD", & + "B6ADOF37D ","B6ADOF37HDS","B6ADOF37RDT","B6ADOF37V ","B6ADOF37WVS","B6ADOF38A ","B6ADOF38ADD", & + "B6ADOF38D ","B6ADOF38HDS","B6ADOF38RDT","B6ADOF38V ","B6ADOF38WVS","B6ADOF39A ","B6ADOF39ADD", & + "B6ADOF39D ","B6ADOF39HDS","B6ADOF39RDT","B6ADOF39V ","B6ADOF39WVS","B6ADOF3A ","B6ADOF3ADD ", & + "B6ADOF3D ","B6ADOF3HDS ","B6ADOF3RDT ","B6ADOF3V ","B6ADOF3WVS ","B6ADOF40A ","B6ADOF40ADD", & + "B6ADOF40D ","B6ADOF40HDS","B6ADOF40RDT","B6ADOF40V ","B6ADOF40WVS","B6ADOF41A ","B6ADOF41ADD", & + "B6ADOF41D ","B6ADOF41HDS","B6ADOF41RDT","B6ADOF41V ","B6ADOF41WVS","B6ADOF42A ","B6ADOF42ADD", & + "B6ADOF42D ","B6ADOF42HDS","B6ADOF42RDT","B6ADOF42V ","B6ADOF42WVS","B6ADOF43A ","B6ADOF43ADD", & + "B6ADOF43D ","B6ADOF43HDS","B6ADOF43RDT","B6ADOF43V ","B6ADOF43WVS","B6ADOF44A ","B6ADOF44ADD", & + "B6ADOF44D ","B6ADOF44HDS","B6ADOF44RDT","B6ADOF44V ","B6ADOF44WVS","B6ADOF45A ","B6ADOF45ADD", & + "B6ADOF45D ","B6ADOF45HDS","B6ADOF45RDT","B6ADOF45V ","B6ADOF45WVS","B6ADOF46A ","B6ADOF46ADD", & + "B6ADOF46D ","B6ADOF46HDS","B6ADOF46RDT","B6ADOF46V ","B6ADOF46WVS","B6ADOF47A ","B6ADOF47ADD", & + "B6ADOF47D ","B6ADOF47HDS","B6ADOF47RDT","B6ADOF47V ","B6ADOF47WVS","B6ADOF48A ","B6ADOF48ADD", & + "B6ADOF48D ","B6ADOF48HDS","B6ADOF48RDT","B6ADOF48V ","B6ADOF48WVS","B6ADOF49A ","B6ADOF49ADD", & + "B6ADOF49D ","B6ADOF49HDS","B6ADOF49RDT","B6ADOF49V ","B6ADOF49WVS","B6ADOF4A ","B6ADOF4ADD ", & + "B6ADOF4D ","B6ADOF4HDS ","B6ADOF4RDT ","B6ADOF4V ","B6ADOF4WVS ","B6ADOF50A ","B6ADOF50ADD", & + "B6ADOF50D ","B6ADOF50HDS","B6ADOF50RDT","B6ADOF50V ","B6ADOF50WVS","B6ADOF51A ","B6ADOF51ADD", & + "B6ADOF51D ","B6ADOF51HDS","B6ADOF51RDT","B6ADOF51V ","B6ADOF51WVS","B6ADOF52A ","B6ADOF52ADD", & + "B6ADOF52D ","B6ADOF52HDS","B6ADOF52RDT","B6ADOF52V ","B6ADOF52WVS","B6ADOF53A ","B6ADOF53ADD", & + "B6ADOF53D ","B6ADOF53HDS","B6ADOF53RDT","B6ADOF53V ","B6ADOF53WVS","B6ADOF54A ","B6ADOF54ADD", & + "B6ADOF54D ","B6ADOF54HDS","B6ADOF54RDT","B6ADOF54V ","B6ADOF54WVS","B6ADOF55A ","B6ADOF55ADD", & + "B6ADOF55D ","B6ADOF55HDS","B6ADOF55RDT","B6ADOF55V ","B6ADOF55WVS","B6ADOF56A ","B6ADOF56ADD", & + "B6ADOF56D ","B6ADOF56HDS","B6ADOF56RDT","B6ADOF56V ","B6ADOF56WVS","B6ADOF57A ","B6ADOF57ADD", & + "B6ADOF57D ","B6ADOF57HDS","B6ADOF57RDT","B6ADOF57V ","B6ADOF57WVS","B6ADOF58A ","B6ADOF58ADD", & + "B6ADOF58D ","B6ADOF58HDS","B6ADOF58RDT","B6ADOF58V ","B6ADOF58WVS","B6ADOF59A ","B6ADOF59ADD", & + "B6ADOF59D ","B6ADOF59HDS","B6ADOF59RDT","B6ADOF59V ","B6ADOF59WVS","B6ADOF5A ","B6ADOF5ADD ", & + "B6ADOF5D ","B6ADOF5HDS ","B6ADOF5RDT ","B6ADOF5V ","B6ADOF5WVS ","B6ADOF60A ","B6ADOF60ADD", & + "B6ADOF60D ","B6ADOF60HDS","B6ADOF60RDT","B6ADOF60V ","B6ADOF60WVS","B6ADOF61A ","B6ADOF61ADD", & + "B6ADOF61D ","B6ADOF61HDS","B6ADOF61RDT","B6ADOF61V ","B6ADOF61WVS","B6ADOF62A ","B6ADOF62ADD", & + "B6ADOF62D ","B6ADOF62HDS","B6ADOF62RDT","B6ADOF62V ","B6ADOF62WVS","B6ADOF63A ","B6ADOF63ADD", & + "B6ADOF63D ","B6ADOF63HDS","B6ADOF63RDT","B6ADOF63V ","B6ADOF63WVS","B6ADOF64A ","B6ADOF64ADD", & + "B6ADOF64D ","B6ADOF64HDS","B6ADOF64RDT","B6ADOF64V ","B6ADOF64WVS","B6ADOF65A ","B6ADOF65ADD", & + "B6ADOF65D ","B6ADOF65HDS","B6ADOF65RDT","B6ADOF65V ","B6ADOF65WVS","B6ADOF66A ","B6ADOF66ADD", & + "B6ADOF66D ","B6ADOF66HDS","B6ADOF66RDT","B6ADOF66V ","B6ADOF66WVS","B6ADOF67A ","B6ADOF67ADD", & + "B6ADOF67D ","B6ADOF67HDS","B6ADOF67RDT","B6ADOF67V ","B6ADOF67WVS","B6ADOF68A ","B6ADOF68ADD", & + "B6ADOF68D ","B6ADOF68HDS","B6ADOF68RDT","B6ADOF68V ","B6ADOF68WVS","B6ADOF69A ","B6ADOF69ADD", & + "B6ADOF69D ","B6ADOF69HDS","B6ADOF69RDT","B6ADOF69V ","B6ADOF69WVS","B6ADOF6A ","B6ADOF6ADD ", & + "B6ADOF6D ","B6ADOF6HDS ","B6ADOF6RDT ","B6ADOF6V ","B6ADOF6WVS ","B6ADOF70A ","B6ADOF70ADD", & + "B6ADOF70D ","B6ADOF70HDS","B6ADOF70RDT","B6ADOF70V ","B6ADOF70WVS","B6ADOF71A ","B6ADOF71ADD", & + "B6ADOF71D ","B6ADOF71HDS","B6ADOF71RDT","B6ADOF71V ","B6ADOF71WVS","B6ADOF72A ","B6ADOF72ADD", & + "B6ADOF72D ","B6ADOF72HDS","B6ADOF72RDT","B6ADOF72V ","B6ADOF72WVS","B6ADOF73A ","B6ADOF73ADD", & + "B6ADOF73D ","B6ADOF73HDS","B6ADOF73RDT","B6ADOF73V ","B6ADOF73WVS","B6ADOF74A ","B6ADOF74ADD", & + "B6ADOF74D ","B6ADOF74HDS","B6ADOF74RDT","B6ADOF74V ","B6ADOF74WVS","B6ADOF75A ","B6ADOF75ADD", & + "B6ADOF75D ","B6ADOF75HDS","B6ADOF75RDT","B6ADOF75V ","B6ADOF75WVS","B6ADOF76A ","B6ADOF76ADD", & + "B6ADOF76D ","B6ADOF76HDS","B6ADOF76RDT","B6ADOF76V ","B6ADOF76WVS","B6ADOF77A ","B6ADOF77ADD", & + "B6ADOF77D ","B6ADOF77HDS","B6ADOF77RDT","B6ADOF77V ","B6ADOF77WVS","B6ADOF78A ","B6ADOF78ADD", & + "B6ADOF78D ","B6ADOF78HDS","B6ADOF78RDT","B6ADOF78V ","B6ADOF78WVS","B6ADOF79A ","B6ADOF79ADD", & + "B6ADOF79D ","B6ADOF79HDS","B6ADOF79RDT","B6ADOF79V ","B6ADOF79WVS","B6ADOF7A ","B6ADOF7ADD ", & + "B6ADOF7D ","B6ADOF7HDS ","B6ADOF7RDT ","B6ADOF7V ","B6ADOF7WVS ","B6ADOF80A ","B6ADOF80ADD", & + "B6ADOF80D ","B6ADOF80HDS","B6ADOF80RDT","B6ADOF80V ","B6ADOF80WVS","B6ADOF81A ","B6ADOF81ADD", & + "B6ADOF81D ","B6ADOF81HDS","B6ADOF81RDT","B6ADOF81V ","B6ADOF81WVS","B6ADOF82A ","B6ADOF82ADD", & + "B6ADOF82D ","B6ADOF82HDS","B6ADOF82RDT","B6ADOF82V ","B6ADOF82WVS","B6ADOF83A ","B6ADOF83ADD", & + "B6ADOF83D ","B6ADOF83HDS","B6ADOF83RDT","B6ADOF83V ","B6ADOF83WVS","B6ADOF84A ","B6ADOF84ADD", & + "B6ADOF84D ","B6ADOF84HDS","B6ADOF84RDT","B6ADOF84V ","B6ADOF84WVS","B6ADOF85A ","B6ADOF85ADD", & + "B6ADOF85D ","B6ADOF85HDS","B6ADOF85RDT","B6ADOF85V ","B6ADOF85WVS","B6ADOF86A ","B6ADOF86ADD", & + "B6ADOF86D ","B6ADOF86HDS","B6ADOF86RDT","B6ADOF86V ","B6ADOF86WVS","B6ADOF87A ","B6ADOF87ADD", & + "B6ADOF87D ","B6ADOF87HDS","B6ADOF87RDT","B6ADOF87V ","B6ADOF87WVS","B6ADOF88A ","B6ADOF88ADD", & + "B6ADOF88D ","B6ADOF88HDS","B6ADOF88RDT","B6ADOF88V ","B6ADOF88WVS","B6ADOF89A ","B6ADOF89ADD", & + "B6ADOF89D ","B6ADOF89HDS","B6ADOF89RDT","B6ADOF89V ","B6ADOF89WVS","B6ADOF8A ","B6ADOF8ADD ", & + "B6ADOF8D ","B6ADOF8HDS ","B6ADOF8RDT ","B6ADOF8V ","B6ADOF8WVS ","B6ADOF90A ","B6ADOF90ADD", & + "B6ADOF90D ","B6ADOF90HDS","B6ADOF90RDT","B6ADOF90V ","B6ADOF90WVS","B6ADOF91A ","B6ADOF91ADD", & + "B6ADOF91D ","B6ADOF91HDS","B6ADOF91RDT","B6ADOF91V ","B6ADOF91WVS","B6ADOF92A ","B6ADOF92ADD", & + "B6ADOF92D ","B6ADOF92HDS","B6ADOF92RDT","B6ADOF92V ","B6ADOF92WVS","B6ADOF93A ","B6ADOF93ADD", & + "B6ADOF93D ","B6ADOF93HDS","B6ADOF93RDT","B6ADOF93V ","B6ADOF93WVS","B6ADOF94A ","B6ADOF94ADD", & + "B6ADOF94D ","B6ADOF94HDS","B6ADOF94RDT","B6ADOF94V ","B6ADOF94WVS","B6ADOF95A ","B6ADOF95ADD", & + "B6ADOF95D ","B6ADOF95HDS","B6ADOF95RDT","B6ADOF95V ","B6ADOF95WVS","B6ADOF96A ","B6ADOF96ADD", & + "B6ADOF96D ","B6ADOF96HDS","B6ADOF96RDT","B6ADOF96V ","B6ADOF96WVS","B6ADOF97A ","B6ADOF97ADD", & + "B6ADOF97D ","B6ADOF97HDS","B6ADOF97RDT","B6ADOF97V ","B6ADOF97WVS","B6ADOF98A ","B6ADOF98ADD", & + "B6ADOF98D ","B6ADOF98HDS","B6ADOF98RDT","B6ADOF98V ","B6ADOF98WVS","B6ADOF99A ","B6ADOF99ADD", & + "B6ADOF99D ","B6ADOF99HDS","B6ADOF99RDT","B6ADOF99V ","B6ADOF99WVS","B6ADOF9A ","B6ADOF9ADD ", & + "B6ADOF9D ","B6ADOF9HDS ","B6ADOF9RDT ","B6ADOF9V ","B6ADOF9WVS ","B6HDSFXI ","B6HDSFYI ", & + "B6HDSFZI ","B6HDSMXI ","B6HDSMYI ","B6HDSMZI ","B6HEAVE ","B6NFKFXI ","B6NFKFYI ", & + "B6NFKFZI ","B6NFKMXI ","B6NFKMYI ","B6NFKMZI ","B6PITCH ","B6RAXI ","B6RAYI ", & + "B6RAZI ","B6RDTFXI ","B6RDTFYI ","B6RDTFZI ","B6RDTMXI ","B6RDTMYI ","B6RDTMZI ", & + "B6ROLL ","B6RVXI ","B6RVYI ","B6RVZI ","B6SURGE ","B6SWAY ","B6TAXI ", & + "B6TAYI ","B6TAZI ","B6TVXI ","B6TVYI ","B6TVZI ","B6WVSF1XI ","B6WVSF1YI ", & + "B6WVSF1ZI ","B6WVSF2XI ","B6WVSF2YI ","B6WVSF2ZI ","B6WVSFXI ","B6WVSFYI ","B6WVSFZI ", & + "B6WVSM1XI ","B6WVSM1YI ","B6WVSM1ZI ","B6WVSM2XI ","B6WVSM2YI ","B6WVSM2ZI ","B6WVSMXI ", & + "B6WVSMYI ","B6WVSMZI ","B6YAW ","B7ADDFXI ","B7ADDFYI ","B7ADDFZI ","B7ADDMXI ", & + "B7ADDMYI ","B7ADDMZI ","B7ADOF10A ","B7ADOF10ADD","B7ADOF10D ","B7ADOF10HDS","B7ADOF10RDT", & + "B7ADOF10V ","B7ADOF10WVS","B7ADOF11A ","B7ADOF11ADD","B7ADOF11D ","B7ADOF11HDS","B7ADOF11RDT", & + "B7ADOF11V ","B7ADOF11WVS","B7ADOF12A ","B7ADOF12ADD","B7ADOF12D ","B7ADOF12HDS","B7ADOF12RDT", & + "B7ADOF12V ","B7ADOF12WVS","B7ADOF13A ","B7ADOF13ADD","B7ADOF13D ","B7ADOF13HDS","B7ADOF13RDT", & + "B7ADOF13V ","B7ADOF13WVS","B7ADOF14A ","B7ADOF14ADD","B7ADOF14D ","B7ADOF14HDS","B7ADOF14RDT", & + "B7ADOF14V ","B7ADOF14WVS","B7ADOF15A ","B7ADOF15ADD","B7ADOF15D ","B7ADOF15HDS","B7ADOF15RDT", & + "B7ADOF15V ","B7ADOF15WVS","B7ADOF16A ","B7ADOF16ADD","B7ADOF16D ","B7ADOF16HDS","B7ADOF16RDT", & + "B7ADOF16V ","B7ADOF16WVS","B7ADOF17A ","B7ADOF17ADD","B7ADOF17D ","B7ADOF17HDS","B7ADOF17RDT", & + "B7ADOF17V ","B7ADOF17WVS","B7ADOF18A ","B7ADOF18ADD","B7ADOF18D ","B7ADOF18HDS","B7ADOF18RDT", & + "B7ADOF18V ","B7ADOF18WVS","B7ADOF19A ","B7ADOF19ADD","B7ADOF19D ","B7ADOF19HDS","B7ADOF19RDT", & + "B7ADOF19V ","B7ADOF19WVS","B7ADOF1A ","B7ADOF1ADD ","B7ADOF1D ","B7ADOF1HDS ","B7ADOF1RDT ", & + "B7ADOF1V ","B7ADOF1WVS ","B7ADOF20A ","B7ADOF20ADD","B7ADOF20D ","B7ADOF20HDS","B7ADOF20RDT", & + "B7ADOF20V ","B7ADOF20WVS","B7ADOF21A ","B7ADOF21ADD","B7ADOF21D ","B7ADOF21HDS","B7ADOF21RDT", & + "B7ADOF21V ","B7ADOF21WVS","B7ADOF22A ","B7ADOF22ADD","B7ADOF22D ","B7ADOF22HDS","B7ADOF22RDT", & + "B7ADOF22V ","B7ADOF22WVS","B7ADOF23A ","B7ADOF23ADD","B7ADOF23D ","B7ADOF23HDS","B7ADOF23RDT", & + "B7ADOF23V ","B7ADOF23WVS","B7ADOF24A ","B7ADOF24ADD","B7ADOF24D ","B7ADOF24HDS","B7ADOF24RDT", & + "B7ADOF24V ","B7ADOF24WVS","B7ADOF25A ","B7ADOF25ADD","B7ADOF25D ","B7ADOF25HDS","B7ADOF25RDT", & + "B7ADOF25V ","B7ADOF25WVS","B7ADOF26A ","B7ADOF26ADD","B7ADOF26D ","B7ADOF26HDS","B7ADOF26RDT", & + "B7ADOF26V ","B7ADOF26WVS","B7ADOF27A ","B7ADOF27ADD","B7ADOF27D ","B7ADOF27HDS","B7ADOF27RDT", & + "B7ADOF27V ","B7ADOF27WVS","B7ADOF28A ","B7ADOF28ADD","B7ADOF28D ","B7ADOF28HDS","B7ADOF28RDT", & + "B7ADOF28V ","B7ADOF28WVS","B7ADOF29A ","B7ADOF29ADD","B7ADOF29D ","B7ADOF29HDS","B7ADOF29RDT", & + "B7ADOF29V ","B7ADOF29WVS","B7ADOF2A ","B7ADOF2ADD ","B7ADOF2D ","B7ADOF2HDS ","B7ADOF2RDT ", & + "B7ADOF2V ","B7ADOF2WVS ","B7ADOF30A ","B7ADOF30ADD","B7ADOF30D ","B7ADOF30HDS","B7ADOF30RDT", & + "B7ADOF30V ","B7ADOF30WVS","B7ADOF31A ","B7ADOF31ADD","B7ADOF31D ","B7ADOF31HDS","B7ADOF31RDT", & + "B7ADOF31V ","B7ADOF31WVS","B7ADOF32A ","B7ADOF32ADD","B7ADOF32D ","B7ADOF32HDS","B7ADOF32RDT", & + "B7ADOF32V ","B7ADOF32WVS","B7ADOF33A ","B7ADOF33ADD","B7ADOF33D ","B7ADOF33HDS","B7ADOF33RDT", & + "B7ADOF33V ","B7ADOF33WVS","B7ADOF34A ","B7ADOF34ADD","B7ADOF34D ","B7ADOF34HDS","B7ADOF34RDT", & + "B7ADOF34V ","B7ADOF34WVS","B7ADOF35A ","B7ADOF35ADD","B7ADOF35D ","B7ADOF35HDS","B7ADOF35RDT", & + "B7ADOF35V ","B7ADOF35WVS","B7ADOF36A ","B7ADOF36ADD","B7ADOF36D ","B7ADOF36HDS","B7ADOF36RDT", & + "B7ADOF36V ","B7ADOF36WVS","B7ADOF37A ","B7ADOF37ADD","B7ADOF37D ","B7ADOF37HDS","B7ADOF37RDT", & + "B7ADOF37V ","B7ADOF37WVS","B7ADOF38A ","B7ADOF38ADD","B7ADOF38D ","B7ADOF38HDS","B7ADOF38RDT", & + "B7ADOF38V ","B7ADOF38WVS","B7ADOF39A ","B7ADOF39ADD","B7ADOF39D ","B7ADOF39HDS","B7ADOF39RDT", & + "B7ADOF39V ","B7ADOF39WVS","B7ADOF3A ","B7ADOF3ADD ","B7ADOF3D ","B7ADOF3HDS ","B7ADOF3RDT ", & + "B7ADOF3V ","B7ADOF3WVS ","B7ADOF40A ","B7ADOF40ADD","B7ADOF40D ","B7ADOF40HDS","B7ADOF40RDT", & + "B7ADOF40V ","B7ADOF40WVS","B7ADOF41A ","B7ADOF41ADD","B7ADOF41D ","B7ADOF41HDS","B7ADOF41RDT", & + "B7ADOF41V ","B7ADOF41WVS","B7ADOF42A ","B7ADOF42ADD","B7ADOF42D ","B7ADOF42HDS","B7ADOF42RDT", & + "B7ADOF42V ","B7ADOF42WVS","B7ADOF43A ","B7ADOF43ADD","B7ADOF43D ","B7ADOF43HDS","B7ADOF43RDT", & + "B7ADOF43V ","B7ADOF43WVS","B7ADOF44A ","B7ADOF44ADD","B7ADOF44D ","B7ADOF44HDS","B7ADOF44RDT", & + "B7ADOF44V ","B7ADOF44WVS","B7ADOF45A ","B7ADOF45ADD","B7ADOF45D ","B7ADOF45HDS","B7ADOF45RDT", & + "B7ADOF45V ","B7ADOF45WVS","B7ADOF46A ","B7ADOF46ADD","B7ADOF46D ","B7ADOF46HDS","B7ADOF46RDT", & + "B7ADOF46V ","B7ADOF46WVS","B7ADOF47A ","B7ADOF47ADD","B7ADOF47D ","B7ADOF47HDS","B7ADOF47RDT", & + "B7ADOF47V ","B7ADOF47WVS","B7ADOF48A ","B7ADOF48ADD","B7ADOF48D ","B7ADOF48HDS","B7ADOF48RDT", & + "B7ADOF48V ","B7ADOF48WVS","B7ADOF49A ","B7ADOF49ADD","B7ADOF49D ","B7ADOF49HDS","B7ADOF49RDT", & + "B7ADOF49V ","B7ADOF49WVS","B7ADOF4A ","B7ADOF4ADD ","B7ADOF4D ","B7ADOF4HDS ","B7ADOF4RDT ", & + "B7ADOF4V ","B7ADOF4WVS ","B7ADOF50A ","B7ADOF50ADD","B7ADOF50D ","B7ADOF50HDS","B7ADOF50RDT", & + "B7ADOF50V ","B7ADOF50WVS","B7ADOF51A ","B7ADOF51ADD","B7ADOF51D ","B7ADOF51HDS","B7ADOF51RDT", & + "B7ADOF51V ","B7ADOF51WVS","B7ADOF52A ","B7ADOF52ADD","B7ADOF52D ","B7ADOF52HDS","B7ADOF52RDT", & + "B7ADOF52V ","B7ADOF52WVS","B7ADOF53A ","B7ADOF53ADD","B7ADOF53D ","B7ADOF53HDS","B7ADOF53RDT", & + "B7ADOF53V ","B7ADOF53WVS","B7ADOF54A ","B7ADOF54ADD","B7ADOF54D ","B7ADOF54HDS","B7ADOF54RDT", & + "B7ADOF54V ","B7ADOF54WVS","B7ADOF55A ","B7ADOF55ADD","B7ADOF55D ","B7ADOF55HDS","B7ADOF55RDT", & + "B7ADOF55V ","B7ADOF55WVS","B7ADOF56A ","B7ADOF56ADD","B7ADOF56D ","B7ADOF56HDS","B7ADOF56RDT", & + "B7ADOF56V ","B7ADOF56WVS","B7ADOF57A ","B7ADOF57ADD","B7ADOF57D ","B7ADOF57HDS","B7ADOF57RDT", & + "B7ADOF57V ","B7ADOF57WVS","B7ADOF58A ","B7ADOF58ADD","B7ADOF58D ","B7ADOF58HDS","B7ADOF58RDT", & + "B7ADOF58V ","B7ADOF58WVS","B7ADOF59A ","B7ADOF59ADD","B7ADOF59D ","B7ADOF59HDS","B7ADOF59RDT", & + "B7ADOF59V ","B7ADOF59WVS","B7ADOF5A ","B7ADOF5ADD ","B7ADOF5D ","B7ADOF5HDS ","B7ADOF5RDT ", & + "B7ADOF5V ","B7ADOF5WVS ","B7ADOF60A ","B7ADOF60ADD","B7ADOF60D ","B7ADOF60HDS","B7ADOF60RDT", & + "B7ADOF60V ","B7ADOF60WVS","B7ADOF61A ","B7ADOF61ADD","B7ADOF61D ","B7ADOF61HDS","B7ADOF61RDT", & + "B7ADOF61V ","B7ADOF61WVS","B7ADOF62A ","B7ADOF62ADD","B7ADOF62D ","B7ADOF62HDS","B7ADOF62RDT", & + "B7ADOF62V ","B7ADOF62WVS","B7ADOF63A ","B7ADOF63ADD","B7ADOF63D ","B7ADOF63HDS","B7ADOF63RDT", & + "B7ADOF63V ","B7ADOF63WVS","B7ADOF64A ","B7ADOF64ADD","B7ADOF64D ","B7ADOF64HDS","B7ADOF64RDT", & + "B7ADOF64V ","B7ADOF64WVS","B7ADOF65A ","B7ADOF65ADD","B7ADOF65D ","B7ADOF65HDS","B7ADOF65RDT", & + "B7ADOF65V ","B7ADOF65WVS","B7ADOF66A ","B7ADOF66ADD","B7ADOF66D ","B7ADOF66HDS","B7ADOF66RDT", & + "B7ADOF66V ","B7ADOF66WVS","B7ADOF67A ","B7ADOF67ADD","B7ADOF67D ","B7ADOF67HDS","B7ADOF67RDT", & + "B7ADOF67V ","B7ADOF67WVS","B7ADOF68A ","B7ADOF68ADD","B7ADOF68D ","B7ADOF68HDS","B7ADOF68RDT", & + "B7ADOF68V ","B7ADOF68WVS","B7ADOF69A ","B7ADOF69ADD","B7ADOF69D ","B7ADOF69HDS","B7ADOF69RDT", & + "B7ADOF69V ","B7ADOF69WVS","B7ADOF6A ","B7ADOF6ADD ","B7ADOF6D ","B7ADOF6HDS ","B7ADOF6RDT ", & + "B7ADOF6V ","B7ADOF6WVS ","B7ADOF70A ","B7ADOF70ADD","B7ADOF70D ","B7ADOF70HDS","B7ADOF70RDT", & + "B7ADOF70V ","B7ADOF70WVS","B7ADOF71A ","B7ADOF71ADD","B7ADOF71D ","B7ADOF71HDS","B7ADOF71RDT", & + "B7ADOF71V ","B7ADOF71WVS","B7ADOF72A ","B7ADOF72ADD","B7ADOF72D ","B7ADOF72HDS","B7ADOF72RDT", & + "B7ADOF72V ","B7ADOF72WVS","B7ADOF73A ","B7ADOF73ADD","B7ADOF73D ","B7ADOF73HDS","B7ADOF73RDT", & + "B7ADOF73V ","B7ADOF73WVS","B7ADOF74A ","B7ADOF74ADD","B7ADOF74D ","B7ADOF74HDS","B7ADOF74RDT", & + "B7ADOF74V ","B7ADOF74WVS","B7ADOF75A ","B7ADOF75ADD","B7ADOF75D ","B7ADOF75HDS","B7ADOF75RDT", & + "B7ADOF75V ","B7ADOF75WVS","B7ADOF76A ","B7ADOF76ADD","B7ADOF76D ","B7ADOF76HDS","B7ADOF76RDT", & + "B7ADOF76V ","B7ADOF76WVS","B7ADOF77A ","B7ADOF77ADD","B7ADOF77D ","B7ADOF77HDS","B7ADOF77RDT", & + "B7ADOF77V ","B7ADOF77WVS","B7ADOF78A ","B7ADOF78ADD","B7ADOF78D ","B7ADOF78HDS","B7ADOF78RDT", & + "B7ADOF78V ","B7ADOF78WVS","B7ADOF79A ","B7ADOF79ADD","B7ADOF79D ","B7ADOF79HDS","B7ADOF79RDT", & + "B7ADOF79V ","B7ADOF79WVS","B7ADOF7A ","B7ADOF7ADD ","B7ADOF7D ","B7ADOF7HDS ","B7ADOF7RDT ", & + "B7ADOF7V ","B7ADOF7WVS ","B7ADOF80A ","B7ADOF80ADD","B7ADOF80D ","B7ADOF80HDS","B7ADOF80RDT", & + "B7ADOF80V ","B7ADOF80WVS","B7ADOF81A ","B7ADOF81ADD","B7ADOF81D ","B7ADOF81HDS","B7ADOF81RDT", & + "B7ADOF81V ","B7ADOF81WVS","B7ADOF82A ","B7ADOF82ADD","B7ADOF82D ","B7ADOF82HDS","B7ADOF82RDT", & + "B7ADOF82V ","B7ADOF82WVS","B7ADOF83A ","B7ADOF83ADD","B7ADOF83D ","B7ADOF83HDS","B7ADOF83RDT", & + "B7ADOF83V ","B7ADOF83WVS","B7ADOF84A ","B7ADOF84ADD","B7ADOF84D ","B7ADOF84HDS","B7ADOF84RDT", & + "B7ADOF84V ","B7ADOF84WVS","B7ADOF85A ","B7ADOF85ADD","B7ADOF85D ","B7ADOF85HDS","B7ADOF85RDT"/) + CHARACTER(OutStrLenM1), PARAMETER :: ValidParamAry4(1698) = (/ & ! This lists the names of the allowed parameters, which must be sorted alphabetically + "B7ADOF85V ","B7ADOF85WVS","B7ADOF86A ","B7ADOF86ADD","B7ADOF86D ","B7ADOF86HDS","B7ADOF86RDT", & + "B7ADOF86V ","B7ADOF86WVS","B7ADOF87A ","B7ADOF87ADD","B7ADOF87D ","B7ADOF87HDS","B7ADOF87RDT", & + "B7ADOF87V ","B7ADOF87WVS","B7ADOF88A ","B7ADOF88ADD","B7ADOF88D ","B7ADOF88HDS","B7ADOF88RDT", & + "B7ADOF88V ","B7ADOF88WVS","B7ADOF89A ","B7ADOF89ADD","B7ADOF89D ","B7ADOF89HDS","B7ADOF89RDT", & + "B7ADOF89V ","B7ADOF89WVS","B7ADOF8A ","B7ADOF8ADD ","B7ADOF8D ","B7ADOF8HDS ","B7ADOF8RDT ", & + "B7ADOF8V ","B7ADOF8WVS ","B7ADOF90A ","B7ADOF90ADD","B7ADOF90D ","B7ADOF90HDS","B7ADOF90RDT", & + "B7ADOF90V ","B7ADOF90WVS","B7ADOF91A ","B7ADOF91ADD","B7ADOF91D ","B7ADOF91HDS","B7ADOF91RDT", & + "B7ADOF91V ","B7ADOF91WVS","B7ADOF92A ","B7ADOF92ADD","B7ADOF92D ","B7ADOF92HDS","B7ADOF92RDT", & + "B7ADOF92V ","B7ADOF92WVS","B7ADOF93A ","B7ADOF93ADD","B7ADOF93D ","B7ADOF93HDS","B7ADOF93RDT", & + "B7ADOF93V ","B7ADOF93WVS","B7ADOF94A ","B7ADOF94ADD","B7ADOF94D ","B7ADOF94HDS","B7ADOF94RDT", & + "B7ADOF94V ","B7ADOF94WVS","B7ADOF95A ","B7ADOF95ADD","B7ADOF95D ","B7ADOF95HDS","B7ADOF95RDT", & + "B7ADOF95V ","B7ADOF95WVS","B7ADOF96A ","B7ADOF96ADD","B7ADOF96D ","B7ADOF96HDS","B7ADOF96RDT", & + "B7ADOF96V ","B7ADOF96WVS","B7ADOF97A ","B7ADOF97ADD","B7ADOF97D ","B7ADOF97HDS","B7ADOF97RDT", & + "B7ADOF97V ","B7ADOF97WVS","B7ADOF98A ","B7ADOF98ADD","B7ADOF98D ","B7ADOF98HDS","B7ADOF98RDT", & + "B7ADOF98V ","B7ADOF98WVS","B7ADOF99A ","B7ADOF99ADD","B7ADOF99D ","B7ADOF99HDS","B7ADOF99RDT", & + "B7ADOF99V ","B7ADOF99WVS","B7ADOF9A ","B7ADOF9ADD ","B7ADOF9D ","B7ADOF9HDS ","B7ADOF9RDT ", & + "B7ADOF9V ","B7ADOF9WVS ","B7HDSFXI ","B7HDSFYI ","B7HDSFZI ","B7HDSMXI ","B7HDSMYI ", & + "B7HDSMZI ","B7HEAVE ","B7NFKFXI ","B7NFKFYI ","B7NFKFZI ","B7NFKMXI ","B7NFKMYI ", & + "B7NFKMZI ","B7PITCH ","B7RAXI ","B7RAYI ","B7RAZI ","B7RDTFXI ","B7RDTFYI ", & "B7RDTFZI ","B7RDTMXI ","B7RDTMYI ","B7RDTMZI ","B7ROLL ","B7RVXI ","B7RVYI ", & "B7RVZI ","B7SURGE ","B7SWAY ","B7TAXI ","B7TAYI ","B7TAZI ","B7TVXI ", & "B7TVYI ","B7TVZI ","B7WVSF1XI ","B7WVSF1YI ","B7WVSF1ZI ","B7WVSF2XI ","B7WVSF2YI ", & @@ -8444,124 +8511,126 @@ MODULE HydroDyn_Output "B8ADOF98ADD","B8ADOF98D ","B8ADOF98HDS","B8ADOF98RDT","B8ADOF98V ","B8ADOF98WVS","B8ADOF99A ", & "B8ADOF99ADD","B8ADOF99D ","B8ADOF99HDS","B8ADOF99RDT","B8ADOF99V ","B8ADOF99WVS","B8ADOF9A ", & "B8ADOF9ADD ","B8ADOF9D ","B8ADOF9HDS ","B8ADOF9RDT ","B8ADOF9V ","B8ADOF9WVS ","B8HDSFXI ", & - "B8HDSFYI ","B8HDSFZI ","B8HDSMXI ","B8HDSMYI ","B8HDSMZI ","B8HEAVE ","B8PITCH ", & - "B8RAXI ","B8RAYI ","B8RAZI ","B8RDTFXI ","B8RDTFYI ","B8RDTFZI ","B8RDTMXI ", & - "B8RDTMYI ","B8RDTMZI ","B8ROLL ","B8RVXI ","B8RVYI ","B8RVZI ","B8SURGE ", & - "B8SWAY ","B8TAXI ","B8TAYI ","B8TAZI ","B8TVXI ","B8TVYI ","B8TVZI ", & - "B8WVSF1XI ","B8WVSF1YI ","B8WVSF1ZI ","B8WVSF2XI ","B8WVSF2YI ","B8WVSF2ZI ","B8WVSFXI ", & - "B8WVSFYI ","B8WVSFZI ","B8WVSM1XI ","B8WVSM1YI ","B8WVSM1ZI ","B8WVSM2XI ","B8WVSM2YI ", & - "B8WVSM2ZI ","B8WVSMXI ","B8WVSMYI ","B8WVSMZI ","B8YAW ","B9ADDFXI ","B9ADDFYI ", & - "B9ADDFZI ","B9ADDMXI ","B9ADDMYI ","B9ADDMZI ","B9ADOF10A ","B9ADOF10ADD","B9ADOF10D ", & - "B9ADOF10HDS","B9ADOF10RDT","B9ADOF10V ","B9ADOF10WVS","B9ADOF11A ","B9ADOF11ADD","B9ADOF11D ", & - "B9ADOF11HDS","B9ADOF11RDT","B9ADOF11V ","B9ADOF11WVS","B9ADOF12A ","B9ADOF12ADD","B9ADOF12D ", & - "B9ADOF12HDS","B9ADOF12RDT","B9ADOF12V ","B9ADOF12WVS","B9ADOF13A ","B9ADOF13ADD","B9ADOF13D ", & - "B9ADOF13HDS","B9ADOF13RDT","B9ADOF13V ","B9ADOF13WVS","B9ADOF14A ","B9ADOF14ADD","B9ADOF14D ", & - "B9ADOF14HDS","B9ADOF14RDT","B9ADOF14V ","B9ADOF14WVS","B9ADOF15A ","B9ADOF15ADD","B9ADOF15D ", & - "B9ADOF15HDS","B9ADOF15RDT","B9ADOF15V ","B9ADOF15WVS","B9ADOF16A ","B9ADOF16ADD","B9ADOF16D ", & - "B9ADOF16HDS","B9ADOF16RDT","B9ADOF16V ","B9ADOF16WVS","B9ADOF17A ","B9ADOF17ADD","B9ADOF17D ", & - "B9ADOF17HDS","B9ADOF17RDT","B9ADOF17V ","B9ADOF17WVS","B9ADOF18A ","B9ADOF18ADD","B9ADOF18D ", & - "B9ADOF18HDS","B9ADOF18RDT","B9ADOF18V ","B9ADOF18WVS","B9ADOF19A ","B9ADOF19ADD","B9ADOF19D ", & - "B9ADOF19HDS","B9ADOF19RDT","B9ADOF19V ","B9ADOF19WVS","B9ADOF1A ","B9ADOF1ADD ","B9ADOF1D ", & - "B9ADOF1HDS ","B9ADOF1RDT ","B9ADOF1V ","B9ADOF1WVS ","B9ADOF20A ","B9ADOF20ADD","B9ADOF20D ", & - "B9ADOF20HDS","B9ADOF20RDT","B9ADOF20V ","B9ADOF20WVS","B9ADOF21A ","B9ADOF21ADD","B9ADOF21D ", & - "B9ADOF21HDS","B9ADOF21RDT","B9ADOF21V ","B9ADOF21WVS","B9ADOF22A ","B9ADOF22ADD","B9ADOF22D ", & - "B9ADOF22HDS","B9ADOF22RDT","B9ADOF22V ","B9ADOF22WVS","B9ADOF23A ","B9ADOF23ADD","B9ADOF23D ", & - "B9ADOF23HDS","B9ADOF23RDT","B9ADOF23V ","B9ADOF23WVS","B9ADOF24A ","B9ADOF24ADD","B9ADOF24D ", & - "B9ADOF24HDS","B9ADOF24RDT","B9ADOF24V ","B9ADOF24WVS","B9ADOF25A ","B9ADOF25ADD","B9ADOF25D ", & - "B9ADOF25HDS","B9ADOF25RDT","B9ADOF25V ","B9ADOF25WVS","B9ADOF26A ","B9ADOF26ADD","B9ADOF26D ", & - "B9ADOF26HDS","B9ADOF26RDT","B9ADOF26V ","B9ADOF26WVS","B9ADOF27A ","B9ADOF27ADD","B9ADOF27D ", & - "B9ADOF27HDS","B9ADOF27RDT","B9ADOF27V ","B9ADOF27WVS","B9ADOF28A ","B9ADOF28ADD","B9ADOF28D ", & - "B9ADOF28HDS","B9ADOF28RDT","B9ADOF28V ","B9ADOF28WVS","B9ADOF29A ","B9ADOF29ADD","B9ADOF29D ", & - "B9ADOF29HDS","B9ADOF29RDT","B9ADOF29V ","B9ADOF29WVS","B9ADOF2A ","B9ADOF2ADD ","B9ADOF2D ", & - "B9ADOF2HDS ","B9ADOF2RDT ","B9ADOF2V ","B9ADOF2WVS ","B9ADOF30A ","B9ADOF30ADD","B9ADOF30D ", & - "B9ADOF30HDS","B9ADOF30RDT","B9ADOF30V ","B9ADOF30WVS","B9ADOF31A ","B9ADOF31ADD","B9ADOF31D ", & - "B9ADOF31HDS","B9ADOF31RDT","B9ADOF31V ","B9ADOF31WVS","B9ADOF32A ","B9ADOF32ADD","B9ADOF32D ", & - "B9ADOF32HDS","B9ADOF32RDT","B9ADOF32V ","B9ADOF32WVS","B9ADOF33A ","B9ADOF33ADD","B9ADOF33D ", & - "B9ADOF33HDS","B9ADOF33RDT","B9ADOF33V ","B9ADOF33WVS","B9ADOF34A ","B9ADOF34ADD","B9ADOF34D ", & - "B9ADOF34HDS","B9ADOF34RDT","B9ADOF34V ","B9ADOF34WVS","B9ADOF35A ","B9ADOF35ADD","B9ADOF35D ", & - "B9ADOF35HDS","B9ADOF35RDT","B9ADOF35V ","B9ADOF35WVS","B9ADOF36A ","B9ADOF36ADD","B9ADOF36D ", & - "B9ADOF36HDS","B9ADOF36RDT","B9ADOF36V ","B9ADOF36WVS","B9ADOF37A ","B9ADOF37ADD","B9ADOF37D ", & - "B9ADOF37HDS","B9ADOF37RDT","B9ADOF37V ","B9ADOF37WVS","B9ADOF38A ","B9ADOF38ADD","B9ADOF38D ", & - "B9ADOF38HDS","B9ADOF38RDT","B9ADOF38V ","B9ADOF38WVS","B9ADOF39A ","B9ADOF39ADD","B9ADOF39D ", & - "B9ADOF39HDS","B9ADOF39RDT","B9ADOF39V ","B9ADOF39WVS","B9ADOF3A ","B9ADOF3ADD ","B9ADOF3D ", & - "B9ADOF3HDS ","B9ADOF3RDT ","B9ADOF3V ","B9ADOF3WVS ","B9ADOF40A ","B9ADOF40ADD","B9ADOF40D ", & - "B9ADOF40HDS","B9ADOF40RDT","B9ADOF40V ","B9ADOF40WVS","B9ADOF41A ","B9ADOF41ADD","B9ADOF41D ", & - "B9ADOF41HDS","B9ADOF41RDT","B9ADOF41V ","B9ADOF41WVS","B9ADOF42A ","B9ADOF42ADD","B9ADOF42D ", & - "B9ADOF42HDS","B9ADOF42RDT","B9ADOF42V ","B9ADOF42WVS","B9ADOF43A ","B9ADOF43ADD","B9ADOF43D ", & - "B9ADOF43HDS","B9ADOF43RDT","B9ADOF43V ","B9ADOF43WVS","B9ADOF44A ","B9ADOF44ADD","B9ADOF44D ", & - "B9ADOF44HDS","B9ADOF44RDT","B9ADOF44V ","B9ADOF44WVS","B9ADOF45A ","B9ADOF45ADD","B9ADOF45D ", & - "B9ADOF45HDS","B9ADOF45RDT","B9ADOF45V ","B9ADOF45WVS","B9ADOF46A ","B9ADOF46ADD","B9ADOF46D ", & - "B9ADOF46HDS","B9ADOF46RDT","B9ADOF46V ","B9ADOF46WVS","B9ADOF47A ","B9ADOF47ADD","B9ADOF47D ", & - "B9ADOF47HDS","B9ADOF47RDT","B9ADOF47V ","B9ADOF47WVS","B9ADOF48A ","B9ADOF48ADD","B9ADOF48D ", & - "B9ADOF48HDS","B9ADOF48RDT","B9ADOF48V ","B9ADOF48WVS","B9ADOF49A ","B9ADOF49ADD","B9ADOF49D ", & - "B9ADOF49HDS","B9ADOF49RDT","B9ADOF49V ","B9ADOF49WVS","B9ADOF4A ","B9ADOF4ADD ","B9ADOF4D ", & - "B9ADOF4HDS ","B9ADOF4RDT ","B9ADOF4V ","B9ADOF4WVS ","B9ADOF50A ","B9ADOF50ADD","B9ADOF50D ", & - "B9ADOF50HDS","B9ADOF50RDT","B9ADOF50V ","B9ADOF50WVS","B9ADOF51A ","B9ADOF51ADD","B9ADOF51D ", & - "B9ADOF51HDS","B9ADOF51RDT","B9ADOF51V ","B9ADOF51WVS","B9ADOF52A ","B9ADOF52ADD","B9ADOF52D ", & - "B9ADOF52HDS","B9ADOF52RDT","B9ADOF52V ","B9ADOF52WVS","B9ADOF53A ","B9ADOF53ADD","B9ADOF53D ", & - "B9ADOF53HDS","B9ADOF53RDT","B9ADOF53V ","B9ADOF53WVS","B9ADOF54A ","B9ADOF54ADD","B9ADOF54D ", & - "B9ADOF54HDS","B9ADOF54RDT","B9ADOF54V ","B9ADOF54WVS","B9ADOF55A ","B9ADOF55ADD","B9ADOF55D ", & - "B9ADOF55HDS","B9ADOF55RDT","B9ADOF55V ","B9ADOF55WVS","B9ADOF56A ","B9ADOF56ADD","B9ADOF56D ", & - "B9ADOF56HDS","B9ADOF56RDT","B9ADOF56V ","B9ADOF56WVS","B9ADOF57A ","B9ADOF57ADD","B9ADOF57D ", & - "B9ADOF57HDS","B9ADOF57RDT","B9ADOF57V ","B9ADOF57WVS","B9ADOF58A ","B9ADOF58ADD","B9ADOF58D ", & - "B9ADOF58HDS","B9ADOF58RDT","B9ADOF58V ","B9ADOF58WVS","B9ADOF59A ","B9ADOF59ADD","B9ADOF59D ", & - "B9ADOF59HDS","B9ADOF59RDT","B9ADOF59V ","B9ADOF59WVS","B9ADOF5A ","B9ADOF5ADD ","B9ADOF5D ", & - "B9ADOF5HDS ","B9ADOF5RDT ","B9ADOF5V ","B9ADOF5WVS ","B9ADOF60A ","B9ADOF60ADD","B9ADOF60D ", & - "B9ADOF60HDS","B9ADOF60RDT","B9ADOF60V ","B9ADOF60WVS","B9ADOF61A ","B9ADOF61ADD","B9ADOF61D ", & - "B9ADOF61HDS","B9ADOF61RDT","B9ADOF61V ","B9ADOF61WVS","B9ADOF62A ","B9ADOF62ADD","B9ADOF62D ", & - "B9ADOF62HDS","B9ADOF62RDT","B9ADOF62V ","B9ADOF62WVS","B9ADOF63A ","B9ADOF63ADD","B9ADOF63D ", & - "B9ADOF63HDS","B9ADOF63RDT","B9ADOF63V ","B9ADOF63WVS","B9ADOF64A ","B9ADOF64ADD","B9ADOF64D ", & - "B9ADOF64HDS","B9ADOF64RDT","B9ADOF64V ","B9ADOF64WVS","B9ADOF65A ","B9ADOF65ADD","B9ADOF65D ", & - "B9ADOF65HDS","B9ADOF65RDT","B9ADOF65V ","B9ADOF65WVS","B9ADOF66A ","B9ADOF66ADD","B9ADOF66D ", & - "B9ADOF66HDS","B9ADOF66RDT","B9ADOF66V ","B9ADOF66WVS","B9ADOF67A ","B9ADOF67ADD","B9ADOF67D ", & - "B9ADOF67HDS","B9ADOF67RDT","B9ADOF67V ","B9ADOF67WVS","B9ADOF68A ","B9ADOF68ADD","B9ADOF68D ", & - "B9ADOF68HDS","B9ADOF68RDT","B9ADOF68V ","B9ADOF68WVS","B9ADOF69A ","B9ADOF69ADD","B9ADOF69D ", & - "B9ADOF69HDS","B9ADOF69RDT","B9ADOF69V ","B9ADOF69WVS","B9ADOF6A ","B9ADOF6ADD ","B9ADOF6D ", & - "B9ADOF6HDS ","B9ADOF6RDT ","B9ADOF6V ","B9ADOF6WVS ","B9ADOF70A ","B9ADOF70ADD","B9ADOF70D ", & - "B9ADOF70HDS","B9ADOF70RDT","B9ADOF70V ","B9ADOF70WVS","B9ADOF71A ","B9ADOF71ADD","B9ADOF71D ", & - "B9ADOF71HDS","B9ADOF71RDT","B9ADOF71V ","B9ADOF71WVS","B9ADOF72A ","B9ADOF72ADD","B9ADOF72D ", & - "B9ADOF72HDS","B9ADOF72RDT","B9ADOF72V ","B9ADOF72WVS","B9ADOF73A ","B9ADOF73ADD","B9ADOF73D ", & - "B9ADOF73HDS","B9ADOF73RDT","B9ADOF73V ","B9ADOF73WVS","B9ADOF74A ","B9ADOF74ADD","B9ADOF74D ", & - "B9ADOF74HDS","B9ADOF74RDT","B9ADOF74V ","B9ADOF74WVS","B9ADOF75A ","B9ADOF75ADD","B9ADOF75D ", & - "B9ADOF75HDS","B9ADOF75RDT","B9ADOF75V ","B9ADOF75WVS","B9ADOF76A ","B9ADOF76ADD","B9ADOF76D ", & - "B9ADOF76HDS","B9ADOF76RDT","B9ADOF76V ","B9ADOF76WVS","B9ADOF77A ","B9ADOF77ADD","B9ADOF77D ", & - "B9ADOF77HDS","B9ADOF77RDT","B9ADOF77V ","B9ADOF77WVS","B9ADOF78A ","B9ADOF78ADD","B9ADOF78D ", & - "B9ADOF78HDS","B9ADOF78RDT","B9ADOF78V ","B9ADOF78WVS","B9ADOF79A ","B9ADOF79ADD","B9ADOF79D ", & - "B9ADOF79HDS","B9ADOF79RDT","B9ADOF79V ","B9ADOF79WVS","B9ADOF7A ","B9ADOF7ADD ","B9ADOF7D ", & - "B9ADOF7HDS ","B9ADOF7RDT ","B9ADOF7V ","B9ADOF7WVS ","B9ADOF80A ","B9ADOF80ADD","B9ADOF80D ", & - "B9ADOF80HDS","B9ADOF80RDT","B9ADOF80V ","B9ADOF80WVS","B9ADOF81A ","B9ADOF81ADD","B9ADOF81D ", & - "B9ADOF81HDS","B9ADOF81RDT","B9ADOF81V ","B9ADOF81WVS","B9ADOF82A ","B9ADOF82ADD","B9ADOF82D ", & - "B9ADOF82HDS","B9ADOF82RDT","B9ADOF82V ","B9ADOF82WVS","B9ADOF83A ","B9ADOF83ADD","B9ADOF83D ", & - "B9ADOF83HDS","B9ADOF83RDT","B9ADOF83V ","B9ADOF83WVS","B9ADOF84A ","B9ADOF84ADD","B9ADOF84D ", & - "B9ADOF84HDS","B9ADOF84RDT","B9ADOF84V ","B9ADOF84WVS","B9ADOF85A ","B9ADOF85ADD","B9ADOF85D ", & - "B9ADOF85HDS","B9ADOF85RDT","B9ADOF85V ","B9ADOF85WVS","B9ADOF86A ","B9ADOF86ADD","B9ADOF86D ", & - "B9ADOF86HDS","B9ADOF86RDT","B9ADOF86V ","B9ADOF86WVS","B9ADOF87A ","B9ADOF87ADD","B9ADOF87D ", & - "B9ADOF87HDS","B9ADOF87RDT","B9ADOF87V ","B9ADOF87WVS","B9ADOF88A ","B9ADOF88ADD","B9ADOF88D ", & - "B9ADOF88HDS","B9ADOF88RDT","B9ADOF88V ","B9ADOF88WVS","B9ADOF89A ","B9ADOF89ADD","B9ADOF89D ", & - "B9ADOF89HDS","B9ADOF89RDT","B9ADOF89V ","B9ADOF89WVS","B9ADOF8A ","B9ADOF8ADD ","B9ADOF8D ", & - "B9ADOF8HDS ","B9ADOF8RDT ","B9ADOF8V ","B9ADOF8WVS ","B9ADOF90A ","B9ADOF90ADD","B9ADOF90D ", & - "B9ADOF90HDS","B9ADOF90RDT","B9ADOF90V ","B9ADOF90WVS","B9ADOF91A ","B9ADOF91ADD","B9ADOF91D ", & - "B9ADOF91HDS","B9ADOF91RDT","B9ADOF91V ","B9ADOF91WVS","B9ADOF92A ","B9ADOF92ADD","B9ADOF92D ", & - "B9ADOF92HDS","B9ADOF92RDT","B9ADOF92V ","B9ADOF92WVS","B9ADOF93A ","B9ADOF93ADD","B9ADOF93D ", & - "B9ADOF93HDS","B9ADOF93RDT","B9ADOF93V ","B9ADOF93WVS","B9ADOF94A ","B9ADOF94ADD","B9ADOF94D ", & - "B9ADOF94HDS","B9ADOF94RDT","B9ADOF94V ","B9ADOF94WVS","B9ADOF95A ","B9ADOF95ADD","B9ADOF95D ", & - "B9ADOF95HDS","B9ADOF95RDT","B9ADOF95V ","B9ADOF95WVS","B9ADOF96A ","B9ADOF96ADD","B9ADOF96D ", & - "B9ADOF96HDS","B9ADOF96RDT","B9ADOF96V ","B9ADOF96WVS","B9ADOF97A ","B9ADOF97ADD","B9ADOF97D ", & - "B9ADOF97HDS","B9ADOF97RDT","B9ADOF97V ","B9ADOF97WVS","B9ADOF98A ","B9ADOF98ADD","B9ADOF98D ", & - "B9ADOF98HDS","B9ADOF98RDT","B9ADOF98V ","B9ADOF98WVS","B9ADOF99A ","B9ADOF99ADD","B9ADOF99D ", & - "B9ADOF99HDS","B9ADOF99RDT","B9ADOF99V ","B9ADOF99WVS","B9ADOF9A ","B9ADOF9ADD ","B9ADOF9D ", & - "B9ADOF9HDS ","B9ADOF9RDT ","B9ADOF9V ","B9ADOF9WVS ","B9HDSFXI ","B9HDSFYI ","B9HDSFZI ", & - "B9HDSMXI ","B9HDSMYI ","B9HDSMZI ","B9HEAVE ","B9PITCH ","B9RAXI ","B9RAYI ", & - "B9RAZI ","B9RDTFXI ","B9RDTFYI ","B9RDTFZI ","B9RDTMXI ","B9RDTMYI ","B9RDTMZI ", & - "B9ROLL ","B9RVXI ","B9RVYI ","B9RVZI ","B9SURGE ","B9SWAY ","B9TAXI ", & - "B9TAYI ","B9TAZI ","B9TVXI ","B9TVYI ","B9TVZI ","B9WVSF1XI ","B9WVSF1YI ", & - "B9WVSF1ZI ","B9WVSF2XI ","B9WVSF2YI ","B9WVSF2ZI ","B9WVSFXI ","B9WVSFYI ","B9WVSFZI ", & - "B9WVSM1XI ","B9WVSM1YI ","B9WVSM1ZI ","B9WVSM2XI ","B9WVSM2YI ","B9WVSM2ZI ","B9WVSMXI ", & - "B9WVSMYI ","B9WVSMZI ","B9YAW ","HYDROFXI ","HYDROFYI ","HYDROFZI ","HYDROMXI ", & - "HYDROMYI ","HYDROMZI ","PRPHEAVE ","PRPPITCH ","PRPRAXI ","PRPRAYI ","PRPRAZI ", & - "PRPROLL ","PRPRVXI ","PRPRVYI ","PRPRVZI ","PRPSURGE ","PRPSWAY ","PRPTAXI ", & - "PRPTAYI ","PRPTAZI ","PRPTVXI ","PRPTVYI ","PRPTVZI ","PRPYAW "/) - CHARACTER(OutStrLenM1), PARAMETER :: ValidParamAry(6747) = (/ & ! This lists the names of the allowed parameters, which must be sorted alphabetically + "B8HDSFYI ","B8HDSFZI ","B8HDSMXI ","B8HDSMYI ","B8HDSMZI ","B8HEAVE ","B8NFKFXI ", & + "B8NFKFYI ","B8NFKFZI ","B8NFKMXI ","B8NFKMYI ","B8NFKMZI ","B8PITCH ","B8RAXI ", & + "B8RAYI ","B8RAZI ","B8RDTFXI ","B8RDTFYI ","B8RDTFZI ","B8RDTMXI ","B8RDTMYI ", & + "B8RDTMZI ","B8ROLL ","B8RVXI ","B8RVYI ","B8RVZI ","B8SURGE ","B8SWAY ", & + "B8TAXI ","B8TAYI ","B8TAZI ","B8TVXI ","B8TVYI ","B8TVZI ","B8WVSF1XI ", & + "B8WVSF1YI ","B8WVSF1ZI ","B8WVSF2XI ","B8WVSF2YI ","B8WVSF2ZI ","B8WVSFXI ","B8WVSFYI ", & + "B8WVSFZI ","B8WVSM1XI ","B8WVSM1YI ","B8WVSM1ZI ","B8WVSM2XI ","B8WVSM2YI ","B8WVSM2ZI ", & + "B8WVSMXI ","B8WVSMYI ","B8WVSMZI ","B8YAW ","B9ADDFXI ","B9ADDFYI ","B9ADDFZI ", & + "B9ADDMXI ","B9ADDMYI ","B9ADDMZI ","B9ADOF10A ","B9ADOF10ADD","B9ADOF10D ","B9ADOF10HDS", & + "B9ADOF10RDT","B9ADOF10V ","B9ADOF10WVS","B9ADOF11A ","B9ADOF11ADD","B9ADOF11D ","B9ADOF11HDS", & + "B9ADOF11RDT","B9ADOF11V ","B9ADOF11WVS","B9ADOF12A ","B9ADOF12ADD","B9ADOF12D ","B9ADOF12HDS", & + "B9ADOF12RDT","B9ADOF12V ","B9ADOF12WVS","B9ADOF13A ","B9ADOF13ADD","B9ADOF13D ","B9ADOF13HDS", & + "B9ADOF13RDT","B9ADOF13V ","B9ADOF13WVS","B9ADOF14A ","B9ADOF14ADD","B9ADOF14D ","B9ADOF14HDS", & + "B9ADOF14RDT","B9ADOF14V ","B9ADOF14WVS","B9ADOF15A ","B9ADOF15ADD","B9ADOF15D ","B9ADOF15HDS", & + "B9ADOF15RDT","B9ADOF15V ","B9ADOF15WVS","B9ADOF16A ","B9ADOF16ADD","B9ADOF16D ","B9ADOF16HDS", & + "B9ADOF16RDT","B9ADOF16V ","B9ADOF16WVS","B9ADOF17A ","B9ADOF17ADD","B9ADOF17D ","B9ADOF17HDS", & + "B9ADOF17RDT","B9ADOF17V ","B9ADOF17WVS","B9ADOF18A ","B9ADOF18ADD","B9ADOF18D ","B9ADOF18HDS", & + "B9ADOF18RDT","B9ADOF18V ","B9ADOF18WVS","B9ADOF19A ","B9ADOF19ADD","B9ADOF19D ","B9ADOF19HDS", & + "B9ADOF19RDT","B9ADOF19V ","B9ADOF19WVS","B9ADOF1A ","B9ADOF1ADD ","B9ADOF1D ","B9ADOF1HDS ", & + "B9ADOF1RDT ","B9ADOF1V ","B9ADOF1WVS ","B9ADOF20A ","B9ADOF20ADD","B9ADOF20D ","B9ADOF20HDS", & + "B9ADOF20RDT","B9ADOF20V ","B9ADOF20WVS","B9ADOF21A ","B9ADOF21ADD","B9ADOF21D ","B9ADOF21HDS", & + "B9ADOF21RDT","B9ADOF21V ","B9ADOF21WVS","B9ADOF22A ","B9ADOF22ADD","B9ADOF22D ","B9ADOF22HDS", & + "B9ADOF22RDT","B9ADOF22V ","B9ADOF22WVS","B9ADOF23A ","B9ADOF23ADD","B9ADOF23D ","B9ADOF23HDS", & + "B9ADOF23RDT","B9ADOF23V ","B9ADOF23WVS","B9ADOF24A ","B9ADOF24ADD","B9ADOF24D ","B9ADOF24HDS", & + "B9ADOF24RDT","B9ADOF24V ","B9ADOF24WVS","B9ADOF25A ","B9ADOF25ADD","B9ADOF25D ","B9ADOF25HDS", & + "B9ADOF25RDT","B9ADOF25V ","B9ADOF25WVS","B9ADOF26A ","B9ADOF26ADD","B9ADOF26D ","B9ADOF26HDS", & + "B9ADOF26RDT","B9ADOF26V ","B9ADOF26WVS","B9ADOF27A ","B9ADOF27ADD","B9ADOF27D ","B9ADOF27HDS", & + "B9ADOF27RDT","B9ADOF27V ","B9ADOF27WVS","B9ADOF28A ","B9ADOF28ADD","B9ADOF28D ","B9ADOF28HDS", & + "B9ADOF28RDT","B9ADOF28V ","B9ADOF28WVS","B9ADOF29A ","B9ADOF29ADD","B9ADOF29D ","B9ADOF29HDS", & + "B9ADOF29RDT","B9ADOF29V ","B9ADOF29WVS","B9ADOF2A ","B9ADOF2ADD ","B9ADOF2D ","B9ADOF2HDS ", & + "B9ADOF2RDT ","B9ADOF2V ","B9ADOF2WVS ","B9ADOF30A ","B9ADOF30ADD","B9ADOF30D ","B9ADOF30HDS", & + "B9ADOF30RDT","B9ADOF30V ","B9ADOF30WVS","B9ADOF31A ","B9ADOF31ADD","B9ADOF31D ","B9ADOF31HDS", & + "B9ADOF31RDT","B9ADOF31V ","B9ADOF31WVS","B9ADOF32A ","B9ADOF32ADD","B9ADOF32D ","B9ADOF32HDS", & + "B9ADOF32RDT","B9ADOF32V ","B9ADOF32WVS","B9ADOF33A ","B9ADOF33ADD","B9ADOF33D ","B9ADOF33HDS", & + "B9ADOF33RDT","B9ADOF33V ","B9ADOF33WVS","B9ADOF34A ","B9ADOF34ADD","B9ADOF34D ","B9ADOF34HDS", & + "B9ADOF34RDT","B9ADOF34V ","B9ADOF34WVS","B9ADOF35A ","B9ADOF35ADD","B9ADOF35D ","B9ADOF35HDS", & + "B9ADOF35RDT","B9ADOF35V ","B9ADOF35WVS","B9ADOF36A ","B9ADOF36ADD","B9ADOF36D ","B9ADOF36HDS", & + "B9ADOF36RDT","B9ADOF36V ","B9ADOF36WVS","B9ADOF37A ","B9ADOF37ADD","B9ADOF37D ","B9ADOF37HDS", & + "B9ADOF37RDT","B9ADOF37V ","B9ADOF37WVS","B9ADOF38A ","B9ADOF38ADD","B9ADOF38D ","B9ADOF38HDS", & + "B9ADOF38RDT","B9ADOF38V ","B9ADOF38WVS","B9ADOF39A ","B9ADOF39ADD","B9ADOF39D ","B9ADOF39HDS", & + "B9ADOF39RDT","B9ADOF39V ","B9ADOF39WVS","B9ADOF3A ","B9ADOF3ADD ","B9ADOF3D ","B9ADOF3HDS ", & + "B9ADOF3RDT ","B9ADOF3V ","B9ADOF3WVS ","B9ADOF40A ","B9ADOF40ADD","B9ADOF40D ","B9ADOF40HDS", & + "B9ADOF40RDT","B9ADOF40V ","B9ADOF40WVS","B9ADOF41A ","B9ADOF41ADD","B9ADOF41D ","B9ADOF41HDS", & + "B9ADOF41RDT","B9ADOF41V ","B9ADOF41WVS","B9ADOF42A ","B9ADOF42ADD","B9ADOF42D ","B9ADOF42HDS", & + "B9ADOF42RDT","B9ADOF42V ","B9ADOF42WVS","B9ADOF43A ","B9ADOF43ADD","B9ADOF43D ","B9ADOF43HDS", & + "B9ADOF43RDT","B9ADOF43V ","B9ADOF43WVS","B9ADOF44A ","B9ADOF44ADD","B9ADOF44D ","B9ADOF44HDS", & + "B9ADOF44RDT","B9ADOF44V ","B9ADOF44WVS","B9ADOF45A ","B9ADOF45ADD","B9ADOF45D ","B9ADOF45HDS", & + "B9ADOF45RDT","B9ADOF45V ","B9ADOF45WVS","B9ADOF46A ","B9ADOF46ADD","B9ADOF46D ","B9ADOF46HDS", & + "B9ADOF46RDT","B9ADOF46V ","B9ADOF46WVS","B9ADOF47A ","B9ADOF47ADD","B9ADOF47D ","B9ADOF47HDS", & + "B9ADOF47RDT","B9ADOF47V ","B9ADOF47WVS","B9ADOF48A ","B9ADOF48ADD","B9ADOF48D ","B9ADOF48HDS", & + "B9ADOF48RDT","B9ADOF48V ","B9ADOF48WVS","B9ADOF49A ","B9ADOF49ADD","B9ADOF49D ","B9ADOF49HDS", & + "B9ADOF49RDT","B9ADOF49V ","B9ADOF49WVS","B9ADOF4A ","B9ADOF4ADD ","B9ADOF4D ","B9ADOF4HDS ", & + "B9ADOF4RDT ","B9ADOF4V ","B9ADOF4WVS ","B9ADOF50A ","B9ADOF50ADD","B9ADOF50D ","B9ADOF50HDS", & + "B9ADOF50RDT","B9ADOF50V ","B9ADOF50WVS","B9ADOF51A ","B9ADOF51ADD","B9ADOF51D ","B9ADOF51HDS", & + "B9ADOF51RDT","B9ADOF51V ","B9ADOF51WVS","B9ADOF52A ","B9ADOF52ADD","B9ADOF52D ","B9ADOF52HDS", & + "B9ADOF52RDT","B9ADOF52V ","B9ADOF52WVS","B9ADOF53A ","B9ADOF53ADD","B9ADOF53D ","B9ADOF53HDS", & + "B9ADOF53RDT","B9ADOF53V ","B9ADOF53WVS","B9ADOF54A ","B9ADOF54ADD","B9ADOF54D ","B9ADOF54HDS", & + "B9ADOF54RDT","B9ADOF54V ","B9ADOF54WVS","B9ADOF55A ","B9ADOF55ADD","B9ADOF55D ","B9ADOF55HDS", & + "B9ADOF55RDT","B9ADOF55V ","B9ADOF55WVS","B9ADOF56A ","B9ADOF56ADD","B9ADOF56D ","B9ADOF56HDS", & + "B9ADOF56RDT","B9ADOF56V ","B9ADOF56WVS","B9ADOF57A ","B9ADOF57ADD","B9ADOF57D ","B9ADOF57HDS", & + "B9ADOF57RDT","B9ADOF57V ","B9ADOF57WVS","B9ADOF58A ","B9ADOF58ADD","B9ADOF58D ","B9ADOF58HDS", & + "B9ADOF58RDT","B9ADOF58V ","B9ADOF58WVS","B9ADOF59A ","B9ADOF59ADD","B9ADOF59D ","B9ADOF59HDS", & + "B9ADOF59RDT","B9ADOF59V ","B9ADOF59WVS","B9ADOF5A ","B9ADOF5ADD ","B9ADOF5D ","B9ADOF5HDS ", & + "B9ADOF5RDT ","B9ADOF5V ","B9ADOF5WVS ","B9ADOF60A ","B9ADOF60ADD","B9ADOF60D ","B9ADOF60HDS", & + "B9ADOF60RDT","B9ADOF60V ","B9ADOF60WVS","B9ADOF61A ","B9ADOF61ADD","B9ADOF61D ","B9ADOF61HDS", & + "B9ADOF61RDT","B9ADOF61V ","B9ADOF61WVS","B9ADOF62A ","B9ADOF62ADD","B9ADOF62D ","B9ADOF62HDS", & + "B9ADOF62RDT","B9ADOF62V ","B9ADOF62WVS","B9ADOF63A ","B9ADOF63ADD","B9ADOF63D ","B9ADOF63HDS", & + "B9ADOF63RDT","B9ADOF63V ","B9ADOF63WVS","B9ADOF64A ","B9ADOF64ADD","B9ADOF64D ","B9ADOF64HDS", & + "B9ADOF64RDT","B9ADOF64V ","B9ADOF64WVS","B9ADOF65A ","B9ADOF65ADD","B9ADOF65D ","B9ADOF65HDS", & + "B9ADOF65RDT","B9ADOF65V ","B9ADOF65WVS","B9ADOF66A ","B9ADOF66ADD","B9ADOF66D ","B9ADOF66HDS", & + "B9ADOF66RDT","B9ADOF66V ","B9ADOF66WVS","B9ADOF67A ","B9ADOF67ADD","B9ADOF67D ","B9ADOF67HDS", & + "B9ADOF67RDT","B9ADOF67V ","B9ADOF67WVS","B9ADOF68A ","B9ADOF68ADD","B9ADOF68D ","B9ADOF68HDS", & + "B9ADOF68RDT","B9ADOF68V ","B9ADOF68WVS","B9ADOF69A ","B9ADOF69ADD","B9ADOF69D ","B9ADOF69HDS", & + "B9ADOF69RDT","B9ADOF69V ","B9ADOF69WVS","B9ADOF6A ","B9ADOF6ADD ","B9ADOF6D ","B9ADOF6HDS ", & + "B9ADOF6RDT ","B9ADOF6V ","B9ADOF6WVS ","B9ADOF70A ","B9ADOF70ADD","B9ADOF70D ","B9ADOF70HDS", & + "B9ADOF70RDT","B9ADOF70V ","B9ADOF70WVS","B9ADOF71A ","B9ADOF71ADD","B9ADOF71D ","B9ADOF71HDS", & + "B9ADOF71RDT","B9ADOF71V ","B9ADOF71WVS","B9ADOF72A ","B9ADOF72ADD","B9ADOF72D ","B9ADOF72HDS", & + "B9ADOF72RDT","B9ADOF72V ","B9ADOF72WVS","B9ADOF73A ","B9ADOF73ADD","B9ADOF73D ","B9ADOF73HDS", & + "B9ADOF73RDT","B9ADOF73V ","B9ADOF73WVS","B9ADOF74A ","B9ADOF74ADD","B9ADOF74D ","B9ADOF74HDS", & + "B9ADOF74RDT","B9ADOF74V ","B9ADOF74WVS","B9ADOF75A ","B9ADOF75ADD","B9ADOF75D ","B9ADOF75HDS", & + "B9ADOF75RDT","B9ADOF75V ","B9ADOF75WVS","B9ADOF76A ","B9ADOF76ADD","B9ADOF76D ","B9ADOF76HDS", & + "B9ADOF76RDT","B9ADOF76V ","B9ADOF76WVS","B9ADOF77A ","B9ADOF77ADD","B9ADOF77D ","B9ADOF77HDS", & + "B9ADOF77RDT","B9ADOF77V ","B9ADOF77WVS","B9ADOF78A ","B9ADOF78ADD","B9ADOF78D ","B9ADOF78HDS", & + "B9ADOF78RDT","B9ADOF78V ","B9ADOF78WVS","B9ADOF79A ","B9ADOF79ADD","B9ADOF79D ","B9ADOF79HDS", & + "B9ADOF79RDT","B9ADOF79V ","B9ADOF79WVS","B9ADOF7A ","B9ADOF7ADD ","B9ADOF7D ","B9ADOF7HDS ", & + "B9ADOF7RDT ","B9ADOF7V ","B9ADOF7WVS ","B9ADOF80A ","B9ADOF80ADD","B9ADOF80D ","B9ADOF80HDS", & + "B9ADOF80RDT","B9ADOF80V ","B9ADOF80WVS","B9ADOF81A ","B9ADOF81ADD","B9ADOF81D ","B9ADOF81HDS", & + "B9ADOF81RDT","B9ADOF81V ","B9ADOF81WVS","B9ADOF82A ","B9ADOF82ADD","B9ADOF82D ","B9ADOF82HDS", & + "B9ADOF82RDT","B9ADOF82V ","B9ADOF82WVS","B9ADOF83A ","B9ADOF83ADD","B9ADOF83D ","B9ADOF83HDS", & + "B9ADOF83RDT","B9ADOF83V ","B9ADOF83WVS","B9ADOF84A ","B9ADOF84ADD","B9ADOF84D ","B9ADOF84HDS", & + "B9ADOF84RDT","B9ADOF84V ","B9ADOF84WVS","B9ADOF85A ","B9ADOF85ADD","B9ADOF85D ","B9ADOF85HDS", & + "B9ADOF85RDT","B9ADOF85V ","B9ADOF85WVS","B9ADOF86A ","B9ADOF86ADD","B9ADOF86D ","B9ADOF86HDS", & + "B9ADOF86RDT","B9ADOF86V ","B9ADOF86WVS","B9ADOF87A ","B9ADOF87ADD","B9ADOF87D ","B9ADOF87HDS", & + "B9ADOF87RDT","B9ADOF87V ","B9ADOF87WVS","B9ADOF88A ","B9ADOF88ADD","B9ADOF88D ","B9ADOF88HDS", & + "B9ADOF88RDT","B9ADOF88V ","B9ADOF88WVS","B9ADOF89A ","B9ADOF89ADD","B9ADOF89D ","B9ADOF89HDS", & + "B9ADOF89RDT","B9ADOF89V ","B9ADOF89WVS","B9ADOF8A ","B9ADOF8ADD ","B9ADOF8D ","B9ADOF8HDS ", & + "B9ADOF8RDT ","B9ADOF8V ","B9ADOF8WVS ","B9ADOF90A ","B9ADOF90ADD","B9ADOF90D ","B9ADOF90HDS", & + "B9ADOF90RDT","B9ADOF90V ","B9ADOF90WVS","B9ADOF91A ","B9ADOF91ADD","B9ADOF91D ","B9ADOF91HDS", & + "B9ADOF91RDT","B9ADOF91V ","B9ADOF91WVS","B9ADOF92A ","B9ADOF92ADD","B9ADOF92D ","B9ADOF92HDS", & + "B9ADOF92RDT","B9ADOF92V ","B9ADOF92WVS","B9ADOF93A ","B9ADOF93ADD","B9ADOF93D ","B9ADOF93HDS", & + "B9ADOF93RDT","B9ADOF93V ","B9ADOF93WVS","B9ADOF94A ","B9ADOF94ADD","B9ADOF94D ","B9ADOF94HDS", & + "B9ADOF94RDT","B9ADOF94V ","B9ADOF94WVS","B9ADOF95A ","B9ADOF95ADD","B9ADOF95D ","B9ADOF95HDS", & + "B9ADOF95RDT","B9ADOF95V ","B9ADOF95WVS","B9ADOF96A ","B9ADOF96ADD","B9ADOF96D ","B9ADOF96HDS", & + "B9ADOF96RDT","B9ADOF96V ","B9ADOF96WVS","B9ADOF97A ","B9ADOF97ADD","B9ADOF97D ","B9ADOF97HDS", & + "B9ADOF97RDT","B9ADOF97V ","B9ADOF97WVS","B9ADOF98A ","B9ADOF98ADD","B9ADOF98D ","B9ADOF98HDS", & + "B9ADOF98RDT","B9ADOF98V ","B9ADOF98WVS","B9ADOF99A ","B9ADOF99ADD","B9ADOF99D ","B9ADOF99HDS", & + "B9ADOF99RDT","B9ADOF99V ","B9ADOF99WVS","B9ADOF9A ","B9ADOF9ADD ","B9ADOF9D ","B9ADOF9HDS ", & + "B9ADOF9RDT ","B9ADOF9V ","B9ADOF9WVS ","B9HDSFXI ","B9HDSFYI ","B9HDSFZI ","B9HDSMXI ", & + "B9HDSMYI ","B9HDSMZI ","B9HEAVE ","B9NFKFXI ","B9NFKFYI ","B9NFKFZI ","B9NFKMXI ", & + "B9NFKMYI ","B9NFKMZI ","B9PITCH ","B9RAXI ","B9RAYI ","B9RAZI ","B9RDTFXI ", & + "B9RDTFYI ","B9RDTFZI ","B9RDTMXI ","B9RDTMYI ","B9RDTMZI ","B9ROLL ","B9RVXI ", & + "B9RVYI ","B9RVZI ","B9SURGE ","B9SWAY ","B9TAXI ","B9TAYI ","B9TAZI ", & + "B9TVXI ","B9TVYI ","B9TVZI ","B9WVSF1XI ","B9WVSF1YI ","B9WVSF1ZI ","B9WVSF2XI ", & + "B9WVSF2YI ","B9WVSF2ZI ","B9WVSFXI ","B9WVSFYI ","B9WVSFZI ","B9WVSM1XI ","B9WVSM1YI ", & + "B9WVSM1ZI ","B9WVSM2XI ","B9WVSM2YI ","B9WVSM2ZI ","B9WVSMXI ","B9WVSMYI ","B9WVSMZI ", & + "B9YAW ","HYDROFXI ","HYDROFYI ","HYDROFZI ","HYDROMXI ","HYDROMYI ","HYDROMZI ", & + "PRPHEAVE ","PRPPITCH ","PRPRAXI ","PRPRAYI ","PRPRAZI ","PRPROLL ","PRPRVXI ", & + "PRPRVYI ","PRPRVZI ","PRPSURGE ","PRPSWAY ","PRPTAXI ","PRPTAYI ","PRPTAZI ", & + "PRPTVXI ","PRPTVYI ","PRPTVZI ","PRPYAW "/) + CHARACTER(OutStrLenM1), PARAMETER :: ValidParamAry(6801) = (/ & ! This lists the names of the allowed parameters, which must be sorted alphabetically ValidParamAry1, ValidParamAry2, ValidParamAry3, ValidParamAry4/) ! ..... Public Subroutines ................................................................................................... @@ -8657,7 +8726,7 @@ END SUBROUTINE HDOut_OpenSum !==================================================================================================== -SUBROUTINE HDOut_MapOutputs( p, y, m_WAMIT, m_WAMIT2, F_Add, F_Waves, F_Hydro, PRPmesh, PtfmRefY, q, qdot, qdotdot, ErrStat, ErrMsg ) +SUBROUTINE HDOut_MapOutputs( p, y, m_WAMIT, m_WAMIT2, F_Add, F_Waves, F_Hydro, PRPmesh, PtfmRefY, q, qdot, qdotdot, NLFKForce, NLFKMoment, ErrStat, ErrMsg ) ! This subroutine writes the data stored in the y variable to the correct indexed postions in WriteOutput ! This is called by HydroDyn_CalcOutput() at each time step. !---------------------------------------------------------------------------------------------------- @@ -8673,6 +8742,8 @@ SUBROUTINE HDOut_MapOutputs( p, y, m_WAMIT, m_WAMIT2, F_Add, F_Waves, F_Hydro, P REAL(ReKi), INTENT( IN ) :: q(:) ! WAMIT body translations and rotations REAL(ReKi), INTENT( IN ) :: qdot(:) ! WAMIT body translational and rotational velocities REAL(ReKi), INTENT( IN ) :: qdotdot(:) ! WAMIT body translational and rotational accelerations + REAL(ReKi), INTENT( IN ) :: NLFKForce(:,:) ! Nonlinear Froude-Krylov and hydrostatic force + REAL(ReKi), INTENT( IN ) :: NLFKMoment(:,:)! Nonlinear Froude-Krylov and hydrostatic moment INTEGER(IntKi), INTENT( OUT ) :: ErrStat ! Error status of the operation CHARACTER(*), INTENT( OUT ) :: ErrMsg ! Error message if ErrStat /= ErrID_None @@ -8750,6 +8821,10 @@ SUBROUTINE HDOut_MapOutputs( p, y, m_WAMIT, m_WAMIT2, F_Add, F_Waves, F_Hydro, P end if end do end if + do iBody = 1,min(p%NBody,9) + AllOuts( FNLFKHst(1:3,iBody) ) = NLFKForce(:,iBody) + AllOuts( FNLFKHst(4:6,iBody) ) = NLFKMoment(:,iBody) + end do end if @@ -9144,7 +9219,7 @@ SUBROUTINE SetOutParam(OutList, p, ErrStat, ErrMsg ) LOGICAL :: InvalidOutput(0:MaxOutPts) ! This array determines if the output channel is valid for this configuration CHARACTER(*), PARAMETER :: RoutineName = "SetOutParam" - INTEGER(IntKi), PARAMETER :: ParamIndxAry1(1687) = (/ & ! This lists the index into AllOuts(:) of the allowed parameters ValidParamAry(:) + INTEGER(IntKi), PARAMETER :: ParamIndxAry1(1701) = (/ & ! This lists the index into AllOuts(:) of the allowed parameters ValidParamAry(:) B1AddFxi , B1AddFyi , B1AddFzi , B1AddMxi , B1AddMyi , B1AddMzi , B1ADOF10A , & B1ADOF10Add , B1ADOF10D , B1ADOF10Hds , B1ADOF10Rdt , B1ADOF10V , B1ADOF10Wvs , B1ADOF11A , & B1ADOF11Add , B1ADOF11D , B1ADOF11Hds , B1ADOF11Rdt , B1ADOF11V , B1ADOF11Wvs , B1ADOF12A , & @@ -9245,651 +9320,657 @@ SUBROUTINE SetOutParam(OutList, p, ErrStat, ErrMsg ) B1ADOF98Add , B1ADOF98D , B1ADOF98Hds , B1ADOF98Rdt , B1ADOF98V , B1ADOF98Wvs , B1ADOF99A , & B1ADOF99Add , B1ADOF99D , B1ADOF99Hds , B1ADOF99Rdt , B1ADOF99V , B1ADOF99Wvs , B1ADOF9A , & B1ADOF9Add , B1ADOF9D , B1ADOF9Hds , B1ADOF9Rdt , B1ADOF9V , B1ADOF9Wvs , B1HdSFxi , & - B1HdSFyi , B1HdSFzi , B1HdSMxi , B1HdSMyi , B1HdSMzi , B1Heave , B1Pitch , & - B1RAxi , B1RAyi , B1RAzi , B1RdtFxi , B1RdtFyi , B1RdtFzi , B1RdtMxi , & - B1RdtMyi , B1RdtMzi , B1Roll , B1RVxi , B1RVyi , B1RVzi , B1Surge , & - B1Sway , B1TAxi , B1TAyi , B1TAzi , B1TVxi , B1TVyi , B1TVzi , & - B1WvsF1xi , B1WvsF1yi , B1WvsF1zi , B1WvsF2xi , B1WvsF2yi , B1WvsF2zi , B1WvsFxi , & - B1WvsFyi , B1WvsFzi , B1WvsM1xi , B1WvsM1yi , B1WvsM1zi , B1WvsM2xi , B1WvsM2yi , & - B1WvsM2zi , B1WvsMxi , B1WvsMyi , B1WvsMzi , B1Yaw , B2AddFxi , B2AddFyi , & - B2AddFzi , B2AddMxi , B2AddMyi , B2AddMzi , B2ADOF10A , B2ADOF10Add , B2ADOF10D , & - B2ADOF10Hds , B2ADOF10Rdt , B2ADOF10V , B2ADOF10Wvs , B2ADOF11A , B2ADOF11Add , B2ADOF11D , & - B2ADOF11Hds , B2ADOF11Rdt , B2ADOF11V , B2ADOF11Wvs , B2ADOF12A , B2ADOF12Add , B2ADOF12D , & - B2ADOF12Hds , B2ADOF12Rdt , B2ADOF12V , B2ADOF12Wvs , B2ADOF13A , B2ADOF13Add , B2ADOF13D , & - B2ADOF13Hds , B2ADOF13Rdt , B2ADOF13V , B2ADOF13Wvs , B2ADOF14A , B2ADOF14Add , B2ADOF14D , & - B2ADOF14Hds , B2ADOF14Rdt , B2ADOF14V , B2ADOF14Wvs , B2ADOF15A , B2ADOF15Add , B2ADOF15D , & - B2ADOF15Hds , B2ADOF15Rdt , B2ADOF15V , B2ADOF15Wvs , B2ADOF16A , B2ADOF16Add , B2ADOF16D , & - B2ADOF16Hds , B2ADOF16Rdt , B2ADOF16V , B2ADOF16Wvs , B2ADOF17A , B2ADOF17Add , B2ADOF17D , & - B2ADOF17Hds , B2ADOF17Rdt , B2ADOF17V , B2ADOF17Wvs , B2ADOF18A , B2ADOF18Add , B2ADOF18D , & - B2ADOF18Hds , B2ADOF18Rdt , B2ADOF18V , B2ADOF18Wvs , B2ADOF19A , B2ADOF19Add , B2ADOF19D , & - B2ADOF19Hds , B2ADOF19Rdt , B2ADOF19V , B2ADOF19Wvs , B2ADOF1A , B2ADOF1Add , B2ADOF1D , & - B2ADOF1Hds , B2ADOF1Rdt , B2ADOF1V , B2ADOF1Wvs , B2ADOF20A , B2ADOF20Add , B2ADOF20D , & - B2ADOF20Hds , B2ADOF20Rdt , B2ADOF20V , B2ADOF20Wvs , B2ADOF21A , B2ADOF21Add , B2ADOF21D , & - B2ADOF21Hds , B2ADOF21Rdt , B2ADOF21V , B2ADOF21Wvs , B2ADOF22A , B2ADOF22Add , B2ADOF22D , & - B2ADOF22Hds , B2ADOF22Rdt , B2ADOF22V , B2ADOF22Wvs , B2ADOF23A , B2ADOF23Add , B2ADOF23D , & - B2ADOF23Hds , B2ADOF23Rdt , B2ADOF23V , B2ADOF23Wvs , B2ADOF24A , B2ADOF24Add , B2ADOF24D , & - B2ADOF24Hds , B2ADOF24Rdt , B2ADOF24V , B2ADOF24Wvs , B2ADOF25A , B2ADOF25Add , B2ADOF25D , & - B2ADOF25Hds , B2ADOF25Rdt , B2ADOF25V , B2ADOF25Wvs , B2ADOF26A , B2ADOF26Add , B2ADOF26D , & - B2ADOF26Hds , B2ADOF26Rdt , B2ADOF26V , B2ADOF26Wvs , B2ADOF27A , B2ADOF27Add , B2ADOF27D , & - B2ADOF27Hds , B2ADOF27Rdt , B2ADOF27V , B2ADOF27Wvs , B2ADOF28A , B2ADOF28Add , B2ADOF28D , & - B2ADOF28Hds , B2ADOF28Rdt , B2ADOF28V , B2ADOF28Wvs , B2ADOF29A , B2ADOF29Add , B2ADOF29D , & - B2ADOF29Hds , B2ADOF29Rdt , B2ADOF29V , B2ADOF29Wvs , B2ADOF2A , B2ADOF2Add , B2ADOF2D , & - B2ADOF2Hds , B2ADOF2Rdt , B2ADOF2V , B2ADOF2Wvs , B2ADOF30A , B2ADOF30Add , B2ADOF30D , & - B2ADOF30Hds , B2ADOF30Rdt , B2ADOF30V , B2ADOF30Wvs , B2ADOF31A , B2ADOF31Add , B2ADOF31D , & - B2ADOF31Hds , B2ADOF31Rdt , B2ADOF31V , B2ADOF31Wvs , B2ADOF32A , B2ADOF32Add , B2ADOF32D , & - B2ADOF32Hds , B2ADOF32Rdt , B2ADOF32V , B2ADOF32Wvs , B2ADOF33A , B2ADOF33Add , B2ADOF33D , & - B2ADOF33Hds , B2ADOF33Rdt , B2ADOF33V , B2ADOF33Wvs , B2ADOF34A , B2ADOF34Add , B2ADOF34D , & - B2ADOF34Hds , B2ADOF34Rdt , B2ADOF34V , B2ADOF34Wvs , B2ADOF35A , B2ADOF35Add , B2ADOF35D , & - B2ADOF35Hds , B2ADOF35Rdt , B2ADOF35V , B2ADOF35Wvs , B2ADOF36A , B2ADOF36Add , B2ADOF36D , & - B2ADOF36Hds , B2ADOF36Rdt , B2ADOF36V , B2ADOF36Wvs , B2ADOF37A , B2ADOF37Add , B2ADOF37D , & - B2ADOF37Hds , B2ADOF37Rdt , B2ADOF37V , B2ADOF37Wvs , B2ADOF38A , B2ADOF38Add , B2ADOF38D , & - B2ADOF38Hds , B2ADOF38Rdt , B2ADOF38V , B2ADOF38Wvs , B2ADOF39A , B2ADOF39Add , B2ADOF39D , & - B2ADOF39Hds , B2ADOF39Rdt , B2ADOF39V , B2ADOF39Wvs , B2ADOF3A , B2ADOF3Add , B2ADOF3D , & - B2ADOF3Hds , B2ADOF3Rdt , B2ADOF3V , B2ADOF3Wvs , B2ADOF40A , B2ADOF40Add , B2ADOF40D , & - B2ADOF40Hds , B2ADOF40Rdt , B2ADOF40V , B2ADOF40Wvs , B2ADOF41A , B2ADOF41Add , B2ADOF41D , & - B2ADOF41Hds , B2ADOF41Rdt , B2ADOF41V , B2ADOF41Wvs , B2ADOF42A , B2ADOF42Add , B2ADOF42D , & - B2ADOF42Hds , B2ADOF42Rdt , B2ADOF42V , B2ADOF42Wvs , B2ADOF43A , B2ADOF43Add , B2ADOF43D , & - B2ADOF43Hds , B2ADOF43Rdt , B2ADOF43V , B2ADOF43Wvs , B2ADOF44A , B2ADOF44Add , B2ADOF44D , & - B2ADOF44Hds , B2ADOF44Rdt , B2ADOF44V , B2ADOF44Wvs , B2ADOF45A , B2ADOF45Add , B2ADOF45D , & - B2ADOF45Hds , B2ADOF45Rdt , B2ADOF45V , B2ADOF45Wvs , B2ADOF46A , B2ADOF46Add , B2ADOF46D , & - B2ADOF46Hds , B2ADOF46Rdt , B2ADOF46V , B2ADOF46Wvs , B2ADOF47A , B2ADOF47Add , B2ADOF47D , & - B2ADOF47Hds , B2ADOF47Rdt , B2ADOF47V , B2ADOF47Wvs , B2ADOF48A , B2ADOF48Add , B2ADOF48D , & - B2ADOF48Hds , B2ADOF48Rdt , B2ADOF48V , B2ADOF48Wvs , B2ADOF49A , B2ADOF49Add , B2ADOF49D , & - B2ADOF49Hds , B2ADOF49Rdt , B2ADOF49V , B2ADOF49Wvs , B2ADOF4A , B2ADOF4Add , B2ADOF4D , & - B2ADOF4Hds , B2ADOF4Rdt , B2ADOF4V , B2ADOF4Wvs , B2ADOF50A , B2ADOF50Add , B2ADOF50D , & - B2ADOF50Hds , B2ADOF50Rdt , B2ADOF50V , B2ADOF50Wvs , B2ADOF51A , B2ADOF51Add , B2ADOF51D , & - B2ADOF51Hds , B2ADOF51Rdt , B2ADOF51V , B2ADOF51Wvs , B2ADOF52A , B2ADOF52Add , B2ADOF52D , & - B2ADOF52Hds , B2ADOF52Rdt , B2ADOF52V , B2ADOF52Wvs , B2ADOF53A , B2ADOF53Add , B2ADOF53D , & - B2ADOF53Hds , B2ADOF53Rdt , B2ADOF53V , B2ADOF53Wvs , B2ADOF54A , B2ADOF54Add , B2ADOF54D , & - B2ADOF54Hds , B2ADOF54Rdt , B2ADOF54V , B2ADOF54Wvs , B2ADOF55A , B2ADOF55Add , B2ADOF55D , & - B2ADOF55Hds , B2ADOF55Rdt , B2ADOF55V , B2ADOF55Wvs , B2ADOF56A , B2ADOF56Add , B2ADOF56D , & - B2ADOF56Hds , B2ADOF56Rdt , B2ADOF56V , B2ADOF56Wvs , B2ADOF57A , B2ADOF57Add , B2ADOF57D , & - B2ADOF57Hds , B2ADOF57Rdt , B2ADOF57V , B2ADOF57Wvs , B2ADOF58A , B2ADOF58Add , B2ADOF58D , & - B2ADOF58Hds , B2ADOF58Rdt , B2ADOF58V , B2ADOF58Wvs , B2ADOF59A , B2ADOF59Add , B2ADOF59D , & - B2ADOF59Hds , B2ADOF59Rdt , B2ADOF59V , B2ADOF59Wvs , B2ADOF5A , B2ADOF5Add , B2ADOF5D , & - B2ADOF5Hds , B2ADOF5Rdt , B2ADOF5V , B2ADOF5Wvs , B2ADOF60A , B2ADOF60Add , B2ADOF60D , & - B2ADOF60Hds , B2ADOF60Rdt , B2ADOF60V , B2ADOF60Wvs , B2ADOF61A , B2ADOF61Add , B2ADOF61D , & - B2ADOF61Hds , B2ADOF61Rdt , B2ADOF61V , B2ADOF61Wvs , B2ADOF62A , B2ADOF62Add , B2ADOF62D , & - B2ADOF62Hds , B2ADOF62Rdt , B2ADOF62V , B2ADOF62Wvs , B2ADOF63A , B2ADOF63Add , B2ADOF63D , & - B2ADOF63Hds , B2ADOF63Rdt , B2ADOF63V , B2ADOF63Wvs , B2ADOF64A , B2ADOF64Add , B2ADOF64D , & - B2ADOF64Hds , B2ADOF64Rdt , B2ADOF64V , B2ADOF64Wvs , B2ADOF65A , B2ADOF65Add , B2ADOF65D , & - B2ADOF65Hds , B2ADOF65Rdt , B2ADOF65V , B2ADOF65Wvs , B2ADOF66A , B2ADOF66Add , B2ADOF66D , & - B2ADOF66Hds , B2ADOF66Rdt , B2ADOF66V , B2ADOF66Wvs , B2ADOF67A , B2ADOF67Add , B2ADOF67D , & - B2ADOF67Hds , B2ADOF67Rdt , B2ADOF67V , B2ADOF67Wvs , B2ADOF68A , B2ADOF68Add , B2ADOF68D , & - B2ADOF68Hds , B2ADOF68Rdt , B2ADOF68V , B2ADOF68Wvs , B2ADOF69A , B2ADOF69Add , B2ADOF69D , & - B2ADOF69Hds , B2ADOF69Rdt , B2ADOF69V , B2ADOF69Wvs , B2ADOF6A , B2ADOF6Add , B2ADOF6D , & - B2ADOF6Hds , B2ADOF6Rdt , B2ADOF6V , B2ADOF6Wvs , B2ADOF70A , B2ADOF70Add , B2ADOF70D , & - B2ADOF70Hds , B2ADOF70Rdt , B2ADOF70V , B2ADOF70Wvs , B2ADOF71A , B2ADOF71Add , B2ADOF71D , & - B2ADOF71Hds , B2ADOF71Rdt , B2ADOF71V , B2ADOF71Wvs , B2ADOF72A , B2ADOF72Add , B2ADOF72D , & - B2ADOF72Hds , B2ADOF72Rdt , B2ADOF72V , B2ADOF72Wvs , B2ADOF73A , B2ADOF73Add , B2ADOF73D , & - B2ADOF73Hds , B2ADOF73Rdt , B2ADOF73V , B2ADOF73Wvs , B2ADOF74A , B2ADOF74Add , B2ADOF74D , & - B2ADOF74Hds , B2ADOF74Rdt , B2ADOF74V , B2ADOF74Wvs , B2ADOF75A , B2ADOF75Add , B2ADOF75D , & - B2ADOF75Hds , B2ADOF75Rdt , B2ADOF75V , B2ADOF75Wvs , B2ADOF76A , B2ADOF76Add , B2ADOF76D , & - B2ADOF76Hds , B2ADOF76Rdt , B2ADOF76V , B2ADOF76Wvs , B2ADOF77A , B2ADOF77Add , B2ADOF77D , & - B2ADOF77Hds , B2ADOF77Rdt , B2ADOF77V , B2ADOF77Wvs , B2ADOF78A , B2ADOF78Add , B2ADOF78D , & - B2ADOF78Hds , B2ADOF78Rdt , B2ADOF78V , B2ADOF78Wvs , B2ADOF79A , B2ADOF79Add , B2ADOF79D , & - B2ADOF79Hds , B2ADOF79Rdt , B2ADOF79V , B2ADOF79Wvs , B2ADOF7A , B2ADOF7Add , B2ADOF7D , & - B2ADOF7Hds , B2ADOF7Rdt , B2ADOF7V , B2ADOF7Wvs , B2ADOF80A , B2ADOF80Add , B2ADOF80D , & - B2ADOF80Hds , B2ADOF80Rdt , B2ADOF80V , B2ADOF80Wvs , B2ADOF81A , B2ADOF81Add , B2ADOF81D , & - B2ADOF81Hds , B2ADOF81Rdt , B2ADOF81V , B2ADOF81Wvs , B2ADOF82A , B2ADOF82Add , B2ADOF82D , & - B2ADOF82Hds , B2ADOF82Rdt , B2ADOF82V , B2ADOF82Wvs , B2ADOF83A , B2ADOF83Add , B2ADOF83D , & - B2ADOF83Hds , B2ADOF83Rdt , B2ADOF83V , B2ADOF83Wvs , B2ADOF84A , B2ADOF84Add , B2ADOF84D , & - B2ADOF84Hds , B2ADOF84Rdt , B2ADOF84V , B2ADOF84Wvs , B2ADOF85A , B2ADOF85Add , B2ADOF85D , & - B2ADOF85Hds , B2ADOF85Rdt , B2ADOF85V , B2ADOF85Wvs , B2ADOF86A , B2ADOF86Add , B2ADOF86D , & - B2ADOF86Hds , B2ADOF86Rdt , B2ADOF86V , B2ADOF86Wvs , B2ADOF87A , B2ADOF87Add , B2ADOF87D , & - B2ADOF87Hds , B2ADOF87Rdt , B2ADOF87V , B2ADOF87Wvs , B2ADOF88A , B2ADOF88Add , B2ADOF88D , & - B2ADOF88Hds , B2ADOF88Rdt , B2ADOF88V , B2ADOF88Wvs , B2ADOF89A , B2ADOF89Add , B2ADOF89D , & - B2ADOF89Hds , B2ADOF89Rdt , B2ADOF89V , B2ADOF89Wvs , B2ADOF8A , B2ADOF8Add , B2ADOF8D , & - B2ADOF8Hds , B2ADOF8Rdt , B2ADOF8V , B2ADOF8Wvs , B2ADOF90A , B2ADOF90Add , B2ADOF90D , & - B2ADOF90Hds , B2ADOF90Rdt , B2ADOF90V , B2ADOF90Wvs , B2ADOF91A , B2ADOF91Add , B2ADOF91D , & - B2ADOF91Hds , B2ADOF91Rdt , B2ADOF91V , B2ADOF91Wvs , B2ADOF92A , B2ADOF92Add , B2ADOF92D , & - B2ADOF92Hds , B2ADOF92Rdt , B2ADOF92V , B2ADOF92Wvs , B2ADOF93A , B2ADOF93Add , B2ADOF93D , & - B2ADOF93Hds , B2ADOF93Rdt , B2ADOF93V , B2ADOF93Wvs , B2ADOF94A , B2ADOF94Add , B2ADOF94D , & - B2ADOF94Hds , B2ADOF94Rdt , B2ADOF94V , B2ADOF94Wvs , B2ADOF95A , B2ADOF95Add , B2ADOF95D , & - B2ADOF95Hds , B2ADOF95Rdt , B2ADOF95V , B2ADOF95Wvs , B2ADOF96A , B2ADOF96Add , B2ADOF96D , & - B2ADOF96Hds , B2ADOF96Rdt , B2ADOF96V , B2ADOF96Wvs , B2ADOF97A , B2ADOF97Add , B2ADOF97D , & - B2ADOF97Hds , B2ADOF97Rdt , B2ADOF97V , B2ADOF97Wvs , B2ADOF98A , B2ADOF98Add , B2ADOF98D , & - B2ADOF98Hds , B2ADOF98Rdt , B2ADOF98V , B2ADOF98Wvs , B2ADOF99A , B2ADOF99Add , B2ADOF99D , & - B2ADOF99Hds , B2ADOF99Rdt , B2ADOF99V , B2ADOF99Wvs , B2ADOF9A , B2ADOF9Add , B2ADOF9D , & - B2ADOF9Hds , B2ADOF9Rdt , B2ADOF9V , B2ADOF9Wvs , B2HdSFxi , B2HdSFyi , B2HdSFzi , & - B2HdSMxi , B2HdSMyi , B2HdSMzi , B2Heave , B2Pitch , B2RAxi , B2RAyi , & - B2RAzi , B2RdtFxi , B2RdtFyi , B2RdtFzi , B2RdtMxi , B2RdtMyi , B2RdtMzi , & - B2Roll , B2RVxi , B2RVyi , B2RVzi , B2Surge , B2Sway , B2TAxi , & - B2TAyi , B2TAzi , B2TVxi , B2TVyi , B2TVzi , B2WvsF1xi , B2WvsF1yi , & - B2WvsF1zi , B2WvsF2xi , B2WvsF2yi , B2WvsF2zi , B2WvsFxi , B2WvsFyi , B2WvsFzi , & - B2WvsM1xi , B2WvsM1yi , B2WvsM1zi , B2WvsM2xi , B2WvsM2yi , B2WvsM2zi , B2WvsMxi , & - B2WvsMyi , B2WvsMzi , B2Yaw , B3AddFxi , B3AddFyi , B3AddFzi , B3AddMxi , & - B3AddMyi , B3AddMzi , B3ADOF10A , B3ADOF10Add , B3ADOF10D , B3ADOF10Hds , B3ADOF10Rdt , & - B3ADOF10V , B3ADOF10Wvs , B3ADOF11A , B3ADOF11Add , B3ADOF11D , B3ADOF11Hds , B3ADOF11Rdt , & - B3ADOF11V , B3ADOF11Wvs , B3ADOF12A , B3ADOF12Add , B3ADOF12D , B3ADOF12Hds , B3ADOF12Rdt , & - B3ADOF12V , B3ADOF12Wvs , B3ADOF13A , B3ADOF13Add , B3ADOF13D , B3ADOF13Hds , B3ADOF13Rdt , & - B3ADOF13V , B3ADOF13Wvs , B3ADOF14A , B3ADOF14Add , B3ADOF14D , B3ADOF14Hds , B3ADOF14Rdt , & - B3ADOF14V , B3ADOF14Wvs , B3ADOF15A , B3ADOF15Add , B3ADOF15D , B3ADOF15Hds , B3ADOF15Rdt , & - B3ADOF15V , B3ADOF15Wvs , B3ADOF16A , B3ADOF16Add , B3ADOF16D , B3ADOF16Hds , B3ADOF16Rdt , & - B3ADOF16V , B3ADOF16Wvs , B3ADOF17A , B3ADOF17Add , B3ADOF17D , B3ADOF17Hds , B3ADOF17Rdt , & - B3ADOF17V , B3ADOF17Wvs , B3ADOF18A , B3ADOF18Add , B3ADOF18D , B3ADOF18Hds , B3ADOF18Rdt , & - B3ADOF18V , B3ADOF18Wvs , B3ADOF19A , B3ADOF19Add , B3ADOF19D , B3ADOF19Hds , B3ADOF19Rdt , & - B3ADOF19V , B3ADOF19Wvs , B3ADOF1A , B3ADOF1Add , B3ADOF1D , B3ADOF1Hds , B3ADOF1Rdt , & - B3ADOF1V , B3ADOF1Wvs , B3ADOF20A , B3ADOF20Add , B3ADOF20D , B3ADOF20Hds , B3ADOF20Rdt , & - B3ADOF20V , B3ADOF20Wvs , B3ADOF21A , B3ADOF21Add , B3ADOF21D , B3ADOF21Hds , B3ADOF21Rdt , & - B3ADOF21V , B3ADOF21Wvs , B3ADOF22A , B3ADOF22Add , B3ADOF22D , B3ADOF22Hds , B3ADOF22Rdt , & - B3ADOF22V , B3ADOF22Wvs , B3ADOF23A , B3ADOF23Add , B3ADOF23D , B3ADOF23Hds , B3ADOF23Rdt , & - B3ADOF23V , B3ADOF23Wvs , B3ADOF24A , B3ADOF24Add , B3ADOF24D , B3ADOF24Hds , B3ADOF24Rdt , & - B3ADOF24V , B3ADOF24Wvs , B3ADOF25A , B3ADOF25Add , B3ADOF25D , B3ADOF25Hds , B3ADOF25Rdt , & - B3ADOF25V , B3ADOF25Wvs , B3ADOF26A , B3ADOF26Add , B3ADOF26D , B3ADOF26Hds , B3ADOF26Rdt , & - B3ADOF26V , B3ADOF26Wvs , B3ADOF27A , B3ADOF27Add , B3ADOF27D , B3ADOF27Hds , B3ADOF27Rdt , & - B3ADOF27V , B3ADOF27Wvs , B3ADOF28A , B3ADOF28Add , B3ADOF28D , B3ADOF28Hds , B3ADOF28Rdt , & - B3ADOF28V , B3ADOF28Wvs , B3ADOF29A , B3ADOF29Add , B3ADOF29D , B3ADOF29Hds , B3ADOF29Rdt , & - B3ADOF29V , B3ADOF29Wvs , B3ADOF2A , B3ADOF2Add , B3ADOF2D , B3ADOF2Hds , B3ADOF2Rdt , & - B3ADOF2V , B3ADOF2Wvs , B3ADOF30A , B3ADOF30Add , B3ADOF30D , B3ADOF30Hds , B3ADOF30Rdt , & - B3ADOF30V , B3ADOF30Wvs , B3ADOF31A , B3ADOF31Add , B3ADOF31D , B3ADOF31Hds , B3ADOF31Rdt , & - B3ADOF31V , B3ADOF31Wvs , B3ADOF32A , B3ADOF32Add , B3ADOF32D , B3ADOF32Hds , B3ADOF32Rdt , & - B3ADOF32V , B3ADOF32Wvs , B3ADOF33A , B3ADOF33Add , B3ADOF33D , B3ADOF33Hds , B3ADOF33Rdt , & - B3ADOF33V , B3ADOF33Wvs , B3ADOF34A , B3ADOF34Add , B3ADOF34D , B3ADOF34Hds , B3ADOF34Rdt /) - INTEGER(IntKi), PARAMETER :: ParamIndxAry2(1687) = (/ & ! This lists the index into AllOuts(:) of the allowed parameters ValidParamAry(:) - B3ADOF34V , B3ADOF34Wvs , B3ADOF35A , B3ADOF35Add , B3ADOF35D , B3ADOF35Hds , B3ADOF35Rdt , & - B3ADOF35V , B3ADOF35Wvs , B3ADOF36A , B3ADOF36Add , B3ADOF36D , B3ADOF36Hds , B3ADOF36Rdt , & - B3ADOF36V , B3ADOF36Wvs , B3ADOF37A , B3ADOF37Add , B3ADOF37D , B3ADOF37Hds , B3ADOF37Rdt , & - B3ADOF37V , B3ADOF37Wvs , B3ADOF38A , B3ADOF38Add , B3ADOF38D , B3ADOF38Hds , B3ADOF38Rdt , & - B3ADOF38V , B3ADOF38Wvs , B3ADOF39A , B3ADOF39Add , B3ADOF39D , B3ADOF39Hds , B3ADOF39Rdt , & - B3ADOF39V , B3ADOF39Wvs , B3ADOF3A , B3ADOF3Add , B3ADOF3D , B3ADOF3Hds , B3ADOF3Rdt , & - B3ADOF3V , B3ADOF3Wvs , B3ADOF40A , B3ADOF40Add , B3ADOF40D , B3ADOF40Hds , B3ADOF40Rdt , & - B3ADOF40V , B3ADOF40Wvs , B3ADOF41A , B3ADOF41Add , B3ADOF41D , B3ADOF41Hds , B3ADOF41Rdt , & - B3ADOF41V , B3ADOF41Wvs , B3ADOF42A , B3ADOF42Add , B3ADOF42D , B3ADOF42Hds , B3ADOF42Rdt , & - B3ADOF42V , B3ADOF42Wvs , B3ADOF43A , B3ADOF43Add , B3ADOF43D , B3ADOF43Hds , B3ADOF43Rdt , & - B3ADOF43V , B3ADOF43Wvs , B3ADOF44A , B3ADOF44Add , B3ADOF44D , B3ADOF44Hds , B3ADOF44Rdt , & - B3ADOF44V , B3ADOF44Wvs , B3ADOF45A , B3ADOF45Add , B3ADOF45D , B3ADOF45Hds , B3ADOF45Rdt , & - B3ADOF45V , B3ADOF45Wvs , B3ADOF46A , B3ADOF46Add , B3ADOF46D , B3ADOF46Hds , B3ADOF46Rdt , & - B3ADOF46V , B3ADOF46Wvs , B3ADOF47A , B3ADOF47Add , B3ADOF47D , B3ADOF47Hds , B3ADOF47Rdt , & - B3ADOF47V , B3ADOF47Wvs , B3ADOF48A , B3ADOF48Add , B3ADOF48D , B3ADOF48Hds , B3ADOF48Rdt , & - B3ADOF48V , B3ADOF48Wvs , B3ADOF49A , B3ADOF49Add , B3ADOF49D , B3ADOF49Hds , B3ADOF49Rdt , & - B3ADOF49V , B3ADOF49Wvs , B3ADOF4A , B3ADOF4Add , B3ADOF4D , B3ADOF4Hds , B3ADOF4Rdt , & - B3ADOF4V , B3ADOF4Wvs , B3ADOF50A , B3ADOF50Add , B3ADOF50D , B3ADOF50Hds , B3ADOF50Rdt , & - B3ADOF50V , B3ADOF50Wvs , B3ADOF51A , B3ADOF51Add , B3ADOF51D , B3ADOF51Hds , B3ADOF51Rdt , & - B3ADOF51V , B3ADOF51Wvs , B3ADOF52A , B3ADOF52Add , B3ADOF52D , B3ADOF52Hds , B3ADOF52Rdt , & - B3ADOF52V , B3ADOF52Wvs , B3ADOF53A , B3ADOF53Add , B3ADOF53D , B3ADOF53Hds , B3ADOF53Rdt , & - B3ADOF53V , B3ADOF53Wvs , B3ADOF54A , B3ADOF54Add , B3ADOF54D , B3ADOF54Hds , B3ADOF54Rdt , & - B3ADOF54V , B3ADOF54Wvs , B3ADOF55A , B3ADOF55Add , B3ADOF55D , B3ADOF55Hds , B3ADOF55Rdt , & - B3ADOF55V , B3ADOF55Wvs , B3ADOF56A , B3ADOF56Add , B3ADOF56D , B3ADOF56Hds , B3ADOF56Rdt , & - B3ADOF56V , B3ADOF56Wvs , B3ADOF57A , B3ADOF57Add , B3ADOF57D , B3ADOF57Hds , B3ADOF57Rdt , & - B3ADOF57V , B3ADOF57Wvs , B3ADOF58A , B3ADOF58Add , B3ADOF58D , B3ADOF58Hds , B3ADOF58Rdt , & - B3ADOF58V , B3ADOF58Wvs , B3ADOF59A , B3ADOF59Add , B3ADOF59D , B3ADOF59Hds , B3ADOF59Rdt , & - B3ADOF59V , B3ADOF59Wvs , B3ADOF5A , B3ADOF5Add , B3ADOF5D , B3ADOF5Hds , B3ADOF5Rdt , & - B3ADOF5V , B3ADOF5Wvs , B3ADOF60A , B3ADOF60Add , B3ADOF60D , B3ADOF60Hds , B3ADOF60Rdt , & - B3ADOF60V , B3ADOF60Wvs , B3ADOF61A , B3ADOF61Add , B3ADOF61D , B3ADOF61Hds , B3ADOF61Rdt , & - B3ADOF61V , B3ADOF61Wvs , B3ADOF62A , B3ADOF62Add , B3ADOF62D , B3ADOF62Hds , B3ADOF62Rdt , & - B3ADOF62V , B3ADOF62Wvs , B3ADOF63A , B3ADOF63Add , B3ADOF63D , B3ADOF63Hds , B3ADOF63Rdt , & - B3ADOF63V , B3ADOF63Wvs , B3ADOF64A , B3ADOF64Add , B3ADOF64D , B3ADOF64Hds , B3ADOF64Rdt , & - B3ADOF64V , B3ADOF64Wvs , B3ADOF65A , B3ADOF65Add , B3ADOF65D , B3ADOF65Hds , B3ADOF65Rdt , & - B3ADOF65V , B3ADOF65Wvs , B3ADOF66A , B3ADOF66Add , B3ADOF66D , B3ADOF66Hds , B3ADOF66Rdt , & - B3ADOF66V , B3ADOF66Wvs , B3ADOF67A , B3ADOF67Add , B3ADOF67D , B3ADOF67Hds , B3ADOF67Rdt , & - B3ADOF67V , B3ADOF67Wvs , B3ADOF68A , B3ADOF68Add , B3ADOF68D , B3ADOF68Hds , B3ADOF68Rdt , & - B3ADOF68V , B3ADOF68Wvs , B3ADOF69A , B3ADOF69Add , B3ADOF69D , B3ADOF69Hds , B3ADOF69Rdt , & - B3ADOF69V , B3ADOF69Wvs , B3ADOF6A , B3ADOF6Add , B3ADOF6D , B3ADOF6Hds , B3ADOF6Rdt , & - B3ADOF6V , B3ADOF6Wvs , B3ADOF70A , B3ADOF70Add , B3ADOF70D , B3ADOF70Hds , B3ADOF70Rdt , & - B3ADOF70V , B3ADOF70Wvs , B3ADOF71A , B3ADOF71Add , B3ADOF71D , B3ADOF71Hds , B3ADOF71Rdt , & - B3ADOF71V , B3ADOF71Wvs , B3ADOF72A , B3ADOF72Add , B3ADOF72D , B3ADOF72Hds , B3ADOF72Rdt , & - B3ADOF72V , B3ADOF72Wvs , B3ADOF73A , B3ADOF73Add , B3ADOF73D , B3ADOF73Hds , B3ADOF73Rdt , & - B3ADOF73V , B3ADOF73Wvs , B3ADOF74A , B3ADOF74Add , B3ADOF74D , B3ADOF74Hds , B3ADOF74Rdt , & - B3ADOF74V , B3ADOF74Wvs , B3ADOF75A , B3ADOF75Add , B3ADOF75D , B3ADOF75Hds , B3ADOF75Rdt , & - B3ADOF75V , B3ADOF75Wvs , B3ADOF76A , B3ADOF76Add , B3ADOF76D , B3ADOF76Hds , B3ADOF76Rdt , & - B3ADOF76V , B3ADOF76Wvs , B3ADOF77A , B3ADOF77Add , B3ADOF77D , B3ADOF77Hds , B3ADOF77Rdt , & - B3ADOF77V , B3ADOF77Wvs , B3ADOF78A , B3ADOF78Add , B3ADOF78D , B3ADOF78Hds , B3ADOF78Rdt , & - B3ADOF78V , B3ADOF78Wvs , B3ADOF79A , B3ADOF79Add , B3ADOF79D , B3ADOF79Hds , B3ADOF79Rdt , & - B3ADOF79V , B3ADOF79Wvs , B3ADOF7A , B3ADOF7Add , B3ADOF7D , B3ADOF7Hds , B3ADOF7Rdt , & - B3ADOF7V , B3ADOF7Wvs , B3ADOF80A , B3ADOF80Add , B3ADOF80D , B3ADOF80Hds , B3ADOF80Rdt , & - B3ADOF80V , B3ADOF80Wvs , B3ADOF81A , B3ADOF81Add , B3ADOF81D , B3ADOF81Hds , B3ADOF81Rdt , & - B3ADOF81V , B3ADOF81Wvs , B3ADOF82A , B3ADOF82Add , B3ADOF82D , B3ADOF82Hds , B3ADOF82Rdt , & - B3ADOF82V , B3ADOF82Wvs , B3ADOF83A , B3ADOF83Add , B3ADOF83D , B3ADOF83Hds , B3ADOF83Rdt , & - B3ADOF83V , B3ADOF83Wvs , B3ADOF84A , B3ADOF84Add , B3ADOF84D , B3ADOF84Hds , B3ADOF84Rdt , & - B3ADOF84V , B3ADOF84Wvs , B3ADOF85A , B3ADOF85Add , B3ADOF85D , B3ADOF85Hds , B3ADOF85Rdt , & - B3ADOF85V , B3ADOF85Wvs , B3ADOF86A , B3ADOF86Add , B3ADOF86D , B3ADOF86Hds , B3ADOF86Rdt , & - B3ADOF86V , B3ADOF86Wvs , B3ADOF87A , B3ADOF87Add , B3ADOF87D , B3ADOF87Hds , B3ADOF87Rdt , & - B3ADOF87V , B3ADOF87Wvs , B3ADOF88A , B3ADOF88Add , B3ADOF88D , B3ADOF88Hds , B3ADOF88Rdt , & - B3ADOF88V , B3ADOF88Wvs , B3ADOF89A , B3ADOF89Add , B3ADOF89D , B3ADOF89Hds , B3ADOF89Rdt , & - B3ADOF89V , B3ADOF89Wvs , B3ADOF8A , B3ADOF8Add , B3ADOF8D , B3ADOF8Hds , B3ADOF8Rdt , & - B3ADOF8V , B3ADOF8Wvs , B3ADOF90A , B3ADOF90Add , B3ADOF90D , B3ADOF90Hds , B3ADOF90Rdt , & - B3ADOF90V , B3ADOF90Wvs , B3ADOF91A , B3ADOF91Add , B3ADOF91D , B3ADOF91Hds , B3ADOF91Rdt , & - B3ADOF91V , B3ADOF91Wvs , B3ADOF92A , B3ADOF92Add , B3ADOF92D , B3ADOF92Hds , B3ADOF92Rdt , & - B3ADOF92V , B3ADOF92Wvs , B3ADOF93A , B3ADOF93Add , B3ADOF93D , B3ADOF93Hds , B3ADOF93Rdt , & - B3ADOF93V , B3ADOF93Wvs , B3ADOF94A , B3ADOF94Add , B3ADOF94D , B3ADOF94Hds , B3ADOF94Rdt , & - B3ADOF94V , B3ADOF94Wvs , B3ADOF95A , B3ADOF95Add , B3ADOF95D , B3ADOF95Hds , B3ADOF95Rdt , & - B3ADOF95V , B3ADOF95Wvs , B3ADOF96A , B3ADOF96Add , B3ADOF96D , B3ADOF96Hds , B3ADOF96Rdt , & - B3ADOF96V , B3ADOF96Wvs , B3ADOF97A , B3ADOF97Add , B3ADOF97D , B3ADOF97Hds , B3ADOF97Rdt , & - B3ADOF97V , B3ADOF97Wvs , B3ADOF98A , B3ADOF98Add , B3ADOF98D , B3ADOF98Hds , B3ADOF98Rdt , & - B3ADOF98V , B3ADOF98Wvs , B3ADOF99A , B3ADOF99Add , B3ADOF99D , B3ADOF99Hds , B3ADOF99Rdt , & - B3ADOF99V , B3ADOF99Wvs , B3ADOF9A , B3ADOF9Add , B3ADOF9D , B3ADOF9Hds , B3ADOF9Rdt , & - B3ADOF9V , B3ADOF9Wvs , B3HdSFxi , B3HdSFyi , B3HdSFzi , B3HdSMxi , B3HdSMyi , & - B3HdSMzi , B3Heave , B3Pitch , B3RAxi , B3RAyi , B3RAzi , B3RdtFxi , & - B3RdtFyi , B3RdtFzi , B3RdtMxi , B3RdtMyi , B3RdtMzi , B3Roll , B3RVxi , & - B3RVyi , B3RVzi , B3Surge , B3Sway , B3TAxi , B3TAyi , B3TAzi , & - B3TVxi , B3TVyi , B3TVzi , B3WvsF1xi , B3WvsF1yi , B3WvsF1zi , B3WvsF2xi , & - B3WvsF2yi , B3WvsF2zi , B3WvsFxi , B3WvsFyi , B3WvsFzi , B3WvsM1xi , B3WvsM1yi , & - B3WvsM1zi , B3WvsM2xi , B3WvsM2yi , B3WvsM2zi , B3WvsMxi , B3WvsMyi , B3WvsMzi , & - B3Yaw , B4AddFxi , B4AddFyi , B4AddFzi , B4AddMxi , B4AddMyi , B4AddMzi , & - B4ADOF10A , B4ADOF10Add , B4ADOF10D , B4ADOF10Hds , B4ADOF10Rdt , B4ADOF10V , B4ADOF10Wvs , & - B4ADOF11A , B4ADOF11Add , B4ADOF11D , B4ADOF11Hds , B4ADOF11Rdt , B4ADOF11V , B4ADOF11Wvs , & - B4ADOF12A , B4ADOF12Add , B4ADOF12D , B4ADOF12Hds , B4ADOF12Rdt , B4ADOF12V , B4ADOF12Wvs , & - B4ADOF13A , B4ADOF13Add , B4ADOF13D , B4ADOF13Hds , B4ADOF13Rdt , B4ADOF13V , B4ADOF13Wvs , & - B4ADOF14A , B4ADOF14Add , B4ADOF14D , B4ADOF14Hds , B4ADOF14Rdt , B4ADOF14V , B4ADOF14Wvs , & - B4ADOF15A , B4ADOF15Add , B4ADOF15D , B4ADOF15Hds , B4ADOF15Rdt , B4ADOF15V , B4ADOF15Wvs , & - B4ADOF16A , B4ADOF16Add , B4ADOF16D , B4ADOF16Hds , B4ADOF16Rdt , B4ADOF16V , B4ADOF16Wvs , & - B4ADOF17A , B4ADOF17Add , B4ADOF17D , B4ADOF17Hds , B4ADOF17Rdt , B4ADOF17V , B4ADOF17Wvs , & - B4ADOF18A , B4ADOF18Add , B4ADOF18D , B4ADOF18Hds , B4ADOF18Rdt , B4ADOF18V , B4ADOF18Wvs , & - B4ADOF19A , B4ADOF19Add , B4ADOF19D , B4ADOF19Hds , B4ADOF19Rdt , B4ADOF19V , B4ADOF19Wvs , & - B4ADOF1A , B4ADOF1Add , B4ADOF1D , B4ADOF1Hds , B4ADOF1Rdt , B4ADOF1V , B4ADOF1Wvs , & - B4ADOF20A , B4ADOF20Add , B4ADOF20D , B4ADOF20Hds , B4ADOF20Rdt , B4ADOF20V , B4ADOF20Wvs , & - B4ADOF21A , B4ADOF21Add , B4ADOF21D , B4ADOF21Hds , B4ADOF21Rdt , B4ADOF21V , B4ADOF21Wvs , & - B4ADOF22A , B4ADOF22Add , B4ADOF22D , B4ADOF22Hds , B4ADOF22Rdt , B4ADOF22V , B4ADOF22Wvs , & - B4ADOF23A , B4ADOF23Add , B4ADOF23D , B4ADOF23Hds , B4ADOF23Rdt , B4ADOF23V , B4ADOF23Wvs , & - B4ADOF24A , B4ADOF24Add , B4ADOF24D , B4ADOF24Hds , B4ADOF24Rdt , B4ADOF24V , B4ADOF24Wvs , & - B4ADOF25A , B4ADOF25Add , B4ADOF25D , B4ADOF25Hds , B4ADOF25Rdt , B4ADOF25V , B4ADOF25Wvs , & - B4ADOF26A , B4ADOF26Add , B4ADOF26D , B4ADOF26Hds , B4ADOF26Rdt , B4ADOF26V , B4ADOF26Wvs , & - B4ADOF27A , B4ADOF27Add , B4ADOF27D , B4ADOF27Hds , B4ADOF27Rdt , B4ADOF27V , B4ADOF27Wvs , & - B4ADOF28A , B4ADOF28Add , B4ADOF28D , B4ADOF28Hds , B4ADOF28Rdt , B4ADOF28V , B4ADOF28Wvs , & - B4ADOF29A , B4ADOF29Add , B4ADOF29D , B4ADOF29Hds , B4ADOF29Rdt , B4ADOF29V , B4ADOF29Wvs , & - B4ADOF2A , B4ADOF2Add , B4ADOF2D , B4ADOF2Hds , B4ADOF2Rdt , B4ADOF2V , B4ADOF2Wvs , & - B4ADOF30A , B4ADOF30Add , B4ADOF30D , B4ADOF30Hds , B4ADOF30Rdt , B4ADOF30V , B4ADOF30Wvs , & - B4ADOF31A , B4ADOF31Add , B4ADOF31D , B4ADOF31Hds , B4ADOF31Rdt , B4ADOF31V , B4ADOF31Wvs , & - B4ADOF32A , B4ADOF32Add , B4ADOF32D , B4ADOF32Hds , B4ADOF32Rdt , B4ADOF32V , B4ADOF32Wvs , & - B4ADOF33A , B4ADOF33Add , B4ADOF33D , B4ADOF33Hds , B4ADOF33Rdt , B4ADOF33V , B4ADOF33Wvs , & - B4ADOF34A , B4ADOF34Add , B4ADOF34D , B4ADOF34Hds , B4ADOF34Rdt , B4ADOF34V , B4ADOF34Wvs , & - B4ADOF35A , B4ADOF35Add , B4ADOF35D , B4ADOF35Hds , B4ADOF35Rdt , B4ADOF35V , B4ADOF35Wvs , & - B4ADOF36A , B4ADOF36Add , B4ADOF36D , B4ADOF36Hds , B4ADOF36Rdt , B4ADOF36V , B4ADOF36Wvs , & - B4ADOF37A , B4ADOF37Add , B4ADOF37D , B4ADOF37Hds , B4ADOF37Rdt , B4ADOF37V , B4ADOF37Wvs , & - B4ADOF38A , B4ADOF38Add , B4ADOF38D , B4ADOF38Hds , B4ADOF38Rdt , B4ADOF38V , B4ADOF38Wvs , & - B4ADOF39A , B4ADOF39Add , B4ADOF39D , B4ADOF39Hds , B4ADOF39Rdt , B4ADOF39V , B4ADOF39Wvs , & - B4ADOF3A , B4ADOF3Add , B4ADOF3D , B4ADOF3Hds , B4ADOF3Rdt , B4ADOF3V , B4ADOF3Wvs , & - B4ADOF40A , B4ADOF40Add , B4ADOF40D , B4ADOF40Hds , B4ADOF40Rdt , B4ADOF40V , B4ADOF40Wvs , & - B4ADOF41A , B4ADOF41Add , B4ADOF41D , B4ADOF41Hds , B4ADOF41Rdt , B4ADOF41V , B4ADOF41Wvs , & - B4ADOF42A , B4ADOF42Add , B4ADOF42D , B4ADOF42Hds , B4ADOF42Rdt , B4ADOF42V , B4ADOF42Wvs , & - B4ADOF43A , B4ADOF43Add , B4ADOF43D , B4ADOF43Hds , B4ADOF43Rdt , B4ADOF43V , B4ADOF43Wvs , & - B4ADOF44A , B4ADOF44Add , B4ADOF44D , B4ADOF44Hds , B4ADOF44Rdt , B4ADOF44V , B4ADOF44Wvs , & - B4ADOF45A , B4ADOF45Add , B4ADOF45D , B4ADOF45Hds , B4ADOF45Rdt , B4ADOF45V , B4ADOF45Wvs , & - B4ADOF46A , B4ADOF46Add , B4ADOF46D , B4ADOF46Hds , B4ADOF46Rdt , B4ADOF46V , B4ADOF46Wvs , & - B4ADOF47A , B4ADOF47Add , B4ADOF47D , B4ADOF47Hds , B4ADOF47Rdt , B4ADOF47V , B4ADOF47Wvs , & - B4ADOF48A , B4ADOF48Add , B4ADOF48D , B4ADOF48Hds , B4ADOF48Rdt , B4ADOF48V , B4ADOF48Wvs , & - B4ADOF49A , B4ADOF49Add , B4ADOF49D , B4ADOF49Hds , B4ADOF49Rdt , B4ADOF49V , B4ADOF49Wvs , & - B4ADOF4A , B4ADOF4Add , B4ADOF4D , B4ADOF4Hds , B4ADOF4Rdt , B4ADOF4V , B4ADOF4Wvs , & - B4ADOF50A , B4ADOF50Add , B4ADOF50D , B4ADOF50Hds , B4ADOF50Rdt , B4ADOF50V , B4ADOF50Wvs , & - B4ADOF51A , B4ADOF51Add , B4ADOF51D , B4ADOF51Hds , B4ADOF51Rdt , B4ADOF51V , B4ADOF51Wvs , & - B4ADOF52A , B4ADOF52Add , B4ADOF52D , B4ADOF52Hds , B4ADOF52Rdt , B4ADOF52V , B4ADOF52Wvs , & - B4ADOF53A , B4ADOF53Add , B4ADOF53D , B4ADOF53Hds , B4ADOF53Rdt , B4ADOF53V , B4ADOF53Wvs , & - B4ADOF54A , B4ADOF54Add , B4ADOF54D , B4ADOF54Hds , B4ADOF54Rdt , B4ADOF54V , B4ADOF54Wvs , & - B4ADOF55A , B4ADOF55Add , B4ADOF55D , B4ADOF55Hds , B4ADOF55Rdt , B4ADOF55V , B4ADOF55Wvs , & - B4ADOF56A , B4ADOF56Add , B4ADOF56D , B4ADOF56Hds , B4ADOF56Rdt , B4ADOF56V , B4ADOF56Wvs , & - B4ADOF57A , B4ADOF57Add , B4ADOF57D , B4ADOF57Hds , B4ADOF57Rdt , B4ADOF57V , B4ADOF57Wvs , & - B4ADOF58A , B4ADOF58Add , B4ADOF58D , B4ADOF58Hds , B4ADOF58Rdt , B4ADOF58V , B4ADOF58Wvs , & - B4ADOF59A , B4ADOF59Add , B4ADOF59D , B4ADOF59Hds , B4ADOF59Rdt , B4ADOF59V , B4ADOF59Wvs , & - B4ADOF5A , B4ADOF5Add , B4ADOF5D , B4ADOF5Hds , B4ADOF5Rdt , B4ADOF5V , B4ADOF5Wvs , & - B4ADOF60A , B4ADOF60Add , B4ADOF60D , B4ADOF60Hds , B4ADOF60Rdt , B4ADOF60V , B4ADOF60Wvs , & - B4ADOF61A , B4ADOF61Add , B4ADOF61D , B4ADOF61Hds , B4ADOF61Rdt , B4ADOF61V , B4ADOF61Wvs , & - B4ADOF62A , B4ADOF62Add , B4ADOF62D , B4ADOF62Hds , B4ADOF62Rdt , B4ADOF62V , B4ADOF62Wvs , & - B4ADOF63A , B4ADOF63Add , B4ADOF63D , B4ADOF63Hds , B4ADOF63Rdt , B4ADOF63V , B4ADOF63Wvs , & - B4ADOF64A , B4ADOF64Add , B4ADOF64D , B4ADOF64Hds , B4ADOF64Rdt , B4ADOF64V , B4ADOF64Wvs , & - B4ADOF65A , B4ADOF65Add , B4ADOF65D , B4ADOF65Hds , B4ADOF65Rdt , B4ADOF65V , B4ADOF65Wvs , & - B4ADOF66A , B4ADOF66Add , B4ADOF66D , B4ADOF66Hds , B4ADOF66Rdt , B4ADOF66V , B4ADOF66Wvs , & - B4ADOF67A , B4ADOF67Add , B4ADOF67D , B4ADOF67Hds , B4ADOF67Rdt , B4ADOF67V , B4ADOF67Wvs , & - B4ADOF68A , B4ADOF68Add , B4ADOF68D , B4ADOF68Hds , B4ADOF68Rdt , B4ADOF68V , B4ADOF68Wvs , & - B4ADOF69A , B4ADOF69Add , B4ADOF69D , B4ADOF69Hds , B4ADOF69Rdt , B4ADOF69V , B4ADOF69Wvs , & - B4ADOF6A , B4ADOF6Add , B4ADOF6D , B4ADOF6Hds , B4ADOF6Rdt , B4ADOF6V , B4ADOF6Wvs , & - B4ADOF70A , B4ADOF70Add , B4ADOF70D , B4ADOF70Hds , B4ADOF70Rdt , B4ADOF70V , B4ADOF70Wvs , & - B4ADOF71A , B4ADOF71Add , B4ADOF71D , B4ADOF71Hds , B4ADOF71Rdt , B4ADOF71V , B4ADOF71Wvs , & - B4ADOF72A , B4ADOF72Add , B4ADOF72D , B4ADOF72Hds , B4ADOF72Rdt , B4ADOF72V , B4ADOF72Wvs , & - B4ADOF73A , B4ADOF73Add , B4ADOF73D , B4ADOF73Hds , B4ADOF73Rdt , B4ADOF73V , B4ADOF73Wvs , & - B4ADOF74A , B4ADOF74Add , B4ADOF74D , B4ADOF74Hds , B4ADOF74Rdt , B4ADOF74V , B4ADOF74Wvs , & - B4ADOF75A , B4ADOF75Add , B4ADOF75D , B4ADOF75Hds , B4ADOF75Rdt , B4ADOF75V , B4ADOF75Wvs , & - B4ADOF76A , B4ADOF76Add , B4ADOF76D , B4ADOF76Hds , B4ADOF76Rdt , B4ADOF76V , B4ADOF76Wvs , & - B4ADOF77A , B4ADOF77Add , B4ADOF77D , B4ADOF77Hds , B4ADOF77Rdt , B4ADOF77V , B4ADOF77Wvs , & - B4ADOF78A , B4ADOF78Add , B4ADOF78D , B4ADOF78Hds , B4ADOF78Rdt , B4ADOF78V , B4ADOF78Wvs , & - B4ADOF79A , B4ADOF79Add , B4ADOF79D , B4ADOF79Hds , B4ADOF79Rdt , B4ADOF79V , B4ADOF79Wvs , & - B4ADOF7A , B4ADOF7Add , B4ADOF7D , B4ADOF7Hds , B4ADOF7Rdt , B4ADOF7V , B4ADOF7Wvs , & - B4ADOF80A , B4ADOF80Add , B4ADOF80D , B4ADOF80Hds , B4ADOF80Rdt , B4ADOF80V , B4ADOF80Wvs , & - B4ADOF81A , B4ADOF81Add , B4ADOF81D , B4ADOF81Hds , B4ADOF81Rdt , B4ADOF81V , B4ADOF81Wvs , & - B4ADOF82A , B4ADOF82Add , B4ADOF82D , B4ADOF82Hds , B4ADOF82Rdt , B4ADOF82V , B4ADOF82Wvs , & - B4ADOF83A , B4ADOF83Add , B4ADOF83D , B4ADOF83Hds , B4ADOF83Rdt , B4ADOF83V , B4ADOF83Wvs , & - B4ADOF84A , B4ADOF84Add , B4ADOF84D , B4ADOF84Hds , B4ADOF84Rdt , B4ADOF84V , B4ADOF84Wvs , & - B4ADOF85A , B4ADOF85Add , B4ADOF85D , B4ADOF85Hds , B4ADOF85Rdt , B4ADOF85V , B4ADOF85Wvs , & - B4ADOF86A , B4ADOF86Add , B4ADOF86D , B4ADOF86Hds , B4ADOF86Rdt , B4ADOF86V , B4ADOF86Wvs , & - B4ADOF87A , B4ADOF87Add , B4ADOF87D , B4ADOF87Hds , B4ADOF87Rdt , B4ADOF87V , B4ADOF87Wvs , & - B4ADOF88A , B4ADOF88Add , B4ADOF88D , B4ADOF88Hds , B4ADOF88Rdt , B4ADOF88V , B4ADOF88Wvs , & - B4ADOF89A , B4ADOF89Add , B4ADOF89D , B4ADOF89Hds , B4ADOF89Rdt , B4ADOF89V , B4ADOF89Wvs , & - B4ADOF8A , B4ADOF8Add , B4ADOF8D , B4ADOF8Hds , B4ADOF8Rdt , B4ADOF8V , B4ADOF8Wvs , & - B4ADOF90A , B4ADOF90Add , B4ADOF90D , B4ADOF90Hds , B4ADOF90Rdt , B4ADOF90V , B4ADOF90Wvs , & - B4ADOF91A , B4ADOF91Add , B4ADOF91D , B4ADOF91Hds , B4ADOF91Rdt , B4ADOF91V , B4ADOF91Wvs , & - B4ADOF92A , B4ADOF92Add , B4ADOF92D , B4ADOF92Hds , B4ADOF92Rdt , B4ADOF92V , B4ADOF92Wvs , & - B4ADOF93A , B4ADOF93Add , B4ADOF93D , B4ADOF93Hds , B4ADOF93Rdt , B4ADOF93V , B4ADOF93Wvs , & - B4ADOF94A , B4ADOF94Add , B4ADOF94D , B4ADOF94Hds , B4ADOF94Rdt , B4ADOF94V , B4ADOF94Wvs , & - B4ADOF95A , B4ADOF95Add , B4ADOF95D , B4ADOF95Hds , B4ADOF95Rdt , B4ADOF95V , B4ADOF95Wvs , & - B4ADOF96A , B4ADOF96Add , B4ADOF96D , B4ADOF96Hds , B4ADOF96Rdt , B4ADOF96V , B4ADOF96Wvs , & - B4ADOF97A , B4ADOF97Add , B4ADOF97D , B4ADOF97Hds , B4ADOF97Rdt , B4ADOF97V , B4ADOF97Wvs , & - B4ADOF98A , B4ADOF98Add , B4ADOF98D , B4ADOF98Hds , B4ADOF98Rdt , B4ADOF98V , B4ADOF98Wvs , & - B4ADOF99A , B4ADOF99Add , B4ADOF99D , B4ADOF99Hds , B4ADOF99Rdt , B4ADOF99V , B4ADOF99Wvs , & - B4ADOF9A , B4ADOF9Add , B4ADOF9D , B4ADOF9Hds , B4ADOF9Rdt , B4ADOF9V , B4ADOF9Wvs , & - B4HdSFxi , B4HdSFyi , B4HdSFzi , B4HdSMxi , B4HdSMyi , B4HdSMzi , B4Heave , & - B4Pitch , B4RAxi , B4RAyi , B4RAzi , B4RdtFxi , B4RdtFyi , B4RdtFzi , & - B4RdtMxi , B4RdtMyi , B4RdtMzi , B4Roll , B4RVxi , B4RVyi , B4RVzi , & - B4Surge , B4Sway , B4TAxi , B4TAyi , B4TAzi , B4TVxi , B4TVyi , & - B4TVzi , B4WvsF1xi , B4WvsF1yi , B4WvsF1zi , B4WvsF2xi , B4WvsF2yi , B4WvsF2zi , & - B4WvsFxi , B4WvsFyi , B4WvsFzi , B4WvsM1xi , B4WvsM1yi , B4WvsM1zi , B4WvsM2xi , & - B4WvsM2yi , B4WvsM2zi , B4WvsMxi , B4WvsMyi , B4WvsMzi , B4Yaw , B5AddFxi , & - B5AddFyi , B5AddFzi , B5AddMxi , B5AddMyi , B5AddMzi , B5ADOF10A , B5ADOF10Add , & - B5ADOF10D , B5ADOF10Hds , B5ADOF10Rdt , B5ADOF10V , B5ADOF10Wvs , B5ADOF11A , B5ADOF11Add , & - B5ADOF11D , B5ADOF11Hds , B5ADOF11Rdt , B5ADOF11V , B5ADOF11Wvs , B5ADOF12A , B5ADOF12Add , & - B5ADOF12D , B5ADOF12Hds , B5ADOF12Rdt , B5ADOF12V , B5ADOF12Wvs , B5ADOF13A , B5ADOF13Add , & - B5ADOF13D , B5ADOF13Hds , B5ADOF13Rdt , B5ADOF13V , B5ADOF13Wvs , B5ADOF14A , B5ADOF14Add , & - B5ADOF14D , B5ADOF14Hds , B5ADOF14Rdt , B5ADOF14V , B5ADOF14Wvs , B5ADOF15A , B5ADOF15Add , & - B5ADOF15D , B5ADOF15Hds , B5ADOF15Rdt , B5ADOF15V , B5ADOF15Wvs , B5ADOF16A , B5ADOF16Add , & - B5ADOF16D , B5ADOF16Hds , B5ADOF16Rdt , B5ADOF16V , B5ADOF16Wvs , B5ADOF17A , B5ADOF17Add , & - B5ADOF17D , B5ADOF17Hds , B5ADOF17Rdt , B5ADOF17V , B5ADOF17Wvs , B5ADOF18A , B5ADOF18Add , & - B5ADOF18D , B5ADOF18Hds , B5ADOF18Rdt , B5ADOF18V , B5ADOF18Wvs , B5ADOF19A , B5ADOF19Add , & - B5ADOF19D , B5ADOF19Hds , B5ADOF19Rdt , B5ADOF19V , B5ADOF19Wvs , B5ADOF1A , B5ADOF1Add , & - B5ADOF1D , B5ADOF1Hds , B5ADOF1Rdt , B5ADOF1V , B5ADOF1Wvs , B5ADOF20A , B5ADOF20Add , & - B5ADOF20D , B5ADOF20Hds , B5ADOF20Rdt , B5ADOF20V , B5ADOF20Wvs , B5ADOF21A , B5ADOF21Add , & - B5ADOF21D , B5ADOF21Hds , B5ADOF21Rdt , B5ADOF21V , B5ADOF21Wvs , B5ADOF22A , B5ADOF22Add , & - B5ADOF22D , B5ADOF22Hds , B5ADOF22Rdt , B5ADOF22V , B5ADOF22Wvs , B5ADOF23A , B5ADOF23Add , & - B5ADOF23D , B5ADOF23Hds , B5ADOF23Rdt , B5ADOF23V , B5ADOF23Wvs , B5ADOF24A , B5ADOF24Add , & - B5ADOF24D , B5ADOF24Hds , B5ADOF24Rdt , B5ADOF24V , B5ADOF24Wvs , B5ADOF25A , B5ADOF25Add , & - B5ADOF25D , B5ADOF25Hds , B5ADOF25Rdt , B5ADOF25V , B5ADOF25Wvs , B5ADOF26A , B5ADOF26Add , & - B5ADOF26D , B5ADOF26Hds , B5ADOF26Rdt , B5ADOF26V , B5ADOF26Wvs , B5ADOF27A , B5ADOF27Add , & - B5ADOF27D , B5ADOF27Hds , B5ADOF27Rdt , B5ADOF27V , B5ADOF27Wvs , B5ADOF28A , B5ADOF28Add , & - B5ADOF28D , B5ADOF28Hds , B5ADOF28Rdt , B5ADOF28V , B5ADOF28Wvs , B5ADOF29A , B5ADOF29Add , & - B5ADOF29D , B5ADOF29Hds , B5ADOF29Rdt , B5ADOF29V , B5ADOF29Wvs , B5ADOF2A , B5ADOF2Add , & - B5ADOF2D , B5ADOF2Hds , B5ADOF2Rdt , B5ADOF2V , B5ADOF2Wvs , B5ADOF30A , B5ADOF30Add , & - B5ADOF30D , B5ADOF30Hds , B5ADOF30Rdt , B5ADOF30V , B5ADOF30Wvs , B5ADOF31A , B5ADOF31Add , & - B5ADOF31D , B5ADOF31Hds , B5ADOF31Rdt , B5ADOF31V , B5ADOF31Wvs , B5ADOF32A , B5ADOF32Add , & - B5ADOF32D , B5ADOF32Hds , B5ADOF32Rdt , B5ADOF32V , B5ADOF32Wvs , B5ADOF33A , B5ADOF33Add , & - B5ADOF33D , B5ADOF33Hds , B5ADOF33Rdt , B5ADOF33V , B5ADOF33Wvs , B5ADOF34A , B5ADOF34Add , & - B5ADOF34D , B5ADOF34Hds , B5ADOF34Rdt , B5ADOF34V , B5ADOF34Wvs , B5ADOF35A , B5ADOF35Add , & - B5ADOF35D , B5ADOF35Hds , B5ADOF35Rdt , B5ADOF35V , B5ADOF35Wvs , B5ADOF36A , B5ADOF36Add , & - B5ADOF36D , B5ADOF36Hds , B5ADOF36Rdt , B5ADOF36V , B5ADOF36Wvs , B5ADOF37A , B5ADOF37Add , & - B5ADOF37D , B5ADOF37Hds , B5ADOF37Rdt , B5ADOF37V , B5ADOF37Wvs , B5ADOF38A , B5ADOF38Add , & - B5ADOF38D , B5ADOF38Hds , B5ADOF38Rdt , B5ADOF38V , B5ADOF38Wvs , B5ADOF39A , B5ADOF39Add , & - B5ADOF39D , B5ADOF39Hds , B5ADOF39Rdt , B5ADOF39V , B5ADOF39Wvs , B5ADOF3A , B5ADOF3Add , & - B5ADOF3D , B5ADOF3Hds , B5ADOF3Rdt , B5ADOF3V , B5ADOF3Wvs , B5ADOF40A , B5ADOF40Add , & - B5ADOF40D , B5ADOF40Hds , B5ADOF40Rdt , B5ADOF40V , B5ADOF40Wvs , B5ADOF41A , B5ADOF41Add , & - B5ADOF41D , B5ADOF41Hds , B5ADOF41Rdt , B5ADOF41V , B5ADOF41Wvs , B5ADOF42A , B5ADOF42Add , & - B5ADOF42D , B5ADOF42Hds , B5ADOF42Rdt , B5ADOF42V , B5ADOF42Wvs , B5ADOF43A , B5ADOF43Add , & - B5ADOF43D , B5ADOF43Hds , B5ADOF43Rdt , B5ADOF43V , B5ADOF43Wvs , B5ADOF44A , B5ADOF44Add , & - B5ADOF44D , B5ADOF44Hds , B5ADOF44Rdt , B5ADOF44V , B5ADOF44Wvs , B5ADOF45A , B5ADOF45Add , & - B5ADOF45D , B5ADOF45Hds , B5ADOF45Rdt , B5ADOF45V , B5ADOF45Wvs , B5ADOF46A , B5ADOF46Add , & - B5ADOF46D , B5ADOF46Hds , B5ADOF46Rdt , B5ADOF46V , B5ADOF46Wvs , B5ADOF47A , B5ADOF47Add , & - B5ADOF47D , B5ADOF47Hds , B5ADOF47Rdt , B5ADOF47V , B5ADOF47Wvs , B5ADOF48A , B5ADOF48Add , & - B5ADOF48D , B5ADOF48Hds , B5ADOF48Rdt , B5ADOF48V , B5ADOF48Wvs , B5ADOF49A , B5ADOF49Add , & - B5ADOF49D , B5ADOF49Hds , B5ADOF49Rdt , B5ADOF49V , B5ADOF49Wvs , B5ADOF4A , B5ADOF4Add , & - B5ADOF4D , B5ADOF4Hds , B5ADOF4Rdt , B5ADOF4V , B5ADOF4Wvs , B5ADOF50A , B5ADOF50Add , & - B5ADOF50D , B5ADOF50Hds , B5ADOF50Rdt , B5ADOF50V , B5ADOF50Wvs , B5ADOF51A , B5ADOF51Add , & - B5ADOF51D , B5ADOF51Hds , B5ADOF51Rdt , B5ADOF51V , B5ADOF51Wvs , B5ADOF52A , B5ADOF52Add , & - B5ADOF52D , B5ADOF52Hds , B5ADOF52Rdt , B5ADOF52V , B5ADOF52Wvs , B5ADOF53A , B5ADOF53Add , & - B5ADOF53D , B5ADOF53Hds , B5ADOF53Rdt , B5ADOF53V , B5ADOF53Wvs , B5ADOF54A , B5ADOF54Add , & - B5ADOF54D , B5ADOF54Hds , B5ADOF54Rdt , B5ADOF54V , B5ADOF54Wvs , B5ADOF55A , B5ADOF55Add , & - B5ADOF55D , B5ADOF55Hds , B5ADOF55Rdt , B5ADOF55V , B5ADOF55Wvs , B5ADOF56A , B5ADOF56Add , & - B5ADOF56D , B5ADOF56Hds , B5ADOF56Rdt , B5ADOF56V , B5ADOF56Wvs , B5ADOF57A , B5ADOF57Add , & - B5ADOF57D , B5ADOF57Hds , B5ADOF57Rdt , B5ADOF57V , B5ADOF57Wvs , B5ADOF58A , B5ADOF58Add , & - B5ADOF58D , B5ADOF58Hds , B5ADOF58Rdt , B5ADOF58V , B5ADOF58Wvs , B5ADOF59A , B5ADOF59Add , & - B5ADOF59D , B5ADOF59Hds , B5ADOF59Rdt , B5ADOF59V , B5ADOF59Wvs , B5ADOF5A , B5ADOF5Add /) - INTEGER(IntKi), PARAMETER :: ParamIndxAry3(1687) = (/ & ! This lists the index into AllOuts(:) of the allowed parameters ValidParamAry(:) - B5ADOF5D , B5ADOF5Hds , B5ADOF5Rdt , B5ADOF5V , B5ADOF5Wvs , B5ADOF60A , B5ADOF60Add , & - B5ADOF60D , B5ADOF60Hds , B5ADOF60Rdt , B5ADOF60V , B5ADOF60Wvs , B5ADOF61A , B5ADOF61Add , & - B5ADOF61D , B5ADOF61Hds , B5ADOF61Rdt , B5ADOF61V , B5ADOF61Wvs , B5ADOF62A , B5ADOF62Add , & - B5ADOF62D , B5ADOF62Hds , B5ADOF62Rdt , B5ADOF62V , B5ADOF62Wvs , B5ADOF63A , B5ADOF63Add , & - B5ADOF63D , B5ADOF63Hds , B5ADOF63Rdt , B5ADOF63V , B5ADOF63Wvs , B5ADOF64A , B5ADOF64Add , & - B5ADOF64D , B5ADOF64Hds , B5ADOF64Rdt , B5ADOF64V , B5ADOF64Wvs , B5ADOF65A , B5ADOF65Add , & - B5ADOF65D , B5ADOF65Hds , B5ADOF65Rdt , B5ADOF65V , B5ADOF65Wvs , B5ADOF66A , B5ADOF66Add , & - B5ADOF66D , B5ADOF66Hds , B5ADOF66Rdt , B5ADOF66V , B5ADOF66Wvs , B5ADOF67A , B5ADOF67Add , & - B5ADOF67D , B5ADOF67Hds , B5ADOF67Rdt , B5ADOF67V , B5ADOF67Wvs , B5ADOF68A , B5ADOF68Add , & - B5ADOF68D , B5ADOF68Hds , B5ADOF68Rdt , B5ADOF68V , B5ADOF68Wvs , B5ADOF69A , B5ADOF69Add , & - B5ADOF69D , B5ADOF69Hds , B5ADOF69Rdt , B5ADOF69V , B5ADOF69Wvs , B5ADOF6A , B5ADOF6Add , & - B5ADOF6D , B5ADOF6Hds , B5ADOF6Rdt , B5ADOF6V , B5ADOF6Wvs , B5ADOF70A , B5ADOF70Add , & - B5ADOF70D , B5ADOF70Hds , B5ADOF70Rdt , B5ADOF70V , B5ADOF70Wvs , B5ADOF71A , B5ADOF71Add , & - B5ADOF71D , B5ADOF71Hds , B5ADOF71Rdt , B5ADOF71V , B5ADOF71Wvs , B5ADOF72A , B5ADOF72Add , & - B5ADOF72D , B5ADOF72Hds , B5ADOF72Rdt , B5ADOF72V , B5ADOF72Wvs , B5ADOF73A , B5ADOF73Add , & - B5ADOF73D , B5ADOF73Hds , B5ADOF73Rdt , B5ADOF73V , B5ADOF73Wvs , B5ADOF74A , B5ADOF74Add , & - B5ADOF74D , B5ADOF74Hds , B5ADOF74Rdt , B5ADOF74V , B5ADOF74Wvs , B5ADOF75A , B5ADOF75Add , & - B5ADOF75D , B5ADOF75Hds , B5ADOF75Rdt , B5ADOF75V , B5ADOF75Wvs , B5ADOF76A , B5ADOF76Add , & - B5ADOF76D , B5ADOF76Hds , B5ADOF76Rdt , B5ADOF76V , B5ADOF76Wvs , B5ADOF77A , B5ADOF77Add , & - B5ADOF77D , B5ADOF77Hds , B5ADOF77Rdt , B5ADOF77V , B5ADOF77Wvs , B5ADOF78A , B5ADOF78Add , & - B5ADOF78D , B5ADOF78Hds , B5ADOF78Rdt , B5ADOF78V , B5ADOF78Wvs , B5ADOF79A , B5ADOF79Add , & - B5ADOF79D , B5ADOF79Hds , B5ADOF79Rdt , B5ADOF79V , B5ADOF79Wvs , B5ADOF7A , B5ADOF7Add , & - B5ADOF7D , B5ADOF7Hds , B5ADOF7Rdt , B5ADOF7V , B5ADOF7Wvs , B5ADOF80A , B5ADOF80Add , & - B5ADOF80D , B5ADOF80Hds , B5ADOF80Rdt , B5ADOF80V , B5ADOF80Wvs , B5ADOF81A , B5ADOF81Add , & - B5ADOF81D , B5ADOF81Hds , B5ADOF81Rdt , B5ADOF81V , B5ADOF81Wvs , B5ADOF82A , B5ADOF82Add , & - B5ADOF82D , B5ADOF82Hds , B5ADOF82Rdt , B5ADOF82V , B5ADOF82Wvs , B5ADOF83A , B5ADOF83Add , & - B5ADOF83D , B5ADOF83Hds , B5ADOF83Rdt , B5ADOF83V , B5ADOF83Wvs , B5ADOF84A , B5ADOF84Add , & - B5ADOF84D , B5ADOF84Hds , B5ADOF84Rdt , B5ADOF84V , B5ADOF84Wvs , B5ADOF85A , B5ADOF85Add , & - B5ADOF85D , B5ADOF85Hds , B5ADOF85Rdt , B5ADOF85V , B5ADOF85Wvs , B5ADOF86A , B5ADOF86Add , & - B5ADOF86D , B5ADOF86Hds , B5ADOF86Rdt , B5ADOF86V , B5ADOF86Wvs , B5ADOF87A , B5ADOF87Add , & - B5ADOF87D , B5ADOF87Hds , B5ADOF87Rdt , B5ADOF87V , B5ADOF87Wvs , B5ADOF88A , B5ADOF88Add , & - B5ADOF88D , B5ADOF88Hds , B5ADOF88Rdt , B5ADOF88V , B5ADOF88Wvs , B5ADOF89A , B5ADOF89Add , & - B5ADOF89D , B5ADOF89Hds , B5ADOF89Rdt , B5ADOF89V , B5ADOF89Wvs , B5ADOF8A , B5ADOF8Add , & - B5ADOF8D , B5ADOF8Hds , B5ADOF8Rdt , B5ADOF8V , B5ADOF8Wvs , B5ADOF90A , B5ADOF90Add , & - B5ADOF90D , B5ADOF90Hds , B5ADOF90Rdt , B5ADOF90V , B5ADOF90Wvs , B5ADOF91A , B5ADOF91Add , & - B5ADOF91D , B5ADOF91Hds , B5ADOF91Rdt , B5ADOF91V , B5ADOF91Wvs , B5ADOF92A , B5ADOF92Add , & - B5ADOF92D , B5ADOF92Hds , B5ADOF92Rdt , B5ADOF92V , B5ADOF92Wvs , B5ADOF93A , B5ADOF93Add , & - B5ADOF93D , B5ADOF93Hds , B5ADOF93Rdt , B5ADOF93V , B5ADOF93Wvs , B5ADOF94A , B5ADOF94Add , & - B5ADOF94D , B5ADOF94Hds , B5ADOF94Rdt , B5ADOF94V , B5ADOF94Wvs , B5ADOF95A , B5ADOF95Add , & - B5ADOF95D , B5ADOF95Hds , B5ADOF95Rdt , B5ADOF95V , B5ADOF95Wvs , B5ADOF96A , B5ADOF96Add , & - B5ADOF96D , B5ADOF96Hds , B5ADOF96Rdt , B5ADOF96V , B5ADOF96Wvs , B5ADOF97A , B5ADOF97Add , & - B5ADOF97D , B5ADOF97Hds , B5ADOF97Rdt , B5ADOF97V , B5ADOF97Wvs , B5ADOF98A , B5ADOF98Add , & - B5ADOF98D , B5ADOF98Hds , B5ADOF98Rdt , B5ADOF98V , B5ADOF98Wvs , B5ADOF99A , B5ADOF99Add , & - B5ADOF99D , B5ADOF99Hds , B5ADOF99Rdt , B5ADOF99V , B5ADOF99Wvs , B5ADOF9A , B5ADOF9Add , & - B5ADOF9D , B5ADOF9Hds , B5ADOF9Rdt , B5ADOF9V , B5ADOF9Wvs , B5HdSFxi , B5HdSFyi , & - B5HdSFzi , B5HdSMxi , B5HdSMyi , B5HdSMzi , B5Heave , B5Pitch , B5RAxi , & - B5RAyi , B5RAzi , B5RdtFxi , B5RdtFyi , B5RdtFzi , B5RdtMxi , B5RdtMyi , & - B5RdtMzi , B5Roll , B5RVxi , B5RVyi , B5RVzi , B5Surge , B5Sway , & - B5TAxi , B5TAyi , B5TAzi , B5TVxi , B5TVyi , B5TVzi , B5WvsF1xi , & - B5WvsF1yi , B5WvsF1zi , B5WvsF2xi , B5WvsF2yi , B5WvsF2zi , B5WvsFxi , B5WvsFyi , & - B5WvsFzi , B5WvsM1xi , B5WvsM1yi , B5WvsM1zi , B5WvsM2xi , B5WvsM2yi , B5WvsM2zi , & - B5WvsMxi , B5WvsMyi , B5WvsMzi , B5Yaw , B6AddFxi , B6AddFyi , B6AddFzi , & - B6AddMxi , B6AddMyi , B6AddMzi , B6ADOF10A , B6ADOF10Add , B6ADOF10D , B6ADOF10Hds , & - B6ADOF10Rdt , B6ADOF10V , B6ADOF10Wvs , B6ADOF11A , B6ADOF11Add , B6ADOF11D , B6ADOF11Hds , & - B6ADOF11Rdt , B6ADOF11V , B6ADOF11Wvs , B6ADOF12A , B6ADOF12Add , B6ADOF12D , B6ADOF12Hds , & - B6ADOF12Rdt , B6ADOF12V , B6ADOF12Wvs , B6ADOF13A , B6ADOF13Add , B6ADOF13D , B6ADOF13Hds , & - B6ADOF13Rdt , B6ADOF13V , B6ADOF13Wvs , B6ADOF14A , B6ADOF14Add , B6ADOF14D , B6ADOF14Hds , & - B6ADOF14Rdt , B6ADOF14V , B6ADOF14Wvs , B6ADOF15A , B6ADOF15Add , B6ADOF15D , B6ADOF15Hds , & - B6ADOF15Rdt , B6ADOF15V , B6ADOF15Wvs , B6ADOF16A , B6ADOF16Add , B6ADOF16D , B6ADOF16Hds , & - B6ADOF16Rdt , B6ADOF16V , B6ADOF16Wvs , B6ADOF17A , B6ADOF17Add , B6ADOF17D , B6ADOF17Hds , & - B6ADOF17Rdt , B6ADOF17V , B6ADOF17Wvs , B6ADOF18A , B6ADOF18Add , B6ADOF18D , B6ADOF18Hds , & - B6ADOF18Rdt , B6ADOF18V , B6ADOF18Wvs , B6ADOF19A , B6ADOF19Add , B6ADOF19D , B6ADOF19Hds , & - B6ADOF19Rdt , B6ADOF19V , B6ADOF19Wvs , B6ADOF1A , B6ADOF1Add , B6ADOF1D , B6ADOF1Hds , & - B6ADOF1Rdt , B6ADOF1V , B6ADOF1Wvs , B6ADOF20A , B6ADOF20Add , B6ADOF20D , B6ADOF20Hds , & - B6ADOF20Rdt , B6ADOF20V , B6ADOF20Wvs , B6ADOF21A , B6ADOF21Add , B6ADOF21D , B6ADOF21Hds , & - B6ADOF21Rdt , B6ADOF21V , B6ADOF21Wvs , B6ADOF22A , B6ADOF22Add , B6ADOF22D , B6ADOF22Hds , & - B6ADOF22Rdt , B6ADOF22V , B6ADOF22Wvs , B6ADOF23A , B6ADOF23Add , B6ADOF23D , B6ADOF23Hds , & - B6ADOF23Rdt , B6ADOF23V , B6ADOF23Wvs , B6ADOF24A , B6ADOF24Add , B6ADOF24D , B6ADOF24Hds , & - B6ADOF24Rdt , B6ADOF24V , B6ADOF24Wvs , B6ADOF25A , B6ADOF25Add , B6ADOF25D , B6ADOF25Hds , & - B6ADOF25Rdt , B6ADOF25V , B6ADOF25Wvs , B6ADOF26A , B6ADOF26Add , B6ADOF26D , B6ADOF26Hds , & - B6ADOF26Rdt , B6ADOF26V , B6ADOF26Wvs , B6ADOF27A , B6ADOF27Add , B6ADOF27D , B6ADOF27Hds , & - B6ADOF27Rdt , B6ADOF27V , B6ADOF27Wvs , B6ADOF28A , B6ADOF28Add , B6ADOF28D , B6ADOF28Hds , & - B6ADOF28Rdt , B6ADOF28V , B6ADOF28Wvs , B6ADOF29A , B6ADOF29Add , B6ADOF29D , B6ADOF29Hds , & - B6ADOF29Rdt , B6ADOF29V , B6ADOF29Wvs , B6ADOF2A , B6ADOF2Add , B6ADOF2D , B6ADOF2Hds , & - B6ADOF2Rdt , B6ADOF2V , B6ADOF2Wvs , B6ADOF30A , B6ADOF30Add , B6ADOF30D , B6ADOF30Hds , & - B6ADOF30Rdt , B6ADOF30V , B6ADOF30Wvs , B6ADOF31A , B6ADOF31Add , B6ADOF31D , B6ADOF31Hds , & - B6ADOF31Rdt , B6ADOF31V , B6ADOF31Wvs , B6ADOF32A , B6ADOF32Add , B6ADOF32D , B6ADOF32Hds , & - B6ADOF32Rdt , B6ADOF32V , B6ADOF32Wvs , B6ADOF33A , B6ADOF33Add , B6ADOF33D , B6ADOF33Hds , & - B6ADOF33Rdt , B6ADOF33V , B6ADOF33Wvs , B6ADOF34A , B6ADOF34Add , B6ADOF34D , B6ADOF34Hds , & - B6ADOF34Rdt , B6ADOF34V , B6ADOF34Wvs , B6ADOF35A , B6ADOF35Add , B6ADOF35D , B6ADOF35Hds , & - B6ADOF35Rdt , B6ADOF35V , B6ADOF35Wvs , B6ADOF36A , B6ADOF36Add , B6ADOF36D , B6ADOF36Hds , & - B6ADOF36Rdt , B6ADOF36V , B6ADOF36Wvs , B6ADOF37A , B6ADOF37Add , B6ADOF37D , B6ADOF37Hds , & - B6ADOF37Rdt , B6ADOF37V , B6ADOF37Wvs , B6ADOF38A , B6ADOF38Add , B6ADOF38D , B6ADOF38Hds , & - B6ADOF38Rdt , B6ADOF38V , B6ADOF38Wvs , B6ADOF39A , B6ADOF39Add , B6ADOF39D , B6ADOF39Hds , & - B6ADOF39Rdt , B6ADOF39V , B6ADOF39Wvs , B6ADOF3A , B6ADOF3Add , B6ADOF3D , B6ADOF3Hds , & - B6ADOF3Rdt , B6ADOF3V , B6ADOF3Wvs , B6ADOF40A , B6ADOF40Add , B6ADOF40D , B6ADOF40Hds , & - B6ADOF40Rdt , B6ADOF40V , B6ADOF40Wvs , B6ADOF41A , B6ADOF41Add , B6ADOF41D , B6ADOF41Hds , & - B6ADOF41Rdt , B6ADOF41V , B6ADOF41Wvs , B6ADOF42A , B6ADOF42Add , B6ADOF42D , B6ADOF42Hds , & - B6ADOF42Rdt , B6ADOF42V , B6ADOF42Wvs , B6ADOF43A , B6ADOF43Add , B6ADOF43D , B6ADOF43Hds , & - B6ADOF43Rdt , B6ADOF43V , B6ADOF43Wvs , B6ADOF44A , B6ADOF44Add , B6ADOF44D , B6ADOF44Hds , & - B6ADOF44Rdt , B6ADOF44V , B6ADOF44Wvs , B6ADOF45A , B6ADOF45Add , B6ADOF45D , B6ADOF45Hds , & - B6ADOF45Rdt , B6ADOF45V , B6ADOF45Wvs , B6ADOF46A , B6ADOF46Add , B6ADOF46D , B6ADOF46Hds , & - B6ADOF46Rdt , B6ADOF46V , B6ADOF46Wvs , B6ADOF47A , B6ADOF47Add , B6ADOF47D , B6ADOF47Hds , & - B6ADOF47Rdt , B6ADOF47V , B6ADOF47Wvs , B6ADOF48A , B6ADOF48Add , B6ADOF48D , B6ADOF48Hds , & - B6ADOF48Rdt , B6ADOF48V , B6ADOF48Wvs , B6ADOF49A , B6ADOF49Add , B6ADOF49D , B6ADOF49Hds , & - B6ADOF49Rdt , B6ADOF49V , B6ADOF49Wvs , B6ADOF4A , B6ADOF4Add , B6ADOF4D , B6ADOF4Hds , & - B6ADOF4Rdt , B6ADOF4V , B6ADOF4Wvs , B6ADOF50A , B6ADOF50Add , B6ADOF50D , B6ADOF50Hds , & - B6ADOF50Rdt , B6ADOF50V , B6ADOF50Wvs , B6ADOF51A , B6ADOF51Add , B6ADOF51D , B6ADOF51Hds , & - B6ADOF51Rdt , B6ADOF51V , B6ADOF51Wvs , B6ADOF52A , B6ADOF52Add , B6ADOF52D , B6ADOF52Hds , & - B6ADOF52Rdt , B6ADOF52V , B6ADOF52Wvs , B6ADOF53A , B6ADOF53Add , B6ADOF53D , B6ADOF53Hds , & - B6ADOF53Rdt , B6ADOF53V , B6ADOF53Wvs , B6ADOF54A , B6ADOF54Add , B6ADOF54D , B6ADOF54Hds , & - B6ADOF54Rdt , B6ADOF54V , B6ADOF54Wvs , B6ADOF55A , B6ADOF55Add , B6ADOF55D , B6ADOF55Hds , & - B6ADOF55Rdt , B6ADOF55V , B6ADOF55Wvs , B6ADOF56A , B6ADOF56Add , B6ADOF56D , B6ADOF56Hds , & - B6ADOF56Rdt , B6ADOF56V , B6ADOF56Wvs , B6ADOF57A , B6ADOF57Add , B6ADOF57D , B6ADOF57Hds , & - B6ADOF57Rdt , B6ADOF57V , B6ADOF57Wvs , B6ADOF58A , B6ADOF58Add , B6ADOF58D , B6ADOF58Hds , & - B6ADOF58Rdt , B6ADOF58V , B6ADOF58Wvs , B6ADOF59A , B6ADOF59Add , B6ADOF59D , B6ADOF59Hds , & - B6ADOF59Rdt , B6ADOF59V , B6ADOF59Wvs , B6ADOF5A , B6ADOF5Add , B6ADOF5D , B6ADOF5Hds , & - B6ADOF5Rdt , B6ADOF5V , B6ADOF5Wvs , B6ADOF60A , B6ADOF60Add , B6ADOF60D , B6ADOF60Hds , & - B6ADOF60Rdt , B6ADOF60V , B6ADOF60Wvs , B6ADOF61A , B6ADOF61Add , B6ADOF61D , B6ADOF61Hds , & - B6ADOF61Rdt , B6ADOF61V , B6ADOF61Wvs , B6ADOF62A , B6ADOF62Add , B6ADOF62D , B6ADOF62Hds , & - B6ADOF62Rdt , B6ADOF62V , B6ADOF62Wvs , B6ADOF63A , B6ADOF63Add , B6ADOF63D , B6ADOF63Hds , & - B6ADOF63Rdt , B6ADOF63V , B6ADOF63Wvs , B6ADOF64A , B6ADOF64Add , B6ADOF64D , B6ADOF64Hds , & - B6ADOF64Rdt , B6ADOF64V , B6ADOF64Wvs , B6ADOF65A , B6ADOF65Add , B6ADOF65D , B6ADOF65Hds , & - B6ADOF65Rdt , B6ADOF65V , B6ADOF65Wvs , B6ADOF66A , B6ADOF66Add , B6ADOF66D , B6ADOF66Hds , & - B6ADOF66Rdt , B6ADOF66V , B6ADOF66Wvs , B6ADOF67A , B6ADOF67Add , B6ADOF67D , B6ADOF67Hds , & - B6ADOF67Rdt , B6ADOF67V , B6ADOF67Wvs , B6ADOF68A , B6ADOF68Add , B6ADOF68D , B6ADOF68Hds , & - B6ADOF68Rdt , B6ADOF68V , B6ADOF68Wvs , B6ADOF69A , B6ADOF69Add , B6ADOF69D , B6ADOF69Hds , & - B6ADOF69Rdt , B6ADOF69V , B6ADOF69Wvs , B6ADOF6A , B6ADOF6Add , B6ADOF6D , B6ADOF6Hds , & - B6ADOF6Rdt , B6ADOF6V , B6ADOF6Wvs , B6ADOF70A , B6ADOF70Add , B6ADOF70D , B6ADOF70Hds , & - B6ADOF70Rdt , B6ADOF70V , B6ADOF70Wvs , B6ADOF71A , B6ADOF71Add , B6ADOF71D , B6ADOF71Hds , & - B6ADOF71Rdt , B6ADOF71V , B6ADOF71Wvs , B6ADOF72A , B6ADOF72Add , B6ADOF72D , B6ADOF72Hds , & - B6ADOF72Rdt , B6ADOF72V , B6ADOF72Wvs , B6ADOF73A , B6ADOF73Add , B6ADOF73D , B6ADOF73Hds , & - B6ADOF73Rdt , B6ADOF73V , B6ADOF73Wvs , B6ADOF74A , B6ADOF74Add , B6ADOF74D , B6ADOF74Hds , & - B6ADOF74Rdt , B6ADOF74V , B6ADOF74Wvs , B6ADOF75A , B6ADOF75Add , B6ADOF75D , B6ADOF75Hds , & - B6ADOF75Rdt , B6ADOF75V , B6ADOF75Wvs , B6ADOF76A , B6ADOF76Add , B6ADOF76D , B6ADOF76Hds , & - B6ADOF76Rdt , B6ADOF76V , B6ADOF76Wvs , B6ADOF77A , B6ADOF77Add , B6ADOF77D , B6ADOF77Hds , & - B6ADOF77Rdt , B6ADOF77V , B6ADOF77Wvs , B6ADOF78A , B6ADOF78Add , B6ADOF78D , B6ADOF78Hds , & - B6ADOF78Rdt , B6ADOF78V , B6ADOF78Wvs , B6ADOF79A , B6ADOF79Add , B6ADOF79D , B6ADOF79Hds , & - B6ADOF79Rdt , B6ADOF79V , B6ADOF79Wvs , B6ADOF7A , B6ADOF7Add , B6ADOF7D , B6ADOF7Hds , & - B6ADOF7Rdt , B6ADOF7V , B6ADOF7Wvs , B6ADOF80A , B6ADOF80Add , B6ADOF80D , B6ADOF80Hds , & - B6ADOF80Rdt , B6ADOF80V , B6ADOF80Wvs , B6ADOF81A , B6ADOF81Add , B6ADOF81D , B6ADOF81Hds , & - B6ADOF81Rdt , B6ADOF81V , B6ADOF81Wvs , B6ADOF82A , B6ADOF82Add , B6ADOF82D , B6ADOF82Hds , & - B6ADOF82Rdt , B6ADOF82V , B6ADOF82Wvs , B6ADOF83A , B6ADOF83Add , B6ADOF83D , B6ADOF83Hds , & - B6ADOF83Rdt , B6ADOF83V , B6ADOF83Wvs , B6ADOF84A , B6ADOF84Add , B6ADOF84D , B6ADOF84Hds , & - B6ADOF84Rdt , B6ADOF84V , B6ADOF84Wvs , B6ADOF85A , B6ADOF85Add , B6ADOF85D , B6ADOF85Hds , & - B6ADOF85Rdt , B6ADOF85V , B6ADOF85Wvs , B6ADOF86A , B6ADOF86Add , B6ADOF86D , B6ADOF86Hds , & - B6ADOF86Rdt , B6ADOF86V , B6ADOF86Wvs , B6ADOF87A , B6ADOF87Add , B6ADOF87D , B6ADOF87Hds , & - B6ADOF87Rdt , B6ADOF87V , B6ADOF87Wvs , B6ADOF88A , B6ADOF88Add , B6ADOF88D , B6ADOF88Hds , & - B6ADOF88Rdt , B6ADOF88V , B6ADOF88Wvs , B6ADOF89A , B6ADOF89Add , B6ADOF89D , B6ADOF89Hds , & - B6ADOF89Rdt , B6ADOF89V , B6ADOF89Wvs , B6ADOF8A , B6ADOF8Add , B6ADOF8D , B6ADOF8Hds , & - B6ADOF8Rdt , B6ADOF8V , B6ADOF8Wvs , B6ADOF90A , B6ADOF90Add , B6ADOF90D , B6ADOF90Hds , & - B6ADOF90Rdt , B6ADOF90V , B6ADOF90Wvs , B6ADOF91A , B6ADOF91Add , B6ADOF91D , B6ADOF91Hds , & - B6ADOF91Rdt , B6ADOF91V , B6ADOF91Wvs , B6ADOF92A , B6ADOF92Add , B6ADOF92D , B6ADOF92Hds , & - B6ADOF92Rdt , B6ADOF92V , B6ADOF92Wvs , B6ADOF93A , B6ADOF93Add , B6ADOF93D , B6ADOF93Hds , & - B6ADOF93Rdt , B6ADOF93V , B6ADOF93Wvs , B6ADOF94A , B6ADOF94Add , B6ADOF94D , B6ADOF94Hds , & - B6ADOF94Rdt , B6ADOF94V , B6ADOF94Wvs , B6ADOF95A , B6ADOF95Add , B6ADOF95D , B6ADOF95Hds , & - B6ADOF95Rdt , B6ADOF95V , B6ADOF95Wvs , B6ADOF96A , B6ADOF96Add , B6ADOF96D , B6ADOF96Hds , & - B6ADOF96Rdt , B6ADOF96V , B6ADOF96Wvs , B6ADOF97A , B6ADOF97Add , B6ADOF97D , B6ADOF97Hds , & - B6ADOF97Rdt , B6ADOF97V , B6ADOF97Wvs , B6ADOF98A , B6ADOF98Add , B6ADOF98D , B6ADOF98Hds , & - B6ADOF98Rdt , B6ADOF98V , B6ADOF98Wvs , B6ADOF99A , B6ADOF99Add , B6ADOF99D , B6ADOF99Hds , & - B6ADOF99Rdt , B6ADOF99V , B6ADOF99Wvs , B6ADOF9A , B6ADOF9Add , B6ADOF9D , B6ADOF9Hds , & - B6ADOF9Rdt , B6ADOF9V , B6ADOF9Wvs , B6HdSFxi , B6HdSFyi , B6HdSFzi , B6HdSMxi , & - B6HdSMyi , B6HdSMzi , B6Heave , B6Pitch , B6RAxi , B6RAyi , B6RAzi , & - B6RdtFxi , B6RdtFyi , B6RdtFzi , B6RdtMxi , B6RdtMyi , B6RdtMzi , B6Roll , & - B6RVxi , B6RVyi , B6RVzi , B6Surge , B6Sway , B6TAxi , B6TAyi , & - B6TAzi , B6TVxi , B6TVyi , B6TVzi , B6WvsF1xi , B6WvsF1yi , B6WvsF1zi , & - B6WvsF2xi , B6WvsF2yi , B6WvsF2zi , B6WvsFxi , B6WvsFyi , B6WvsFzi , B6WvsM1xi , & - B6WvsM1yi , B6WvsM1zi , B6WvsM2xi , B6WvsM2yi , B6WvsM2zi , B6WvsMxi , B6WvsMyi , & - B6WvsMzi , B6Yaw , B7AddFxi , B7AddFyi , B7AddFzi , B7AddMxi , B7AddMyi , & - B7AddMzi , B7ADOF10A , B7ADOF10Add , B7ADOF10D , B7ADOF10Hds , B7ADOF10Rdt , B7ADOF10V , & - B7ADOF10Wvs , B7ADOF11A , B7ADOF11Add , B7ADOF11D , B7ADOF11Hds , B7ADOF11Rdt , B7ADOF11V , & - B7ADOF11Wvs , B7ADOF12A , B7ADOF12Add , B7ADOF12D , B7ADOF12Hds , B7ADOF12Rdt , B7ADOF12V , & - B7ADOF12Wvs , B7ADOF13A , B7ADOF13Add , B7ADOF13D , B7ADOF13Hds , B7ADOF13Rdt , B7ADOF13V , & - B7ADOF13Wvs , B7ADOF14A , B7ADOF14Add , B7ADOF14D , B7ADOF14Hds , B7ADOF14Rdt , B7ADOF14V , & - B7ADOF14Wvs , B7ADOF15A , B7ADOF15Add , B7ADOF15D , B7ADOF15Hds , B7ADOF15Rdt , B7ADOF15V , & - B7ADOF15Wvs , B7ADOF16A , B7ADOF16Add , B7ADOF16D , B7ADOF16Hds , B7ADOF16Rdt , B7ADOF16V , & - B7ADOF16Wvs , B7ADOF17A , B7ADOF17Add , B7ADOF17D , B7ADOF17Hds , B7ADOF17Rdt , B7ADOF17V , & - B7ADOF17Wvs , B7ADOF18A , B7ADOF18Add , B7ADOF18D , B7ADOF18Hds , B7ADOF18Rdt , B7ADOF18V , & - B7ADOF18Wvs , B7ADOF19A , B7ADOF19Add , B7ADOF19D , B7ADOF19Hds , B7ADOF19Rdt , B7ADOF19V , & - B7ADOF19Wvs , B7ADOF1A , B7ADOF1Add , B7ADOF1D , B7ADOF1Hds , B7ADOF1Rdt , B7ADOF1V , & - B7ADOF1Wvs , B7ADOF20A , B7ADOF20Add , B7ADOF20D , B7ADOF20Hds , B7ADOF20Rdt , B7ADOF20V , & - B7ADOF20Wvs , B7ADOF21A , B7ADOF21Add , B7ADOF21D , B7ADOF21Hds , B7ADOF21Rdt , B7ADOF21V , & - B7ADOF21Wvs , B7ADOF22A , B7ADOF22Add , B7ADOF22D , B7ADOF22Hds , B7ADOF22Rdt , B7ADOF22V , & - B7ADOF22Wvs , B7ADOF23A , B7ADOF23Add , B7ADOF23D , B7ADOF23Hds , B7ADOF23Rdt , B7ADOF23V , & - B7ADOF23Wvs , B7ADOF24A , B7ADOF24Add , B7ADOF24D , B7ADOF24Hds , B7ADOF24Rdt , B7ADOF24V , & - B7ADOF24Wvs , B7ADOF25A , B7ADOF25Add , B7ADOF25D , B7ADOF25Hds , B7ADOF25Rdt , B7ADOF25V , & - B7ADOF25Wvs , B7ADOF26A , B7ADOF26Add , B7ADOF26D , B7ADOF26Hds , B7ADOF26Rdt , B7ADOF26V , & - B7ADOF26Wvs , B7ADOF27A , B7ADOF27Add , B7ADOF27D , B7ADOF27Hds , B7ADOF27Rdt , B7ADOF27V , & - B7ADOF27Wvs , B7ADOF28A , B7ADOF28Add , B7ADOF28D , B7ADOF28Hds , B7ADOF28Rdt , B7ADOF28V , & - B7ADOF28Wvs , B7ADOF29A , B7ADOF29Add , B7ADOF29D , B7ADOF29Hds , B7ADOF29Rdt , B7ADOF29V , & - B7ADOF29Wvs , B7ADOF2A , B7ADOF2Add , B7ADOF2D , B7ADOF2Hds , B7ADOF2Rdt , B7ADOF2V , & - B7ADOF2Wvs , B7ADOF30A , B7ADOF30Add , B7ADOF30D , B7ADOF30Hds , B7ADOF30Rdt , B7ADOF30V , & - B7ADOF30Wvs , B7ADOF31A , B7ADOF31Add , B7ADOF31D , B7ADOF31Hds , B7ADOF31Rdt , B7ADOF31V , & - B7ADOF31Wvs , B7ADOF32A , B7ADOF32Add , B7ADOF32D , B7ADOF32Hds , B7ADOF32Rdt , B7ADOF32V , & - B7ADOF32Wvs , B7ADOF33A , B7ADOF33Add , B7ADOF33D , B7ADOF33Hds , B7ADOF33Rdt , B7ADOF33V , & - B7ADOF33Wvs , B7ADOF34A , B7ADOF34Add , B7ADOF34D , B7ADOF34Hds , B7ADOF34Rdt , B7ADOF34V , & - B7ADOF34Wvs , B7ADOF35A , B7ADOF35Add , B7ADOF35D , B7ADOF35Hds , B7ADOF35Rdt , B7ADOF35V , & - B7ADOF35Wvs , B7ADOF36A , B7ADOF36Add , B7ADOF36D , B7ADOF36Hds , B7ADOF36Rdt , B7ADOF36V , & - B7ADOF36Wvs , B7ADOF37A , B7ADOF37Add , B7ADOF37D , B7ADOF37Hds , B7ADOF37Rdt , B7ADOF37V , & - B7ADOF37Wvs , B7ADOF38A , B7ADOF38Add , B7ADOF38D , B7ADOF38Hds , B7ADOF38Rdt , B7ADOF38V , & - B7ADOF38Wvs , B7ADOF39A , B7ADOF39Add , B7ADOF39D , B7ADOF39Hds , B7ADOF39Rdt , B7ADOF39V , & - B7ADOF39Wvs , B7ADOF3A , B7ADOF3Add , B7ADOF3D , B7ADOF3Hds , B7ADOF3Rdt , B7ADOF3V , & - B7ADOF3Wvs , B7ADOF40A , B7ADOF40Add , B7ADOF40D , B7ADOF40Hds , B7ADOF40Rdt , B7ADOF40V , & - B7ADOF40Wvs , B7ADOF41A , B7ADOF41Add , B7ADOF41D , B7ADOF41Hds , B7ADOF41Rdt , B7ADOF41V , & - B7ADOF41Wvs , B7ADOF42A , B7ADOF42Add , B7ADOF42D , B7ADOF42Hds , B7ADOF42Rdt , B7ADOF42V , & - B7ADOF42Wvs , B7ADOF43A , B7ADOF43Add , B7ADOF43D , B7ADOF43Hds , B7ADOF43Rdt , B7ADOF43V , & - B7ADOF43Wvs , B7ADOF44A , B7ADOF44Add , B7ADOF44D , B7ADOF44Hds , B7ADOF44Rdt , B7ADOF44V , & - B7ADOF44Wvs , B7ADOF45A , B7ADOF45Add , B7ADOF45D , B7ADOF45Hds , B7ADOF45Rdt , B7ADOF45V , & - B7ADOF45Wvs , B7ADOF46A , B7ADOF46Add , B7ADOF46D , B7ADOF46Hds , B7ADOF46Rdt , B7ADOF46V , & - B7ADOF46Wvs , B7ADOF47A , B7ADOF47Add , B7ADOF47D , B7ADOF47Hds , B7ADOF47Rdt , B7ADOF47V , & - B7ADOF47Wvs , B7ADOF48A , B7ADOF48Add , B7ADOF48D , B7ADOF48Hds , B7ADOF48Rdt , B7ADOF48V , & - B7ADOF48Wvs , B7ADOF49A , B7ADOF49Add , B7ADOF49D , B7ADOF49Hds , B7ADOF49Rdt , B7ADOF49V , & - B7ADOF49Wvs , B7ADOF4A , B7ADOF4Add , B7ADOF4D , B7ADOF4Hds , B7ADOF4Rdt , B7ADOF4V , & - B7ADOF4Wvs , B7ADOF50A , B7ADOF50Add , B7ADOF50D , B7ADOF50Hds , B7ADOF50Rdt , B7ADOF50V , & - B7ADOF50Wvs , B7ADOF51A , B7ADOF51Add , B7ADOF51D , B7ADOF51Hds , B7ADOF51Rdt , B7ADOF51V , & - B7ADOF51Wvs , B7ADOF52A , B7ADOF52Add , B7ADOF52D , B7ADOF52Hds , B7ADOF52Rdt , B7ADOF52V , & - B7ADOF52Wvs , B7ADOF53A , B7ADOF53Add , B7ADOF53D , B7ADOF53Hds , B7ADOF53Rdt , B7ADOF53V , & - B7ADOF53Wvs , B7ADOF54A , B7ADOF54Add , B7ADOF54D , B7ADOF54Hds , B7ADOF54Rdt , B7ADOF54V , & - B7ADOF54Wvs , B7ADOF55A , B7ADOF55Add , B7ADOF55D , B7ADOF55Hds , B7ADOF55Rdt , B7ADOF55V , & - B7ADOF55Wvs , B7ADOF56A , B7ADOF56Add , B7ADOF56D , B7ADOF56Hds , B7ADOF56Rdt , B7ADOF56V , & - B7ADOF56Wvs , B7ADOF57A , B7ADOF57Add , B7ADOF57D , B7ADOF57Hds , B7ADOF57Rdt , B7ADOF57V , & - B7ADOF57Wvs , B7ADOF58A , B7ADOF58Add , B7ADOF58D , B7ADOF58Hds , B7ADOF58Rdt , B7ADOF58V , & - B7ADOF58Wvs , B7ADOF59A , B7ADOF59Add , B7ADOF59D , B7ADOF59Hds , B7ADOF59Rdt , B7ADOF59V , & - B7ADOF59Wvs , B7ADOF5A , B7ADOF5Add , B7ADOF5D , B7ADOF5Hds , B7ADOF5Rdt , B7ADOF5V , & - B7ADOF5Wvs , B7ADOF60A , B7ADOF60Add , B7ADOF60D , B7ADOF60Hds , B7ADOF60Rdt , B7ADOF60V , & - B7ADOF60Wvs , B7ADOF61A , B7ADOF61Add , B7ADOF61D , B7ADOF61Hds , B7ADOF61Rdt , B7ADOF61V , & - B7ADOF61Wvs , B7ADOF62A , B7ADOF62Add , B7ADOF62D , B7ADOF62Hds , B7ADOF62Rdt , B7ADOF62V , & - B7ADOF62Wvs , B7ADOF63A , B7ADOF63Add , B7ADOF63D , B7ADOF63Hds , B7ADOF63Rdt , B7ADOF63V , & - B7ADOF63Wvs , B7ADOF64A , B7ADOF64Add , B7ADOF64D , B7ADOF64Hds , B7ADOF64Rdt , B7ADOF64V , & - B7ADOF64Wvs , B7ADOF65A , B7ADOF65Add , B7ADOF65D , B7ADOF65Hds , B7ADOF65Rdt , B7ADOF65V , & - B7ADOF65Wvs , B7ADOF66A , B7ADOF66Add , B7ADOF66D , B7ADOF66Hds , B7ADOF66Rdt , B7ADOF66V , & - B7ADOF66Wvs , B7ADOF67A , B7ADOF67Add , B7ADOF67D , B7ADOF67Hds , B7ADOF67Rdt , B7ADOF67V , & - B7ADOF67Wvs , B7ADOF68A , B7ADOF68Add , B7ADOF68D , B7ADOF68Hds , B7ADOF68Rdt , B7ADOF68V , & - B7ADOF68Wvs , B7ADOF69A , B7ADOF69Add , B7ADOF69D , B7ADOF69Hds , B7ADOF69Rdt , B7ADOF69V , & - B7ADOF69Wvs , B7ADOF6A , B7ADOF6Add , B7ADOF6D , B7ADOF6Hds , B7ADOF6Rdt , B7ADOF6V , & - B7ADOF6Wvs , B7ADOF70A , B7ADOF70Add , B7ADOF70D , B7ADOF70Hds , B7ADOF70Rdt , B7ADOF70V , & - B7ADOF70Wvs , B7ADOF71A , B7ADOF71Add , B7ADOF71D , B7ADOF71Hds , B7ADOF71Rdt , B7ADOF71V , & - B7ADOF71Wvs , B7ADOF72A , B7ADOF72Add , B7ADOF72D , B7ADOF72Hds , B7ADOF72Rdt , B7ADOF72V , & - B7ADOF72Wvs , B7ADOF73A , B7ADOF73Add , B7ADOF73D , B7ADOF73Hds , B7ADOF73Rdt , B7ADOF73V , & - B7ADOF73Wvs , B7ADOF74A , B7ADOF74Add , B7ADOF74D , B7ADOF74Hds , B7ADOF74Rdt , B7ADOF74V , & - B7ADOF74Wvs , B7ADOF75A , B7ADOF75Add , B7ADOF75D , B7ADOF75Hds , B7ADOF75Rdt , B7ADOF75V , & - B7ADOF75Wvs , B7ADOF76A , B7ADOF76Add , B7ADOF76D , B7ADOF76Hds , B7ADOF76Rdt , B7ADOF76V , & - B7ADOF76Wvs , B7ADOF77A , B7ADOF77Add , B7ADOF77D , B7ADOF77Hds , B7ADOF77Rdt , B7ADOF77V , & - B7ADOF77Wvs , B7ADOF78A , B7ADOF78Add , B7ADOF78D , B7ADOF78Hds , B7ADOF78Rdt , B7ADOF78V , & - B7ADOF78Wvs , B7ADOF79A , B7ADOF79Add , B7ADOF79D , B7ADOF79Hds , B7ADOF79Rdt , B7ADOF79V , & - B7ADOF79Wvs , B7ADOF7A , B7ADOF7Add , B7ADOF7D , B7ADOF7Hds , B7ADOF7Rdt , B7ADOF7V , & - B7ADOF7Wvs , B7ADOF80A , B7ADOF80Add , B7ADOF80D , B7ADOF80Hds , B7ADOF80Rdt , B7ADOF80V , & - B7ADOF80Wvs , B7ADOF81A , B7ADOF81Add , B7ADOF81D , B7ADOF81Hds , B7ADOF81Rdt , B7ADOF81V , & - B7ADOF81Wvs , B7ADOF82A , B7ADOF82Add , B7ADOF82D , B7ADOF82Hds , B7ADOF82Rdt , B7ADOF82V , & - B7ADOF82Wvs , B7ADOF83A , B7ADOF83Add , B7ADOF83D , B7ADOF83Hds , B7ADOF83Rdt , B7ADOF83V , & - B7ADOF83Wvs , B7ADOF84A , B7ADOF84Add , B7ADOF84D , B7ADOF84Hds , B7ADOF84Rdt , B7ADOF84V /) - INTEGER(IntKi), PARAMETER :: ParamIndxAry4(1686) = (/ & ! This lists the index into AllOuts(:) of the allowed parameters ValidParamAry(:) - B7ADOF84Wvs , B7ADOF85A , B7ADOF85Add , B7ADOF85D , B7ADOF85Hds , B7ADOF85Rdt , B7ADOF85V , & - B7ADOF85Wvs , B7ADOF86A , B7ADOF86Add , B7ADOF86D , B7ADOF86Hds , B7ADOF86Rdt , B7ADOF86V , & - B7ADOF86Wvs , B7ADOF87A , B7ADOF87Add , B7ADOF87D , B7ADOF87Hds , B7ADOF87Rdt , B7ADOF87V , & - B7ADOF87Wvs , B7ADOF88A , B7ADOF88Add , B7ADOF88D , B7ADOF88Hds , B7ADOF88Rdt , B7ADOF88V , & - B7ADOF88Wvs , B7ADOF89A , B7ADOF89Add , B7ADOF89D , B7ADOF89Hds , B7ADOF89Rdt , B7ADOF89V , & - B7ADOF89Wvs , B7ADOF8A , B7ADOF8Add , B7ADOF8D , B7ADOF8Hds , B7ADOF8Rdt , B7ADOF8V , & - B7ADOF8Wvs , B7ADOF90A , B7ADOF90Add , B7ADOF90D , B7ADOF90Hds , B7ADOF90Rdt , B7ADOF90V , & - B7ADOF90Wvs , B7ADOF91A , B7ADOF91Add , B7ADOF91D , B7ADOF91Hds , B7ADOF91Rdt , B7ADOF91V , & - B7ADOF91Wvs , B7ADOF92A , B7ADOF92Add , B7ADOF92D , B7ADOF92Hds , B7ADOF92Rdt , B7ADOF92V , & - B7ADOF92Wvs , B7ADOF93A , B7ADOF93Add , B7ADOF93D , B7ADOF93Hds , B7ADOF93Rdt , B7ADOF93V , & - B7ADOF93Wvs , B7ADOF94A , B7ADOF94Add , B7ADOF94D , B7ADOF94Hds , B7ADOF94Rdt , B7ADOF94V , & - B7ADOF94Wvs , B7ADOF95A , B7ADOF95Add , B7ADOF95D , B7ADOF95Hds , B7ADOF95Rdt , B7ADOF95V , & - B7ADOF95Wvs , B7ADOF96A , B7ADOF96Add , B7ADOF96D , B7ADOF96Hds , B7ADOF96Rdt , B7ADOF96V , & - B7ADOF96Wvs , B7ADOF97A , B7ADOF97Add , B7ADOF97D , B7ADOF97Hds , B7ADOF97Rdt , B7ADOF97V , & - B7ADOF97Wvs , B7ADOF98A , B7ADOF98Add , B7ADOF98D , B7ADOF98Hds , B7ADOF98Rdt , B7ADOF98V , & - B7ADOF98Wvs , B7ADOF99A , B7ADOF99Add , B7ADOF99D , B7ADOF99Hds , B7ADOF99Rdt , B7ADOF99V , & - B7ADOF99Wvs , B7ADOF9A , B7ADOF9Add , B7ADOF9D , B7ADOF9Hds , B7ADOF9Rdt , B7ADOF9V , & - B7ADOF9Wvs , B7HdSFxi , B7HdSFyi , B7HdSFzi , B7HdSMxi , B7HdSMyi , B7HdSMzi , & - B7Heave , B7Pitch , B7RAxi , B7RAyi , B7RAzi , B7RdtFxi , B7RdtFyi , & + B1HdSFyi , B1HdSFzi , B1HdSMxi , B1HdSMyi , B1HdSMzi , B1Heave , B1NFKFxi , & + B1NFKFyi , B1NFKFzi , B1NFKMxi , B1NFKMyi , B1NFKMzi , B1Pitch , B1RAxi , & + B1RAyi , B1RAzi , B1RdtFxi , B1RdtFyi , B1RdtFzi , B1RdtMxi , B1RdtMyi , & + B1RdtMzi , B1Roll , B1RVxi , B1RVyi , B1RVzi , B1Surge , B1Sway , & + B1TAxi , B1TAyi , B1TAzi , B1TVxi , B1TVyi , B1TVzi , B1WvsF1xi , & + B1WvsF1yi , B1WvsF1zi , B1WvsF2xi , B1WvsF2yi , B1WvsF2zi , B1WvsFxi , B1WvsFyi , & + B1WvsFzi , B1WvsM1xi , B1WvsM1yi , B1WvsM1zi , B1WvsM2xi , B1WvsM2yi , B1WvsM2zi , & + B1WvsMxi , B1WvsMyi , B1WvsMzi , B1Yaw , B2AddFxi , B2AddFyi , B2AddFzi , & + B2AddMxi , B2AddMyi , B2AddMzi , B2ADOF10A , B2ADOF10Add , B2ADOF10D , B2ADOF10Hds , & + B2ADOF10Rdt , B2ADOF10V , B2ADOF10Wvs , B2ADOF11A , B2ADOF11Add , B2ADOF11D , B2ADOF11Hds , & + B2ADOF11Rdt , B2ADOF11V , B2ADOF11Wvs , B2ADOF12A , B2ADOF12Add , B2ADOF12D , B2ADOF12Hds , & + B2ADOF12Rdt , B2ADOF12V , B2ADOF12Wvs , B2ADOF13A , B2ADOF13Add , B2ADOF13D , B2ADOF13Hds , & + B2ADOF13Rdt , B2ADOF13V , B2ADOF13Wvs , B2ADOF14A , B2ADOF14Add , B2ADOF14D , B2ADOF14Hds , & + B2ADOF14Rdt , B2ADOF14V , B2ADOF14Wvs , B2ADOF15A , B2ADOF15Add , B2ADOF15D , B2ADOF15Hds , & + B2ADOF15Rdt , B2ADOF15V , B2ADOF15Wvs , B2ADOF16A , B2ADOF16Add , B2ADOF16D , B2ADOF16Hds , & + B2ADOF16Rdt , B2ADOF16V , B2ADOF16Wvs , B2ADOF17A , B2ADOF17Add , B2ADOF17D , B2ADOF17Hds , & + B2ADOF17Rdt , B2ADOF17V , B2ADOF17Wvs , B2ADOF18A , B2ADOF18Add , B2ADOF18D , B2ADOF18Hds , & + B2ADOF18Rdt , B2ADOF18V , B2ADOF18Wvs , B2ADOF19A , B2ADOF19Add , B2ADOF19D , B2ADOF19Hds , & + B2ADOF19Rdt , B2ADOF19V , B2ADOF19Wvs , B2ADOF1A , B2ADOF1Add , B2ADOF1D , B2ADOF1Hds , & + B2ADOF1Rdt , B2ADOF1V , B2ADOF1Wvs , B2ADOF20A , B2ADOF20Add , B2ADOF20D , B2ADOF20Hds , & + B2ADOF20Rdt , B2ADOF20V , B2ADOF20Wvs , B2ADOF21A , B2ADOF21Add , B2ADOF21D , B2ADOF21Hds , & + B2ADOF21Rdt , B2ADOF21V , B2ADOF21Wvs , B2ADOF22A , B2ADOF22Add , B2ADOF22D , B2ADOF22Hds , & + B2ADOF22Rdt , B2ADOF22V , B2ADOF22Wvs , B2ADOF23A , B2ADOF23Add , B2ADOF23D , B2ADOF23Hds , & + B2ADOF23Rdt , B2ADOF23V , B2ADOF23Wvs , B2ADOF24A , B2ADOF24Add , B2ADOF24D , B2ADOF24Hds , & + B2ADOF24Rdt , B2ADOF24V , B2ADOF24Wvs , B2ADOF25A , B2ADOF25Add , B2ADOF25D , B2ADOF25Hds , & + B2ADOF25Rdt , B2ADOF25V , B2ADOF25Wvs , B2ADOF26A , B2ADOF26Add , B2ADOF26D , B2ADOF26Hds , & + B2ADOF26Rdt , B2ADOF26V , B2ADOF26Wvs , B2ADOF27A , B2ADOF27Add , B2ADOF27D , B2ADOF27Hds , & + B2ADOF27Rdt , B2ADOF27V , B2ADOF27Wvs , B2ADOF28A , B2ADOF28Add , B2ADOF28D , B2ADOF28Hds , & + B2ADOF28Rdt , B2ADOF28V , B2ADOF28Wvs , B2ADOF29A , B2ADOF29Add , B2ADOF29D , B2ADOF29Hds , & + B2ADOF29Rdt , B2ADOF29V , B2ADOF29Wvs , B2ADOF2A , B2ADOF2Add , B2ADOF2D , B2ADOF2Hds , & + B2ADOF2Rdt , B2ADOF2V , B2ADOF2Wvs , B2ADOF30A , B2ADOF30Add , B2ADOF30D , B2ADOF30Hds , & + B2ADOF30Rdt , B2ADOF30V , B2ADOF30Wvs , B2ADOF31A , B2ADOF31Add , B2ADOF31D , B2ADOF31Hds , & + B2ADOF31Rdt , B2ADOF31V , B2ADOF31Wvs , B2ADOF32A , B2ADOF32Add , B2ADOF32D , B2ADOF32Hds , & + B2ADOF32Rdt , B2ADOF32V , B2ADOF32Wvs , B2ADOF33A , B2ADOF33Add , B2ADOF33D , B2ADOF33Hds , & + B2ADOF33Rdt , B2ADOF33V , B2ADOF33Wvs , B2ADOF34A , B2ADOF34Add , B2ADOF34D , B2ADOF34Hds , & + B2ADOF34Rdt , B2ADOF34V , B2ADOF34Wvs , B2ADOF35A , B2ADOF35Add , B2ADOF35D , B2ADOF35Hds , & + B2ADOF35Rdt , B2ADOF35V , B2ADOF35Wvs , B2ADOF36A , B2ADOF36Add , B2ADOF36D , B2ADOF36Hds , & + B2ADOF36Rdt , B2ADOF36V , B2ADOF36Wvs , B2ADOF37A , B2ADOF37Add , B2ADOF37D , B2ADOF37Hds , & + B2ADOF37Rdt , B2ADOF37V , B2ADOF37Wvs , B2ADOF38A , B2ADOF38Add , B2ADOF38D , B2ADOF38Hds , & + B2ADOF38Rdt , B2ADOF38V , B2ADOF38Wvs , B2ADOF39A , B2ADOF39Add , B2ADOF39D , B2ADOF39Hds , & + B2ADOF39Rdt , B2ADOF39V , B2ADOF39Wvs , B2ADOF3A , B2ADOF3Add , B2ADOF3D , B2ADOF3Hds , & + B2ADOF3Rdt , B2ADOF3V , B2ADOF3Wvs , B2ADOF40A , B2ADOF40Add , B2ADOF40D , B2ADOF40Hds , & + B2ADOF40Rdt , B2ADOF40V , B2ADOF40Wvs , B2ADOF41A , B2ADOF41Add , B2ADOF41D , B2ADOF41Hds , & + B2ADOF41Rdt , B2ADOF41V , B2ADOF41Wvs , B2ADOF42A , B2ADOF42Add , B2ADOF42D , B2ADOF42Hds , & + B2ADOF42Rdt , B2ADOF42V , B2ADOF42Wvs , B2ADOF43A , B2ADOF43Add , B2ADOF43D , B2ADOF43Hds , & + B2ADOF43Rdt , B2ADOF43V , B2ADOF43Wvs , B2ADOF44A , B2ADOF44Add , B2ADOF44D , B2ADOF44Hds , & + B2ADOF44Rdt , B2ADOF44V , B2ADOF44Wvs , B2ADOF45A , B2ADOF45Add , B2ADOF45D , B2ADOF45Hds , & + B2ADOF45Rdt , B2ADOF45V , B2ADOF45Wvs , B2ADOF46A , B2ADOF46Add , B2ADOF46D , B2ADOF46Hds , & + B2ADOF46Rdt , B2ADOF46V , B2ADOF46Wvs , B2ADOF47A , B2ADOF47Add , B2ADOF47D , B2ADOF47Hds , & + B2ADOF47Rdt , B2ADOF47V , B2ADOF47Wvs , B2ADOF48A , B2ADOF48Add , B2ADOF48D , B2ADOF48Hds , & + B2ADOF48Rdt , B2ADOF48V , B2ADOF48Wvs , B2ADOF49A , B2ADOF49Add , B2ADOF49D , B2ADOF49Hds , & + B2ADOF49Rdt , B2ADOF49V , B2ADOF49Wvs , B2ADOF4A , B2ADOF4Add , B2ADOF4D , B2ADOF4Hds , & + B2ADOF4Rdt , B2ADOF4V , B2ADOF4Wvs , B2ADOF50A , B2ADOF50Add , B2ADOF50D , B2ADOF50Hds , & + B2ADOF50Rdt , B2ADOF50V , B2ADOF50Wvs , B2ADOF51A , B2ADOF51Add , B2ADOF51D , B2ADOF51Hds , & + B2ADOF51Rdt , B2ADOF51V , B2ADOF51Wvs , B2ADOF52A , B2ADOF52Add , B2ADOF52D , B2ADOF52Hds , & + B2ADOF52Rdt , B2ADOF52V , B2ADOF52Wvs , B2ADOF53A , B2ADOF53Add , B2ADOF53D , B2ADOF53Hds , & + B2ADOF53Rdt , B2ADOF53V , B2ADOF53Wvs , B2ADOF54A , B2ADOF54Add , B2ADOF54D , B2ADOF54Hds , & + B2ADOF54Rdt , B2ADOF54V , B2ADOF54Wvs , B2ADOF55A , B2ADOF55Add , B2ADOF55D , B2ADOF55Hds , & + B2ADOF55Rdt , B2ADOF55V , B2ADOF55Wvs , B2ADOF56A , B2ADOF56Add , B2ADOF56D , B2ADOF56Hds , & + B2ADOF56Rdt , B2ADOF56V , B2ADOF56Wvs , B2ADOF57A , B2ADOF57Add , B2ADOF57D , B2ADOF57Hds , & + B2ADOF57Rdt , B2ADOF57V , B2ADOF57Wvs , B2ADOF58A , B2ADOF58Add , B2ADOF58D , B2ADOF58Hds , & + B2ADOF58Rdt , B2ADOF58V , B2ADOF58Wvs , B2ADOF59A , B2ADOF59Add , B2ADOF59D , B2ADOF59Hds , & + B2ADOF59Rdt , B2ADOF59V , B2ADOF59Wvs , B2ADOF5A , B2ADOF5Add , B2ADOF5D , B2ADOF5Hds , & + B2ADOF5Rdt , B2ADOF5V , B2ADOF5Wvs , B2ADOF60A , B2ADOF60Add , B2ADOF60D , B2ADOF60Hds , & + B2ADOF60Rdt , B2ADOF60V , B2ADOF60Wvs , B2ADOF61A , B2ADOF61Add , B2ADOF61D , B2ADOF61Hds , & + B2ADOF61Rdt , B2ADOF61V , B2ADOF61Wvs , B2ADOF62A , B2ADOF62Add , B2ADOF62D , B2ADOF62Hds , & + B2ADOF62Rdt , B2ADOF62V , B2ADOF62Wvs , B2ADOF63A , B2ADOF63Add , B2ADOF63D , B2ADOF63Hds , & + B2ADOF63Rdt , B2ADOF63V , B2ADOF63Wvs , B2ADOF64A , B2ADOF64Add , B2ADOF64D , B2ADOF64Hds , & + B2ADOF64Rdt , B2ADOF64V , B2ADOF64Wvs , B2ADOF65A , B2ADOF65Add , B2ADOF65D , B2ADOF65Hds , & + B2ADOF65Rdt , B2ADOF65V , B2ADOF65Wvs , B2ADOF66A , B2ADOF66Add , B2ADOF66D , B2ADOF66Hds , & + B2ADOF66Rdt , B2ADOF66V , B2ADOF66Wvs , B2ADOF67A , B2ADOF67Add , B2ADOF67D , B2ADOF67Hds , & + B2ADOF67Rdt , B2ADOF67V , B2ADOF67Wvs , B2ADOF68A , B2ADOF68Add , B2ADOF68D , B2ADOF68Hds , & + B2ADOF68Rdt , B2ADOF68V , B2ADOF68Wvs , B2ADOF69A , B2ADOF69Add , B2ADOF69D , B2ADOF69Hds , & + B2ADOF69Rdt , B2ADOF69V , B2ADOF69Wvs , B2ADOF6A , B2ADOF6Add , B2ADOF6D , B2ADOF6Hds , & + B2ADOF6Rdt , B2ADOF6V , B2ADOF6Wvs , B2ADOF70A , B2ADOF70Add , B2ADOF70D , B2ADOF70Hds , & + B2ADOF70Rdt , B2ADOF70V , B2ADOF70Wvs , B2ADOF71A , B2ADOF71Add , B2ADOF71D , B2ADOF71Hds , & + B2ADOF71Rdt , B2ADOF71V , B2ADOF71Wvs , B2ADOF72A , B2ADOF72Add , B2ADOF72D , B2ADOF72Hds , & + B2ADOF72Rdt , B2ADOF72V , B2ADOF72Wvs , B2ADOF73A , B2ADOF73Add , B2ADOF73D , B2ADOF73Hds , & + B2ADOF73Rdt , B2ADOF73V , B2ADOF73Wvs , B2ADOF74A , B2ADOF74Add , B2ADOF74D , B2ADOF74Hds , & + B2ADOF74Rdt , B2ADOF74V , B2ADOF74Wvs , B2ADOF75A , B2ADOF75Add , B2ADOF75D , B2ADOF75Hds , & + B2ADOF75Rdt , B2ADOF75V , B2ADOF75Wvs , B2ADOF76A , B2ADOF76Add , B2ADOF76D , B2ADOF76Hds , & + B2ADOF76Rdt , B2ADOF76V , B2ADOF76Wvs , B2ADOF77A , B2ADOF77Add , B2ADOF77D , B2ADOF77Hds , & + B2ADOF77Rdt , B2ADOF77V , B2ADOF77Wvs , B2ADOF78A , B2ADOF78Add , B2ADOF78D , B2ADOF78Hds , & + B2ADOF78Rdt , B2ADOF78V , B2ADOF78Wvs , B2ADOF79A , B2ADOF79Add , B2ADOF79D , B2ADOF79Hds , & + B2ADOF79Rdt , B2ADOF79V , B2ADOF79Wvs , B2ADOF7A , B2ADOF7Add , B2ADOF7D , B2ADOF7Hds , & + B2ADOF7Rdt , B2ADOF7V , B2ADOF7Wvs , B2ADOF80A , B2ADOF80Add , B2ADOF80D , B2ADOF80Hds , & + B2ADOF80Rdt , B2ADOF80V , B2ADOF80Wvs , B2ADOF81A , B2ADOF81Add , B2ADOF81D , B2ADOF81Hds , & + B2ADOF81Rdt , B2ADOF81V , B2ADOF81Wvs , B2ADOF82A , B2ADOF82Add , B2ADOF82D , B2ADOF82Hds , & + B2ADOF82Rdt , B2ADOF82V , B2ADOF82Wvs , B2ADOF83A , B2ADOF83Add , B2ADOF83D , B2ADOF83Hds , & + B2ADOF83Rdt , B2ADOF83V , B2ADOF83Wvs , B2ADOF84A , B2ADOF84Add , B2ADOF84D , B2ADOF84Hds , & + B2ADOF84Rdt , B2ADOF84V , B2ADOF84Wvs , B2ADOF85A , B2ADOF85Add , B2ADOF85D , B2ADOF85Hds , & + B2ADOF85Rdt , B2ADOF85V , B2ADOF85Wvs , B2ADOF86A , B2ADOF86Add , B2ADOF86D , B2ADOF86Hds , & + B2ADOF86Rdt , B2ADOF86V , B2ADOF86Wvs , B2ADOF87A , B2ADOF87Add , B2ADOF87D , B2ADOF87Hds , & + B2ADOF87Rdt , B2ADOF87V , B2ADOF87Wvs , B2ADOF88A , B2ADOF88Add , B2ADOF88D , B2ADOF88Hds , & + B2ADOF88Rdt , B2ADOF88V , B2ADOF88Wvs , B2ADOF89A , B2ADOF89Add , B2ADOF89D , B2ADOF89Hds , & + B2ADOF89Rdt , B2ADOF89V , B2ADOF89Wvs , B2ADOF8A , B2ADOF8Add , B2ADOF8D , B2ADOF8Hds , & + B2ADOF8Rdt , B2ADOF8V , B2ADOF8Wvs , B2ADOF90A , B2ADOF90Add , B2ADOF90D , B2ADOF90Hds , & + B2ADOF90Rdt , B2ADOF90V , B2ADOF90Wvs , B2ADOF91A , B2ADOF91Add , B2ADOF91D , B2ADOF91Hds , & + B2ADOF91Rdt , B2ADOF91V , B2ADOF91Wvs , B2ADOF92A , B2ADOF92Add , B2ADOF92D , B2ADOF92Hds , & + B2ADOF92Rdt , B2ADOF92V , B2ADOF92Wvs , B2ADOF93A , B2ADOF93Add , B2ADOF93D , B2ADOF93Hds , & + B2ADOF93Rdt , B2ADOF93V , B2ADOF93Wvs , B2ADOF94A , B2ADOF94Add , B2ADOF94D , B2ADOF94Hds , & + B2ADOF94Rdt , B2ADOF94V , B2ADOF94Wvs , B2ADOF95A , B2ADOF95Add , B2ADOF95D , B2ADOF95Hds , & + B2ADOF95Rdt , B2ADOF95V , B2ADOF95Wvs , B2ADOF96A , B2ADOF96Add , B2ADOF96D , B2ADOF96Hds , & + B2ADOF96Rdt , B2ADOF96V , B2ADOF96Wvs , B2ADOF97A , B2ADOF97Add , B2ADOF97D , B2ADOF97Hds , & + B2ADOF97Rdt , B2ADOF97V , B2ADOF97Wvs , B2ADOF98A , B2ADOF98Add , B2ADOF98D , B2ADOF98Hds , & + B2ADOF98Rdt , B2ADOF98V , B2ADOF98Wvs , B2ADOF99A , B2ADOF99Add , B2ADOF99D , B2ADOF99Hds , & + B2ADOF99Rdt , B2ADOF99V , B2ADOF99Wvs , B2ADOF9A , B2ADOF9Add , B2ADOF9D , B2ADOF9Hds , & + B2ADOF9Rdt , B2ADOF9V , B2ADOF9Wvs , B2HdSFxi , B2HdSFyi , B2HdSFzi , B2HdSMxi , & + B2HdSMyi , B2HdSMzi , B2Heave , B2NFKFxi , B2NFKFyi , B2NFKFzi , B2NFKMxi , & + B2NFKMyi , B2NFKMzi , B2Pitch , B2RAxi , B2RAyi , B2RAzi , B2RdtFxi , & + B2RdtFyi , B2RdtFzi , B2RdtMxi , B2RdtMyi , B2RdtMzi , B2Roll , B2RVxi , & + B2RVyi , B2RVzi , B2Surge , B2Sway , B2TAxi , B2TAyi , B2TAzi , & + B2TVxi , B2TVyi , B2TVzi , B2WvsF1xi , B2WvsF1yi , B2WvsF1zi , B2WvsF2xi , & + B2WvsF2yi , B2WvsF2zi , B2WvsFxi , B2WvsFyi , B2WvsFzi , B2WvsM1xi , B2WvsM1yi , & + B2WvsM1zi , B2WvsM2xi , B2WvsM2yi , B2WvsM2zi , B2WvsMxi , B2WvsMyi , B2WvsMzi , & + B2Yaw , B3AddFxi , B3AddFyi , B3AddFzi , B3AddMxi , B3AddMyi , B3AddMzi , & + B3ADOF10A , B3ADOF10Add , B3ADOF10D , B3ADOF10Hds , B3ADOF10Rdt , B3ADOF10V , B3ADOF10Wvs , & + B3ADOF11A , B3ADOF11Add , B3ADOF11D , B3ADOF11Hds , B3ADOF11Rdt , B3ADOF11V , B3ADOF11Wvs , & + B3ADOF12A , B3ADOF12Add , B3ADOF12D , B3ADOF12Hds , B3ADOF12Rdt , B3ADOF12V , B3ADOF12Wvs , & + B3ADOF13A , B3ADOF13Add , B3ADOF13D , B3ADOF13Hds , B3ADOF13Rdt , B3ADOF13V , B3ADOF13Wvs , & + B3ADOF14A , B3ADOF14Add , B3ADOF14D , B3ADOF14Hds , B3ADOF14Rdt , B3ADOF14V , B3ADOF14Wvs , & + B3ADOF15A , B3ADOF15Add , B3ADOF15D , B3ADOF15Hds , B3ADOF15Rdt , B3ADOF15V , B3ADOF15Wvs , & + B3ADOF16A , B3ADOF16Add , B3ADOF16D , B3ADOF16Hds , B3ADOF16Rdt , B3ADOF16V , B3ADOF16Wvs , & + B3ADOF17A , B3ADOF17Add , B3ADOF17D , B3ADOF17Hds , B3ADOF17Rdt , B3ADOF17V , B3ADOF17Wvs , & + B3ADOF18A , B3ADOF18Add , B3ADOF18D , B3ADOF18Hds , B3ADOF18Rdt , B3ADOF18V , B3ADOF18Wvs , & + B3ADOF19A , B3ADOF19Add , B3ADOF19D , B3ADOF19Hds , B3ADOF19Rdt , B3ADOF19V , B3ADOF19Wvs , & + B3ADOF1A , B3ADOF1Add , B3ADOF1D , B3ADOF1Hds , B3ADOF1Rdt , B3ADOF1V , B3ADOF1Wvs , & + B3ADOF20A , B3ADOF20Add , B3ADOF20D , B3ADOF20Hds , B3ADOF20Rdt , B3ADOF20V , B3ADOF20Wvs , & + B3ADOF21A , B3ADOF21Add , B3ADOF21D , B3ADOF21Hds , B3ADOF21Rdt , B3ADOF21V , B3ADOF21Wvs , & + B3ADOF22A , B3ADOF22Add , B3ADOF22D , B3ADOF22Hds , B3ADOF22Rdt , B3ADOF22V , B3ADOF22Wvs , & + B3ADOF23A , B3ADOF23Add , B3ADOF23D , B3ADOF23Hds , B3ADOF23Rdt , B3ADOF23V , B3ADOF23Wvs , & + B3ADOF24A , B3ADOF24Add , B3ADOF24D , B3ADOF24Hds , B3ADOF24Rdt , B3ADOF24V , B3ADOF24Wvs , & + B3ADOF25A , B3ADOF25Add , B3ADOF25D , B3ADOF25Hds , B3ADOF25Rdt , B3ADOF25V , B3ADOF25Wvs , & + B3ADOF26A , B3ADOF26Add , B3ADOF26D , B3ADOF26Hds , B3ADOF26Rdt , B3ADOF26V , B3ADOF26Wvs , & + B3ADOF27A , B3ADOF27Add , B3ADOF27D , B3ADOF27Hds , B3ADOF27Rdt , B3ADOF27V , B3ADOF27Wvs , & + B3ADOF28A , B3ADOF28Add , B3ADOF28D , B3ADOF28Hds , B3ADOF28Rdt , B3ADOF28V , B3ADOF28Wvs , & + B3ADOF29A , B3ADOF29Add , B3ADOF29D , B3ADOF29Hds , B3ADOF29Rdt , B3ADOF29V , B3ADOF29Wvs , & + B3ADOF2A , B3ADOF2Add , B3ADOF2D , B3ADOF2Hds , B3ADOF2Rdt , B3ADOF2V , B3ADOF2Wvs , & + B3ADOF30A , B3ADOF30Add , B3ADOF30D , B3ADOF30Hds , B3ADOF30Rdt , B3ADOF30V , B3ADOF30Wvs , & + B3ADOF31A , B3ADOF31Add , B3ADOF31D , B3ADOF31Hds , B3ADOF31Rdt , B3ADOF31V , B3ADOF31Wvs , & + B3ADOF32A , B3ADOF32Add , B3ADOF32D , B3ADOF32Hds , B3ADOF32Rdt , B3ADOF32V , B3ADOF32Wvs , & + B3ADOF33A , B3ADOF33Add , B3ADOF33D , B3ADOF33Hds , B3ADOF33Rdt , B3ADOF33V , B3ADOF33Wvs , & + B3ADOF34A , B3ADOF34Add , B3ADOF34D , B3ADOF34Hds , B3ADOF34Rdt , B3ADOF34V , B3ADOF34Wvs /) + INTEGER(IntKi), PARAMETER :: ParamIndxAry2(1701) = (/ & ! This lists the index into AllOuts(:) of the allowed parameters ValidParamAry(:) + B3ADOF35A , B3ADOF35Add , B3ADOF35D , B3ADOF35Hds , B3ADOF35Rdt , B3ADOF35V , B3ADOF35Wvs , & + B3ADOF36A , B3ADOF36Add , B3ADOF36D , B3ADOF36Hds , B3ADOF36Rdt , B3ADOF36V , B3ADOF36Wvs , & + B3ADOF37A , B3ADOF37Add , B3ADOF37D , B3ADOF37Hds , B3ADOF37Rdt , B3ADOF37V , B3ADOF37Wvs , & + B3ADOF38A , B3ADOF38Add , B3ADOF38D , B3ADOF38Hds , B3ADOF38Rdt , B3ADOF38V , B3ADOF38Wvs , & + B3ADOF39A , B3ADOF39Add , B3ADOF39D , B3ADOF39Hds , B3ADOF39Rdt , B3ADOF39V , B3ADOF39Wvs , & + B3ADOF3A , B3ADOF3Add , B3ADOF3D , B3ADOF3Hds , B3ADOF3Rdt , B3ADOF3V , B3ADOF3Wvs , & + B3ADOF40A , B3ADOF40Add , B3ADOF40D , B3ADOF40Hds , B3ADOF40Rdt , B3ADOF40V , B3ADOF40Wvs , & + B3ADOF41A , B3ADOF41Add , B3ADOF41D , B3ADOF41Hds , B3ADOF41Rdt , B3ADOF41V , B3ADOF41Wvs , & + B3ADOF42A , B3ADOF42Add , B3ADOF42D , B3ADOF42Hds , B3ADOF42Rdt , B3ADOF42V , B3ADOF42Wvs , & + B3ADOF43A , B3ADOF43Add , B3ADOF43D , B3ADOF43Hds , B3ADOF43Rdt , B3ADOF43V , B3ADOF43Wvs , & + B3ADOF44A , B3ADOF44Add , B3ADOF44D , B3ADOF44Hds , B3ADOF44Rdt , B3ADOF44V , B3ADOF44Wvs , & + B3ADOF45A , B3ADOF45Add , B3ADOF45D , B3ADOF45Hds , B3ADOF45Rdt , B3ADOF45V , B3ADOF45Wvs , & + B3ADOF46A , B3ADOF46Add , B3ADOF46D , B3ADOF46Hds , B3ADOF46Rdt , B3ADOF46V , B3ADOF46Wvs , & + B3ADOF47A , B3ADOF47Add , B3ADOF47D , B3ADOF47Hds , B3ADOF47Rdt , B3ADOF47V , B3ADOF47Wvs , & + B3ADOF48A , B3ADOF48Add , B3ADOF48D , B3ADOF48Hds , B3ADOF48Rdt , B3ADOF48V , B3ADOF48Wvs , & + B3ADOF49A , B3ADOF49Add , B3ADOF49D , B3ADOF49Hds , B3ADOF49Rdt , B3ADOF49V , B3ADOF49Wvs , & + B3ADOF4A , B3ADOF4Add , B3ADOF4D , B3ADOF4Hds , B3ADOF4Rdt , B3ADOF4V , B3ADOF4Wvs , & + B3ADOF50A , B3ADOF50Add , B3ADOF50D , B3ADOF50Hds , B3ADOF50Rdt , B3ADOF50V , B3ADOF50Wvs , & + B3ADOF51A , B3ADOF51Add , B3ADOF51D , B3ADOF51Hds , B3ADOF51Rdt , B3ADOF51V , B3ADOF51Wvs , & + B3ADOF52A , B3ADOF52Add , B3ADOF52D , B3ADOF52Hds , B3ADOF52Rdt , B3ADOF52V , B3ADOF52Wvs , & + B3ADOF53A , B3ADOF53Add , B3ADOF53D , B3ADOF53Hds , B3ADOF53Rdt , B3ADOF53V , B3ADOF53Wvs , & + B3ADOF54A , B3ADOF54Add , B3ADOF54D , B3ADOF54Hds , B3ADOF54Rdt , B3ADOF54V , B3ADOF54Wvs , & + B3ADOF55A , B3ADOF55Add , B3ADOF55D , B3ADOF55Hds , B3ADOF55Rdt , B3ADOF55V , B3ADOF55Wvs , & + B3ADOF56A , B3ADOF56Add , B3ADOF56D , B3ADOF56Hds , B3ADOF56Rdt , B3ADOF56V , B3ADOF56Wvs , & + B3ADOF57A , B3ADOF57Add , B3ADOF57D , B3ADOF57Hds , B3ADOF57Rdt , B3ADOF57V , B3ADOF57Wvs , & + B3ADOF58A , B3ADOF58Add , B3ADOF58D , B3ADOF58Hds , B3ADOF58Rdt , B3ADOF58V , B3ADOF58Wvs , & + B3ADOF59A , B3ADOF59Add , B3ADOF59D , B3ADOF59Hds , B3ADOF59Rdt , B3ADOF59V , B3ADOF59Wvs , & + B3ADOF5A , B3ADOF5Add , B3ADOF5D , B3ADOF5Hds , B3ADOF5Rdt , B3ADOF5V , B3ADOF5Wvs , & + B3ADOF60A , B3ADOF60Add , B3ADOF60D , B3ADOF60Hds , B3ADOF60Rdt , B3ADOF60V , B3ADOF60Wvs , & + B3ADOF61A , B3ADOF61Add , B3ADOF61D , B3ADOF61Hds , B3ADOF61Rdt , B3ADOF61V , B3ADOF61Wvs , & + B3ADOF62A , B3ADOF62Add , B3ADOF62D , B3ADOF62Hds , B3ADOF62Rdt , B3ADOF62V , B3ADOF62Wvs , & + B3ADOF63A , B3ADOF63Add , B3ADOF63D , B3ADOF63Hds , B3ADOF63Rdt , B3ADOF63V , B3ADOF63Wvs , & + B3ADOF64A , B3ADOF64Add , B3ADOF64D , B3ADOF64Hds , B3ADOF64Rdt , B3ADOF64V , B3ADOF64Wvs , & + B3ADOF65A , B3ADOF65Add , B3ADOF65D , B3ADOF65Hds , B3ADOF65Rdt , B3ADOF65V , B3ADOF65Wvs , & + B3ADOF66A , B3ADOF66Add , B3ADOF66D , B3ADOF66Hds , B3ADOF66Rdt , B3ADOF66V , B3ADOF66Wvs , & + B3ADOF67A , B3ADOF67Add , B3ADOF67D , B3ADOF67Hds , B3ADOF67Rdt , B3ADOF67V , B3ADOF67Wvs , & + B3ADOF68A , B3ADOF68Add , B3ADOF68D , B3ADOF68Hds , B3ADOF68Rdt , B3ADOF68V , B3ADOF68Wvs , & + B3ADOF69A , B3ADOF69Add , B3ADOF69D , B3ADOF69Hds , B3ADOF69Rdt , B3ADOF69V , B3ADOF69Wvs , & + B3ADOF6A , B3ADOF6Add , B3ADOF6D , B3ADOF6Hds , B3ADOF6Rdt , B3ADOF6V , B3ADOF6Wvs , & + B3ADOF70A , B3ADOF70Add , B3ADOF70D , B3ADOF70Hds , B3ADOF70Rdt , B3ADOF70V , B3ADOF70Wvs , & + B3ADOF71A , B3ADOF71Add , B3ADOF71D , B3ADOF71Hds , B3ADOF71Rdt , B3ADOF71V , B3ADOF71Wvs , & + B3ADOF72A , B3ADOF72Add , B3ADOF72D , B3ADOF72Hds , B3ADOF72Rdt , B3ADOF72V , B3ADOF72Wvs , & + B3ADOF73A , B3ADOF73Add , B3ADOF73D , B3ADOF73Hds , B3ADOF73Rdt , B3ADOF73V , B3ADOF73Wvs , & + B3ADOF74A , B3ADOF74Add , B3ADOF74D , B3ADOF74Hds , B3ADOF74Rdt , B3ADOF74V , B3ADOF74Wvs , & + B3ADOF75A , B3ADOF75Add , B3ADOF75D , B3ADOF75Hds , B3ADOF75Rdt , B3ADOF75V , B3ADOF75Wvs , & + B3ADOF76A , B3ADOF76Add , B3ADOF76D , B3ADOF76Hds , B3ADOF76Rdt , B3ADOF76V , B3ADOF76Wvs , & + B3ADOF77A , B3ADOF77Add , B3ADOF77D , B3ADOF77Hds , B3ADOF77Rdt , B3ADOF77V , B3ADOF77Wvs , & + B3ADOF78A , B3ADOF78Add , B3ADOF78D , B3ADOF78Hds , B3ADOF78Rdt , B3ADOF78V , B3ADOF78Wvs , & + B3ADOF79A , B3ADOF79Add , B3ADOF79D , B3ADOF79Hds , B3ADOF79Rdt , B3ADOF79V , B3ADOF79Wvs , & + B3ADOF7A , B3ADOF7Add , B3ADOF7D , B3ADOF7Hds , B3ADOF7Rdt , B3ADOF7V , B3ADOF7Wvs , & + B3ADOF80A , B3ADOF80Add , B3ADOF80D , B3ADOF80Hds , B3ADOF80Rdt , B3ADOF80V , B3ADOF80Wvs , & + B3ADOF81A , B3ADOF81Add , B3ADOF81D , B3ADOF81Hds , B3ADOF81Rdt , B3ADOF81V , B3ADOF81Wvs , & + B3ADOF82A , B3ADOF82Add , B3ADOF82D , B3ADOF82Hds , B3ADOF82Rdt , B3ADOF82V , B3ADOF82Wvs , & + B3ADOF83A , B3ADOF83Add , B3ADOF83D , B3ADOF83Hds , B3ADOF83Rdt , B3ADOF83V , B3ADOF83Wvs , & + B3ADOF84A , B3ADOF84Add , B3ADOF84D , B3ADOF84Hds , B3ADOF84Rdt , B3ADOF84V , B3ADOF84Wvs , & + B3ADOF85A , B3ADOF85Add , B3ADOF85D , B3ADOF85Hds , B3ADOF85Rdt , B3ADOF85V , B3ADOF85Wvs , & + B3ADOF86A , B3ADOF86Add , B3ADOF86D , B3ADOF86Hds , B3ADOF86Rdt , B3ADOF86V , B3ADOF86Wvs , & + B3ADOF87A , B3ADOF87Add , B3ADOF87D , B3ADOF87Hds , B3ADOF87Rdt , B3ADOF87V , B3ADOF87Wvs , & + B3ADOF88A , B3ADOF88Add , B3ADOF88D , B3ADOF88Hds , B3ADOF88Rdt , B3ADOF88V , B3ADOF88Wvs , & + B3ADOF89A , B3ADOF89Add , B3ADOF89D , B3ADOF89Hds , B3ADOF89Rdt , B3ADOF89V , B3ADOF89Wvs , & + B3ADOF8A , B3ADOF8Add , B3ADOF8D , B3ADOF8Hds , B3ADOF8Rdt , B3ADOF8V , B3ADOF8Wvs , & + B3ADOF90A , B3ADOF90Add , B3ADOF90D , B3ADOF90Hds , B3ADOF90Rdt , B3ADOF90V , B3ADOF90Wvs , & + B3ADOF91A , B3ADOF91Add , B3ADOF91D , B3ADOF91Hds , B3ADOF91Rdt , B3ADOF91V , B3ADOF91Wvs , & + B3ADOF92A , B3ADOF92Add , B3ADOF92D , B3ADOF92Hds , B3ADOF92Rdt , B3ADOF92V , B3ADOF92Wvs , & + B3ADOF93A , B3ADOF93Add , B3ADOF93D , B3ADOF93Hds , B3ADOF93Rdt , B3ADOF93V , B3ADOF93Wvs , & + B3ADOF94A , B3ADOF94Add , B3ADOF94D , B3ADOF94Hds , B3ADOF94Rdt , B3ADOF94V , B3ADOF94Wvs , & + B3ADOF95A , B3ADOF95Add , B3ADOF95D , B3ADOF95Hds , B3ADOF95Rdt , B3ADOF95V , B3ADOF95Wvs , & + B3ADOF96A , B3ADOF96Add , B3ADOF96D , B3ADOF96Hds , B3ADOF96Rdt , B3ADOF96V , B3ADOF96Wvs , & + B3ADOF97A , B3ADOF97Add , B3ADOF97D , B3ADOF97Hds , B3ADOF97Rdt , B3ADOF97V , B3ADOF97Wvs , & + B3ADOF98A , B3ADOF98Add , B3ADOF98D , B3ADOF98Hds , B3ADOF98Rdt , B3ADOF98V , B3ADOF98Wvs , & + B3ADOF99A , B3ADOF99Add , B3ADOF99D , B3ADOF99Hds , B3ADOF99Rdt , B3ADOF99V , B3ADOF99Wvs , & + B3ADOF9A , B3ADOF9Add , B3ADOF9D , B3ADOF9Hds , B3ADOF9Rdt , B3ADOF9V , B3ADOF9Wvs , & + B3HdSFxi , B3HdSFyi , B3HdSFzi , B3HdSMxi , B3HdSMyi , B3HdSMzi , B3Heave , & + B3NFKFxi , B3NFKFyi , B3NFKFzi , B3NFKMxi , B3NFKMyi , B3NFKMzi , B3Pitch , & + B3RAxi , B3RAyi , B3RAzi , B3RdtFxi , B3RdtFyi , B3RdtFzi , B3RdtMxi , & + B3RdtMyi , B3RdtMzi , B3Roll , B3RVxi , B3RVyi , B3RVzi , B3Surge , & + B3Sway , B3TAxi , B3TAyi , B3TAzi , B3TVxi , B3TVyi , B3TVzi , & + B3WvsF1xi , B3WvsF1yi , B3WvsF1zi , B3WvsF2xi , B3WvsF2yi , B3WvsF2zi , B3WvsFxi , & + B3WvsFyi , B3WvsFzi , B3WvsM1xi , B3WvsM1yi , B3WvsM1zi , B3WvsM2xi , B3WvsM2yi , & + B3WvsM2zi , B3WvsMxi , B3WvsMyi , B3WvsMzi , B3Yaw , B4AddFxi , B4AddFyi , & + B4AddFzi , B4AddMxi , B4AddMyi , B4AddMzi , B4ADOF10A , B4ADOF10Add , B4ADOF10D , & + B4ADOF10Hds , B4ADOF10Rdt , B4ADOF10V , B4ADOF10Wvs , B4ADOF11A , B4ADOF11Add , B4ADOF11D , & + B4ADOF11Hds , B4ADOF11Rdt , B4ADOF11V , B4ADOF11Wvs , B4ADOF12A , B4ADOF12Add , B4ADOF12D , & + B4ADOF12Hds , B4ADOF12Rdt , B4ADOF12V , B4ADOF12Wvs , B4ADOF13A , B4ADOF13Add , B4ADOF13D , & + B4ADOF13Hds , B4ADOF13Rdt , B4ADOF13V , B4ADOF13Wvs , B4ADOF14A , B4ADOF14Add , B4ADOF14D , & + B4ADOF14Hds , B4ADOF14Rdt , B4ADOF14V , B4ADOF14Wvs , B4ADOF15A , B4ADOF15Add , B4ADOF15D , & + B4ADOF15Hds , B4ADOF15Rdt , B4ADOF15V , B4ADOF15Wvs , B4ADOF16A , B4ADOF16Add , B4ADOF16D , & + B4ADOF16Hds , B4ADOF16Rdt , B4ADOF16V , B4ADOF16Wvs , B4ADOF17A , B4ADOF17Add , B4ADOF17D , & + B4ADOF17Hds , B4ADOF17Rdt , B4ADOF17V , B4ADOF17Wvs , B4ADOF18A , B4ADOF18Add , B4ADOF18D , & + B4ADOF18Hds , B4ADOF18Rdt , B4ADOF18V , B4ADOF18Wvs , B4ADOF19A , B4ADOF19Add , B4ADOF19D , & + B4ADOF19Hds , B4ADOF19Rdt , B4ADOF19V , B4ADOF19Wvs , B4ADOF1A , B4ADOF1Add , B4ADOF1D , & + B4ADOF1Hds , B4ADOF1Rdt , B4ADOF1V , B4ADOF1Wvs , B4ADOF20A , B4ADOF20Add , B4ADOF20D , & + B4ADOF20Hds , B4ADOF20Rdt , B4ADOF20V , B4ADOF20Wvs , B4ADOF21A , B4ADOF21Add , B4ADOF21D , & + B4ADOF21Hds , B4ADOF21Rdt , B4ADOF21V , B4ADOF21Wvs , B4ADOF22A , B4ADOF22Add , B4ADOF22D , & + B4ADOF22Hds , B4ADOF22Rdt , B4ADOF22V , B4ADOF22Wvs , B4ADOF23A , B4ADOF23Add , B4ADOF23D , & + B4ADOF23Hds , B4ADOF23Rdt , B4ADOF23V , B4ADOF23Wvs , B4ADOF24A , B4ADOF24Add , B4ADOF24D , & + B4ADOF24Hds , B4ADOF24Rdt , B4ADOF24V , B4ADOF24Wvs , B4ADOF25A , B4ADOF25Add , B4ADOF25D , & + B4ADOF25Hds , B4ADOF25Rdt , B4ADOF25V , B4ADOF25Wvs , B4ADOF26A , B4ADOF26Add , B4ADOF26D , & + B4ADOF26Hds , B4ADOF26Rdt , B4ADOF26V , B4ADOF26Wvs , B4ADOF27A , B4ADOF27Add , B4ADOF27D , & + B4ADOF27Hds , B4ADOF27Rdt , B4ADOF27V , B4ADOF27Wvs , B4ADOF28A , B4ADOF28Add , B4ADOF28D , & + B4ADOF28Hds , B4ADOF28Rdt , B4ADOF28V , B4ADOF28Wvs , B4ADOF29A , B4ADOF29Add , B4ADOF29D , & + B4ADOF29Hds , B4ADOF29Rdt , B4ADOF29V , B4ADOF29Wvs , B4ADOF2A , B4ADOF2Add , B4ADOF2D , & + B4ADOF2Hds , B4ADOF2Rdt , B4ADOF2V , B4ADOF2Wvs , B4ADOF30A , B4ADOF30Add , B4ADOF30D , & + B4ADOF30Hds , B4ADOF30Rdt , B4ADOF30V , B4ADOF30Wvs , B4ADOF31A , B4ADOF31Add , B4ADOF31D , & + B4ADOF31Hds , B4ADOF31Rdt , B4ADOF31V , B4ADOF31Wvs , B4ADOF32A , B4ADOF32Add , B4ADOF32D , & + B4ADOF32Hds , B4ADOF32Rdt , B4ADOF32V , B4ADOF32Wvs , B4ADOF33A , B4ADOF33Add , B4ADOF33D , & + B4ADOF33Hds , B4ADOF33Rdt , B4ADOF33V , B4ADOF33Wvs , B4ADOF34A , B4ADOF34Add , B4ADOF34D , & + B4ADOF34Hds , B4ADOF34Rdt , B4ADOF34V , B4ADOF34Wvs , B4ADOF35A , B4ADOF35Add , B4ADOF35D , & + B4ADOF35Hds , B4ADOF35Rdt , B4ADOF35V , B4ADOF35Wvs , B4ADOF36A , B4ADOF36Add , B4ADOF36D , & + B4ADOF36Hds , B4ADOF36Rdt , B4ADOF36V , B4ADOF36Wvs , B4ADOF37A , B4ADOF37Add , B4ADOF37D , & + B4ADOF37Hds , B4ADOF37Rdt , B4ADOF37V , B4ADOF37Wvs , B4ADOF38A , B4ADOF38Add , B4ADOF38D , & + B4ADOF38Hds , B4ADOF38Rdt , B4ADOF38V , B4ADOF38Wvs , B4ADOF39A , B4ADOF39Add , B4ADOF39D , & + B4ADOF39Hds , B4ADOF39Rdt , B4ADOF39V , B4ADOF39Wvs , B4ADOF3A , B4ADOF3Add , B4ADOF3D , & + B4ADOF3Hds , B4ADOF3Rdt , B4ADOF3V , B4ADOF3Wvs , B4ADOF40A , B4ADOF40Add , B4ADOF40D , & + B4ADOF40Hds , B4ADOF40Rdt , B4ADOF40V , B4ADOF40Wvs , B4ADOF41A , B4ADOF41Add , B4ADOF41D , & + B4ADOF41Hds , B4ADOF41Rdt , B4ADOF41V , B4ADOF41Wvs , B4ADOF42A , B4ADOF42Add , B4ADOF42D , & + B4ADOF42Hds , B4ADOF42Rdt , B4ADOF42V , B4ADOF42Wvs , B4ADOF43A , B4ADOF43Add , B4ADOF43D , & + B4ADOF43Hds , B4ADOF43Rdt , B4ADOF43V , B4ADOF43Wvs , B4ADOF44A , B4ADOF44Add , B4ADOF44D , & + B4ADOF44Hds , B4ADOF44Rdt , B4ADOF44V , B4ADOF44Wvs , B4ADOF45A , B4ADOF45Add , B4ADOF45D , & + B4ADOF45Hds , B4ADOF45Rdt , B4ADOF45V , B4ADOF45Wvs , B4ADOF46A , B4ADOF46Add , B4ADOF46D , & + B4ADOF46Hds , B4ADOF46Rdt , B4ADOF46V , B4ADOF46Wvs , B4ADOF47A , B4ADOF47Add , B4ADOF47D , & + B4ADOF47Hds , B4ADOF47Rdt , B4ADOF47V , B4ADOF47Wvs , B4ADOF48A , B4ADOF48Add , B4ADOF48D , & + B4ADOF48Hds , B4ADOF48Rdt , B4ADOF48V , B4ADOF48Wvs , B4ADOF49A , B4ADOF49Add , B4ADOF49D , & + B4ADOF49Hds , B4ADOF49Rdt , B4ADOF49V , B4ADOF49Wvs , B4ADOF4A , B4ADOF4Add , B4ADOF4D , & + B4ADOF4Hds , B4ADOF4Rdt , B4ADOF4V , B4ADOF4Wvs , B4ADOF50A , B4ADOF50Add , B4ADOF50D , & + B4ADOF50Hds , B4ADOF50Rdt , B4ADOF50V , B4ADOF50Wvs , B4ADOF51A , B4ADOF51Add , B4ADOF51D , & + B4ADOF51Hds , B4ADOF51Rdt , B4ADOF51V , B4ADOF51Wvs , B4ADOF52A , B4ADOF52Add , B4ADOF52D , & + B4ADOF52Hds , B4ADOF52Rdt , B4ADOF52V , B4ADOF52Wvs , B4ADOF53A , B4ADOF53Add , B4ADOF53D , & + B4ADOF53Hds , B4ADOF53Rdt , B4ADOF53V , B4ADOF53Wvs , B4ADOF54A , B4ADOF54Add , B4ADOF54D , & + B4ADOF54Hds , B4ADOF54Rdt , B4ADOF54V , B4ADOF54Wvs , B4ADOF55A , B4ADOF55Add , B4ADOF55D , & + B4ADOF55Hds , B4ADOF55Rdt , B4ADOF55V , B4ADOF55Wvs , B4ADOF56A , B4ADOF56Add , B4ADOF56D , & + B4ADOF56Hds , B4ADOF56Rdt , B4ADOF56V , B4ADOF56Wvs , B4ADOF57A , B4ADOF57Add , B4ADOF57D , & + B4ADOF57Hds , B4ADOF57Rdt , B4ADOF57V , B4ADOF57Wvs , B4ADOF58A , B4ADOF58Add , B4ADOF58D , & + B4ADOF58Hds , B4ADOF58Rdt , B4ADOF58V , B4ADOF58Wvs , B4ADOF59A , B4ADOF59Add , B4ADOF59D , & + B4ADOF59Hds , B4ADOF59Rdt , B4ADOF59V , B4ADOF59Wvs , B4ADOF5A , B4ADOF5Add , B4ADOF5D , & + B4ADOF5Hds , B4ADOF5Rdt , B4ADOF5V , B4ADOF5Wvs , B4ADOF60A , B4ADOF60Add , B4ADOF60D , & + B4ADOF60Hds , B4ADOF60Rdt , B4ADOF60V , B4ADOF60Wvs , B4ADOF61A , B4ADOF61Add , B4ADOF61D , & + B4ADOF61Hds , B4ADOF61Rdt , B4ADOF61V , B4ADOF61Wvs , B4ADOF62A , B4ADOF62Add , B4ADOF62D , & + B4ADOF62Hds , B4ADOF62Rdt , B4ADOF62V , B4ADOF62Wvs , B4ADOF63A , B4ADOF63Add , B4ADOF63D , & + B4ADOF63Hds , B4ADOF63Rdt , B4ADOF63V , B4ADOF63Wvs , B4ADOF64A , B4ADOF64Add , B4ADOF64D , & + B4ADOF64Hds , B4ADOF64Rdt , B4ADOF64V , B4ADOF64Wvs , B4ADOF65A , B4ADOF65Add , B4ADOF65D , & + B4ADOF65Hds , B4ADOF65Rdt , B4ADOF65V , B4ADOF65Wvs , B4ADOF66A , B4ADOF66Add , B4ADOF66D , & + B4ADOF66Hds , B4ADOF66Rdt , B4ADOF66V , B4ADOF66Wvs , B4ADOF67A , B4ADOF67Add , B4ADOF67D , & + B4ADOF67Hds , B4ADOF67Rdt , B4ADOF67V , B4ADOF67Wvs , B4ADOF68A , B4ADOF68Add , B4ADOF68D , & + B4ADOF68Hds , B4ADOF68Rdt , B4ADOF68V , B4ADOF68Wvs , B4ADOF69A , B4ADOF69Add , B4ADOF69D , & + B4ADOF69Hds , B4ADOF69Rdt , B4ADOF69V , B4ADOF69Wvs , B4ADOF6A , B4ADOF6Add , B4ADOF6D , & + B4ADOF6Hds , B4ADOF6Rdt , B4ADOF6V , B4ADOF6Wvs , B4ADOF70A , B4ADOF70Add , B4ADOF70D , & + B4ADOF70Hds , B4ADOF70Rdt , B4ADOF70V , B4ADOF70Wvs , B4ADOF71A , B4ADOF71Add , B4ADOF71D , & + B4ADOF71Hds , B4ADOF71Rdt , B4ADOF71V , B4ADOF71Wvs , B4ADOF72A , B4ADOF72Add , B4ADOF72D , & + B4ADOF72Hds , B4ADOF72Rdt , B4ADOF72V , B4ADOF72Wvs , B4ADOF73A , B4ADOF73Add , B4ADOF73D , & + B4ADOF73Hds , B4ADOF73Rdt , B4ADOF73V , B4ADOF73Wvs , B4ADOF74A , B4ADOF74Add , B4ADOF74D , & + B4ADOF74Hds , B4ADOF74Rdt , B4ADOF74V , B4ADOF74Wvs , B4ADOF75A , B4ADOF75Add , B4ADOF75D , & + B4ADOF75Hds , B4ADOF75Rdt , B4ADOF75V , B4ADOF75Wvs , B4ADOF76A , B4ADOF76Add , B4ADOF76D , & + B4ADOF76Hds , B4ADOF76Rdt , B4ADOF76V , B4ADOF76Wvs , B4ADOF77A , B4ADOF77Add , B4ADOF77D , & + B4ADOF77Hds , B4ADOF77Rdt , B4ADOF77V , B4ADOF77Wvs , B4ADOF78A , B4ADOF78Add , B4ADOF78D , & + B4ADOF78Hds , B4ADOF78Rdt , B4ADOF78V , B4ADOF78Wvs , B4ADOF79A , B4ADOF79Add , B4ADOF79D , & + B4ADOF79Hds , B4ADOF79Rdt , B4ADOF79V , B4ADOF79Wvs , B4ADOF7A , B4ADOF7Add , B4ADOF7D , & + B4ADOF7Hds , B4ADOF7Rdt , B4ADOF7V , B4ADOF7Wvs , B4ADOF80A , B4ADOF80Add , B4ADOF80D , & + B4ADOF80Hds , B4ADOF80Rdt , B4ADOF80V , B4ADOF80Wvs , B4ADOF81A , B4ADOF81Add , B4ADOF81D , & + B4ADOF81Hds , B4ADOF81Rdt , B4ADOF81V , B4ADOF81Wvs , B4ADOF82A , B4ADOF82Add , B4ADOF82D , & + B4ADOF82Hds , B4ADOF82Rdt , B4ADOF82V , B4ADOF82Wvs , B4ADOF83A , B4ADOF83Add , B4ADOF83D , & + B4ADOF83Hds , B4ADOF83Rdt , B4ADOF83V , B4ADOF83Wvs , B4ADOF84A , B4ADOF84Add , B4ADOF84D , & + B4ADOF84Hds , B4ADOF84Rdt , B4ADOF84V , B4ADOF84Wvs , B4ADOF85A , B4ADOF85Add , B4ADOF85D , & + B4ADOF85Hds , B4ADOF85Rdt , B4ADOF85V , B4ADOF85Wvs , B4ADOF86A , B4ADOF86Add , B4ADOF86D , & + B4ADOF86Hds , B4ADOF86Rdt , B4ADOF86V , B4ADOF86Wvs , B4ADOF87A , B4ADOF87Add , B4ADOF87D , & + B4ADOF87Hds , B4ADOF87Rdt , B4ADOF87V , B4ADOF87Wvs , B4ADOF88A , B4ADOF88Add , B4ADOF88D , & + B4ADOF88Hds , B4ADOF88Rdt , B4ADOF88V , B4ADOF88Wvs , B4ADOF89A , B4ADOF89Add , B4ADOF89D , & + B4ADOF89Hds , B4ADOF89Rdt , B4ADOF89V , B4ADOF89Wvs , B4ADOF8A , B4ADOF8Add , B4ADOF8D , & + B4ADOF8Hds , B4ADOF8Rdt , B4ADOF8V , B4ADOF8Wvs , B4ADOF90A , B4ADOF90Add , B4ADOF90D , & + B4ADOF90Hds , B4ADOF90Rdt , B4ADOF90V , B4ADOF90Wvs , B4ADOF91A , B4ADOF91Add , B4ADOF91D , & + B4ADOF91Hds , B4ADOF91Rdt , B4ADOF91V , B4ADOF91Wvs , B4ADOF92A , B4ADOF92Add , B4ADOF92D , & + B4ADOF92Hds , B4ADOF92Rdt , B4ADOF92V , B4ADOF92Wvs , B4ADOF93A , B4ADOF93Add , B4ADOF93D , & + B4ADOF93Hds , B4ADOF93Rdt , B4ADOF93V , B4ADOF93Wvs , B4ADOF94A , B4ADOF94Add , B4ADOF94D , & + B4ADOF94Hds , B4ADOF94Rdt , B4ADOF94V , B4ADOF94Wvs , B4ADOF95A , B4ADOF95Add , B4ADOF95D , & + B4ADOF95Hds , B4ADOF95Rdt , B4ADOF95V , B4ADOF95Wvs , B4ADOF96A , B4ADOF96Add , B4ADOF96D , & + B4ADOF96Hds , B4ADOF96Rdt , B4ADOF96V , B4ADOF96Wvs , B4ADOF97A , B4ADOF97Add , B4ADOF97D , & + B4ADOF97Hds , B4ADOF97Rdt , B4ADOF97V , B4ADOF97Wvs , B4ADOF98A , B4ADOF98Add , B4ADOF98D , & + B4ADOF98Hds , B4ADOF98Rdt , B4ADOF98V , B4ADOF98Wvs , B4ADOF99A , B4ADOF99Add , B4ADOF99D , & + B4ADOF99Hds , B4ADOF99Rdt , B4ADOF99V , B4ADOF99Wvs , B4ADOF9A , B4ADOF9Add , B4ADOF9D , & + B4ADOF9Hds , B4ADOF9Rdt , B4ADOF9V , B4ADOF9Wvs , B4HdSFxi , B4HdSFyi , B4HdSFzi , & + B4HdSMxi , B4HdSMyi , B4HdSMzi , B4Heave , B4NFKFxi , B4NFKFyi , B4NFKFzi , & + B4NFKMxi , B4NFKMyi , B4NFKMzi , B4Pitch , B4RAxi , B4RAyi , B4RAzi , & + B4RdtFxi , B4RdtFyi , B4RdtFzi , B4RdtMxi , B4RdtMyi , B4RdtMzi , B4Roll , & + B4RVxi , B4RVyi , B4RVzi , B4Surge , B4Sway , B4TAxi , B4TAyi , & + B4TAzi , B4TVxi , B4TVyi , B4TVzi , B4WvsF1xi , B4WvsF1yi , B4WvsF1zi , & + B4WvsF2xi , B4WvsF2yi , B4WvsF2zi , B4WvsFxi , B4WvsFyi , B4WvsFzi , B4WvsM1xi , & + B4WvsM1yi , B4WvsM1zi , B4WvsM2xi , B4WvsM2yi , B4WvsM2zi , B4WvsMxi , B4WvsMyi , & + B4WvsMzi , B4Yaw , B5AddFxi , B5AddFyi , B5AddFzi , B5AddMxi , B5AddMyi , & + B5AddMzi , B5ADOF10A , B5ADOF10Add , B5ADOF10D , B5ADOF10Hds , B5ADOF10Rdt , B5ADOF10V , & + B5ADOF10Wvs , B5ADOF11A , B5ADOF11Add , B5ADOF11D , B5ADOF11Hds , B5ADOF11Rdt , B5ADOF11V , & + B5ADOF11Wvs , B5ADOF12A , B5ADOF12Add , B5ADOF12D , B5ADOF12Hds , B5ADOF12Rdt , B5ADOF12V , & + B5ADOF12Wvs , B5ADOF13A , B5ADOF13Add , B5ADOF13D , B5ADOF13Hds , B5ADOF13Rdt , B5ADOF13V , & + B5ADOF13Wvs , B5ADOF14A , B5ADOF14Add , B5ADOF14D , B5ADOF14Hds , B5ADOF14Rdt , B5ADOF14V , & + B5ADOF14Wvs , B5ADOF15A , B5ADOF15Add , B5ADOF15D , B5ADOF15Hds , B5ADOF15Rdt , B5ADOF15V , & + B5ADOF15Wvs , B5ADOF16A , B5ADOF16Add , B5ADOF16D , B5ADOF16Hds , B5ADOF16Rdt , B5ADOF16V , & + B5ADOF16Wvs , B5ADOF17A , B5ADOF17Add , B5ADOF17D , B5ADOF17Hds , B5ADOF17Rdt , B5ADOF17V , & + B5ADOF17Wvs , B5ADOF18A , B5ADOF18Add , B5ADOF18D , B5ADOF18Hds , B5ADOF18Rdt , B5ADOF18V , & + B5ADOF18Wvs , B5ADOF19A , B5ADOF19Add , B5ADOF19D , B5ADOF19Hds , B5ADOF19Rdt , B5ADOF19V , & + B5ADOF19Wvs , B5ADOF1A , B5ADOF1Add , B5ADOF1D , B5ADOF1Hds , B5ADOF1Rdt , B5ADOF1V , & + B5ADOF1Wvs , B5ADOF20A , B5ADOF20Add , B5ADOF20D , B5ADOF20Hds , B5ADOF20Rdt , B5ADOF20V , & + B5ADOF20Wvs , B5ADOF21A , B5ADOF21Add , B5ADOF21D , B5ADOF21Hds , B5ADOF21Rdt , B5ADOF21V , & + B5ADOF21Wvs , B5ADOF22A , B5ADOF22Add , B5ADOF22D , B5ADOF22Hds , B5ADOF22Rdt , B5ADOF22V , & + B5ADOF22Wvs , B5ADOF23A , B5ADOF23Add , B5ADOF23D , B5ADOF23Hds , B5ADOF23Rdt , B5ADOF23V , & + B5ADOF23Wvs , B5ADOF24A , B5ADOF24Add , B5ADOF24D , B5ADOF24Hds , B5ADOF24Rdt , B5ADOF24V , & + B5ADOF24Wvs , B5ADOF25A , B5ADOF25Add , B5ADOF25D , B5ADOF25Hds , B5ADOF25Rdt , B5ADOF25V , & + B5ADOF25Wvs , B5ADOF26A , B5ADOF26Add , B5ADOF26D , B5ADOF26Hds , B5ADOF26Rdt , B5ADOF26V , & + B5ADOF26Wvs , B5ADOF27A , B5ADOF27Add , B5ADOF27D , B5ADOF27Hds , B5ADOF27Rdt , B5ADOF27V , & + B5ADOF27Wvs , B5ADOF28A , B5ADOF28Add , B5ADOF28D , B5ADOF28Hds , B5ADOF28Rdt , B5ADOF28V , & + B5ADOF28Wvs , B5ADOF29A , B5ADOF29Add , B5ADOF29D , B5ADOF29Hds , B5ADOF29Rdt , B5ADOF29V , & + B5ADOF29Wvs , B5ADOF2A , B5ADOF2Add , B5ADOF2D , B5ADOF2Hds , B5ADOF2Rdt , B5ADOF2V , & + B5ADOF2Wvs , B5ADOF30A , B5ADOF30Add , B5ADOF30D , B5ADOF30Hds , B5ADOF30Rdt , B5ADOF30V , & + B5ADOF30Wvs , B5ADOF31A , B5ADOF31Add , B5ADOF31D , B5ADOF31Hds , B5ADOF31Rdt , B5ADOF31V , & + B5ADOF31Wvs , B5ADOF32A , B5ADOF32Add , B5ADOF32D , B5ADOF32Hds , B5ADOF32Rdt , B5ADOF32V , & + B5ADOF32Wvs , B5ADOF33A , B5ADOF33Add , B5ADOF33D , B5ADOF33Hds , B5ADOF33Rdt , B5ADOF33V , & + B5ADOF33Wvs , B5ADOF34A , B5ADOF34Add , B5ADOF34D , B5ADOF34Hds , B5ADOF34Rdt , B5ADOF34V , & + B5ADOF34Wvs , B5ADOF35A , B5ADOF35Add , B5ADOF35D , B5ADOF35Hds , B5ADOF35Rdt , B5ADOF35V , & + B5ADOF35Wvs , B5ADOF36A , B5ADOF36Add , B5ADOF36D , B5ADOF36Hds , B5ADOF36Rdt , B5ADOF36V , & + B5ADOF36Wvs , B5ADOF37A , B5ADOF37Add , B5ADOF37D , B5ADOF37Hds , B5ADOF37Rdt , B5ADOF37V , & + B5ADOF37Wvs , B5ADOF38A , B5ADOF38Add , B5ADOF38D , B5ADOF38Hds , B5ADOF38Rdt , B5ADOF38V , & + B5ADOF38Wvs , B5ADOF39A , B5ADOF39Add , B5ADOF39D , B5ADOF39Hds , B5ADOF39Rdt , B5ADOF39V , & + B5ADOF39Wvs , B5ADOF3A , B5ADOF3Add , B5ADOF3D , B5ADOF3Hds , B5ADOF3Rdt , B5ADOF3V , & + B5ADOF3Wvs , B5ADOF40A , B5ADOF40Add , B5ADOF40D , B5ADOF40Hds , B5ADOF40Rdt , B5ADOF40V , & + B5ADOF40Wvs , B5ADOF41A , B5ADOF41Add , B5ADOF41D , B5ADOF41Hds , B5ADOF41Rdt , B5ADOF41V , & + B5ADOF41Wvs , B5ADOF42A , B5ADOF42Add , B5ADOF42D , B5ADOF42Hds , B5ADOF42Rdt , B5ADOF42V , & + B5ADOF42Wvs , B5ADOF43A , B5ADOF43Add , B5ADOF43D , B5ADOF43Hds , B5ADOF43Rdt , B5ADOF43V , & + B5ADOF43Wvs , B5ADOF44A , B5ADOF44Add , B5ADOF44D , B5ADOF44Hds , B5ADOF44Rdt , B5ADOF44V , & + B5ADOF44Wvs , B5ADOF45A , B5ADOF45Add , B5ADOF45D , B5ADOF45Hds , B5ADOF45Rdt , B5ADOF45V , & + B5ADOF45Wvs , B5ADOF46A , B5ADOF46Add , B5ADOF46D , B5ADOF46Hds , B5ADOF46Rdt , B5ADOF46V , & + B5ADOF46Wvs , B5ADOF47A , B5ADOF47Add , B5ADOF47D , B5ADOF47Hds , B5ADOF47Rdt , B5ADOF47V , & + B5ADOF47Wvs , B5ADOF48A , B5ADOF48Add , B5ADOF48D , B5ADOF48Hds , B5ADOF48Rdt , B5ADOF48V , & + B5ADOF48Wvs , B5ADOF49A , B5ADOF49Add , B5ADOF49D , B5ADOF49Hds , B5ADOF49Rdt , B5ADOF49V , & + B5ADOF49Wvs , B5ADOF4A , B5ADOF4Add , B5ADOF4D , B5ADOF4Hds , B5ADOF4Rdt , B5ADOF4V , & + B5ADOF4Wvs , B5ADOF50A , B5ADOF50Add , B5ADOF50D , B5ADOF50Hds , B5ADOF50Rdt , B5ADOF50V , & + B5ADOF50Wvs , B5ADOF51A , B5ADOF51Add , B5ADOF51D , B5ADOF51Hds , B5ADOF51Rdt , B5ADOF51V , & + B5ADOF51Wvs , B5ADOF52A , B5ADOF52Add , B5ADOF52D , B5ADOF52Hds , B5ADOF52Rdt , B5ADOF52V , & + B5ADOF52Wvs , B5ADOF53A , B5ADOF53Add , B5ADOF53D , B5ADOF53Hds , B5ADOF53Rdt , B5ADOF53V , & + B5ADOF53Wvs , B5ADOF54A , B5ADOF54Add , B5ADOF54D , B5ADOF54Hds , B5ADOF54Rdt , B5ADOF54V , & + B5ADOF54Wvs , B5ADOF55A , B5ADOF55Add , B5ADOF55D , B5ADOF55Hds , B5ADOF55Rdt , B5ADOF55V , & + B5ADOF55Wvs , B5ADOF56A , B5ADOF56Add , B5ADOF56D , B5ADOF56Hds , B5ADOF56Rdt , B5ADOF56V , & + B5ADOF56Wvs , B5ADOF57A , B5ADOF57Add , B5ADOF57D , B5ADOF57Hds , B5ADOF57Rdt , B5ADOF57V , & + B5ADOF57Wvs , B5ADOF58A , B5ADOF58Add , B5ADOF58D , B5ADOF58Hds , B5ADOF58Rdt , B5ADOF58V , & + B5ADOF58Wvs , B5ADOF59A , B5ADOF59Add , B5ADOF59D , B5ADOF59Hds , B5ADOF59Rdt , B5ADOF59V , & + B5ADOF59Wvs , B5ADOF5A , B5ADOF5Add , B5ADOF5D , B5ADOF5Hds , B5ADOF5Rdt , B5ADOF5V /) + INTEGER(IntKi), PARAMETER :: ParamIndxAry3(1701) = (/ & ! This lists the index into AllOuts(:) of the allowed parameters ValidParamAry(:) + B5ADOF5Wvs , B5ADOF60A , B5ADOF60Add , B5ADOF60D , B5ADOF60Hds , B5ADOF60Rdt , B5ADOF60V , & + B5ADOF60Wvs , B5ADOF61A , B5ADOF61Add , B5ADOF61D , B5ADOF61Hds , B5ADOF61Rdt , B5ADOF61V , & + B5ADOF61Wvs , B5ADOF62A , B5ADOF62Add , B5ADOF62D , B5ADOF62Hds , B5ADOF62Rdt , B5ADOF62V , & + B5ADOF62Wvs , B5ADOF63A , B5ADOF63Add , B5ADOF63D , B5ADOF63Hds , B5ADOF63Rdt , B5ADOF63V , & + B5ADOF63Wvs , B5ADOF64A , B5ADOF64Add , B5ADOF64D , B5ADOF64Hds , B5ADOF64Rdt , B5ADOF64V , & + B5ADOF64Wvs , B5ADOF65A , B5ADOF65Add , B5ADOF65D , B5ADOF65Hds , B5ADOF65Rdt , B5ADOF65V , & + B5ADOF65Wvs , B5ADOF66A , B5ADOF66Add , B5ADOF66D , B5ADOF66Hds , B5ADOF66Rdt , B5ADOF66V , & + B5ADOF66Wvs , B5ADOF67A , B5ADOF67Add , B5ADOF67D , B5ADOF67Hds , B5ADOF67Rdt , B5ADOF67V , & + B5ADOF67Wvs , B5ADOF68A , B5ADOF68Add , B5ADOF68D , B5ADOF68Hds , B5ADOF68Rdt , B5ADOF68V , & + B5ADOF68Wvs , B5ADOF69A , B5ADOF69Add , B5ADOF69D , B5ADOF69Hds , B5ADOF69Rdt , B5ADOF69V , & + B5ADOF69Wvs , B5ADOF6A , B5ADOF6Add , B5ADOF6D , B5ADOF6Hds , B5ADOF6Rdt , B5ADOF6V , & + B5ADOF6Wvs , B5ADOF70A , B5ADOF70Add , B5ADOF70D , B5ADOF70Hds , B5ADOF70Rdt , B5ADOF70V , & + B5ADOF70Wvs , B5ADOF71A , B5ADOF71Add , B5ADOF71D , B5ADOF71Hds , B5ADOF71Rdt , B5ADOF71V , & + B5ADOF71Wvs , B5ADOF72A , B5ADOF72Add , B5ADOF72D , B5ADOF72Hds , B5ADOF72Rdt , B5ADOF72V , & + B5ADOF72Wvs , B5ADOF73A , B5ADOF73Add , B5ADOF73D , B5ADOF73Hds , B5ADOF73Rdt , B5ADOF73V , & + B5ADOF73Wvs , B5ADOF74A , B5ADOF74Add , B5ADOF74D , B5ADOF74Hds , B5ADOF74Rdt , B5ADOF74V , & + B5ADOF74Wvs , B5ADOF75A , B5ADOF75Add , B5ADOF75D , B5ADOF75Hds , B5ADOF75Rdt , B5ADOF75V , & + B5ADOF75Wvs , B5ADOF76A , B5ADOF76Add , B5ADOF76D , B5ADOF76Hds , B5ADOF76Rdt , B5ADOF76V , & + B5ADOF76Wvs , B5ADOF77A , B5ADOF77Add , B5ADOF77D , B5ADOF77Hds , B5ADOF77Rdt , B5ADOF77V , & + B5ADOF77Wvs , B5ADOF78A , B5ADOF78Add , B5ADOF78D , B5ADOF78Hds , B5ADOF78Rdt , B5ADOF78V , & + B5ADOF78Wvs , B5ADOF79A , B5ADOF79Add , B5ADOF79D , B5ADOF79Hds , B5ADOF79Rdt , B5ADOF79V , & + B5ADOF79Wvs , B5ADOF7A , B5ADOF7Add , B5ADOF7D , B5ADOF7Hds , B5ADOF7Rdt , B5ADOF7V , & + B5ADOF7Wvs , B5ADOF80A , B5ADOF80Add , B5ADOF80D , B5ADOF80Hds , B5ADOF80Rdt , B5ADOF80V , & + B5ADOF80Wvs , B5ADOF81A , B5ADOF81Add , B5ADOF81D , B5ADOF81Hds , B5ADOF81Rdt , B5ADOF81V , & + B5ADOF81Wvs , B5ADOF82A , B5ADOF82Add , B5ADOF82D , B5ADOF82Hds , B5ADOF82Rdt , B5ADOF82V , & + B5ADOF82Wvs , B5ADOF83A , B5ADOF83Add , B5ADOF83D , B5ADOF83Hds , B5ADOF83Rdt , B5ADOF83V , & + B5ADOF83Wvs , B5ADOF84A , B5ADOF84Add , B5ADOF84D , B5ADOF84Hds , B5ADOF84Rdt , B5ADOF84V , & + B5ADOF84Wvs , B5ADOF85A , B5ADOF85Add , B5ADOF85D , B5ADOF85Hds , B5ADOF85Rdt , B5ADOF85V , & + B5ADOF85Wvs , B5ADOF86A , B5ADOF86Add , B5ADOF86D , B5ADOF86Hds , B5ADOF86Rdt , B5ADOF86V , & + B5ADOF86Wvs , B5ADOF87A , B5ADOF87Add , B5ADOF87D , B5ADOF87Hds , B5ADOF87Rdt , B5ADOF87V , & + B5ADOF87Wvs , B5ADOF88A , B5ADOF88Add , B5ADOF88D , B5ADOF88Hds , B5ADOF88Rdt , B5ADOF88V , & + B5ADOF88Wvs , B5ADOF89A , B5ADOF89Add , B5ADOF89D , B5ADOF89Hds , B5ADOF89Rdt , B5ADOF89V , & + B5ADOF89Wvs , B5ADOF8A , B5ADOF8Add , B5ADOF8D , B5ADOF8Hds , B5ADOF8Rdt , B5ADOF8V , & + B5ADOF8Wvs , B5ADOF90A , B5ADOF90Add , B5ADOF90D , B5ADOF90Hds , B5ADOF90Rdt , B5ADOF90V , & + B5ADOF90Wvs , B5ADOF91A , B5ADOF91Add , B5ADOF91D , B5ADOF91Hds , B5ADOF91Rdt , B5ADOF91V , & + B5ADOF91Wvs , B5ADOF92A , B5ADOF92Add , B5ADOF92D , B5ADOF92Hds , B5ADOF92Rdt , B5ADOF92V , & + B5ADOF92Wvs , B5ADOF93A , B5ADOF93Add , B5ADOF93D , B5ADOF93Hds , B5ADOF93Rdt , B5ADOF93V , & + B5ADOF93Wvs , B5ADOF94A , B5ADOF94Add , B5ADOF94D , B5ADOF94Hds , B5ADOF94Rdt , B5ADOF94V , & + B5ADOF94Wvs , B5ADOF95A , B5ADOF95Add , B5ADOF95D , B5ADOF95Hds , B5ADOF95Rdt , B5ADOF95V , & + B5ADOF95Wvs , B5ADOF96A , B5ADOF96Add , B5ADOF96D , B5ADOF96Hds , B5ADOF96Rdt , B5ADOF96V , & + B5ADOF96Wvs , B5ADOF97A , B5ADOF97Add , B5ADOF97D , B5ADOF97Hds , B5ADOF97Rdt , B5ADOF97V , & + B5ADOF97Wvs , B5ADOF98A , B5ADOF98Add , B5ADOF98D , B5ADOF98Hds , B5ADOF98Rdt , B5ADOF98V , & + B5ADOF98Wvs , B5ADOF99A , B5ADOF99Add , B5ADOF99D , B5ADOF99Hds , B5ADOF99Rdt , B5ADOF99V , & + B5ADOF99Wvs , B5ADOF9A , B5ADOF9Add , B5ADOF9D , B5ADOF9Hds , B5ADOF9Rdt , B5ADOF9V , & + B5ADOF9Wvs , B5HdSFxi , B5HdSFyi , B5HdSFzi , B5HdSMxi , B5HdSMyi , B5HdSMzi , & + B5Heave , B5NFKFxi , B5NFKFyi , B5NFKFzi , B5NFKMxi , B5NFKMyi , B5NFKMzi , & + B5Pitch , B5RAxi , B5RAyi , B5RAzi , B5RdtFxi , B5RdtFyi , B5RdtFzi , & + B5RdtMxi , B5RdtMyi , B5RdtMzi , B5Roll , B5RVxi , B5RVyi , B5RVzi , & + B5Surge , B5Sway , B5TAxi , B5TAyi , B5TAzi , B5TVxi , B5TVyi , & + B5TVzi , B5WvsF1xi , B5WvsF1yi , B5WvsF1zi , B5WvsF2xi , B5WvsF2yi , B5WvsF2zi , & + B5WvsFxi , B5WvsFyi , B5WvsFzi , B5WvsM1xi , B5WvsM1yi , B5WvsM1zi , B5WvsM2xi , & + B5WvsM2yi , B5WvsM2zi , B5WvsMxi , B5WvsMyi , B5WvsMzi , B5Yaw , B6AddFxi , & + B6AddFyi , B6AddFzi , B6AddMxi , B6AddMyi , B6AddMzi , B6ADOF10A , B6ADOF10Add , & + B6ADOF10D , B6ADOF10Hds , B6ADOF10Rdt , B6ADOF10V , B6ADOF10Wvs , B6ADOF11A , B6ADOF11Add , & + B6ADOF11D , B6ADOF11Hds , B6ADOF11Rdt , B6ADOF11V , B6ADOF11Wvs , B6ADOF12A , B6ADOF12Add , & + B6ADOF12D , B6ADOF12Hds , B6ADOF12Rdt , B6ADOF12V , B6ADOF12Wvs , B6ADOF13A , B6ADOF13Add , & + B6ADOF13D , B6ADOF13Hds , B6ADOF13Rdt , B6ADOF13V , B6ADOF13Wvs , B6ADOF14A , B6ADOF14Add , & + B6ADOF14D , B6ADOF14Hds , B6ADOF14Rdt , B6ADOF14V , B6ADOF14Wvs , B6ADOF15A , B6ADOF15Add , & + B6ADOF15D , B6ADOF15Hds , B6ADOF15Rdt , B6ADOF15V , B6ADOF15Wvs , B6ADOF16A , B6ADOF16Add , & + B6ADOF16D , B6ADOF16Hds , B6ADOF16Rdt , B6ADOF16V , B6ADOF16Wvs , B6ADOF17A , B6ADOF17Add , & + B6ADOF17D , B6ADOF17Hds , B6ADOF17Rdt , B6ADOF17V , B6ADOF17Wvs , B6ADOF18A , B6ADOF18Add , & + B6ADOF18D , B6ADOF18Hds , B6ADOF18Rdt , B6ADOF18V , B6ADOF18Wvs , B6ADOF19A , B6ADOF19Add , & + B6ADOF19D , B6ADOF19Hds , B6ADOF19Rdt , B6ADOF19V , B6ADOF19Wvs , B6ADOF1A , B6ADOF1Add , & + B6ADOF1D , B6ADOF1Hds , B6ADOF1Rdt , B6ADOF1V , B6ADOF1Wvs , B6ADOF20A , B6ADOF20Add , & + B6ADOF20D , B6ADOF20Hds , B6ADOF20Rdt , B6ADOF20V , B6ADOF20Wvs , B6ADOF21A , B6ADOF21Add , & + B6ADOF21D , B6ADOF21Hds , B6ADOF21Rdt , B6ADOF21V , B6ADOF21Wvs , B6ADOF22A , B6ADOF22Add , & + B6ADOF22D , B6ADOF22Hds , B6ADOF22Rdt , B6ADOF22V , B6ADOF22Wvs , B6ADOF23A , B6ADOF23Add , & + B6ADOF23D , B6ADOF23Hds , B6ADOF23Rdt , B6ADOF23V , B6ADOF23Wvs , B6ADOF24A , B6ADOF24Add , & + B6ADOF24D , B6ADOF24Hds , B6ADOF24Rdt , B6ADOF24V , B6ADOF24Wvs , B6ADOF25A , B6ADOF25Add , & + B6ADOF25D , B6ADOF25Hds , B6ADOF25Rdt , B6ADOF25V , B6ADOF25Wvs , B6ADOF26A , B6ADOF26Add , & + B6ADOF26D , B6ADOF26Hds , B6ADOF26Rdt , B6ADOF26V , B6ADOF26Wvs , B6ADOF27A , B6ADOF27Add , & + B6ADOF27D , B6ADOF27Hds , B6ADOF27Rdt , B6ADOF27V , B6ADOF27Wvs , B6ADOF28A , B6ADOF28Add , & + B6ADOF28D , B6ADOF28Hds , B6ADOF28Rdt , B6ADOF28V , B6ADOF28Wvs , B6ADOF29A , B6ADOF29Add , & + B6ADOF29D , B6ADOF29Hds , B6ADOF29Rdt , B6ADOF29V , B6ADOF29Wvs , B6ADOF2A , B6ADOF2Add , & + B6ADOF2D , B6ADOF2Hds , B6ADOF2Rdt , B6ADOF2V , B6ADOF2Wvs , B6ADOF30A , B6ADOF30Add , & + B6ADOF30D , B6ADOF30Hds , B6ADOF30Rdt , B6ADOF30V , B6ADOF30Wvs , B6ADOF31A , B6ADOF31Add , & + B6ADOF31D , B6ADOF31Hds , B6ADOF31Rdt , B6ADOF31V , B6ADOF31Wvs , B6ADOF32A , B6ADOF32Add , & + B6ADOF32D , B6ADOF32Hds , B6ADOF32Rdt , B6ADOF32V , B6ADOF32Wvs , B6ADOF33A , B6ADOF33Add , & + B6ADOF33D , B6ADOF33Hds , B6ADOF33Rdt , B6ADOF33V , B6ADOF33Wvs , B6ADOF34A , B6ADOF34Add , & + B6ADOF34D , B6ADOF34Hds , B6ADOF34Rdt , B6ADOF34V , B6ADOF34Wvs , B6ADOF35A , B6ADOF35Add , & + B6ADOF35D , B6ADOF35Hds , B6ADOF35Rdt , B6ADOF35V , B6ADOF35Wvs , B6ADOF36A , B6ADOF36Add , & + B6ADOF36D , B6ADOF36Hds , B6ADOF36Rdt , B6ADOF36V , B6ADOF36Wvs , B6ADOF37A , B6ADOF37Add , & + B6ADOF37D , B6ADOF37Hds , B6ADOF37Rdt , B6ADOF37V , B6ADOF37Wvs , B6ADOF38A , B6ADOF38Add , & + B6ADOF38D , B6ADOF38Hds , B6ADOF38Rdt , B6ADOF38V , B6ADOF38Wvs , B6ADOF39A , B6ADOF39Add , & + B6ADOF39D , B6ADOF39Hds , B6ADOF39Rdt , B6ADOF39V , B6ADOF39Wvs , B6ADOF3A , B6ADOF3Add , & + B6ADOF3D , B6ADOF3Hds , B6ADOF3Rdt , B6ADOF3V , B6ADOF3Wvs , B6ADOF40A , B6ADOF40Add , & + B6ADOF40D , B6ADOF40Hds , B6ADOF40Rdt , B6ADOF40V , B6ADOF40Wvs , B6ADOF41A , B6ADOF41Add , & + B6ADOF41D , B6ADOF41Hds , B6ADOF41Rdt , B6ADOF41V , B6ADOF41Wvs , B6ADOF42A , B6ADOF42Add , & + B6ADOF42D , B6ADOF42Hds , B6ADOF42Rdt , B6ADOF42V , B6ADOF42Wvs , B6ADOF43A , B6ADOF43Add , & + B6ADOF43D , B6ADOF43Hds , B6ADOF43Rdt , B6ADOF43V , B6ADOF43Wvs , B6ADOF44A , B6ADOF44Add , & + B6ADOF44D , B6ADOF44Hds , B6ADOF44Rdt , B6ADOF44V , B6ADOF44Wvs , B6ADOF45A , B6ADOF45Add , & + B6ADOF45D , B6ADOF45Hds , B6ADOF45Rdt , B6ADOF45V , B6ADOF45Wvs , B6ADOF46A , B6ADOF46Add , & + B6ADOF46D , B6ADOF46Hds , B6ADOF46Rdt , B6ADOF46V , B6ADOF46Wvs , B6ADOF47A , B6ADOF47Add , & + B6ADOF47D , B6ADOF47Hds , B6ADOF47Rdt , B6ADOF47V , B6ADOF47Wvs , B6ADOF48A , B6ADOF48Add , & + B6ADOF48D , B6ADOF48Hds , B6ADOF48Rdt , B6ADOF48V , B6ADOF48Wvs , B6ADOF49A , B6ADOF49Add , & + B6ADOF49D , B6ADOF49Hds , B6ADOF49Rdt , B6ADOF49V , B6ADOF49Wvs , B6ADOF4A , B6ADOF4Add , & + B6ADOF4D , B6ADOF4Hds , B6ADOF4Rdt , B6ADOF4V , B6ADOF4Wvs , B6ADOF50A , B6ADOF50Add , & + B6ADOF50D , B6ADOF50Hds , B6ADOF50Rdt , B6ADOF50V , B6ADOF50Wvs , B6ADOF51A , B6ADOF51Add , & + B6ADOF51D , B6ADOF51Hds , B6ADOF51Rdt , B6ADOF51V , B6ADOF51Wvs , B6ADOF52A , B6ADOF52Add , & + B6ADOF52D , B6ADOF52Hds , B6ADOF52Rdt , B6ADOF52V , B6ADOF52Wvs , B6ADOF53A , B6ADOF53Add , & + B6ADOF53D , B6ADOF53Hds , B6ADOF53Rdt , B6ADOF53V , B6ADOF53Wvs , B6ADOF54A , B6ADOF54Add , & + B6ADOF54D , B6ADOF54Hds , B6ADOF54Rdt , B6ADOF54V , B6ADOF54Wvs , B6ADOF55A , B6ADOF55Add , & + B6ADOF55D , B6ADOF55Hds , B6ADOF55Rdt , B6ADOF55V , B6ADOF55Wvs , B6ADOF56A , B6ADOF56Add , & + B6ADOF56D , B6ADOF56Hds , B6ADOF56Rdt , B6ADOF56V , B6ADOF56Wvs , B6ADOF57A , B6ADOF57Add , & + B6ADOF57D , B6ADOF57Hds , B6ADOF57Rdt , B6ADOF57V , B6ADOF57Wvs , B6ADOF58A , B6ADOF58Add , & + B6ADOF58D , B6ADOF58Hds , B6ADOF58Rdt , B6ADOF58V , B6ADOF58Wvs , B6ADOF59A , B6ADOF59Add , & + B6ADOF59D , B6ADOF59Hds , B6ADOF59Rdt , B6ADOF59V , B6ADOF59Wvs , B6ADOF5A , B6ADOF5Add , & + B6ADOF5D , B6ADOF5Hds , B6ADOF5Rdt , B6ADOF5V , B6ADOF5Wvs , B6ADOF60A , B6ADOF60Add , & + B6ADOF60D , B6ADOF60Hds , B6ADOF60Rdt , B6ADOF60V , B6ADOF60Wvs , B6ADOF61A , B6ADOF61Add , & + B6ADOF61D , B6ADOF61Hds , B6ADOF61Rdt , B6ADOF61V , B6ADOF61Wvs , B6ADOF62A , B6ADOF62Add , & + B6ADOF62D , B6ADOF62Hds , B6ADOF62Rdt , B6ADOF62V , B6ADOF62Wvs , B6ADOF63A , B6ADOF63Add , & + B6ADOF63D , B6ADOF63Hds , B6ADOF63Rdt , B6ADOF63V , B6ADOF63Wvs , B6ADOF64A , B6ADOF64Add , & + B6ADOF64D , B6ADOF64Hds , B6ADOF64Rdt , B6ADOF64V , B6ADOF64Wvs , B6ADOF65A , B6ADOF65Add , & + B6ADOF65D , B6ADOF65Hds , B6ADOF65Rdt , B6ADOF65V , B6ADOF65Wvs , B6ADOF66A , B6ADOF66Add , & + B6ADOF66D , B6ADOF66Hds , B6ADOF66Rdt , B6ADOF66V , B6ADOF66Wvs , B6ADOF67A , B6ADOF67Add , & + B6ADOF67D , B6ADOF67Hds , B6ADOF67Rdt , B6ADOF67V , B6ADOF67Wvs , B6ADOF68A , B6ADOF68Add , & + B6ADOF68D , B6ADOF68Hds , B6ADOF68Rdt , B6ADOF68V , B6ADOF68Wvs , B6ADOF69A , B6ADOF69Add , & + B6ADOF69D , B6ADOF69Hds , B6ADOF69Rdt , B6ADOF69V , B6ADOF69Wvs , B6ADOF6A , B6ADOF6Add , & + B6ADOF6D , B6ADOF6Hds , B6ADOF6Rdt , B6ADOF6V , B6ADOF6Wvs , B6ADOF70A , B6ADOF70Add , & + B6ADOF70D , B6ADOF70Hds , B6ADOF70Rdt , B6ADOF70V , B6ADOF70Wvs , B6ADOF71A , B6ADOF71Add , & + B6ADOF71D , B6ADOF71Hds , B6ADOF71Rdt , B6ADOF71V , B6ADOF71Wvs , B6ADOF72A , B6ADOF72Add , & + B6ADOF72D , B6ADOF72Hds , B6ADOF72Rdt , B6ADOF72V , B6ADOF72Wvs , B6ADOF73A , B6ADOF73Add , & + B6ADOF73D , B6ADOF73Hds , B6ADOF73Rdt , B6ADOF73V , B6ADOF73Wvs , B6ADOF74A , B6ADOF74Add , & + B6ADOF74D , B6ADOF74Hds , B6ADOF74Rdt , B6ADOF74V , B6ADOF74Wvs , B6ADOF75A , B6ADOF75Add , & + B6ADOF75D , B6ADOF75Hds , B6ADOF75Rdt , B6ADOF75V , B6ADOF75Wvs , B6ADOF76A , B6ADOF76Add , & + B6ADOF76D , B6ADOF76Hds , B6ADOF76Rdt , B6ADOF76V , B6ADOF76Wvs , B6ADOF77A , B6ADOF77Add , & + B6ADOF77D , B6ADOF77Hds , B6ADOF77Rdt , B6ADOF77V , B6ADOF77Wvs , B6ADOF78A , B6ADOF78Add , & + B6ADOF78D , B6ADOF78Hds , B6ADOF78Rdt , B6ADOF78V , B6ADOF78Wvs , B6ADOF79A , B6ADOF79Add , & + B6ADOF79D , B6ADOF79Hds , B6ADOF79Rdt , B6ADOF79V , B6ADOF79Wvs , B6ADOF7A , B6ADOF7Add , & + B6ADOF7D , B6ADOF7Hds , B6ADOF7Rdt , B6ADOF7V , B6ADOF7Wvs , B6ADOF80A , B6ADOF80Add , & + B6ADOF80D , B6ADOF80Hds , B6ADOF80Rdt , B6ADOF80V , B6ADOF80Wvs , B6ADOF81A , B6ADOF81Add , & + B6ADOF81D , B6ADOF81Hds , B6ADOF81Rdt , B6ADOF81V , B6ADOF81Wvs , B6ADOF82A , B6ADOF82Add , & + B6ADOF82D , B6ADOF82Hds , B6ADOF82Rdt , B6ADOF82V , B6ADOF82Wvs , B6ADOF83A , B6ADOF83Add , & + B6ADOF83D , B6ADOF83Hds , B6ADOF83Rdt , B6ADOF83V , B6ADOF83Wvs , B6ADOF84A , B6ADOF84Add , & + B6ADOF84D , B6ADOF84Hds , B6ADOF84Rdt , B6ADOF84V , B6ADOF84Wvs , B6ADOF85A , B6ADOF85Add , & + B6ADOF85D , B6ADOF85Hds , B6ADOF85Rdt , B6ADOF85V , B6ADOF85Wvs , B6ADOF86A , B6ADOF86Add , & + B6ADOF86D , B6ADOF86Hds , B6ADOF86Rdt , B6ADOF86V , B6ADOF86Wvs , B6ADOF87A , B6ADOF87Add , & + B6ADOF87D , B6ADOF87Hds , B6ADOF87Rdt , B6ADOF87V , B6ADOF87Wvs , B6ADOF88A , B6ADOF88Add , & + B6ADOF88D , B6ADOF88Hds , B6ADOF88Rdt , B6ADOF88V , B6ADOF88Wvs , B6ADOF89A , B6ADOF89Add , & + B6ADOF89D , B6ADOF89Hds , B6ADOF89Rdt , B6ADOF89V , B6ADOF89Wvs , B6ADOF8A , B6ADOF8Add , & + B6ADOF8D , B6ADOF8Hds , B6ADOF8Rdt , B6ADOF8V , B6ADOF8Wvs , B6ADOF90A , B6ADOF90Add , & + B6ADOF90D , B6ADOF90Hds , B6ADOF90Rdt , B6ADOF90V , B6ADOF90Wvs , B6ADOF91A , B6ADOF91Add , & + B6ADOF91D , B6ADOF91Hds , B6ADOF91Rdt , B6ADOF91V , B6ADOF91Wvs , B6ADOF92A , B6ADOF92Add , & + B6ADOF92D , B6ADOF92Hds , B6ADOF92Rdt , B6ADOF92V , B6ADOF92Wvs , B6ADOF93A , B6ADOF93Add , & + B6ADOF93D , B6ADOF93Hds , B6ADOF93Rdt , B6ADOF93V , B6ADOF93Wvs , B6ADOF94A , B6ADOF94Add , & + B6ADOF94D , B6ADOF94Hds , B6ADOF94Rdt , B6ADOF94V , B6ADOF94Wvs , B6ADOF95A , B6ADOF95Add , & + B6ADOF95D , B6ADOF95Hds , B6ADOF95Rdt , B6ADOF95V , B6ADOF95Wvs , B6ADOF96A , B6ADOF96Add , & + B6ADOF96D , B6ADOF96Hds , B6ADOF96Rdt , B6ADOF96V , B6ADOF96Wvs , B6ADOF97A , B6ADOF97Add , & + B6ADOF97D , B6ADOF97Hds , B6ADOF97Rdt , B6ADOF97V , B6ADOF97Wvs , B6ADOF98A , B6ADOF98Add , & + B6ADOF98D , B6ADOF98Hds , B6ADOF98Rdt , B6ADOF98V , B6ADOF98Wvs , B6ADOF99A , B6ADOF99Add , & + B6ADOF99D , B6ADOF99Hds , B6ADOF99Rdt , B6ADOF99V , B6ADOF99Wvs , B6ADOF9A , B6ADOF9Add , & + B6ADOF9D , B6ADOF9Hds , B6ADOF9Rdt , B6ADOF9V , B6ADOF9Wvs , B6HdSFxi , B6HdSFyi , & + B6HdSFzi , B6HdSMxi , B6HdSMyi , B6HdSMzi , B6Heave , B6NFKFxi , B6NFKFyi , & + B6NFKFzi , B6NFKMxi , B6NFKMyi , B6NFKMzi , B6Pitch , B6RAxi , B6RAyi , & + B6RAzi , B6RdtFxi , B6RdtFyi , B6RdtFzi , B6RdtMxi , B6RdtMyi , B6RdtMzi , & + B6Roll , B6RVxi , B6RVyi , B6RVzi , B6Surge , B6Sway , B6TAxi , & + B6TAyi , B6TAzi , B6TVxi , B6TVyi , B6TVzi , B6WvsF1xi , B6WvsF1yi , & + B6WvsF1zi , B6WvsF2xi , B6WvsF2yi , B6WvsF2zi , B6WvsFxi , B6WvsFyi , B6WvsFzi , & + B6WvsM1xi , B6WvsM1yi , B6WvsM1zi , B6WvsM2xi , B6WvsM2yi , B6WvsM2zi , B6WvsMxi , & + B6WvsMyi , B6WvsMzi , B6Yaw , B7AddFxi , B7AddFyi , B7AddFzi , B7AddMxi , & + B7AddMyi , B7AddMzi , B7ADOF10A , B7ADOF10Add , B7ADOF10D , B7ADOF10Hds , B7ADOF10Rdt , & + B7ADOF10V , B7ADOF10Wvs , B7ADOF11A , B7ADOF11Add , B7ADOF11D , B7ADOF11Hds , B7ADOF11Rdt , & + B7ADOF11V , B7ADOF11Wvs , B7ADOF12A , B7ADOF12Add , B7ADOF12D , B7ADOF12Hds , B7ADOF12Rdt , & + B7ADOF12V , B7ADOF12Wvs , B7ADOF13A , B7ADOF13Add , B7ADOF13D , B7ADOF13Hds , B7ADOF13Rdt , & + B7ADOF13V , B7ADOF13Wvs , B7ADOF14A , B7ADOF14Add , B7ADOF14D , B7ADOF14Hds , B7ADOF14Rdt , & + B7ADOF14V , B7ADOF14Wvs , B7ADOF15A , B7ADOF15Add , B7ADOF15D , B7ADOF15Hds , B7ADOF15Rdt , & + B7ADOF15V , B7ADOF15Wvs , B7ADOF16A , B7ADOF16Add , B7ADOF16D , B7ADOF16Hds , B7ADOF16Rdt , & + B7ADOF16V , B7ADOF16Wvs , B7ADOF17A , B7ADOF17Add , B7ADOF17D , B7ADOF17Hds , B7ADOF17Rdt , & + B7ADOF17V , B7ADOF17Wvs , B7ADOF18A , B7ADOF18Add , B7ADOF18D , B7ADOF18Hds , B7ADOF18Rdt , & + B7ADOF18V , B7ADOF18Wvs , B7ADOF19A , B7ADOF19Add , B7ADOF19D , B7ADOF19Hds , B7ADOF19Rdt , & + B7ADOF19V , B7ADOF19Wvs , B7ADOF1A , B7ADOF1Add , B7ADOF1D , B7ADOF1Hds , B7ADOF1Rdt , & + B7ADOF1V , B7ADOF1Wvs , B7ADOF20A , B7ADOF20Add , B7ADOF20D , B7ADOF20Hds , B7ADOF20Rdt , & + B7ADOF20V , B7ADOF20Wvs , B7ADOF21A , B7ADOF21Add , B7ADOF21D , B7ADOF21Hds , B7ADOF21Rdt , & + B7ADOF21V , B7ADOF21Wvs , B7ADOF22A , B7ADOF22Add , B7ADOF22D , B7ADOF22Hds , B7ADOF22Rdt , & + B7ADOF22V , B7ADOF22Wvs , B7ADOF23A , B7ADOF23Add , B7ADOF23D , B7ADOF23Hds , B7ADOF23Rdt , & + B7ADOF23V , B7ADOF23Wvs , B7ADOF24A , B7ADOF24Add , B7ADOF24D , B7ADOF24Hds , B7ADOF24Rdt , & + B7ADOF24V , B7ADOF24Wvs , B7ADOF25A , B7ADOF25Add , B7ADOF25D , B7ADOF25Hds , B7ADOF25Rdt , & + B7ADOF25V , B7ADOF25Wvs , B7ADOF26A , B7ADOF26Add , B7ADOF26D , B7ADOF26Hds , B7ADOF26Rdt , & + B7ADOF26V , B7ADOF26Wvs , B7ADOF27A , B7ADOF27Add , B7ADOF27D , B7ADOF27Hds , B7ADOF27Rdt , & + B7ADOF27V , B7ADOF27Wvs , B7ADOF28A , B7ADOF28Add , B7ADOF28D , B7ADOF28Hds , B7ADOF28Rdt , & + B7ADOF28V , B7ADOF28Wvs , B7ADOF29A , B7ADOF29Add , B7ADOF29D , B7ADOF29Hds , B7ADOF29Rdt , & + B7ADOF29V , B7ADOF29Wvs , B7ADOF2A , B7ADOF2Add , B7ADOF2D , B7ADOF2Hds , B7ADOF2Rdt , & + B7ADOF2V , B7ADOF2Wvs , B7ADOF30A , B7ADOF30Add , B7ADOF30D , B7ADOF30Hds , B7ADOF30Rdt , & + B7ADOF30V , B7ADOF30Wvs , B7ADOF31A , B7ADOF31Add , B7ADOF31D , B7ADOF31Hds , B7ADOF31Rdt , & + B7ADOF31V , B7ADOF31Wvs , B7ADOF32A , B7ADOF32Add , B7ADOF32D , B7ADOF32Hds , B7ADOF32Rdt , & + B7ADOF32V , B7ADOF32Wvs , B7ADOF33A , B7ADOF33Add , B7ADOF33D , B7ADOF33Hds , B7ADOF33Rdt , & + B7ADOF33V , B7ADOF33Wvs , B7ADOF34A , B7ADOF34Add , B7ADOF34D , B7ADOF34Hds , B7ADOF34Rdt , & + B7ADOF34V , B7ADOF34Wvs , B7ADOF35A , B7ADOF35Add , B7ADOF35D , B7ADOF35Hds , B7ADOF35Rdt , & + B7ADOF35V , B7ADOF35Wvs , B7ADOF36A , B7ADOF36Add , B7ADOF36D , B7ADOF36Hds , B7ADOF36Rdt , & + B7ADOF36V , B7ADOF36Wvs , B7ADOF37A , B7ADOF37Add , B7ADOF37D , B7ADOF37Hds , B7ADOF37Rdt , & + B7ADOF37V , B7ADOF37Wvs , B7ADOF38A , B7ADOF38Add , B7ADOF38D , B7ADOF38Hds , B7ADOF38Rdt , & + B7ADOF38V , B7ADOF38Wvs , B7ADOF39A , B7ADOF39Add , B7ADOF39D , B7ADOF39Hds , B7ADOF39Rdt , & + B7ADOF39V , B7ADOF39Wvs , B7ADOF3A , B7ADOF3Add , B7ADOF3D , B7ADOF3Hds , B7ADOF3Rdt , & + B7ADOF3V , B7ADOF3Wvs , B7ADOF40A , B7ADOF40Add , B7ADOF40D , B7ADOF40Hds , B7ADOF40Rdt , & + B7ADOF40V , B7ADOF40Wvs , B7ADOF41A , B7ADOF41Add , B7ADOF41D , B7ADOF41Hds , B7ADOF41Rdt , & + B7ADOF41V , B7ADOF41Wvs , B7ADOF42A , B7ADOF42Add , B7ADOF42D , B7ADOF42Hds , B7ADOF42Rdt , & + B7ADOF42V , B7ADOF42Wvs , B7ADOF43A , B7ADOF43Add , B7ADOF43D , B7ADOF43Hds , B7ADOF43Rdt , & + B7ADOF43V , B7ADOF43Wvs , B7ADOF44A , B7ADOF44Add , B7ADOF44D , B7ADOF44Hds , B7ADOF44Rdt , & + B7ADOF44V , B7ADOF44Wvs , B7ADOF45A , B7ADOF45Add , B7ADOF45D , B7ADOF45Hds , B7ADOF45Rdt , & + B7ADOF45V , B7ADOF45Wvs , B7ADOF46A , B7ADOF46Add , B7ADOF46D , B7ADOF46Hds , B7ADOF46Rdt , & + B7ADOF46V , B7ADOF46Wvs , B7ADOF47A , B7ADOF47Add , B7ADOF47D , B7ADOF47Hds , B7ADOF47Rdt , & + B7ADOF47V , B7ADOF47Wvs , B7ADOF48A , B7ADOF48Add , B7ADOF48D , B7ADOF48Hds , B7ADOF48Rdt , & + B7ADOF48V , B7ADOF48Wvs , B7ADOF49A , B7ADOF49Add , B7ADOF49D , B7ADOF49Hds , B7ADOF49Rdt , & + B7ADOF49V , B7ADOF49Wvs , B7ADOF4A , B7ADOF4Add , B7ADOF4D , B7ADOF4Hds , B7ADOF4Rdt , & + B7ADOF4V , B7ADOF4Wvs , B7ADOF50A , B7ADOF50Add , B7ADOF50D , B7ADOF50Hds , B7ADOF50Rdt , & + B7ADOF50V , B7ADOF50Wvs , B7ADOF51A , B7ADOF51Add , B7ADOF51D , B7ADOF51Hds , B7ADOF51Rdt , & + B7ADOF51V , B7ADOF51Wvs , B7ADOF52A , B7ADOF52Add , B7ADOF52D , B7ADOF52Hds , B7ADOF52Rdt , & + B7ADOF52V , B7ADOF52Wvs , B7ADOF53A , B7ADOF53Add , B7ADOF53D , B7ADOF53Hds , B7ADOF53Rdt , & + B7ADOF53V , B7ADOF53Wvs , B7ADOF54A , B7ADOF54Add , B7ADOF54D , B7ADOF54Hds , B7ADOF54Rdt , & + B7ADOF54V , B7ADOF54Wvs , B7ADOF55A , B7ADOF55Add , B7ADOF55D , B7ADOF55Hds , B7ADOF55Rdt , & + B7ADOF55V , B7ADOF55Wvs , B7ADOF56A , B7ADOF56Add , B7ADOF56D , B7ADOF56Hds , B7ADOF56Rdt , & + B7ADOF56V , B7ADOF56Wvs , B7ADOF57A , B7ADOF57Add , B7ADOF57D , B7ADOF57Hds , B7ADOF57Rdt , & + B7ADOF57V , B7ADOF57Wvs , B7ADOF58A , B7ADOF58Add , B7ADOF58D , B7ADOF58Hds , B7ADOF58Rdt , & + B7ADOF58V , B7ADOF58Wvs , B7ADOF59A , B7ADOF59Add , B7ADOF59D , B7ADOF59Hds , B7ADOF59Rdt , & + B7ADOF59V , B7ADOF59Wvs , B7ADOF5A , B7ADOF5Add , B7ADOF5D , B7ADOF5Hds , B7ADOF5Rdt , & + B7ADOF5V , B7ADOF5Wvs , B7ADOF60A , B7ADOF60Add , B7ADOF60D , B7ADOF60Hds , B7ADOF60Rdt , & + B7ADOF60V , B7ADOF60Wvs , B7ADOF61A , B7ADOF61Add , B7ADOF61D , B7ADOF61Hds , B7ADOF61Rdt , & + B7ADOF61V , B7ADOF61Wvs , B7ADOF62A , B7ADOF62Add , B7ADOF62D , B7ADOF62Hds , B7ADOF62Rdt , & + B7ADOF62V , B7ADOF62Wvs , B7ADOF63A , B7ADOF63Add , B7ADOF63D , B7ADOF63Hds , B7ADOF63Rdt , & + B7ADOF63V , B7ADOF63Wvs , B7ADOF64A , B7ADOF64Add , B7ADOF64D , B7ADOF64Hds , B7ADOF64Rdt , & + B7ADOF64V , B7ADOF64Wvs , B7ADOF65A , B7ADOF65Add , B7ADOF65D , B7ADOF65Hds , B7ADOF65Rdt , & + B7ADOF65V , B7ADOF65Wvs , B7ADOF66A , B7ADOF66Add , B7ADOF66D , B7ADOF66Hds , B7ADOF66Rdt , & + B7ADOF66V , B7ADOF66Wvs , B7ADOF67A , B7ADOF67Add , B7ADOF67D , B7ADOF67Hds , B7ADOF67Rdt , & + B7ADOF67V , B7ADOF67Wvs , B7ADOF68A , B7ADOF68Add , B7ADOF68D , B7ADOF68Hds , B7ADOF68Rdt , & + B7ADOF68V , B7ADOF68Wvs , B7ADOF69A , B7ADOF69Add , B7ADOF69D , B7ADOF69Hds , B7ADOF69Rdt , & + B7ADOF69V , B7ADOF69Wvs , B7ADOF6A , B7ADOF6Add , B7ADOF6D , B7ADOF6Hds , B7ADOF6Rdt , & + B7ADOF6V , B7ADOF6Wvs , B7ADOF70A , B7ADOF70Add , B7ADOF70D , B7ADOF70Hds , B7ADOF70Rdt , & + B7ADOF70V , B7ADOF70Wvs , B7ADOF71A , B7ADOF71Add , B7ADOF71D , B7ADOF71Hds , B7ADOF71Rdt , & + B7ADOF71V , B7ADOF71Wvs , B7ADOF72A , B7ADOF72Add , B7ADOF72D , B7ADOF72Hds , B7ADOF72Rdt , & + B7ADOF72V , B7ADOF72Wvs , B7ADOF73A , B7ADOF73Add , B7ADOF73D , B7ADOF73Hds , B7ADOF73Rdt , & + B7ADOF73V , B7ADOF73Wvs , B7ADOF74A , B7ADOF74Add , B7ADOF74D , B7ADOF74Hds , B7ADOF74Rdt , & + B7ADOF74V , B7ADOF74Wvs , B7ADOF75A , B7ADOF75Add , B7ADOF75D , B7ADOF75Hds , B7ADOF75Rdt , & + B7ADOF75V , B7ADOF75Wvs , B7ADOF76A , B7ADOF76Add , B7ADOF76D , B7ADOF76Hds , B7ADOF76Rdt , & + B7ADOF76V , B7ADOF76Wvs , B7ADOF77A , B7ADOF77Add , B7ADOF77D , B7ADOF77Hds , B7ADOF77Rdt , & + B7ADOF77V , B7ADOF77Wvs , B7ADOF78A , B7ADOF78Add , B7ADOF78D , B7ADOF78Hds , B7ADOF78Rdt , & + B7ADOF78V , B7ADOF78Wvs , B7ADOF79A , B7ADOF79Add , B7ADOF79D , B7ADOF79Hds , B7ADOF79Rdt , & + B7ADOF79V , B7ADOF79Wvs , B7ADOF7A , B7ADOF7Add , B7ADOF7D , B7ADOF7Hds , B7ADOF7Rdt , & + B7ADOF7V , B7ADOF7Wvs , B7ADOF80A , B7ADOF80Add , B7ADOF80D , B7ADOF80Hds , B7ADOF80Rdt , & + B7ADOF80V , B7ADOF80Wvs , B7ADOF81A , B7ADOF81Add , B7ADOF81D , B7ADOF81Hds , B7ADOF81Rdt , & + B7ADOF81V , B7ADOF81Wvs , B7ADOF82A , B7ADOF82Add , B7ADOF82D , B7ADOF82Hds , B7ADOF82Rdt , & + B7ADOF82V , B7ADOF82Wvs , B7ADOF83A , B7ADOF83Add , B7ADOF83D , B7ADOF83Hds , B7ADOF83Rdt , & + B7ADOF83V , B7ADOF83Wvs , B7ADOF84A , B7ADOF84Add , B7ADOF84D , B7ADOF84Hds , B7ADOF84Rdt , & + B7ADOF84V , B7ADOF84Wvs , B7ADOF85A , B7ADOF85Add , B7ADOF85D , B7ADOF85Hds , B7ADOF85Rdt /) + INTEGER(IntKi), PARAMETER :: ParamIndxAry4(1698) = (/ & ! This lists the index into AllOuts(:) of the allowed parameters ValidParamAry(:) + B7ADOF85V , B7ADOF85Wvs , B7ADOF86A , B7ADOF86Add , B7ADOF86D , B7ADOF86Hds , B7ADOF86Rdt , & + B7ADOF86V , B7ADOF86Wvs , B7ADOF87A , B7ADOF87Add , B7ADOF87D , B7ADOF87Hds , B7ADOF87Rdt , & + B7ADOF87V , B7ADOF87Wvs , B7ADOF88A , B7ADOF88Add , B7ADOF88D , B7ADOF88Hds , B7ADOF88Rdt , & + B7ADOF88V , B7ADOF88Wvs , B7ADOF89A , B7ADOF89Add , B7ADOF89D , B7ADOF89Hds , B7ADOF89Rdt , & + B7ADOF89V , B7ADOF89Wvs , B7ADOF8A , B7ADOF8Add , B7ADOF8D , B7ADOF8Hds , B7ADOF8Rdt , & + B7ADOF8V , B7ADOF8Wvs , B7ADOF90A , B7ADOF90Add , B7ADOF90D , B7ADOF90Hds , B7ADOF90Rdt , & + B7ADOF90V , B7ADOF90Wvs , B7ADOF91A , B7ADOF91Add , B7ADOF91D , B7ADOF91Hds , B7ADOF91Rdt , & + B7ADOF91V , B7ADOF91Wvs , B7ADOF92A , B7ADOF92Add , B7ADOF92D , B7ADOF92Hds , B7ADOF92Rdt , & + B7ADOF92V , B7ADOF92Wvs , B7ADOF93A , B7ADOF93Add , B7ADOF93D , B7ADOF93Hds , B7ADOF93Rdt , & + B7ADOF93V , B7ADOF93Wvs , B7ADOF94A , B7ADOF94Add , B7ADOF94D , B7ADOF94Hds , B7ADOF94Rdt , & + B7ADOF94V , B7ADOF94Wvs , B7ADOF95A , B7ADOF95Add , B7ADOF95D , B7ADOF95Hds , B7ADOF95Rdt , & + B7ADOF95V , B7ADOF95Wvs , B7ADOF96A , B7ADOF96Add , B7ADOF96D , B7ADOF96Hds , B7ADOF96Rdt , & + B7ADOF96V , B7ADOF96Wvs , B7ADOF97A , B7ADOF97Add , B7ADOF97D , B7ADOF97Hds , B7ADOF97Rdt , & + B7ADOF97V , B7ADOF97Wvs , B7ADOF98A , B7ADOF98Add , B7ADOF98D , B7ADOF98Hds , B7ADOF98Rdt , & + B7ADOF98V , B7ADOF98Wvs , B7ADOF99A , B7ADOF99Add , B7ADOF99D , B7ADOF99Hds , B7ADOF99Rdt , & + B7ADOF99V , B7ADOF99Wvs , B7ADOF9A , B7ADOF9Add , B7ADOF9D , B7ADOF9Hds , B7ADOF9Rdt , & + B7ADOF9V , B7ADOF9Wvs , B7HdSFxi , B7HdSFyi , B7HdSFzi , B7HdSMxi , B7HdSMyi , & + B7HdSMzi , B7Heave , B7NFKFxi , B7NFKFyi , B7NFKFzi , B7NFKMxi , B7NFKMyi , & + B7NFKMzi , B7Pitch , B7RAxi , B7RAyi , B7RAzi , B7RdtFxi , B7RdtFyi , & B7RdtFzi , B7RdtMxi , B7RdtMyi , B7RdtMzi , B7Roll , B7RVxi , B7RVyi , & B7RVzi , B7Surge , B7Sway , B7TAxi , B7TAyi , B7TAzi , B7TVxi , & B7TVyi , B7TVzi , B7WvsF1xi , B7WvsF1yi , B7WvsF1zi , B7WvsF2xi , B7WvsF2yi , & @@ -9995,127 +10076,129 @@ SUBROUTINE SetOutParam(OutList, p, ErrStat, ErrMsg ) B8ADOF98Add , B8ADOF98D , B8ADOF98Hds , B8ADOF98Rdt , B8ADOF98V , B8ADOF98Wvs , B8ADOF99A , & B8ADOF99Add , B8ADOF99D , B8ADOF99Hds , B8ADOF99Rdt , B8ADOF99V , B8ADOF99Wvs , B8ADOF9A , & B8ADOF9Add , B8ADOF9D , B8ADOF9Hds , B8ADOF9Rdt , B8ADOF9V , B8ADOF9Wvs , B8HdSFxi , & - B8HdSFyi , B8HdSFzi , B8HdSMxi , B8HdSMyi , B8HdSMzi , B8Heave , B8Pitch , & - B8RAxi , B8RAyi , B8RAzi , B8RdtFxi , B8RdtFyi , B8RdtFzi , B8RdtMxi , & - B8RdtMyi , B8RdtMzi , B8Roll , B8RVxi , B8RVyi , B8RVzi , B8Surge , & - B8Sway , B8TAxi , B8TAyi , B8TAzi , B8TVxi , B8TVyi , B8TVzi , & - B8WvsF1xi , B8WvsF1yi , B8WvsF1zi , B8WvsF2xi , B8WvsF2yi , B8WvsF2zi , B8WvsFxi , & - B8WvsFyi , B8WvsFzi , B8WvsM1xi , B8WvsM1yi , B8WvsM1zi , B8WvsM2xi , B8WvsM2yi , & - B8WvsM2zi , B8WvsMxi , B8WvsMyi , B8WvsMzi , B8Yaw , B9AddFxi , B9AddFyi , & - B9AddFzi , B9AddMxi , B9AddMyi , B9AddMzi , B9ADOF10A , B9ADOF10Add , B9ADOF10D , & - B9ADOF10Hds , B9ADOF10Rdt , B9ADOF10V , B9ADOF10Wvs , B9ADOF11A , B9ADOF11Add , B9ADOF11D , & - B9ADOF11Hds , B9ADOF11Rdt , B9ADOF11V , B9ADOF11Wvs , B9ADOF12A , B9ADOF12Add , B9ADOF12D , & - B9ADOF12Hds , B9ADOF12Rdt , B9ADOF12V , B9ADOF12Wvs , B9ADOF13A , B9ADOF13Add , B9ADOF13D , & - B9ADOF13Hds , B9ADOF13Rdt , B9ADOF13V , B9ADOF13Wvs , B9ADOF14A , B9ADOF14Add , B9ADOF14D , & - B9ADOF14Hds , B9ADOF14Rdt , B9ADOF14V , B9ADOF14Wvs , B9ADOF15A , B9ADOF15Add , B9ADOF15D , & - B9ADOF15Hds , B9ADOF15Rdt , B9ADOF15V , B9ADOF15Wvs , B9ADOF16A , B9ADOF16Add , B9ADOF16D , & - B9ADOF16Hds , B9ADOF16Rdt , B9ADOF16V , B9ADOF16Wvs , B9ADOF17A , B9ADOF17Add , B9ADOF17D , & - B9ADOF17Hds , B9ADOF17Rdt , B9ADOF17V , B9ADOF17Wvs , B9ADOF18A , B9ADOF18Add , B9ADOF18D , & - B9ADOF18Hds , B9ADOF18Rdt , B9ADOF18V , B9ADOF18Wvs , B9ADOF19A , B9ADOF19Add , B9ADOF19D , & - B9ADOF19Hds , B9ADOF19Rdt , B9ADOF19V , B9ADOF19Wvs , B9ADOF1A , B9ADOF1Add , B9ADOF1D , & - B9ADOF1Hds , B9ADOF1Rdt , B9ADOF1V , B9ADOF1Wvs , B9ADOF20A , B9ADOF20Add , B9ADOF20D , & - B9ADOF20Hds , B9ADOF20Rdt , B9ADOF20V , B9ADOF20Wvs , B9ADOF21A , B9ADOF21Add , B9ADOF21D , & - B9ADOF21Hds , B9ADOF21Rdt , B9ADOF21V , B9ADOF21Wvs , B9ADOF22A , B9ADOF22Add , B9ADOF22D , & - B9ADOF22Hds , B9ADOF22Rdt , B9ADOF22V , B9ADOF22Wvs , B9ADOF23A , B9ADOF23Add , B9ADOF23D , & - B9ADOF23Hds , B9ADOF23Rdt , B9ADOF23V , B9ADOF23Wvs , B9ADOF24A , B9ADOF24Add , B9ADOF24D , & - B9ADOF24Hds , B9ADOF24Rdt , B9ADOF24V , B9ADOF24Wvs , B9ADOF25A , B9ADOF25Add , B9ADOF25D , & - B9ADOF25Hds , B9ADOF25Rdt , B9ADOF25V , B9ADOF25Wvs , B9ADOF26A , B9ADOF26Add , B9ADOF26D , & - B9ADOF26Hds , B9ADOF26Rdt , B9ADOF26V , B9ADOF26Wvs , B9ADOF27A , B9ADOF27Add , B9ADOF27D , & - B9ADOF27Hds , B9ADOF27Rdt , B9ADOF27V , B9ADOF27Wvs , B9ADOF28A , B9ADOF28Add , B9ADOF28D , & - B9ADOF28Hds , B9ADOF28Rdt , B9ADOF28V , B9ADOF28Wvs , B9ADOF29A , B9ADOF29Add , B9ADOF29D , & - B9ADOF29Hds , B9ADOF29Rdt , B9ADOF29V , B9ADOF29Wvs , B9ADOF2A , B9ADOF2Add , B9ADOF2D , & - B9ADOF2Hds , B9ADOF2Rdt , B9ADOF2V , B9ADOF2Wvs , B9ADOF30A , B9ADOF30Add , B9ADOF30D , & - B9ADOF30Hds , B9ADOF30Rdt , B9ADOF30V , B9ADOF30Wvs , B9ADOF31A , B9ADOF31Add , B9ADOF31D , & - B9ADOF31Hds , B9ADOF31Rdt , B9ADOF31V , B9ADOF31Wvs , B9ADOF32A , B9ADOF32Add , B9ADOF32D , & - B9ADOF32Hds , B9ADOF32Rdt , B9ADOF32V , B9ADOF32Wvs , B9ADOF33A , B9ADOF33Add , B9ADOF33D , & - B9ADOF33Hds , B9ADOF33Rdt , B9ADOF33V , B9ADOF33Wvs , B9ADOF34A , B9ADOF34Add , B9ADOF34D , & - B9ADOF34Hds , B9ADOF34Rdt , B9ADOF34V , B9ADOF34Wvs , B9ADOF35A , B9ADOF35Add , B9ADOF35D , & - B9ADOF35Hds , B9ADOF35Rdt , B9ADOF35V , B9ADOF35Wvs , B9ADOF36A , B9ADOF36Add , B9ADOF36D , & - B9ADOF36Hds , B9ADOF36Rdt , B9ADOF36V , B9ADOF36Wvs , B9ADOF37A , B9ADOF37Add , B9ADOF37D , & - B9ADOF37Hds , B9ADOF37Rdt , B9ADOF37V , B9ADOF37Wvs , B9ADOF38A , B9ADOF38Add , B9ADOF38D , & - B9ADOF38Hds , B9ADOF38Rdt , B9ADOF38V , B9ADOF38Wvs , B9ADOF39A , B9ADOF39Add , B9ADOF39D , & - B9ADOF39Hds , B9ADOF39Rdt , B9ADOF39V , B9ADOF39Wvs , B9ADOF3A , B9ADOF3Add , B9ADOF3D , & - B9ADOF3Hds , B9ADOF3Rdt , B9ADOF3V , B9ADOF3Wvs , B9ADOF40A , B9ADOF40Add , B9ADOF40D , & - B9ADOF40Hds , B9ADOF40Rdt , B9ADOF40V , B9ADOF40Wvs , B9ADOF41A , B9ADOF41Add , B9ADOF41D , & - B9ADOF41Hds , B9ADOF41Rdt , B9ADOF41V , B9ADOF41Wvs , B9ADOF42A , B9ADOF42Add , B9ADOF42D , & - B9ADOF42Hds , B9ADOF42Rdt , B9ADOF42V , B9ADOF42Wvs , B9ADOF43A , B9ADOF43Add , B9ADOF43D , & - B9ADOF43Hds , B9ADOF43Rdt , B9ADOF43V , B9ADOF43Wvs , B9ADOF44A , B9ADOF44Add , B9ADOF44D , & - B9ADOF44Hds , B9ADOF44Rdt , B9ADOF44V , B9ADOF44Wvs , B9ADOF45A , B9ADOF45Add , B9ADOF45D , & - B9ADOF45Hds , B9ADOF45Rdt , B9ADOF45V , B9ADOF45Wvs , B9ADOF46A , B9ADOF46Add , B9ADOF46D , & - B9ADOF46Hds , B9ADOF46Rdt , B9ADOF46V , B9ADOF46Wvs , B9ADOF47A , B9ADOF47Add , B9ADOF47D , & - B9ADOF47Hds , B9ADOF47Rdt , B9ADOF47V , B9ADOF47Wvs , B9ADOF48A , B9ADOF48Add , B9ADOF48D , & - B9ADOF48Hds , B9ADOF48Rdt , B9ADOF48V , B9ADOF48Wvs , B9ADOF49A , B9ADOF49Add , B9ADOF49D , & - B9ADOF49Hds , B9ADOF49Rdt , B9ADOF49V , B9ADOF49Wvs , B9ADOF4A , B9ADOF4Add , B9ADOF4D , & - B9ADOF4Hds , B9ADOF4Rdt , B9ADOF4V , B9ADOF4Wvs , B9ADOF50A , B9ADOF50Add , B9ADOF50D , & - B9ADOF50Hds , B9ADOF50Rdt , B9ADOF50V , B9ADOF50Wvs , B9ADOF51A , B9ADOF51Add , B9ADOF51D , & - B9ADOF51Hds , B9ADOF51Rdt , B9ADOF51V , B9ADOF51Wvs , B9ADOF52A , B9ADOF52Add , B9ADOF52D , & - B9ADOF52Hds , B9ADOF52Rdt , B9ADOF52V , B9ADOF52Wvs , B9ADOF53A , B9ADOF53Add , B9ADOF53D , & - B9ADOF53Hds , B9ADOF53Rdt , B9ADOF53V , B9ADOF53Wvs , B9ADOF54A , B9ADOF54Add , B9ADOF54D , & - B9ADOF54Hds , B9ADOF54Rdt , B9ADOF54V , B9ADOF54Wvs , B9ADOF55A , B9ADOF55Add , B9ADOF55D , & - B9ADOF55Hds , B9ADOF55Rdt , B9ADOF55V , B9ADOF55Wvs , B9ADOF56A , B9ADOF56Add , B9ADOF56D , & - B9ADOF56Hds , B9ADOF56Rdt , B9ADOF56V , B9ADOF56Wvs , B9ADOF57A , B9ADOF57Add , B9ADOF57D , & - B9ADOF57Hds , B9ADOF57Rdt , B9ADOF57V , B9ADOF57Wvs , B9ADOF58A , B9ADOF58Add , B9ADOF58D , & - B9ADOF58Hds , B9ADOF58Rdt , B9ADOF58V , B9ADOF58Wvs , B9ADOF59A , B9ADOF59Add , B9ADOF59D , & - B9ADOF59Hds , B9ADOF59Rdt , B9ADOF59V , B9ADOF59Wvs , B9ADOF5A , B9ADOF5Add , B9ADOF5D , & - B9ADOF5Hds , B9ADOF5Rdt , B9ADOF5V , B9ADOF5Wvs , B9ADOF60A , B9ADOF60Add , B9ADOF60D , & - B9ADOF60Hds , B9ADOF60Rdt , B9ADOF60V , B9ADOF60Wvs , B9ADOF61A , B9ADOF61Add , B9ADOF61D , & - B9ADOF61Hds , B9ADOF61Rdt , B9ADOF61V , B9ADOF61Wvs , B9ADOF62A , B9ADOF62Add , B9ADOF62D , & - B9ADOF62Hds , B9ADOF62Rdt , B9ADOF62V , B9ADOF62Wvs , B9ADOF63A , B9ADOF63Add , B9ADOF63D , & - B9ADOF63Hds , B9ADOF63Rdt , B9ADOF63V , B9ADOF63Wvs , B9ADOF64A , B9ADOF64Add , B9ADOF64D , & - B9ADOF64Hds , B9ADOF64Rdt , B9ADOF64V , B9ADOF64Wvs , B9ADOF65A , B9ADOF65Add , B9ADOF65D , & - B9ADOF65Hds , B9ADOF65Rdt , B9ADOF65V , B9ADOF65Wvs , B9ADOF66A , B9ADOF66Add , B9ADOF66D , & - B9ADOF66Hds , B9ADOF66Rdt , B9ADOF66V , B9ADOF66Wvs , B9ADOF67A , B9ADOF67Add , B9ADOF67D , & - B9ADOF67Hds , B9ADOF67Rdt , B9ADOF67V , B9ADOF67Wvs , B9ADOF68A , B9ADOF68Add , B9ADOF68D , & - B9ADOF68Hds , B9ADOF68Rdt , B9ADOF68V , B9ADOF68Wvs , B9ADOF69A , B9ADOF69Add , B9ADOF69D , & - B9ADOF69Hds , B9ADOF69Rdt , B9ADOF69V , B9ADOF69Wvs , B9ADOF6A , B9ADOF6Add , B9ADOF6D , & - B9ADOF6Hds , B9ADOF6Rdt , B9ADOF6V , B9ADOF6Wvs , B9ADOF70A , B9ADOF70Add , B9ADOF70D , & - B9ADOF70Hds , B9ADOF70Rdt , B9ADOF70V , B9ADOF70Wvs , B9ADOF71A , B9ADOF71Add , B9ADOF71D , & - B9ADOF71Hds , B9ADOF71Rdt , B9ADOF71V , B9ADOF71Wvs , B9ADOF72A , B9ADOF72Add , B9ADOF72D , & - B9ADOF72Hds , B9ADOF72Rdt , B9ADOF72V , B9ADOF72Wvs , B9ADOF73A , B9ADOF73Add , B9ADOF73D , & - B9ADOF73Hds , B9ADOF73Rdt , B9ADOF73V , B9ADOF73Wvs , B9ADOF74A , B9ADOF74Add , B9ADOF74D , & - B9ADOF74Hds , B9ADOF74Rdt , B9ADOF74V , B9ADOF74Wvs , B9ADOF75A , B9ADOF75Add , B9ADOF75D , & - B9ADOF75Hds , B9ADOF75Rdt , B9ADOF75V , B9ADOF75Wvs , B9ADOF76A , B9ADOF76Add , B9ADOF76D , & - B9ADOF76Hds , B9ADOF76Rdt , B9ADOF76V , B9ADOF76Wvs , B9ADOF77A , B9ADOF77Add , B9ADOF77D , & - B9ADOF77Hds , B9ADOF77Rdt , B9ADOF77V , B9ADOF77Wvs , B9ADOF78A , B9ADOF78Add , B9ADOF78D , & - B9ADOF78Hds , B9ADOF78Rdt , B9ADOF78V , B9ADOF78Wvs , B9ADOF79A , B9ADOF79Add , B9ADOF79D , & - B9ADOF79Hds , B9ADOF79Rdt , B9ADOF79V , B9ADOF79Wvs , B9ADOF7A , B9ADOF7Add , B9ADOF7D , & - B9ADOF7Hds , B9ADOF7Rdt , B9ADOF7V , B9ADOF7Wvs , B9ADOF80A , B9ADOF80Add , B9ADOF80D , & - B9ADOF80Hds , B9ADOF80Rdt , B9ADOF80V , B9ADOF80Wvs , B9ADOF81A , B9ADOF81Add , B9ADOF81D , & - B9ADOF81Hds , B9ADOF81Rdt , B9ADOF81V , B9ADOF81Wvs , B9ADOF82A , B9ADOF82Add , B9ADOF82D , & - B9ADOF82Hds , B9ADOF82Rdt , B9ADOF82V , B9ADOF82Wvs , B9ADOF83A , B9ADOF83Add , B9ADOF83D , & - B9ADOF83Hds , B9ADOF83Rdt , B9ADOF83V , B9ADOF83Wvs , B9ADOF84A , B9ADOF84Add , B9ADOF84D , & - B9ADOF84Hds , B9ADOF84Rdt , B9ADOF84V , B9ADOF84Wvs , B9ADOF85A , B9ADOF85Add , B9ADOF85D , & - B9ADOF85Hds , B9ADOF85Rdt , B9ADOF85V , B9ADOF85Wvs , B9ADOF86A , B9ADOF86Add , B9ADOF86D , & - B9ADOF86Hds , B9ADOF86Rdt , B9ADOF86V , B9ADOF86Wvs , B9ADOF87A , B9ADOF87Add , B9ADOF87D , & - B9ADOF87Hds , B9ADOF87Rdt , B9ADOF87V , B9ADOF87Wvs , B9ADOF88A , B9ADOF88Add , B9ADOF88D , & - B9ADOF88Hds , B9ADOF88Rdt , B9ADOF88V , B9ADOF88Wvs , B9ADOF89A , B9ADOF89Add , B9ADOF89D , & - B9ADOF89Hds , B9ADOF89Rdt , B9ADOF89V , B9ADOF89Wvs , B9ADOF8A , B9ADOF8Add , B9ADOF8D , & - B9ADOF8Hds , B9ADOF8Rdt , B9ADOF8V , B9ADOF8Wvs , B9ADOF90A , B9ADOF90Add , B9ADOF90D , & - B9ADOF90Hds , B9ADOF90Rdt , B9ADOF90V , B9ADOF90Wvs , B9ADOF91A , B9ADOF91Add , B9ADOF91D , & - B9ADOF91Hds , B9ADOF91Rdt , B9ADOF91V , B9ADOF91Wvs , B9ADOF92A , B9ADOF92Add , B9ADOF92D , & - B9ADOF92Hds , B9ADOF92Rdt , B9ADOF92V , B9ADOF92Wvs , B9ADOF93A , B9ADOF93Add , B9ADOF93D , & - B9ADOF93Hds , B9ADOF93Rdt , B9ADOF93V , B9ADOF93Wvs , B9ADOF94A , B9ADOF94Add , B9ADOF94D , & - B9ADOF94Hds , B9ADOF94Rdt , B9ADOF94V , B9ADOF94Wvs , B9ADOF95A , B9ADOF95Add , B9ADOF95D , & - B9ADOF95Hds , B9ADOF95Rdt , B9ADOF95V , B9ADOF95Wvs , B9ADOF96A , B9ADOF96Add , B9ADOF96D , & - B9ADOF96Hds , B9ADOF96Rdt , B9ADOF96V , B9ADOF96Wvs , B9ADOF97A , B9ADOF97Add , B9ADOF97D , & - B9ADOF97Hds , B9ADOF97Rdt , B9ADOF97V , B9ADOF97Wvs , B9ADOF98A , B9ADOF98Add , B9ADOF98D , & - B9ADOF98Hds , B9ADOF98Rdt , B9ADOF98V , B9ADOF98Wvs , B9ADOF99A , B9ADOF99Add , B9ADOF99D , & - B9ADOF99Hds , B9ADOF99Rdt , B9ADOF99V , B9ADOF99Wvs , B9ADOF9A , B9ADOF9Add , B9ADOF9D , & - B9ADOF9Hds , B9ADOF9Rdt , B9ADOF9V , B9ADOF9Wvs , B9HdSFxi , B9HdSFyi , B9HdSFzi , & - B9HdSMxi , B9HdSMyi , B9HdSMzi , B9Heave , B9Pitch , B9RAxi , B9RAyi , & - B9RAzi , B9RdtFxi , B9RdtFyi , B9RdtFzi , B9RdtMxi , B9RdtMyi , B9RdtMzi , & - B9Roll , B9RVxi , B9RVyi , B9RVzi , B9Surge , B9Sway , B9TAxi , & - B9TAyi , B9TAzi , B9TVxi , B9TVyi , B9TVzi , B9WvsF1xi , B9WvsF1yi , & - B9WvsF1zi , B9WvsF2xi , B9WvsF2yi , B9WvsF2zi , B9WvsFxi , B9WvsFyi , B9WvsFzi , & - B9WvsM1xi , B9WvsM1yi , B9WvsM1zi , B9WvsM2xi , B9WvsM2yi , B9WvsM2zi , B9WvsMxi , & - B9WvsMyi , B9WvsMzi , B9Yaw , HydroFxi , HydroFyi , HydroFzi , HydroMxi , & - HydroMyi , HydroMzi , PRPHeave , PRPPitch , PRPRAxi , PRPRAyi , PRPRAzi , & - PRPRoll , PRPRVxi , PRPRVyi , PRPRVzi , PRPSurge , PRPSway , PRPTAxi , & - PRPTAyi , PRPTAzi , PRPTVxi , PRPTVyi , PRPTVzi , PRPYaw /) - INTEGER(IntKi), PARAMETER :: ParamIndxAry(6747) = (/ & ! This lists the index into AllOuts(:) of the allowed parameters ValidParamAry(:) + B8HdSFyi , B8HdSFzi , B8HdSMxi , B8HdSMyi , B8HdSMzi , B8Heave , B8NFKFxi , & + B8NFKFyi , B8NFKFzi , B8NFKMxi , B8NFKMyi , B8NFKMzi , B8Pitch , B8RAxi , & + B8RAyi , B8RAzi , B8RdtFxi , B8RdtFyi , B8RdtFzi , B8RdtMxi , B8RdtMyi , & + B8RdtMzi , B8Roll , B8RVxi , B8RVyi , B8RVzi , B8Surge , B8Sway , & + B8TAxi , B8TAyi , B8TAzi , B8TVxi , B8TVyi , B8TVzi , B8WvsF1xi , & + B8WvsF1yi , B8WvsF1zi , B8WvsF2xi , B8WvsF2yi , B8WvsF2zi , B8WvsFxi , B8WvsFyi , & + B8WvsFzi , B8WvsM1xi , B8WvsM1yi , B8WvsM1zi , B8WvsM2xi , B8WvsM2yi , B8WvsM2zi , & + B8WvsMxi , B8WvsMyi , B8WvsMzi , B8Yaw , B9AddFxi , B9AddFyi , B9AddFzi , & + B9AddMxi , B9AddMyi , B9AddMzi , B9ADOF10A , B9ADOF10Add , B9ADOF10D , B9ADOF10Hds , & + B9ADOF10Rdt , B9ADOF10V , B9ADOF10Wvs , B9ADOF11A , B9ADOF11Add , B9ADOF11D , B9ADOF11Hds , & + B9ADOF11Rdt , B9ADOF11V , B9ADOF11Wvs , B9ADOF12A , B9ADOF12Add , B9ADOF12D , B9ADOF12Hds , & + B9ADOF12Rdt , B9ADOF12V , B9ADOF12Wvs , B9ADOF13A , B9ADOF13Add , B9ADOF13D , B9ADOF13Hds , & + B9ADOF13Rdt , B9ADOF13V , B9ADOF13Wvs , B9ADOF14A , B9ADOF14Add , B9ADOF14D , B9ADOF14Hds , & + B9ADOF14Rdt , B9ADOF14V , B9ADOF14Wvs , B9ADOF15A , B9ADOF15Add , B9ADOF15D , B9ADOF15Hds , & + B9ADOF15Rdt , B9ADOF15V , B9ADOF15Wvs , B9ADOF16A , B9ADOF16Add , B9ADOF16D , B9ADOF16Hds , & + B9ADOF16Rdt , B9ADOF16V , B9ADOF16Wvs , B9ADOF17A , B9ADOF17Add , B9ADOF17D , B9ADOF17Hds , & + B9ADOF17Rdt , B9ADOF17V , B9ADOF17Wvs , B9ADOF18A , B9ADOF18Add , B9ADOF18D , B9ADOF18Hds , & + B9ADOF18Rdt , B9ADOF18V , B9ADOF18Wvs , B9ADOF19A , B9ADOF19Add , B9ADOF19D , B9ADOF19Hds , & + B9ADOF19Rdt , B9ADOF19V , B9ADOF19Wvs , B9ADOF1A , B9ADOF1Add , B9ADOF1D , B9ADOF1Hds , & + B9ADOF1Rdt , B9ADOF1V , B9ADOF1Wvs , B9ADOF20A , B9ADOF20Add , B9ADOF20D , B9ADOF20Hds , & + B9ADOF20Rdt , B9ADOF20V , B9ADOF20Wvs , B9ADOF21A , B9ADOF21Add , B9ADOF21D , B9ADOF21Hds , & + B9ADOF21Rdt , B9ADOF21V , B9ADOF21Wvs , B9ADOF22A , B9ADOF22Add , B9ADOF22D , B9ADOF22Hds , & + B9ADOF22Rdt , B9ADOF22V , B9ADOF22Wvs , B9ADOF23A , B9ADOF23Add , B9ADOF23D , B9ADOF23Hds , & + B9ADOF23Rdt , B9ADOF23V , B9ADOF23Wvs , B9ADOF24A , B9ADOF24Add , B9ADOF24D , B9ADOF24Hds , & + B9ADOF24Rdt , B9ADOF24V , B9ADOF24Wvs , B9ADOF25A , B9ADOF25Add , B9ADOF25D , B9ADOF25Hds , & + B9ADOF25Rdt , B9ADOF25V , B9ADOF25Wvs , B9ADOF26A , B9ADOF26Add , B9ADOF26D , B9ADOF26Hds , & + B9ADOF26Rdt , B9ADOF26V , B9ADOF26Wvs , B9ADOF27A , B9ADOF27Add , B9ADOF27D , B9ADOF27Hds , & + B9ADOF27Rdt , B9ADOF27V , B9ADOF27Wvs , B9ADOF28A , B9ADOF28Add , B9ADOF28D , B9ADOF28Hds , & + B9ADOF28Rdt , B9ADOF28V , B9ADOF28Wvs , B9ADOF29A , B9ADOF29Add , B9ADOF29D , B9ADOF29Hds , & + B9ADOF29Rdt , B9ADOF29V , B9ADOF29Wvs , B9ADOF2A , B9ADOF2Add , B9ADOF2D , B9ADOF2Hds , & + B9ADOF2Rdt , B9ADOF2V , B9ADOF2Wvs , B9ADOF30A , B9ADOF30Add , B9ADOF30D , B9ADOF30Hds , & + B9ADOF30Rdt , B9ADOF30V , B9ADOF30Wvs , B9ADOF31A , B9ADOF31Add , B9ADOF31D , B9ADOF31Hds , & + B9ADOF31Rdt , B9ADOF31V , B9ADOF31Wvs , B9ADOF32A , B9ADOF32Add , B9ADOF32D , B9ADOF32Hds , & + B9ADOF32Rdt , B9ADOF32V , B9ADOF32Wvs , B9ADOF33A , B9ADOF33Add , B9ADOF33D , B9ADOF33Hds , & + B9ADOF33Rdt , B9ADOF33V , B9ADOF33Wvs , B9ADOF34A , B9ADOF34Add , B9ADOF34D , B9ADOF34Hds , & + B9ADOF34Rdt , B9ADOF34V , B9ADOF34Wvs , B9ADOF35A , B9ADOF35Add , B9ADOF35D , B9ADOF35Hds , & + B9ADOF35Rdt , B9ADOF35V , B9ADOF35Wvs , B9ADOF36A , B9ADOF36Add , B9ADOF36D , B9ADOF36Hds , & + B9ADOF36Rdt , B9ADOF36V , B9ADOF36Wvs , B9ADOF37A , B9ADOF37Add , B9ADOF37D , B9ADOF37Hds , & + B9ADOF37Rdt , B9ADOF37V , B9ADOF37Wvs , B9ADOF38A , B9ADOF38Add , B9ADOF38D , B9ADOF38Hds , & + B9ADOF38Rdt , B9ADOF38V , B9ADOF38Wvs , B9ADOF39A , B9ADOF39Add , B9ADOF39D , B9ADOF39Hds , & + B9ADOF39Rdt , B9ADOF39V , B9ADOF39Wvs , B9ADOF3A , B9ADOF3Add , B9ADOF3D , B9ADOF3Hds , & + B9ADOF3Rdt , B9ADOF3V , B9ADOF3Wvs , B9ADOF40A , B9ADOF40Add , B9ADOF40D , B9ADOF40Hds , & + B9ADOF40Rdt , B9ADOF40V , B9ADOF40Wvs , B9ADOF41A , B9ADOF41Add , B9ADOF41D , B9ADOF41Hds , & + B9ADOF41Rdt , B9ADOF41V , B9ADOF41Wvs , B9ADOF42A , B9ADOF42Add , B9ADOF42D , B9ADOF42Hds , & + B9ADOF42Rdt , B9ADOF42V , B9ADOF42Wvs , B9ADOF43A , B9ADOF43Add , B9ADOF43D , B9ADOF43Hds , & + B9ADOF43Rdt , B9ADOF43V , B9ADOF43Wvs , B9ADOF44A , B9ADOF44Add , B9ADOF44D , B9ADOF44Hds , & + B9ADOF44Rdt , B9ADOF44V , B9ADOF44Wvs , B9ADOF45A , B9ADOF45Add , B9ADOF45D , B9ADOF45Hds , & + B9ADOF45Rdt , B9ADOF45V , B9ADOF45Wvs , B9ADOF46A , B9ADOF46Add , B9ADOF46D , B9ADOF46Hds , & + B9ADOF46Rdt , B9ADOF46V , B9ADOF46Wvs , B9ADOF47A , B9ADOF47Add , B9ADOF47D , B9ADOF47Hds , & + B9ADOF47Rdt , B9ADOF47V , B9ADOF47Wvs , B9ADOF48A , B9ADOF48Add , B9ADOF48D , B9ADOF48Hds , & + B9ADOF48Rdt , B9ADOF48V , B9ADOF48Wvs , B9ADOF49A , B9ADOF49Add , B9ADOF49D , B9ADOF49Hds , & + B9ADOF49Rdt , B9ADOF49V , B9ADOF49Wvs , B9ADOF4A , B9ADOF4Add , B9ADOF4D , B9ADOF4Hds , & + B9ADOF4Rdt , B9ADOF4V , B9ADOF4Wvs , B9ADOF50A , B9ADOF50Add , B9ADOF50D , B9ADOF50Hds , & + B9ADOF50Rdt , B9ADOF50V , B9ADOF50Wvs , B9ADOF51A , B9ADOF51Add , B9ADOF51D , B9ADOF51Hds , & + B9ADOF51Rdt , B9ADOF51V , B9ADOF51Wvs , B9ADOF52A , B9ADOF52Add , B9ADOF52D , B9ADOF52Hds , & + B9ADOF52Rdt , B9ADOF52V , B9ADOF52Wvs , B9ADOF53A , B9ADOF53Add , B9ADOF53D , B9ADOF53Hds , & + B9ADOF53Rdt , B9ADOF53V , B9ADOF53Wvs , B9ADOF54A , B9ADOF54Add , B9ADOF54D , B9ADOF54Hds , & + B9ADOF54Rdt , B9ADOF54V , B9ADOF54Wvs , B9ADOF55A , B9ADOF55Add , B9ADOF55D , B9ADOF55Hds , & + B9ADOF55Rdt , B9ADOF55V , B9ADOF55Wvs , B9ADOF56A , B9ADOF56Add , B9ADOF56D , B9ADOF56Hds , & + B9ADOF56Rdt , B9ADOF56V , B9ADOF56Wvs , B9ADOF57A , B9ADOF57Add , B9ADOF57D , B9ADOF57Hds , & + B9ADOF57Rdt , B9ADOF57V , B9ADOF57Wvs , B9ADOF58A , B9ADOF58Add , B9ADOF58D , B9ADOF58Hds , & + B9ADOF58Rdt , B9ADOF58V , B9ADOF58Wvs , B9ADOF59A , B9ADOF59Add , B9ADOF59D , B9ADOF59Hds , & + B9ADOF59Rdt , B9ADOF59V , B9ADOF59Wvs , B9ADOF5A , B9ADOF5Add , B9ADOF5D , B9ADOF5Hds , & + B9ADOF5Rdt , B9ADOF5V , B9ADOF5Wvs , B9ADOF60A , B9ADOF60Add , B9ADOF60D , B9ADOF60Hds , & + B9ADOF60Rdt , B9ADOF60V , B9ADOF60Wvs , B9ADOF61A , B9ADOF61Add , B9ADOF61D , B9ADOF61Hds , & + B9ADOF61Rdt , B9ADOF61V , B9ADOF61Wvs , B9ADOF62A , B9ADOF62Add , B9ADOF62D , B9ADOF62Hds , & + B9ADOF62Rdt , B9ADOF62V , B9ADOF62Wvs , B9ADOF63A , B9ADOF63Add , B9ADOF63D , B9ADOF63Hds , & + B9ADOF63Rdt , B9ADOF63V , B9ADOF63Wvs , B9ADOF64A , B9ADOF64Add , B9ADOF64D , B9ADOF64Hds , & + B9ADOF64Rdt , B9ADOF64V , B9ADOF64Wvs , B9ADOF65A , B9ADOF65Add , B9ADOF65D , B9ADOF65Hds , & + B9ADOF65Rdt , B9ADOF65V , B9ADOF65Wvs , B9ADOF66A , B9ADOF66Add , B9ADOF66D , B9ADOF66Hds , & + B9ADOF66Rdt , B9ADOF66V , B9ADOF66Wvs , B9ADOF67A , B9ADOF67Add , B9ADOF67D , B9ADOF67Hds , & + B9ADOF67Rdt , B9ADOF67V , B9ADOF67Wvs , B9ADOF68A , B9ADOF68Add , B9ADOF68D , B9ADOF68Hds , & + B9ADOF68Rdt , B9ADOF68V , B9ADOF68Wvs , B9ADOF69A , B9ADOF69Add , B9ADOF69D , B9ADOF69Hds , & + B9ADOF69Rdt , B9ADOF69V , B9ADOF69Wvs , B9ADOF6A , B9ADOF6Add , B9ADOF6D , B9ADOF6Hds , & + B9ADOF6Rdt , B9ADOF6V , B9ADOF6Wvs , B9ADOF70A , B9ADOF70Add , B9ADOF70D , B9ADOF70Hds , & + B9ADOF70Rdt , B9ADOF70V , B9ADOF70Wvs , B9ADOF71A , B9ADOF71Add , B9ADOF71D , B9ADOF71Hds , & + B9ADOF71Rdt , B9ADOF71V , B9ADOF71Wvs , B9ADOF72A , B9ADOF72Add , B9ADOF72D , B9ADOF72Hds , & + B9ADOF72Rdt , B9ADOF72V , B9ADOF72Wvs , B9ADOF73A , B9ADOF73Add , B9ADOF73D , B9ADOF73Hds , & + B9ADOF73Rdt , B9ADOF73V , B9ADOF73Wvs , B9ADOF74A , B9ADOF74Add , B9ADOF74D , B9ADOF74Hds , & + B9ADOF74Rdt , B9ADOF74V , B9ADOF74Wvs , B9ADOF75A , B9ADOF75Add , B9ADOF75D , B9ADOF75Hds , & + B9ADOF75Rdt , B9ADOF75V , B9ADOF75Wvs , B9ADOF76A , B9ADOF76Add , B9ADOF76D , B9ADOF76Hds , & + B9ADOF76Rdt , B9ADOF76V , B9ADOF76Wvs , B9ADOF77A , B9ADOF77Add , B9ADOF77D , B9ADOF77Hds , & + B9ADOF77Rdt , B9ADOF77V , B9ADOF77Wvs , B9ADOF78A , B9ADOF78Add , B9ADOF78D , B9ADOF78Hds , & + B9ADOF78Rdt , B9ADOF78V , B9ADOF78Wvs , B9ADOF79A , B9ADOF79Add , B9ADOF79D , B9ADOF79Hds , & + B9ADOF79Rdt , B9ADOF79V , B9ADOF79Wvs , B9ADOF7A , B9ADOF7Add , B9ADOF7D , B9ADOF7Hds , & + B9ADOF7Rdt , B9ADOF7V , B9ADOF7Wvs , B9ADOF80A , B9ADOF80Add , B9ADOF80D , B9ADOF80Hds , & + B9ADOF80Rdt , B9ADOF80V , B9ADOF80Wvs , B9ADOF81A , B9ADOF81Add , B9ADOF81D , B9ADOF81Hds , & + B9ADOF81Rdt , B9ADOF81V , B9ADOF81Wvs , B9ADOF82A , B9ADOF82Add , B9ADOF82D , B9ADOF82Hds , & + B9ADOF82Rdt , B9ADOF82V , B9ADOF82Wvs , B9ADOF83A , B9ADOF83Add , B9ADOF83D , B9ADOF83Hds , & + B9ADOF83Rdt , B9ADOF83V , B9ADOF83Wvs , B9ADOF84A , B9ADOF84Add , B9ADOF84D , B9ADOF84Hds , & + B9ADOF84Rdt , B9ADOF84V , B9ADOF84Wvs , B9ADOF85A , B9ADOF85Add , B9ADOF85D , B9ADOF85Hds , & + B9ADOF85Rdt , B9ADOF85V , B9ADOF85Wvs , B9ADOF86A , B9ADOF86Add , B9ADOF86D , B9ADOF86Hds , & + B9ADOF86Rdt , B9ADOF86V , B9ADOF86Wvs , B9ADOF87A , B9ADOF87Add , B9ADOF87D , B9ADOF87Hds , & + B9ADOF87Rdt , B9ADOF87V , B9ADOF87Wvs , B9ADOF88A , B9ADOF88Add , B9ADOF88D , B9ADOF88Hds , & + B9ADOF88Rdt , B9ADOF88V , B9ADOF88Wvs , B9ADOF89A , B9ADOF89Add , B9ADOF89D , B9ADOF89Hds , & + B9ADOF89Rdt , B9ADOF89V , B9ADOF89Wvs , B9ADOF8A , B9ADOF8Add , B9ADOF8D , B9ADOF8Hds , & + B9ADOF8Rdt , B9ADOF8V , B9ADOF8Wvs , B9ADOF90A , B9ADOF90Add , B9ADOF90D , B9ADOF90Hds , & + B9ADOF90Rdt , B9ADOF90V , B9ADOF90Wvs , B9ADOF91A , B9ADOF91Add , B9ADOF91D , B9ADOF91Hds , & + B9ADOF91Rdt , B9ADOF91V , B9ADOF91Wvs , B9ADOF92A , B9ADOF92Add , B9ADOF92D , B9ADOF92Hds , & + B9ADOF92Rdt , B9ADOF92V , B9ADOF92Wvs , B9ADOF93A , B9ADOF93Add , B9ADOF93D , B9ADOF93Hds , & + B9ADOF93Rdt , B9ADOF93V , B9ADOF93Wvs , B9ADOF94A , B9ADOF94Add , B9ADOF94D , B9ADOF94Hds , & + B9ADOF94Rdt , B9ADOF94V , B9ADOF94Wvs , B9ADOF95A , B9ADOF95Add , B9ADOF95D , B9ADOF95Hds , & + B9ADOF95Rdt , B9ADOF95V , B9ADOF95Wvs , B9ADOF96A , B9ADOF96Add , B9ADOF96D , B9ADOF96Hds , & + B9ADOF96Rdt , B9ADOF96V , B9ADOF96Wvs , B9ADOF97A , B9ADOF97Add , B9ADOF97D , B9ADOF97Hds , & + B9ADOF97Rdt , B9ADOF97V , B9ADOF97Wvs , B9ADOF98A , B9ADOF98Add , B9ADOF98D , B9ADOF98Hds , & + B9ADOF98Rdt , B9ADOF98V , B9ADOF98Wvs , B9ADOF99A , B9ADOF99Add , B9ADOF99D , B9ADOF99Hds , & + B9ADOF99Rdt , B9ADOF99V , B9ADOF99Wvs , B9ADOF9A , B9ADOF9Add , B9ADOF9D , B9ADOF9Hds , & + B9ADOF9Rdt , B9ADOF9V , B9ADOF9Wvs , B9HdSFxi , B9HdSFyi , B9HdSFzi , B9HdSMxi , & + B9HdSMyi , B9HdSMzi , B9Heave , B9NFKFxi , B9NFKFyi , B9NFKFzi , B9NFKMxi , & + B9NFKMyi , B9NFKMzi , B9Pitch , B9RAxi , B9RAyi , B9RAzi , B9RdtFxi , & + B9RdtFyi , B9RdtFzi , B9RdtMxi , B9RdtMyi , B9RdtMzi , B9Roll , B9RVxi , & + B9RVyi , B9RVzi , B9Surge , B9Sway , B9TAxi , B9TAyi , B9TAzi , & + B9TVxi , B9TVyi , B9TVzi , B9WvsF1xi , B9WvsF1yi , B9WvsF1zi , B9WvsF2xi , & + B9WvsF2yi , B9WvsF2zi , B9WvsFxi , B9WvsFyi , B9WvsFzi , B9WvsM1xi , B9WvsM1yi , & + B9WvsM1zi , B9WvsM2xi , B9WvsM2yi , B9WvsM2zi , B9WvsMxi , B9WvsMyi , B9WvsMzi , & + B9Yaw , HydroFxi , HydroFyi , HydroFzi , HydroMxi , HydroMyi , HydroMzi , & + PRPHeave , PRPPitch , PRPRAxi , PRPRAyi , PRPRAzi , PRPRoll , PRPRVxi , & + PRPRVyi , PRPRVzi , PRPSurge , PRPSway , PRPTAxi , PRPTAyi , PRPTAzi , & + PRPTVxi , PRPTVyi , PRPTVzi , PRPYaw /) + INTEGER(IntKi), PARAMETER :: ParamIndxAry(6801) = (/ & ! This lists the index into AllOuts(:) of the allowed parameters ValidParamAry(:) ParamIndxAry1, ParamIndxAry2, ParamIndxAry3, ParamIndxAry4/) - CHARACTER(ChanLen), PARAMETER :: ParamUnitsAry1(1687) = (/ character(ChanLen) :: & ! This lists the units corresponding to the allowed parameters + CHARACTER(ChanLen), PARAMETER :: ParamUnitsAry1(1701) = (/ character(ChanLen) :: & ! This lists the units corresponding to the allowed parameters "(N) ","(N) ","(N) ","(N-m) ","(N-m) ","(N-m) ","(-) ", & "(-) ","(-) ","(-) ","(-) ","(-) ","(-) ","(-) ", & "(-) ","(-) ","(-) ","(-) ","(-) ","(-) ","(-) ", & @@ -10216,14 +10299,15 @@ SUBROUTINE SetOutParam(OutList, p, ErrStat, ErrMsg ) "(-) ","(-) ","(-) ","(-) ","(-) ","(-) ","(-) ", & "(-) ","(-) ","(-) ","(-) ","(-) ","(-) ","(-) ", & "(-) ","(-) ","(-) ","(-) ","(-) ","(-) ","(N) ", & - "(N) ","(N) ","(N-m) ","(N-m) ","(N-m) ","(m) ","(rad) ", & - "(rad/s^2)","(rad/s^2)","(rad/s^2)","(N) ","(N) ","(N) ","(N-m) ", & - "(N-m) ","(N-m) ","(rad) ","(rad/s) ","(rad/s) ","(rad/s) ","(m) ", & - "(m) ","(m/s^2) ","(m/s^2) ","(m/s^2) ","(m/s) ","(m/s) ","(m/s) ", & + "(N) ","(N) ","(N-m) ","(N-m) ","(N-m) ","(m) ","(N) ", & + "(N) ","(N) ","(Nm) ","(Nm) ","(Nm) ","(rad) ","(rad/s^2)", & + "(rad/s^2)","(rad/s^2)","(N) ","(N) ","(N) ","(N-m) ","(N-m) ", & + "(N-m) ","(rad) ","(rad/s) ","(rad/s) ","(rad/s) ","(m) ","(m) ", & + "(m/s^2) ","(m/s^2) ","(m/s^2) ","(m/s) ","(m/s) ","(m/s) ","(N) ", & "(N) ","(N) ","(N) ","(N) ","(N) ","(N) ","(N) ", & - "(N) ","(N) ","(N-m) ","(N-m) ","(N-m) ","(N-m) ","(N-m) ", & - "(N-m) ","(N-m) ","(N-m) ","(N-m) ","(rad) ","(N) ","(N) ", & - "(N) ","(N-m) ","(N-m) ","(N-m) ","(-) ","(-) ","(-) ", & + "(N) ","(N-m) ","(N-m) ","(N-m) ","(N-m) ","(N-m) ","(N-m) ", & + "(N-m) ","(N-m) ","(N-m) ","(rad) ","(N) ","(N) ","(N) ", & + "(N-m) ","(N-m) ","(N-m) ","(-) ","(-) ","(-) ","(-) ", & "(-) ","(-) ","(-) ","(-) ","(-) ","(-) ","(-) ", & "(-) ","(-) ","(-) ","(-) ","(-) ","(-) ","(-) ", & "(-) ","(-) ","(-) ","(-) ","(-) ","(-) ","(-) ", & @@ -10322,15 +10406,15 @@ SUBROUTINE SetOutParam(OutList, p, ErrStat, ErrMsg ) "(-) ","(-) ","(-) ","(-) ","(-) ","(-) ","(-) ", & "(-) ","(-) ","(-) ","(-) ","(-) ","(-) ","(-) ", & "(-) ","(-) ","(-) ","(-) ","(-) ","(-) ","(-) ", & - "(-) ","(-) ","(-) ","(-) ","(N) ","(N) ","(N) ", & - "(N-m) ","(N-m) ","(N-m) ","(m) ","(rad) ","(rad/s^2)","(rad/s^2)", & - "(rad/s^2)","(N) ","(N) ","(N) ","(N-m) ","(N-m) ","(N-m) ", & - "(rad) ","(rad/s) ","(rad/s) ","(rad/s) ","(m) ","(m) ","(m/s^2) ", & - "(m/s^2) ","(m/s^2) ","(m/s) ","(m/s) ","(m/s) ","(N) ","(N) ", & - "(N) ","(N) ","(N) ","(N) ","(N) ","(N) ","(N) ", & + "(-) ","(-) ","(-) ","(N) ","(N) ","(N) ","(N-m) ", & + "(N-m) ","(N-m) ","(m) ","(N) ","(N) ","(N) ","(Nm) ", & + "(Nm) ","(Nm) ","(rad) ","(rad/s^2)","(rad/s^2)","(rad/s^2)","(N) ", & + "(N) ","(N) ","(N-m) ","(N-m) ","(N-m) ","(rad) ","(rad/s) ", & + "(rad/s) ","(rad/s) ","(m) ","(m) ","(m/s^2) ","(m/s^2) ","(m/s^2) ", & + "(m/s) ","(m/s) ","(m/s) ","(N) ","(N) ","(N) ","(N) ", & + "(N) ","(N) ","(N) ","(N) ","(N) ","(N-m) ","(N-m) ", & "(N-m) ","(N-m) ","(N-m) ","(N-m) ","(N-m) ","(N-m) ","(N-m) ", & - "(N-m) ","(N-m) ","(rad) ","(N) ","(N) ","(N) ","(N-m) ", & - "(N-m) ","(N-m) ","(-) ","(-) ","(-) ","(-) ","(-) ", & + "(rad) ","(N) ","(N) ","(N) ","(N-m) ","(N-m) ","(N-m) ", & "(-) ","(-) ","(-) ","(-) ","(-) ","(-) ","(-) ", & "(-) ","(-) ","(-) ","(-) ","(-) ","(-) ","(-) ", & "(-) ","(-) ","(-) ","(-) ","(-) ","(-) ","(-) ", & @@ -10356,9 +10440,9 @@ SUBROUTINE SetOutParam(OutList, p, ErrStat, ErrMsg ) "(-) ","(-) ","(-) ","(-) ","(-) ","(-) ","(-) ", & "(-) ","(-) ","(-) ","(-) ","(-) ","(-) ","(-) ", & "(-) ","(-) ","(-) ","(-) ","(-) ","(-) ","(-) ", & - "(-) ","(-) ","(-) ","(-) ","(-) ","(-) ","(-) "/) - CHARACTER(ChanLen), PARAMETER :: ParamUnitsAry2(1687) = (/ character(ChanLen) :: & ! This lists the units corresponding to the allowed parameters "(-) ","(-) ","(-) ","(-) ","(-) ","(-) ","(-) ", & + "(-) ","(-) ","(-) ","(-) ","(-) ","(-) ","(-) "/) + CHARACTER(ChanLen), PARAMETER :: ParamUnitsAry2(1701) = (/ character(ChanLen) :: & ! This lists the units corresponding to the allowed parameters "(-) ","(-) ","(-) ","(-) ","(-) ","(-) ","(-) ", & "(-) ","(-) ","(-) ","(-) ","(-) ","(-) ","(-) ", & "(-) ","(-) ","(-) ","(-) ","(-) ","(-) ","(-) ", & @@ -10430,15 +10514,16 @@ SUBROUTINE SetOutParam(OutList, p, ErrStat, ErrMsg ) "(-) ","(-) ","(-) ","(-) ","(-) ","(-) ","(-) ", & "(-) ","(-) ","(-) ","(-) ","(-) ","(-) ","(-) ", & "(-) ","(-) ","(-) ","(-) ","(-) ","(-) ","(-) ", & - "(-) ","(-) ","(N) ","(N) ","(N) ","(N-m) ","(N-m) ", & - "(N-m) ","(m) ","(rad) ","(rad/s^2)","(rad/s^2)","(rad/s^2)","(N) ", & - "(N) ","(N) ","(N-m) ","(N-m) ","(N-m) ","(rad) ","(rad/s) ", & - "(rad/s) ","(rad/s) ","(m) ","(m) ","(m/s^2) ","(m/s^2) ","(m/s^2) ", & - "(m/s) ","(m/s) ","(m/s) ","(N) ","(N) ","(N) ","(N) ", & - "(N) ","(N) ","(N) ","(N) ","(N) ","(N-m) ","(N-m) ", & - "(N-m) ","(N-m) ","(N-m) ","(N-m) ","(N-m) ","(N-m) ","(N-m) ", & - "(rad) ","(N) ","(N) ","(N) ","(N-m) ","(N-m) ","(N-m) ", & "(-) ","(-) ","(-) ","(-) ","(-) ","(-) ","(-) ", & + "(N) ","(N) ","(N) ","(N-m) ","(N-m) ","(N-m) ","(m) ", & + "(N) ","(N) ","(N) ","(Nm) ","(Nm) ","(Nm) ","(rad) ", & + "(rad/s^2)","(rad/s^2)","(rad/s^2)","(N) ","(N) ","(N) ","(N-m) ", & + "(N-m) ","(N-m) ","(rad) ","(rad/s) ","(rad/s) ","(rad/s) ","(m) ", & + "(m) ","(m/s^2) ","(m/s^2) ","(m/s^2) ","(m/s) ","(m/s) ","(m/s) ", & + "(N) ","(N) ","(N) ","(N) ","(N) ","(N) ","(N) ", & + "(N) ","(N) ","(N-m) ","(N-m) ","(N-m) ","(N-m) ","(N-m) ", & + "(N-m) ","(N-m) ","(N-m) ","(N-m) ","(rad) ","(N) ","(N) ", & + "(N) ","(N-m) ","(N-m) ","(N-m) ","(-) ","(-) ","(-) ", & "(-) ","(-) ","(-) ","(-) ","(-) ","(-) ","(-) ", & "(-) ","(-) ","(-) ","(-) ","(-) ","(-) ","(-) ", & "(-) ","(-) ","(-) ","(-) ","(-) ","(-) ","(-) ", & @@ -10537,14 +10622,16 @@ SUBROUTINE SetOutParam(OutList, p, ErrStat, ErrMsg ) "(-) ","(-) ","(-) ","(-) ","(-) ","(-) ","(-) ", & "(-) ","(-) ","(-) ","(-) ","(-) ","(-) ","(-) ", & "(-) ","(-) ","(-) ","(-) ","(-) ","(-) ","(-) ", & - "(N) ","(N) ","(N) ","(N-m) ","(N-m) ","(N-m) ","(m) ", & - "(rad) ","(rad/s^2)","(rad/s^2)","(rad/s^2)","(N) ","(N) ","(N) ", & - "(N-m) ","(N-m) ","(N-m) ","(rad) ","(rad/s) ","(rad/s) ","(rad/s) ", & - "(m) ","(m) ","(m/s^2) ","(m/s^2) ","(m/s^2) ","(m/s) ","(m/s) ", & - "(m/s) ","(N) ","(N) ","(N) ","(N) ","(N) ","(N) ", & - "(N) ","(N) ","(N) ","(N-m) ","(N-m) ","(N-m) ","(N-m) ", & - "(N-m) ","(N-m) ","(N-m) ","(N-m) ","(N-m) ","(rad) ","(N) ", & - "(N) ","(N) ","(N-m) ","(N-m) ","(N-m) ","(-) ","(-) ", & + "(-) ","(-) ","(-) ","(-) ","(N) ","(N) ","(N) ", & + "(N-m) ","(N-m) ","(N-m) ","(m) ","(N) ","(N) ","(N) ", & + "(Nm) ","(Nm) ","(Nm) ","(rad) ","(rad/s^2)","(rad/s^2)","(rad/s^2)", & + "(N) ","(N) ","(N) ","(N-m) ","(N-m) ","(N-m) ","(rad) ", & + "(rad/s) ","(rad/s) ","(rad/s) ","(m) ","(m) ","(m/s^2) ","(m/s^2) ", & + "(m/s^2) ","(m/s) ","(m/s) ","(m/s) ","(N) ","(N) ","(N) ", & + "(N) ","(N) ","(N) ","(N) ","(N) ","(N) ","(N-m) ", & + "(N-m) ","(N-m) ","(N-m) ","(N-m) ","(N-m) ","(N-m) ","(N-m) ", & + "(N-m) ","(rad) ","(N) ","(N) ","(N) ","(N-m) ","(N-m) ", & + "(N-m) ","(-) ","(-) ","(-) ","(-) ","(-) ","(-) ", & "(-) ","(-) ","(-) ","(-) ","(-) ","(-) ","(-) ", & "(-) ","(-) ","(-) ","(-) ","(-) ","(-) ","(-) ", & "(-) ","(-) ","(-) ","(-) ","(-) ","(-) ","(-) ", & @@ -10599,7 +10686,7 @@ SUBROUTINE SetOutParam(OutList, p, ErrStat, ErrMsg ) "(-) ","(-) ","(-) ","(-) ","(-) ","(-) ","(-) ", & "(-) ","(-) ","(-) ","(-) ","(-) ","(-) ","(-) ", & "(-) ","(-) ","(-) ","(-) ","(-) ","(-) ","(-) "/) - CHARACTER(ChanLen), PARAMETER :: ParamUnitsAry3(1687) = (/ character(ChanLen) :: & ! This lists the units corresponding to the allowed parameters + CHARACTER(ChanLen), PARAMETER :: ParamUnitsAry3(1701) = (/ character(ChanLen) :: & ! This lists the units corresponding to the allowed parameters "(-) ","(-) ","(-) ","(-) ","(-) ","(-) ","(-) ", & "(-) ","(-) ","(-) ","(-) ","(-) ","(-) ","(-) ", & "(-) ","(-) ","(-) ","(-) ","(-) ","(-) ","(-) ", & @@ -10644,15 +10731,15 @@ SUBROUTINE SetOutParam(OutList, p, ErrStat, ErrMsg ) "(-) ","(-) ","(-) ","(-) ","(-) ","(-) ","(-) ", & "(-) ","(-) ","(-) ","(-) ","(-) ","(-) ","(-) ", & "(-) ","(-) ","(-) ","(-) ","(-) ","(-) ","(-) ", & - "(-) ","(-) ","(-) ","(-) ","(-) ","(N) ","(N) ", & - "(N) ","(N-m) ","(N-m) ","(N-m) ","(m) ","(rad) ","(rad/s^2)", & - "(rad/s^2)","(rad/s^2)","(N) ","(N) ","(N) ","(N-m) ","(N-m) ", & - "(N-m) ","(rad) ","(rad/s) ","(rad/s) ","(rad/s) ","(m) ","(m) ", & - "(m/s^2) ","(m/s^2) ","(m/s^2) ","(m/s) ","(m/s) ","(m/s) ","(N) ", & - "(N) ","(N) ","(N) ","(N) ","(N) ","(N) ","(N) ", & - "(N) ","(N-m) ","(N-m) ","(N-m) ","(N-m) ","(N-m) ","(N-m) ", & - "(N-m) ","(N-m) ","(N-m) ","(rad) ","(N) ","(N) ","(N) ", & - "(N-m) ","(N-m) ","(N-m) ","(-) ","(-) ","(-) ","(-) ", & + "(-) ","(N) ","(N) ","(N) ","(N-m) ","(N-m) ","(N-m) ", & + "(m) ","(N) ","(N) ","(N) ","(Nm) ","(Nm) ","(Nm) ", & + "(rad) ","(rad/s^2)","(rad/s^2)","(rad/s^2)","(N) ","(N) ","(N) ", & + "(N-m) ","(N-m) ","(N-m) ","(rad) ","(rad/s) ","(rad/s) ","(rad/s) ", & + "(m) ","(m) ","(m/s^2) ","(m/s^2) ","(m/s^2) ","(m/s) ","(m/s) ", & + "(m/s) ","(N) ","(N) ","(N) ","(N) ","(N) ","(N) ", & + "(N) ","(N) ","(N) ","(N-m) ","(N-m) ","(N-m) ","(N-m) ", & + "(N-m) ","(N-m) ","(N-m) ","(N-m) ","(N-m) ","(rad) ","(N) ", & + "(N) ","(N) ","(N-m) ","(N-m) ","(N-m) ","(-) ","(-) ", & "(-) ","(-) ","(-) ","(-) ","(-) ","(-) ","(-) ", & "(-) ","(-) ","(-) ","(-) ","(-) ","(-) ","(-) ", & "(-) ","(-) ","(-) ","(-) ","(-) ","(-) ","(-) ", & @@ -10751,15 +10838,16 @@ SUBROUTINE SetOutParam(OutList, p, ErrStat, ErrMsg ) "(-) ","(-) ","(-) ","(-) ","(-) ","(-) ","(-) ", & "(-) ","(-) ","(-) ","(-) ","(-) ","(-) ","(-) ", & "(-) ","(-) ","(-) ","(-) ","(-) ","(-) ","(-) ", & - "(-) ","(-) ","(-) ","(N) ","(N) ","(N) ","(N-m) ", & - "(N-m) ","(N-m) ","(m) ","(rad) ","(rad/s^2)","(rad/s^2)","(rad/s^2)", & - "(N) ","(N) ","(N) ","(N-m) ","(N-m) ","(N-m) ","(rad) ", & - "(rad/s) ","(rad/s) ","(rad/s) ","(m) ","(m) ","(m/s^2) ","(m/s^2) ", & - "(m/s^2) ","(m/s) ","(m/s) ","(m/s) ","(N) ","(N) ","(N) ", & - "(N) ","(N) ","(N) ","(N) ","(N) ","(N) ","(N-m) ", & + "(-) ","(-) ","(-) ","(-) ","(-) ","(N) ","(N) ", & + "(N) ","(N-m) ","(N-m) ","(N-m) ","(m) ","(N) ","(N) ", & + "(N) ","(Nm) ","(Nm) ","(Nm) ","(rad) ","(rad/s^2)","(rad/s^2)", & + "(rad/s^2)","(N) ","(N) ","(N) ","(N-m) ","(N-m) ","(N-m) ", & + "(rad) ","(rad/s) ","(rad/s) ","(rad/s) ","(m) ","(m) ","(m/s^2) ", & + "(m/s^2) ","(m/s^2) ","(m/s) ","(m/s) ","(m/s) ","(N) ","(N) ", & + "(N) ","(N) ","(N) ","(N) ","(N) ","(N) ","(N) ", & "(N-m) ","(N-m) ","(N-m) ","(N-m) ","(N-m) ","(N-m) ","(N-m) ", & - "(N-m) ","(rad) ","(N) ","(N) ","(N) ","(N-m) ","(N-m) ", & - "(N-m) ","(-) ","(-) ","(-) ","(-) ","(-) ","(-) ", & + "(N-m) ","(N-m) ","(rad) ","(N) ","(N) ","(N) ","(N-m) ", & + "(N-m) ","(N-m) ","(-) ","(-) ","(-) ","(-) ","(-) ", & "(-) ","(-) ","(-) ","(-) ","(-) ","(-) ","(-) ", & "(-) ","(-) ","(-) ","(-) ","(-) ","(-) ","(-) ", & "(-) ","(-) ","(-) ","(-) ","(-) ","(-) ","(-) ", & @@ -10840,9 +10928,9 @@ SUBROUTINE SetOutParam(OutList, p, ErrStat, ErrMsg ) "(-) ","(-) ","(-) ","(-) ","(-) ","(-) ","(-) ", & "(-) ","(-) ","(-) ","(-) ","(-) ","(-) ","(-) ", & "(-) ","(-) ","(-) ","(-) ","(-) ","(-) ","(-) ", & - "(-) ","(-) ","(-) ","(-) ","(-) ","(-) ","(-) "/) - CHARACTER(ChanLen), PARAMETER :: ParamUnitsAry4(1686) = (/ character(ChanLen) :: & ! This lists the units corresponding to the allowed parameters "(-) ","(-) ","(-) ","(-) ","(-) ","(-) ","(-) ", & + "(-) ","(-) ","(-) ","(-) ","(-) ","(-) ","(-) "/) + CHARACTER(ChanLen), PARAMETER :: ParamUnitsAry4(1698) = (/ character(ChanLen) :: & ! This lists the units corresponding to the allowed parameters "(-) ","(-) ","(-) ","(-) ","(-) ","(-) ","(-) ", & "(-) ","(-) ","(-) ","(-) ","(-) ","(-) ","(-) ", & "(-) ","(-) ","(-) ","(-) ","(-) ","(-) ","(-) ", & @@ -10859,8 +10947,9 @@ SUBROUTINE SetOutParam(OutList, p, ErrStat, ErrMsg ) "(-) ","(-) ","(-) ","(-) ","(-) ","(-) ","(-) ", & "(-) ","(-) ","(-) ","(-) ","(-) ","(-) ","(-) ", & "(-) ","(-) ","(-) ","(-) ","(-) ","(-) ","(-) ", & - "(-) ","(N) ","(N) ","(N) ","(N-m) ","(N-m) ","(N-m) ", & - "(m) ","(rad) ","(rad/s^2)","(rad/s^2)","(rad/s^2)","(N) ","(N) ", & + "(-) ","(-) ","(N) ","(N) ","(N) ","(N-m) ","(N-m) ", & + "(N-m) ","(m) ","(N) ","(N) ","(N) ","(Nm) ","(Nm) ", & + "(Nm) ","(rad) ","(rad/s^2)","(rad/s^2)","(rad/s^2)","(N) ","(N) ", & "(N) ","(N-m) ","(N-m) ","(N-m) ","(rad) ","(rad/s) ","(rad/s) ", & "(rad/s) ","(m) ","(m) ","(m/s^2) ","(m/s^2) ","(m/s^2) ","(m/s) ", & "(m/s) ","(m/s) ","(N) ","(N) ","(N) ","(N) ","(N) ", & @@ -10966,14 +11055,15 @@ SUBROUTINE SetOutParam(OutList, p, ErrStat, ErrMsg ) "(-) ","(-) ","(-) ","(-) ","(-) ","(-) ","(-) ", & "(-) ","(-) ","(-) ","(-) ","(-) ","(-) ","(-) ", & "(-) ","(-) ","(-) ","(-) ","(-) ","(-) ","(N) ", & - "(N) ","(N) ","(N-m) ","(N-m) ","(N-m) ","(m) ","(rad) ", & - "(rad/s^2)","(rad/s^2)","(rad/s^2)","(N) ","(N) ","(N) ","(N-m) ", & - "(N-m) ","(N-m) ","(rad) ","(rad/s) ","(rad/s) ","(rad/s) ","(m) ", & - "(m) ","(m/s^2) ","(m/s^2) ","(m/s^2) ","(m/s) ","(m/s) ","(m/s) ", & + "(N) ","(N) ","(N-m) ","(N-m) ","(N-m) ","(m) ","(N) ", & + "(N) ","(N) ","(Nm) ","(Nm) ","(Nm) ","(rad) ","(rad/s^2)", & + "(rad/s^2)","(rad/s^2)","(N) ","(N) ","(N) ","(N-m) ","(N-m) ", & + "(N-m) ","(rad) ","(rad/s) ","(rad/s) ","(rad/s) ","(m) ","(m) ", & + "(m/s^2) ","(m/s^2) ","(m/s^2) ","(m/s) ","(m/s) ","(m/s) ","(N) ", & "(N) ","(N) ","(N) ","(N) ","(N) ","(N) ","(N) ", & - "(N) ","(N) ","(N-m) ","(N-m) ","(N-m) ","(N-m) ","(N-m) ", & - "(N-m) ","(N-m) ","(N-m) ","(N-m) ","(rad) ","(N) ","(N) ", & - "(N) ","(N-m) ","(N-m) ","(N-m) ","(-) ","(-) ","(-) ", & + "(N) ","(N-m) ","(N-m) ","(N-m) ","(N-m) ","(N-m) ","(N-m) ", & + "(N-m) ","(N-m) ","(N-m) ","(rad) ","(N) ","(N) ","(N) ", & + "(N-m) ","(N-m) ","(N-m) ","(-) ","(-) ","(-) ","(-) ", & "(-) ","(-) ","(-) ","(-) ","(-) ","(-) ","(-) ", & "(-) ","(-) ","(-) ","(-) ","(-) ","(-) ","(-) ", & "(-) ","(-) ","(-) ","(-) ","(-) ","(-) ","(-) ", & @@ -11072,18 +11162,19 @@ SUBROUTINE SetOutParam(OutList, p, ErrStat, ErrMsg ) "(-) ","(-) ","(-) ","(-) ","(-) ","(-) ","(-) ", & "(-) ","(-) ","(-) ","(-) ","(-) ","(-) ","(-) ", & "(-) ","(-) ","(-) ","(-) ","(-) ","(-) ","(-) ", & - "(-) ","(-) ","(-) ","(-) ","(N) ","(N) ","(N) ", & - "(N-m) ","(N-m) ","(N-m) ","(m) ","(rad) ","(rad/s^2)","(rad/s^2)", & - "(rad/s^2)","(N) ","(N) ","(N) ","(N-m) ","(N-m) ","(N-m) ", & - "(rad) ","(rad/s) ","(rad/s) ","(rad/s) ","(m) ","(m) ","(m/s^2) ", & - "(m/s^2) ","(m/s^2) ","(m/s) ","(m/s) ","(m/s) ","(N) ","(N) ", & - "(N) ","(N) ","(N) ","(N) ","(N) ","(N) ","(N) ", & + "(-) ","(-) ","(-) ","(N) ","(N) ","(N) ","(N-m) ", & + "(N-m) ","(N-m) ","(m) ","(N) ","(N) ","(N) ","(Nm) ", & + "(Nm) ","(Nm) ","(rad) ","(rad/s^2)","(rad/s^2)","(rad/s^2)","(N) ", & + "(N) ","(N) ","(N-m) ","(N-m) ","(N-m) ","(rad) ","(rad/s) ", & + "(rad/s) ","(rad/s) ","(m) ","(m) ","(m/s^2) ","(m/s^2) ","(m/s^2) ", & + "(m/s) ","(m/s) ","(m/s) ","(N) ","(N) ","(N) ","(N) ", & + "(N) ","(N) ","(N) ","(N) ","(N) ","(N-m) ","(N-m) ", & "(N-m) ","(N-m) ","(N-m) ","(N-m) ","(N-m) ","(N-m) ","(N-m) ", & - "(N-m) ","(N-m) ","(rad) ","(N) ","(N) ","(N) ","(N-m) ", & - "(N-m) ","(N-m) ","(m) ","(rad) ","(rad/s^2)","(rad/s^2)","(rad/s^2)", & - "(rad) ","(rad/s) ","(rad/s) ","(rad/s) ","(m) ","(m) ","(m/s^2) ", & - "(m/s^2) ","(m/s^2) ","(m/s) ","(m/s) ","(m/s) ","(rad) "/) - CHARACTER(OutStrLenM1), PARAMETER :: ParamUnitsAry(6747) = (/ & ! This lists the units corresponding to the allowed parameters + "(rad) ","(N) ","(N) ","(N) ","(N-m) ","(N-m) ","(N-m) ", & + "(m) ","(rad) ","(rad/s^2)","(rad/s^2)","(rad/s^2)","(rad) ","(rad/s) ", & + "(rad/s) ","(rad/s) ","(m) ","(m) ","(m/s^2) ","(m/s^2) ","(m/s^2) ", & + "(m/s) ","(m/s) ","(m/s) ","(rad) "/) + CHARACTER(OutStrLenM1), PARAMETER :: ParamUnitsAry(6801) = (/ & ! This lists the units corresponding to the allowed parameters ParamUnitsAry1, ParamUnitsAry2, ParamUnitsAry3, ParamUnitsAry4/) From b198b52c997f8ca2bc27aa28d4f0a4068e853314 Mon Sep 17 00:00:00 2001 From: Lu Wang Date: Wed, 20 May 2026 11:25:11 -0600 Subject: [PATCH 04/12] HD: Modified the input file to only use a single entry of FKMod for all bodies if NBodyMod=1 --- modules/hydrodyn/src/HydroDyn_Input.f90 | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/modules/hydrodyn/src/HydroDyn_Input.f90 b/modules/hydrodyn/src/HydroDyn_Input.f90 index d03adec4f5..1fbb81d9e9 100644 --- a/modules/hydrodyn/src/HydroDyn_Input.f90 +++ b/modules/hydrodyn/src/HydroDyn_Input.f90 @@ -252,8 +252,11 @@ SUBROUTINE HydroDyn_ParseInput( InputFileName, OutRootName, FileInfo_In, InputFi if (Failed()) return; ! FKMod - Mesh-based nonlinear Froude-Krylov and hydrostatic model (switch) - call ParseAry( FileInfo_In, CurLine, 'FKMod', InputFileData%FKMod, InputFileData%NBody, ErrStat2, ErrMsg2, UnEc ) + call ParseAry( FileInfo_In, CurLine, 'FKMod', InputFileData%FKMod(1:InputFileData%nWAMITObj), InputFileData%nWAMITObj, ErrStat2, ErrMsg2, UnEc ) if (Failed()) return; + if (InputFileData%NBodyMod==1) then + InputFileData%FKMod(2:InputFileData%NBody) = InputFileData%FKMod(1) + end if ! GeoFile - Root name of Potential flow body geometry file call ParseAry( FileInfo_In, CurLine, 'GeoFile', InputFileData%GeoFile, InputFileData%NBody, ErrStat2, ErrMsg2, UnEc ) @@ -1573,10 +1576,6 @@ SUBROUTINE HydroDynInput_ProcessInitData( InitInp, Interval, InputFileData, ErrS CALL SetErrStat( ErrID_Fatal,'FKMod = '//trim(num2lstr(FKMod_full))//' is incompatible with NAddDOF>0.',ErrStat,ErrMsg,RoutineName) RETURN END IF - IF ( InputFileData%NBodyMod == 1 .and. (InputFileData%FKMod(i)/=InputFileData%FKMod(1)) ) THEN - CALL SetErrStat( ErrID_Fatal,'When NBodyMod = 1, FKMod should be the same for all bodies.',ErrStat,ErrMsg,RoutineName) - RETURN - END IF end do do i = 1,InputFileData%NBody IF ( InputFileData%FKMod(i)==FKMod_full .and. LEN_TRIM( InputFileData%GeoFile(i) ) == 0 ) THEN From 67bb1e9da9ae5ef22c5e37e3a7026ea83d6f1c0f Mon Sep 17 00:00:00 2001 From: Lu Wang Date: Wed, 20 May 2026 12:53:37 -0600 Subject: [PATCH 05/12] Update openfast_io with the new HydroDyn inputs for nonlinear Froude-Krylov and hydrostatic load model Also fixed a potential bug when NBodyMod=1 and NBody>1. In this case, PotFile and WAMITULEN only have one entry each for all bodies instead of NBody entries. Updated r-test pointer. --- openfast_io/openfast_io/FAST_reader.py | 19 +++++++++++++++---- openfast_io/openfast_io/FAST_writer.py | 7 +++++-- reg_tests/r-test | 2 +- 3 files changed, 21 insertions(+), 7 deletions(-) diff --git a/openfast_io/openfast_io/FAST_reader.py b/openfast_io/openfast_io/FAST_reader.py index a675f78059..2f9fbda8e9 100644 --- a/openfast_io/openfast_io/FAST_reader.py +++ b/openfast_io/openfast_io/FAST_reader.py @@ -1934,10 +1934,14 @@ def read_HydroDyn(self, hd_file): self.fst_vt['HydroDyn']['NBodyMod'] = int_read(f.readline().split()[0]) # Get multiple potential files - pot_strings = read_array(f,self.fst_vt['HydroDyn']['NBody'],str) #re.split(',| ',f.readline().strip()) - pot_strings = [os.path.normpath(os.path.join(os.path.split(hd_file)[0],ps)) for ps in pot_strings] # make relative to hd_file - self.fst_vt['HydroDyn']['PotFile'] = pot_strings - self.fst_vt['HydroDyn']['WAMITULEN'] = read_array(f,self.fst_vt['HydroDyn']['NBody'], array_type=float) + if self.fst_vt['HydroDyn']['NBodyMod'] == 1: + self.fst_vt['HydroDyn']['PotFile'] = os.path.normpath(os.path.join(os.path.split(hd_file)[0],quoted_read(f.readline().split()[0]))) + self.fst_vt['HydroDyn']['WAMITULEN'] = float_read(f.readline().split()[0]) + else: + pot_strings = read_array(f,self.fst_vt['HydroDyn']['NBody'],str) #re.split(',| ',f.readline().strip()) + pot_strings = [os.path.normpath(os.path.join(os.path.split(hd_file)[0],ps)) for ps in pot_strings] # make relative to hd_file + self.fst_vt['HydroDyn']['PotFile'] = pot_strings + self.fst_vt['HydroDyn']['WAMITULEN'] = read_array(f,self.fst_vt['HydroDyn']['NBody'], array_type=float) self.fst_vt['HydroDyn']['PtfmRefxt'] = read_array(f,self.fst_vt['HydroDyn']['NBody'], array_type=float) self.fst_vt['HydroDyn']['PtfmRefyt'] = read_array(f,self.fst_vt['HydroDyn']['NBody'], array_type=float) self.fst_vt['HydroDyn']['PtfmRefzt'] = read_array(f,self.fst_vt['HydroDyn']['NBody'], array_type=float) @@ -1946,6 +1950,13 @@ def read_HydroDyn(self, hd_file): self.fst_vt['HydroDyn']['PtfmCOBxt'] = read_array(f,self.fst_vt['HydroDyn']['NBody'], array_type=float) self.fst_vt['HydroDyn']['PtfmCOByt'] = read_array(f,self.fst_vt['HydroDyn']['NBody'], array_type=float) self.fst_vt['HydroDyn']['NAddDOF'] = read_array(f,self.fst_vt['HydroDyn']['NBody'], array_type=int) + if self.fst_vt['HydroDyn']['NBodyMod'] == 1: + self.fst_vt['HydroDyn']['FKMod'] = int_read(f.readline().split()[0]) + else: + self.fst_vt['HydroDyn']['FKMod'] = read_array(f,self.fst_vt['HydroDyn']['NBody'], array_type=int) + geo_strings = read_array(f,self.fst_vt['HydroDyn']['NBody'],str) #re.split(',| ',f.readline().strip()) + geo_strings = [os.path.normpath(os.path.join(os.path.split(hd_file)[0],gs)) for gs in geo_strings] # make relative to hd_file + self.fst_vt['HydroDyn']['GeoFile'] = geo_strings # 2ND-ORDER FLOATING PLATFORM FORCES f.readline() diff --git a/openfast_io/openfast_io/FAST_writer.py b/openfast_io/openfast_io/FAST_writer.py index f8210b4348..7ba5273c0d 100644 --- a/openfast_io/openfast_io/FAST_writer.py +++ b/openfast_io/openfast_io/FAST_writer.py @@ -1639,8 +1639,8 @@ def write_HydroDyn(self): f.write('{:<22} {:<11} {:}'.format(self.fst_vt['HydroDyn']['RdtnDT'], 'RdtnDT', '- Time step for wave radiation kernel calculations (sec) [only used when PotMod=1 and ExctnMod>0 or RdtnMod>0; DT<=RdtnDT<=0.1 recommended; determines RdtnOmegaMax=Pi/RdtnDT in the cosine transform]\n')) f.write('{:<22} {:<11} {:}'.format(self.fst_vt['HydroDyn']['NBody'], 'NBody', '- Number of WAMIT bodies to be used (-) [>=1; only used when PotMod=1. If NBodyMod=1, the WAMIT data contains a vector of size 6*NBody x 1 and matrices of size 6*NBody x 6*NBody; if NBodyMod>1, there are NBody sets of WAMIT data each with a vector of size 6 x 1 and matrices of size 6 x 6]\n')) f.write('{:<22} {:<11} {:}'.format(self.fst_vt['HydroDyn']['NBodyMod'], 'NBodyMod', '- Body coupling model {1: include coupling terms between each body and NBody in HydroDyn equals NBODY in WAMIT, 2: neglect coupling terms between each body and NBODY=1 with XBODY=0 in WAMIT, 3: Neglect coupling terms between each body and NBODY=1 with XBODY=/0 in WAMIT} (switch) [only used when PotMod=1]\n')) - f.write('{:<22} {:<11} {:}'.format('"{}"'.format('", "'.join(self.fst_vt['HydroDyn']['PotFile']) if isinstance(self.fst_vt['HydroDyn']['PotFile'], list) else self.fst_vt['HydroDyn']['PotFile']), 'PotFile', '- Root name of potential-flow model data; WAMIT output files containing the linear, nondimensionalized, hydrostatic restoring matrix (.hst), frequency-dependent hydrodynamic added mass matrix and damping matrix (.1), and frequency- and direction-dependent wave excitation force vector per unit wave amplitude (.3) (quoted string) [1 to NBody if NBodyMod>1] [MAKE SURE THE FREQUENCIES INHERENT IN THESE WAMIT FILES SPAN THE PHYSICALLY-SIGNIFICANT RANGE OF FREQUENCIES FOR THE GIVEN PLATFORM; THEY MUST CONTAIN THE ZERO- AND INFINITE-FREQUENCY LIMITS!]\n')) - f.write('{:<22} {:<11} {:}'.format(', '.join([f'{val}' for val in self.fst_vt['HydroDyn']['WAMITULEN']]), 'WAMITULEN', '- Characteristic body length scale used to redimensionalize WAMIT output (meters) [1 to NBody if NBodyMod>1] [only used when PotMod=1]\n')) + f.write('{:<22} {:<11} {:}'.format('"{}"'.format('", "'.join(self.fst_vt['HydroDyn']['PotFile']) if isinstance(self.fst_vt['HydroDyn']['PotFile'], list) else self.fst_vt['HydroDyn']['PotFile']), 'PotFile', '- Root name of potential-flow model data; WAMIT output files containing the linear, nondimensionalized, hydrostatic restoring matrix (.hst), frequency-dependent hydrodynamic added mass matrix and damping matrix (.1), and frequency- and direction-dependent wave excitation force vector per unit wave amplitude (.3 if FKMod=0 and .3sc if FKMod=1) (quoted string) [1 to NBody if NBodyMod>1] [MAKE SURE THE FREQUENCIES INHERENT IN THESE WAMIT FILES SPAN THE PHYSICALLY-SIGNIFICANT RANGE OF FREQUENCIES FOR THE GIVEN PLATFORM; THEY MUST CONTAIN THE ZERO- AND INFINITE-FREQUENCY LIMITS!]\n')) + f.write('{:<22} {:<11} {:}'.format(', '.join([f'{val}' for val in self.fst_vt['HydroDyn']['WAMITULEN']]) if isinstance(self.fst_vt['HydroDyn']['WAMITULEN'], list) else self.fst_vt['HydroDyn']['WAMITULEN'], 'WAMITULEN', '- Characteristic body length scale used to redimensionalize WAMIT output (meters) [1 to NBody if NBodyMod>1] [only used when PotMod=1]\n')) f.write('{:<22} {:<11} {:}'.format(', '.join([f'{val}' for val in self.fst_vt['HydroDyn']['PtfmRefxt']]), 'PtfmRefxt', '- The xt offset of the body reference point(s) from (0,0,0) (meters) [1 to NBody] [only used when PotMod=1]\n')) f.write('{:<22} {:<11} {:}'.format(', '.join([f'{val}' for val in self.fst_vt['HydroDyn']['PtfmRefyt']]), 'PtfmRefyt', '- The yt offset of the body reference point(s) from (0,0,0) (meters) [1 to NBody] [only used when PotMod=1]\n')) f.write('{:<22} {:<11} {:}'.format(', '.join([f'{val}' for val in self.fst_vt['HydroDyn']['PtfmRefzt']]), 'PtfmRefzt', '- The zt offset of the body reference point(s) from (0,0,0) (meters) [1 to NBody] [only used when PotMod=1. If NBodyMod=2,PtfmRefzt=0.0]\n')) @@ -1649,6 +1649,9 @@ def write_HydroDyn(self): f.write('{:<22} {:<11} {:}'.format(', '.join([f'{val}' for val in self.fst_vt['HydroDyn']['PtfmCOBxt']]), 'PtfmCOBxt', '- The xt offset of the center of buoyancy (COB) from (0,0) (meters) [1 to NBody] [only used when PotMod=1]\n')) f.write('{:<22} {:<11} {:}'.format(', '.join([f'{val}' for val in self.fst_vt['HydroDyn']['PtfmCOByt']]), 'PtfmCOByt', '- The yt offset of the center of buoyancy (COB) from (0,0) (meters) [1 to NBody] [only used when PotMod=1]\n')) f.write('{:<22} {:<11} {:}'.format(', '.join([f'{val}' for val in self.fst_vt['HydroDyn']['NAddDOF']]), 'NAddDOF', '- Number of additional generalized DOF of each WAMIT body (-) [1 to NBody] [>=0; =0 if NBody>1; only used when PotMod=1]\n')) + f.write('{:<22} {:<11} {:}'.format(', '.join([f'{val}' for val in self.fst_vt['HydroDyn']['FKMod']]) if isinstance(self.fst_vt['HydroDyn']['FKMod'], list) else self.fst_vt['HydroDyn']['FKMod'], 'FKMod', '- Nonlinear Froude-Krylov and hydrostatic load model {0: none, 1: nonlinear F-K and hydrostatics} (switch) [1 to NBody if NBodyMod>1; only used when PotMod=1; must provide GeoFile if FKMod=1]\n')) + f.write('{:<22} {:<11} {:}'.format('"{}"'.format('", "'.join(self.fst_vt['HydroDyn']['GeoFile']) if isinstance(self.fst_vt['HydroDyn']['GeoFile'], list) else self.fst_vt['HydroDyn']['GeoFile']), 'GeoFile', '- Full name(s) of geometry file (ASCII STL format) for nonlinear Froude-Krylov and hydrostatic load integration [1 to NBody; only used when PotMod=1 and when the corresponding FKMod=1]\n')) + f.write('---------------------- 2ND-ORDER FLOATING PLATFORM FORCES ---------------------- [unused with WaveMod=0 or 6, or PotMod=0 or 2]\n') f.write('{:<22} {:<11} {:}'.format(self.fst_vt['HydroDyn']['MnDrift'], 'MnDrift', "- Mean-drift 2nd-order forces computed {0: None; [7, 8, 9, 10, 11, or 12]: WAMIT file to use} [Only one of MnDrift, NewmanApp, or DiffQTF can be non-zero]\n")) f.write('{:<22} {:<11} {:}'.format(self.fst_vt['HydroDyn']['NewmanApp'], 'NewmanApp', "- Mean- and slow-drift 2nd-order forces computed with Newman's approximation {0: None; [7, 8, 9, 10, 11, or 12]: WAMIT file to use} [Only one of MnDrift, NewmanApp, or DiffQTF can be non-zero. Used only when WaveDirMod=0]\n")) diff --git a/reg_tests/r-test b/reg_tests/r-test index 25466634af..31172ad1dc 160000 --- a/reg_tests/r-test +++ b/reg_tests/r-test @@ -1 +1 @@ -Subproject commit 25466634afabc3e697f3e7ca0897e1b84b3045b5 +Subproject commit 31172ad1dca3797f66f5fca864427d235982d6b6 From 3e69b36589770c36810e77fd9d4102ec80c59ef9 Mon Sep 17 00:00:00 2001 From: Lu Wang Date: Wed, 20 May 2026 13:59:31 -0600 Subject: [PATCH 06/12] Fix single-precision build --- modules/hydrodyn/src/NonlinearFK.f90 | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/modules/hydrodyn/src/NonlinearFK.f90 b/modules/hydrodyn/src/NonlinearFK.f90 index 0d9a6f93ce..f6a704061b 100644 --- a/modules/hydrodyn/src/NonlinearFK.f90 +++ b/modules/hydrodyn/src/NonlinearFK.f90 @@ -215,6 +215,7 @@ subroutine Body_Init(STLGeom,PtfmRefPt,PtfmRefztRot,body,m_body,RhoXg,MSL2SWL,Bu real(R8Ki) :: R(3,3) real(ReKi) :: d(3) real(ReKi) :: RhoXgLocal + real(R8Ki) :: PtfmRefztRotLocal real(ReKi) :: dF(3), rXnds(3), Force(3), Moment(3) type(triangle3D) :: sub_tris(2) integer(IntKi) :: ErrStat2 @@ -229,7 +230,9 @@ subroutine Body_Init(STLGeom,PtfmRefPt,PtfmRefztRot,body,m_body,RhoXg,MSL2SWL,Bu ErrStat = ErrID_None ErrMsg = "" - RhoXgLocal = real(RhoXg,ReKi) + RhoXgLocal = real(RhoXg,ReKi) + PtfmRefztRotLocal = real(PtfmRefztRot,R8Ki) + body%PtfmRefPt = PtfmRefPt ! 1. Pre-allocate maximum possible sizes @@ -305,7 +308,7 @@ subroutine Body_Init(STLGeom,PtfmRefPt,PtfmRefztRot,body,m_body,RhoXg,MSL2SWL,Bu end if ! 4. Rotate the nodes based on PtfmRefztRot - R = reshape([cos(PtfmRefztRot),sin(PtfmRefztRot),0.0_R8Ki,-sin(PtfmRefztRot),cos(PtfmRefztRot),0.0_R8Ki,0.0_R8Ki,0.0_R8Ki,1.0_R8Ki],[3,3]) + R = reshape([cos(PtfmRefztRotLocal),sin(PtfmRefztRotLocal),0.0_R8Ki,-sin(PtfmRefztRotLocal),cos(PtfmRefztRotLocal),0.0_R8Ki,0.0_R8Ki,0.0_R8Ki,1.0_R8Ki],[3,3]) body%Nodes = matmul(R,body%nodes) ! Allocate MiscVars for this body From 199fa08c9ba959b5d376d648ad04d1ce4a186666 Mon Sep 17 00:00:00 2001 From: Lu Wang Date: Thu, 21 May 2026 13:26:56 -0600 Subject: [PATCH 07/12] Update HD user docs and api_change.rst with the new nonlinear Froude-Krylov and hydrostatic option --- docs/source/user/api_change.rst | 2 + docs/source/user/hydrodyn/appendix.rst | 25 +++-- docs/source/user/hydrodyn/input_files.rst | 124 +++++++++++++++++++-- docs/source/user/hydrodyn/output_files.rst | 16 +++ 4 files changed, 150 insertions(+), 17 deletions(-) diff --git a/docs/source/user/api_change.rst b/docs/source/user/api_change.rst index aeeeb81700..399fedf6ef 100644 --- a/docs/source/user/api_change.rst +++ b/docs/source/user/api_change.rst @@ -21,6 +21,8 @@ Module Line Flag Name Exam ============================================= ======== ==================== ========================================================================================================================================================================================================================================================================================================== OpenFAST 14 AutoRelax default AutoRelax - Adaptive under-relaxation for the tight-coupling iterative solver (flag) [default=true] OpenFAST 15 RelaxFactor default RelaxFactor - Constant or initial (if AutoRelax) under-relaxation factor for the tight-coupling iterative solver (-) [>0 and <=1; default=0.7 if AutoRelax=false; default=0.3 if AutoRelax=true] +HydroDyn 28 FKMod 0 FKMod - Nonlinear Froude-Krylov and hydrostatic load model {0: none, 1: nonlinear F-K and hydrostatics} (switch) [1 to NBody if NBodyMod>1; only used when PotMod=1; must provide GeoFile if FKMod=1] +HydroDyn 29 GeoFile "unused" GeoFile - Full name(s) of geometry file (ASCII STL format) for nonlinear Froude-Krylov and hydrostatic load integration [1 to NBody; only used when PotMod=1 and when the corresponding FKMod=1] ============================================= ======== ==================== ========================================================================================================================================================================================================================================================================================================== OpenFAST v4.2.x to OpenFAST v5.0.0 diff --git a/docs/source/user/hydrodyn/appendix.rst b/docs/source/user/hydrodyn/appendix.rst index 824778bf12..9df2179bc4 100644 --- a/docs/source/user/hydrodyn/appendix.rst +++ b/docs/source/user/hydrodyn/appendix.rst @@ -24,7 +24,7 @@ structure:: 0.0125 RdtnDT - Time step for wave radiation kernel calculations (sec) [only used when PotMod=1 and ExctnMod>0 or RdtnMod>0; DT<=RdtnDT<=0.1 recommended; determines RdtnOmegaMax=Pi/RdtnDT in the cosine transform] 1 NBody - Number of WAMIT bodies to be used (-) [>=1; only used when PotMod=1. If NBodyMod=1, the WAMIT data contains a vector of size 6*NBody x 1 and matrices of size 6*NBody x 6*NBody; if NBodyMod>1, there are NBody sets of WAMIT data each with a vector of size 6 x 1 and matrices of size 6 x 6] 1 NBodyMod - Body coupling model {1: include coupling terms between each body and NBody in HydroDyn equals NBODY in WAMIT, 2: neglect coupling terms between each body and NBODY=1 with XBODY=0 in WAMIT, 3: Neglect coupling terms between each body and NBODY=1 with XBODY=/0 in WAMIT} (switch) [only used when PotMod=1] - "marin_semi" PotFile - Root name of potential-flow model data; WAMIT output files containing the linear, nondimensionalized, hydrostatic restoring matrix (.hst), frequency-dependent hydrodynamic added mass matrix and damping matrix (.1), and frequency- and direction-dependent wave excitation force vector per unit wave amplitude (.3) (quoted string) [1 to NBody if NBodyMod>1] [MAKE SURE THE FREQUENCIES INHERENT IN THESE WAMIT FILES SPAN THE PHYSICALLY-SIGNIFICANT RANGE OF FREQUENCIES FOR THE GIVEN PLATFORM; THEY MUST CONTAIN THE ZERO- AND INFINITE-FREQUENCY LIMITS!] + "marin_semi" PotFile - Root name of potential-flow model data; WAMIT output files containing the linear, nondimensionalized, hydrostatic restoring matrix (.hst), frequency-dependent hydrodynamic added mass matrix and damping matrix (.1), and frequency- and direction-dependent wave excitation force vector per unit wave amplitude (.3 if FKMod=0 and .3sc if FKMod=1) (quoted string) [1 to NBody if NBodyMod>1] [MAKE SURE THE FREQUENCIES INHERENT IN THESE WAMIT FILES SPAN THE PHYSICALLY-SIGNIFICANT RANGE OF FREQUENCIES FOR THE GIVEN PLATFORM; THEY MUST CONTAIN THE ZERO- AND INFINITE-FREQUENCY LIMITS!] 1 WAMITULEN - Characteristic body length scale used to redimensionalize WAMIT output (meters) [1 to NBody if NBodyMod>1] [only used when PotMod=1] 0 PtfmRefxt - The xt offset of the body reference point(s) from (0,0,0) (meters) [1 to NBody] [only used when PotMod=1] 0 PtfmRefyt - The yt offset of the body reference point(s) from (0,0,0) (meters) [1 to NBody] [only used when PotMod=1] @@ -33,6 +33,9 @@ structure:: 13917 PtfmVol0 - Displaced volume of water when the body is in its undisplaced position (m^3) [1 to NBody] [only used when PotMod=1; USE THE SAME VALUE COMPUTED BY WAMIT AS OUTPUT IN THE .OUT FILE!] 0 PtfmCOBxt - The xt offset of the center of buoyancy (COB) from (0,0) (meters) [1 to NBody] [only used when PotMod=1] 0 PtfmCOByt - The yt offset of the center of buoyancy (COB) from (0,0) (meters) [1 to NBody] [only used when PotMod=1] + 0 NAddDOF - Number of additional generalized DOF of each WAMIT body (-) [1 to NBody] [>=0; =0 if NBody>1; only used when PotMod=1] + 0 FKMod - Nonlinear Froude-Krylov and hydrostatic load model {0: none, 1: nonlinear F-K and hydrostatics} (switch) [1 to NBody if NBodyMod>1; only used when PotMod=1; must provide GeoFile if FKMod=1] + "unused" GeoFile - Full name(s) of geometry file (ASCII STL format) for nonlinear Froude-Krylov and hydrostatic load integration (quoted string) [1 to NBody; only used when PotMod=1 and when the corresponding FKMod=1] ---------------------- 2ND-ORDER FLOATING PLATFORM FORCES ---------------------- [unused with WaveMod=0 or 6, or PotMod=0 or 2] 0 MnDrift - Mean-drift 2nd-order forces computed {0: None; [7, 8, 9, 10, 11, or 12]: WAMIT file to use} [Only one of MnDrift, NewmanApp, or DiffQTF can be non-zero. If NBody>1, MnDrift /=8] 0 NewmanApp - Mean- and slow-drift 2nd-order forces computed with Newman's approximation {0: None; [7, 8, 9, 10, 11, or 12]: WAMIT file to use} [Only one of MnDrift, NewmanApp, or DiffQTF can be non-zero. If NBody>1, NewmanApp/=8. Used only when WaveDirMod=0] @@ -64,8 +67,9 @@ structure:: 0 0 0 0 0 0 0 0 0 0 0 0 ---------------------- STRIP THEORY OPTIONS -------------------------------------- - 0 WaveDisp - Method of computing Wave Kinematics {0: use undisplaced position, 1: use displaced position) } (switch) [If PtfmYMod=1, need WaveDisp=1] - 0 AMMod - Method of computing distributed added-mass force. (0: Only and always on nodes below SWL at the undisplaced position. 2: Up to the instantaneous free surface) [overwrite to 0 when WaveMod = 0 or 6 or when WaveStMod = 0 in SeaState] + 0 WaveDisp - Method of computing Wave Kinematics {0: use undisplaced position, 1: use displaced position} (switch) + 0 AMMod - Method of computing distributed added-mass force. {0: Only and always on nodes below SWL at the undisplaced position. 1: Up to the instantaneous free surface} (switch) [overwrite to 0 when WaveStMod = 0 in SeaState] + 0 HstMod - Method of computing hydrostatic loads. {0: Up to the still water level. 1: Up to the instantaneous free surface} (switch) [overwrite to 0 when WaveStMod = 0 in SeaState] ---------------------- AXIAL COEFFICIENTS -------------------------------------- 2 NAxCoef - Number of axial coefficients (-) AxCoefID AxCd AxCa AxCp AxFDMod AxVnCOff AxFDLoFSc @@ -212,10 +216,10 @@ structure:: 22 40 41 4 4 1 0 1.0000 3 1 TRUE ! Cross Brace 3 ---------------------- FILLED MEMBERS ------------------------------------------ 2 NFillGroups - Number of filled member groups (-) [If FillDens = DEFAULT, then FillDens = WtrDens; FillFSLoc is related to MSL2SWL] - FillNumM FillMList FillFSLoc FillDens - (-) (-) (m) (kg/m^3) - 3 2 3 4 -6.17 1025 - 3 5 6 7 -14.89 1025 + FillNumM FillMList FillFSLoc FillDens + (-) (-) (m) (kg/m^3) + 3 2 3 4 -6.17 1025 + 3 5 6 7 -14.89 1025 ---------------------- MARINE GROWTH ------------------------------------------- 0 NMGDepths - Number of marine-growth depths specified (-) MGDpth MGThck MGDens @@ -264,6 +268,7 @@ structure:: 0.0125 TimeInterval - Time step for the simulation (sec) ---------------------- PRP INPUTS (Platform Reference Point) ------------------ 0 PRPInputsMod - Model for the PRP (platform reference point) inputs {0: all inputs are zero for every timestep, 1: steady-state inputs, 2: read inputs from a file (InputsFile)} (switch) + 0 NAddDOF - Number of additional generalized DOF of the WAMIT body (-) 0 PtfmRefzt - Vertical distance from the ground level to the platform reference point (m) "not_used" PRPInputsFile - Filename for the PRP HydroDyn input InputsMod = 2 (quoted string) ---------------------- PRP STEADY STATE INPUTS ------------------------------- @@ -303,6 +308,7 @@ JαAxi, JαAyi, JαAzi (m/s\ :sup:` JαDynP (Pa) Total (first- plus second-order) fluid particle dynamic pressure at Jα **Total and Additional Loads** BαAddFxi, BαAddFyi, BαAddFzi, BαAddMxi, BαAddMyi, BαAddMzi (N), (N), (N), (N·m), (N·m), (N·m) Loads due to additional preload, stiffness, and damping at Bα +BαADOFβAdd (-) Loads due to additional preload, stiffness, and damping at Bα in additional generalized DOF β HydroFxi, HydroFyi, HydroFzi, HydroMxi, HydroMyi, HydroMzi (N), (N), (N), (N·m), (N·m), (N·m) Total integrated hydrodynamic loads from both potential flow and strip theory at (0,0,0) **Loads from Potential-Flow Solution** BαWvsFxi, BαWvsFyi, BαWvsFzi, BαWvsMxi, BαWvsMyi, BαWvsMzi (N), (N), (N), (N·m), (N·m), (N·m) Total (first- plus second-order) wave-excitation loads from diffraction at Bα @@ -310,6 +316,10 @@ BαWvsF1xi, BαWvsF1yi, BαWvsF1zi, BαWvsM1xi, BαWvsM1yi, BαWvsM1zi (N), (N), BαWvsF2xi, BαWvsF2yi, BαWvsF2zi, BαWvsM2xi, BαWvsM2yi, BαWvsM2zi (N), (N), (N), (N·m), (N·m), (N·m) Second-order wave-excitation loads from diffraction at Bα BαHdSFxi, BαHdSFyi, BαHdSFzi, BαHdSMxi, BαHdSMyi, BαHdSMzi (N), (N), (N), (N·m), (N·m), (N·m) Hydrostatic loads at Bα BαRdtFxi, BαRdtFyi, BαRdtFzi, BαRdtMxi, BαRdtMyi, BαRdtMzi (N), (N), (N), (N·m), (N·m), (N·m) Wave-radiation loads at Bα +BαNFKFxi, BαNFKFyi, BαNFKFzi, BαNFKMxi, BαNFKMyi, BαNFKMzi (N), (N), (N), (N·m), (N·m), (N·m) Mesh-based nonlinear Froude-Krylov and hydrostatic loads at Bα +BαADOFβWvs (-) Wave-excitation load at Bα in additional generalized DOF β (first-order only) +BαADOFβHds (-) Hydrostatic load at Bα in additional generalized DOF β +BαADOFβRdt (-) Wave-radiation load at Bα in additional generalized DOF β **Structural Motions** PRPSurge, PRPSway, PRPHeave, PRPRoll, PRPPitch, PRPYaw (m), (m), (m), (rad), (rad), (rad) Displacements and rotations at platform reference point (PRP) PRPTVxi, PRPTVyi, PRPTVzi, PRPRVxi, PRPRVyi, PRPRVzi (m/s), (m/s), (m/s), (rad/s), (rad/s), (rad/s) Translational and rotational velocities of the PRP @@ -317,6 +327,7 @@ PRPTAxi, PRPTAyi, PRPTAzi, PRPRAxi, PRPRAyi, PRPRAzi (m/s\ :sup:`2`) BαSurge, BαSway, BαHeave, BαRoll, BαPitch BαYaw (m), (m), (m), (rad), (rad), (rad) Displacements and rotations at Bα BαTVxi, BαTVyi, BαTVzi, BαRVxi, BαRVyi, BαRVzi (m/s), (m/s), (m/s), (rad/s), (rad/s), (rad/s) Translational and rotational velocities at Bα BαTAxi, BαTAyi, BαTAzi, BαRAxi, BαRAyi, BαRAzi (m/s\ :sup:`2`), (m/s\ :sup:`2`), (m/s\ :sup:`2`), (rad/s\ :sup:`2`), (rad/s\ :sup:`2`), (rad/s\ :sup:`2`) Translational and rotational accelerations at Bα +BαADOFβD, BαADOFβV, BαADOFβA (-), (-/s), (-/s\ :sup:`2`) Displacement, velocity, and acceleration of Bα additional generalized DOF β MαNβSTVxi, MαNβSTVyi, MαNβSTVzi (m/s), (m/s), (m/s) Structural translational velocities at MαNβ MαNβSTAxi, MαNβSTAyi, MαNβSTAzi (m/s\ :sup:`2`), (m/s\ :sup:`2`), (m/s\ :sup:`2`) Structural translational accelerations at MαNβ JαSTVxi, JαSTVyi, JαSTVzi (m/s), (m/s), (m/s) Structural translational velocities at Jα diff --git a/docs/source/user/hydrodyn/input_files.rst b/docs/source/user/hydrodyn/input_files.rst index e3e5336638..b509c6f87e 100644 --- a/docs/source/user/hydrodyn/input_files.rst +++ b/docs/source/user/hydrodyn/input_files.rst @@ -369,13 +369,22 @@ file. In this case, HydroDyn will use the provided WAMIT output as is. The **PotFile** input should contain the path and root name (without extensions) for the WAMIT output files enclosed in quotation marks. These -files consist of the *.1*, *.3*, *.hst*, and second-order files. The -*.hst* file contains the hydrostatic restoring (stiffness) matrix. -The *.1* file contains the frequency-dependent hydrodynamic added-mass -and damping matrix from the wave radiation problem. The *.3* -file contains the frequency- and direction-dependent first-order -wave-excitation vector from the linear wave diffraction -problem. These are written by the WAMIT program and should not include +files consist of the *.1*, *.3* (if **FKMod** = 0), *.3sc* (if **FKMod** = 1), +*.hst*, and second-order files. See nonlinear Froude-Krylov and hydrostatic +load model below for the **FKMod** input. The *.hst* file contains the hydrostatic +restoring (stiffness) matrix. The *.1* file contains the frequency-dependent +hydrodynamic added-mass and damping matrix from the wave radiation problem. +The *.3* file contains the frequency- and direction-dependent total first-order +wave-excitation vector from the linear wave diffraction problem. When mesh-based +nonlinear Froude-Krylov and hydrostatic load calculation is enabled with +**FKMod** = 1, the *.3sc* file is required in lieu of the *.3* file. +The *.3sc* file only contains the scattering part of the linear wave excitation +to avoid double-counting the Froude-Krylov component. Furthermore, HydroDyn +will ignore any *.hst* file provided for bodies with **FKMod** = 1, since the +hydrostatic load will be directly computed from pressure integration on the +instantaneous wetted surface. In this case, the *.hst* file can be omitted. + +These files are written by the WAMIT program and should not include any file headers. When the linear state-space model is used in place of frequency-to-time domain transformation for wave excitation or in place of convolution for radiation, the *.ssexctn* file for wave excitation @@ -418,7 +427,10 @@ its undisplaced position (in m\ :sup:`3`). This value should be set equal to the value computed by WAMIT as output in the WAMIT ``.out`` file. **PtfmCOBxt** and **PtfmCOByt** are the *X* and *Y* offsets (in m) of the center of buoyancy of each body from the origin/PRP, NOT from -**PtfmRefxt** and **PtfmRefyt**. +**PtfmRefxt** and **PtfmRefyt**. **PtfmVol0**, **PtfmCOBxt**, and **PtfmCOByt** +are all ignored for bodies modeled with mesh-based nonlinear Froude-Krylov and +hydrostatic load model (**FKMod** = 1). A placeholder value, e.g., 0, should +still be entered for these bodies. *Experimental feature* @@ -441,9 +453,9 @@ to constraints with coupling to ExtPtfm, the only module that can make use of th additional modes so far and input file limitations. Generalized modes have not been implemented for 2nd-order loads; therefore, the 2nd-order WAMIT-style input files, if included, should always contain **6NBody** modes irrespective of -**NAddDOF**. Finally, when **NAddDOF > 0**, **WAMITULEN** must be 1. +**NAddDOF**. Finally, when **NAddDOF** > 0, **WAMITULEN** must be 1. -In addition to being limited to one potential-flow body, **NAddDOF > 0** is only +In addition to being limited to one potential-flow body, **NAddDOF** > 0 is only supported when **ExctnMod** = 0 or 1 and **RdtnMod** = 0 or 1. State-space wave-excitation and wave-radiation models are not supported. **NAddDOF** is not used when **PotMod** = 0 or 2. @@ -456,6 +468,98 @@ of additional elastic modes. The number of modes in HydroDyn and ExtPtfm must ma More specifically, the number of modes active in ExtPtfm must be equal to **6+NAddDOF** with the first 6 modes also being rigid-body modes. +HydroDyn can also compute the nonlinear Froude-Krylov wave excitation and +hydrostatic loads using direct pressure integration on the instantaneous +wetted surface. This can be enabled by setting **FKMod** = 1. Setting +**FKMod** = 0 instructs HydroDyn to compute the standard linear and +second-order (if enabled) wave excitation via frequency-to-time-domain +transformation and use the linear hydrostatic stiffness matrix for +computing hydrostatic loads. **FKMod** = 1 requires **PotMod** = 1 and +**ExctnMod** = 1. State-space wave excitation with **ExctnMod** = 2 is +incompatible with nonlinear Froude-Krylov and hydrostatic loads. Currently, +**FKMod** = 1 is also incompatible with additional generalized degrees +of freedom and requires **NAddDOF** = 0. + +With **FKMod** = 1, HydroDyn requires the *.3sc* file instead of the +*.3* file. The former contains only the scattering part of the linear +potential-flow wave excitation. HydroDyn will also ignore the *.hst* file +and the **PtfmVol0**, **PtfmCOBxt**, and **PtfmCOByt** inputs because the +hydrostatic loads will be directly computed from pressure integration. +To avoid double-counting higher-order effects, HydroDyn does not compute any +second-order potential-flow wave excitation for bodies with **FKMod** = 1. +The corresponding second-order WAMIT files will be ignored and can be omitted +by the user. + +Because the **NBodyMod** = 1 option (hydrodynamically coupled potential-flow +bodies) requires a single set of **PotFile** for all bodies, we require all +bodies to have the same **FKMod** setting. Therefore, only one input entry +for **FKMod** is required when **NBodyMod** = 1. Alternatively with decoupled +potential-flow bodies (**NBodyMod** = 2 or 3), we require **NBody** input +entries for **FKMod** with one entry for each body. In this case, it is also +possible to selectively enable nonlinear Froude-Krylov and hydrostatic load +calculation for some bodies and not for others. + +HydroDyn requires the complete geometry both above and below water of each +potential-flow body with **FKMod** = 1. Currently, this can only be provided +through ASCII STL files. The **GeoFile** input expects a list of **NBody** +quoted strings containing the paths and file names of the STL files including +file name extension. If **FKMod** = 0 for all or some of the bodies, a +placeholder entry, such as *"unused"*, should be included, so the total +number of quoted strings are always **NBody**. + +The STL file for each body must describe a closed surface without gap with +the normal vector of each face pointing outward away from the body. HydroDyn +will check the validity of the mesh by computing the total volume. If an +invalid mesh or flipped normal is detected (leading to inconsistent or +negative volume), HydroDyn will error out. In this case, the user should double +check the mesh normal direction and ensure the surface is closed without gaps. +The origin (0,0,0) of the STL file is mapped to the body's reference point +defined by (**PtfmRefxt**, **PtfmRefyt**, **PtfmRefzt**). For example, if an +STL file has its lowest point at *z* = -10 m, and the body's **PtfmRefzt** is +set to -5 m, the actual draft of the undisplaced body will be -15 m. HydroDyn +will also yaw the entire mesh about the STL file origin according to +**PtfmRefztRot** at initialization. + +As with any numerical method, the mesh must be fine enough and of good quality +to obtain accurate results. HydroDyn uses a four-point quadrature for pressure +integration on each triangular face with face clipping at the instantaneous +waterline for improved convergence on coarse mesh. Therefore, aggressive mesh +refinement near the waterline is usually unnecessary. Because most floating +bodies are small compared to the incident wavelengths, the mesh resolution is +usually dictated by what is necessary to adequately describe the shape of the +body using flat triangular faces. Of course, if a very large body is modeled or +if short waves are critical to the dynamics of the system, the mesh resolution +should be set accordingly. + +The nonlinear Froude-Krylov and hydrostatic load calculation is also affected +by wave stretching. If **WaveStMod** = 0 (no wave stretching) in the SeaState +input file, HydroDyn will always integrate the pressure on the part of the +structure below the still water level. If **WaveStMod** > 0, HydroDyn will +integrate the pressure on the part of the structure below the instantaneous +incident wave free surface. The hydrodynamic pressure of the incident wave is +computed according to the wave stretching model selected. The instantaneous +displaced position of the body is always used. + +**Note:** While OpenFAST allows the user to select any of the available +**WaveStMod** options with the nonlinear Froude-Krylov and hydrostatic load +calculation, Wheeler stretching with **WaveStMod** = 3 is preferred because +the resulting total pressure field (hydrodynamic + hydrostatic) satisfies +the free-surface boundary condition requiring zero gauge pressure at the +free surface. Vertical wave stretching with **WaveStMod** = 1 might also be +acceptable, but it does not yield exactly zero total pressure at the free +surface if below the still water level. Extrapolation stretching with +**WaveStMod** = 2 should be avoided. + +With **FKMod** = 1, users can obtain the combined nonlinear Froude-Krylov and +hydrostatic load from pressure integration from the following output channels: +**B1NFKFxi**, **B1NFKFyi**, **B1NFKFzi**, **B1NFKMxi**, **B1NFKMyi**, +**B1NFKMzi**, ..., **B9NFKMzi**. As with other similar output channels, only +the loads on the first 9 potential-flow bodies can be output. The output +forces and moments are resolved in the earth-fixed axis directions, and the +moments are about the instantaneous body position. For performance reasons, +HydroDyn does not compute, save, and output separate nonlinear Froude-Krylov +wave excitation and hydrostatic loads. + .. _hd-2nd_order_floating_platform_forces_input: 2\ :sup:`nd`-Order Floating Platform Forces diff --git a/docs/source/user/hydrodyn/output_files.rst b/docs/source/user/hydrodyn/output_files.rst index 13791713af..f13e5ae89b 100644 --- a/docs/source/user/hydrodyn/output_files.rst +++ b/docs/source/user/hydrodyn/output_files.rst @@ -42,6 +42,22 @@ model, these buoyancy values must be added to any strip-theory member buoyancy reported in the subsequent sections to obtain the total buoyancy of the platform. +For bodies without mesh-based nonlinear Froude-Krylov and +hydrostatic loads (**FKMod** = 0), the reported displaced volume, +center of buoyancy, and buoyancy forces and moments are simply +based on user inputs, i.e., **PtfmVol0**, **PtfmCOBxt**, and +**PtfmCOByt**. + +For bodies modeled with mesh-based nonlinear Froude-Krylov and +hydrostatic load calculation (**FKMod** = 1), the summary file +will report the number of unique mesh vertices identified, the +number of mesh triangular faces, and the total volume (not the +displaced volume) enclosed by the body mesh. The summary file +will also report the total buoyancy forces and moments (about +the global earth-fixed axes and origin) on the undisplaced body +computed by numerically integrating the hydrostatic pressure on +the calm-water wetted surface. + Strip-Theory Volume Calculations -------------------------------- This section contains a summary of the combined total volume, From 75cca5fd1cc6fba6bae4ebbc44c1c1bd985bd1bd Mon Sep 17 00:00:00 2001 From: Lu Wang Date: Thu, 21 May 2026 13:37:49 -0600 Subject: [PATCH 08/12] Add input check preventing ExctnMod=2 when FKMod=1 --- docs/source/user/hydrodyn/input_files.rst | 12 ++++++++---- modules/hydrodyn/src/HydroDyn_Input.f90 | 6 +++++- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/docs/source/user/hydrodyn/input_files.rst b/docs/source/user/hydrodyn/input_files.rst index b509c6f87e..07588f8f8d 100644 --- a/docs/source/user/hydrodyn/input_files.rst +++ b/docs/source/user/hydrodyn/input_files.rst @@ -475,10 +475,14 @@ wetted surface. This can be enabled by setting **FKMod** = 1. Setting second-order (if enabled) wave excitation via frequency-to-time-domain transformation and use the linear hydrostatic stiffness matrix for computing hydrostatic loads. **FKMod** = 1 requires **PotMod** = 1 and -**ExctnMod** = 1. State-space wave excitation with **ExctnMod** = 2 is -incompatible with nonlinear Froude-Krylov and hydrostatic loads. Currently, -**FKMod** = 1 is also incompatible with additional generalized degrees -of freedom and requires **NAddDOF** = 0. +**ExctnMod** = 0 or 1. State-space wave excitation with **ExctnMod** = 2 is +incompatible with nonlinear Froude-Krylov and hydrostatic loads. Setting +**ExctnMod** = 0 with **FKMod** = 1 effectively removes the scattering +part of the wave excitation, leaving only the nonlinear Froude-Krylov +wave excitation. Setting **ExctnMod** = 1 allows linear scattering wave +excitation to be included along side the nonlinear Froude-Krylov +contribution. Currently, **FKMod** = 1 is also incompatible with additional +generalized degrees of freedom and requires **NAddDOF** = 0. With **FKMod** = 1, HydroDyn requires the *.3sc* file instead of the *.3* file. The former contains only the scattering part of the linear diff --git a/modules/hydrodyn/src/HydroDyn_Input.f90 b/modules/hydrodyn/src/HydroDyn_Input.f90 index 1fbb81d9e9..b32af605e1 100644 --- a/modules/hydrodyn/src/HydroDyn_Input.f90 +++ b/modules/hydrodyn/src/HydroDyn_Input.f90 @@ -1558,7 +1558,7 @@ SUBROUTINE HydroDynInput_ProcessInitData( InitInp, Interval, InputFileData, ErrS RETURN END IF IF ( InputFileData%PotMod == 1 .and. InputFileData%hasAddDOF .and. InputFileData%Wamit%ExctnMod == 2 ) THEN - CALL SetErrStat( ErrID_Fatal,'Nonzero NAddDOF currently cannot be used with state-space wave exctiation model (ExctnMod=2). Need ExctnMod = 0 or 1.',ErrStat,ErrMsg,RoutineName) + CALL SetErrStat( ErrID_Fatal,'Nonzero NAddDOF currently cannot be used with state-space wave excitation model (ExctnMod=2). Need ExctnMod = 0 or 1.',ErrStat,ErrMsg,RoutineName) RETURN END IF IF ( InputFileData%PotMod == 1 .and. InputFileData%hasAddDOF .and. InputFileData%Wamit%RdtnMod == 2 ) THEN @@ -1572,6 +1572,10 @@ SUBROUTINE HydroDynInput_ProcessInitData( InitInp, Interval, InputFileData, ErrS CALL SetErrStat( ErrID_Fatal,'FKMod must be '//trim(num2lstr(FKMod_none))//' or '//trim(num2lstr(FKMod_full))//' for all WAMIT bodies.',ErrStat,ErrMsg,RoutineName) RETURN END IF + IF ( InputFileData%FKMod(i) == FKMod_full .and. InputFileData%ExctnMod == 2 ) THEN + CALL SetErrStat( ErrID_Fatal,'FKMod = '//trim(num2lstr(FKMod_full))//' is incompatible with state-space wave excitation model (ExctnMod=2). Need ExctnMod = 0 or 1.',ErrStat,ErrMsg,RoutineName) + RETURN + END IF IF ( InputFileData%FKMod(i) == FKMod_full .and. InputFileData%hasAddDOF ) THEN CALL SetErrStat( ErrID_Fatal,'FKMod = '//trim(num2lstr(FKMod_full))//' is incompatible with NAddDOF>0.',ErrStat,ErrMsg,RoutineName) RETURN From 4b0a4e38a1240bd8737fcb7795d4a5f1adde8448 Mon Sep 17 00:00:00 2001 From: Lu Wang Date: Thu, 21 May 2026 13:48:31 -0600 Subject: [PATCH 09/12] Quick fix --- modules/hydrodyn/src/HydroDyn_Input.f90 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/hydrodyn/src/HydroDyn_Input.f90 b/modules/hydrodyn/src/HydroDyn_Input.f90 index b32af605e1..b091062a9f 100644 --- a/modules/hydrodyn/src/HydroDyn_Input.f90 +++ b/modules/hydrodyn/src/HydroDyn_Input.f90 @@ -1572,7 +1572,7 @@ SUBROUTINE HydroDynInput_ProcessInitData( InitInp, Interval, InputFileData, ErrS CALL SetErrStat( ErrID_Fatal,'FKMod must be '//trim(num2lstr(FKMod_none))//' or '//trim(num2lstr(FKMod_full))//' for all WAMIT bodies.',ErrStat,ErrMsg,RoutineName) RETURN END IF - IF ( InputFileData%FKMod(i) == FKMod_full .and. InputFileData%ExctnMod == 2 ) THEN + IF ( InputFileData%FKMod(i) == FKMod_full .and. InputFileData%Wamit%ExctnMod == 2 ) THEN CALL SetErrStat( ErrID_Fatal,'FKMod = '//trim(num2lstr(FKMod_full))//' is incompatible with state-space wave excitation model (ExctnMod=2). Need ExctnMod = 0 or 1.',ErrStat,ErrMsg,RoutineName) RETURN END IF From 1c6e7e1d4f2a241ba9db5fd1a5c1e7469442063f Mon Sep 17 00:00:00 2001 From: Lu Wang Date: Fri, 22 May 2026 12:26:03 -0600 Subject: [PATCH 10/12] Optimize HD_JacobianPInput --- modules/hydrodyn/src/HydroDyn.f90 | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/modules/hydrodyn/src/HydroDyn.f90 b/modules/hydrodyn/src/HydroDyn.f90 index ace4af999e..3b9433fc54 100644 --- a/modules/hydrodyn/src/HydroDyn.f90 +++ b/modules/hydrodyn/src/HydroDyn.f90 @@ -2104,13 +2104,22 @@ SUBROUTINE HD_JacobianPInput(Vars, t, u, p, x, xd, z, OtherState, y, m, ErrStat, ! If variable is extended input, skip if (MV_HasFlagsAll(Vars%u(i), VF_ExtLin)) cycle - ! Calculate Morison hydrostatic loads when perturbing displacement/orientation inputs + ! Calculate Morison hydrostatic loads and nonlinear FK and hydrostatic loads when perturbing displacement/orientation inputs select case (Vars%u(i)%Field) case (FieldTransDisp, FieldOrientation) - calcMorisonHstLds = .true. - calcNonlinearFKLds = .true. + select case (Vars%u(i)%DL%Num) + case (HydroDyn_u_Morison_Mesh) + calcMorisonHstLds = .true. + calcNonlinearFKLds = .false. + case (HydroDyn_u_WAMITMesh) + calcMorisonHstLds = .false. + calcNonlinearFKLds = .true. + case default ! PRPMesh + calcMorisonHstLds = .true. + calcNonlinearFKLds = .true. + end select case default - calcMorisonHstLds = .false. + calcMorisonHstLds = .false. calcNonlinearFKLds = .false. end select From 50658afd5637df570dbe20ffe3b8219cb02f4425 Mon Sep 17 00:00:00 2001 From: Lu Wang Date: Fri, 22 May 2026 13:57:16 -0600 Subject: [PATCH 11/12] Fix error handling --- modules/hydrodyn/src/NonlinearFK.f90 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/hydrodyn/src/NonlinearFK.f90 b/modules/hydrodyn/src/NonlinearFK.f90 index f6a704061b..d14dd12328 100644 --- a/modules/hydrodyn/src/NonlinearFK.f90 +++ b/modules/hydrodyn/src/NonlinearFK.f90 @@ -450,7 +450,7 @@ subroutine computeBodyFK(bodyIdx,Time,p,m,Position,Orientation,Force,Moment,ErrS do j=1,n_sub q_pos = matmul( sub_tris(j)%v , Qdrt_L ) do iQdrt = 1,nQdrt - call WaveField_GetDynP( p%WaveField, m%WaveField_m, Time, q_pos(:,iQdrt), .false., nodeInWater, FDynP, ErrStat, ErrMsg ) + call WaveField_GetDynP( p%WaveField, m%WaveField_m, Time, q_pos(:,iQdrt), .false., nodeInWater, FDynP, ErrStat2, ErrMsg2 ) dF = ( real(FDynP,ReKi) - RhoXgLocal * q_pos(3,iQdrt) ) * Qdrt_W(iQdrt) * (-sub_tris(j)%nds) Force = Force + dF Moment = Moment + cross_product(q_pos(:,iQdrt)-d, dF) From a6707a35c272715b13bc45e9f35260694a18fe7d Mon Sep 17 00:00:00 2001 From: Lu Wang Date: Fri, 22 May 2026 16:35:26 -0600 Subject: [PATCH 12/12] Update r-test list and pointer --- reg_tests/CTestList.cmake | 1 + reg_tests/r-test | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/reg_tests/CTestList.cmake b/reg_tests/CTestList.cmake index efe0587cab..088218800f 100644 --- a/reg_tests/CTestList.cmake +++ b/reg_tests/CTestList.cmake @@ -504,6 +504,7 @@ hd_regression("hd_ExctnMod1_ExctnDisp2" "hydrodyn;offshore") hd_regression("hd_ExctnMod1_ExctnDisp2_PtfmYMod1" "hydrodyn;offshore") hd_regression("hd_5MW_OC4Semi_WSt_WavesWN_PtfmYMod0_LargeYaw" "hydrodyn;offshore") hd_regression("hd_5MW_OC4Semi_WSt_WavesWN_PtfmYMod1_LargeYaw" "hydrodyn;offshore") +hd_regression("hd_NonlinearFKHst" "hydrodyn;offshore") # Py-HydroDyn regression tests py_hd_regression("py_hd_5MW_OC4Semi_WSt_WavesWN" "hydrodyn;offshore;python") diff --git a/reg_tests/r-test b/reg_tests/r-test index 31172ad1dc..c5ef8c3e7b 160000 --- a/reg_tests/r-test +++ b/reg_tests/r-test @@ -1 +1 @@ -Subproject commit 31172ad1dca3797f66f5fca864427d235982d6b6 +Subproject commit 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